APP下载

人脸器官精准定位方法研究

2022-07-21邱子萱高天王蕾

机器人技术与应用 2022年3期
关键词:人脸滤波器灰度

邱子萱 高天 王蕾

(东华理工大学信息工程学院,南昌,330013)

0 引言

近些年来,以人脸面部作为处理对象的研究已经成为上述计算机领域的一个热门话题。这些学科对人脸的研究主要包括五个方面:人脸检测、面部特征的提取、人脸识别、三维人脸重建、面部表情动画。其中,人脸检测以及面部特征的提取是其他三项研究的基础,如果不能正确地在收集到的图像中检测出人脸并且准确提取人脸面部特征,那么人脸识别、三维人脸重建、面部表情动画等方面的研究相对复杂一些。本文主要研究面部特征提取方法——在人像中提取出重要的人脸器官。

1 人脸器官定位与分割技术的现状

灰度图像分割和彩色图像分割是两种主要的图像分割,两者在分割的原理上是大致相同的,都是基于空间上的邻近性和像素值上的相似性来进行分割[1]。一些研究者通过研究灰度图像分割技术,并在其基础上进行了改进,使之能够作用在彩色图像上,也就是彩色图像分割。把图像中某些具备特殊意义的不同区域分割开来,使得这些区域在元素集上互不相交,并且每一个区域都要满足同质性和唯一性,这就是图像分割。

对灰度图像来说,区域内部的像素大多具有灰度相似性,而在区域边界上大多具有灰度不连续性,这种不连续体现在灰度值的剧烈变化上。图像分割的数学表达可作简单的作如下描述[2]:

2) 是连通的区域,在该区域的任意两点之间都一定存在着某条或多条连通的路径;

最常用的图像分割方法有两种:基于直方图的分割方法;基于邻域的分割方法。基于直方图的分割方法包含阈值分割和聚类等,传统的直方图分割主要是利用通道对目标图像进行处理,得到需要分割的图像的直方图并进行阈值选取,再使用已经选择好的阈值对给定的图像进行分割。基于邻域的分割方法包含边缘检测和区域生长等,其中基于边缘的图像分割算法是一种经典的分割方法。

2 人脸几何特征与图像格式分析

近年来,人脸识别技术已经火遍了大江南北,人脸器官定位算法的研究也伴随着人脸识别的发展而发展。国内外许多研究团体和个人对相关技术进行研究,特别是对于眼睛的定位,已经提出了许多方法。这些方法大致可以分为两类,一类是基于先验规则的器官定位,另一类是基于统计模型的训练方法。本文用的是基于先验规则的器官定位,通过人们对人脸器官几何特征的大量分析经验和研究,为程序加入先验知识用以确定人脸图像中人脸器官的准确位置。

2.1 距离关系

基于人类对人脸和人脸图像的了解和总结,笔者可以获得大量的经验规则[3]。在人脸图像中,眼睛、嘴巴、鼻子等地方的灰度分布通常是低于周围区域的;并且人脸的器官位置分布比较均匀,有较好的对称性。图1是人脸图像中眼睛,鼻子,嘴巴的关系图。

图1 人脸器官分布模型

如图1,设右眼中心点为RE,左眼中心点为LE,两眼中点为Z,嘴巴中心点为M,鼻子中心点为N,用Xle、 Xre分别表示左眼、右眼中心点的横坐标,Yle、Yre分别表示左眼、右眼中心点的纵坐标,Xm、Xn、Xz分别表示嘴、鼻、两眼中点的横坐标,Ym、Yn、Yz分别表示嘴、鼻、两眼中点的纵坐标,则眼睛、鼻、嘴的几何关系可以用以下算式表示:

2.2 脸长与脸宽标准比例

