APP下载

一种改进Grabcut算法的彩色图像分割方法

2019-07-08王告俞申亮巨志勇

软件导刊 2019年6期
关键词:图像分割

王告 俞申亮 巨志勇

摘 要:针对传统Grabcut分割方法难以很好处理图像阴影部分及分割时间过长的问题,提出结合K-means聚类算法与Grabcut函数的方法改善以上问题。该方法通过直方图均衡化实现图像增强,然后利用K-means算法以二分类的形式对像素进行聚类,利用形态学处理填充孔洞,自动获取目标物体轮廓后,结合Grabcut算法实现图像二次分割,最后利用颜色判定改善图像阴影部分。实验结果表明,该方法可实现图像自动分割、节省大量时间,而且对阴影部分图像处理有明显改善,具有较高的准确性和高效性。

关键词:K-means聚类算法;Grabcut函数;图像分割;直方图均衡化;颜色判定

DOI:10. 11907/rjdk. 182491

中图分类号:TP317.4文献标识码:A文章编号:1672-7800(2019)006-0171-05

Abstract:The traditional Grabcut segmentation method is unable to deal with some shadows and the segmentation time is too long. Aiming at these problems, the paper puts forward the combination of K means clustering algorithm and Grabcut function. The method realizes image enhancement by histogram equalization, then it uses the K-means algorithm to cluster the pixels in the form of two classifications, fills the holes with morphological processing, automatically obtains the contour of the target object, and combines Grabcut algorithm to realize image quadratic segmentation. Finally, color determination is used to improve the shadow portion of the image. Experimental results show that this method can automatically segment images and save a lot of time. It also improves the shadow images significantly and has high accuracy and efficiency.

Key Words: K-means clustering algorithm; Grabcut functions; image segmentation; histogram equalization;color judgement

0 引言

作为目标识别的基础,图像分割是计算机视觉领域一个基础、重要的环节。分割效果对于后续特征提取及分类识别有很大影响。因此提高分割精度和效率具有十分重要的意义。

图像分割方法众多,其中K-means算法、分水岭算法和Grabcut算法应用比较广泛。2004年,Blake等[1]使用高斯混合模型对图像前景和背景进行建模,利用图像颜色信息实现彩色图像分割。Rother等[2]提出Grabcut算法,利用彩色图像的高斯混合模型描述前景和背景像素分布,对像素的3个通道分别使用GMM建模,再利用迭代的方法实现图能量函数最小化,最后通过非完全标号降低交互过程工作量。该方法能以较高精度对图像进行分割,且具有良好的人机交互效果。但Grabcut算法对初始值要求比较敏感,难以满足大工程量的要求,且如果框取的图像是非凸多边形,该算法会额外选择更多背景信息,虽然通过多次迭代可消除多余背景,但给算法带来额外开销,分割效率低。Anderson Rocha[3]利用K-means提取HSV颜色空间图像背景,实现了良好的分割效果。

综上所述,本文采用K-means算法对图像进行预分割[5],以二分类形式将未知图像像素分为两类,使这两类像素差别明显,提高Grabcut分割效率;然后利用形态学处理细化图像,消除孔洞的同时保留物体边缘轮廓,在此基础上根据目标物体轮廓自动绘制外接矩形,利用Grabcut算法对矩形里面的物体进行处理;最后利用颜色判定并改善有阴影的图片。相较于传统半人工式Grabcut函数,该方法可实现图像自动分割,从而具有极大便利性,且可以改善分割过程中的阴影问题。

1 样本数据获取与处理

为证明该算法能适应更多的环境、获取更有代表性的图片,本文通过手机拍摄和网上下载获取数据集。为使其类别多样化,本次实验对象有果蔬、药盒、树叶等6个品种,其中每种类别又继续划分多个种类,每个品种100张图片,总计600张图片。对所有图片裁剪成行为100个像素,宽为固定比例的图片,这样既不会造成失真,又可大幅减少系统运算量、更快获得结果。为增加环境复杂度,拍摄时采用亮光和暗光两种环境,用替换及改变样本元素个数布置物品背景,且拍摄时选择带一部分阴影图片进行实验。

1.1 图像增强

几种常见图像增强效果如图1所示。本次數据包含在暗光下的场景,拍摄出来的目标特征难以被机器有效识别,为此使用图像增强突出目标物体特征,图像增强方法一般包括直方图均衡化[4]、拉普拉斯算子、基于对数Log变换的图像增强、基于伽马变换的图像增强。

根据表2中的数据可以看出直方图均衡化对于像素值为0和255的结果不变。像素值大的图片映射后像素值也比较大,即较亮的区域依然很亮,较暗的区域仍然很暗,只是对比度增加了,而且对于其它像素的增强强度没有过于强烈,不会对目标造成严重失真。根据图2颜色空间直方图,可以明显看到番茄中红色像素增强的幅度最大,加大了与周围颜色的对比度。因此选用该方法对于拍摄比较暗而且背景是白色或黑色的图片可以很好地对目标物体进行增强。

