版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人脸识别系统的算法实现分析案例目录TOC\o"1-3"\h\u12861人脸识别系统的算法实现分析案例 1171971.1数据集准备 176561.1.1自动化标注 1140831.1.2数据集扩充 1148451.2MTCNN人脸检测算法 1101451.2.1二次训练 158031.3人脸比对算法 137381.1.1哈希比对算法 1206961.1.2MTCNN+Facenet算法 1246881.1.3Face++比对 1290291.4三种算法比对结果 1305251.5算法优化 150521.5.1数据集的处理 1275471.5.2改进MTCNN网络结构 11.1数据集准备整个系统前期最关键的技术之一就是人脸数据集的搜集、准备、清洗以及训练ADDINEN.CITE<EndNote><Cite><Author>杨国田</Author><Year>2019</Year><RecNum>43</RecNum><DisplayText><styleface="superscript">[37]</style></DisplayText><record><rec-number>43</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623046582">43</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>杨国田</author><author>闫东</author></authors></contributors><titles><title>一种端到端的亚洲人脸数据集构建方法</title><secondary-title>科学技术创新</secondary-title></titles><periodical><full-title>科学技术创新</full-title></periodical><pages>88-89</pages><volume>000</volume><number>002</number><dates><year>2019</year></dates><urls></urls></record></Cite></EndNote>[37]。在整个数据集的搜集准备过程,我们也使用了一些新的方法和技术。其中本论文根据爬虫技术手册,开发了一套自主的爬虫代码,并利用此代码进行了公开网址的数据集搜集,搜集到人脸公开数据图片6000张,为前期的人脸数据集做准备,整个准备阶段所搜集的数据集,包含了国内人脸以及不同姿态、光照整体效果的好坏等情况,这些样本的符合度可以从训练过程中样本的正态分布图看出(如图3-1为训练过程中样本的正态分布图),从图中可以看出数据集是符合正态分布的、是具有大多数人脸基本特征性的。图3-SEQ图3-\*ARABIC1样本正态分布图 Fig3-1Samplenormaldistribution 1.1.1自动化标注在准备好数据集之后,通过CaffeModel的人脸识别模型和Yolo5人脸识别模型利用NCNN代码中的转化模型方式ADDINEN.CITE<EndNote><Cite><Author>苏寒松</Author><Year>2019</Year><RecNum>44</RecNum><DisplayText><styleface="superscript">[38]</style></DisplayText><record><rec-number>44</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623046630">44</key></foreign-keys><ref-typename="Generic">13</ref-type><contributors><authors><author>苏寒松</author><author>王萌</author><author>刘高华</author></authors></contributors><titles><title>一种基于caffe深度学习框架的人脸识别方法</title></titles><dates><year>2019</year></dates><urls></urls></record></Cite></EndNote>[38],将其数据集转成了.param模型和.bin模型,再利用C++编写了一套自动化标注代码,其代码可以很好地识别每一张人脸,并且能标注上检测框,生成json文件,通过这种方式,标注了2万张人脸数据,这些数据将用于后期MTCNN网络的训练。在这里需要阐明两个问题:1.为什么不直接使用CaffeModel和Yolo5检测人脸,而是转化后应用到jetbot小车中呢?2.为什么使用c++开发自动化标注代码?下面阐述这样操作的原因:以上两个问题在于Caffemodel和Yolo5在本项目中的人工智能小车上,人脸识别速度太慢,同时针对远近场景的测试效果并不是十分理想,最重要的一点的是,在将上述两个模型转成tengine中,发现很多算子是不支持转化的,即使做了更改操作,依然容易在运行过程中出现崩溃,因此使用第三方的模型进行检测、标注数据集,再使用数据集进行网络训练生成可以转化利用的算子模型。至于为什么使用C++,一方面是在使用NCNN开发自动检测标注过程中,发现腾讯官方也提供Rapjson开发库,非常适合生成json串数据使用。另一个重要方面,因为前端的检测模块NCNN对C++支持较好,能很好地转化来自caffemodel和yolo5的模型。1.1.2数据集扩充在标注完数据集之后,整个样本数据的结构比较清晰,但是没有考虑到实际的人脸信息容易受光照、背影、硬件设备的噪点等诸多环境问题的影响、使得图像存在迷糊的现象,因此我们对数据集进行高斯滤波、镜像、翻转、裁剪处理的一系列处理,对图片进行采样、量化、扭曲等空间处理,将原来的2万人脸数据集扩充到6万人脸数据集(如图3-2所示为部分人脸数据集),我们对数据集进行了整体的清洗工作,清洗的主要任务是对存在相同场景的人脸数据集进行删除操作,同时对相同的人脸在不同的场景也做相同操作,主要为了保证单一目标且单一场景的样本(图3-3为图片处理后图片集合),最后再将爬虫数据集和处理之后的数据集这两种数据集进行了合并,对全部图片的尺寸大小进行统一自动处理),这样有利于后期MTCNN的数据集训练和损失梯度函数的计算。模型在学习过程时,为了使得训练集更好的符合训练模型,本文还进行深度数据特征拟合操作。执行这一步骤的原因是:训练集样本如果缺乏控制可能会导致过拟合(overfitting)现象ADDINEN.CITE<EndNote><Cite><Author>金龙</Author><Year>2004</Year><RecNum>45</RecNum><DisplayText><styleface="superscript">[39]</style></DisplayText><record><rec-number>45</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623046669">45</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>金龙</author><author>况雪源</author><author>黄海洪</author><author>覃志年</author><author>王业宏</author></authors></contributors><titles><title>人工神经网络预报模型的过拟合研究</title><secondary-title>气象学报</secondary-title></titles><periodical><full-title>气象学报</full-title></periodical><pages>62-70</pages><volume>62</volume><number>1</number><dates><year>2004</year></dates><urls></urls></record></Cite></EndNote>[39]的发生——神经网络模型在训练集上表现很好,但对新数据预测时效果不好。所以了解过拟合产生的原因以及防止这种现象发生的方法对于成功设计神经网络而言显得至关重要ADDINEN.CITE<EndNote><Cite><Author>金龙</Author><Year>2004</Year><RecNum>45</RecNum><DisplayText><styleface="superscript">[39]</style></DisplayText><record><rec-number>45</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623046669">45</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>金龙</author><author>况雪源</author><author>黄海洪</author><author>覃志年</author><author>王业宏</author></authors></contributors><titles><title>人工神经网络预报模型的过拟合研究</title><secondary-title>气象学报</secondary-title></titles><periodical><full-title>气象学报</full-title></periodical><pages>62-70</pages><volume>62</volume><number>1</number><dates><year>2004</year></dates><urls></urls></record></Cite></EndNote>[39]。图3-SEQ图3-\*ARABIC2人脸部分数据集Figure3-2Datasetoffacepart图3-SEQ图3-\*ARABIC3人脸处理图片Fig.3-3Facialprocessingpictures为了避免过拟合现象的出现,只需要确保验证集和测试集来自同一分布,并且要保证验证集和测试集能够准确地反映出检测的图片数据。只有这样才能确保在学习过程中做出的决策更接近好的解决方案。所以本论文起初就对数据集进行了样本分布进行了拟合操作,从分类情况和拟合出的结果可以看出数据集的分布重点不过分唯一,这样就可以避免上述过拟合的现象发生(如图3-4为样本操作后的均匀分布图)。 图3-SEQ图3-\*ARABIC4样本分布均匀图Fig3-4Homogeneityofsampledistribution1.2MTCNN人脸检测算法论文训练主要使用的学习模型是MTCNN模型,该模型主要采用了三个级联的卷积神经网络架构ADDINEN.CITE<EndNote><Cite><Author>张文轩</Author><Year>2019</Year><RecNum>46</RecNum><DisplayText><styleface="superscript">[40]</style></DisplayText><record><rec-number>46</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623046735">46</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author>张文轩</author></authors></contributors><titles><title>基于深度学习的视频图像人脸识别系统设计与实现</title></titles><dates><year>2019</year></dates><publisher>大连理工大学</publisher><urls></urls></record></Cite></EndNote>[40]。快速生成候选窗口的P-Net网络为前端的检测网络,主要进行快速和高精度候选窗口的选择。随后进入中间层次,此层次被称为R-Net网络,主要在于甄别存在的误识别的候选框,并进行候选框的剔除工作,R-Net需要依赖前期的P-Net网络的参数和输出结果,最后进入R-Net的网络进行删选,图3-SEQ图3-\*ARABIC5网络结构Figure3-5Networkstructure将检测的候选框和筛选的候选框输送到最终的网络结构O-Net中,生成最终边界框与输出最终的人脸特征关键点ADDINEN.CITE<EndNote><Cite><Author>Gyawali</Author><Year>2021</Year><RecNum>75</RecNum><DisplayText><styleface="superscript">[41]</style></DisplayText><record><rec-number>75</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623048814">75</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Gyawali,D.</author><author>Pokharel,P.</author><author>Chauhan,A.</author><author>Shakya,S.C.</author></authors></contributors><titles><title>AgeRangeEstimationusingMTCNNandVGG-FaceModel</title></titles><dates><year>2021</year></dates><urls></urls></record></Cite></EndNote>[41]。MTCNN框架算法是一个深层的卷积神经网络人脸检测算法,该深度学习算法的网络结构总体可分为P-Net网络结构、R-Net网络结构、和O-Net网络结构ADDINEN.CITE<EndNote><Cite><Author>衣帅</Author><Year>2020</Year><RecNum>48</RecNum><DisplayText><styleface="superscript">[42]</style></DisplayText><record><rec-number>48</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623046801">48</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>衣帅</author><author>朱建生</author><author>景辉</author></authors></contributors><titles><title>铁路刷脸场景下基于MTCNN的人脸遮挡识别研究</title><secondary-title>计算机仿真</secondary-title></titles><periodical><full-title>计算机仿真</full-title></periodical><pages>101-104</pages><volume>v.37</volume><number>05</number><dates><year>2020</year></dates><urls></urls></record></Cite></EndNote>[42]。在训练之前需要将图片以像素的方式进行resize处理,其处理过程不会损失图片像素,然后将处理的图片数据送入到检测器中进行检测,进行人脸的目标检测,检测速度根据硬件条件而确定,在本论文的NVIDIA-GPU1050基础上,可以同时进行100个人脸检测,频率达到实时25fps状态。然后Pnet网络会对图像金字塔得到的图像进行粗略的筛选,其中筛选过程就是包括卷积、池化、再卷积、再池化等操作,得到一大堆的人脸粗略框,然后对这些粗略框进行一个非极大值图3-SEQ图3-\*ARABIC图3-SEQ图3-\*ARABIC6IOU示意图抑制筛选NMSADDINEN.CITE<EndNote><Cite><Author>Bodla</Author><Year>2017</Year><RecNum>76</RecNum><DisplayText><styleface="superscript">[43]</style></DisplayText><record><rec-number>76</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623048884">76</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Bodla,N.</author><author>Singh,B.</author><author>Chellappa,R.</author><author>Davis,L.S.</author></authors></contributors><titles><title>Soft-NMS--ImprovingObjectDetectionWithOneLineofCode</title></titles><dates><year>2017</year></dates><urls></urls></record></Cite></EndNote>[43](这里的NMS是直接按照IOU进行从大到小排序处理的,因为检测目标只有一个,所以不用进行多目标的分数筛选处理)。其中IOU的表示如图3-6所示,计算公式简单来说就是滑动窗口与真实人脸窗口的重复部分占两个窗口的总体比值ADDINEN.CITE<EndNote><Cite><Author>李晖晖</Author><Year>2019</Year><RecNum>49</RecNum><DisplayText><styleface="superscript">[44]</style></DisplayText><record><rec-number>49</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623046874">49</key></foreign-keys><ref-typename="Generic">13</ref-type><contributors><authors><author>李晖晖</author><author>韩太初</author><author>郭雷</author></authors></contributors><titles><title>一种基于GIoU和加权NMS改进的人脸关键点检测方法</title></titles><dates><year>2019</year></dates><urls></urls></record></Cite></EndNote>[44]。获取图片的高和宽,当有一边长超过12,则使用阈值为0.709对图片做图片金字塔,当缩放至12*12传入P网络获取图片的高和宽,当有一边长超过12,则使用阈值为0.709对图片做图片金字塔,当缩放至12*12传入P网络利用3*3或者5*5的卷积核在12*12的图片上面滑动,当有人脸就会生成一个人脸框利用3*3或者5*5的卷积核在12*12的图片上面滑动,当有人脸就会生成一个人脸框通过置信度的牵引,置信度达标的框留下,使用坐标地方反算其在图片中的坐标信息通过置信度的牵引,置信度达标的框留下,使用坐标地方反算其在图片中的坐标信息随后用IOU计算这些框的重合度,用NMS去除重复框,并将图片缩放到24*24输入R网络随后用IOU计算这些框的重合度,用NMS去除重复框,并将图片缩放到24*24输入R网络图3-SEQ图3-\*ARABIC7P网络的处理流程Figure3-7Pnetworkprocessingflow下面展开说明MTCNN算法框架流程:第一步:首先输入一张图片,MTCNN深度学习网络框架会对图片进行金字塔形状的不同尺度的缩放、旋转、和拉伸,生成由图片组成的金字塔,是为了检测不同角度、不同大小、不同状态的人脸。这里的方法很类似前期的数据集训练方法,但是这样明显会影响整个算法进行人脸检测的速度,因为存在一个图片金字塔,那就需要从上到下进行整体的检测,而检测就需要花费时间成本,深度学习对于速度要求也是比较苛刻的,因此在前期数据集的准备时就对图片进行了处理,这样的人为处理可以使得数据集更加满足于后期的使用条件,同时人为处理之后生产的图片金字塔可以直接传入训练网络,减少训练时间。第二步(如图3-7):在MTCNN的检测框中的金字塔处理完成之后,将图像金字塔传入Pnet网络结构中,Pnet网络结构主要担负的多角度不同图片的检测工作,其检测效果不关心置信度的问题,Pnet网络进行深层次的检测时,会在多图的金字塔的基础上生成一堆相对于原图的人脸候选框,这些检测框都会基于原图进行比例转化和处理,故不用担心其坐标转化,但是这样明显存在耗费时间,为了减少因为巨量的检测目标而存在巨量的数学计算,MTCNN算法很好利用了利用Numpy进行加速数据计算,将转化的计算坐标信息在原图上截取区域、并将保存的区域送入下一层网络中进行更深层次的Rnet中识别。第三步(如图3-8):当Rnet网络接受到来自Pnet网络输出的含有裁剪人脸的图片之后,进行二次处理分析,这里的分析主要对置信度和区域的目标信息进行逐个打分,打分的高低影响该图片是否要进行下一阶段进行处理,Rnet网络部队候选框记性修正,修正的任务仍然是Pnet的任务,这种反馈的神经网络很像RNN,但是也不完全是,Rnet网络对分数的筛选和预判,通过阈值进行设置,并给出了各个阈值的分析和对比,也对整体的效果做了分析。取得置信度达标的框的坐标,使用坐标反算这些框在原图中的位置,并在原图画正方形的框取得置信度达标的框的坐标,使用坐标反算这些框在原图中的位置,并在原图画正方形的框通过IOU计算这些框与框之间的职合度,然后用NMS去除重复框通过IOU计算这些框与框之间的职合度,然后用NMS去除重复框将留下的预选框在原图做正方形对图像进行裁剪,然后缩放到24*24,输入到O网络将留下的预选框在原图做正方形对图像进行裁剪,然后缩放到24*24,输入到O网络图3-SEQ图3-\*ARABIC8R网络的处理流程Figure3-8Rnetworkprocessingflow最后从P网络出来之后进入O网络,O网络会再一次的去除掉多的重复框,只留下最有可信度的框,并将图片进行解码和坐标转换(如图3-9)。取得置信度达标的框的坐标,使用坐标反算这些框在原图中的位置,并在原图画正方形的框取得置信度达标的框的坐标,使用坐标反算这些框在原图中的位置,并在原图画正方形的框通过IOU计算这些框与框之间的职合度,然后用NMS去除重复框通过IOU计算这些框与框之间的职合度,然后用NMS去除重复框输出最终人脸框输出最终人脸框图3-SEQ图3-\*ARABIC9O网络的处理流程Figure3-9Onetworkprocessingflow其中整个图片解码的过程是对网络结构的的二次处理,利用网络中的detect_face_12net函数实现,其具体实现步骤如下:1、在图片的金子塔进入检测的网络模型之后,首先判断识别过程中哪些网格点的置信度较高,即认为置信度高的网络网格点区域可能存在人脸信息,通过anchor进行目标的搜索和定位,这种方法是借鉴了yolo的方法,。2、通过前馈第一层网络,将关键点记录,然后裁剪的图片送入到第二层网络结构中,继续进行打分,打分的高低和是否保留该裁剪图片有关,打分的标准仍然靠阈值来设置,分数在适中的图片会被重新进入检测阶段进行检测。3、在高分的人脸裁剪图上进行计算,利用函数计算bb1和bb2算出相交比和外重叠框(bb1和bb2分别代表图中框的左上角Point和右下角Point),并得到堆叠boundingbox的信息,对计算的出的候选框仍需要打分。4、利用bbox_regress计算解码结果,解码公式为boundingbox=boundingbox+offset*12.0*scale(3-1)上述公式3-1所算出来的结果这个就是候选框所对应在原图上人脸框的位置。本论文在MTCNN框架基础上对损失函数进行了优化处理,对于分类任务使用y=sigmoid输出函数和交叉熵损失函数进行优化,使用了Pytorch框架交叉熵损失函数,其最多接收二维数据进行计算。其中的分类任务由于均方差对参数的偏导的结果要乘以y=sigmoid的导数,可能会使得sigmoid导数值很大或很小时趋近于0,导致其偏导数很有可能接近于0。而交叉熵对参数的偏导没有使用到sigmoid导数,就不像MSE那么容易出现梯度消失的问题。所以采用y=sigmoid输出函数和交叉熵损失函数结合计算。首先将人脸的面部信息进行分割学习,其目标分类任务可以表述为一个二分类的问题。对于每个样本Xi,我们使用交叉熵损失公式(3-2)进行二分类。(3-2)其中pi为上一层的网络检测输出的置信cof,置信度即为这里的变量yf(X)=1/(1+e-X)(3-3)随后利用y=sigmoid函数(3-3)来实现深度学习最重要的预测模型逻辑回归(LR)ADDINEN.CITE<EndNote><Cite><Author>王进</Author><Year>2012</Year><RecNum>50</RecNum><DisplayText><styleface="superscript">[45]</style></DisplayText><record><rec-number>50</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623046940">50</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>王进</author><author>郭靖</author><author>王卫东</author><author>方理刚</author></authors></contributors><titles><title>权重线性组合与逻辑回归模型在滑坡易发性区划中的应用与比较</title><secondary-title>中南大学学报(自然科学版)</secondary-title></titles><periodical><full-title>中南大学学报(自然科学版)</full-title></periodical><pages>343-350</pages><number>05</number><dates><year>2012</year></dates><urls></urls></record></Cite></EndNote>[45],LR模型的主要任务是给定一些历史的{X,Y},其中X是样本n个特征值,Y=f(X)的取值是{0,1}代表正例与负例,通过对这些人脸样本的学习,从而得到一个数学模型,给定一个新的X,能够预测出Y。也就是说为了检测训练的图片的特征点是否符合人脸,利用LR模型给定一个测试图片,看得到的图片提取的特征点是否能够识别人脸,其中的回归率F1所反馈的结果在0到1之间,回归率F1越接近1说明测试特征点越符合人脸。表3-SEQ表3-\*ARABIC1MTCNN框架训练数据Table3-1TrainingdataofMTCNNframework框架精度PRE召回率REC准确率MAP回归F1MTCNN98.4%89.7%92.4%94%经过数据集的准备和训练,以及利用sigmoid函数得到了MTCNN训练数据如表3-1所示,从表中可以可以看出训练的精度达到98.4%、召回率达到了98.7%,准确率达到了92.4%,线性回归率达到了94%。说明了训练结果的准确率和人脸识别率都符合人脸识别的准确性,同时回归F1也反映了能够检测出图片中的人脸。1.2.1二次训练我们在训练完MTCNN网络之后再使用Pytorch进行二次训练,这样做的目的时为了方便移植到硬件设备上,二次训练的整体步骤是在原先数据集存在的基础上,将voc格式的数据集进行转换,并将数据集划分为训练集和测试集,划分标准为8:2,再将数据集放在Pytorch的框架上进行训练,训练的配置文件照MTCNN修改了对应配置文件,本论文将MTCNN配置文件进行修改之后,配置与Pytorch训练使用的网络结构相同。在训练过程中,我们使用四核GPU进行训练和处理,每个显存大约占用4325MB的空间,训练时间为4天,我们设置的训练步数为6万,其中的batchsize(batchsize是在训练集中选择一组样本用来更新权值,一个batch包含的样本的数目,通常设为2的n次幂)因为网络较大选用64个样本数量为一个batch,训练采用Sigmod损失函数(也就是s型曲线函数,衰减率使用递减衰减值的方法),如图3-10和3-11为验证训练过程的损失梯度和损失率。图3-SEQ图3-\*ARABIC10训练损失梯度图图3-SEQ图3-\*ARABIC图3-SEQ图3-\*ARABIC11训练损失率Figure3-11Gradientoftrainingloss1.3人脸比对算法在MTCNN网络训练好之后,导出其训练好的engine文件。小车NANO可以利用winscp进行文件传输(将训练好的engine文件导入到系统tf卡中),接下来编写调用engine文件和摄像头拍摄到的图片进行人脸比对的相关算法,其MTCNN人脸检测算法只是用来检测一张图片中有多少张脸,并将脸部区域扣取出来。想要实现对一个人的精准识别,还需要对人脸的特征点提取并进行比对。其中人脸比对算法的基本原理是:将人脸面部的几何关键点信息进行一对一的比对,然后计算相似度,根据相似度判断人脸是否相互匹配,其先决条件为人脸的特征点检测(本文已经实现了MTCNN的人脸特征点检测,并利用Pytorch进行二次训练后移植到小车上)。本文就人脸比对使用了三种特征点比对算法进行特征对比,通过三种算法的识别对比结果和返回数据,采用最适合本论文硬件配置的比对算法。1.1.1哈希比对算法本论文使用hash算法进行人脸对比,按照OpenCV提供的算法example开发了一套基于Python代码进行了实验,其中主要采用的是均值哈希算法和感知哈希算法两种代表性的哈希算法ADDINEN.CITE<EndNote><Cite><Author>张鸣然</Author><Year>2019</Year><RecNum>53</RecNum><DisplayText><styleface="superscript">[46]</style></DisplayText><record><rec-number>53</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623047047">53</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>张鸣然</author></authors></contributors><titles><title>Hash算法</title><secondary-title>中国科技投资</secondary-title></titles><periodical><full-title>中国科技投资</full-title></periodical><pages>196-197</pages><volume>000</volume><number>002</number><dates><year>2019</year></dates><urls></urls></record></Cite></EndNote>[46],其测试效果并不是十分理想;在论文测试过程中,哈希算法在静态的图片集上测试效果较好,但是并不十分适用于动态的人脸采集,当出现人脸部分遮挡或者都佩戴眼镜时,会导致其识别失败,人头运动速度过快或者车辆抖动就无法匹配到人脸信息。在非自然背景条件和多人条件下,效果较差,环境对其影响较大;其中根据返回的n值也就是返回的相似值进行查看时,发现当两个人都配戴眼镜,或者脸部特征相似时,返回回来的相识值较近,因此无法利用相识度过大,设置比对和选择条件,进而无法实现对两个人的区分,也就无法实现人脸精准识别。哈希算法的人脸比对其具体步骤是先将灰度图转为浮点型图片,再进行dct变换,通过对人脸的区域检测框的区域像素做遍历计算ADDINEN.CITE<EndNote><Cite><Author>尉秀芹</Author><RecNum>54</RecNum><DisplayText><styleface="superscript">[47]</style></DisplayText><record><rec-number>54</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623047092">54</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author>尉秀芹</author></authors></contributors><titles><title>基于分块DCT和双向2DPCA的人脸识别</title></titles><dates></dates><publisher>辽宁师范大学</publisher><urls></urls></record></Cite></EndNote>[47],计算相似像素的数量,比较两张像素的对比度,计算向量和相似度,进而求出人脸相似度。哈希算法毕竟只对图片的像素进行操作,如果用于车载环境,环境方面无法适应,光线和人员位姿变化都会对哈希算法造成影响,最后在实验过程中利用hash人脸算法在该智能小车进行测试,其识别精度PRE只有45.4%,召回率只有50%,Map仅有43%,因此暂不考虑该算法的扩展和使用。1.1.2MTCNN+Facenet算法随后使用MTCNN+FaceNet融合算法ADDINEN.CITE<EndNote><Cite><Author>刘长伟</Author><Year>2020</Year><RecNum>52</RecNum><DisplayText><styleface="superscript">[48]</style></DisplayText><record><rec-number>52</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623047011">52</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>刘长伟</author></authors></contributors><titles><title>基于MTCNN和Facenet的人脸识别</title><secondary-title>邮电设计技术</secondary-title></titles><periodical><full-title>邮电设计技术</full-title></periodical><pages>32-38</pages><volume>000</volume><number>002</number><dates><year>2020</year></dates><urls></urls></record></Cite></EndNote>[48],其FaceNet主要用于验证人脸是否和之前暂存图片的为同一个人,其实这种方式本身最适合与车载人脸识别系统的,但在本文的硬件配置中存在不足。MTCNN加上FaceNet的主要思想是把采集到的人脸图像映射到一个多维空间,通过空间距离表示人脸的相似度。同个人脸图像的空间距离比较小,不同人脸图像的空间距离比较大。这样通过人脸图像的空间映射就可以实现人脸识别,其中采用是对于图像映射方法和基于triplets(三联子)的loss函数训练神经网络ADDINEN.CITE<EndNote><Cite><Author>甘天圣</Author><Year>2018</Year><RecNum>55</RecNum><DisplayText><styleface="superscript">[49]</style></DisplayText><record><rec-number>55</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623047128">55</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author>甘天圣</author></authors></contributors><titles><title>基于卷积神经网络的细粒度角膜炎图像分类研究</title></titles><dates><year>2018</year></dates><publisher>浙江大学</publisher><urls></urls></record></Cite></EndNote>[49],网络直接输出为128维度的向量空间,本身这种算法的精度是很好的,但是对于设备的要求较高,在本论文的研究过程中可以实现人脸的识别,但是识别的时间过长,同时由于设备原因还会导致设备重新启动等问题的出现,最终并没有采用这种算法,但是基于本设备的研究参数和过程都已经记录下来了,以便于后期算法比对。1.1.3Face++比对Face++人脸匹配主要通过提取多样的精细面部关键点进行匹配,识别面部的某几个关键点的信息ADDINEN.CITE<EndNote><Cite><Author>孟令军</Author><Year>2019</Year><RecNum>57</RecNum><DisplayText><styleface="superscript">[13,27]</style></DisplayText><record><rec-number>57</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623047219">57</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>孟令军</author><author>王静波</author></authors></contributors><titles><title>基于Pytorch和Opencv的人脸关键点检测</title><secondary-title>电视技术</secondary-title></titles><periodical><full-title>电视技术</full-title></periodical><pages>71-76</pages><volume>043</volume><number>014</number><dates><year>2019</year></dates><urls></urls></record></Cite><Cite><Author>曾家建</Author><RecNum>58</RecNum><record><rec-number>58</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623047265">58</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author>曾家建</author></authors></contributors><titles><title>基于深度学习的人脸关键点检测和人脸属性分析</title></titles><dates></dates><publisher>浙江大学</publisher><urls></urls></record></Cite></EndNote>[13,27],去映射其它面部重要关键点的位置,再去定位整个面部位置的信息,同时Face++本地还构建了三维重建的底层人脸库去匹配人脸信息,对人脸比对的结果进行输出。其匹配方法在于训练的CNN检测器对于面部和非面部的分类以及边界框回归和面部标志的定位。其中最主要的人脸检测算法识别所使用的损失函数和本文MTCNN检测人脸使用的损失函数相同,对人脸的边界框进行细致的划分,划分出人脸的区域和非人脸的区域,并对数据进行非线性回归,回归算法采用的是梯度衰减的方法:对于每个同类别的候选窗口,Face++预测它与真实标签值之间的差值并与IOU相比。其中学习目标可以被形容成为一个回归问题,对每个样本使用欧几里德损失ADDINEN.CITE<EndNote><Cite><Author>杨彪</Author><Year>2018</Year><RecNum>59</RecNum><DisplayText><styleface="superscript">[50]</style></DisplayText><record><rec-number>59</rec-number><foreign-keys><keyapp="EN"db-id="5dsv5dsexvesa9eaxe9pezpf9z5d5xvv509d"timestamp="1623047325">59</key></foreign-keys><ref-typename="Generic">13</ref-type><contributors><authors><author>杨彪</author><author>曹金梦</author><author>张御宇</author><author>吕继东</author><author>邹凌</author></authors></contributors><titles><title>加权卷积自编码长短期记忆网络人群异常检测方法</title></titles><dates><year>2018</year></dates><urls></urls></record></Cite></EndNote>[50](3-4)进行计算:(3-4)其中yi是从卷积神经网络中获得的回归目标,yi是样本对应的真实坐标。该真实坐标有四个坐标值,包括左上角坐标值、高度以及宽度值,因此Yi∈ℝ4。经过对区域欧几里德损失计算之后在于IOU相比之后,划分处人脸与非人脸区域,再将人脸区域的特征点坐标与训练的神经网络获得的人脸面部坐标进行欧几里德损失计算(式3-5)。(3-5)yilandmark是从卷积神经网络中获得的面部标志的坐标,yilandmark是第i个样本对应的真实面部关键点坐标。该真实面部关键点坐标包括左眼、右眼、鼻子、左嘴角和右嘴角等坐标,因此Yilandmark∈ℝ10。等到图片的特征点坐标后,就实现了对人脸的定位,随后在人脸面部关键点的比对过程中,进行检测基准处理:与边界框回归任务不同的是,线性任务处理更加看重损失精度问题,因此必须注意前期处理的数据的样本的均衡性和后期计算梯度下降的有效性问题,同时将面部信息要进行最小化处理。在移植程序之后进行实验,FACE++在线匹配算法会实时的返回给我们数据,在返回的人脸比对json中,可以分析和提炼出我们所需要的信息数据。从json串可以知道图片中人脸的长、宽和高等信息,其中最重要的就是返回的置信度(confidence),这是设备采集的人脸图片与之前暂存在文件夹中人脸图片的识别对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湛江市坡头区幼儿园教师招聘笔试参考试题及答案解析
- 2026年浙江省嘉兴市幼儿园教师招聘笔试参考题库及答案解析
- 2025年陕西省安康市幼儿园教师招聘笔试试题及答案解析
- 2026年鹰潭市月湖区幼儿园教师招聘笔试备考试题及答案解析
- 2026年沧州市运河区幼儿园教师招聘笔试备考试题及答案解析
- 2026年四川省雅安市幼儿园教师招聘笔试备考题库及答案解析
- 2026 三年级上册《秋天的果园》课件
- 2026年榆林市榆阳区街道办人员招聘笔试参考试题及答案解析
- 2026年十堰市茅箭区街道办人员招聘笔试参考题库及答案解析
- 2026年辽阳市太子河区幼儿园教师招聘笔试参考试题及答案解析
- 制冷设备安全检查标准流程
- 第5单元 单元教学设计 2026统编版三年级语文下册
- 《2026年》纪检监察室岗位高频面试题包含详细解答
- 公路机电安全培训课件
- 土地测量服务投标方案(技术方案)
- 2026年郑州黄河护理职业学院单招职业技能测试题库及完整答案详解1套
- 2024年全国职业院校技能大赛ZZ058 动漫制作赛项规程以及动漫制作赛题1-10套
- 车转租合同(标准版)
- 管道工程竣工验收报告范本
- 非遗宋锦课件
- 索尼摄像机HXR-MC2500说明书
评论
0/150
提交评论