Raspi|opencv2人脸识别

Posted by Elli0t on 2020-03-18

项目所需设备

硬件:

树莓派3
无驱摄像头模块

语言和库:

OpenCV
Python 3

第一步:安装OpenCV 3包

可以按照 Adrian Rosebrock 写的教程来进行(我试了但是编译失败,所以我试了第二个教程里的,我写在下方):《Raspbian Stretch: Install OpenCV 3 + Python on your Raspberry Pi》。
但是我安装的时候遇到了一些错误。


mkvirtualenv cv -p python3报错
换一下命令顺序就好了
virtualenv -p python3 cv


要开始使用虚拟环境,其需要被激活:
使用前需要激活虚拟环境
source cv/bin/activate
停止虚拟环境
deactivate
删除虚拟环境(删除当前虚拟环境要先退出)
rmvirtualenv 虚拟环境名称

虚拟环境中,在用pip安装numpy时一直安装失败。

直接下载其whl文件,用pip install *.whl的命令进行安装



这里要我们编译,但是有一个错误就是-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \
前面没有要我们解压,所以这个路径不存在

完成了(舒服)


编译开始
报错:
文件其实在/root/opencv_contrib-3.3.0/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp
将这个文件复制到报错显示的位置就好了。


用某up猪的方法,安装了opencv3.4
apt-get install build-essential cmake git pkg-config
安装4个图像工具包
apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
安装视频I/O包
apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
安装gtk2.0
apt-get install libgtk2.0-devy
安装优化函数包
apt-get install libatlas-base-dev gfortran
下载源码
https://github.com/Itseez/opencv/archive/3.4.3.zip
https://github.com/Itseez/opencv_contrib/archive/3.4.3.zip
创建目录opencv-3.4.3/release在里面编译

make(不要用make -j4会报错,我开始不信,结果从头编译了 )

遇到错误,缺少缺少boostdesc_bgm.i文件,按照大佬的方法

编译结束(这下才舒服了)
make install
这样就安装好了opencv3.4
实现py程序前安装pip3 install pillow

第二步:人脸检测

人脸识别的最基础任务是「人脸检测」。你必须首先「捕捉」人脸(第 1 阶段)才能在未来与捕捉到的新人脸对比时(第 3 阶段)识别它。

识别ubuntu创始人Mark Shuttleworth

第三步:收集数据并训练识别

这是该项目的最后阶段。这里,我们将通过摄像头捕捉一个新人脸,如果这个人的面孔之前被捕捉和训练过,我们的识别器将会返回其预测的 id 和索引,并展示识别器对于该判断有多大的信心。

低调低调

参考链接

https://www.cnblogs.com/freely/p/8022923.html
https://shumeipai.nxez.com/2018/03/09/real-time-face-recognition-an-end-to-end-project-with-raspberry-pi.html
https://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/
https://github.com/abhiTronix/OpenCV_Raspberry_pi_TBB
https://www.bilibili.com/video/av54307099/?spm_id_from=trigger_reload
https://blog.csdn.net/AlexWang30/article/details/99612188
https://github.com/Mjrovai/OpenCV-Face-Recognition
https://www.hackster.io/mjrobot/real-time-face-recognition-an-end-to-end-project-a10826
https://www.instructables.com/id/Real-time-Face-Recognition-an-End-to-end-Project/