单片机可以人脸识别吗?不行,是Linux

大鱼机器人 2022-10-17 15:50

摘要:一个Linux人脸识别小项目,可以拿过来来练练手。使用瑞芯微RV1126核心板通过瑞芯微API进行视频采集并进行人脸识别,并输出到设备上。

图源:来自网络,侵删

01 



搭建NFS环境


网络文件系统NFS,是由SUN公司研制的UNIX表示层协议,能使使用者访问网络上别处的文件就像在使用自己的计算机一样。我们可以Ubuntu上制作板子需要的文件,然后使用NFS来加载文件到板子的DDR上。

因为我们使用的板子内存太小,而人脸识别有需要很多的文件来支持,板子放不下,只能通过这种挂载的方式,将程序运行所需要的数据库模型文件放在挂载的目录下,这样就可以了。

1.1 安装NFS服务

在Ubuntu终端执行以下指令安装NFS。

sudo apt-get install nfs-kernel-server

1.2 新建NFS共享目录

新建NFS共享目录,并给予NFS目录可读可写可执行权限。

sudo mkdir /home/zhiguoxin/linux/nfs
sudo chmod 777 /home/zhiguoxin/linux/nfs/

1.3 配置NFS服务

执行以下指令打开etc/exports文件

sudo vi /etc/exports

进入etc/exports文件,在最后添加如下内容

/home/zhiguoxin/linux/nfs *(rw,sync,no_root_squash)

/home/zhiguoxin/linux/nfs 表示NFS共享的目录,*表示允许所有的网络段访问,rw表示访问者具有可读写权限,sync表示将缓存写入设备中,可以说是同步缓存的意思。no_root_squash表示访问者具有root权限。修改完如下图所示。

修改完以后保存退出。执行以下指令重启 NFS 服务器。

sudo /etc/init.d/nfs-kernel-server restart

执行以下指令查看 NFS 共享目录。

showmount -e

网络环境

确保网络环境正常,Ubuntu、Windows和开发板能相互ping 通。开发板IP:192.168.100.75 虚拟机IP:192.168.100.100 电脑网口IP:192.168.100.102


02 



交叉编译SQLite3数据库

2.1、准备源码

源码可以周期官网下载,放在我的共享文件夹下,然后解压。

2.2、准备RV1126的sdk包

这个RV1126的源码包在购买板子的时候商家会送你的

这个那文件夹里面有交叉编译工具链。在交叉编译之前,得在sdk里面找到交叉编译工具链:

商家提供的sdk里面的交叉工具链

然后我这里放在samba共享目录下,我的共享文件夹对应我的ubuntu的目录是

/home/zhiguyoxin/shared/

现在开始来交叉编译SQLite3,这个SQLite3的源码还是用之前给大家的源码包:

使用命令解压

tar -zxvf sqlite-autoconf-3380500.tar.gz 

2.3、交叉编译SQLite3

然后开始进行交叉编译,不过在在这之前,先在当前目录下创建一个文件夹来存放等下交叉编译出来文件:

mkdir arm_sqlite3_install

最后最为关键部分是,现在找到那个之前交叉编译的路径来,也就是结对路径:

/home/zhiguoxin/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin

接着刚才建立的arm_sqlite3_install,也是要找到他的绝对路径来:

/home/zhiguoxin/shared/sqlite-autoconf-3380500/arm_sqlite3_install

最后就可以按照下面这个命令来执行编译了:

./configure CC=/home/zhiguoxin/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --host=arm-linux --prefix=/home/zhiguoxin/shared/sqlite-autoconf-3380500/arm_sqlite3_install

然后执行分别执行以下命令即可:

make -j8
make install

最后在arm_sqlite3_install目录下生成四个文件:

进入到arm_sqlite_install目录下的lib目录,这里面就是交叉编译出来的.so的动态库文件,如下图所示:

我们把这些动态库进行一个打包:

zip -r arm_sqlite3_lib.zip *so*

把这个打包文件拷贝到nfs目录下去:

cp -rf arm_sqlite3_lib.zip  /home/zhiguoxin/linux/nfs

令外还要将sqlite3可执行文件拷贝至/home/zhiguoxin/linux/nfs目录下

使用这个可执行文件我们查看数据库中的数据,做一下添加删除的操作。


03 



交叉编译OpenCV


同样现在官网下载号源码包,放再共享文件夹下

解压

unzip opencv-3.4.12.zip -d opencv-3.4.12

