APP下载

基于根点替代的猕猴桃果园行间导航线生成方法研究

2021-09-16董子扬陈志军石复习

干旱地区农业研究 2021年5期
关键词:行间树干猕猴桃

马 驰,董子扬,陈志军,朱 悦,石复习

(西北农林科技大学机械与电子工程学院,陕西 杨凌 712100)

农机导航是农田精准作业的关键技术[1-2],主流技术包括卫星定位导航、激光雷达导航和视觉导航等[3-4]。在郁闭型果园和茂密林地环境下,GNSS地面导航通过卫星实时获取作业机械的绝对位置信息,定位信号受到稠密枝叶遮挡和地形影响,易导致定位精度下降和信号丢失[5-6]。激光雷达导航通过光束快速扫描测距获得环境目标点云数据,地图构建算力要求高,导航特征提取困难、冗余信息多,设备成本高,果园使用受到限制[7-8]。

视觉导航通过相机获取环境图像,采用图像处理、深度学习和导航特征目标检测等技术获取导航线,具有探测信息层次多、环境适应性强、语义明确、成本低等特点,适用于低速、复杂、多变的果园导航环境[9-11]。果园行间导航线获取的关键技术流程可分为树行特征检测、行间边线生成和行间中线生成。其中,行间边线生成是核心步骤,根据其提取思路可分为直接提取法和间接提取法。

直接提取法是以连续成片的作物或行间道路为特征目标进行行间边线提取。Radcliffe等[12]采用以果树树冠和天空为背景的导航策略,根据果树树冠和天空之间的分界线拟合出导航线。该方法提取的分界线受冠层枝叶生长状况干扰,进而生成的导航线精度不稳定。Montalvo等[13]针对玉米地多杂草环境,采用二次Otsu算法分割图像,并通过最小二乘法拟合导航线。此方法适用于作物行间的杂草和农作物叶片色差明显的情况,对果园季节变换带来的作物色差变化有一定局限性。李文洋[14]以猕猴桃园单侧行垄上的地膜为导航特征,通过在HSV颜色空间下提取H通道并进行灰度化处理再结合Otsu算法将行垄提取出来,用最小二乘法进行行垄导航线拟合,该算法只适用于行间有地膜的猕猴桃果园环境,适用范围较窄。韩振浩等[15]通过U-Net网络对果园图像中的道路进行分割,利用扫描法提取道路两侧边缘点,进而生成道路拟合中点,最后采用三次B样条曲线拟合道路导航线。该方法只适用于道路两侧边缘明显的果园,而猕猴桃果园行间道路两侧边缘信息复杂、变换频繁,道路分割难度大。上述研究是通过直接提取行间边线的方式生成树行线或者行间道路边线,适用于作物成片或道路边缘信息明显的环境,在提取行间边线时,易受冠层枝叶生长状况或地面杂草的干扰,导致边界模糊、不确定性大,与实际的边线偏差大、导航线准确性较低,不适合苹果、猕猴桃等树干与树冠分离的果园。

间接提取法是对单个作物上共有的特征进行检测,并获取每个特征的定位基点,进而将多个定位基点连接以提取单侧边线。彭顺正等[16]针对矮化密植枣园,利用Otsu算法将枣树与背景分割,并选取树干与地面交点,最后利用最小二乘法拟合导航线。其中枣树行间的杂草对树干分割影响较大,导致选取的树干与地面交点不准确,造成最终导航线出现偏差。杨洋等[17]利用卷积神经网络对玉米抽雄期的根茎进行识别与定位,并利用最小二乘法拟合标记部位的特征点进而生成导航线,该方法只适用于玉米抽雄期根茎识别,无法识别玉米其他生育时期根茎,且获取玉米定位基点的方法不适用于猕猴桃树干。王毅等[18]基于深度学习方法对不同环境、不同光照条件下的柑橘果树树干进行识别,并获取果园道路上的特征点,最后采用最小二乘法拟合导航线,由于树干定位基点不完全在一条直线上,该方法利用一次函数提取行间边线,会造成较大误差,进而影响导航线生成的精度。上述研究均以间接方式提取行间边线并生成导航线,适用于作物特征明显且作物种植间距较大的情况。