1.2 彩色空间转换

在彩色图像处理过程中,不同颜色模型会影响算法执行效果。因此使用K-means进行聚类时,选取常见的RGB、LAB、HSV 3种颜色模型作为对比[6]。

在RGB颜色空间中,R、G、B表示三基色,世界上所有颜色均由这3种分量组合而成。改变任意一个分量都会影响最终结果的值,但是该体制并不适应人体视觉特点,而且RGB图像中的亮度信息和色度信息没有被很好地分离,因此不能很好提取图像轮廓。Lab颜色空间由L(亮度)、a(色度)和b(色度)3个分量组成[7]。L取值从0~100逐渐由黑变白;a和b 的值域都是-128~+127,其中a值从小到大的变化是指从绿色变为红色,b值从小到大的变化是从蓝色变为黄色。RGB颜色空间转换成CIELAB 颜色空间具体转换表达式为[8]:

根据效果图可以看出,若是以二分类的形式进行聚类,在HSV下的聚类效果更佳,因此选择HSV颜色空间进行实验操作[11]。

1.3 颜色判定

颜色判定主要针对有阴影的图片进行处理,因为图片中的阴影部分主要集中在目标物体周围,因此对某一类图片设定一个阈值,然后将超出像素阈值的区域改变成与背景颜色相同的值,本次分割图片采用的背景均为黑色,因此将超出阈值的像素赋值为0,通过实验确定阴影部分像素值范围,设置阈值参数,将超出参数的像素值划分为背景。以带阴影的橘子图片作为实验对象,读取一张图片经过分割后阴影部分像素值,然后利用颜色判定消除阴影部分像素,具体判别公式为:

[d(i,j,u)=0,0,0  if  ia and ja and uai,j,u   if  ib and j>b and u>b] (3)

其中a表示经过实验得出的阈值,b设定一个大概数值240。通过b可将图片边缘进行很好的保留,避免过度分割边缘。本次设计的背景为黑色,像素值为(0,0,0),实验测出阴影部分的颜色一般接近于白色,但不是接近纯白,其像素值大于除白色之外任意单一颜色,因此不改变小于该颜色值的像素值状态,将大于该像素值转化成背景,继续保留目标接近于纯白的边缘。经过颜色判定可以很好地改善一些欠分割的图片。效果如图4所示,可发现除了目标边缘之外,中间的阴影利用颜色判定可以被明显改善,而边缘部分则是因为阈值b的限定也可以被较完整地保留下来[12]。

2 算法

2.1 K-means算法

其中a和z的取值范围为1-n,表示由图像像素组成的数组和为像素对应的不透明度数组,只能取值0和1。k一般取值为5个,即与像素对应的前景或背景的高斯混合模型各5个高斯组件数组。吉布斯函数不仅反映像素对于前景、背景的符合程度,还是判断一幅图像相邻像素之间相似程度的标准。p表示高斯概率分布,如果像素被赋予了一个更加接近真实的标签,结果会使总能量函数减小,当吉布斯能量达到最小时,可以将图像分割问题转化为二元划分问题,用最大流最小割算法计算最优分割结果[18]。

3 图像分割方法

本节综合K-means聚类算法与Grabcut函数分割方法,提出基于K-means聚类与Grabcut函数相结合的图像分割方法,步骤如下:

(1)为方便计算、节省时间,将数据集全部不失真地裁剪为长为100、宽为一个固定比例值的图片。

(2)对于拍摄图片目标较暗的种类,采用直方图均衡化对图像进行增强处理,增加亮度与对比度,以便后续操作。

(3)将RGB图像进行颜色空间转换,在HSV颜色空间下利用K-means聚类方法对图片进行二分类,分类数目少,因此运行速度更快。

(4)经过K-means聚类后的图片会有一些孔洞影响后续操作,使用形态学处理进行微调,保留物体边缘轮廓。

(5)根据轮廓图自动获取目标外接矩形,获取矩形4个角点坐标并计算外接矩形框长和宽。

(6)将获取到的位置信息用于Grabcut算法初始化,并在Grabcut初始化建模中引入颜色判定,进行参数迭代和判定,从而得到分割图像。

各个步骤具体效果如图5所示。

为进一步验证本文提出方法的有效性,利用传统分割方法和本文采用设计的算法进行对比,结果如图6所示,分别代表着原图、Grabcut函数分割效果图(迭代次数为5次)以及本文方法得到的效果对比。表3表示两种算法处理600张图片的成功率和时间对比(利用计时器计时)。

