APP下载

基于U-Net模型和FCM算法的番茄穴盘苗重叠幼叶分割方法

2022-02-15赵广猛王卫兵

江苏农业科学 2022年2期
关键词:图像分割

赵广猛 王卫兵

摘要:针对传统方法对番茄穴盘苗重叠幼叶图像分割精度较低、背景剔除困难的问题,提出一种基于U-Net模型和模糊C均值聚类(FCM算法)相结合的图像分割方法。首先用ExRG法对图像的背景进行剔除,得到待分割幼叶的主体区域,对图像进行预处理。其次建立数据集,训练网络模型,用预训练的U-Net模型分割幼叶主体区域,提取其过渡区域;同时用FCM算法分割幼叶主体区域,提取其过渡区域。然后结合FCM算法分割得到的过渡区域和U-Net模型分割得到的过渡区域,得到重叠叶片的最终分割结果。最后,为了得到精准的评估结果,将重新连接的过渡区域进行填充,并与其他文献所述的算法进行对比分析。结果表明,所提出的基于U-net模型和FCM算法对穴盘苗幼叶轮廓分割的结果更加准确,泛化性更强。证明对番茄幼苗叶片图像分割的有效性,为幼苗生长状况的检测研究提供了支持。

关键词:穴盘苗幼叶;U-Net模型;FCM算法;图像分割;结合分割

中图分类号: S641.2  文献标志码: A

文章编号:1002-1302(2022)02-0206-07

收稿日期:2021-04-14

基金项目:国家自然科学基金(编号:61763042)。

作者简介:赵广猛(1994—),男,山东德州人,硕士研究生,主要从事图像处理研究。E-mail:1032404305@qq.com。

通信作者:王卫兵,硕士,教授,主要从事机械CAD/CAM一体化技术。E-mail:2571490652@qq.com。

由于我国自然资源的优势,番茄种植面积、产量和出口量均位居世界前列,大面积种植的加工番茄农作物的移栽技术正在逐步推广[1]。在番茄苗移栽的过程中,番茄穴盘苗的生长状况的好坏,对后期番茄幼苗移栽成活率、番茄质量起到了关键性的作用[2]。传统检测穴盘苗生长状况的主要方式是通过人眼辨别,费时费力。随着智能农业装备的普及,基于机器视觉检测穴盘幼苗生长状况的研究正在有效开展,而在机器视觉检测幼苗的过程中,非常重要的环节是对幼苗叶片区域进行分割。同时,幼苗叶片区域的分割也是幼苗种类识别、幼苗病虫害识别不可缺少的重要步骤[3]。近年来,国内外学者在叶片分割方面开展了大量研究。孙俊等用粒子群优化(PSO)和最大类间方差法(Ostu)相结合的方式分割生菜叶片面积,缩短了算法的运行时间,但是分割效果并不是非常的明显[4]。郑艳梅等用BiseNet卷积神经网络和引导滤波相结合的方式,提出了一种新的叶片图像分割算法,可以很好地保留苹果叶片周边细小的轮廓[5]。Praveen Kumar等利用图像增强技术和图形模型进行植物图像分割和叶片计数,当叶片为圆形或椭圆形时,对叶片区域的分割和叶片数量的统计效果显著,但对光照条件有较强的要求[6]。Ping等利用像素的颜色和空间特征训练玉米叶片分割模型,然后应用基于空间结构分析的图像修复技术对传统玉米分割结果进行修复,算法能够从复杂背景或不同光照条件下的图像中分割出玉米植株[7]。Anam等采用粒子群优化的K均值算法的目标函数对苹果叶斑病进行分割[8]。现有相关文献研究的都是对农田成熟作物叶片区域的分割以及病害区域的提取,而对穴盘中幼苗叶片区域的提取以及幼叶重叠区域的分割研究相对较少。

很多传统的穴盘苗图像分割算法,如边缘检测分割、小波变化分割、区域分割、分水岭分割,有计算简单、效率高、易访问等优点,都是利用图片边缘处的像素灰度值的变化,也就是图像灰度的特征信息来进行图像分割的,在简单的场景下能够获得较好的分割结果,但是这些传统算法分割的结果对指定参数和图像的预处理有很强的依赖性[9]。针对上述问题,本研究提出了一种基于U-Net和FCM算法(简称UF算法)的穴盘苗幼叶图像分割方法,在于提高番茄穴盘苗重叠幼叶的分割精度,并使该方法更具普适性。