进入解压后的opencv版本platforms/linux目录下去:

cd opencv-3.4.12/platforms/linux

修改arm-gnueabi.toolchain.cmake

vim arm-gnueabi.toolchain.cmake

将里面的交叉编译路径修改成你自己的路径

/home/zhiguoxin/shared/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf

建立一个build目录,并进入build下去:

编译:

cmake -DCMKAE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake -DCMAKE_INSTALL_PREFIX=/opt/arm_opencv -DSOFTFP=ON -DENABLE_PROFILING=OFF -DWITH_OPENCL=OFF -DWITH_TBB=ON -DWITH_V4L=ON -DHAVE_CAMV4L2=ON -DBUILD_TESTS=OFF -DINSTALL_PYTHON_EXAMPLES=OFF -DBUILD_EXAMPLES=OFF -DWITH_FFMPEG=ON -DHAVE_FFMPEG=ON -DBUILD_opencv_js=OFF -DENABLE_NEON=OFF -DENABLE_VFPV3=OFF ../

然后执行下面两句

make -j8
make install

最后结果:

先进入到build目录下的lib目录下,你会看到很多动态库,

对其打包:

zip -r arm_opencv_lib.zip lib*

将文件拷贝至/home/zhiguoxin/linux/nfs//共享文件夹

cp -rf arm_opencv_lib.zip  /home/zhiguoxin/linux/nfs/


04 



移植rknn动态库


把sdk里面的rknn动态库移植到nfs目录下,这是我放sdk的路径:

将这个文件拷贝到/home/zhiguoxin/linux/nfs目录下,用啥方式都可以,只要拷贝过去就可以了。


05 



RV1126人脸识别工程交叉编译


首先下载人脸识别源码,我下载后之后放在这里

在编译之前,我们要修改一下Makefile:

vim Makefile

这里修改成你的sdk交叉编译工具链的路径

然后make就看可以了

make

5.1 移植人脸识别数据模型

将人脸识别数据模型拷贝至/home/zhiguoxin/linux/nfs/

cd /home/zhiguoxin/myproject/rockx_face_recognize_project_rtsp
cp rockx_data/ -rf /home/zhiguoxin/linux/nfs/

5.2 移植人脸识别可执行程序

将人脸识别编译出来的可执行程序拷贝至/home/zhiguoxin/linux/nfs/

5.3 移植人脸识别插入人脸数据可执行程序

将人脸识别编译出来的插入人脸数据库可执行程序拷贝至/home/zhiguoxin/linux/nfs/

5.4 移植人脸识别数据库

将数据库文件face.db文件拷贝至/home/zhiguoxin/linux/nfs/


06 



RV1126板子的处理

6.1 挂载

在开发板的/mnt/新建一个nfs文件夹

cd /mnt/
mkdir nfs

在板子上使用nfs挂载,之后在ubuntu上的/home/zhiguoxin/linux/nfs放的文件,都会在共享在板子的/mnt/nfs目录下

mount -t nfs 192.168.100.100:/home/zhiguoxin/linux/nfs /mnt/nfs -o nolock
  • 192.168.100.100是我虚拟机的IP地址
  • /home/zhiguoxin/linux/nfs是我虚拟机下的nfs目录
  • /mnt/nfs是板子的挂载目录

6.2 删除原有数据库表

./sqlite3 face.db
.tables
select *from face_data_table;
delete from face_data_table;
.quit

6.3 插入人脸数据

./rkmedia_rockx_face_insert liuyao liuyao.png
./rkmedia_rockx_face_insert yangjiacheng yangjiacheng.png

6.4执行程序

./rkmedia_rockx_face_rga_rtsp_main
ffplay –x 800 –y 400 rtsp://192.168.100.75/live/main_stream

或者使用vlc拉流

-END-

往期推荐:点击图片即可跳转阅读

如何画出完美的PCB板子?


单片机 -> RTOS -> Linux


学嵌入式,就是练武功。

