Face_recognition<人脸识别>
来源:互联网 发布:vue.js验证手机号码 编辑:程序博客网 时间:2024/06/09 20:57
1.有关于face_recogintion的介绍和安装本篇不做介绍,本文只讲如何进行人脸识别
2.图片准备
如图准备了习近平、彭丽媛、普京的照片,文件名分别对应于名字
然后准备一张彭丽媛其他照片(p.jpg)
3.人脸识别code
#!/usr/bin/python# -*- coding: utf8 -*-import face_recognition# 将图片加载成numpy格式xijinping_image = face_recognition.load_image_file("习近平.jpg")pujing_image = face_recognition.load_image_file("普京.jpg")pengliyuan_image = face_recognition.load_image_file("彭丽媛.jpg")unknown_image = face_recognition.load_image_file("p.jpg")# 通过face_recognition.face_encodings获取图片中的第一个人脸xijinping_face_encoding = face_recognition.face_encodings(xijinping_image)[0]pujing_face_encoding = face_recognition.face_encodings(pujing_image)[0]pengliyuan_face_encoding = face_recognition.face_encodings(pengliyuan_image)[0]unknown_face_encoding = face_recognition.face_encodings(unknown_image)known_faces = [ pujing_face_encoding, xijinping_face_encoding, pengliyuan_face_encoding]# 检测未知图片中的人脸与已知人物进行对比results_0 = face_recognition.compare_faces(known_faces, unknown_face_encoding[0])print(results_0)
结果中显示未知图片与熟人中的第三个人十分相符,这样我们就可以根据熟人元组中取出这个人姓名。
(什么?我是怎么确定的,往下看)
当改变know_faces中元素的顺序:
known_faces = [ pujing_face_encoding, pengliyuan_face_encoding, xijinping_face_encoding]
打印结果如下:
结果显示未知人物与第二个人最为相似
再改变一下konw_faces中元素的顺序查看打印结果:
结果显示未知人物与熟人中的第一个人最为相似。
如果丢进去一个陌生人?
随便在网上扒了四张图片
1.jpg
这预测成了彭丽媛,这是错的!!!
2.jpg
3.jpg
这个未知人物被识别成了彭丽媛,这是错的!!
4.jpg
我又随便找了四张彭丽媛的照片,丢进去识别,发现有只有一张识别为未知人,其他三张图片都正确识别成了彭丽媛,
总的来说,毕竟这个库自己都说了只有百分之就是多的正确率,识别错了也是可以理解
阅读全文