因此,根据标准化猕猴桃果园株距规则、间距较大、树干特征鲜明的果树种植特点[19],选择间接提取法,以猕猴桃树干作为特征目标进行检测。由于猕猴桃果树树干纤细、树干形状弯曲幅度大,棚架式猕猴桃果园株、行距大,地面背景复杂,传统图像处理方法易受果园环境以及光照条件变化等因素影响,对树干识别造成一定干扰。近年兴起的卷积神经网络通过图像本身自主学习图像特征,具有识别准确率高、适应性好和鲁棒性强等特点,适用于复杂环境下的猕猴桃树干检测[20]。猕猴桃行间环境中树干根点容易被杂草遮挡,导致根点提取难度加大、提取不准确等情况,不适合作为树干的定位基点。试验发现图像中每个树干的矩形检测框底边中点与树干根点的平均直线像素距离约为十几像素,两个特征点重合度较高,因此本研究提出果树根点替代的思路,以检测矩形框底边中点替代果树根点作为树干的定位基点,有效还原实际果树栽植位置构成的树行线,确保生成行间导航中线的准确性。

综上,本文提出一种检测框底边中点替代果树根点的导航特征目标检测方法。以猕猴桃树干为视觉导航特征,通过图像预处理和树干目标标记,构建猕猴桃树干目标样本库,利用Faster R-CNN训练生成猕猴桃树干目标检测模型,应用该模型实现行间近场区域猕猴桃树干的检测,利用根点替代法获取树干定位基点坐标,为缩小拟合的树行线误差进行多段三次样条插值法拟合生成树行线,通过左右树行线分割采点,并采用算法简单、运行速度快的最小二乘法生成导航线,以提高在果园行间环境下视觉导航的鲁棒性和准确性。

1 试验材料与方法

1.1 图像采集与预处理

试验图像采集于标准化棚架式猕猴桃果园,行距4 m,株距3 m,棚架高1.8 m。将CMOS相机水平安装在四轮小车上,拍摄时相机置于行间中央,距离地面0.8 m,采集相机正前方的行间环境信息。为保证数据集多样性、提高网络对检测环境的泛化能力,在晴天和阴天不同光照情况下,对地膜、杂草、土壤3种果园行间场景,共采集637幅行间图像,从中选取包括不同树龄、不同树形姿态的行间图像共计600幅,图像格式为jgp,分辨率为3024像素×4032像素。

由于图像中的树干为检测对象,为了最大限度减少非行间检测区域的干扰,提高训练速度和检测模型的精度,首先剪裁去除图像上部的天空和树冠、图像下部的地面等,经多次剪裁对比,当图像剪裁至1 500像素×900像素时,不同场景的样本图像均可包含行间信息;其次对裁减后的600幅图像进行水平翻转,将样本扩充至1 200幅图像,以提高检测模型的泛化性和鲁棒性。处理结果如图1(见227页)所示,除远端较小树干,每幅样本图像单侧树行可包含至少3个完整的树干样本,因此每幅图像可以提取至少6个独立树干样本;最后将扩充前的600幅图像与扩充后的1200幅图像分别作为数据集,每个数据集中80%的图像作为训练集,剩余20%的图像作为测试集。

1.2 训练样本标记

采用LabelImg对训练集中目标树干进行标定,构建猕猴桃树干目标样本库。人工标记过程中,将完整树干标记在矩形框内,确保树干根部与土壤连接处靠近标记框底边中点。根据作业小车0.5~1 m·s-1的行进速度,标记距拍摄点实际距离12 m以内的完整树干,此时最小树干高度为100像素,单侧树行可标记树干数3~5个,1 200幅图像的总标记树干数达7 918个。图像标记完成后,生成的标定标签以xml格式保存为标签文件,其中包含了目标的所属类别及标记矩形框左下角和右上角的像素坐标信息。

1.3 导航线生成流程

首先对图像信息进行预处理,裁剪图像中的冗余部分,并进行数据扩充,再将标记的树干特征图像导入迁移网络进行训练,获得猕猴桃树干检测模型。然后利用已训练好的树干检测模型进行行间树干检测,并基于根点替代方法生成已检测树干的定位基点坐标,进而用三次样条插值法提取树行线,最后采用最小二乘法生成导航线。具体流程如图2所示。

