• 收藏
  • 加入书签
添加成功
收藏成功
分享

基于MATLAB优化的人脸识别

邓巧
  
风采媒体号
2023年6期
四川轻化工大学计算机科学与工程学院 四川宜宾 644000

打开文本图片集

1.摘要

人脸识别是人工智能技术中,极为重要的一环,在军事,医疗,卫生保健中都有广泛的应用前景。本文主要通过MATLAB软件通过对照片进行形态学处理,通过进行灰度处理,滤波处理,二值化,形态学边界提取,横向腐蚀,标记最大连通域等操作,进而成功识别出图像中人脸部分。同时对图像进行细节处理,降低图像的噪声点,增加对人脸面部特征点的有效提取,从而识别面部区域。

关键词:MATLAB 人脸识别 降噪处理

2. 工作流程

本文所介绍的人脸识别技术实现如图一所示。载入图片后,对图片进行降噪处理,将图片所代表的三维矩阵转化为二值化图像的0-1矩阵,从而降低负载运算量。通过图像腐蚀操作,得到人物边缘,再对图像进行优化处理,去除无关因素对面部识别的影响。得到人脸部分的连通区域,通过对背景的对比,最终识别出图像中的人脸部分并进行输出。

3.图像处理

3.1 图像准备

本文测试图片大小为88.3KB,导入MATLAB读取后,大小为 405*300*3的矩阵。

图像如图二所示:

3.2灰度处理

灰度处理是将彩色图像转化为灰度图像的过程。彩色图像中每个像素点的颜色将有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以的变化范围为(0*0*0)-(255*255*255),共1600多万种,在部分过程中,运算量和运算时间会极其庞大。灰度图像是R、G、B三个分量相同的一种特殊的图像,其图像任意一个像素点的变化范围为255种,较彩色图像相比变化范围由255*255*255减低为255,在运算量级上降低了很多,所以一般在数字图像处理中会先将各种格式的图像转变成灰度图像,以便减少后续图像的计算量。但是灰度图像与彩色图像一样,都反映了整幅图像的整体特征和局部的色度以及亮度等级的分布与特征。

通过灰度函数处理图像,处理结果如图三所示:

3.3均值滤波处理

均值滤波可以模糊部分图像,以便得到感兴趣物体的粗略描述,也就是说,去除图像中的不相关细节。其中“不相关”是指与滤波器模板尺寸相比更小的像素区域,从而得到图像一个整体的认知。即为了对感兴趣的部分得到一个大致整体的描述的模糊图像,忽略细小的细节,也就是将计算某一像素点及其周围像素点的平均数,并使用平均数代替其像素点,用大体特征取代局部特征。

原理公式如下:

(1)

g(x,y)为该点邻域的中心像素,n与选定的模板系数相关。一般选取3*3的邻域模板,即n=9。表现形式如下单位矩阵所示

经过均值处理后如图四所示:

3.4 二值化处理

二值化处理是将图像上的点的灰度值赋值为0或255,使整个图像表现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阈值选取,仍然可以反映图像整体和部分局部特征的图像。这一步处理有利于对图像进行后续处理,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的其余数值,就使得图像处理变得简单,并且对数据量处理简单,运算量小。在使用中,为了得到理想的二值化图像,通常采用封闭、连通的边界定义不交叠的区域等方法处理。将所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值赋值为255,反之,小于阈值的像素被排除在物体区域以外,灰度值为0,通常表示背景或者例外的物体区域。

原理如下:

(2)

g(x,y)为该点邻域的中心像素,T为设置的阈值。当小于等于阈值使,即为0,大于阈值,即为1。

通过二值化函数处理图像,结果如图五所示

3.5形态边缘提取

在大多数图像处理中,为了降低照片运算量,会将图像转为二进制图像,之后进行其他操作。因为二进制图像仅为黑白两种色调,像素点为0或255两种情况,在实际操作中,为了能够标记出人脸面部,通常对图像进行腐蚀操作,从而得到图像中人脸的边缘部分,边缘部分中连通区域即为人脸部分,由此便可得到人脸的大致区域及对应像素点的相应数值。···

腐蚀操作是形态学中图像降噪处理的一种方式,主要作用是消除物体的边界点,使边界向内收缩,可以将小于固有结构元素的物体去除。可将两个有细小连通区域的物体分开。该方法可以用来去除毛刺,噪声点等。如果两个物体间有细小的连通,当结构足够大时,可以将两个物体分开。类似于无穷大的数和1进行比较,1相对于过小,可以认为是等价于0,是一样的操作。

腐蚀原理如下:

BW为图像腐蚀之后的图像矩阵,是S完全包括在g(x,y)中的S的当前位置的集合。S是预先选的的腐蚀结构元素,可取0或1,可组合任意形状,但需要存在一个中心点,g(x,y)是二值化处理之后的图像矩阵。

