根据人脸识别的四个步骤原理,展开项目详细论述

电子说

1.2w人已加入

描述

如今,人脸识别技术在我们生活中随处可见,无论是刷卡支付、考勤打卡、还是小区智能门禁,机场港口,都可能用到人脸识别。你走在街上可能会被摄像头拍下,并经过一系列人脸识别技术判断出你的身份。

一般来说,人脸识别技术,原理简单描述,主要如下:

1)建立一个包含大批量人脸图像的数据库

2)通过各种方式来获得当前要进行识别的目标人脸图像

3)将目标人脸图像与数据库中既有的人脸图像进行比对和筛选

按照人脸识别的技术流程,完成系统构建,大体需要经过四个步骤。

项目开始前,我们预想的总体设计思路,大概是这样的:

首先我们使用摄像头读取采集的图像,经过人脸检测模块框选人像,然后使用面部特征定位模块,对面部关键特征点进行标记,最后,使用人脸特征提取、比对模块进行人脸特征和比对。

下面,我们根据人脸识别的四个步骤原理,展开项目详细论述。

1人脸图像采集及预处理

通常采集人脸图像,有两种途径:人脸图像批量导入和人脸图像实时采集。预处理的目的是在系统对人脸图像的检测基础之上,对人脸图像做出进一步的处理以利于人脸图像的特征提取。

一般来说,识别系统可通过各种采集好的人脸图像,批量导入识别系统处理,或者通过调用摄像机、摄像头等拍摄设备,提前抓取需要采集的人脸图像。这里,我们选用笔记本电脑自带摄像头,完成前期人脸图像的采集工作。

2人脸检测

完成第一步图像采集工作,接下来就进入到图像检测阶段。

在一张人脸图像中,系统会精确定位出人脸位置和大小,在挑选出有用的图像信息,同时自动剔除其他多余的图像信息,来进一步保证图像采集的准确性。

这里我们选用VS封装SeetaFace人脸识别成dll文件,对5个面部关键特征点(两眼中心、鼻尖和两个嘴角)进行人脸检测、人脸特征点检测、提取的函数,以供后期LabVIEW调用。

最后,我们利用LabVIEW dll函数调用节点,把上一步封装好的人脸检测、特征提取和识别计算方法dll文件,封装成LabVIEW函数。至此,我们就完成了人脸识别LabVIEW系统图像采集软件部分的设计工作。

SeetaFace人脸识别引擎包括搭建一整全自动人脸识别系统所需的三个核心模块,即:人脸检测模块SeetaFace Detection、面部特征点定位模块SeetaFace Alignment以及人脸特征提取与比对模块SeetaFace Identification。

3人脸特征提取

到这里,我们就可以打开摄像头采集人脸图像。这一步主要针对人脸图像的一些具体特征提取,进行搜集建库。我们使用的是LabVIEW调用事前封装好的人脸识别函数,提取所需的人脸识别信息。

4人脸识别

我们在人脸识别系统,预先设定一个相似程度的数值,再将对应的人脸图像和系统数据库中的所有人脸图像进行比对。如果超过预设的数值,系统会将超过的图像输出,根据人脸图像相似程度、人脸身份精确筛选,可以是1:1,也可以是1:n。

比如,我们在系统中设置一个阙值0.7,系统比对后相似度大于0.7,就会自动认定为是同一个人并会在LabVIEW中输出反馈结果。

说到这里,人脸识别系统实现原理及工作流程,是否都已经掌握了呢?不能光说不练,在大概了解识别系统理论基础后,下面就要开始进入个人实践阶段咯!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分