基于混合颜色空间K均值聚类的白斑面积测量方法
2018-08-22吴倩王民慧
吴倩,王民慧
(贵州大学电气工程学院,贵州 贵阳,550025)
0 引言
白癜风是一种常见的后天性限局性或泛发性皮肤色素脱失病[1],该病的主要特征是在体表形成大小无规则的白斑皮损,是一种严重影响外貌美观的疾病[2]。参照中国中西医结合皮肤性病学会色素病学组有关白癜风的临床分型及疗效标准[3],白斑面积是临床治疗效果的重要评价指标,所以白斑面积的测量是将白癜风疗效评价客观量化的关键。
传统白斑面积测量方法有目测估算法、点估算法[4]、宫格法[5]等,这类方法主观性强,缺乏统一标准。随着图像处理技术的发展,出现了许多基于图像分析的测量方法,这类方法是非侵入式,客观性较好,如张鑫等[6]利用PS和ΙmageJ软件通过魔棒等工具手动分割目标区域并计算出白斑面积,但此法操作繁琐。罗卫等[7]利用北京航空航天大学设计的计算机图像分析系统在红绿蓝帧体的基础上测量了白斑光密度及平均面积,该法准确性较好,但在实际应用中实时性不强。朱卫江等[8]通过图像中白斑区域边缘根据微积分原理计算曲线下白斑面积,鲁功荣[9]利用皮肤镜测量了白癜风的色度及边缘形态但却无法测量大面积白斑面积。所以设计一种简单准确、快速的白斑面积测量方法是目前白癜风疗效评价体系中亟待解决的关键问题之一。因此本文提出了基于混合颜色空间Κ均值聚类的方法来快速测量白斑面积。
1 方案设计
本文提出的基于混合颜色空间Κ均值聚类方法的关键是将白斑皮损从图像中完整的提取出来,尤其是在大面积白斑的测量中。白斑无特定形态,有的面积大而分散,因此在拍摄时难免会将背景或光照等干扰带入图像,使得提取的难度进一步加大,所以处理此类图像的关键在于图像分割。经典的图像分割大致分为:基于阈值、边缘和区域的方法,本文研究的是彩色图像,包含着丰富的颜色、亮度等信息,仅用这些方法难以达到理想的分割效果。所以采用了基于数据挖掘思想的Κ-means聚类来分割图像,得到目标区域后,应用一系列数学形态学方法来处理,得到更为完整的白斑区域,并通过提取像素点来计算白斑实际面积[10]。
1.1 图像颜色空间转换
由于本文研究的白斑主要是依据其与图像的背景及前景中正常皮肤颜色的差异来进行提取的,所以选择合适的颜色空间在图像分割中非常重要。经过对图像进行相关分析和实验,本文选择在Lab、HSV、YCbCr混合颜色空间模型下来做Κ均值聚类分割图像。由于Lab空间是均匀的颜色空间,相比RGB,在衡量不同肤色与白斑的较小色差方面比较有优势,但它会受到亮度影响,所以本文引入了HSV和YCbCr两种可将亮度与颜色分离的模型来减弱光照对图像分割的影响。Lab模型中L是亮度,a 、b是颜色通道。L表示从黑到白,a是绿色到红色;b是蓝色到黄色[11]。HSV模型中H是色调,S是饱和度,V是明度。H表示颜色,S表示颜色的纯度,V表示色彩的明亮程度。YCbCr中Y为颜色的亮度,Cb和Cr分别为蓝色和红色的浓度偏移量。将采集到的RGB图像转换至这三种颜色模型的公式如下:
(1)RGB转Lab
不能直接转换,需要由标准XYZ颜色模型过渡,记X、Y、Z代表XYZ颜色空间中3分量,R、G、B代表RGB颜色空间3分量,其转换公式如下[12]:
其中Xn、Yn、Zn表示XYZ空间中的对应参考白点的三色值。
(2)RGB转HSV
1.2 K均值聚类
Κ-means算法属于聚类算法中的划分法,是一种无监督自适应的搜索算法。Κ均值聚类的实质是将具有某种相似性质的数据样本进行分类组织的过程,其原理是先随机选取Κ个样本作为初始聚类中心,然后计算每个样本与每个种子聚类中心之间的距离,把每个样本分配给距离它最近的聚类中心,聚类中心以及分配给它们的样本就代表一个聚类。一旦样本集中的所有样本都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足全部样本到其所属类别的聚类中心的距离之和已经达到局部最小状态[13-15]。Κ均值聚类的算法可以看成如下几步:
(1)设n个数据组成样本集为:
其中Xi为d维向量,每个样本由原始数据的d个特征组成,Κ均值聚类就是要将这n个数据样本在一定的准则下划分为K类,构成数据集:
随机选取K个样本,作为S中各类的聚类中心,记为初始聚类中心集:
(2)定义Sk中任一样本到聚类中心的欧式距离为:
根据公式(4)可知,集合S中任一个子类Sk中的所有样本到其所属聚类中心的距离之和可表述为:
则X中全部样本到各自所属类的聚类中心之和为:
其中ωi为权值,只有当样本Xi属于相应Sk类中时才有意义。
(3)根据聚类准则,要使距离总和最小,依据公式分析,需要取子集Sk中所有样本的平均值作为类中心才能满足,由此获得新的聚类中心。
(4)根据新的质心,再次迭代计算 E( Xi),直至函数收敛,此时算法终止,获得最佳Κ均值聚类图像。
2 图像处理算法流程
本文实验所研究的是大面积白斑皮损图像,但前景部分既包括我们所要提取的白斑皮损,也包括正常的皮肤,本文实验采用Κ均值聚类来做图像分割,所以这里设定的初始聚类中心为3个,图像分割后通过数学形态学相关算法进行修正,更为精确的提取出目标区域像素点,整体算法流程图如图1所示。
3 实验结果与分析
3.1 图像增强
在图像采集的过程中,往往因为环境、光线等原因会产生一定的噪声,为便于处理,先对图像做增强处理。考虑到后续研究的需要,采用对边缘信息保护效果较好的中值滤波来增强图像,对原始图像内每一像素点的灰度值取其邻域内所有像素点灰度的中值,既降低了噪声,又提升了图像的整体亮度,同时相对扩大了白斑与背景的差异度,有利于图像分割。
3.2 图像分割
图1 图像处理算法流程图Fig.1 Flow chart of image processing algorithm
将增强后的图像从RGB颜色空间分别转到Lab、HSV、YCbCr颜色空间,原始图像中皮肤颜色包含白、红、黄三色,而背景近灰色,所以将Lab中a、b颜色分量,HSV中的H、S分量,YCbCr中Cb、Cr分量分别取出来聚类。因欧氏距离能较精确地测量颜色之间微小的差距,因此采用欧式距离来做衡量标准,更有利于皮损与正常皮肤颜色差异较小的区域的分割。分别对图像在三种颜色空间做Κ均值聚类,在此分割的基础上将三种分割结果相与,得到基于混合颜色空间的聚类结果,如图2所示。
由此可知,对于复杂的大块白斑,在Lab空间,分割结果中噪声较多,边缘毛刺现象严重;在HSV空间,分割边缘较为平滑,但漏分的区域相对较大;在YCbCr空间,分割噪声较多,但分割区域较准确。因此,在此基础上将三者混合,得到的分割结果视觉效果更好,噪声较少,分割区域更完整,且三者取相同的部分使分割可靠性更高。
图2 分割结果Fig.2 Segmentation results
因为面积测量需要提取目标区域的像素点,所以这里将该图像转换成二值图像,如图3(a)所示,转换成二值图后只需要提取出图像中白色部分即像素值为1的像素点即可知道白斑皮损的面积。
3.3 形态学处理
由图3(a)所示目标区域二值化图像可知,皮损区域中有一部分红血丝较多的地方被误分割为正常皮肤,形成孔洞,图像边缘受光干扰影响产生较多噪点,为减少像素点提取的误差,本文应用了数学形态学的相关算法对二值图去噪。由二值化图像分析可知,要去掉边缘部分的细小而不连续的点,同时要求不能改变目标区域面积,根据文献[16]可知,可以采用开运算或对象移除来达到类似的目的。
开运算是利用结构元素对图像进行先腐蚀后膨胀的过程,这里结构元素是具有特定形状的矩阵,通过与图像的相互作用提取图像的形态结构。腐蚀是用结构元素扫描图像中每一个像素并与其覆盖的二值图像部分的像素做“与”操作,如果都为1,则该像素为1,否则为0;而膨胀恰好与其相反,全部为0时,则图像素中的该像素为0,反之为1,相当于滤波窗口的作用。由于白斑形状无规则,边缘呈曲线状,在去除噪声的同时又要尽可能保留边缘信息[17]供后续分析,所以在实验中创建了平面圆盘作为结构元素去探测图像,根据文献[18]可知,结构元素尺寸越大,图像边缘损失越严重,通过实验也发现,半盘半径选的越大,边缘形状变化越大,为尽可能保留白斑形态,选取半径为1的圆盘对二值图做开运算后结果如图3(b)所示。
图3 形态学处理1Fig.3 Morphological processing 1
图4 形态学处理2Fig.4 Morphological processing 2
图3 (a)和(b)中测得的相应二值图中像素值为1的像素点数目分别为42601、42405,可以看到经开运算后,图像边缘一些不连续的细小噪点基本上已经被消除了,且完整的保留了白斑的形态及边缘信息,但在小面积白斑分散聚集的地方仍有些许噪声,所以这里对图像再进行一次处理。采用形态学中的“对象移除”算法来处理,因图像大小为386×271,根据估算,移除像素小于50的的连通对象,结果如图4(a)所示,发现边缘噪声已基本上被滤掉了,白斑边缘清晰,细节信息保留完整。
经过开运算和对象移除的形态学处理后的图像,中间还有孔洞,所以要对其进行填充,结果如图4(b)所示,白斑区域中间的孔洞均被填充,内部均匀,视觉效果更好,其中白色像素点的数目为42701,而要测得白斑皮损的实际面积只需提前将相机定标或者将某一已知实际面积的标准物件,如1元硬币等一同拍摄到图像中,通过计算出该物件区域的像素点数目,即可得到单个像素点所代表的实际面积:单个像素点实际面积 =标准件实际面积 / 标准件像素个数。这样:白斑的实际面积=单个像素点实际面积×提取像素点个数,就实现了白斑面积的快速测量。
3.4 实验结果分析
通过本文实验可知,包含大面积白癜风白斑的图像,在经中值滤波后,图像整体亮度得到改善,对比度增强。将增强后的图像在混合颜色空间下进行Κ均值聚类,图像分割效果明显。将分割后的图像转换成二值图,并进行形态学处理,能最大程度保留白斑原始形态和细节信息,同时消除了处理过程中产生的噪声。最后进行区域填充,提取出的白斑变得更均匀平滑,获得了更好的视觉效果,更有利于白斑区域的像素提取。从实验过程中,还可以看到在做不同处理时,白斑像素点的变化,使得通过提取白斑区域像素点来计算实际白斑面积更可靠。且整个算法约1s完成,实时性好。
4 结论
本文提出的算法有效的实现了对大面积白斑的无损快速检测,在保证准确性的前提下,相比于前人的方法,不仅有效提高了效率还降低了成本,在临床上发展前景广阔。而且对于白癜风病患的跟踪测量,只需按周期提取白斑图像的像素点,根据像素点测出相对面积变化,就可以了解病情的发展和判断治疗是否有效,指导意义重大。在此基础上,后续将研究改进算法,使得对于被毛发覆盖的白斑也能有效提取。