【笔记】Python3实现人脸识别

前言

利用Python的face_recognition实现人脸识别

安装dlib

下载dlib源码

1
2
3
wget https://files.pythonhosted.org/packages/3c/07/a2693a94ac678c442c4cfe269d24f63053b14410ef2d09957a762eeb4b8e/dlib-19.24.6.tar.gz#sha256=77e3c28ac2c66141514b07cbb74b7c7f80381c019ce5fec99007980bc6490d7d
tar -zxvf dlib-19.24.6.tar.gz
cd dlib-19.24.6

创建虚拟环境

  • 使用python3.6创建虚拟环境
1
2
3
python3.6 -m venv venv
source venv/bin/activate
pip3 install build

编译dlib

1
python -m build --wheel

安装dlib

1
pip install dist/dlib-19.24.6-cp36-cp36m-macosx_14_0_arm64.whl

下载依赖

1
pip3 install face_recognition

引入依赖

1
import face_recognition

载入图片

1
image = face_recognition.load_image_file("<file>")

识别人脸

  • 识别图片中的所有人脸的像素点的坐标,返回一个列表
1
2
3
4
5
locations = face_recognition.face_locations(image)

for location in locations:
top, right, bottom, left = location
print(top, right, bottom, left)

踩坑

  • 直接通过pip install face_recognition安装face_recognition失败

原因

  • 无法安装dlib

解决问题

  • 先手动安装dlib再安装face_recognition

踩坑

  • 直接通过pip install dlib安装dlib失败

原因

  • 官方仓库没有对应系统的依赖

解决问题

  • 下载源码自己编译

踩坑

  • 安装face_recognition时报错:No matching distribution found for face_recognition

解决问题

  • 使用Python3.6环境

踩坑

  • 安装numpy时报错:Could not build wheels for numpy, which is required to install pyproject.toml-based projects

解决问题

  • 使用venv虚拟环境

完成

参考文献

哔哩哔哩——骆昊jackfrued
CSDN——1941s
Github——Raj9417
stackoverflow——ANDREW