树莓派人脸识别------实验步骤

Posted _WILLPOWER_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派人脸识别------实验步骤相关的知识,希望对你有一定的参考价值。

人脸识别

前期工作

  • 首先我们需要把开发文档的代码复制过来
    通过mobaxterm登录树莓派,然后将FacialRecognitionProject复制到家目录,直接拖动文件夹到目录侧即可

直接拖动到如下图

因为我们后续需要用到摄像头模块,因此后续的我们不能在mobaxterm中操作(因为摄像头输出的视频信号mobaxterm中兼容性不好)因此我们采用vnc方式连接

  • 通过vnc连接上树莓派(直接使用之前搭建环境的时候,建立的vnc连接即可)
    然后我们通过快捷键ctrl+alt+t打开终端如下
    注意在vnc中不能使用ctrl+c以及ctrl+v来粘贴复制
    只能使用ctrl+ins来进行复制,shift+ins来进行粘贴
    或者你鼠标右键也是可以的

然后通过cd命令进入我们的家目录中的实验代码中
cd /home/pi/FacialRecognitionProject
(注意可以使用tab来进行命令补全,没必要将每个词输完)

看到前面目录的位置发生变化,即为成功,如下图

  • 运行设备查看命令,查看当前摄像头设备
    v4l2-ctl --list-device

看到如下设备即为成功,如果没有,说明摄像头模块插的有问题,需要检查(切勿带电拔插摄像头模块,最好关机后从新插入)

记得记住摄像头的编号,有可能会不一样,这里根据/dev/video0可以看出设备编号为0(如果不为0,后面代码需要修改编号!)

采集数据

该数据集将储存每张人脸的 ID 和一组用于人脸检测的灰度图。

  • 如果你之前获取到的摄像头编号不是0,那么首先需要修改代码(如果是0的不需要修改)
    输入
    gedit /home/pi/FacialRecognitionProject/01_face_dataset.py
    然后会弹出如下编辑器

然后点右上角save保存,然后叉掉退出即可

然后我们开始第一步采集人脸数据


首先确定好摄像头的方位(可以根据网线插头看你的方位),如果你是如下拿摄像头的则不需要修改代码

但是如果你是反着来的(如下图)

记得将01_face_training.py以及02_face_recongnition.py

#img = cv2.flip(img, -1) # flip video image vertically`前的#号删除

(使用gedit工具即可)


在命令行输入
python3 01_face_dataset.py


然后我们可以看到如图让输入用户的id,这个id最后在识别中对应着用户识别的名字,我们这里统一设置成1,方便我们后续修改人的姓名

按下1后输入回车键

然后将摄像头对准自己,摄像头会在识别到人脸后,打开画面采集你的人像,每识别到你的脸一次就会采集一次,总共会采集30次
下面的代码决定了采集的次数

采集完毕后会自动结束

数据预处理

在采集到人像后,程序会将人像转换为灰度图像,方便后续的训练。因此在训练之前我们为了保证数据的高质量,我们必须要将有些错误采集的数据进行清理。
点击文件夹


然后点击我们刚才的工作文件夹

再点击数据集文件夹


在这里储存的就是我们刚才采集的数据图片,双击我们即可查看到图片
然后查看图片是否是我们的人像数据


我们要查阅所有的图片,直至把所有的错误数据集都删除!

数据训练

在命令行输入
python3 02_face_training.py
然后等待训练完成


在训练完成后,在文件夹trainer中保存的我们训练后的信息文件


这是一个yaml文件,其中保存的就是我们训练后得到的具体人脸的特征信息,后续就可以用这个文件来识别具体的人像

文件信息如下

识别人脸

首先我们要修改我们的文件,将自己想要等会识别后显示的名字写上去
命令行输入
gedit 03_face_recognition.py


保存后退出

然后命令行输入
python3 03_face_recognition.py

开始人脸识别,效果如下图

以上是关于树莓派人脸识别------实验步骤的主要内容,如果未能解决你的问题,请参考以下文章

智能家居 (11) ——树莓派摄像头捕捉人脸并识别

从3D打印到python编程 从opencv到人脸识别 从win10到树莓派ubuntu (全教程附代码)

智能家居项目之树莓派+摄像头进行人脸识别

(附代码)树莓派利用OpenCV的图像跟踪人脸识别等

基于树莓派的人脸识别解锁门锁设计

人脸识别——树莓派+单片机+python+百度云aip