Python如何使用face_recognition实现AI识别图片中的人物

发布时间:2022-01-13 14:45:52 作者:小新
来源:亿速云 阅读:366

这篇文章给大家分享的是有关Python如何使用face_recognition实现AI识别图片中的人物的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

环境安装

首先我们看看官方给出的人脸识别效果图

Python如何使用face_recognition实现AI识别图片中的人物

我们看一下README关于安装环境的信息

Python如何使用face_recognition实现AI识别图片中的人物

官方给出的可安装操作系统是Mac和Linux,但是我想在windows安装,继续往下看。

Python如何使用face_recognition实现AI识别图片中的人物

windows虽然不是官方支持,但是也能装,不就是个dlib吗?好的,那就开始装。

我们直接安装requirements_dev.txt,这里要注意,把pip去掉。

Python如何使用face_recognition实现AI识别图片中的人物

注意一点安装dlib的时候会报错,需要先安装cmake,安装命令如下:

pip install cmake -i https://pypi.douban.com/simple

除此之外,项目还需要安装opencv-python,安装命令如下:

pip install opencv-python -i https://pypi.douban.com/simple

代码使用

先做一下说明,在使用face_recognition运行的时候,可以选择安装face_recognition命令进行运行的模式,也可以使用face_recognition模块构建代码运行。为了二次开发,我还是先试试代码的方式,主要试试人脸识别模块。

官方代码如下:

import face_recognition

# Load the jpg files into numpy arrays
biden_image = face_recognition.load_image_file("biden.jpg")
obama_image = face_recognition.load_image_file("obama.jpg")
unknown_image = face_recognition.load_image_file("obama2.jpg")

# Get the face encodings for each face in each image file
# Since there could be more than one face in each image, it returns a list of encodings.
# But since I know each image only has one face, I only care about the first encoding in each image, so I grab index 0.
try:
    biden_face_encoding = face_recognition.face_encodings(biden_image)[0]
    obama_face_encoding = face_recognition.face_encodings(obama_image)[0]
    unknown_face_encoding = face_recognition.face_encodings(unknown_image)[0]
except IndexError:
    print("I wasn't able to locate any faces in at least one of the images. Check the image files. Aborting...")
    quit()

known_faces = [
    biden_face_encoding,
    obama_face_encoding
]

# results is an array of True/False telling if the unknown face matched anyone in the known_faces array
results = face_recognition.compare_faces(known_faces, unknown_face_encoding)

print("Is the unknown face a picture of Biden? {}".format(results[0]))
print("Is the unknown face a picture of Obama? {}".format(results[1]))
print("Is the unknown face a new person that we've never seen before? {}".format(not True in results))

代码说明:

1、首先可以看到将两个人脸的数据加到了known_faces列表内。

2、然后用未知图数据进行识别判断。

看一下加入到known_faces的照片

Python如何使用face_recognition实现AI识别图片中的人物

看一下需要识别的照片

Python如何使用face_recognition实现AI识别图片中的人物

看一下执行结果

Python如何使用face_recognition实现AI识别图片中的人物

我们可以看到在拜登的识别中提示false,在奥巴马识别中提示true。这里要注意一点,我们看一下compare_faces方法参数。

Python如何使用face_recognition实现AI识别图片中的人物

参数tolerance最佳为0.6,越低越严格,所以可以按照自己的需求调整。

感谢各位的阅读!关于“Python如何使用face_recognition实现AI识别图片中的人物”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. python如何识别图片中的文字
  2. Python3 利用face_recognition实现人脸识别的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python ai

上一篇:零基础学习python需要注意哪些问题

下一篇:如何使用python将天数转换为日期字符串

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》