为验证该方法的可行性,采用不带阴影的图片、阴影不严重的图片和阴影比较严重的图片等3种图片得出的效果图进行对比,并进行两种算法准确率与时间对比。对于非阴影图片,两种处理效果一致,但是传统Grabcut方法只能人工框出单个图片前景区域,若处理大量数据,该方法比较繁琐,而本文方法可以自动实现目标框图标定,实现自动分割。对于图6两个有阴影的图片,使用Grabcut分割虽然可以去掉一部分阴影,但是对于阴影区域很大的图片,即使迭代几十次还是无法完整分割,而本文提出的方法对传统Grabcut函数方法进行改进,不但实现了自动分割,而且可有效改善復杂光照情况下图像准确分割问题,保留了目标细节部分,为后续图像识别奠定基础。根据表3准确率和时间对比可以发现在准确率相差不大的基础上,本文提出的方案很好解决了传统半人工式Grabcut函数造成的时间过长、效率过低的问题。

4 结语

本文针对由于传统方法分割效率过低以及无法有效处理阴影图片的问题,在现有阴影去除、光线补偿和目标分割方法的基础上,对图像亮度分量进行增强处理,实现光照补偿。若采集到的图片有噪声,则利用中值滤波消除噪声[19] 。根据图像特点,采用K均值聚类算法对HSV颜色空间进行聚类,然后结合Grabcut函数和颜色判定,改善阴影的同时消除了光照不足的影响,更好地保持了图像在颜色、纹理和形状方面的完整度,为下一步分类识别奠定了基础。本文提出的方法对于背景单一且前景与背景区别相对明显的图片有良好的处理效果和高效的处理速度,很好地解决了传统Grabcut函数人工分割图片造成的繁琐及阴影问题[20]。但是对于前景与背景区分不大的图片,K-means难以很好地进行聚类,影响后续操作和分割准确性,这也是未来研究需改进的地方。

参考文献:

[1] BLAKE A,ROTHER C,BROWN M,et al. Interactive image segmentation using an adaptive GMMRF model[C]. European Conference on Computer Vision,2004:428-441.

[2] ROTHER C,KOLMOGOROV V,BLAKE A. Grabcut: interctive foreground extraction using iterated graphcuts[J]. ACM Transactions on Graphics,2004,23(3):309-314.

[3] ROCHA A,HAUAGGE D C,WAINER J,et al. Automatic fruit and vegetable classification from images[J]. Computers and Electronics in Agriculture,2010,70(1):96-104.

[4] 赵华夏,禹晶,肖创柏. 基于目的性优化及改进直方图均衡化的夜间彩色图像增强[J]. 计算机研究与发展,2015,52(6):1424-1430.

[5] 尹士畅,喻松林. 基于小波变换和直方图均衡的红外图像增强[J]. 激光与红外,2013,43(2):225-228.

[6] 王悦东,薛河儒. 在不同彩色空间的分割效果的比较研究[J]. 内蒙古农业大学学报:自然科学版,2008,29(3):155-157.

[7] 廖周宇. 基于Lab色彩模型的FCM图像分割研究[J]. 软件导刊,2017,16(5):183-185.

[8] 杨林楠,彭琳. 基于?Lab空间和K-Means聚类的叶分分割算法研究[J]. 农机化研究,2015(9):222-226.

[9] 周燕琴,吕绪洋. 基于改进K-均值与分水岭算法的医学图像分割[J]. 软件导刊,2016,15(3):172-174.

[10] 巨志勇,李开亮,毛颖颖. 基于K-means聚类与二次分水岭的果蔬图像分割方法[J]. 软件导刊,2018,17(6):217-219,223.

[11] 蔡式东,杨芳. 一种基于HSV空间和粗糙集的彩色图像分割方法[J]. 光电子技术,2011,31(1): 5-9.

[12] 章毓晋. 图像工程图像处理和分析[M]. 北京:清华大学出版社, 1999.

[13] 蔡秋茹,柳益君,罗烨,等. 基于K-means聚类的电信客户分群方法[J]. 软件导刊,2009,8(8):51-52.

[14] 王千,王成,冯振元,等. K-means聚类算法研究综述[J].电子设计工程,2012,20(7) :21-24.

[15] 謝娟英,王艳娥. 最小方差优化初始聚类中心的K-means算法[J].计算机工程,2014,40(8):205-211,223.

[16] 黄玲玲. Grabcut及其改进算法研究[J]. 软件导刊,2015,14(5):65-67.

[17] 王钧铭,高立鑫,赵力. GrabCut彩色图像分割算法的研究[J]. 电视技术,2008(6):15-17.

[18] 周良芬,何建农. 基于GrabCut改进的图像分割算法[J]. 计算机应用,2013,33(1):49-52.

[19] 赵高长,张磊,武风波. 改进的中值滤波算法在图像去噪中的应用[J]. 应用光学,2011(4): 678-680.

[20] 陶华伟,赵力,奚吉,等. 基于颜色及纹理特征的果蔬种类识别方法[J]. 农业工程学报,2014,30(16):305-311.

(责任编辑:江 艳)

猜你喜欢

图像分割
基于图像分割和LSSVM的高光谱图像分类