三庭五眼是指人脸最美比例是纵向长为3个庭长,横向宽度为5个眼宽。三庭是指脸的长度比例,将脸纵向分为3个部分,每个部分等分,从发际线到眉骨为一庭,从眉骨到鼻尖为一庭,从鼻尖到下颚,每一庭占脸部的三分之一(如表1)。五眼是指脸的宽度比例,以眼睛横向长度为单位,将脸从左侧发际到右侧发际横向分为5个部分,两眼之间有一眼的间隔,左右发际到眼睛边缘有一眼的间隔[4](如表2)。

表1 人脸三庭比例表

表2 人脸五眼比例表

图2 为三庭五眼具体的划分示意。

图2 左侧为三庭示意图,右侧为五眼示意图

3 人脸图像的预处理

在实际应用中,图像可能会有各种各样的噪声,这些噪声可能是在传输或量化过程中产生的,也可能是在拍摄时产生的,存在于图像数据中的一切不必要或多余的干扰信息都可以看作噪声。在人脸分割时,为了具体器官分割时不被噪声所影响,就需要先对图像进行预处理。

3.1 人脸图像进行灰度化

一般来说,人脸图像有两种不同形式:彩色图像和灰度图像。其中,彩色图像的组成元素,即像素点,是通过混合红(R)、蓝(B)、绿(G)这三种颜色来显示真实色彩,而普通图像中不同的颜色是由不同比例的 R、G、B 三种颜色构成的[5]。当R、G、B三个分量的数值相同时,就是常见的灰度图像了,灰度图像的灰度级总共为256级,其中0为黑,255为白。

本文为了使人脸器官区域分割效果更好,将人脸图像大小调整到高度为100,宽度按同比例缩小。如果图像高度小于100,则不调整大小。同时将彩色图像转化为灰度图像,其代码使用平均值法完成图像的灰度化,即将彩色图像中的三个分量的亮度求和再除以3得到灰度图像。

3.2 人脸图像的空间滤波处理

空间滤波方法是图像处理领域主要应用的方法之一。滤波一词来自频率域,指的是通过或否决某些频率的分量。空间滤波器,也被称为模板,由邻域和被该邻域包围的像素所需要执行的预定义操作构成。

从实际效果上来看,可以把空间滤波器分为两种,一种是锐化空间滤波器,另外一种是平滑空间滤波器。锐化滤波器用来突出灰度的有较大变化的部分,平滑是平均处理,类似空间积分。因此,可以利用空间微分进行锐化处理。

3.2.1 平滑处理

对图像进行模糊处理能一定程度上降低噪声,这就是常用的平滑滤波器。图像的噪声滤波器有许多种类,根据滤波器的性质可以将它们分为线性滤波器和非线性滤波器。

均值滤波器采用的是线性滤波,在很多情况下,对降低噪声都是有效果的,但是大多数线性滤波器都是低通滤波器,当这种滤波器在将噪声变模糊的时候,图像的边缘在这个过程中也变得模糊不清。

平滑滤波器有以下几种较为常见的模板:

中值滤波器采用的是非线性滤波,中值滤波器是在图像中取一个像素点,将这个像素点周围的一个正方形区域的所有像素的灰度值全部取出来;将这些取出来的像素灰度值进行排序,然后取这些像素灰度值的中间值当作这个像素点的灰度值 (如果有偶数个像素,则取中间两个灰度值的平均值)。中值滤波器的目标是去除点状噪声,而且中值滤波在清理噪声时会注意保护图像的边缘不被模糊,也就是说,在保护边缘的前提下去除噪声。

K近邻均值滤波器也是一种具有边界保持的平滑滤波器,相较于均值滤波器,其添加了一个用于平滑非边界点的选择,即以需要处理的像素点为中心,划分一个边长为n的正方形区域,选取和需要处理的像素点的灰度差值为最小的K个像素进行均值滤波。K近邻均值滤波的处理结果和中值滤波处理的结果较为相似,但是比中值滤波要更突出细节边界。

3.2.2 锐化处理

锐化是通过增强高频分量来减少图像中的模糊,增强图像细节边缘和轮廓,增强灰度反差,有利于后期对目标的识别和处理。本程序使用Sobel算子对图像进行锐化处理。

