【face_recognition】安装问题

33 阅读2分钟

1 face_recognition介绍

face_recognition是世界上最简洁的人脸识别库,可以使用Python和命令行工具提取、识别、操作人脸。face_recognition的人脸识别是基于业内领先的C++开源库dlib中的深度学习模型,用Labeled Faces in the Wild人脸数据集进行测试,有高达99.38%的准确率。

2 安装

2.1 太长不看版(直接根据步骤安装)

  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
  1. face_recognitionface_recognition_models都下好啦,又准备用起来的时候......
RuntimeError: Unsupported image type, must be 8bit gray or RGB image.

这个问题通常与numpy版本有关,因为face_recognition底层依赖与dlib,而dlibnumpy数组的格式有严格要求。当使用较新版本的numpy(如2.0.0)时,可能会产生数据类型不兼容的情况,导致dlib无法正确识别图像格式。

  • 解决:将numpy降级到1.26.4版本