基于YOLOv4和双重回归的复杂环境檀香树缺苗定位方法

2023-01-05 06:03徐浩然牛家俊涂淑琴赵文锋
农业机械学报 2022年11期
关键词:缺苗线性像素

张 宇 徐浩然 牛家俊 涂淑琴 赵文锋

(1.华南农业大学电子工程学院(人工智能学院),广州 510642;2.华南农业大学数学与信息学院,广州 510642)

0 引言

檀香树是一种在亚热带地区种植的农作物,其生长缓慢,经济价值极高[1]。如果在其生长过程中,缺苗补种不及时,会造成檀香树生长时差长、植株差异大,导致更为严重的遮挡死亡,因此及时检补缺苗,才能保证檀香园产量。目前,主要依赖人工进行缺苗排查,该方法成本高、效率低且效果难以监管,这些问题也同样发生在其它大规模作物种植园。因此,亟需一种智能缺苗检测技术取代人工,进行智能实时缺苗检测和定位,该技术对智慧种植、作物生长过程智能化监控和提高作物产量具有重要意义。

近年来,智能缺苗检测逐步成为智慧农业的一个研究热点,国内外研究团队从穴盘到自然环境种植场景均取得了研究成果。在标准穴盘种植中,王永维等[2]采用灰度化和Otsu阈值分割等数字图像处理技术,依次获取幼苗和穴盘二值图、穴孔位置、穴孔内苗的生长情况,实现缺苗判断;张国栋等[3]采用类似方法识别好苗、坏苗和空穴,并开发了穴盘苗检测系统;文永双等[4]利用光纤传感器信号进行缺苗判断,同时设计了穴盘种植移栽缺苗补偿系统。

在自然环境下,对作物检测[5-8]、行识别[9-15]是实现缺苗检测的关键。尽管这些方法对相对规则、种植单一的自然场景缺苗检测效果良好,然而却很难适应檀香树种植,原因在于,檀香树人工种植行列不齐或受台风、暴雨等影响,行列有时会偏离直线排列很大;必备的伴生植物和插种的木薯等作物,使檀香树植株处于非常杂乱的环境;另外,檀香园通常位于不规则的湿热地带,地块边缘的植株容易出现被漏检或错检等,这种情况需要算法进一步优化。

基于处于复杂生长环境且需要及时补苗的檀香树种植需求,本文拟充分运用无人机遥感技术的快速采集、YOLOv4的精准目标检测,并构建以列线双重回归及延长补漏策略为核心的缺苗定位算法,以期为其提供快速、精确、有效的技术支持。

1 数据获取与处理

1.1 数据采集

于2020年9月29日在广东省台山市白沙镇研究区(22.14°N,112.83°E,如图1所示),使用大疆Phantom4型无人机进行了檀香树遥感图像样本采集。设置云台拍摄角度为垂直地面,航向重叠率80%,拍摄高度分别为10、20、30 m,每幅图像尺寸为4 000像素×3 000像素,航拍区域覆盖略大于试验区域。共采集1 051幅遥感图像,其中拍摄高度10、20、30 m的图像分别有696、155、200幅。所有拍摄高度的遥感图像中,随机取出557幅用于檀香树目标检测模型训练、验证和测试;从拍摄高度为30 m的遥感图像中取40幅用于檀香树缺苗定位任务。

图1 研究区示意图

1.2 数据集构建

将采集的遥感图像用LabelImg工具进行标注,根据检测和缺苗定位任务,进行2种不同的标注。

首先,按照Pascal VOC[16]数据集格式,对检测任务的557幅遥感图像中的檀香树植株标注,标签为“sandalwood”,标注文件包含每幅图像目标檀香树的像素坐标及标签,并划分成训练集、验证集和测试集,分别占比80%、10%和10%,用于YOLOv4模型的训练、验证和测试任务。

其次,按照YOLO数据集格式,对进行缺苗定位任务的40幅遥感图像,用150像素×150像素的框标注1 746个真实缺苗区域,标签为“empty”,同时对其中的檀香树植株标注与检测任务集一致。评测檀香树缺苗定位算法(missing seeding localization algorithm,MSL)前,需要根据种植列方向对图像进行旋转。两部分数据集的标注示意如 图2 所示。

图2 檀香树及缺苗位置

2 研究方法

首先用YOLOv4目标检测模型检测檀香树目标。然后构建缺苗定位算法:基于檀香树目标的像素坐标关系划分列区域;利用双重列线性回归和延长回归线策略拟合生成、优化檀香树的列回归线排列;在各条列回归线上,根据檀香树植株间距和规划距离30 cm的关系,实现缺苗定位。算法缺苗定位方法流程如图3所示。图中,[,]表示缺苗位置信息,如[2,3]表示在第2列、第3个位置缺苗。

图3 缺苗定位方法流程图

2.1 YOLOv4算法