1 材料与方法

1.1 数据获取

本研究所选用的试验材料为番茄粉抗8号,在室内条件下种植,土壤类型为椰糠土,所选用的穴盘为32个穴孔(4×8式)的番茄苗穴盘,部分穴盘见图1。在每个穴盘的正上方配备1个初始高度为50 cm的摄像机,摄像机的高度和焦距随幼苗的生长手动调整。在4月1—5日的幼苗生长期内,每天08:00—18:00每1 h拍照取样1次。由于有的穴孔中播种了2株番茄幼苗,且2株幼苗间生长状况不同,使得番茄幼叶交叉重叠,部分试验情况见图2。

1.2 研究方法

本研究提出UF算法分割可分为4个阶段:第一阶段,用ExRG法将幼叶从背景中提取出来,其阈值由最小误差分割法确定,得到幼叶主体区域;第二阶段,对获取的试验图像进行裁剪,过滤掉无效数据,对有效图像进行标记,建立数据集,训练、验证U-Net模型。第三阶段,用训练好的U-Net模型对幼叶主体区域进行分割;同时用FCM算法对幼叶主体区域进行分割。第四阶段,用本研究提出的结合分割方法,将基于FCM算法提取的过渡区域和U-Net模型提取的过渡区域进行结合分割。算法流程见图3。

1.2.1 幼叶主体区域的提取

在对穴盘幼叶进行图像处理前,需要先将幼叶与背景分离。通过增加幼叶区域与非幼叶区域的对比度,来生成一个突出的特定感兴趣区域,通常用ExRG方法[10],即超绿减去超红指数,可以放大绿色植物与背景颜色的差异,通过绿色幼苗与基质土和穴盘颜色的不同来分割绿色植物,来突出幼叶区域与非幼叶区域的区别。公式如下:

ExG=2G-R-B;(1)

ExG=1.4R-B;(2)

ExRG=ExG-ExR。(3)

式中:R、G、B分別为绿、红、蓝归一化的颜色分量。

本研究在ExRG的基础上,通过最小误差分割法,确定幼叶与背景之间分割的阈值。最小误差分割法是一种基于高斯分布的方法。假定图像中的幼叶区域(图4中实线)和非幼叶区域(图4中虚线)服从高斯分布,由高斯分布的特点可知2条曲线的交点(图4中Q点)即为误差分割的最小阈值。本研究所获取的图片是在自然条件下获取的,服从高斯分布规律,因此该方法可以用来寻找阈值的最小值。用ExRG法对样本1的穴盘苗图像处理后的结果见图5,幼叶区域被完整的从背景区域中提取出来,并且幼叶区域的边缘完整清晰。

1.2.2 U-Net分割模型的构建

1.2.2.1 数据的预处理

获取的试验数据原始图像像素大小为3 072像素×2 048像素,由于原始图像分辨率较大,为了避免无用信息的干扰,提高前置背景与后置背景的对比度,将试验数据的分辨率裁剪为521像素×512像素,同时去除掉无效图片。

为了解决样本不足的问题,防止过拟合现象的出现,通过任意角度旋转变换和透视变化、最小二乘法变换扩大样本集,由之前200张样本集扩充为(200×16)张样本集,并将样本集打乱,用留出法将训练集、验证集、测试集按照3 ∶1 ∶1的比例即训练集1 920张、验证集640张、测试集640张随机分配,最大程度上保证数据分布的一致性,避免因数据划分过程中引入额外的偏差而对最终结果产生不必要的影响。

1.2.2.2 U-Net模型的改进

U-Net在全卷积神经网络的基础上对其结构进行优化,是一种改进型全卷积神经网络,其网络结构的前半部分和传统的卷积网络相同,最初用于医学图像语义分割,随后在目标检测与图像分割中得到广泛应用[11]。由图6可见,该网络结构包括收缩路径和扩展路径2个部分,并且收缩路径和扩展路径呈对称分布。其中,左侧收缩路径用来捕获幼苗图像中的幼叶区域信息相关的全局特征,由重复的卷积层和最大池化层构成,卷积核大小为3×3,最大池化層大小为2×2,下采样过程会加倍特征通道数目。右侧的扩张路径用来对幼苗图像中的幼叶区域进行精准定位,恢复高级语义特征和空间信息,上采样过程会减半特征通道数量,然后将反卷积得到的特征图与相应的收缩路径特征图进行拼接融合,并将拼接后的结果进行卷积操作[12]。

