为了账号安全,请及时绑定邮箱和手机立即绑定

一行做代码人脸识别:初学face_recognition

标签:
人工智能

前天听人吹牛,说某某的系统好牛,可以识别客户的头像,好高科技巴拉巴拉。
于是昨天找了一下,发现Python的face_regcognition包可以做,代码封装的非常简单,一点识别原理都不懂的人,也可以使用。

face_recognition项目地址

face_regcognition 可以实现的功能包括:

  • 在图像上查找所有人脸的位置:

  • 将一张人脸图片与其它图片对比,找出最相似的:比如找一张女星相片是不是范爷的

  • 查找人脸中的嘴唇、下巴等位置。
    其它还有支持命令行操作,使用GPU做批量处理加速等等。

使用环境:Python3.6 + Windows10

因为依赖dlib库的原因,在安装前需要先安装dlib。建议使用dlib的官方包安装,否则容易报错
dlib地址

一、在示例图片上找到人脸的位置,并做框线标注

示例图片


webp

test03.jpg

标注后的图片效果


webp

test_result.jpg

示例

import face_recognition as frimport cv2
img = fr.load_image_file("tmp/locations.jpg")   # 加载图片保存为numpy数组loc = fr.face_locations(img)  # 查找人脸位置,返回位置坐标的list, 真的只有一行哦# 遍历坐标list,给每个人脸位置画上标线框for i in loc:
    cv2.rectangle(img, (i[3],i[0]), (i[1],i[2]), color=(0,255,255), thickness=3)# 保存标后的图片cv2.imwrite('/tmp/test_result.jpg', img)

二、查找最相似的人脸

示例图片:在这四张相片中,找到与目标图片最相似的人脸。范爷,范爷她弟,大景甜,明日花绮罗(好像混进了不一样的东西)


webp

fanbingbing.jpg


webp

fanchenchen.jpg


webp

jingtian.jpg


webp

mingrihuayiluo.jpg

目标图片


webp

test01.jpg

示例

import face_recognition as fr# 读取图像img_a = fr.load_image_file("tmp/fanbingbing.jpg")
img_b = fr.load_image_file('tmp/fanchenchen.jpg')
img_c = fr.load_image_file('tmp/jingtian.jpg')
img_d = fr.load_image_file('tmp/mingrihuayiluo.jpg')
img_x = fr.load_image_file('tmp/test01.jpg')# 进行特征编码encoding_a = fr.face_encodings(img_a)[0]
encoding_b = fr.face_encodings(img_b)[0]
encoding_c = fr.face_encodings(img_c)[0]
encoding_d = fr.face_encodings(img_d)[0]
encoding_x = fr.face_encodings(img_x)[0]# 将示例图片与目标人脸逐一对比,返回 list, 包含True/False, 表示是否匹配fr.compare_faces([encoding_a, encoding_b, encoding_c, encoding_d], encoding_x)# 返回 [True, True, True, False]# 我擦,不对啊,怎么第2,3张也是True。# 差值默认为0.5,越小对比越严格fr.compare_faces([encoding_a, encoding_b, encoding_c, encoding_d], encoding_x, tolerance=0.4)# 返回值[True, False, False, False],得知目标人脸属于范爷

三、对比示例人脸与目标人脸的相似度

将上面示例的人脸与目标人脸对比,计算欧氏距离。距离越小越相似。

fr.face_distance([encoding_a, encoding_b, encoding_c, encoding_d], encoding_x)
# 返回array([ 0.33231199,  0.59964459,  0.55151852,  0.63861249])
# 最相似的是第一张范爷,其次是范爷她弟,不愧是亲姐弟啊。



作者:无鱼二饼
链接:https://www.jianshu.com/p/6961c6d9e824


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 1
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消