一、Face Recognition软件包

我们的人脸识别基于face_recognition库。face_recognition基于dlib实现,用深度学习训练数据,模型准确率高达99.38%。

人脸数字化

人脸识别的第一步是检测照片中的人脸区域,然后将人脸的图像数据转换成一个长度为128的向量,这128个数据代表了人脸的128个特征指标,如下所示

1.安装Face Recognition软件包

使用python虚拟环境进行安装。现有一个mysuperset的python3.6虚拟环境,进入虚拟环境,并进行安装(Face Recognition需要Python3.3(或者以上)+或者Python2.7)

pip3.6 install face_recognition (安装文件在100MB)

依赖包:numpy、Click、Pillow、dlib

2.face_recognition命令行接口

1)Face Recognition软件包提供命令行接口,系统中已经有了一个名为face_recognition的命令,你可以使用它对图片进行识别,或者对一个文件夹中的所有图片进行识别。

2)首先你需要提供一个文件夹,里面是所有你希望系统认识的人的图片。其中每个人一张图片,图片以人的名字命名。然后你需要准备另一个文件夹,里面是你要识别的图片。

我创建了picture目录,下面有两个子目录,一个source用来保存系统认识的人的图片,另一个target用来保存需要识别的图片。

3)可以运行face_recognition命令了,把刚刚准备的两个文件夹作为参数传入,命令就会返回需要识别的图片中都出现了谁。

face_recognition ./source/ ./target/

运行后,报错,没在hope中发现face。。。。可能是我之前使用vim打开过hope导致。但是结果匹配到了nut。。。。

重新传入hope,输出结果,把hope与nut都匹配到了。。。。果然是父子,傻傻分不清楚。。。

github上面的说明

4)继续传入别人的照片

将小李子照片传入source,看看识别效果。匹配正确了。

3.使用face_recognition模块

识别人脸鉴定是哪个人

import face_recognition
image_me=face_recognition.load_image_file("/home/dba/picture/hope.jpg")
my_face_encoding=face_recognition.face_encodings(image_me)[0]
 
image_unkonw=face_recognition.load_image_file("/home/dba/picture/unknow.jpg")
unknow_face_encoding=face_recognition.face_encodings(image_unkonw)[0]
 
results=face_recognition.compare_faces([my_face_encoding],unknow_face_encoding)
 
if results[0]==True:
    print("It's me!")
else:
    print("It's not me!")

其中my_face_encoding、unknow_face_encoding就是将人脸的图像数据转换成一个长度为128的向量,也是就是128个特征指标

二、Face Recognition识别多个人脸

参考资料:

https://github.com/ageitgey/face_recognition/blob/master/README_Simplified_Chinese.md

http://developer.51cto.com/art/201801/565664.htm

最新文章

  1. redhat 配置本地yum源163yum源epel 源,无需卸载yum!无须拷贝ISO,愿网上少一点垃圾教程误人子弟
  2. 【转载】 Spark性能优化指南——基础篇
  3. 关于Lucene.net 中高亮显示关键词的深究
  4. 关于SqlServer2012本地帮助文档安装失败问题
  5. Silverlight项目笔记2:.svc处理程序映射缺失导致的WCF RIA Services异常
  6. Hadoop 添加删除数据节点(datanode)
  7. ionic localstorage
  8. C#常用简单线程实例
  9. JSPatch 遇上swift
  10. C++实现RTMP协议发送H.264编码及AAC编码的音视频(转)
  11. AltiumDesigner导入AutoCAD文件DXF,DWG格式
  12. 企业版IDP的申请及“In House”发布
  13. 用Altium designer画PCB的一般心得
  14. Mysql根据指定字段的int值查出在当前列表的排名
  15. 《PHP 设计模式》翻译完毕
  16. RAID 划分
  17. jenkins grunt 自动构建流程
  18. 【oneday_onepage】——Ten Changes To Make A Difference In Your Life
  19. 总结《二》MFC中WinMain和CALLBACK
  20. ubuntu移植jsoncpp到Android平台(转)

热门文章

  1. 括号序和dfs序
  2. poj 2481 Cows(树状数组)题解
  3. WebForm、MVC、流式计算
  4. 小米笔记本 air 12.5寸 支持硬盘参数
  5. 常见dos命令汇总
  6. Maven置标签<scope>
  7. JSP生成验证码
  8. 12月3日周日,关联:has_many(dependent::delete_all和destroy的区别) 注意看log; where等查询语句的用法。 layout传递参数❌
  9. configparser、subprocess模块
  10. python-day39--mysql基本操作