原始的U-net网络使用ReLU激活函数,虽然ReLU激活函数可以缓解梯度消失问题,使收敛时的速度加快,但是ReLU激活函数更容易忽略包含有用信息的负激活,在模型训练中分割效果不明显。本研究使用Maxout激活函数代替ReLU激活函数,Maxout公式如下:

f(x)=max(wT1x+b1,wT2x+b2,…,wTnx+bn)。(4)

式中:wi为每个神经元连接的权重;bi为偏移量。

Maxout函数既可以有效缓解梯度消失问题,又

可以避免ReLU中出现的神经元死亡问题。同时,像传统的ReLU激活函数只能对二维函数进行数据拟合。Maxout激活函数还能对任意维度的函数进行数据拟合,提高模型的普适性。幼叶分割属于二元分类问题,考虑的是像素是否作为幼叶像素,交叉熵被用作损失函数[13-14],具体公式如下:

L=-1m∑mi=1[tilog2yi+(1-ti)log2(1-yi)]。(5)

式中:L为交叉熵损失函数;m为训练数据的总数;yi为网络模型的预测值;ti为网络模型的真实值。

由于U-net网络中有许多非线性隐藏层,导致模型在学习过程中输入和输出之间存在非常复杂的关系[13]。在训练数据有限的情况下,这些复杂关系中的许多关系都将涉及噪声[14]。为了防止噪声和过度拟合的现象,添加Dropout层可以在一定程度上解决这种问题。Dropout方法就是在训练模型的过程中,将某些神经元以一定的概率停止工作,增强模型的泛化性。Dropout公式如下:

ytrain=x1-p′  ξ>p′,ξ∈U(0,1)

0其他。(6)

式中:ξ为Bernoulii随机函数;p′为节点输出概率。

1.2.3 基于FCM算法的幼叶主体区域分割

FCM算法最早由Dunn提出来的,随后由Bezdek改进而来[15]。基本思想是以求解损失函数为核心,这种聚类方法将给定的数据集通过不断更新聚类中心和隶属度矩阵使损失函数最小,得到对应的隶属函数和聚类中心,从而分到不同的相似组中,以完成对图像的分割。损失函数具体如下:

JFCM=∑ci=1∑Nk=1umik ‖xk-vj‖2。(7)

式中:umik表示在i类中第k个样本点xk的隶属度矩阵;m表示模糊加权值;vj表示第j个聚类中心;‖xk-vj‖2 表示第k个样本点到第j个聚类中心的欧式距离;c表示类别数。

在求解目标函数的最小值时,在隶属度归一化的约束下,通过增加拉格朗日乘子来寻找和构造新的函数。解决方案公式如下:

F(U,v1,…,vC,λ1,…,λn)=∑ci=1∑Nk=1(umik‖xk-vi‖2)+∑NK=1λk[∑ci=1(umik-1)]。(8)

式中:λk为拉格朗日乘数。对式(8)中的U和v求偏导的uik和vi如下:

uik=(‖xk-vi‖)-2/(m-1)∑ncl=1(‖xk-vi‖)-2/(m-1);(9)

vk=∑nk=1umikxk∑nk=1umik。(10)

式中:n表示像素点的总数目。

利用FCM算法再次将幼叶主体区域分割,并将前景和背景之间存在的边缘像素的平均值作为图像前景和背景之间的参考阈值。在本试验中将类别数c设置为2,将模糊加权值m设置为2,终止标准值ε设置为10-6。

1.2.4 结合分割

U-Net模型虽然可以很好地将重叠的叶片分割开,但由于网络模型中卷积和池化层的存在,在分割幼叶过程中,对于幼叶边缘存在凹槽状时,易使分割出来的结果产生欠分割现象,结果如图7-b所示。而基于FCM算法聚类分割的结果虽然可以避免产生欠分割现象,但是却很难将重叠的幼叶分割开(图7-c)。因此,在FCM分割结果的基础上,设计结合分割方案。首先将 U-Net 模型分割结果和FCM分割结果之间重叠的过渡区域提取出来,其中包含重叠叶片间的过渡区域,再将提取的结果与FCM分割的结果相结合,所得的结果即为最终的分割结果(图7-d)。图7-a为原始图片,图7-b为基于U-net网络模型分割提取的过渡区域,图7-c为基于FCM算法提取的过渡区域,图7-d为结合分割。其中结合分割具体计算公式如下:

Ttrue=(TU∩TF)∪TF。(11)

