本帖最后由 iiv 于 2025-3-8 22:22 编辑
前言:随着物联网和人工智能技术的快速发展,嵌入式设备在智能安防、智能家居等领域的应用越来越广泛,人脸检测与识别作为一项重要的技术,已经被广泛应用于各种场景中,本次楼楼将使用小安派BW21-CBV-Kit开发板实现人脸检测与识别功能,通过录入人脸数据,实现对特定人员的识别与验证
效果展示:
硬件与软件准备
硬件需求
- BW21-CBV-Kit开发板
- 摄像头模块(GC2053)
软件工具
- Arduino IDE
- VLC媒体播放器(用于实时查看RTSP视频流)
实现步骤
1. 环境搭建略过
2. 代码实现
我们基于示例RTSPFaceRecognition进行本次的实验,可以简单看一下代码,在loop循环中检测串口输入的数据进行相应的人脸事件操作,修改自己的wifi,把程序烧录到开发板
3. 实时查看视频流
我们使用VLC媒体播放器打开RTSP流地址,可以打开串口工具看到地址(例如 rtsp://ip:554),即可实时查看摄像头的视频流,我们可以看到'人脸'(/dog)被检测到了,如果画面卡顿可以适当减少缓存时间
4. 人脸注册与识别
下面列出几个用到的命令:
- 注册人脸:REG={Name},例如 REG=nazhua
- 删除人脸:DEL={Name},例如 DEL=nazhua
- 重置所有人脸:RESET
- 备份人脸数据:BACKUP
- 恢复人脸数据:RESTORE
我们对准要添加的人脸,然后在串口工具中输入添加人脸命令,如:REG=nazhua,可以注册多个面孔,但是注册人脸时,确保画面中只有一张人脸
可以看到,成功识别到了我们添加的'人脸'
我们再添加几个人脸,开发板成功识别到了我们新加入的人脸信息
输入RESET命令,可以把之前的人脸全部清空,也可以通过[DEL=要删除的人脸]进行单个人脸的删除
总结以上就是楼楼本次分享的内容,通过本次实验,我们成功地在小安派BW21-CBV-Kit开发板上实现了人脸检测与识别功能,开发板能够实时检测摄像头中的所有人脸,并通过神经网络模型进行识别,此外,通过RTSP协议将视频流传输到PC端,方便我们实时查看和调试
遇到的问题
如果烧录程序没画面记得修改摄像头型号,因为默认的摄像头和小安派自带的不是一个型号,我们需要手动设置为GC2053,如下图
|