使用树莓派,OpenCV,Pyqt实现本地+网络的人脸识别
-
树莓派
-
先安装好OpenCV,因为树莓派安装OpenCV过于麻烦,我直接找了有OpenCV的镜像
-
安装树莓派的Pyqt
sudo apt install -y python3-pyqt5
sudo apt install -y python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtopengl python3-pyqt5.qtpositioning python3-pyqt5.qtquick python3-pyqt5.qtsensors python3-pyqt5.qtserialport python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebchannel python3-pyqt5.qtwebkit python3-pyqt5.qtwebsockets python3-pyqt5.qtx11extras python3-pyqt5.qtxmlpatterns
-
-
电脑端,请提前安装好anaconda
-
搭建虚拟环境
conda create -n xxx python=3.6
xxx是你的虚拟环境名字
-
启用虚拟环境
activate your_env_name(虚拟环境名称)
-
在虚拟环境内安装opencv和pyqt
pip install opencv-python
pip install opencv-contrib-python
pip install PyQt5 -i https://pypi.douban.com/simple
pip install PyQt5-tools -i https://pypi.douban.com/simple
如果安装不成功,请自行百度,我们只确保能安装上OpenCV和PyQT就行
-
-
去百度SDK注册你的账号,具体教程请自行百度,填写好你的 APPID AK SK还有用户组GROUP,然后将文件路径更改完毕 ,如果文件路径不对,项目运行会出错。
git clone https://github.com/cheng-haha/RaspiFaceSystem.git
- 本地识别是使用Opencv进行构建,还是传统的统计学习范畴。
- 网络识别是调用百度SDK,注册和识别功能已经集成到GUI的的按钮中
- 本项目一开始运行的时候判断是否有网络,有就优先网络识别,没有网刘使用本地识别进行兜底
-
主界面图
- 电脑端
- 树莓派端
-
注册系统
使用时一定记住,必须先注册到数据库当中,才能人脸录入,不然没法进行数据标注
-
人脸录入界面
当选择本地收集的时候是需要进行训练的,选择网络识别不需要,百度那边直接就训练好了
-
人脸识别界面
- log文件是用来记录网络识别的登录记录,为什么不加入本地识别的登录记录?懒得写。
- haarcascade_frontalface_default.xml 是人脸检测器
- testDIR.txt里面是记录的字符串化的字典,我在提取的时候eval了一下,登录名和密码还是字典对应关系好用。
- trainer.yml是训练出的模型
- youtemp.png是网络识别的图片,将这张图片上传到百度那边进行人脸匹配。