式中:Ttrue表示最终的结合分割结果;TU表示U-Net模型的分割结果;TF表示FCM算法的分割结果。

2 模型的训练

该试验是在win10操作系统下,基于TensorFlow 1.4和keras 2.1.2的深度学习框架下完成的。所使用的编程语言为python,版本为python3.6,语言编译器为pycharm,硬件环境为型号Intel i7-7700k处理器,GTX1060图形显卡,硬件内存为 16 GB。

2.1 模型训练

在TensorFlow框架下实现本研究的U-Net网络结构(图6),将训练集输入到模型中,训练中使用小批量随机梯度下降(mini-batch gradient descent,简称MBGD)算法[16],相对于随机梯度下降(stochastic gradient descent,简称SGD)其噪声更小,相对于批量梯度下降(batch gradient descent,简称BGD)其算法的迭代耗时更少,并且对大量数据的训练集有很好的梯度下降效果。通过大量的试验,确定了超参数,将初始学习率设置为0.1×10-5,学习率衰减因子设置为0.5,batch值设置为6,学习动量设置为0.9,迭代次数設置为3×104次。模型训练过程中损失率见图8,初期函数值迅速下降,迭代2 500次后函数基本收敛,虽然迭代2 500次后损失率有扰动,但是基本稳定在7.4×10-3。准确率见图9,迭代2 700次后函数基本收敛,准确率基本稳定在97%左右。模型训练结束后,将番茄苗测试集图导入训练好的U-net模型中,进行番茄幼苗图像分割。

2.2 本研究算法的评价指标

采用目前较为成熟的评判标准对本研究的算法进行评估,即准确率(Ac)、精准率(Pr)、召回率(Re)和F1-分数[17-18]。其计算公式如下所示:

Pr=TPTP+FP;(12)

Re=TPTP+FN;(13)

Ac=TP+TNTP+FN+FP+TN;(14)

F1-分数=2×Pr×RePr+Re。(15)

式中:TP即真阳性,表示正确预测为幼叶的样本数量;FP即假阳性,表示将背景预测为幼叶的样本数量;FN即假阴性,表示将幼叶部分预测为背景的样本数量;TN即真阴性,表示正确预测为背景的样本数量。

为了将结果评价的更为合理,Dice系数也被用来评估本试验的结果。Dice系数通常用于评判给定图像分割的性能[19],这是2个不同目标之间的一种相似性度量。Dice系数的值为2个目标之间重叠像素数除以2个目标的总像素数。Dice系数计算如下:

Dice=2×|E∩Q||E|+|Q|。(16)

式中:E表示本研究算法分割的幼叶区域像素;Q表示幼叶区域真实的像素;|E∩Q|表示2幅图相交的像素。

3 结果与分析

为保证试验的准确性,另取数据集外的10张图片进行试验。同时将文献[14]中提到的分割方法作为对照,部分结果见图10,文献[14]是用L-M算法改进BP神经网络,用平方误差取代均方误差,虽然可以提高收敛速度,但所产生的分割结果出现了较多细小轮廓,并且在幼叶与茎连接的细小区域,过分割现象严重。文献[14]在进行试验的过程中是将叶片从植物上摘取下来进行图像处理,对植株有一定的破坏性,试验过程中叶片背景简单,在实际应用的过程中效果较差。

同时为了使对比效果更加明显,将UF算法和文献[14]中算法测试的性能指标绘制成精准率-召回率(P-R)曲线,结果如图11所示。从图11可以清晰地看出UF算法曲线在文献[14]算法曲线上方,并将UF算法曲线完全包裹。所以本研究算法相对文献[14]算法泛化性更强。

为了更加精准和有效地评估本研究算法,与传统分割算法和其他深度学习模型算法进行定量的对比分析(表1)。从不同算法的分割性能结果对比(表1)可以看出,基于深度学习的分割R-CNN模型和U-Net模型的产生的分割结果要优于基于传统分割算法的图论算法和粒子群算法。本研究算法与仅基于U-Net模型相比,其Pr值提高1.23百分点,Re值提高0.4百分点,Ac值提高0.43百分点,Dice系数提高1.84百分点。综上所述,本研究分割算法提取的幼叶区域与幼叶区域真实值相近,边缘清晰准确。

4 结论

