1 face_recognition介绍
face_recognition是世界上最简洁的人脸识别库,可以使用Python和命令行工具提取、识别、操作人脸。face_recognition的人脸识别是基于业内领先的C++开源库dlib中的深度学习模型,用Labeled Faces in the Wild人脸数据集进行测试,有高达99.38%的准确率。
2 安装
2.1 太长不看版(直接根据步骤安装)
- 先确认使用的python版本
python --version
2. 安装CMake库
pip install CMake
由于dlib库安装文件缺少版本号,因此需要根据python版本选择对应版本,通过下载whl文件进行安装。版本关系可见仓库。
pip install <dlib whl文件路径>
pip install numpy==1.26.4
pip install face_recognition
pip install setuptools < 82.0.0 # setuptools从82.0.0版本开始移除
pip install git+https://github.com/ageitgey/face_recognition_models
3. 验证是否安装成功
import face_recognition
print('face_recognition import successfully.')
2.2 详细纠错版
1、一开始我就直接安装face_recognition
pip install face_recognition
结果在安装dlib过程中就报错
- 原因:
dlib的下载链接中找不到对应版本,需要找到与python版本对应的dlib - 解决:根据python版本下载whl文件,再进行
pip安装。版本关系可见仓库。
pip install <whl文件路径>
2. face_recognition安装成功后,打算用起来。然而
Please install `face_recognition_models` with this command before using `face_recognition`:
pip install git+https://github.com/ageitgey/face_recognition_models
这里就根据提示安装就好了。但是有时候setuptools版本过高会导致库下载失败,因为setuptools从 82.0.0 版本开始移除了pkg_resources模块,而老版本(如81.0.0)还保留着它。
- 解决:安装81.0.0版本的
setuptools
face_recognition和face_recognition_models都下好啦,又准备用起来的时候......
RuntimeError: Unsupported image type, must be 8bit gray or RGB image.
这个问题通常与numpy版本有关,因为face_recognition底层依赖与dlib,而dlib对numpy数组的格式有严格要求。当使用较新版本的numpy(如2.0.0)时,可能会产生数据类型不兼容的情况,导致dlib无法正确识别图像格式。
- 解决:将
numpy降级到1.26.4版本