偶然看到一篇文章,说是可以实时人脸识别,很有兴趣就自己按照文章开始动手人脸识别,但是实现过程中遇到了几个问题这里做个总结,希望可以帮助到大家
安装face_recognition这个之前需要先安装编译dlib,如果没有安装dlib,那么我们先来装dlib,但是按照dlib的时候多数情况会出现 not found boost。这是我们并没有按照boost,那么我们按顺序来,先装boost
1:sudo apt-get install libboost-all-dev
安装成功后我们开始编译dlib
1:git clone https://github.com/davisking/dlib.git
2:cd dlib
3:mkdir build
4:cd build
5:cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1
6:cmake --build .(注意中间有个空格)
7:cd ..
8:python setup.py install --yes USE_AVX_INSTRUCTIONS --no DLIB_USE_CUDA
如果出现 Cannot allocate memory 这个错误,我们需要先进行设置虚拟内存或者直接增大内存
设置虚拟内存
先查看内存 free -m
1:dd if=/dev/zero of=/dlib bs=1024 count=2048000
2:mkswap /dlib
3:swapon /dlib
再次查看内存 free -m
搞定内存问题后,再次运行python setup.py install --yes USE_AVX_INSTRUCTIONS --no DLIB_USE_CUDA,成功编译dlib(Finished processing dependencies for dlib==19.7.99),开始安装 face_recognition
1:pip install face_recognition
2:安装成功
3:关掉swap
swapoff /dlib
运行代码的时候可能会遇到 no module name scipy
这个时候自己装scipy这个库就好了
如果pip装不上就要先用下面两个命令编译库,给个链接:http://blog.csdn.net/shomy_liu/article/details/48543449
sudo apt-get build-dep python-numpy
sudo apt-get build-dep python-scipy
然后再次 pip install scipy 就OK了
这样就可以开始自己的人脸识别了~