陈梦涛,余 粟
(1.上海工程技术大学 机械与汽车工程学院;2.上海工程技术大学 工程实训中心,上海 201620)
近年来,随着计算机技术的不断发展,用户获取的彩色图像越来越丰富,大量的图像处理任务需要更高效和准确的彩色图像分割方法[1]。经典图像分割算法一般基于灰度图像特征进行分割,主要包括阈值法、边界检测法、区域法等[2]。但在很多情况下,灰度图像包含的信息有限,单纯利用灰度图像分割方法进行彩色图像分割,无法处理色调与饱和度等彩色信息,分割效果往往难以满足用户需求,需借助彩色图像分割方法[3]。
国内外学者对此进行了大量研究。如文献[4]和文献[5]将改进的阈值法与区域法引入彩色图像分割中,使图像目标准确地从背景中分离,但受默认的RGB 空间中3 颜色分量高度相关限制,分割图色彩表现较差;文献[6]尝试将颜色空间由RGB 空间转换到Lab 空间,并与k 均值算法相结合,使分割图色彩更符合人类视觉,但算法初始聚类数目依赖经验确定,不具备普适性;文献[7-8]使用神经网络方法进行分割实验,分割图色彩度和准确度较为理想,但需大批量图像进行标注和训练,成本高且计算过程复杂,不适合大规模的彩色图像分割任务。以上研究均未设计出一种在分割效率、分割准确度以及色彩饱和度方面均表现良好的彩色图像分割算法。
基于现有研究可发现选用合适的颜色空间和分割方法是提高算法质量的两个关键因素。因此,本文结合Lab均匀颜色空间与运行效率高的k 均值算法进行实验,添加数据预处理阶段,使其能够自适应地获得全局初始聚类质心位置和数目,有效减少算法迭代次数,得到一种分割速度快、分割质量高的彩色图像分割算法。
图像领域中应用最多的色彩信息表达方式是RGB 颜色空间,它通过红、绿、蓝三原色混合叠加可以产生多种颜色。但是RGB 空间中三颜色通道存在高度线性相关性,即其中任何1 个颜色分量发生改变都会导致图像整体颜色产生变动,这种相关性特征极不利于图像中彩色信息聚类和分割[8]。另外由于人眼视觉细胞对自然界中红、绿、蓝三原色敏感程度不同,因此在人类视觉感知到的RGB 颜色空间下,分割图色彩均匀性、色彩饱和度很难达到预期效果[9]。由此可以看出常用的RGB 颜色空间不适合处理彩色图像分割任务。
Lab 颜色空间是在1931 年由国际照明委员会制定的一种不受设备影响、以人的视觉生理特性为依据,通过数字化方式客观描述人视觉感应的色彩系统[10]。在Lab 颜色空间中包含1 个亮度通道和两个颜色通道。其中,L 亮度通道单纯表示亮度轴,取值范围(0~100),表示从纯黑到纯白。颜色通道a 取值范围(-128~+127),表示从绿色到红色的渐变;颜色通道b 取值范围(-128~+127),表示从蓝色到黄色的光谱变化[11],参数直观图如图1 所示(彩图扫OSID 码可见)。
从图1 中可以看出,该颜色空间正值为暖色,负值为冷色,两个基础色均为混合色而非单一色调,混合叠加后能够产生较为明亮的彩色效果[12]。可以总结出Lab 颜色空间优点包括:①为调节Lab 颜色空间亮度,需调节L 通道,为实现调节色彩平衡,仅需分别调a 和b 通道,因此可单独编辑图像亮度和颜色;②Lab 颜色空间拥有比电子显示器和人类视觉更加宽阔的色域,可以更加精确地表达图像色彩细节;③Lab 颜色空间不受设备左右,更适合图像存储及转换;④Lab 颜色空间与人类视觉原理类似,都有红绿和蓝黄两个视觉通道,因此基于Lab 空间处理的图像在色彩表现上更符合人眼标准[13]。
Fig.1 Intuitive diagram of Lab color space parameters图1 Lab 颜色空间参数直观图
由上述优点可以推断出,Lab 颜色空间能够克服原RGB 空间中各分量之间高度线性相关和色彩表现不足的缺点,更适合用于彩色图像分割。
图像默认存储模式为RGB 颜色空间模式,因此必须将RGB 空间转换为Lab 空间,才能进行Lab 空间彩色图像分割实验。又因为RGB 空间与Lab 空间分别属于设备相关和设备无关的两种完全不同的颜色系统,因此它们之间不存在直接线性对应转换关系,需借助XYZ 过渡颜色空间完成两者转换[14]。即RGB→XYZ→Lab,RGB 转XYZ 公式为:
然后将XYZ 空间转到Lab 空间。
式(1)中RGB 3 个参数取值范围均为(0~100),式(2)中X'、Y'、Z'是图像中三原色XYZ 在白光条件下的刺激值,取值X=96.422 1;Y=100;Z=82.522 1,如式(3)所示。f 函数则表示为颜色空间中三色道参数值和上述刺激值比值,如式(4)所示。
通过以上步骤完成本文实验第一步,将图像颜色空间由默认的RGB 空间转换到Lab 均匀颜色空间,转换后的图像由L、a 和b 三通道参数表示,以便进行后续彩色图像分割实验。
K 均值算法是一种通过均值迭代思想对数据集合进行划分的无监督学习聚类算法,需凭借人为经验设置初始聚类个数K,然后在定义域内随机初始化生成K 个对应的初始聚类中心,再以欧式距离为度量将其余点划分为K 个聚类集合(简称为簇),在划分好的集合中重新计算均值以生成新的聚类中心和数据簇,通过逐步迭代优化直至收敛后最终取得聚类结果[15]。
从上述算法原理中可以推断出:尽管k 均值算法具有易于实现的巨大优势,但该算法有两个较为明显的缺陷:①算法采用随机选择的方法确定初始聚类中心,然后利用爬山法不断调整以获得最优解,这种初始点一旦选择的位置过于邻近密集,聚类中心很有可能集中于同一个数据簇,易陷入局部最优,聚类效果比较差,算法也将多次迭代,时间成本较高[16];②初始聚类个数的确定完全依赖于主观经验判断,面对背景复杂和噪音较多的图像,很难主观获得恰当的初始聚类个数[17]。因此,需寻找1 种方法自适应地确定初始聚类中心位置和最优聚类个数K,以获得理想的图像分割效果。
为了避免K 均值算法随机选择的初始聚类中心过于邻近,本文通过改进最大最小距离的方法迭代获得全局初始聚类中心。首先选取两个距离最远的初始数据点,但传统最大最小距离方法需遍历数据集X(n)中每两个点之间的欧式距离,然后选用距离最大的两个点作为初始聚类中心点[18]。其时间复杂度为O(N2),在面对彩色图像分割任务时有较高的计算负担,且过于关注图像边缘背景细节,而不是侧重于图像目标主体分割。因此,本文设计一种时间复杂度为O(N)的两个距离最大的初始点确定方法。
假设X={x1,x2,x3,…,xn}是数据对象个数为n 的数据集:
随机选择一个数据对象xt,寻找距它最远的数据对象xi,用dit表示两者间的欧式距离。
寻找距xi最远的数据对象xj,用dij表示两者间的欧式距离。
如果j≠t 且dit≤dij,则xi与xj互为最大距离点,如果t=j,转到下一步骤。
如果t=j,则xt与xi互为最大距离点。
如果dit>dij,则与上一步骤同结果,xt与xi互为最大距离点。
互为最大距离的两个点分别用Z1和Z2表示并存储。
戴维森堡丁指数(Davies Bouldin Inde,DBI)是一种以数据集合内数据对象紧密程度为标准,判断聚类效果好坏的函数。DBI 利用类间距离与类内离散度,即计算数据簇内距离之和与数据簇间距离之和之比[19]。从上述定义中可以看出,DBI 值越小则同一簇内数据对象越紧密,且不同簇之间的差异越大,初始聚类个数K 越接近客观真实的聚类个数。DBI 计算公式为:
在式(5)中,Wi指类中所有样本到Ci类聚类中心的平均距离,di和vi分别表示Ci类内数据对象个数与数据集合中的平均值,其中‖x‖代表欧氏距离,Wj同上。式(6)中K代表聚类簇数,Cij代表Ci和Cj类中心之间的欧式距离[20]。本文确定全局初始聚类中心算法过程为:
(1)通过上述算法得到两个相互距离最大的数据对象Z1和Z2,记为两个初始聚类中心,并根据式(5)、式(6)计算此时DBI 指数,记为DBIold。
(2)计算数据集中剩余数据点xi到Z1的距离记为Di1,到Z2的距离记为Di2,…,到Zk的距离记为Dik。
(3)在所有Di1,Di2,…Dik中统计计算Dik=max{min(Di1,Di2,…Dik)},则xk为可能存在的拟新聚类中心Z3,Z3的取舍需通过下一步骤判断。
(4)根据式(5)、式(6)计算拟新聚类中心Z3加入后的DBI 指数,记为DBInew,如果DBInew>DBIold,则舍去拟新聚类中心Z3,算法结束。
(5)如果DBInew 通过上述算法改进,添加K 均值算法数据预处理阶段,解决传统K 均值算法初始聚类质心数目和位置难以确定的两大问题,大幅提高了彩色图像分割算法自适应性和鲁棒性。尽管本文算法加入了确定全局初始聚类中心的程序,但该过程非常有效地减少了K 均值算法的后续迭代次数,大幅减少了算法运算量,因此分割速度较快。改进的彩色图像分割算法整体流程如图2 所示。 本文实验硬件环境为处理器Intel i7,内存8G,显卡NVIDIA GeForce GTX 950M,软件环境为操作系统Windows10,Python3.7(OpenCV、Sklearn)。 为验证改进算法在Lab 空间中进行彩色图像分割的实验效果,从国际公认的Corel 图像库中选择整体颜色相近、色彩鲜艳、图像背景复杂、有阴影噪音等不同情况的4 张彩色图片进行分割实验,与传统K 均值算法在RGB 空间彩色图像分割进行对比,如图3 所示(彩图扫描OSID 码可见)。 Fig.2 The overall flow of the improved color image segmentation algorithm图2 改进的彩色图像分割算法整体流程 Fig.3 Comparison of the two algorithms图3 两种算法对比效果 从图3 可以看出,传统K 均值算法在RGB 空间进行彩色图像分割时不能很好地将背景与主体分割出来,并且分割效果颜色不饱和,有较为明显的色差;在Lab 空间中运行改进算法进行彩色图像分割时,可以实现图像目标和背景精准分离,色彩饱和度更加接近原图,图像目标主体轮廓细节也更加清晰,分割效果与人工分割效果相近。由于人眼不能客观描述图像分割程度,因此用运行时间和误差概率作为评价指标定量分析图像分割效果,实验中4 张彩色图片分割图性能对比结果如图4、图5 所示。 Fig.4 Error probability comparison between two algorithms图4 两种算法误差概率对比折线 Fig.5 The running time comparison of the two algorithms图5 两种算法运行时间对比折线 在Corel 图像库中随机选取400 张图像,其平均算法性能如表1 所示。 Table 1 Comparison of average algorithm performance表1 平均算法性能对比 由表1 运行时间和误差概率可以看出,改进算法平均运行时间较传统算法快6.316s,误差概率下降18.712%,表现出更快的分割速度和更准确的分割精度。 本文结合OpenCV 图像处理工具与Sklearn 机器学习标准函数库,设计了一种基于Lab 空间的改进K 均值自适应彩色图像分割算法。首先,将图像由RGB 空间转换到Lab空间,摆脱原RGB 颜色空间中各颜色分量之间高度相关性的影响,提高分割图色彩饱和度,优化分割目标边缘细节;在此基础上添加K 均值算法数据预处理阶段,使其能够自适应地确定初始聚类中心数目和位置。改进算法在真实数据集测试结果中取得了理想的分割效果,为后续图像处理提供更佳操作空间。但改进算法对噪音多、背景过于复杂的彩图进行分割时,运行速度还无法满足需求,还待更深入的研究。3 实验结果及分析
4 结语