基本概念
face_recognition:
从Python或命令行中识别和操作面部
世界上最简单的人脸识别库。
这也提供了一个简单的
face_recognition
命令行工具,您可以通过命令行在图像文件夹上进行人脸识别!
官方网址
face_recognition:https://face-recognition.readthedocs.io
GitHUb:https://github.com/ageitgey/face_recognition
安装教程
第一部分:pip国内安装源
pip国内镜像
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
修改安装源方法:
临时修改:
可以在使用pip的时候在后面加上-i参数,指定pip源
eg:
pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple
永久修改:
Linux:
修改 ~/.pip/pip.conf (没有就创建一个), 内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
Wndows:
直接在user目录中创建一个pip目录,如:C:\Users\xx\pip,在pip 目录下新建文件pip.ini
注:如果不知道当前用户,可WIN+R快捷键 ,输入%HOMEPATH%,,打开用户目录,在此目录下创建 pip 文件夹,在 pip 目录下创建 pip.ini 文件
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
第二部分:安装face_recognition
方法一:最简顺利版本
1、安装cmake
pip install cmake
2、安装boost
pip install boost
3、安装dlib
pip install dlib
4、安装face_recognition
pip install face_recognition
方法二:复杂难搞版本
1、创建python3.6的环境
conda create -n python3.6 python=3.6
2、激活python3.6环境
activate python3.6
3、安装cmake
pip install cmake
4、安装boost
pip install boost
5、安装dlib
pip install dlib
如果错误:
pip install https://files.pythonhosted.org/packages/0e/ce/f8a3cff33ac03a8219768f0694c5d703c8e037e6aba2e865f9bae22ed63c/dlib-19.8.1-cp36-cp3 6m-win_amd64.whl#sha256=794994fa2c54e7776659fddb148363a5556468a6d5d46be8dad311722d54bfcf
如果依然错误:
离线安装
在https://pypi.org/simple/dlib/下载
用 'cd' 命令定位到 Dlib 的 whl 文件 所在路径,'dir' 命令可以查看当前路径下的文件;
pip 安装 Dlib 的 whl 文件:
pip install dlib-19.7.0-cp36-cp36m-win_amd64.whl
安装之后显示 “Successfully installed dlib-19.7.0” 表示安装成功;
如果失败:
解压dlib
用cd目录进入到dlib的路径
cd dlib解压路径
安装dlib
python setup.py install
安装完成后的目录下的三个如下截图文件夹 复制到 python安装文件夹的lib下面
将dlib安装路径下的 截图所示文件
复制到python安装目录的如下位置
6、安装face_recognition
pip install face_recognition
或者:
pip install https://files.pythonhosted.org/packages/3f/ed/ad9a28042f373d4633fc8b49109b623597d6f193d3bbbef7780a5ee8eef2/face_recognition-1.2.3-py2.py3-none-any.whl#sha256=08c41397d3b899ed5b4a801646abd20935a2610ac4ba8643173db0aef6372f21
方法三:用PyCharm或者VS安装
略
第三部分:将虚拟环境添加到Jupyter Notebook
安装ipykernel:
pip install ipykernel
如过报错:
说明是pip版本问题,输入
pip install --upgrade pip
进行更新
再次重新安装ipykernel。
安装完成显示如下:
安装完成后输入命令
注:python3.6是虚拟环境的名字
python -m ipykernel install --name python3.6
测试
import face_recognition
picture_of_me = face_recognition.load_image_file("me.jpg")
my_face_encoding = face_recognition.face_encodings(picture_of_me)[0]
# my_face_encoding now contains a universal 'encoding' of my facial features that can be compared to any other picture of a face!
unknown_picture = face_recognition.load_image_file("unknown.jpg")
unknown_face_encoding = face_recognition.face_encodings(unknown_picture)[0]
# Now we can see the two face encodings are of the same person with `compare_faces`!
results = face_recognition.compare_faces([my_face_encoding], unknown_face_encoding)
if results[0] == True:
print("It's a picture of me!")
else:
print("It's not a picture of me!")
注意事项
- 人脸识别模型是针对成人训练的,对儿童而言效果不佳。使用默认比较阈值0.6时,往往会很容易混淆孩子。
资源下载
dlib库: https://pypi.org/simple/dlib/
face_recognition库:https://pypi.org/simple/face-recognition/
教学资源
https://www.youtube.com/watch?v=HqjcqpCNiZg
常见问题
https://blog.csdn.net/polyhedronx/article/details/98214902
https://blog.csdn.net/yuezhilanyi/article/details/82787460
https://www.cnblogs.com/freedomtrail/p/10776141.html
https://face-recognition.readthedocs.io/en/latest/readme.html#common-issues
参考文章
https://www.cnblogs.com/AdaminXie/p/9032224.html
https://blog.csdn.net/qq_40530943/article/details/82703675
https://blog.csdn.net/ArhatShaw/article/details/80201688
https://blog.csdn.net/zhang475546259/article/details/84104368
https://www.cnblogs.com/sciencefans/p/4394861.html
https://blog.csdn.net/weixin_44510615/article/details/90245320