2 猕猴桃果园导航线生成方法

2.1 基于Faster R-CNN的猕猴桃树干识别模型构建

2.1.1 模型构建 Faster R-CNN为two-stage基本流程的目标检测算法,具有检测精度高,小目标检测效果好等特点,可提升图像中像素尺寸较小的树干检测准确率[21],且该算法在Fast R-CNN的基础上增加了区域建议网络(RPN),通过交替训练,使得RPN与Fast R-CNN网络参数共享,减少区域建议时间,提高了目标检测效率[22]。因此,本研究选择Faster R-CNN目标检测算法,以采集到的猕猴桃果园行间图像作为输入,对输入图像感兴趣区域进行特征提取,得到树干特征图。由区域建议网络生成矩形目标建议框,把建议窗口映射到特征图上,通过感兴趣区域池化层使输出特征图尺寸固定,将固定大小的特征图用Softmax进行目标类别的识别分类,并使用Smooth L1 Loss进行边框回归得到目标在图像中的精确位置。其中,为解决猕猴桃树干弯曲程度不一、形状变化大的特点,引入多长宽比的锚框。将卷积后特征图上的每个点都映射到原图上,即为锚的中心点,依据猕猴桃树干的高度与直径尺寸比例,设置锚框倍数为8、16、32,长∶宽分别为3∶1、4∶1、5∶1,得到9种不同尺寸的锚。

2.1.2 模型训练与结果 为满足深度学习需求,训练过程采用Windows10操作系统、Python编程语言、Tensorflow深度学习框架、CUDA9.0并行计算框架。根据以上系统算力需求,选用硬件为intel core i5-6300HQ处理器,主频2.3GHz,运行内存8G,显卡为Nvidia Geforce GTX 960M,4GB内存,支持GPU加速。

利用Faster R-CNN分别对扩充前后数据集中的训练集进行训练。如图3所示,训练过程随着迭代次数的增加,两组训练集检测网络的损失值逐渐减小,迭代次数到达6 000次时损失值均趋于稳定,迭代次数在10 000~18 000次时,损失值分别稳定在0.07~0.05区间,迭代次数大于6 000次时,扩充前后训练集的损失值平均差值约为0.02,两者无显著性差异。

利用测试集评估检测模型,召回率(Recall)和精确率(Precision)是最常用的评估标准,两者具有负相关性,难以同时达到最优,应针对导航需求综合考虑。猕猴桃果园中,预期检测距离为12 m,在该范围内成功检测出的树干数量是模型优劣的关键,因此召回率更重要。如图4所示,分别为扩充前与扩充后的图像组所训练的检测模型的精确率与召回率关系,当召回率分别大于0.76时,精确率有较大幅度下滑,此时检测模型的AP(Average Precision)值分别为0.770和0.775,两者的AP值差别不大,可知两者的检测模型精度差别很小,表明扩充前的数据集通过训练均获得稳定的检测模型,且扩充前的数据集在训练时所需时间更少,生成的模型体量也较小,有利于在硬件性能受限的移动设备上运行。因此,将扩充前数据集所训练的检测模型应用到后续树干识别中。

对测试集的图像进行树干检测验证,如图5所示,行间两侧猕猴桃树干作为识别的主体部分,有效工作距离内的树干可被准确识别。在有树干被遮挡或者有多个分支时,近景处的树干由于像素面积大识别率最高,在树干距拍摄点的实际距离大于12 m的中远端,图像高度小于100像素的树干未被识别,单侧树干识别数量均不小于3个,满足树行线生成的需求。

2.2 根点替代法

导航特征的选择与提取是果园行间导航的关键,棚架式猕猴桃果园具有树干分立、树干与树冠分离的特点,另外在建园时均以树干根点作为定位成行的基点,因此树干根点是最佳的行间导航特征。由于猕猴桃行间环境中树干根点的特征不明显、根点区域容易被杂草遮挡,成像后,树干根点在图像中占比很小,图像处理方法很难一一标记,增加了根点识别难度,因此,研究中提出基于根点替代的导航定位基点生成方法。首先,选择像素大、行间特征明显的果树树干作为导航特征,进行标记和检测,利用训练好的树干检测模型生成树干检测框;其次,根据检测框的几何特征,发现检测框底边中点与树干根点具有对应性。因此,采用矩形检测框底边中点替代树干实际根点的方法即根点替代法,为树行线的生成提供定位信息。