大鱼机器人 一个专注于机器人技术,单片机,嵌入式系统,智能家居,智能设备,PCB设计,IT最新动态的自媒体。此外,还有海量学习资源等你来领取。作者:张巧龙,个人微信号:well_xiaolong。欢迎关注公众号,名称:大鱼机器人,公众号ID:All_best_xiaolong
评论 (0)
  •   后勤实验仿真系统平台深度解析   北京华盛恒辉后勤实验仿真系统平台依托计算机仿真技术,是对后勤保障全流程进行模拟、分析与优化的综合性工具。通过搭建虚拟场景,模拟资源调配、物资运输等环节,为后勤决策提供数据支撑,广泛应用于军事、应急管理等领域。   应用案例   目前,已有多个后勤实验仿真系统平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润后勤实验仿真系统平台。这些成功案例为后勤实验仿真系统平台的推广和应用提供了有力支持。   一、核心功能   (一)后勤资源模拟
    华盛恒辉l58ll334744 2025-04-23 15:39 62浏览
  • 故障现象一辆2016款奔驰C200L车,搭载274 920发动机,累计行驶里程约为13万km。该车组合仪表上的防侧滑故障灯、转向助力故障灯、安全气囊故障灯等偶尔异常点亮,且此时将挡位置于R挡,中控显示屏提示“后视摄像头不可用”,无法显示倒车影像。 故障诊断用故障检测仪检测,发现多个控制单元中均存储有通信类故障代码(图1),其中故障代码“U015587 与仪表盘的通信存在故障。信息缺失”出现的频次较高。 图1 存储的故障代码1而组合仪表中存储有故障代码“U006488 与用户界
    虹科Pico汽车示波器 2025-04-23 11:22 44浏览
  •   陆地边防事件紧急处置系统平台解析   北京华盛恒辉陆地边防事件紧急处置系统平台是整合监测、预警、指挥等功能的智能化综合系统,致力于增强边防安全管控能力,快速响应各类突发事件。以下从系统架构、核心功能、技术支撑、应用场景及发展趋势展开全面解读。   应用案例   目前,已有多个陆地边防事件紧急处置系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润陆地边防事件紧急处置系统。这些成功案例为陆地边防事件紧急处置系统的推广和应用提供了有力支持。   一、系统架构   感知层:部
    华盛恒辉l58ll334744 2025-04-23 11:22 71浏览
  • 在科技飞速发展的当下,机器人领域的每一次突破都能成为大众瞩目的焦点。这不,全球首届人形机器人半程马拉松比赛刚落下帷幕,赛场上的 “小插曲” 就掀起了一阵网络热潮。4月19日,北京亦庄的赛道上热闹非凡,全球首届人形机器人半程马拉松在这里激情开跑。20支机器人队伍带着各自的“参赛选手”,踏上了这21.0975公里的挑战之路。这场比赛可不简单,它将机器人放置于真实且复杂的动态路况与环境中,对机器人在运动控制、环境感知和能源管理等方面的核心技术能力进行了全方位的检验。不仅要应对长距离带来的续航挑战,还要
    用户1742991715177 2025-04-22 20:42 70浏览
  •   卫星通信效能评估系统平台全面解析   北京华盛恒辉卫星通信效能评估系统平台是衡量卫星通信系统性能、优化资源配置、保障通信服务质量的关键技术工具。随着卫星通信技术的快速发展,特别是低轨卫星星座、高通量卫星和软件定义卫星的广泛应用,效能评估系统平台的重要性日益凸显。以下从技术架构、评估指标、关键技术、应用场景及发展趋势五个维度进行全面解析。   应用案例   目前,已有多个卫星通信效能评估系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润卫星通信效能评估系统。这些成功案例为卫
    华盛恒辉l58ll334744 2025-04-22 16:34 144浏览
  • 文/Leon编辑/cc孙聪颖‍在特朗普政府发起的关税战中,全球芯片产业受到巨大冲击,美国芯片企业首当其冲。据报道称,英伟达本周二公布的8-K文件显示,美国政府通知该公司向中国(包括中国香港及澳门)销售尖端芯片(H20)时,需要获得美国政府的许可。文件发布后,英伟达预计会在第一季度中额外增加55亿美元的相关费用计提。随后,英伟达股价单日下跌6.9%,市值一夜蒸发约1890亿美元(约合人民币1.37万亿元)。至截稿时,至截稿时,其股价未见止跌,较前日下跌4.51%。北京时间4月17日,英伟达创始人、
    华尔街科技眼 2025-04-22 20:14 75浏览
  • 一、行业背景与市场需求高血压作为全球发病率最高的慢性病之一,其早期监测与管理已成为公共卫生领域的重要课题。世界卫生组织数据显示,全球超13亿人受高血压困扰,且患者群体呈现年轻化趋势。传统血压计因功能单一、数据孤立等缺陷,难以满足现代健康管理的需求。在此背景下,集语音播报、蓝牙传输、电量检测于一体的智能血压计应运而生,通过技术创新实现“测量-分析-管理”全流程智能化,成为慢性病管理的核心终端设备。二、技术架构与核心功能智能血压计以电子血压测量技术为基础,融合物联网、AI算法及语音交互技术,构建起多
    广州唯创电子 2025-04-23 09:06 105浏览
  •   电磁频谱数据综合管理平台系统解析   一、系统定义与目标   北京华盛恒辉电磁频谱数据综合管理平台融合无线传感器、软件定义电台等前沿技术,是实现无线电频谱资源全流程管理的复杂系统。其核心目标包括:优化频谱资源配置,满足多元通信需求;运用动态管理与频谱共享技术,提升资源利用效率;强化频谱安全监管,杜绝非法占用与干扰;为电子战提供频谱监测分析支持,辅助作战决策。   应用案例   目前,已有多个电磁频谱数据综合管理平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁频谱数
    华盛恒辉l58ll334744 2025-04-23 16:27 58浏览
  • 一、技术背景与市场机遇在智能家居高速发展的今天,用户对家电设备的安全性、智能化及能效表现提出更高要求。传统取暖器因缺乏智能感知功能,存在能源浪费、安全隐患等痛点。WTL580-C01微波雷达感应模块的诞生,为取暖设备智能化升级提供了创新解决方案。该模块凭借微波雷达技术优势,在精准测距、环境适应、能耗控制等方面实现突破,成为智能取暖器领域的核心技术组件。二、核心技术原理本模块采用多普勒效应微波雷达技术,通过24GHz高频微波信号的发射-接收机制,实现毫米级动作识别和精准测距。当人体进入4-5米有效
    广州唯创电子 2025-04-23 08:41 91浏览
  • 前言本文主要演示基于TL3576-MiniEVM评估板HDMI OUT、DP 1.4和MIPI的多屏同显、异显方案,适用开发环境如下。Windows开发环境:Windows 7 64bit、Windows 10 64bitLinux开发环境:VMware16.2.5、Ubuntu22.04.5 64bitU-Boot:U-Boot-2017.09Kernel:Linux-6.1.115LinuxSDK:LinuxSDK-[版本号](基于rk3576_linux6.1_release_v
    Tronlong 2025-04-23 13:59 41浏览
  •   无人机结构仿真与部件拆解分析系统平台解析   北京华盛恒辉无人机结构仿真与部件拆解分析系统无人机技术快速发展的当下,结构仿真与部件拆解分析系统平台成为无人机研发测试的核心工具,在优化设计、提升性能、降低成本等方面发挥关键作用。以下从功能、架构、应用、优势及趋势展开解析。   应用案例   目前,已有多个无人机结构仿真与部件拆解分析系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润无人机结构仿真与部件拆解分析系统。这些成功案例为无人机结构仿真与部件拆解分析系统的推广和应用提
    华盛恒辉l58ll334744 2025-04-23 15:00 71浏览
  • 文/Leon编辑/cc孙聪颖‍4月18日7时,2025北京亦庄半程马拉松暨人形机器人半程马拉松正式开跑。与普通的半马比赛不同,这次比赛除了有人类选手,还有21支人形机器人队伍参赛,带来了全球首次人类与机器人共同竞技的盛况。参赛队伍中,不乏明星机器人企业及机型,比如北京人形机器人创新中心的天工Ultra、松延动力的N2等。宇树G1、众擎PM01,则是由城市之间科技有限公司购置及调试,并非厂商直接参赛。考虑到机器人的适用场景和续航力各有不同,其赛制也与人类选手做出区别:每支赛队最多可安排3名参赛选手
    华尔街科技眼 2025-04-22 20:10 81浏览
  •   复杂电磁环境模拟系统平台解析   一、系统概述   北京华盛恒辉复杂电磁环境模拟系统平台是用于还原真实战场或特定场景电磁环境的综合性技术平台。该平台借助软硬件协同运作,能够产生多源、多频段、多体制的电磁信号,并融合空间、时间、频谱等参数,构建高逼真度的电磁环境,为电子对抗、通信、雷达等系统的研发、测试、训练及评估工作提供重要支持。   应用案例   目前,已有多个复杂电磁环境模拟系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润复杂电磁环境模拟系统。这些成功案例为复杂电
    华盛恒辉l58ll334744 2025-04-23 10:29 95浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