前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【深度学习系列】用PaddlePaddle进行人脸识别

【深度学习系列】用PaddlePaddle进行人脸识别

作者头像
Charlotte77
发布2018-04-16 14:41:26
2.6K0
发布2018-04-16 14:41:26
举报

上个案例中我们讲了如何用PaddlePaddle进行车牌识别的方法,这次的案例中会讲到如何用PaddlePaddl进行人脸识别,在图像识别领域,人脸识别也属于比较常见且成熟的方向了,目前也有很多商业化的工具进行人脸识别。广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位或检测、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。本篇主要内容如下:   1)获取数据:可通过手机/电脑等拍摄自己的头像,也可通过网站下载已收集好的人脸数据集;   2)检测人脸:利用dlib、opencv对人脸进行检测;   3)训练模型:根据检测后的图片,用PaddlePaddle构建卷积神经网络训练模型;   4)模型测试:拍摄一张新头像,用模型进行识别。


项目流程

简单解释一下每一步的过程:

  • 图像获取:可以通过摄像镜把人脸图像采集下来或图片上传等方式。
  • 人脸检测:给定任意一张图片,找到其中是否存在一个或多个人脸,并返回图片中 每个人脸的位置、范围及特征等。
  • 人脸定位:通过人脸来确定位置信息。
  • 预处理:基于人脸检测结果,对图像进行处理,为后续的特征提取服务。系统获取到的人脸图像可能受到各种条件的限制或影响,需要对进行大小缩放、旋转、拉伸、灰度变换规范化及过滤等图像预处理。由于图像中存在很多干扰因素,如外部因素:清晰度、天气、角度、距离等;目标本身因素:胖瘦,假发、围巾、银镜、表情等。所以神经网络一般需要比较多的训练数据,才能从原始的特征中提炼出有意义的特征。
  • 特征提取:就是将人脸图像信息数字化,把人脸图像转换为一串数字。特征提取是一项重要内容,传统机器学习这部分往往要占据大部分时间和精力,有时虽然花去了时间,效果却不一定理想,好在深度学习很多都是自动获取特征。
  • 人脸特征:找到人脸的一些关键特征或位置,如眼镜、嘴唇、鼻子、下巴等的位置,利用特征点间的欧氏距离、曲率和角度等提取特征分量,最终把相关的特征连接成一个长的特征向量。
  • 比对识别:通过模型回答两张人脸属于相同的人或指出一张新脸是人脸库中的谁的脸。
  • 输出结果:对人脸库中的新图像进行身份认证,并给出是或否的结果。

 获取数据

获取其他人脸图片集,需要收集一个其他人脸的图片集,只要不是自己的人脸都可以,可以在网上找到,这里我给出一个我用到的图片集:

网站地址:http://vis-www.cs.umass.edu/lfw/ 图片集下载:http://vis-www.cs.umass.edu/lfw/lfw.tgz

先将下载的图片集,解压到项目目录下的lfw目录下,也可以自己指定目录(修改代码中的input_dir变量),程序中使用的是dlib来识别人脸部分,也可以使用opencv来识别人脸,在实际使用过程中,dlib的识别效果比opencv的好,但opencv识别的速度会快很多,获取10000张人脸照片的情况下,dlib大约花费了1小时,而opencv的花费时间大概只有20分钟。opencv可能会识别一些奇怪的部分,所以综合考虑之后我使用了dlib来识别人脸。

  1)导入需要的包,这里使用dlib库进行人脸识别。

  2)定义输入、输出目录,文件解压到当前目录./data/my_faces目录下。 #我的头像(可以用手机或电脑等拍摄,尽量清晰、尽量多,越多越好)上传到以下input_dir目录下,output_dir为检测以后的头像

  3)判断输出目录是否存在,不存在,则创建。


 检测人脸


 训练模型


 模型测试


总结

参考文献:

1.http://www.feiguyunai.com/index.php/2017/11/25/pythonai-dl-facerecong01/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档