基于FPGA的简单的人脸位置识别的实现

2019年01月20日 公司新闻 203 views

基于FPGA的简单的人脸位置识别的实现

1 人脸识别算法概述

    人脸识别算法是指在检测到人脸并定位面部关键特征点之后,主要的人脸区域就可以被裁剪出来,经过预处理之后,馈入后端的识别算法。识别算法要完成人脸特征的提取,并与库存的已知人脸进行比对,完成最终的分类。

人脸识别法主要集中在二维图像方面,二维人脸识别主要利用分布在人脸上从低到高80个节点或标点,通过测量眼睛、颧骨、下巴等之间的间距来进行身份认证。人脸识别算法主要有:

1.基于模板匹配的方法:模板分为二维模板和三维模板,核心思想:利用人的脸部特征规律建立一个立体可调的模型框架,在定位出人的脸部位置后用模型框架定位和调整人的脸部特征部位,解决人脸识别过程中的观察角度、遮挡和表情变化等因素影响。

2.基于奇异值特征方法:人脸图像矩阵的奇异值特征反映了图像的本质属性,可以利用它来进行分类识别。

3.子空间分析法:因其具有描述性强、计算代价小、易实现及可分性好等特点,被广泛地应用于人脸特征提取,成为了当前人脸识别的主流方法之一。

4.局部保持投影(Locality Preserving Projections,LPP)是一种新的子空间分析方法,它是非线性方法Laplacian Eigenmap的线性近似,既解决了PCA等传统线性方法难以保持原始数据非线性流形的缺点,又解决了非线性方法难以获得新样本点低维投影的缺点。

5.主成分分析(PCA)

PCA模式识别领域一种重要的方法,已被广泛地应用于人脸识别算法中,基于PCA人脸识别系统在应用中面临着一个重要障碍:增量学习问题。增量PCA算法由新增样本重构最为重要 PCS,但该方法随着样本的增加,需要不断舍弃一些不重要PC,以维持子空间维数不变,因而该方法精度稍差。

6.其他方法:弹性匹配方法、特征脸法(基于KL变换)、人工神经网络法、支持向量机法、基于积分图像特征法(adaboost学习)、基于概率模型法。

二维人脸识别方法的最大不足是在面临姿态、光照条件不同、表情变化以及脸部化妆等方面较为脆弱,识别的准确度受到很大限制,而这些都是人脸在自然状态下会随时表现出来的。三维人脸识别可以极大的提高识别精度,真正的三维人脸识别是利用深度图像进行研究,自90年代初期开始,已经有了一定的进展。三维人脸识别方法有:

1.基于图像特征的方法:采取了从3D结构中分离出姿态的算法。首先匹配人脸整体的尺寸轮廓和三维空间方向;然后,在保持姿态固定的情况下,去作脸部不同特征点(这些特征点是人工的鉴别出来)的局部匹配。

2.基于模型可变参数的方法:使用将通用人脸模型的3D变形和基于距离映射的矩阵迭代最小相结合,去恢复头部姿态和3D人脸。随着模型形变的关联关系的改变不断更新姿态参数,重复此过程直到最小化尺度达到要求。基于模型可变参数的方法与基于图像特征的方法的最大区别在于:后者在人脸姿态每变化一次后,需要重新搜索特征点的坐标,而前者只需调整3D变形模型的参数。

本次人脸的识别仅仅是人脸的位置识别。

2 FPGA的人脸位置识别的实现

具体实现步骤:

                   1,HDMI图像输入

                   2,RGB通道矫正

                   3,rgb2ycbcr颜色空间转换

4,ycbcr特征目标区域提取

5,图像二值化

6,行列计数器

7,二值图像区域边界计算

8,FPGA完成人脸区域的显示

9,HDMI完成图像输出。

2.1硬件平台

1 ECE-CV数字图像处理平台

本验采用ECE-CV开发板实现(板载xilinx k7-70t FPGA),硬件架构如上图1所示。实验条件如下表1所示。

表1 实验条件

类别

名称

数量

备注

硬件

ECE-EDAECE-CV

1

HDMI线

2

HDMI视频源

1

可以输出1080PHDMI视频流设备

HDMI接口显示器

1

支持1080P的显示屏

软件

Vivado  Design Suite2018.1

1

视频流处理IP

1

2.2FPGA软件架构

图2 FPGA软件架构

如图2所示,本实验均采用ip连接来代替代码编辑,图像输入为1080p@60hz的分别率。

2.3 实验结果展示

如图3所示,我们下板完成了《》的下板实现,具体效果请欣赏视频。

图3 人脸位置识别的实现

视频欣赏

2.4实验结果分析

仅完成了简单的人脸位置定位,对于人脸位置识别我们还可以对二值图像进行腐蚀和膨胀去除较小的非目标区域已达到更精准的人脸位置识别。

发表评论

发表评论:

PHONE