基于边缘信息投影定位镜架横梁的人脸图像眼镜检测方法与流程

文档序号:12125784阅读:478来源:国知局
基于边缘信息投影定位镜架横梁的人脸图像眼镜检测方法与流程

本发明属于图像处理和计算机视觉领域,具体涉及一种基于边缘信息投影定位镜架横梁的人脸图像眼镜检测方法。



背景技术:

近年来,生物特征识别技术被广泛应用到很多领域,人脸识别技术是生物特征识别技术研究的重要课题之一。当前,人脸识别技术已经取得了重大的进步,但是人脸识别技术的性能仍然受到饰物、姿态、表情及其他复杂因素的影响。眼镜是面部佩戴最为广泛的饰物,经研究发现带框眼镜对人脸检测和识别的准确率影响极为严重。眼镜检测在模式识别和图像处理领域有着广泛的应用前景,具体应用如,人脸识别、出入境证件照检测、上传照片在线检测等。因此,在人脸图像中检测人脸是否佩戴眼镜得到了众多研究人员的关注。

目前,检测人脸图像是否佩戴眼镜的方法有以下几类。第一类方法是通过分析眼镜区域几何特征来判断是否佩戴眼镜的方法。Yoshikawa等人(Glasses frame detection with 3d hough transform International Conference on Pattern Recognition,IEEE,2002)在文中通过研究了眼镜周围的边缘特征和几何特征,提出一种可变形轮廓的方法来检测眼镜的存在,但是这种模型的建立要考虑的变量很多;Wu等(Automatic eyeglasses removal from face images,PAMI,2004)建立了戴眼镜人脸图像和它对应的不戴眼镜的人脸图像的联合概率分布模型,并通过这个模型来合成不戴眼镜的人脸图像。这种方法需要精确定位15个特征点,在这一点上,对于无框眼镜的定位非常困难;Jiang等(Towards detection of glasses in facial images,ICPR,1998)利用眼镜周围边缘信息的六个特征来判断眼镜有无并将这六个特征组合起来改善检测效果,这些特征分别位于两个眼睛中心的鼻梁处以及两个眼睛下方的区域,该方法对于眼睛定位的结果非常敏感。第二类方法是基于相对坐标定位感兴趣区域的方法。任明罡等人(基于人脸图片边缘信息的眼镜检测方法,软件导刊,2014)根据鼻梁在人脸图像中的相对坐标定位鼻梁区域,并据此进行眼镜的检测。该方法能避免在检测过程中受到光照、皱纹等因素的影响,但是该方法对于鼻梁区域的定位在操作过程中有极大的不确定性。第三类方法是统计学习的方法。Jing等人(Glasses detection for face recognition using bayes rules,ICMI,2000)提出基于贝叶斯法则的眼镜定位方法,该方法根据每个像素邻近区域的特征并结合学习到的眼镜特征来确定该像素是否属于眼镜区域;Wang等人(Improvement of face recognition by eyeglasses removal,In Proceedings of the Sixth Conference on Intelligent Information Hiding and Multimedia Signal Processing,2010)考虑到眼镜和周围像素的对比度明显,利用主动外观模型AAM方法直接提取眼镜边框,从而定位眼镜且提取眼镜周围区域的颜色、梯度等特征信息。基于统计学习的这类方法需要对大量图像进行特征提取并对模型进行训练才能得出结果。



技术实现要素:

本发明的目的是提供一种基于边缘信息投影定位镜架横梁的人脸图像眼镜检测方法,解决了现有方法在检测人脸图像是否佩戴眼镜时考虑变量较多,无法精准的定位目标区域以及需要对大量图像进行训练的问题。

本发明所采用的技术方案是,基于边缘信息投影定位镜架横梁的人脸图像眼镜检测方法,根据人脸图像定位嘴部区域,以嘴部区域确定镜架横梁中心的x方向位置,以人脸图像的边缘信息图的像素横向投影情况来确定镜架横梁中心的y方向位置,根据镜架横梁中心的x和y方向位置确定镜架横梁区域;在镜架横梁区域中搜索横线,若镜架横梁区域中包括横线,且横线长度近似等于镜架横梁区域x方向长度,则判断人脸图像配戴眼镜;否则,判断为未佩戴眼镜。

上述以嘴部区域确定镜架横梁中心的x方向位置具体为,以嘴部区域x方向的中心作为镜架横梁中心的x方向位置。

定位嘴部区域的方法为,将原始人脸图像转到YCbCr颜色空间,采用高斯模型在YCbCr颜色空间以式(1)计算人脸区域中为嘴部区域的相似度,并将其转为二值图像来获取嘴部区域;