如图6所示,其中红色标记点为树干定位基点,黄色标记点为实际树干根点。先在图像中获取代表树干位置的矩形检测框位置信息,再根据检测框左上角和右下角的像素坐标计算出底边中点,作为树干定位基点,实现树干根点位置替代。

使用根点替代法所产生的误差即为两点之间的直线像素距离,如图7所示,对图6采用根点替代法所产生的误差进行统计,结果表明,3种场景中共计23个树干的检测框中点与实际树干根点的图像像素误差集中,最大误差为20.5像素,最小误差为4像素,平均误差为11.3像素。

2.3 基于三次样条插值法的树行线生成

由于视觉识别误差受树干根点处生长环境影响,根点替代法获取的树干定位基点排列不规则,采用线性插值拟合生成的树行线难以涵盖所生成的全部树干定位基点,而三次样条插值法通过构造三次多项式,在相邻树干定位基点间生成拟合曲线,并将所有树干定位基点连成平滑曲线,较线性插值具有局部可控、连续性等优势,可以保证拟合出的树行线与建园时实际树行线的总体误差更小,为后续导航线的生成提供有利条件。因此,取单侧树行内两个相邻树干定位基点进行插值,通过多段三次样条曲线进行拟合,并生成完整平顺的树行线。

单侧树行线的生成基于n+1个树干定位基点xi(x=0,1,2,…,n),相邻的两个点即可得到一段三次样条曲线,第i段的表达式为:

(1)

其中,x∈[xi-1,xi],i=1,2,…,n;hi=xi-xi-1,再利用函数在S(x)在点xi处具有连续二阶导数的条件,根据三次自然样条插值法的条件,可得方程组:

(2)

其中:i=1,2,…,n-1,λ0=0,μn=0,g0=0,gn=0。求解方程组,并将Mi(i=0,1,2,…,n)代入公式(1),即可得到每个区间[xi-1,xi](i=1,2,…,n)上的三次样条函数[23-24]。

基于上式推导,对树行线上的树干定位基点进行多段三次样条曲线拟合,生成两侧树行线,如图8所示。

2.4 最小二乘法生成导航线

目标导航线为直线,在利用导航线拟合基点作为离散数据进行拟合时,本质是根据分散的导航线拟合基点构建相应的近似连续模型,而构建的连续模型通常是函数表达式。在此类拟合问题中,仅需要最终拟合出的函数与给定的导航线拟合基点排布的整体轮廓相似,且拟合的精度尽可能接近已知值,即拟合出的函数与已知值的误差应尽可能消除,一般要使误差平方和尽可能小。因此可采用最小二乘法解决上述问题,其通过最小化误差的平方和寻找导航线拟合基点的最佳函数匹配,生成导航线如图9(c)所示。

3 试验结果与分析

3.1 树干检测准确率

本试验根据树干在图像中的像素高度,结合样本库标记过程中对测试集中成功识别的树干高度像素为100以上的目标进行计数统计,如表1所示,统计结果表明,不同场景下的识别率没有较大差异,说明生成的检测模型可适用于变化场景下猕猴桃果园的树干识别。

表1 不同场景的树干正确识别率比较Table 1 Comparison of the correct recognition rate of tree trunks in different scenes

3.2 不同树干尺寸识别效果对比

在一幅猕猴桃园行间图像中,树干像素大小会对检测造成不同的影响,如果对象距拍摄点较近,树干对象比较完整清晰,则特征明显,识别难度低。由于透视原理,距拍摄点较远的树干在图像中像素占比小,特征模糊,甚至被前景树干遮挡,增加了检测难度。

本节对比试验共设置了3个梯度,树干像素高度分别选取大于300像素、200~300像素、100~200像素,相应测试集的树干识别统计结果如表2所示。树干像素高度在100~200像素的识别正确率为85.6%,树干像素高度大于300像素的识别正确率为94.6%,比另外两个梯度分别高出约4.7%和9.0%。综上可知,Faster R-CNN模型对树干像素高度大于300像素的检测效果最好,而像素高度在100~200像素之间的树干,由于图像占比小、树干特征模糊,造成目标检测能力不足,影响了检测准确率。

