人脸五官中,关于嘴角定位的文献相对眼睛定位来讲要少很多,定位的方法也很不相同。作者结合工作中遇到的问题,在此按照定位过程,简要阐述如下:
嘴角定位一般分为,胡子区域去除,嘴巴区域获取,嘴角定位
1. 胡子区域去除
胡子的干扰,是嘴角定位最大的难题,特别是中东一些国家,留胡子人极多。而目前很多文献中,并没有提出此问题的解决方法。王罡的《基于单张正面人脸照片的三维人脸自动建模方法研究》中提到用BR加权G色对比法,来去掉胡须部分。具体来讲,是根据“B分量(蓝色)和G分量(绿色)在唇色中的分布比较相近,但在肤色中,G分量的分布则明显大于B分量;在肤色和唇色中,R分量(红色)和B分量分布相对稳定,G分量是造成色度分布差异的主要元素”。
Fig1 原始图像 Fig2 胡子去除后
实际定位中,我们只需要对人脸图像的下半部分进行检测即可。
2.嘴巴区域获取
(1)嘴巴特征增强
想通过嘴巴的灰度和肤色的差异,来获取嘴巴的区域还是比较困难的。因为实际情况下,受光照和个体的差异,并不是每个人的唇色和肤色都有明显差异。因此需要突出嘴巴区域的特征,增加对比度。作者采用的是Fisher变换的方法,分别采集两组样本(肤色和嘴唇),相当于求类间距离最大的原理,来寻找肤色和纯色的最有分类矩阵。
Fig3 Fisher增强 Fig4 Fisher增强
上排图像是原始图像,下排是嘴巴增强的效果。
(2)消除光照影响
由于光照条件不固定,会给嘴巴区域的获取,以及后续嘴角精确定位带来很大的影响。作者采用Gabor的方法来处理,效果良好。
Fig5 Gabor变换
(3)嘴巴区域二值化
作者尝试采用过一些图像二值化方法来对嘴巴区域提取,包括OTSU以及基于边缘特征信息的二值化方法,但是经过测试都不稳定。最终采用的是类似于“眼睛定位”文章中提到的方法,效果稳定而且效果很好。
Fig 6 OTSU二值化结果
Fig 7 基于边缘信息保留的图像二值化
图7中的效果明显优于OTSU算法,但是它容易受嘴巴姿态等的影响,造成二值化区域较大,这给后续角点的筛选带来不便。
Fig8 基于Gabor的嘴巴区域二值化
3.嘴角定位
获得一个尽量“好”的嘴巴区域,会给嘴角定位准确性带来很大方便。作者在嘴巴区域内,采用角点检测和嘴巴模板相结合的方法,来精确定位嘴角位置。
角点检测有很多现成的方法,比如Susan和Harris角点检测。作者选择的后者,但是检点检测后有很多候选点,如何准确筛选呢?我们可以嘴巴的形状,加入边缘信息进来判断。因为从真正的嘴角位置出发,同事沿着边缘往右或往左,得到的边缘点数应该最多。
4.定位结果