基于K—means聚类与二次分水岭的果蔬图像分割方法
2018-09-04巨志勇李开亮毛颖颖
巨志勇 李开亮 毛颖颖
摘 要:为解决传统分水岭算法在果蔬图像分割过程中产生的过分割问题,提出了基于K-means聚类与二次分水岭的果蔬图像分割方法。该方法首先通过自适应中值滤波、直方图均衡化等方法实现图像增强,利用分水岭算法实现图像预分割,然后对预分割结果进行K-means聚类和形态学处理,并在此基础上利用分水岭算法实现果蔬图像二次分割。实验结果表明,该方法很好地解决了分水岭算法引起的过分割问题,为后续图像分类识别奠定了基础。
关键词:K-means聚类;分水岭算法;果蔬;图像分割;形态学处理
DOI:10.11907/rjdk.173022
中图分类号:TP317.4
文献标识码:A 文章编号:1672-7800(2018)006-0217-03
Abstract:In order to solve the over segmentation problem of traditional watershed algorithm in fruit and vegetable image segmentation process, a segmentation method of fruits and vegetables based on K-means clustering and two watershed is proposed in this paper. Firstly, the method of adaptive median filtering and histogram equalization is used to realize image enhancement. The watershed algorithm is used to realize the image pre-segmentation, then the pre-segmentation results are processed by K-means clustering and morphological processing, and then the watershed algorithm is used to realize the two segmentation of the fruits and vegetables images. The experimental results show that the method proposed in this paper can solve the over segmentation problem caused by watershed algorithm.
Key Words:K-means clustering; watershed algorithm; fruit and vegetable; image segmentation; morphological processing
0 引言
作為目标检测和识别的基础,彩色图像分割是机器视觉领域一个重要且具有难度的研究方向,其中基于K-means算法和分水岭算法的分割方法是近年图像处理领域的研究热点。果蔬图像分割分类方法较多,如Soille和Vincent[1]于1991年提出的模拟浸没的分水岭算法。该算法具有快速、准确等特点,但在噪声影响下会导致过分割。对于过分割问题,胡敏等[2]提出了基于形态学处理的 H-minima方法标记连通域,然后运用分水岭算法实现标记图像分割。Anderson Rocha[3]通过在HSV颜色空间使用K-means进行背景提取,具有良好的分割效果。
本文采用分水岭方法对预处理后的图像进行预分割,根据分割结果,使用K-means算法初始化聚类中心,在此基础上进一步采用二次分水岭方法减少预处理后的区域个数,并且利用图像颜色、梯度等信息重构新的权值矩阵,应用形态学处理实现图像分割效果。
1 样本数据获取与处理
1.1 果蔬图像获取
为了更接近真实环境,获取更具代表性的样本数据[4],实验使用的果蔬图像主要来源为数码相机拍摄,背景为白色,分别在不同光照强度、角度、相机抖动等情况下获取相关数据,主要场景为各大型超市、批发市场等,还有部分数据来源于网上图像数据库。本文果蔬图像获取及数据库构建主要针对市面上常见的水果蔬菜。果蔬图像数据集共30种,包括水果15种,蔬菜15种,蔬菜包括西红柿、黄瓜、包菜、娃娃菜、土豆、萝卜、香菇、菜椒、茄子、芹菜、杏鲍菇、金针菇、四季豆、油菜、秋葵;水果包括香蕉、苹果、桔子、雪梨、芒果、火龙果、核桃、榴莲、荔枝、菠萝、葡萄、西瓜、抽子、龙眼、草莓。每种果蔬图像30张,共计900幅。为便于处理,对采集图像尺寸进行归一化处理,得到640×480彩色图像。部分果蔬图像见图1。
1.2 果蔬图像预处理
图像的预处理主要包括图像空间变换、滤波、图像增强等,增强图像对比度是应用计算机视觉进行图像处理的重要环节,增强后的图像更适合于人的视觉特征和机器识别。为了实现更好的分割效果,需要研究彩色空间选择与滤波器选择问题。
1.2.1 彩色空间选择
在众多颜色空间中,RGB颜色空间的亮度信息与色度信息没有分离,关联太大且每个通道都编入了亮度信息,边缘像素信息不能很好地保存。但是HSV颜色空间的H通道能消除物体姿态和周边环境对亮度的影响,保证图像信息的稳定性。V通道通常依据图像 RGB 三色组合得到,能反应出物体表征的信号强度信息[5]。本文先将采集的图像转换至HSV空间,通过调整HSV中的V通道实现对亮度的调整,再对V进行直方图均衡化处理,实现图片的亮度调整。S通道对亮度变化不太敏感,颜色特征由色度通道H和S计算,并对S通道进行阈值化操作,再转回 RGB空间得到最终增强结果[6]。由RGB到HSV的转换,先要计算RGB通道的最大值和最小值,转换公式如下:
设(B,G,R)分别为RGB空间任一像素的蓝、绿、红坐标,它们的值为0~1之间的实数。设Max等于B、G、R中的最大值, Min等于B、G、R中的最小值。HSV空间(H, S, V) 中 H∈ [0, 360)是角度的色相角,而S,V∈ [0,1]对应饱和度和亮度。
1.2.2 滤波器选择
图2显示取内核值或参数值均为4的情况下5种常见的滤波,包括方框滤波、均值滤波、高斯滤波3种线性滤波,中值滤波、双边滤波两种非线性滤波的滤波效果。
对比分析可发现,均值滤波在去噪的同时破坏了图像的细节部分,使图像变得更加模糊。高斯滤波与均值滤波效果相似,都会较明显地模糊边缘,但对于高频细节保护效果不明显。双边滤波是结合图像空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性。对于彩色图像里的高频噪声,双边滤波器不能干净地滤掉,只能对低频信息进行较好的滤波。均值滤波在去噪的同时破坏了图像的细节部分,使得图像变得模糊。在众多滤波效果中,中值滤波[7]是用像素点邻域灰度值的中值代替该像素的灰度值,和均值滤波器相比,中值滤波在消除噪声的同时,能很大程度地保护图像细节,不会造成大的模糊。本文使用加权自适应中值滤波能够更好地保护图像中的边缘细节部分。
2 算法分析
2.1 K-means聚类算法与二次分水岭算法
K-means 算法通过反复迭代,目的是使聚类域中所有的样品到聚类中心距离的平方和J(C)最小,实现各聚类本身尽可能紧凑、聚类之间尽可能分开。
分水岭算法是一种基于拓扑理论的数学形态学分割方法,该算法先将一幅图像转换成梯度图,将其类比为地形,将梯度图中像素灰度值類比成地形高度,将局部极小值类比为盆地,局部极大值类比为山顶,介于两者之间的值类比为山坡。通过模拟浸没方法,从局部极小值处开始浸入水中,垂直向下移动,这样每个局部极小值作为一个聚类中心开始向外扩展,最终会在盆地之间形成分水岭。目前经典的分水岭算法是由Vincent等[9]提出的模拟浸没算法。该方法主要分为排序和淹没两个过程,先将图像按灰度等级从高到低排序,再进行模拟浸没。分水岭算法的输入为梯度图像,即
2.2 K-means聚类与二次分水岭相结合的分割方法
综合K-means聚类算法、分水岭分割方法,本文提出基于K-means聚类与二次分水岭的图像分割方法[10],步骤如下:①首先在预处理基础上使用sobel算子获取梯度图像G。通过分水岭算法对G进行预分割,设原始图像被初步分割为N集水盆地,原始图像对应区域设为X;②通过K-means聚类方法对初步分割的N个集水盆地进行聚类,获得聚类数目和初始聚类中心,由于步骤①得到的N个集水盆地远小于图像像素个数,因此在进行K-means聚类和二次分水岭分割图像时运行效率更高;③使用形态学处理获取二值化图像,标记背景和未知区域,通过对白色前景的深度膨胀运算获得一个超过前景实际大小的物体,然后用反向阈值将深度膨胀后的图像中的黑色部分转换成固定灰度值,即完成背景像素的标记;④根据二值化图像找到感兴趣区域,将前景、背景及未知区域合成为一个标记图像,并用原始像素强度替换为二进制值;⑤利用分水岭算法分割图像:将标记图像和原图输入分水岭算法,执行分水岭算法,将修改后的标记图转换为可显示的8位灰度图并返回分割结果;⑥将切割图片与填充空洞图片进行交集运算,得到去背景果蔬图片,并将目标图像由HSV空间转换至RGB空间显示。
3 实验结果
按照算法处理步骤,在Windows10操作系统平台上,利用Visual Studio2013配置OpenCV2.4.9对果蔬图像数据集进行实验。计算机基本配置为 CPU Intel(R)Core(TM)i5-3230M,2.60GHz,运行内存为8GB。实验结果如图3所示,图3(a)为复杂光照下拍摄的原始图像,图3(b) 为经过预处理之后通过sobel算子获取的梯度图像 ,图3(c)分水岭预分割图像 ,图3(d)为K-means聚类和分水岭变换后的二值化图像,图3(e)为背景分割图像。
为进一步验证本文提出方法的有效性,对果蔬图像库中的部分图像分别用基于形态学的分水岭分割方法和本文方法作对比测试。如图4所示,第一列为原始图像,第二列为基于形态学的分水岭分割算法结果,第三列为本文算法结果。通过实验结果可以发现,使用分水岭算法还会出现过分割现象,本文提出的方法可有效解决复杂光照情况下图像准确分割问题,同时可准确定位目标位置,保留图像的形状、颜色、纹理、边缘等信息。
4 结语
由于农产品的多样性和相似性,现有的分割识别方法难以精准适用于农业领域。本文基于颜色、形状和纹理特征,对水果蔬菜进行处理和分析,解决了不同种类果蔬图像在不同光照条件下的分割问题。实验结果表明,本文提出的结合K-means聚类的二次分水岭分割方法,可有效提取感兴趣区域,并能很好地保留图像的边缘、纹理、形状等信息,为下一步分类识别奠定了基础。
参考文献:
[1] VINCENT L,PIERRE S. Watershed in digital spaces: An efficient algorithm based on immersion simulations[J]. IEEE Transactions of Pattem Analysis and Machine Intelligence,1991,13(6):583-598.
[2] 胡敏,蔡慧芬.基于形态学标记联通的分水岭图像分割[J].电子测量与仪器学报,2011,25(10):864-869.
[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] ARIVAZHAGAN S,SHEBIAH R N,NIDHYANANDHAN S S,et al. Fruit recognition using color and texture features [J]. Journal of Emerging Trends in Computing and Information Sciences,2010,1(2):90-94.
[5] 王水平,唐振民,范春年,等.基于SVM的水果分类算法研究[J].武汉理工大学学报,2010(16):44-47.
[6] 许欣,陈强,孙怀江,等.改进的自动颜色均衡化图像对比度增强[J].计算机工程与应用,2010,46(18):4-6.
[7] 赵高长,张磊,武风波.改进的中值滤波算法在图像去噪中的应用[J].应用光学,2011(4):678-680.
[8] 王千,王成,冯振元,等.K-means聚类算法研究综述[J].电子设计工程,2012,20(7):21-24.
[9] VINCENT L,SOILLE P. Watersheds in digital spaces: an efficient algorithm based on immersion simulations[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1991,13(6):583-598.
[10] 邰滢滢,吴彦海,张利.基于快速mean-shift聚类与标记分水岭的图像分割方法[J].计算机应用与软件,2015,8(3):156-159.
(责任编辑:杜能钢)