P=exp((-0.5)×(x-M)′inv(cov)×(x-M)) (1)

式(1)中,cov和M分别表示色度向量的协方差矩阵和均值向量;其值分别为:

M=(156.5599,117.4361)T (2)

上述以人脸图像的边缘信息图的像素横向投影情况来确定镜架横梁的y方向位置具体为,对人脸图像的边缘信息图按照公式(4)进行横向投影,获取每行像素之和Rj,再按照公式(5)确定镜架横梁y方向的位置;

Index(k)=find(Rj>μ×max(R))(j=1,2,3…,m;k=1,2,3…,s) (5);

式(4)中,f′(i,j)表示图像边缘检测图像f′(x,y)的每点像素值,pro表示投影运算,Rj表示投影运算列向量每行的值;式(5)中,R为式(4)中得到的列向量,max(R)是列向量中最大值。

进一步,μ为阈值系数,0.50≤μ≤0.65。

上述根据镜架横梁中心的x和y方向位置确定镜架横梁区域的方法为,采用公式(6)-(9)计算镜架横梁区域位置,

Gxl=Glassx-(α×W) (6)

Gxr=Glassx+(α×W) (7)

Gyl=Glassy-γ (8)

Gyr=Glassy+(β×H) (9)

式(6)-(9)中,Glassx是镜架横梁区域x方向的中心位置,Glassy是镜架横梁区域y方向的位置,W为人脸宽度,H为人脸长度,Gxl、Gyl分别为镜架横梁区域左上角的横、纵坐标,Gxr、Gyr分别为镜架横梁区域右下角的横、纵坐标;0.010≤α≤0.028,1≤γ≤5,0.03≤β≤0.08。

上述在镜架横梁区域中搜索横线及判读是否配戴眼镜的方法为:

(1)在镜架横梁区域的边缘信息中,从上向下逐行搜索每行中的第一个像素点,以搜索到的第一个像素点作为横线的起始点,此时横线长度为1;

(2)从该横线起始点开始向右继续检测当前行及其相邻上下行的像素点,若下一像素点位于当前检测像素点相邻右侧,则判断其为该横线上的一个像素,对横线长度加1,否则,当前检测行的横线长度计算中止,停止检测;

(3)比较该横线长度和镜架横梁区域x方向长度,若该横线长度近似等于镜架横梁区域x方向长度,则判断该图像为佩戴眼镜的图像,结束检测;否则,返回步骤(1),按照同样的方法从下一行继续搜索像素点,并计算下一横线的长度,并再次进行判断;若在镜架横梁区域内没有近似等于镜架横梁区域x方向长度的横线,则表示该图像为没有佩戴眼镜的图像。

步骤(2)下一像素点位于当前检测像素点相邻右侧位置为以下四种情况之一:下一像素点位于当前检测像素点相邻的正右侧;下一像素点位于当前检测像素点相邻的右下角;下一像素点位于当前检测像素点相邻的右上角;下一像素点位于当前检测像素点正右侧间隔一个无效像素点的位置。

步骤(3)中该横线长度近似等于镜架横梁区域x方向长度的判断具体为:当横线的长度>a×镜架横梁区域x方向长度时,认为横线长度近似等于镜架横梁区域x方向长度,0.70≤a≤0.95。

本发明的有益效果是,本发明对人脸图像是否佩戴眼镜进行检测,与现有检测方法相比,不仅不需要考虑过多变量以及大量训练样本,而且可以对目标区域精准定位,简化了检测操作并提高了检测的性能。

附图说明

图1是本发明基于边缘信息投影定位镜架横梁的人脸图像眼镜检测方法的流程图;

图2是实施例输入的一个待检测的图像集;

图3是在图2的图像集中选取的代表性图像的预处理结果;

图4是图3中的图像对应的边缘检测结果;

图5是对图3中原彩色图像在YCbCr颜色空间中采用高斯模型计算的嘴部相似度区域的二值图像;

图6是根据图5最终得到的嘴部区域的定位结果,其中,方框标记处表示嘴部区域;

图7是根据图6中嘴部区域定位x方向的中心来确定的镜架横梁区域x方向的定位,以竖线表示;

图8是对图4边缘检测结果图像的像素进行横向投影的情况,其中,无*标记的曲线是边缘像素的统计情况,有*标记的曲线是对无*标记的曲线平滑后的结果,在进行后续操作时,以有*标记的曲线为主;

图9是根据图8的像素横向投影情况对镜架横梁区域y方向的定位,以横线标出;

图10是镜架横梁区域定位示意图;

