APP下载

基于改进GrabCut算法的黄瓜植株图像分割*

2021-04-09李帼曹苏艳钱婷婷陆声链

中国农机化学报 2021年3期
关键词:像素点前景黄瓜

李帼,曹苏艳,钱婷婷,陆声链,3

(1.广西师范大学计算机科学与信息工程学院,广西桂林,541004;2.上海市农业科学院农业科技信息研究所,上海市,201403;3.广西多源信息挖掘与安全重点实验室,广西桂林,541004)

0 引言

作物图像分割是精准农业、植物表型的关键技术。实现自然条件下作物图像的自动分割对农作物生长检测、机器采摘、病虫害识别等应用无疑具有重要意义。图像分割算法已经有几十年的研究历史,常用的图像分割方法包括颜色因子法、阀值分割法和基于机器学习的方法。颜色因子法最早由Woebbecke等[1]于1995年提出,此后经过多年的不断完善改进,陆续形成了以EXG、EXR、EXB为代表的颜色因子算法。时至今日,国内外学者仍然还在不断探索各种颜色因子在植物分割中的应用[2-5]。在基于阈值的图像分割方法中,Ostu(又名最大类间差法)是最经典的方法之一,在植物图像分割中也有较多研究。例如,Montalvo等[6]针对部分丢失绿色特征农田图像,提出采用两次Ostu方法实现农田图像的分割,其分割准确率达到了91.8%;齐锐丽等[7]通过将图像的RGB颜色空间转换到HSV颜色空间,然后利用Ostu方法进行花椒图像的分割。近年来,基于机器学习方法的图像分割得到越来越多的研究。Dhanachandra等[8]采用K-means聚类算法进行自然条件下室外植物图像的分割,他们为了保证K-means聚类算法的初始聚类中心最优,提出了采用减法聚类获取初始聚类中心,结果发现这种处理比直接采用K-means算法好;黄巧义等[9]综合利用RGB、CIE L*a*b*、HSV等多色彩空间和支持向量机(SVM)进行水稻图像分割,获得了不超过4%的分割误差。杜娟将模板匹配算法和K-means聚类算法相结合用于从大田油菜图像中提取油菜花[10],该方法具有高效、快速的优点;Singh则基于粒子群算法开发了一种用于向日葵叶图像分割和分类的系统[11]。最近几年来,随着深度学习技术的广泛应用,也涌现出了一批利用深度神经网络进行植物图像分割的研究报道[12-13]。但深度学习方法需要大量的数据标注工作,如何标注数据、需要多少训练数据尚缺乏统一的标准,往往依赖于经验,且其模型的内部运行机理仍然缺乏可解释性。

尽管图像分割技术已有多年历史,但至今仍没有一个通用的分割方法,通常需要针对特定应用选择合适的算法。本研究结合EXG超绿分割和GrabCut算法的优缺点提出了改进的算法,并对不同生长时期和不同光照条件下黄瓜图像进行试验,以便为作物表型自动测量、作物冠层功能计算等应用提供方便易用的核心算法。

1 图像分割算法及其改进

1.1 EXG超绿分割算法

1995年,Woebbecke等[1]发现了在一般情况下,针对绿色植物图像的处理时,将绿色通道的权重增强,就可以提高土壤等背景环境与植物之间的对比度,从而借助这一个特征就可以完成绿色作物的精准分割。基于这个特性,只需要把绿色作物图像中的每一个像素点,通过对其进行2G-R-B的转换操作,就能够将属于前景的绿色作物与非绿色的背景分割出来,这就是EXG超绿分割算法。EXG超绿算法的分割过程如图1所示,在识别目标作物图像之前需要先对图像进行灰度化处理,然后采用最大类间方差法对灰度化图像进行分割。

图1 EXG超绿算法分割过程

1.1.1 灰度化因子

对于要进行分割的原图像来说,作物与背景在R、G、B三个颜色分量上的值有着不同的特征。使用不同的色彩特征组合值来对图像中的像素点进行转换就可以增强作物与背景的颜色对比度,这样转化后的图像则是原图像的灰度图像,灰度化因子就是三种色彩特征的不同组合。在RGB模型中,R代表着像素的红色分量,G代表着像素的绿色分量,B代表着像素的蓝色分量。在EXG超绿特征分割里使用的灰度化因子是绿色因子,经过绿色因子灰度化的图像增强了绿色通道的权重,使得图像里的绿色作物与背景有了更强的对比度。绿色因子灰度化采用式(1)计算[1]。