针对穴盘幼叶区域提取的过程中幼叶与背景分离困难、重叠叶片分割精度低的问题,本研究设计了一种基于U-Net模型与FCM算法相结合的穴盘幼叶分割方法,与不同的算法进行了分割效果对比。试验结果表明,本研究所提出的方法可以有效去除穴盘苗背景,准确地分割重叠叶片,避免了传统方法参数调整复杂的问题,有效清晰地分割了幼叶区域,有较好的泛化效果,改善了幼叶的分割性能,可以为后续幼苗病虫害检测、不同种类区分、质量检测提供支持。

参考文献:

[1]刘 超. 新疆番茄加工产业的现状及发展前景分析[J]. 现代食品,2018(13):4-5,9.

[2]文永双,张俊雄,袁 挺,等. 蔬菜穴盘苗移栽自动取苗技术现状与分析[J]. 中国农业大学学报,2021,26(4):128-142.

[3]付 豪,万 鹏,施家伟,等. 基于机器视觉的玉米幼苗叶面积检测装置设计及试验[J]. 华中农业大学学报,2020,39(1):161-170.

[4]孙 俊,宋 佳,武小红,等. 基于改进Otsu算法的生菜叶片图像分割方法[J]. 江苏大学学报(自然科学版),2018,39(2):179-184.

[5]郑艳梅,黄光耀,芦碧波,等. 结合深度学习和引导滤波的苹果叶片图像分割[J]. 中国农业大学学报,2020,25(9):112-120.

[6]Praveen Kumar J,Domnic S.Image based leaf segmentation and counting in rosette plants[J]. Information Processing in Agriculture,2019,6(2):233-246.

[7]Wang P,Zhang Y,Jiang B R,et al. An maize leaf segmentation algorithm based on image repairing technology[J]. Computers and Electronics in Agriculture,2020,172:105349.

[8]Anam S.Segmentation of leaf spots disease in apple plants using particle swarm optimization and K-means algorithm[J]. Journal of Physics:Conference Series,2020,1562:12011.

[9]郑小南,杨 凡,李富忠. 农作物图像分割算法综述[J]. 现代计算机,2020(19):72-75.

[10]Zhang K,Zhao L N,Zhe S,et al. Design and experiment of intelligent grape bagging robot[J]. Applied Mechanics and Materials,2013,389:706-711.

[11]Lavania S,Matey P S.Novel method for weed classification in maize field using otsu and PCA implementation[C]//IEEE International Conference on Computational Intelligence & Communication Technology,2015,Ghaziabad:IEEE,2015:534-537.

[12]Isensee F,Petersen J,Klein A,et al. nnU-net:self-adapting framework for U-net-based medical image segmentation[M]//Tolxdorff T,Deserno T M,Handéls H,et al. Informatik aktuell.Wiesbaden:Springer,2019.

[13]Ibtehaz N,Rahman M S.MultiResUNet:Rethinking the U-Net architecture for multimodal biomedical image segmentation[J]. Neural Networks,2020,121:74-87.

[14]王中意,車 进. 基于改进型BP神经网络的重叠叶片边缘重建[J]. 河北农业大学学报,2018,41(5):137-142.

[15]Wang C,Pedrycz W,Li Z W,et al. Residual-driven fuzzy C-means clustering for image segmentation[J]. Journal of Automatica Sinica,2021(4):876-889.

[16]赵晓晴,刘景鑫,张海涛,等. 色彩空间变换和基于距离变换的分水岭算法在白细胞图像分割中的应用[J]. 中国医疗设备,2019,34(7):5-9.

[17]叶佳英,邓 飞,王佩欣,等. 基于机器视觉的珍珠颜色特征提取与识别[J]. 江苏农业科学,2019,47(20):226-230,240.

[18]杨奕铭,邸馨瑶,宋怀波. 融合超像素分割算法与肢体特征的奶牛躯干精确分割方法[J]. 江苏农业科学,2020,48(15):253-260.

[19]Riza L S,Nasrulloh I F,Junaeti E,et al. gradDescentR:an R package implementing gradient descent and its variants for regression tasks[C]//International conference on information technology. Yogyakarta,2016.

猜你喜欢

图像分割
基于图像分割和LSSVM的高光谱图像分类
计算机定量金相分析系统的软件开发与图像处理方法
基于自动智能分类器的图书馆乱架图书检测
一种改进的分水岭图像分割算法研究
一种图像超像素的快速生成算法
基于鲁棒性的广义FCM图像分割算法
一种改进的遗传算法在图像分割中的应用
基于QPSO聚类算法的图像分割方法
基于分水岭算法的颅脑CT图像分割研究