图六中黑色区域数值为1,白色为0,图七腐蚀结构元素黑色区域数值为1,白色为0,组合为下三角形状,经过腐蚀操作后得到图8,其中黑色区域数值为1,白色区域数值为0,其处理结果为6*6的由0-1组成的数值矩阵,相比二进制图像来说牺牲部分特征,来获得最大特征,从而降低了图像的计算量。

通过调用imerode腐蚀函数得到形态边缘图像,结果如图9所示:

从两图对比中,发现人物头发及眉毛,因为颜色与背景差距较大,被很好的提取出边缘图像,但是形态边缘中图像上半部分存在佩戴眼镜造成的误差,使的连通区域中包含了眼镜造成的影响,如图10红框所圈范围所示。

3.6 优化处理

3.6.1 图像优化

避免面部饰品及眼睛对人物边缘带来的影响,需要对图像进行优化处理。对获取的边缘图像进行加粗,进而对部分极小的连通区域进行填充处理,从而有效规避了误差。眼镜片或耳环等饰品在这一步处理后,对图像的影响会减少很多,以为后续操作提高准确度。

进行填充极小连通区域时,按照人脸的面积进行设定相对参数,对所圈定面积的的连通区域进行填充,结果如图11所示,填充效果良好,去除眼镜框架带来的连通影响,已经成功捕获到面部大部分区域。因为存在衣物颜色和面部颜色接近的问题,故还需进一步处理优化

3.6.2 区域优化

在实际生活中,许多照片存在面部颜色和衣物颜色相接近的问题,对面部识别的精度存在影响。通常图像区域分布上按照纵向分布,造成像素矩阵中,会出现数值相同或接近的情况,在寻找最大连通区域(人脸)的过程中,可能会造成区域的错误判断,由于颜色相近,衣物和人脸识别都为连通区域。为避免这种错误,故对图像进行横向膨胀和腐蚀处理,降低衣物对人脸的影响。

腐蚀操作和3.5中陈述原理一致,故不再赘述。

膨胀操作是利用固定卷积模板对原有图像边缘进行扩充处理,来消除图像内部坑点,也是一种降噪的方式,一般和腐蚀操作联系使用,以此获取图像的平滑点。

原理公式如下:

网格示意图如图11,图12,图13过程所示,通过膨胀卷积,扩大边缘部分。

3.7 消除多余非连通域和寻找最大连通域

在经过以上处理步骤过后,图像降噪已经处理完毕,同时面部大致区域已经确定,但图像中因为脸部颜色问题,仍然存在一些小面积的连通区域,在识别面部过程中,这些小面积连通区域会对面部连通区域造成影响,影响准确度。因此通过将图像分为小的各个区块。在各个区块内,判断二值化图像每个像素点内白色和黑色的比例(0和1的比例),若比例大于0.7,将这一像素点赋值为0,即白色,否则赋值为1。这一步骤,可以消去原本较小区域的边缘,使这一区域变为开放区域,降低后续寻找最大连通区域的计算和难度。

最后结果如图15所示

4.实验结果与分析

本文仿真实验通过对图像进行形态学处理,降低图像噪声,很好的验证了理论的实践性,操作时间较小,识别效率高,准确率较高,同时也避免了化妆或衣物对识别结果的干扰,具有较好的鲁棒性。在肤色与背景颜色接近时,识别准确度不够理想,实验基于原有图片进行识别,若差异较大,将无法正确识别,故在实践中具有一定局限性。

本文实验基于形态学特征进行面部识别,存在一定的局限于不足,若能加入一定的机器学习或人工智能算法,准确度与运算时间将会进一步优化。

参考文献:

[1]陶霖密,彭振云,徐光祐.人体的肤色特征[J].软件学报,2001(07):1032-1041.DOI:10.13328/j.cnki.jos.2001.07.010.

[2]李华胜,杨桦,袁保宗.人脸识别系统中的特征提取[J].北方交通大学学报,2001(02):18-21.

[3]张雯,王文伟.基于局部二值模式和深度学习的人脸识别[J].计算机应用,2015,35(05):1474-1478.

[4]张洁玉,赵鸿萍,陈曙.自适应阈值及加权局部二值模式的人脸识别[J].电子与信息学报,2014,36(06):1327-1333.

[5]郑秋莎,周威.基于MATLAB的宿舍门禁人脸识别系统设计[J].河北农机,2019(09):62-63.DOI:10.15989/j.cnki.hbnjzzs.20190506.001.

作者简介:

牛天明(2002-),甘肃定西人,大学本科,现就读四川轻化工大学

邓巧(2002-),四川宜宾人,大学本科,现就读四川轻化工大学

作者简介:牛天明(2002.1.30-),男,汉族,甘肃定西,本科在读。研究方向:大数据,机器学习。

*本文暂不支持打印功能

monitor