EXG=2G-R-B

(1)

1.1.2 最大类间方差法

将经过灰度化因子处理过的彩色图像转化成了灰度图像,在灰度图像中绿色作物与背景的灰度值差距较大,此时就可以使用阈值分割法对图像进行分割。最大类间方差法不需要人工选择阈值,它的计算过程简单、稳定且用时少。确定合适的阈值后,通过把图像中的像素点与这个阈值比较,就能够区别出前景与背景。

最大类间方差法的基本原理是:对于一幅大小为X×Y的图像,前景与背景之间的分割阈值为T,图像的总平均灰度值为G。前景像素点是灰度值大于阈值T的像素点,记为N1;前景像素点数与图像总像素点数的比例记为W1;前景像素点的平均灰度值记作G1。背景像素点是灰度值小于阈值T的像素点,记为N2;背景像素点数与图像总像素点数的比例记为W2;背景像素点的平均灰度值记作G2。前景部分和背景部分之间的方差记作M[14],使得方差M取到最大值的灰度值T就是最佳分割阈值。

(2)

(3)

N1+N2=X×Y

(4)

W1+W2=1

(5)

G=G1×W1+G2×W2

(6)

M=W1×(G-G1)2+W2×(G-G2)2

(7)

M=W1×W2×(G1-G2)2

(8)

1.1.3 EXG超绿分割算法在作物图像分割上的效果

将EXG超绿分割应用于作物图像分割,就是使用绿色因子将彩色图像灰度化,转化成为灰度图像,再使用最大类间方差法确定最佳分割阈值来进行阈值分割,实现作物与背景的分割。如图2所示为该方法用于分割黄瓜植株图像的效果。可以看到,采用超绿因子来提取绿色作物图像的效果比较好,杂草、土壤等其他非绿色的背景都能够很好区分,绿色作物的图像可以突出显示出来。而其缺点是如果背景中含有绿色的成分则很容易错分,误把背景中绿色的地方认为是前景的绿色作物,造成分割误差。

(a)原图

1.2 GrabCut算法

GrabCut算法是在2004年由微软英国研究院的Carsten Rother等设计[15],它是基于Graph Cuts改进而来的一种图像分割算法,相当于是对Graph Cuts的多次迭代版本。该算法只需要手动对图像里的前景区域进行标注,通过图像处理算法可以实现良好的图像分割效果。GrabCut以其交互简单、分割精度高的特点,被广泛应用在计算机视觉处理的图像分割领域[16-17]。

1.2.1 算法原理

GrabCut的实现过程如图3所示,用户首先通过选择一个矩形来创建一个初始的分割区域,矩形内的像素标记为未知像素,被框在外面的像素点标记为背景;接着生成一个初始的图像分割结果,所有未知像素都暂定放置在前景类中,并且所有已知的背景像素都放置在背景类中;接下来分别为初始前景和背景类别进行高斯混合模型(GMM)建模,前景类中的每个像素都分配给可能是前景GMM中的高斯分量。同样,背景中的每个像素都分配给可能是背景中的高斯分量。然后再通过迭代能量最小化分割算法进行最小化分割的迭代,每次迭代都会使前面可能前景和可能背景的GMM的参数更优,从而获得更加准确的前景和背景区域。

图3 GrabCut算法分割过程

1.2.2 GrabCut算法在作物图像分割上的效果

GrabCut是一个非常好用的图像分割算法。对于前景和背景完全分开的图像,仅需要用户手动对前景区域进行简单的矩形标注,GrabCut即可稳健地分割出图像中的前景和背景。如图4所示为该算法在黄瓜植株图像上的分割效果。

(a)经框选后的结果图

从图中可以看出,该算法能够较好地把较为单一的背景分割掉,而对于靠近绿色植物的那部分背景,包括栽培盆和盆内的土壤,则需要经过多次迭代分割后才能去除大部分。试验中也发现,经过多次迭代后,依然有部分土壤背景残留在分割图像中。这也是该算法的不足之一,即对于前景与背景颜色相近或者背景与前景相互交错的图像,它就会把背景识别为前景一并输出。同时,该算法需要用户手工勾选才可以进行下一步的操作,自动化程度相比于其他算法比较弱。

