基于水平集算法的唇象分割
2015-03-20汪程军
汪程军
(同济大学电子与信息工程学院,中国 上海201800)
0 引言
现如今,唇分割技术可以应用到各种领域:语音识别、唇读、面部表情分类、音频交互等。上述的唇分割技术或许可以满足这些特殊的应用,但是得到的分割结果并不适用于中医临床诊断的唇诊中。在传统中医数字信息化的临床诊断中,需要完整精确的唇区域来对唇色进行自动分类,进行下一步的病症诊断。唇体区域越完整精确,唇色分析的结果越精确。所以,如何提取完整精确的唇体区域就是关键问题。
为了解决上述问题,本文提出一个新型的基于水平集分割技术的分割方法来进行唇体分割。通过使用本章提出的水平集算法,即使在图像中的唇体只有较弱的边缘特征时,对唇体进行分割也可以得到令人满意的分割结果。采用水平集图像分割算法才获得精确的唇体分割结果。得到本算法的分割结果之后,通过定性与定量两种方式对本算法实验结果进行分析,体现本算法的优秀的性能。
1 基于水平集的唇分割算法
由于唇色与嘴唇周围的皮肤颜色的区别还是不大,导致直接基于颜色空间的唇体分割算法还是很难将唇体准确的分割出来。然而采用水平集算法[1]将会非常有效的解决这个问题。在本节中,将会详细给出如何在灰度图像中利用水平集算法将唇体区域从非唇体区域中分割出来的推理过程。
1.1 算法流程
Chan-Vese水平集图像分割算法流程图如图1所示。
由图可以看出,在输入图像进行颜色空间转换之后,本章算法的主要步骤描述如下:
1)采用矩形初始轮廓曲线;
2)通过距离图对初始水平集函数进行初始化;
3)计算水平基函数参数并更新轮廓线;
4)判断结果是否收敛,如果没有收敛,重复操作步骤3。
图1 Chen-Vese水平集图像分割算法流程图
1.2 Chan-Vese水平集算法
水平集算法是一个描述曲率相关速率演化的曲线的有效方法[2],水平集算法不是基于梯度变化的,所以水平集算法在处理具有弱边缘特征的图像时有着天然的优势。在图像分割中,水平集算法需要一个初始轮廓曲线来约束初始水平集函数[3]。然后,分割工作的目标物体的边缘将会在一系列的迭代之后确定下来。
(1)初始轮廓曲线
一个好的初始轮廓曲线,也就是说有一个更逼近真实目标唇体边缘的初始轮廓曲线,能够大幅提升算法计算速度。本文采用的初始轮廓曲线是唇体周围的矩形框。
(2)初始水平集
初始的水平集可以由符号距离函数计算得到。用符号距离函数可以确定一个给定的像素点x与边界C,当像素点x在曲线C内部的时候,上述符号距离函数得到正值;当符号距离函数减小到为0的时候,即像素点x在边界C上;而像素点x在曲线C外部的时候,符号距离函数的值为负值。
初始轮廓曲线确定之后,初始轮廓曲线的距离图可以由膨胀和腐蚀操作来估计。通过这个方法,轮廓曲线C外部的像素点到曲线的距离可以由膨胀操作得到而轮廓曲线内部的像素点到轮廓曲线的距离可以由腐蚀操作得到。
(3)Chan-Vese水平集模型
Chan-Vese水平集模型是一个由Chan和Vese提出的经典主动轮廓模型。该方法是基于Mumford-Shah模型的水平集分割算法。其原理是:假设图像中属于同一个物体的区域的灰度值是近似平滑的,那么能量最小化函数E的目标就是寻找最优分割C0,使得分割图像与原图像之间的差异最小。
图像分割中,一般将图像分为目标区域和背景区域,Chan-Vese水平集原理中假设同一物体区域的灰度值是平滑的,那么曲线C就可以将图像u0分割为目标区域Ω1和背景区域Ω2,
该方法所用到的信息不仅仅是轮廓曲线C所在的区域的局部信息,而是充分利用了整幅图像的全局信息。因此,Chan-Vese水平集算法具有显而易见的优势,那就是可以做到全局优化。
1.3 图像分割结果优化
用上述Chan-Vese水平集算法得到图像目标物体掩膜之后,采用形态学重建算法对得到的二值掩膜图像进行平滑优化处理。Chan-Vese水平集算法分割唇体得到的边缘部分呈锯齿状,是不光滑的。又因为唇体边缘轮廓曲线是呈凸状的,那么为了得到更精确的唇体边缘轮廓曲线,本章采取“五点平均法”来对唇体边缘轮廓曲线进行平滑处理。在Chan-Vese水平集算法得到的最终唇体轮廓曲线上从左到右每五个点取平均值代替原有的五个点,然后将五点平均值用线连起来。
2 实验设置
2.1 评价准则
在图象分割领域应用中,对图像分割结果的评价准则使用得较多的有Chalana等提出的边界误差度量方法以及Udupa等提出的面积误差度量方法。本章提出的Chen-Vese水平集图像分割算法的分割结果也会应用上述这两个评价准则来对唇象分割结果进行评价。
分别是上一小节定义的用于边界误差度量的HD(norm.HD%)、MD(norm.MD%)以及用于区域面积误差度量的FP(False Positive)、FN(False Negative)和TP(True Positive)。
2.2 图像预处理
在图像处理的过程中,为了简化后续处理过程,降低后期处理难度,可以事先对图像进行裁剪、矫正等预处理操作。
(1)裁剪
如图2.a所示,通过道生四诊仪采集的唇象包含整个脸部区域,如果采用整面部图像进行处理的话,运算量太大。为了节省不必要的计算时间,在进行算法评估之前,对面部图像进行裁剪,如图2.b所示,对图中红框区域进行裁剪,得到图2.c所示的试验用唇象。
(2)缩放
裁剪之后唇象大小不一,为了方便后续处理,保证唇象大小一致,采用线性插值的方法对唇象进行缩放,使舌象大小为300*150。
图2
3 实验结果
本节将会在道生四诊仪上自行对志愿者采集唇象数据并用于实验。本次实验共采集来自不同志愿者共计23张唇象数据用于本文所提基于简化水平集算法。
3.1 定性评价分析
在本小节中,将会以直观的方式展示本章所提算法在23张自己采集的唇体图像数据集上的性能。由实验结果可知,本章算法在对这些中医四诊仪采集的面部图像的唇体分割结果还是比较理想的。在大多数图像中都能比较精确的将唇体区域从面部图像中分割出来,取得较好的分割结果。但是还是存在一些细节的地方,在分割结果的精度上还是存在提升的余地的。
如图3所示,第一列显示的是经过预处理的唇体原始图像;第二列是本章算法在面部图像上的唇体分割结果展示;第三列是手动提取的对应面部图像标准唇体结果。由图3所示可以看出,第二列的算法分割所得结果与第三列的手动标记标准唇体区域的轮廓非常接近,基本上达到与实际唇体相近的分割结果。由此可见本章算法在对唇体提取的工作中能获得非常好的分割效果,能够将嘴唇区域精确地从背景区域中分割出来。
图3 人脸图像理想唇体分割示意图
尽管可以从上图可以看出本章算法优越的性能,然而还是存在一些比较难以处理的细节,如图4所示,同样,图中三列分别是唇象原图、唇象分割算法所得结果以及手动标记标准唇体区域。由图中第一行所示,在人脸图像唇体提取的工作中,对唇角区域的分割不是很理想;第二行所示,当嘴唇上有溃疡伤口的时候,分割的时候会有偏差;第三列所示,在嘴唇上方胡须较为浓密的时候,也会对分割结果造成影响;第四列所示,当采集的唇部图像时露齿的时候,会将牙齿以及上嘴唇分到背景区域中,使分割结果并不尽如人意。
图4 人脸图像不理想唇体分割示意图
分析产生以上不理想的分割结果本质原因,可以知道:
首先,嘴唇唇角之处的突变较大,且唇角处一般都有阴影,颜色较深,在颜色空间上与唇体区域重叠较大,很容易将唇角分为唇体区域,也就是说采用水平集算法分割唇体的时候很难处理好唇角部分;
其次,人脸图像的嘴唇上有溃疡伤口的时候,溃疡伤口所在的区域的颜色特征和纹理特征已经改变了,溃疡的颜色一般都是比较接近皮肤的颜色,而且纹理特征也改变了,与周边的唇体的纹理特征不一样了,另外,溃疡造成的创口也形成了边缘信息,所以嘴唇上的溃疡区域在分割的时候很容易被分到非唇体区域;
再者,在男子人脸图像嘴唇上方有浓密的胡须的时候,胡须会被误以为是边缘,而胡须形成的边缘强度远大于嘴唇边界所形成的边缘,所以胡须形成的强边缘的作用会大于嘴唇边界形成的边缘的作用,因此胡须较浓密的区域有较大的可能被分为嘴唇区域;
最后,当采集的唇部图像包含牙齿的时候,由于牙齿的颜色空间与面部区域的颜色空间重叠较大,且上嘴唇一般来说颜色都比较淡,颜色空间也是与背景区域的颜色空间重叠较大,因此很容易将上嘴唇与牙齿区域一起分割进背景区域,仅能获取下嘴唇作为唇体区域。而由手动标记的标准唇体区域可以看出,在手动标记的时候,也会将牙齿区域包含在内,较难正确标记,因此在处理露齿唇象的时候,是唇体分割工作的一个难题。
尽管如上所述,存在着一些不足之处,但是整体而言,本文所提水平集算法在整个数据集上取得了比较好的分割结果。具体细节将在下一小节中进行定量评价分析。
3.2 定量评价分析
上一小节主要是从主观感受出发,对本章提出的基于简化水平集算法在唇象数据集上的实验结果有一个定性的评价分析,为了更好更客观地评价本章所提算法的性能,本小节将会对基于简化水平集算法在唇象数据集的分割结果上展开进一步的定量分析。定量分析采用图像分割领域较为流行的两个边界误差度量方法(HD,MD)和三个面积误差度量方法 (FP,FN,TP)对实验结果进行定量的度量。
表1 在唇象数据集上的唇体分割性能
由表1可以看出,HD(norm.HD%)、MD(norm.MD%)、FP(False Positive)以及FN(False Negative)的平均值普遍都较小,说明本章算法在分割唇象的时候无论在边界误差还是区域误差都比较小,比较接近实际唇体区域;而TP(True Positive)平均值值达到了0.8968,表明本章算法的分割结果与标准唇体区域的一致性比较高,分割性能优越。
由以上分析可知,除了少数特殊情况下的唇体图像,本章算法在大多数唇体图像上的分割结果无论在边界上亦或是区域上的误差都非常小,分割结果的匹配度非常高,分割性能非常优越。
4 总结展望
本文提出了一个服务于中医面诊舌体诊断的唇体分割算法,首先对输入唇部图像进行预处理,采用基于简化水平集算法提取预处理过后的唇部图像,得到最终的分割结果。
通过在采集自23位志愿者的唇象数据集上的实验测试,无论在定性分析还是定量分析,本文所采用的基于简化水平集算法都取得了令人满意的分割结果。从定性角度讲,本文算法提取的唇体区域与真实唇体区域的差别不大,从定量的角度讲,本文采用的五个定量度量指标可以充分证明本章所采用算法的优越性。
虽然无论从主观还是客观地说,本章采用的唇体分割算法的效果都是比较理想的,但是依然存在一些细节的问题影响到分割的精确度。比如嘴唇上的溃疡,嘴唇周围的胡须,露齿的唇象,都会影响分割的精度;另外,由于算法自身的问题,在处理唇角的时候,也并不是很让人满意。上述问题都是在将来的工作中可以进一步研究的方向。
[1]T.F.Chan,L.A.Vese,Active contours without edges[J].IEEE Transactions on image processing,2001,10(2):266-277.
[2]B.Sandberg,T.Chan,L.Vese,A level-set and gabor-based active contour algorithm for segmenting textured images[J].UCLA Department of Mathematics CAM report,2002:1-10.
[3]M.A.Savelonas,D.K.Iakovidis,D.Maroulis,LBP-guided active contours[J]. Pattern Recognition Letters,2008,29(9):1404-1415.