檀香树植株检测是实现缺苗定位的前提,需要充分利用深层语义特征的深度学习方法进行。基于深度学习的目标检测算法分为两类算法:基于候选区的两阶段算法,主要代表为R-CNN、Faster R-CNN、Mask R-CNN[17-20]算法;基于回归的单阶段算法,主要代表为SSD[21]、CenterNet[22]、YOLO[23-27]系列算法。其中单阶段算法相比两阶段算法,更具速度优势,因此适用于无人机遥感影像的快速检测应用。考虑到运行效率与精度的需要,选择YOLOv4作为檀香树检测器。

YOLOv4网络结构分为输入端、Backbone、Neck和Head。在输入端,YOLOv4算法创新了Mosaic数据增强和Self-adversarial-training(SAT),提高了模型的泛化能力;在Backbone阶段采取了CSPNet[28]的方法,将基础层的特征映射为两部分,并使用跨阶段层次结构将两部分合并,减少了计算量,进而从图像中提取丰富的特征信息;在Neck阶段采取PANet[29]的方法,PANet采用了一种自下向上路径的特征金字塔网络(Feature pyramid networks,FPN)结构,避免信息丢失问题,提高了检测不同尺寸和尺度物体的能力。YOLOv4网络结构如图4所示。

图4 YOLOv4网络结构示意图

2.2 缺苗定位算法

遥感图像上可观察到檀香园中植株间距大、种植列线偏离理想直线、行线混乱问题。为应对这些问题,本文充分利用双重线性回归结合延长列回归线补漏的策略,并在此基础上构建缺苗定位算法(MSL)。完整算法如图5所示,主要分为以下5个步骤:

图5 缺苗定位算法流程图

(1)基于YOLOv4预测的檀香树像素坐标确定列基准位置,并进行列区域分配。

在P中随机取出一个檀香树目标pi,将pi作为一个列区域的基准,并从P中移除pi。在P中进行遍历:若存在一个檀香树目标pj(pj∈P),且pj的横坐标范围Xj与pi的横坐标范围Xi有交集,表示为Xi∩Xj≠∅,则将该檀香树目标pj归属到pi作为基准的第k个列区域Rk,并从P中移除pj;将所有横坐标范围与Xi有交集的檀香树目标分配至同一个列区域Rk,则该列区域Rk由m个檀香树目标共同组成,将该列区域记为Rk={pk1,pk2,…,pki,…,pkj,…,pkm};当P中除pi以外的所有檀香树目标均遍历完成,则随机选取下一个檀香树目标并作为一个新的列区域的基准,重复上述遍历操作,直至P中所有的檀香树目标分配至列区域。

(2)对所有列区域进行线性回归,得到相应的列回归线。

wi——线性回归表达式权重

bi——线性回归表达式偏置

该线性表达式通过最小二乘法训练得出。

将wi初始值设为0,bi初始值设为该列区域Ri的x坐标平均值。若列区域目标数大于1,则进行线性回归;否则,将该列区域线性回归表达式fi的wi、bi固定为初始值。

(3)延长列回归线,将位于延长段上的边缘目标归属至该直线所属的列区域中。

实际种植中的檀香树分布存在偏离理想直线的问题。在此情况下,步骤(1)中列区域分配并未很好地找到偏离种植直线的目标,而步骤(2)线性回归拟合出大致的列向分布规律,在此基础上步骤(3)进行延长回归直线,将其他边缘目标重新归属至正确的列区域,一定程度上可以补回偏离种植直线的目标。

(4)对扩充后列区域中的目标进行第2次线性回归,修正线性回归直线,使之更准确表达每列植株排列分布规律。同时,未扩充的列区域不参与第2次线性回归,该设定减小了性能浪费,同时保持拟合精度。

(5)将真实规定种植距离30 cm转换为遥感图像中像素距离(本场景为300像素),并在每个列区域的线性回归直线上进行缺苗定位。

在每一个线性回归函数fi(q)中,q表示像素数且q∈[0,H],H表示遥感图像像素高度。若存在一个q,使得位置(fi(q),q)与其同一回归线上相邻的檀香树目标或缺苗目标中心像素欧氏距离大于设定距离,将其设定为缺苗位置,并在遥感图像中标识。重复上述操作,直至所有列回归线遍历完成,最终输出带有缺苗位置标识的图像。

3 试验

3.1 试验环境

训练YOLOv4模型的Ubuntu服务器环境配置有Xeon E5-2678 v3 CPU,NVIDIA Tesla K80显卡。

缺苗定位试验所用的计算机硬件环境配置CPU为AMD 5800H,系统环境配置操作系统为Windows 10、科学计算的Python发行版anaconda(Python 3.8)、Pytorch 1.8.2深度学习框架和Cuda 10.2加速程序。

3.2 评测指标

采用精确率(Precision)、召回率(Recall)、F1值(F1-score)、运行时间作为评测指标,对本文缺苗定位方法进行性能评测。

3.3 结果与分析

3.3.1完整算法与残缺算法结果对比与分析

对1.2节中缺苗定位任务40幅遥感图像进行评测,MSL完整算法共判断1 654个缺苗位置,准确判断1 436个,错误判断218个,漏判断310个。测试平均运行时间8.19 s、精确率86.82%、召回率82.25%、F1值84.47%。从图6不同图像色调、场景的缺苗定位结果和表1评测结果可以看出,本文方法可以针对不同条件的复杂自然环境,精确识别檀香树真实缺苗位置,同时向种植园工作人员提供清晰位置(即行、列)信息。