1.3 改进算法Combined

通过对EXG超绿分割和GrabCut算法优缺点的分析,以及对图像特点的分析。EXG超绿分割难以较好的将绿色背景去除,而GrabCut算法不方便去除黑色布背景和花盆土壤等,所以本文将EXG超绿分割和GrabCut算法进行了结合改进,改进后的算法不再需要手工标记。为便于叙述,下文将我们改进的算法称为Combined算法。

Combined算法的主要思想是,通过预设的矩形框参数实现待分割图像目标区域的自动框选,并将矩形框内的部分作为前景、矩形框外部作为背景输入GrabCut算法进行初步分割,然后再用EXG超绿分割算法对初步分割得到的图像进行进一步处理,得到最终的分割结果。Combined算法的分割过程如图5所示,图6为Combined算法分割效果图。从图中可以看出,经过第一步GrabCut分割后,此时还未能够将目标植物与背景完全分割开,再经过超绿分割,可以很好地将植物与花盆土壤等背景分开提取出来,获得更好的分割结果。由于在采集图像时是通过固定角度拍摄植物,图像中目标所处的位置相对固定,可以认为图像边缘区域为背景,图像中间部分为前景,因此我们的算法中,预设原始图像边缘的20个像素为背景,内部的区域就是前景所在的矩形框。当然也可以根据实际需要调整预设矩形框的大小,理论上,预设的矩形框越小,处理速度越快;但矩形框太小有可能把部分目标区域划分为背景,从而影响分割精度。

图5 改进的Combined算法分割过程

(a)原图

2 试验与分析

为了更好地验证本文提出的改进算法的有效性,采用早、中、晚三个不同生长时期的室内黄瓜群体图像,以及室外晴天和阴天两种不同光照条件黄瓜群体图像进行图像分割试验。

2.1 材料与方法

本文试验所采用的黄瓜品种为迷你黄瓜,在上海市农业科学院的试验基地进行,分别在温室和室外大田种植了两批,时间为2019年秋季。为了获取黄瓜整个生长过程的图像,在以上两个地点中均选取了一个小区并在小区顶部安装了网络相机,从苗期开始至黄瓜结果,每天按上午、中午、下午各一张的频率从固定角度拍摄黄瓜群体的图像。为了便于说明问题,本文将黄瓜生长过程粗略分为早、中、晚三个时期,在温室中每个生长时期各随机选取了6张图像,在室外大田图像中,选取了晴天和阴天条件下拍摄的图像各3张,共24张图像。为了方便描述,对每张图像进行了编号。早期的六张图像表示为E1、E2、E3、E4、E5、E6;中期的六张图像表示为M1、M2、M3、M4、M5、M6;晚期的六张图像表示为L1、L2、L3、L4、L5、L6;晴天的三张图像表示为S1、S2、S3;阴天的三张图像表示为O1、O2、O3。

上述几种图像分割算法,包括本文改进的算法均使用Python 语言结合OpenCV图像处理库编码实现,试验环境如下:操作系统Windows 10家庭版,CUP处理器为Intel(R)Pentium(R)CPU N3710 @ 1.60 GHz,内存(RAM)4.00 GB。为对各种分割算法的分割质量进行定量比较,本文以像素为基础,通过像素级别的对比来评价分割的有效性,分别计算出手工分割图像中目标区域的像素个数和各个算法分割图像中目标区域的像素个数,使用精度(ACC)来验证算法的分割精准度。

式中:f0——算法分割图像中目标区域的像素与手工分割图像中目标区域的像素交集;

f——算法分割图像中目标区域的像素。

2.2 温室图像分割结果与分析

对玻璃温室中获取的黄瓜早、中、晚不同生长时期获取的三组图像,分别采用EXG超绿分割算法、GrabCut算法和本文改进的Combined算法进行了试验,图7~图9为分割效果,分割精度和运行时间的对比如表1和表2所示。

从图7~图9可以看出,EXG超绿分割没有将背景分割干净,GrabCut对于叶片边缘的细节部分处理的不够好,还有部分土壤残留,而Combined算法能够比较干净完整的分割出植株图像。

(a)原图

(a)原图

(a)原图