表2 不同高度像素树干的识别试验结果Table 2 Recognition test results of tree trunks with different height pixels

3.3 根点替代法定位误差分析

本试验分别选取了地膜、杂草和土壤3种行间场景,每种场景挑选50幅图像,共计150幅,进行根点替代法所生成的树干定位基点与实际树干根点的定位误差分析,以验证根点替代法的定位效果。如图10所示,以实际树干根点坐标为基点,计算出每个树干根点与树干定位基点的像素坐标差值,可以看出最大横向和纵向偏差都不超过30像素,且横向和纵向偏差多集中在20像素以内。因此,使用根点替代方法获取的根点与实际果树根点的横向像素误差占比为1.3%,纵向像素误差占比为2.2%,为了得到像素偏差对应的实际距离偏差,基于已标定的相机内参与畸变系数,通过针孔相机成像模型,将树干定位基点与实际树干根点从像素平面坐标转换至相机坐标,通过计算两点之间的欧氏距离得到实际距离误差平均为0.102 m。

3.4 拟合导航线偏差分析

导航线拟合效果如图11所示。为分析导航线与实际行间中线的偏差,如图12所示,实际道路中线与生成的导航线之间的夹角α即为导航线的航向角度误差,实际道路中间线的中点到导航线的水平距离A为横向像素偏差,地膜、土壤和杂草3种行间场景下的横向像素偏差A分别为4.8像素、5.0像素、5.4像素,平均横向像素偏差为5.1像素,实际平均横向偏差为0.052 m。导航线的航向角度误差夹角α分别为3.6°、2.9°、3.1°,平均航向角度误差为3.2°。并分别统计地膜、杂草和土壤行间场景共计150幅图像,横向像素偏差的统计结果如图13所示。

4 结 论

本文利用深度学习方法实现对猕猴桃行间树干识别,采用检测框底边中点替代树干根点的方法,获取单侧树行中近场区域多个猕猴桃树干栽植定位信息,通过三次样条插值法提取两侧树行线,再利用最小二乘法拟合最终的行间导航中线。结果表明选择猕猴桃树干作为视觉导航特征目标,避免了采用树干根点等小目标作为导航特征目标的复杂算法,减小了特征目标定位误差,可获得12 m视距范围内猕猴桃行间导航特征目标的有效定位信息,提出的根点替代法有效利用了深度学习算法的鲁棒性,提高了导航定位基点准确性。

(1)本文获得的基于Faster R-CNN目标检测模型能有效识别猕猴桃树干并对其进行检测,该模型在地膜、杂草和土壤3种行间环境下树干识别的正确率分别为90.6%、90.1%、89.4%,行间近距离树干目标的识别率高,像素高度大于300像素、200~300像素、100~200像素的树干正确识别率分别为94.6%、89.9%、85.6%,表明该模型对棚架式果园环境的树干识别有良好适应性。

(2)本文提出的检测识别框底边中点代替树干根点的根点替代法,所替代根点的实际偏差小。其识别定位根点与果树实际根点的图像像素误差集中,误差均在20个像素以内,其中,横向像素误差占比为1.3%,纵向像素误差占比为2.2%,表明根点替代法稳定性好、精度高,满足果园行间导航实际需求,可为果园行间左右边线的生成提供定位基点。

(3)生成的果园行间导航中线平均横向像素偏差为5.1像素,占比为1.4%,平均横向实际距离偏差为0.052 m,表明采用深度学习生成树干识别模型、根点替代法获取树行基点的视觉导航方法,对树干分立、树干与树冠分离的棚架式猕猴桃果园导航线生成,具有较强的适应性和较高的精度。

猜你喜欢

行间树干猕猴桃
行间生草模式对阜城梨栽植地土壤养分的影响研究
摘猕猴桃
猕猴桃落果咋应对
为什么树干不是方的?
行间种植油菜增加梨着果率和改善果实品质
提取猕猴桃的DNA
参观2018书刋国博会
为什么猕猴桃身上长满了毛?
为什么要在树干上刷白浆
为什么要在树干上刷白浆