原文链接:
https://www.sciencedirect.com/science/article/pii/S0168169924006550
目录
4.2.1:基于特征金字塔网络(FPN)提取特征映射的基本卷积神经网络(CNN)主干
4.2.2 :基于行-列关注的transformer编码器模块
一:Abstract(摘要)
二:研究背景与意义
自动驾驶农业机械的无人导航技术对于实现精准和智能化农业至关重要。作物行检测作为基于视觉的导航系统中的一个基本任务,对自动导航有着显著影响。然而,当前的作物行检测流程繁琐,需要多个步骤和手动调整参数,这限制了作物行检测的准确性、速度和鲁棒性。
本研究提出了一种基于行-列注意力的端到端深度神经网络,以简化作物行检测流程。该网络可以直接输出图像中作物行的坐标表示,无需额外的复杂后处理和手动参数调整步骤。这一方法的提出,旨在提高作物行检测的响应速度、精度和稳定性,对于提高农业机械的田间作业效率和操作安全性具有重要意义。
三:Materials(材料)
以茶田和菜地为研究对象,并制作了相关数据集。照片拍摄于浙江省金华市武邑市的茶园(28°51′N,119°45′E)和浙江省杭州市萧山市的菜地(30°19′N,120°30′E)。如下图所示,RGB 相机放置在 highland gap 轮式底盘上。在底盘移动期间,摄像头执行了视频录制。24 毫米焦距相机距离茶叶约 80 厘米高,角度在水平面下方 15° 至 30°,这是为了确保相机可以看到完整的作物行。视频像素为 1920 × 1080,录制格式为 h.264,帧率为 25 fps。视频录制完成后,视频的每 5 帧中就有 1 帧被拍摄为原始图像。
捕获裁剪行图像的采集和位置
在我们的方法中,一个作物行被定义为一系列2D点,这些点足够详细地表示作物行形状。考虑到大多数田地的作物行通常是细长的曲线,二维点可以用下式表示。
以图像左上顶点为坐标原点,其中s表示某一作物行的y起点,e表示该作物行的y终点,X表示N个等距y坐标对应的X坐标集
利用Labelme软件标记每张图像中作物行位置,根据公式(1,2)得到各作物行地面真值。 利用Labelme中的LineStrip工具对每一行作物的中心线进行标记,得到包含每一行作物坐标的标注文件。对于图像中的每一行作物,分别在顶部和底部取两个端点,得到顶点坐标s和e。在本工作中取顶部y坐标为s,底部y坐标为e,然后在标注文件中取顶部和底部N条水平线与作物行相交点的横坐标Xi为X。 在剔除相似度高且与实际工况不一致的图片后,得到茶叶田数据集共500张图片,按照7:2:1的比例将数据集随机分为训练集、验证集和测试集。对于菜地,使用相同的方法获得了包含300张图像的蔬菜数据集。
四:Methods(方法)
4.1:Overview of method(方法概述)
如下图所示:它由一个基于行-列关注的深度神经网络组成。该网络可以从原始图像输出一系列作物行表示,无需任何后期处理。
4.2:Method construction(方法构成)
Ep为位置嵌入,HR和HC为特征映射的行和列嵌入,Se为编码器的输出,Sd为解码器的输出。
模型的正向过程介绍如下:给定一个输入图像I∈𝑅^𝐶×𝐻×𝑊,首先是特征图𝐹𝑛×ℎ×𝑤通过带有 FPN 的 ResNet50 主干网从输入图像中提取。随后,特征图𝐹𝑛×ℎ×𝑤和位置嵌入𝐸𝑝被馈送到基于行列注意力的 transformer 编码器中,编码器的输出𝑆𝑒作为以下解码器的内存输入发送。接下来,在 decoder 模块中,一些可学习的 Object Queries 与输入内存一起执行基本的交叉注意力,即 decoder 的输出𝑆𝑑通过 FFN 模块以最终获取线路预测及其置信度。
主要由一下4个模块共同组建深度学习模型的架构:
基于特征金字塔网络(FPN)提取特征映射的基本卷积神经网络(CNN)主干
基于行-列关注的transformer编码器模块
基本transformer解码器模块
预测作物行数的前馈网络(FFN)模块
4.2.1:基于特征金字塔网络(FPN)提取特征映射的基本卷积神经网络(CNN)主干
ResNet-50-FPN首先使用ResNet-50作为基础网络进行特征提取,得到不同尺度的特征图。然后,通过FPN的结构,将这些特征图进行上采样和下采样操作,使得它们具有相同的空间尺寸。最后,通过横向连接(lateral connection)和融合操作(fusion operation),将不同尺度的特征图进行融合,得到融合后的特征图。
4.2.2 :基于行-列关注的transformer编码器模块
编码器模块由基于自我注意机制的 T 行列注意力层组成。首先,将特征图分别在行维度和列维度上折叠得到𝐻𝑅^𝑤×1×ℎ𝑛和𝐻𝐶^ℎ×1×𝑤𝑛,其中 n、h 和 w 表示特征图的通道、高度和宽度。𝐻𝑅^𝑤×1×ℎ𝑛和𝐻𝐶^ℎ×1×𝑤𝑛通过分割属于不同行(列)的像素,分别保留图像中的行和列排列。这可确保维护图像中行和列的特征关系。为了更好地提取𝐻𝑅和𝐻𝐶,在行列注意力层中,𝐻𝑅和𝐻𝐶两者都分别经过 self-attention、FFN 和 Norm 来提取自己的特征,注意力模块的输出与输入的大小相同,因此相等的注意力层可以重复堆叠。在 T 层行列注意力之后,𝐻𝑅和𝐻𝐶在第一维中连接以聚合行和列特征,然后是连接的向量𝑆𝑒作为编码器的内存发送到 Decoder 模块𝑆𝑒(ℎ+𝑤)×𝑑
Ep是位置嵌入,HR和HC是特征映射的行和列嵌入。
4.2.3: 基本transformer解码器模块
在 Decoder 模块中,随机初始化的 M 个可学习对象查询首先执行自注意力以获得查询特征,它们在自注意力之前还添加了位置嵌入。然后,对象查询充当 Value,即内存𝑆𝑒作为 Key 和 Query 进行交叉注意力操作,即使对象查询能够学习𝑆𝑒.与编码器一样,解码器也有 T 层以获得更详细的功能。解码器最终融合了𝑆𝑒通过 T 层交叉注意和输出𝑆𝑑,其 shape 与对象查询相同。
4.2.4: 预测作物行数的前馈网络(FFN)模块
ffn由几个具有ReLu激活的完全连接层组成,这些层用于从Sd生成作物行及其置信度的表示。在训练过程中,通过二部匹配对线预测进行一对一匹配来计算训练损失,而在测试过程中,选择置信度高于阈值的线预测作为模型预测。
4.3:Loss construction(损失设计)
损失设计在训练过程中非常重要,根据上述 crop rows 的定义,我们的模型最终输出 M 个 crop rows,这与 Object Queries 的数量相同,这个数字应该大于数据集中最大 crop rows 的数量。在获得作物行的预测和真实值后,需要计算每个预测的损失。传统方法通常计算每个预测对每个基本实况的损失,然后将它们全部相加,这将导致参数在向后过程中不精确地更新。首先选择二分匹配,使预测和基本事实一一匹配。
二分匹配机制
为了帮助我们的模型更好地划定作物行的形状特征,应用了以下损失,称为 LioU 损失和Lloc损失,其定义如图 所示。Liou loss 是预测线的形状损失,这意味着为了更好地理解 crop rows 的形状,公式Liou单位如图(a) 所示,Lloc loss 是预测线的位置损失,可以通过图(b) 所示的公式计算。
LioU 损失和Lioc损失的计算过程
五:Conclusion(结论)
为了将本研究提出的方法与现有的最先进的算法横向比较,选择了 (Cao et al., 2022, Rabab et al., 2021, Yang et al., 2023) 的算法。Rabab 等人的方法基于传统的图像处理,通过使用自定义算子生成模板来划分感兴趣区域,最后通过二值化、降噪和曲线拟合得到裁剪行。Yang 等人的方法基于 Yolov5,通过 YoloV5 网络生成感兴趣区域,然后通过传统的后处理获得作物行。与 Yang 等人的方法一样,Cao 等人的方法设计了一个语义分割神经网络来获取作物行掩码,然后通过经典的后处理从掩码中获取作物行。这四种算法的结果如表与图所示。算法的准确率可以用 mAP 来近似,推理时间是指算法输出单个图像结果所花费的时间,参数是指模型中可训练参数的总数,用于评估模型的大小。
四种算法的对比结果表
此外对于所提出的基于行列注意力的编码器-解码器网络,为了探索其功能并验证其有效性,设计了不同的组来比较我们网络上预测作物行的mAP 和𝐿𝑑,获得的结果如表所示
可以观察到,编码和解码模块都可以提高模型的准确率,降低预测误差,当这两个模块相加时,性能可能会更好。如下图所示,使用编码器-解码器模块的作物行预测对弯曲的作物行具有更好的适应性。原因可以分析为在基线模型中,神经网络只使用卷积运算来提取图像的特征,该特征在图像上是平面的,感受野较低。
茶田和蔬菜田中三种分辨率的作物行检测结果,其中红线是真实值,蓝线是预测的作物行
为了确认本研究提出的两个损失函数:LineIoU loss和Line Location loss的效果,本研究还进行了以下实验,所得结果如表3所示,添加线位置损失后,模型的 mAP 增加 5%,并且𝐿𝑑的模型小了 9.2 像素。当添加 LineIoU 损失时,模型的误差也减少了 11.9 像素,但 mAP 值反而减少了 3.75%。LineIoU 算法可以使模型输出的裁剪行值在 X 轴上更加准确,但公式对 Y 轴的坐标没有改进。一旦特征点的纵坐标不够精确,整体偏移量就会大大增加。当两个损失都相加时,算法具有一定的平衡以更好地执行。
不同损失函数的应用结果
本文提出了一种新的端到端作物行检测管道,并提出了一个与该管道相对应的基于行列注意力的深度学习模型。该模型可以通过注意力机制利用高级特征,直接输出图像中的裁剪行,无需任何额外处理。该模型由以下模块组成:首先,带有 FPN 的 ResNet 主干网,用于提取图像中的高维特征。其次,一种基于注意力机制的编码器-解码器模块,用于利用上下文特征。最后,LineIoU 损失和线位置损失,用于更好地回归裁剪行的形状和位置。在茶叶和蔬菜数据集中进行了实验,检测结果表明,本文提出的方法能够满足野外导航的准确性和实时性要求。与现有的 SOTA 模型相比,模型的精度提高了 8.5 %。处理 1920 × 1080 大小图像的平均运行时间为 23.81 毫秒。在鲁棒性方面,所提出的方法表现出更高的复杂环境适应性和较少的手动调整。