在精度上,从表1可以看出,本文的改进算法Combined的平均分割精度达到了96.56%,高于EXG超绿分割的84.89%和GrabCut算法的91.69%,表明本文改进的算法在分割精度上相比前述两种经典算法有较大的提高。从表1中还可以看出,Combined算法对于早期图像的分割效果明显优于其他两种算法,对中期和晚期的黄瓜图像而言,分割效果的差距较小,而EXG超绿分割和GrabCut算法分割的精确度随着黄瓜植株的长大而提高,经过分析发现是因为图像中所含的绿色叶片面积越大,这两种算法的分割精度就会越高。本文改进的Combined算法的分割精度则不会因为黄瓜植株的生长发生大的变化,说明了该算法具有更好的鲁棒性。

表1 三个算法的分割精度

由于算法的运行时间受试验环境的影响,本文在采集算法运行时间时是在同一设备的试验环境下进行的,对比结果如表2所示。从表2可以看出,Combined算法运行时间平均稍长于EXG超绿分割和GrabCut算法的平均时间,这也是此算法尚存在的不足之处。从表2中也可以看到,Combined算法和GrabCut算法在个别图像上的处理时间特别长,而且Combined算法和GrabCut算法的运行时间波动较大。在试验过程中发现矩形框参数的值对运行时间的影响比较大,研究发现矩形框数值设置的越小,运行的时间就越少且同一个时期内的图像分割所需运行时间值的波动越小。此外对于个别图像运行时间特别长的原因作了推测,可能是因为图像在采集过程中的光照情况略有不同,导致个别图像在处理时需要花费较多的时间。这也是该改进算法的不足之处,运行效率有待提升。

表2 三个算法的运行时间比较

2.3 室外自然条件下的图像分割结果与分析

为了测试以上算法对不同光照条件获取图像的影响,本文还选取了室外晴天和阴天情况下采集的图像各三张进行分割试验,结果如图10和图11所示,而表3为上述三种分割算法的分割精度对比结果,其中本文改进的Combined算法的平均分割精度达到了96.59%,稍为优于EXG超绿分割的95.4%和GrabCut算法的94.75%。即在强光照与弱光照的情况下,Combined算法的分割精度均高于其他两种算法。从该试验中也可以看出,EXG超绿分割和GrabCut算法在室外自然条件下获取的黄瓜群体图像上的分割效果明显好于日光温室内获取的图像,说明这两种算法受光照影响较大,其鲁棒性不如本文改进的算法。

(a)原图

(a)原图

表3 室外自然条件下的图像分割精度

同时,从图10、图11这两组图像中也可以发现,在晴天光照过强的情况下,EXG和Combined算法会产生过分割的现象,导致部分叶片的像素缺失,但总体分割精度仍然优于CrabCut算法;而对于阴天光照条件下的图像,上述三种算法的分割效果相当。

3 结论

本文试验所用到的黄瓜植株图像来自于温室和室外大田,包含了黄瓜早、中、晚三个不同生长时期,以及室外晴天和阴天两种不同光照条件。本文以OpenCV库结合Python语言研究了EXG超绿分割和GrabCut两种图像分割算法并针对分割效果提出了改进算法,由试验的分析结果可以看出,本文改进的算法Combined具有更好的分割效果。

1)分析研究了EXG超绿分割和GrabCut两种分割算法,基于其在黄瓜群体图像上的分割试验结果分析了两种算法的优点与不足。

2)针对黄瓜植株图像的准确、自动、快速分割的需要,提出了一种改进的算法。

3)为了验证本文改进算法的有效性,对温室内不同生长时期和室外不同光照条件下的黄瓜植株图像进行了试验验证。试验结果显示,本文提出的改进算法在室内不同生长时期的黄瓜群体图像上平均分割精度达到了96.56%,在室外自然条件下图像上的平均分割精度达到了96.59%,均优于EXG超绿分割和GrabCut算法,且在黄瓜不同生长时期和不同光照条件下的分割精度差异不大,表明该改进算法具有更好的鲁棒性。

猜你喜欢

像素点前景黄瓜
清新脆嫩的黄瓜
我国旅游房地产开发前景的探讨
基于局部相似性的特征匹配筛选算法
四种作物 北方种植有前景
黄瓜留瓜要注意两点
我喜欢黄瓜
离岸央票:需求与前景
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
摘黄瓜