一般滤波器模板的长宽都是奇数,对称中心对准需要处理的像素点。因此,可以将差分近似如下:

Sobel算子幅度表示为:

所以,Sobel算子的滤波器模板可表示为两个滤波器模板:

当突出垂直边缘时使用如下模板:

当突出水平边缘时使用如下模板:

因为图像锐化的多种方法大都可以采用两个滤波器模板表示,只是滤波器模板的大小和系数不同,因此,可设计一个适用两个3×3模板的灰度图像锐化处理函数。

3.3 灰度投影法

3.3.1 灰度积分投影

灰度积分投影是一种经常被用到的方法,它有两种投影方式,一种是垂直积分投影,另外一种是水平积分投影。

把每行的每一个像素的灰度值逐一加起来,然后将图像的像素行数作为y轴的值,每一行的像素的灰度值的总和作为x轴的值,就能做出来水平积分投影直方图,如图3所示,将直方图中每条线段的顶点连接起来形成的曲线就是水平积分投影曲线。

图3 水平积分投影

假定 是给定图像中的某个点 处的灰度值,且 的范围为 。用数学表达式来表现水平积分投影为:

把每列的每一个像素的灰度值逐一加起来,然后将图像的像素列数作为x轴的值,每一行的像素的灰度值的总和作为y轴的值,就能做出来垂直积分投影直方图。

将直方图中每条线段的顶点连接起来形成的曲线就是垂直积分投影曲线,当y的取值范围为用数学表达式表示垂直积分投影为:

3.3.2 灰度微分投影

与灰度积分投影类似,灰度微分投影同样有两种投影方式,一种是垂直微分投影,另外一种是水平微分投影。

将图像每行的每一个像素的灰度值与其相邻像素的灰度值相减,再求绝对值,再将这些绝对值逐一加起来,最后以像素行数为y轴的值,每一行求出来的绝对值的总和作为x轴的值,就能做出水平微分投影直方图,如图4所示。

图4 水平微分投影

将直方图中每条线段的顶点连接起来形成的曲线,就是水平微分投影曲线。如 的范围为 ,用数学表达式来表现水平微分投影为:

将图像的每列的每一个像素的灰度值与其相邻像素的灰度值相减,再求绝对值,再将这些绝对值逐一加起来,最后以像素列数为x轴的值,每一行求出来的绝对值的总和作为y轴的值,就能做出来垂直微分投影直方图。

将其每条线段的顶点连接起来形成的曲线,就是垂直微分投影曲线。当y的取值范围为,用数学表达式来表现垂直积分投影为:

4 人脸器官分割

4.1 人脸眼部区域提取

在人类的脸上有4个十分明显的器官,分别是眼睛、鼻子、嘴巴、耳朵,在这4个器官中,眼睛是人脸图像器官分割最重要的器官。如果能准确确定眼睛的位置,那么提取其他面部器官也能轻松一些。

目前较为常用的人眼定位方法有以下几种:模板匹配法、边缘检测法、灰度投影法等。本程序通过边缘检测和灰度投影来确定人眼区域的准确位置。

人眼区域定位的具体流程如图5所示。

图5 人眼区域定位流程图

人眼区域在人脸区域中有一种显著的特征,就是在水平方向上灰度差值较大,也就是在水平方向上的灰度变化频率较高。例如,一般人眼的灰度变化为面部灰色—暗眼眶—眼白—黑眼珠—眼白—暗眼眶—面部灰色—暗眼眶—眼白—黑眼珠—眼白—暗眼眶—面部灰色。进行处理前,先突出眼睛的特征,即突出垂直边缘。使用改进Sobel算子的滤波器模板对人脸图像突出垂直边缘。

然后对突出垂直边缘的图像进行灰度微分投影,并画出投影曲线,如图7中右侧图像为灰度微分平均投影曲线。

图7 灰度微分平均投影

从图7中可以看出,投影曲线中最大值附近就是人眼的水平位置。为了后续处理方便,可以将投影曲线进行平滑处理。

