融合形态学连通域和CV模型的民族服饰图案纹样元素分割方法
2019-08-05侯小刚陈洪赵海英
侯小刚,陈洪,赵海英*
(1.北京邮电大学网络技术研究院,北京100876;2.北京邮电大学计算机学院,北京100876)
民族服饰图案是在特定地域和文化环境中形成的,蕴含了本民族文化的固有本质属性和内在联系,是民族精神追求和本地习俗的高度概括与抽象,是人们对美好愿望的象征[1]。蕴含本民族特定寓意的图案纹样元素通过一定形式的组合形成独具风格的民族服饰图案[2]。图1是彝族“一枝独秀刺绣”背心图案,由中心纹样(图案纹样①)和4个角隅纹样(图案纹样②)构成,图案纹样①蕴含了美丽、热情、豪放、勇敢之意,而图案纹样②以黑为底色,象征着大地,是孕育各种动物和植物的母体。
图1 民族服饰图案Fig.1 National costume pattern
如何自动提取民族服饰图案纹样元素,为设计师和研究者提供基础数据,分割算法是其最为核心的关键问题。由于不同问题对分割颗粒度的要求不尽相同,目前尚无一种通用分割算法能同时满足不同的分割需求,因此,需要针对不同问题设计不同的分割算法。如图2所示,经典的形态学连通域(MCC)算法可以较好地分割图2方框④中的较小图案纹样元素,但无法完整分割图2方框③中的图案纹样元素(图2是通过连通域(MCC)算法对图1进行标记后形成的标记图)。如何完整分割服饰图案纹样元素(如图2方框①和方框②中的子图),是构建传统民族服饰图案纹样元素库的关键一步,也是急需解决的难题。因此,须设计一种分割算法,在分割民族服饰图案中较小的图案纹样元素的同时,也能分割完整的图案纹样元素。
图2 MCC算法标记图Fig.2 MCC labeled schematic
1 相关工作
数学形态学由集合论发展而来,利用算子进行图像分析,关注的是图像形状[3],形态学理论通常与其他方法相结合才能完成更准确的分割。张桂梅等[4]将形态学与分水岭变换相结合,完成图像的分割。YADAV等[5]通过将形态学算子和阈值法相结合,完成了对医学图像的分割。KRISHNAMURTHY等[6]通过将K-means引入形态学,实现了对肺结节影像的分割。
活动轮廓模型[7]是一类独特的图像分割模型,其基本思路是通过演化一条曲线,在约束条件下,曲线朝着内法线方向移动,最终在目标的边界停止[8]。由于活动轮廓具有其他分割算法不具有的许多优点,在过去的几十年中,国内外学者提出了多种基于活动轮廓的图像分割方法[9-10],并取得了较大进展。活动轮廓模型依据模型演化形式的差异,分为基于边缘的模型[7,9,11-12]和基于区域的模型[13-17]。CHAN等[18]提出的无边缘活动轮廓(简称CV模型)是一种基于区域的活动轮廓模型,具有分割结果对初始轮廓位置和大小不敏感、计算简单和局部自适应性等优点,可应用于不同的图像分割。但CV模型曲线演化位置需要人工进行初始化,是一种交互分割算法。已有学者将形态学和CV相结合,进行了不同领域的图像分割,文献[19]将形态学和CV模型相结合,实现了对印刷电路板CT影像图像的分割,刘涛等[20]采用形态学方法提取边界,得到了目标的CV模型初始化曲线,但只实现了单一目标的分割。
近年来,机器学习特别是深度学习在图像分割上取得了长足的发展[21],出现了大量优秀的图像分割算法[22-23],特别在大样本数据上取得了已有传统算法无法比拟的效果[24],但代价是需要对大量手工标注的像素级Groundtruth进行模型训练[25],导致该类算法无法直接应用于少样本数据。而民族服饰图案彼此差异较大,图案中纹样元素丰富,有监督的图像分割算法难以取得理想效果。
为实现对民族服饰图案中蕴含深厚文化内涵的图案纹样元素的自动分割,本文在深入分析形态学连通域标记和CV模型(MCC-CV)的基础上,提出了用形态学连通域标记(MCC)法确定民族服饰图案纹样元素的位置与轮廓信息,以进行CV模型的初始化,然后再利用CV模型进行曲线演化分割的民族服饰图案纹样元素自动分割(MCC-CV)。
2 基于MCC-CV模型的自动分割算法
首先,对原真彩色服饰图案进行去噪、Otsu二值化[26]以及灰度化处理等操作;然后,对目标图案进行形态学连通域标记,获取目标子图初始轮廓位置;最后,在灰度图案上对不同子图逐次进行CV模型边缘追踪,完成民族服饰图案的自动分割。算法流程如图3所示。
算法从二值化图案A中搜索某个连通分量,单个连通分量提取公式为
其中,A为目标,B为结构元,Xk为每次迭代的结果,X0为连通域标记的初始位置,当Xk=Xk-1时,迭代结束。通过对形态学处理结果的反复迭代:腐蚀—彩色标记—膨胀—提取不同标记块的交点(即新增边缘点),逐一完成对不同块的标记。
图3 算法流程图Fig.3 Algorithm flow chart
二值化图案A通过连通域标记后,形成色彩标记图C,C中的不同颜色标记块Yi在原图案中对应一个待分割子图Ωi,其中i=1,2,…,n,表示经过形态学连通域标记的待分割子图的个数。标记块Yi给出了待分割子图Ωi的大致空间位置和大小,因此可以作为CV模型演化的初始轮廓。
对于某个待分割子图Ω,演化曲线C可以将基元Ω对应的灰度图案I(x,y)分为前景Ωf和背景Ωb,分别用Cf和Cb表示前景Ωf和背景Ωb区域内像素的灰度值,CV模型的能量函数定义为
当演化曲线处于图案纹样元素边缘时,式(2)取得最小值,ECV(C)=0。在式(2)中加入曲线长度和面积能量约束项,则CV模型能量泛函的表达式为
式(3)中,L(C)表示演化曲线C的长度,S(C)表示曲线C内部的面积,μ、ν、λ1和λ2分别为相应能量项的权值。ECV(C,Cf,Cb)中,前2项为内部约束,在演化进程中保持曲线平滑,后2项为外部约束,在演化进程中取得曲线逼近图案纹样元素边缘。用水平集φ隐含表达演化曲线C,于是CV模型水平集形式能量泛函表达式可改写为
式(4)中,H(φ)和H′(φ)为 Heaviside函数和 Dirac函数的正则近似表示,其表达式为:
其中,ε为进行数学运算时选取的一个小正数。依据变分原理和梯度下降原理求解式(4),得到其偏微分方程:
其中,Cb和Cf的计算式为
3 仿真实验与分析
3.1 MCC-CV算法分割过程对比分析
CV模型进行轮廓演化的初始位置由形态学连通域标记(MCC)区域确定,为方便实验对比,在原服饰图案中提取MCC标记区域对应的子图(记为IgMC)与CV模型分割得到的子图(IgCV)进行对比。其中图4(a)为IgMC子图,可以看出,IgMC是残缺不完整的,这是由在二值化过程中部分区域背景和前景区分错误造成的。通过获取IgMc子图的位置与轮廓信息初始化CV模型,经CV模型曲线演化扩展,可以分割出IgMc对应的完整IgCV子图,如图4(b)所示。
图4 连通域不完整分割经CV模型修复Fig.4 CV model repair the incomplete segmentation
部分民族服饰图案中比较独立、前背景差异较大、连通性较好的子图,二值化过程中,子图保持了较为完整的边缘与轮廓信息,MCC运算后得到的IgMC子图保持了视觉上的完整性。这类子图通过CV模型曲线演化后得到2种分割结果:CV模型对MCC标记模块进行曲线演化,分割出的IgCV子图是对IgMC子图的扩展,如图5所示;CV模型对MCC标记模块进行曲线演化,分割出的IgCV子图与IgMC子图保持了视觉上的一致性,如图6所示。
3.2 MCC-CV与其他分割算法对比分析
为了对比本文算法的分割效果,引入两类常用或与本文相关的分割算法进行对比实验。第1类为3种自动分割算法:包括otsu阈值分割算法[26]、C-Labeling分割算法[27]和Watersheds分割算法[28];第2类为3种交互分割算法:包括Geodesic分割算法[29]、Grabcut分割算法[30]和Snakes分割算法[9]。实验结果如图7所示,第1列为民族服饰图案原图,左边给出了图案分辨率信息。第2列为原图的Ground Truth。第3列为C-abeling算法分割子图,大部分是欠分割子图,与Ground Truth有较大差距。第4列为Watersheds分割子图,分割效果较C-labeling算法有了较大改善,但依然存在过分割和欠分割子图现象。第5列为Grabcut算法分割子图,其结果最接近Ground Truth,在视觉效果上也优于其他算法,但Grabcut是一种交互分割算法,分割过程是在人工交互下完成的,部分甚至需要经多次人工交互才能得到较为满意的分割结果。第6列为本文算法MCC-CV的分割子图,由于该算法是通过形态学连通域标记(MCC)法确定民族服饰图案中图案纹样元素的位置和轮廓信息来实现CV模型的初始化,然后再利用CV模型曲线演化实现民族服饰图案纹样元素的自动分割,相较于实验对比算法,该算法分割效果有了较大改善,得到了较为完整的服饰图案纹样。
图5 连通域分割合理CV模型扩展分割Fig.5 CV model extension segmentation
图6 连通域分割与CV模型相同分割Fig.6 The connected domain has the same partition as CV
在上述分析的基础上,本文进一步引入边界召回率(boundary recall,简称BR)来客观评价分割结果。分割s的边界召回率定义为
其中,B(g)和B(s)分别为图案基元边界真值和算法生成边界的集合。I(·)为指示函数,若算法生成的基元边界像素位于真值边界像素ε范围内,则返回1;否则返回0,Area(s)表示集合s的面积。
图7 不同算法分割结果视觉效果对比图Fig.7 Visual effect contrast of different segmentation results
分割准确率P(Precision)定义如下:
其中,Numm表示在一幅民族服饰图案中人工分割出的所有子图数量。Numa表示在同一幅民族服饰图案中不同分割算法分割出的子图满足某一给定边界召回率BR时的子图数量。BR一定时,P越大,表明算法分割出的满足该BR子图的数量越多,效果越好。
为了分析本文算法的性能,选用了不同复杂程度的多幅民族服饰图案,分别采用7种算法进行分割,计算各分割子图与Ground Truth的BR,统计各算法在不同BR下的分割子图数量Numa,计算得到P,实验结果如图8所示。可以看出,总体上交互分割算法的性能优于自动分割算法,但本文算法的性能介于交互分割和自动分割算法,并且接近于交互分割算法。虽然,Geodesic算法和Grabcut算法的分割效果表现最优,但需要交互,尤其针对复杂图像,交互次数会增加。
本文算法MCC-CV在Snakes算法的基础上实现自动分割,分割效果明显优于其他自动分割算法。实验结果表明,在满足0.5的BR下,本文算法的分割准确率为60%,而另外3类自动分割算法平均分割准确率在20%以下,本文算法分割准确率较Clabel自动分割算法19.7%的分割准确率提升了40%;在满足0.7的BR下,本文算法分割准确率在50%以上,而其他自动分割算法平均分割准确率已降至10%以下。
4 结 论
图8 不同算法的客观评价结果(ε=3)Fig.8 Objective evaluation results of different algorithms(ε=3)
图像分割技术是计算机视觉领域的重点和难点,目前尚无一种通用分割算法能同时满足不同的分割需求,一般需要针对不同问题设计不同的分割算法,常常还需进行人工交互。为提高民族服饰图案素材库的构建效率,减轻手工分割的工作量,提出了基于MCC-CV模型的民族服饰图案纹样元素分割算法,通过算法的实现,将其应用于民族服饰图案纹样元素的自动分割。实验结果表明,本文算法在满足0.5的BR下为60%,相较其他自动分割算法,分割准确率提升了40%,已能满足民族服饰图案素材库建设对图案分割的基本要求。
本文提出的MCC-CV分割算法有效提高了民族服饰图案素材库的构建效率,但距离在较高边界召回率的情况下实现有较高的分割准确率的自动分割算法还有一定的差距,未来研究将着眼于建立子图数量参数与预期分割子图数量之间的映射关系,及如何准确获取目标子图在原图像中的位置信息和轮廓信息。