图11是图3中原彩色图像中的横梁区域定位结果,以方框标出,*表示计算得到的镜架横梁区域的左上角和右下角的位置;

图12是根据图11中的镜架横梁区域在边缘检测图像中的截取结果;

图13是“潜在”横线特征示意图,其中,黑色区域代表搜索“潜在”横线过程中的当前像素点,斜线区域代表“潜在”横线的下一像素点,空白区域表示无效像素点,对应边缘检测结果中的黑色像素点;

图14a和图14b为检测到的横线示例;*表示白色像素点,·表示黑色像素点;

图15a和图15b分别是对佩戴眼镜和未佩戴眼镜的人脸图像检测正确结果。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步的详细说明。

本发明的基于边缘信息投影定位镜架横梁的人脸图像眼镜检测方法,第一部分是对人脸图像预处理且做边缘检测,以彩色图像定位嘴部区域,进而确定镜架横梁中心的x方向位置,以边缘检测的像素横向投影情况来确定镜架横梁的y方向位置,以此,获取镜架横梁区域;第二部分在提取到的边缘信息图像的镜架横梁区域中,搜索“潜在”横线,根据“潜在”横线在镜架横梁区域长度的覆盖率进行判断,以完成对人脸图像是否佩戴眼镜的检测。

如图1所示,具体按照以下步骤实施:

步骤1,输入人脸图像f(x,y),如图2所示。由于采集到的人脸图像存在噪声等干扰信息,需要对人脸部分进行预处理。首先,将彩色人脸图像转换成灰度图像;然后,对灰度图像进行高斯平滑处理,如图3所示;最后,将灰度图像进行平滑处理后提取边缘f′(x,y),如图4所示。

步骤2,将输入的原始彩色图像f(x,y)从RGB颜色空间转到YCbCr颜色空间,采用高斯模型在YCbCr颜色空间以式(1)计算人脸区域中为嘴部区域的相似度P,并将其转为二值图像来获取可能的嘴部区域,如图5所示。通过形状、位置等信息的筛选,来确定嘴部区域,如图6所示。以嘴部区域x方向的中心Glassx作为镜架横梁中心的x方向定位结果,如图7所示。

P=exp((-0.5)×(x-M)′×inv(cov)×(x-M)) (1)

式(1)是将输入的彩色人脸图像f(x,y)从RGB颜色空间转到YCbCr颜色空间来进行计算的,其中,x=(Cb,Cr)T为像素点的色度向量;inv表示求矩阵的逆矩阵;cov和M分别表示色度向量的协方差矩阵和均值向量;P表示该像素点与嘴部的相似度,其值越大表示为嘴部区域的可能性越大,反之越小。经实验统计,均值和方差分别为:

M=(156.5599,117.4361)T (2)

步骤3,将人脸图像的边缘信息图f′(x,y)以式(4)方式进行横向投影,获取边缘信息图f′(x,y)上每行的像素之和Rj,如图8所示。以式(5)来确定镜架横梁y方向中心的定位结果Glassy,如图9所示。

式(4)中,f′(i,j)表示图像边缘检测图像f′(x,y)的每点像素值,x、y表示其横、纵坐标,pro表示投影运算,用来实现对矩阵的每行元素值进行相加的操作,得到一个列向量,Rj表示列向量每行的值。

Index(k)=find(Rj>μ×max(R))(j=1,2,3…,m;k=1,2,3…,s) (5)

式(5)中,R指式(4)中得到的列向量;max(R)是列向量中最大值;μ为阈值系数,通常情况下,0.50≤μ≤0.65,本实施例中取0.55;find指当满足条件时候,返回满足条件的Rj的下标j;Index(k)记录第k个满足条件的Rj的下标,即将满足条件的Rj的下标j值赋给Index(k);s记录满足条件的Rj的个数;第1个满足条件的Rj的下标记为Index(1),即Index(1)为镜架横梁y方向的定位Glassy。得到的镜架横梁y方向如图10所示。

步骤4,获取人脸图像的脸宽W和脸高H。根据步骤2和步骤3中对镜架横梁区域的定位结果(Glassx,Glassy),用式(6)-(9)获取镜架横梁的区域Glass,如图11所示。以该位置在边缘信息图像f′(x,y)中截取横梁区域Glass′,如图12所示。

Gxl=Glassx-(α×W)(6)

Gxr=Glassx+(α×W)(7)

Gyl=Glassy-γ(8)

Gyr=Glassy+(β×H)(9)