当确定了眼睛水平线位置之后,还需要确定两眼的垂直位置。根据两眼与中间鼻梁相比的特点,可先将图像的水平边缘凸显出来,就和突出垂直边缘一样,使用改进Sobel算子的滤波器模板。

为了后续分割准确,经过实验可以得出,应该先把突出水平边缘的图像做平滑处理。图像平滑分为均值滤波与统计排序滤波,而均值滤波又包括算术均值、几何均值、谐波均值、逆谐波均值,这里采用算术均值滤波。

设 表示中心在处,大小为m×n(m,n都是奇数)的矩形子图像窗口(邻域)的一组坐标,在点(x,y)处的图像g的值,就是计算 中的算术均值:

也可用均值滤波模板表示,3×3模型如下:

由图8可见,眼睛、鼻子、嘴都有明显的水平边缘。为了分割眼睛的区域,需确定眼睛的垂直位置。本程序分割的图像是人脸图像,图像高度与人脸高度近似,故可以定义人眼的半高度为图像高度的十五分之一。

图8 突出水平边缘并平滑

对人眼的上下边界区域内的突出水平边缘的图像进行垂直积分投影,可确定人眼的垂直位置。图9为垂直积分投影结果。

从图9可知,离中心轴最近的极小值是两眼中心垂直位置,在其两边的大值就是眼睛的垂直位置。因此需要计算曲线的所有极小值位置与极大值位置。

人眼区域已经定位完成后,可以开始分割。图10为人眼区域分割结果。

图10 眼睛分割图像

4.2 人脸鼻子区域提取

图11 鼻子区域定位流程图

在人眼的下部,对突出垂直边缘的灰度图像(图6)中两个眼中间的区域进行水平积分投影。如图12所示,鼻子水平位置是第一个极大值位置。

图6 突出垂直边缘的人脸图像

图12 鼻子部位积分投影图像

确定鼻子水平线后,通过人脸五官特征关系即可分割鼻子区域,图13为分割结果。

图13 鼻子分割图像

4.3 人脸嘴区域提取

在鼻子的下部,对突出水平边缘的灰度图像(图8)中两个眼中间的区域进行水平积分投影。如图14所示,嘴的水平位置是第一个极大值的位置。

图14 嘴区域积分投影曲线

确定了嘴的水平位置后,通过人脸五官特征关系可以较为容易地确定嘴的范围。图15为眼鼻嘴部的分割结果。

图15 眼鼻嘴分割图像

将人脸器官都分割出来后,将器官区域恢复为原图像并显示。图16为分割效果。

图16 分割效果图

5 总结

由于在人脸器官分割领域,其预处理和人脸器官提取方面的研究还存在较大的提升空间,本文通过较为简单的方法制作了一个人脸器官分割的程序。

本文详细介绍了人脸五官特征关系、人脸预处理和人脸器官分割三大部分,具体完成的工作如下:首先描述了人脸器官之间的几何关系;其次是对人脸图像的预处理,首先对人脸图像进行灰度化并调整大小,然后对比了多种平滑滤波器,最终选择算术均值滤波器来对人脸图像去除噪声,再使用改进的Sobel算子对图像进行锐化处理,突出图像的垂直边缘和水平边缘;最后,整合所有信息,通过灰度投影确定人眼、鼻子、嘴的水平位置和人眼的垂直位置并进行分割。实验表明,当图像分辨率不够时,积分投影的曲线较为平缓,极大值和极小值点很少,会导致鼻子和嘴巴的水平线位置出错,但总的来说本方法的分割效果还是不错的,能够以最简洁的方法解决人脸分割问题,较为实用。

猜你喜欢

人脸滤波器灰度
采用改进导重法的拓扑结构灰度单元过滤技术
有特点的人脸
一起学画人脸
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Arduino小车巡线程序的灰度阈值优化方案
从滤波器理解卷积
三国漫——人脸解锁
开关电源EMI滤波器的应用方法探讨
一种微带交指滤波器的仿真
基于TMS320C6678的SAR方位向预滤波器的并行实现