资源技术动态一步一步带你完成深度学习与对象检测之人脸识别

一步一步带你完成深度学习与对象检测之人脸识别

2019-09-19 | |  148 |   0

原标题:一步一步带你完成深度学习与对象检测之人脸识别       

来源:今日头条   [ 原创: 人工智能研究所 ]      原文链接:https://www.toutiao.com/a6737277509974360587/

前期文章我们分享了opencv的人脸检测

人工智能-OpenCV+Python实现人脸识别

以及dlib的人脸检测与人脸识别

人工智能-Dlib+Python实现人脸识别


通过往期的分享,我们了解到人脸识别的大概过程,主要包括:

1、人脸图片的搜集(原始数据)

2、从图片中识别到人脸

3、人脸数据提取

4、人脸数据保存

5、从图片或者视频中检测到人脸

6、人脸数据提取

7、被识别的人脸与数据库中的数据一一对比,识别出人脸


064003da-750d-4fac-8df7-11727168e699.jpg


以上人脸识别过程,存在一定的问题,当人脸原始数据比较大时,数据库中必然存在比较多的人脸数据,当进行人脸识别时,被识别的人脸与数据库中的数据对比时,必然会消耗大量的时间,对人脸实时识别的速度有较大的影响。受CNN卷积神经网络的启发,我们使用神经网络来进行人脸数据的训练,标签是人脸的名字,数据是人脸数据,使用神经网络对人脸数据进行训练,这样当数据比较大时,神经网络识别速度与正确率就越高,大大提高人脸识别的速度与正确率,这样人脸识别的过程便成为如下过程:

1、人脸图片的搜集(原始数据)

2、从图片中识别到人脸

3、人脸数据提取与保存

4、人脸数据与人脸标签的神经网络训练,保存训练模型

5、从图片或者视频中检测到人脸

6、识别到的人脸进行神经网络预测,进行人脸识别


本期介绍人脸数据的提取


1、人脸原始图片的搜集


要进行人脸识别,就要搜集用户的人脸图片,我们从网站上搜集了几个明星的照片来进行本期文章的分享


首先在目录文件下新建一个dataset文件夹,里面放置多个文件夹,每个文件夹便是一个明星的照片,文件夹名称是明星的名字,目录类似如下:


27c39dffc79140b0944d643df27b366c.jpg


2、设置人脸检测模型与人脸提取嵌入数据模型


人脸检测模型,我们直接使用ResNet-10和SSD算法在caffe上面训练好的模型


人脸数据提取嵌入模型,使用OpenFace的openface_nn4.small2.v1.t7模型,此模型训练在pytorch上,可以直接使用opencv来进行加载


b4fb6200a896446995193428a7504804.jpg

脸检测模型与人脸提取嵌入数据模型


3、初始化图片地址,初始化人脸数据数组与人脸名称标签数组


08211e255a9c48e3b6bb60a727860723.jpg

初始化人脸数据


4、遍历整个dataset目录,进行图片处理


30行提取了文件夹的名称,此名称便是后期需要保存的label值

33-35行,进行了图片的读取以及resize处理

38行计算图片的blob值


43-44行,把图片的blob值放入人脸检测神经网络进行人脸的检测


a1e75cc5def54e4c8ac0c045dca33cd2.jpg


47行,当在图片中检测到 人脸时,其神经网络的len值会大于0


50行,当检测到人脸时,我们提取人脸的置信度


53行设计人脸置信度为0.5


55-59行,计算人脸在图片中的位置,并提取人脸的尺寸


61-62行,当人脸尺寸较小时 ,我们忽略此人脸信息,选择图片中人脸比较大的人脸


8fbce3684378455e9ffcdf1317876f90.jpg


64行,当人脸图片尺寸符合要求时,我们计算人脸的blob值


67-68行,把人脸图片的blob值传递人脸嵌入数据神经网络


71-72行,保存人脸的label与人脸数据到数组中



5、保存人脸数据


当遍历完成后,dataset中的所有的人脸数据便保存在了事先建立的数组中


77行,新建一个字典数据,把人脸的label以及人脸数据保存到本地,方便后期进行神经网络的训练


5c800263aa8744268f45d16a37514639.jpg

以上5步便完成了整个人脸的数据采集,当然,若想后期人脸识别的精度较高,需要进行大量的人脸数据搜集


人脸识别系统

此部分文章是人脸识别的第一部分,人脸数据的搜集与提取,后期我们分享人脸识别系统的神经网络训练与人脸识别

THE END

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:谷歌再获语音识别新进展:利用序列转导来实现多人语音识别和说话人分类

下一篇:人脸识别技术全面总结:从传统方法到深度学习

用户评价
全部评价

热门资源

  • 应用笔画宽度变换...

    应用背景:是盲人辅助系统,城市环境中的机器导航...

  • GAN之根据文本描述...

    一些比较好玩的任务也就应运而生,比如图像修复、...

  • 端到端语音识别时...

    从上世纪 50 年代诞生到 2012 年引入 DNN 后识别效...

  • 人体姿态估计的过...

    人体姿态估计是计算机视觉中一个很基础的问题。从...

  • 谷歌发布TyDi QA语...

    为了鼓励对多语言问答技术的研究,谷歌发布了 TyDi...