windows下使用face_recognition实现人脸识别

痛定思痛。 2022-02-24 14:28 522阅读 0赞

环境配置

  • Python 3.6(必须是)
  • Windows10(不是官方支持的,但也能用)

前言:

face_recognition这个项目尤其是dlib更适用于Linux系统。在性能方面,编译同样规格的项目,这个工具在Windows 10 上大约是Ubuntu上的四分之一。但是在这两者之间我没有看到在其他方面有什么差别。

由于windows不是face_recognition官方支持的,需要编译安装dlib,过程过于复杂,本次使用网上编译后的whl文件进行安装,这也是必须本次实验必须是在python3.6下的原因,因为网上只有dlib编译文件whl cp36版的。

一、安装环境

第一步:安装dlib

1、下载dlib-19.7.0-cp36-cp36m-win_amd64.whl 安装包

2、打开cmd切换到dlib-19.7.0-cp36-cp36m-win_amd64.whl 文件所在目录下执行命令安装

注意: 你的电脑上可能已经安装过其他的python版本,切记要切换到python3.6,为了防止已经安装其他版本的python dlib安装包要放到python3.6安装目录下的Scripts文件夹中再执行以下命令。

  1. # pip install dlib-19.7.0-cp36-cp36m-win_amd64.whl

第二步:安装face_recognition库

使用命令:

  1. # pip install face_recognition

二、应用face_recognition库

1、首先我们先从网上下载10张不同人的图片存在images文件夹中,并且每张图片用图片中的人名命名图片。用于与需要对比的图片进行对比。images文件夹内容如下:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3p6cWFhYXNzcw_size_16_color_FFFFFF_t_70

2、另外下载一张图片用于对比,我下载的是马云的另一张图片

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3p6cWFhYXNzcw_size_16_color_FFFFFF_t_70 1

3、python代码:

  1. import os
  2. import face_recognition as face
  3. # 列出所有可用的图片,也就是刚才下载的10张图片
  4. images = os.listdir('images')
  5. # 加载需要要对比的图片,也就是下载的另一张马云图片
  6. image_to_be_matched = face.load_image_file('test.jpg')
  7. # 将加载的图像编码为特征向量
  8. image_to_be_matched_encoded = face.face_encodings(image_to_be_matched)[0]
  9. # 遍历images下的每张图像
  10. for image in images:
  11. # 加载图片
  12. current_image = face.load_image_file("images/" + image)
  13. # 将加载的图像编码为特征向量
  14. current_image_encoded = face.face_encodings(current_image)[0]
  15. # 将图像与图像匹配,并检查是否匹配
  16. result = face.compare_faces([image_to_be_matched_encoded], current_image_encoded)
  17. # 检查是否匹配
  18. if result[0] == True:
  19. print("匹配: " + image)
  20. print("end")

运行代码输出以下结果:

20190404151019105.PNG

很显然结果正确。

文章到此结束。下一篇博文将继续深入研究。

发表评论

表情:
评论列表 (有 0 条评论,522人围观)

还没有评论,来说两句吧...

相关阅读