偶然看到一篇文章,说是可以实时人脸识别,很有兴趣就自己按照文章开始动手人脸识别,但是实现过程中遇到了几个问题这里做个总结,希望可以帮助到大家
安装face_recognition这个之前需要先安装编译dlib,如果没有安装dlib,那么我们先来装dlib,但是按照dlib的时候多数情况会出现 not found boost。这是我们并没有按照boost,那么我们按顺序来,先装boost1:sudo apt-get install libboost-all-dev
安装成功后我们开始编译dlib1:git clone https://github.com/davisking/dlib.git2:cd dlib3:mkdir build4:cd build5:cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=16: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=20480002:mkswap /dlib3: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_recognition1:pip install face_recognition
2:安装成功
3:关掉swapswapoff /dlib
运行代码的时候可能会遇到 no module name scipy
这个时候自己装scipy这个库就好了sudo apt-get build-dep python-numpysudo apt-get build-dep python-scipy
然后再次 pip install scipy 就OK了
这样就可以开始自己的人脸识别了~