式(6)-(9)中,Glassx是镜架横梁区域x方向的中心位置,Glassy是镜架横梁区域y方向的位置,W为人脸宽度,H为人脸长度,Gxl、Gyl分别为镜架横梁区域左上角的横、纵坐标,Gxr、Gyr分别为镜架横梁区域右下角的横、纵坐标。在公式(6)、(7)中,α通常取值为0.010≤α≤0.028,在公式(8)、(9)中,γ通常取值为1≤γ≤5,β通常取值为0.03≤β≤0.08;在本实施例中,α=0.025,γ=3,β=0.05。

同理,也可以根据镜架横梁区域右上角和左下角的横纵坐标确定位置。

步骤5,将镜架横梁模拟为一条“潜在”横线,在提取到的边缘信息图像的镜架横梁区域中,搜索“潜在”横线,若镜架横梁区域中包括“潜在”横线,且该“潜在”横线长度约等于镜架横梁区域x方向长度,则表示镜架横梁区域中有镜架横梁,则判断人脸图像配戴眼镜;否则,判断为未佩戴眼镜。

(1)在镜架横梁区域的边缘信息Glass′中,从上向下逐行搜索每行中的第一个像素点,以搜索到的该行第一个像素点作为“潜在”横线的起始点,J取值为该行的行号,此时“潜在”横线长度为1;

(2)从该“潜在”横线起始点开始向右继续检测当前行及其相邻上下行的像素点,如图13所示,图中的黑色区域为搜索“潜在”横线的当前像素点,斜线区域为搜索“潜在”横线的下一像素点。若当前检测像素点和下一像素点属于如图13所示的四种位置时,即下一像素点位于当前检测像素点相邻的正右侧、右下角、右上角,或位于当前检测像素点正右侧间隔一个无效像素点的位置时,则判断其为该横线上的一个像素,利用式(10)对横线长度加1;

式(10)中,Glass′(i,J)表示该行的第一个像素点,Glass′(i,j)表示符合“潜在”横线条件的下一个像素点,QL表示“潜在”横线,“潜在”横线QL的示例如图14a、14b所示,图14a检测的横线为第二行像素中的长度为5的横线,图14b检测的横线为第二行像素中长度为2的横线。

若当前检测像素点和下一像素点不属于如图13所示的四种位置关系时,如下一像素点与当前检测像素点间隔有两个以上的无效像素点,或下一像素点位于当前像素点正下方等情况,则该“潜在”横线长度计算中止,停止当前行的检测。

按照上述方法完成该区域中“潜在”横线长度的计算。

(3)以该“潜在”横线的长度和镜架横梁区域x方向长度进行比较,镜架横梁区域x方向长度为Gxr-Gxl+1,给其一个阈值a,通常0.70≤a≤0.95,本实施例中,a=0.8。如果“潜在”横线的长度lenJ>a×(Gxr-Gxl+1),表示“潜在”横线的长度在镜架横梁区域x方向长度的覆盖率高,即表示“潜在”横线为镜架横梁,则判断该图像为佩戴眼镜的图像,不再执行后续判断。若lenJ≤a×(Gxr-Gxl+1),则表示该横线可能为皱纹或阴影等其他情况,则返回步骤(1),按照同样的方法从下一行继续搜索像素点,判断下一行及其相邻上下行区域内的横线,并计算下一横线的长度,并进行判断。若在整个镜架横梁区域内没有发现符合条件(lenJ>a×(Gxr-Gxl+1))的横线,则表示该图像为没有佩戴眼镜的图像。如图15a和15b所示。

表1给出了本发明方法对网上采集的300张人脸图像组成的测试样本检测的准确率,测试样本包含了多种表情和多种环境下的人脸,部分测试样本如图2所示,其中,戴眼镜的人脸图像有177张,不戴眼镜的人脸图像有123张,所佩戴的眼镜包括带边框的眼镜以及无框眼镜。

表1 本发明的检测结果

由表1可以看出,本发明方法可以较为准确的检测人脸图像是否佩戴眼镜,当人脸图像存在夸张表情、光线较暗、脸部微倾的情况时也能作出也有较为准确的判断,如图15a、b所示。本发明在判断过程中考虑因素少,只需要提取眼镜的横梁区域;定位横梁区域也并非是根据眼镜横梁在人脸中的相对位置,而是根据嘴部区域检测和横向投影从横向和纵向确定眼镜的横梁位置;进而根据眼镜横梁的边缘信息判断是否佩戴眼镜,不需要大量图片的训练得出结果。

本发明以上描述只是部分实施例,但是本发明并不局限于上述的具体实施方式。上述的具体实施方式是示意性的,并不是限制性的。凡是采用本发明的方法,在不脱离本发明宗旨和权利要求所保护的范围情况下,所有具体拓展均属本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1