人脸识别系列 | 通过这个库我实现识别人脸

举报
Aasee 发表于 2022/02/03 13:50:06 2022/02/03
【摘要】 简介我们这次使用基于开源项目face_recognition库来实现人脸识别,首先介绍一下这个项目吧。使用世界上最简单的人脸识别库从 Python 或命令行识别和操作人脸。使用dlib使用深度学习构建的最先进的人脸识别技术构建。该模型在 Wild基准的 Labeled Faces 上的准确率为 99.38% 。这使得我们可以直接调用这个库来进行人脸识别而不用自己编写程序进行深度学习。这是该...

简介

我们这次使用基于开源项目face_recognition库来实现人脸识别,首先介绍一下这个项目吧。
使用世界上最简单的人脸识别库从 Python 或命令行识别和操作人脸。

使用dlib使用深度学习构建的最先进的人脸识别技术构建。该模型在 Wild基准的 Labeled Faces 上的准确率为 99.38% 。
这使得我们可以直接调用这个库来进行人脸识别而不用自己编写程序进行深度学习。这是该项目的github地址

安装

接下来就给大家介绍一下安装这个库的流程,因为该库使用了dlib进行深度学习所有需要dlib库和face_recognition库,又因为我使用了opencv显示图片所有还需要opencv库,我使用的环境是python3.6.4,dlib==19.7.0,face_recognition==1.3.0,因为我使用的是Anaconda所有只需在安装是选择适合的版本就没有报错,但是我试过非Anaconda环境中pip下载是会报错的所有这次重点先交大家如何在python默认环境中安装。

(1)

python -m pip install --upgrade setuptools, python -m pip install --upgrade pip 。先更新更新工具再更新一下pip。
图片

(2)

由于我下载时发现默认下载源下载速度很慢所有我这里进行了更改
图片
图片

(3)

pip install opencv-python
图片

(4)

重点来了,大部分人包括我在安装dlib库时都会报错,这时有两种解决办法install dlib == 19.7.0, 或者下载对应的whl文件进行安装
tu
tu
tu
然后就可以安装face_recognition库啦
如果大家找不到这个whl文件可以私信我获取(有个镜像网站的但是我不记得地址了找找应该能找到)

实现人脸识别

# 导入模块
import cv2
import face_recognition

# 使图片名显示中文但会被吞字
def zh_cn(string):
    return string.encode("gbk").decode(errors="ignore")

# 识别人脸图片
image = face_recognition.load_image_file("1.png")
face_locations = face_recognition.face_locations(image)



#调用opencv函数显示图片
img = cv2.imread("1.png")
cv2.namedWindow(zh_cn("原图"), cv2.WINDOW_NORMAL) # cv2.WINDOW_NORMAL使窗口可自定义大小 
cv2.imshow(zh_cn("原图"), img)

#遍历每个人脸并标注
faceNum = len(face_locations)
print(f"从这张图片中我发现了{faceNum}张脸!")
for i in range(faceNum):
    top, right, bottom, left = face_locations[i] # 上右,下左
    start = (left, top)
    end = (right, bottom)
    color = (0, 255, 0)
    thickness = 3
    cv2.rectangle(img, start, end, color, thickness) # 左上 右下  画框

#显示识别结果
cv2.namedWindow(zh_cn("识别"), cv2.WINDOW_NORMAL)
cv2.imshow(zh_cn("识别"), img)
cv2.waitKey(0) # 使窗口停留,不加会一闪而过
cv2.destroyAllWindows()  # 关闭窗口

结果展示

原图
原图
识别
识别
geshu

总结

这只是运用该库实现的小小案例还有很多好玩有趣的操作,大家可以自己操作玩玩,新的一年祝大家身体健康,阖家幸福,代码无bug。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。