分享

基于年龄变化的人脸识别

 GXF360 2017-08-10

摘 要:本文基于对数字图像处理问题的研究,建立了图像预处理模型与图像相似度计算模型,同时从轮廓检测与提取和特征识别方面对模型进行了修正。第一,在图像预处理模型中,本文采用Niblack二值化算法对人脸斑点、肤色和皱纹等一些皮肤细节部分进行滤波处理,通过设置阈值来除去皮肤细节等问题,实现对图像特征区域的粗略提取。第二,在边缘检测模型中,本文采用的是高斯滤波和拉普拉斯边缘检测算法相结合的方法,使用高斯—拉普拉斯算子对图像实行边缘检测,通过检测得到进而获取人脸的轮廓。第三,在图像相似度计算中,本文建立了基于SVD奇异矩阵分解的PCA主成分分析模型,实现对图像特征向量的提取,然后采用巴氏距离算法计算人脸轮廓图像相似度。

关键词:Niblack二值化算法;边缘检测;主成分分析;巴氏距离算法

在计算机和多媒体技术高速发展的当今世界,关于人脸识别的问题从来都是很具有研究性的课题。对于一个人从小到大的过程, 如果没有整容的经历, 那么这个人年轻时和年长时的面部总会保留很大的相似性,本文据此特点进行研究分析。

1 图像预处理

Niblack二值化算法可以去除图像中的人脸斑点和皱纹等的干扰,从而能够比较粗略地提取出人脸的特征区域。

该算法的基本原理就是:对于图像中每一个像素点,在它的邻域内,计算出相应的阈值,然后二值化处理。将中心点以及其领域r×r范围内二值化后的结果为b(x,y),g(x,y)为中心点的灰度值,算法过程如下:

(1)首先计算中心坐标r×r范围内均值灰度m(x,y)与标准方差s(x,y),然后根据方差和均值灰度计算出中心点的阈值,如下式

T(x,y)=m(x,y)+k·s(x,y)

(1)

(2)根据均值灰度、标准方差和上式计算的阈值,将中心点二值化可得:

(2)

接下来把下一个点作为中心点,重复上述步骤,并绘出灰点直方图。幼年期和青年期人脸图像原始灰度图、灰点直方图、Niblack二值化和二值化对比如图1、图2。

图1

图2

2 边缘检测与轮廓提取

本文采用将高斯滤波和拉普拉斯边缘检测算法相结合的方法,用高斯—拉普拉斯算子对图像实行边缘检测,实现人脸的轮廓的获取,具体过程如下。

图像的边缘处灰度值函数的拉普拉斯计算为:

2f=div(▽(注:div为散度)

(3)

在图像边缘处,如果f(x,y)的拉普拉斯运算产生零点,即可判断为图像的边缘。在经过边缘检测之后,将提取的轮廓用于下一步相似度求解。

3 相似度求解

在统计中,巴氏距离算法不仅可以测量相似度,还与衡量两个物品之间的重叠量的巴氏系数息息相关。

巴氏距离的定义如下:

DB(p,q)=-ln(BC(p,q)

(4)

其中,BC是巴氏系数,通过巴氏系数可反映出p和q间的巴氏距离,巴氏距离越接近于1,两幅图像的相似度越高。

通过MATLAB得出灰度直方图对比结果如图3所示,可以发现两张图片的灰度直方图分布基本一致。

图3 幼年期与青年期灰度直方图和相似度计算

据此,进一步对两张轮廓照片进行量化,并进行定量求解相似度,重新使用MATLAB求解得结果:HistDist=0.9519。

4 结语

人脸通常是一张图像的重要信息,对于一个人从小到大的过程,如果没有整容的经历,那么这个人年轻时和年长时的面部总会保留很大的相似性,本文所述方法正是利用这一特点实现了基于年龄变化的人脸识别。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多