图6 缺苗定位结果

表1 算法评测结果对比

为了验证MSL完整算法的必要性,对完整步骤算法和残缺步骤算法进行比较。完整步骤算法中,经过了列区域分配(Partition)、列线性回归(Regression)、延长回归线(Extension)、第2次列线性回归(Regression)和缺苗定位(Localization),称为MSL-Full算法;残缺步骤算法为经过列区域分配、列线性回归、缺苗定位的算法,称为MSL-PRL算法;仅经过列区域分配和缺苗定位的残缺步骤算法称为MSL-PL算法。

算法评测结果对比如表1所示。其中经过完整步骤的MSL-Full算法评测性能最好,精确率较MSL-PRL提高0.86个百分点,F1值提高0.32个百分点;精确率较MSL-PL提高5.95个百分点,F1值提高3.49个百分点。

图7直观地对比了3种算法的表现。在图7a对比中,如红色框所示,MSL-PL所预测的植株回归直线并未拟合种植列线,且斜率为0,因而预测的缺苗区域偏离真实缺苗区域;MSL-PRL与MSL-Full均拟合了真实种植列线,且延长回归直线时并未检测到边缘目标,所以两者预测的回归直线以及缺苗位置相同。在图7b对比中,如红色框所示,MSL-PL、MSL-PRL在同一真实种植列区域中均预测出双列回归线,该误差由列区域分配中随机选取基准点步骤产生;而MSL-Full将MSL-PRL产生的回归直线延长,将该列区域附近的边缘目标纳入,删除多余列区域及对应的回归直线,再通过第2次线性回归操作,使回归直线更贴合真实种植直线,最后预测的缺苗位置也较MSL-PL、MSL-PRL算法更为精确。

图7 完整步骤算法与残缺步骤算法比较示例

综上,完整步骤算法比残缺步骤算法在缺苗定位的过程中更好地拟合了植株分布规律,因此具有更好的缺苗定位性能。

3.3.2缺苗定位中檀香树检测训练结果与分析

YOLOv4训练设置如下:

(1)参数设置:设置网络输入图像尺寸为640像素×640像素;每次迭代训练的样本数为2;开启冻结训练150轮,学习率为0.001;关闭冻结训练后训练100轮,学习率为0.000 1;两阶段训练均设置余弦退火学习率调整策略。

(2)训练策略:训练前,载入预训练权重;在训练过程中,通过采用Mosaic增强、旋转、翻转、调整色调等方式在线生成更多训练样本,提高网络鲁棒性和准确性。

如图8评测结果所示,在檀香树目标检测任务测试集中,YOLOv4模型平均精度(Average precision,重叠率0.5)为96.66%;在缺苗定位任务数据集中平均精度为98.52%。表明该目标检测模型能够应对复杂的自然环境,精确检测出檀香树目标,为进一步缺苗定位做好准备。

图8 YOLOv4评测结果

3.3.3缺苗定位误差分析

本文缺苗定位方法还存在一定误差,误差主要来源于目标检测算法对檀香树多检和漏检。

如图9a红框内容所示,目标检测算法无法识别该位置的檀香树,根据植株距离设定,缺苗定位算法将该位置判断为缺苗位置,从而造成目标检测漏检误差。如图9b红框内容所示,对非檀香树误判定为檀香树,并将该目标所在列判断为种植列,最终对此列错误地缺苗预测,造成目标检测多检误差。这两类误差是因为目标检测模型对小目标识别精度低,无法区分部分檀香树小苗与周围杂草植株而导致的。

图9 目标检测漏检、多检误差

4 结束语

针对复杂的生长环境,基于YOLOv4算法和双重回归策略,提出了一种檀香树实时智能缺苗定位方法。通过将遥感技术、YOLOv4目标检测算法与MSL算法相结合,先定位檀香树目标,再依次使用列区域分配、列线性回归、延长回归直线、第2次线性回归方法,最后实现了在回归直线上定位缺苗位置。同时,提出了一种根据真实缺苗区域与预测目标点位置关系验证的评测方法,评测结果表明,该缺苗定位方法的精确率86.82%、召回率82.25%、F1值84.47%、运行时间8.19 s。相比人工巡查的传统方案,该缺苗定位方法结合了遥感技术,利用了快速飞行的无人机与高效的缺苗定位算法,更体现高效实时优势;与蔬菜穴盘苗缺苗定位方法对比,无需过多结构化要求,便能解决复杂的自然环境下檀香树植株缺苗定位问题。

猜你喜欢
缺苗线性像素
像素前线之“幻影”2000
二阶整线性递归数列的性质及应用
线性回归方程的求解与应用
玉米田缺苗断垄的原因与预防措施
“像素”仙人掌
玉米缺苗坏种的原因及保苗栽培技术研究
非齐次线性微分方程的常数变易法
ℝN上带Hardy项的拟线性椭圆方程两个解的存在性
浅谈如何提高田间出苗率和保苗率
高像素不是全部