农业车辆目标检测:基于类别层级的集成方法

B站影视 韩国电影 2025-10-18 22:37 2

摘要:基于视觉的目标检测对于自动驾驶农业车辆安全且高效的田间作业至关重要。然而,将最先进的目标检测器迁移到农业领域时,面临的挑战之一是标注数据集的可用性有限。

从此不迷路

计算机视觉研究院

公众号ID计算机视觉研究院

计算机视觉研究院专栏

Column of Computer Vision Institute

基于视觉的目标检测对于自动驾驶农业车辆安全且高效的田间作业至关重要。然而,将最先进的目标检测器迁移到农业领域时,面临的挑战之一是标注数据集的可用性有限。

PART/1

概述

本文试图通过利用两个基于YOLOv5的目标检测模型来应对这一挑战:一个是在大规模数据集上预训练的、用于检测通用类别物体的模型,另一个是用于检测少量农业特定类别的模型。为了在推理时结合这些模型的检测结果,我们提出了一种基于类别层级结构的集成模块。结果表明,在测试数据集上应用所提出的集成模块可将mAP@5从0.575提升至0.665,并减少了不同模型对相似类别的误分类。此外,通过将基础类别的检测结果转换为类别层级中的更高级别,我们可以在以降低类别粒度为代价的情况下,将整体mAP@5提升至0.701。

PART/2

背景

技术创新正在改变农业产业,以满足日益增长的粮食需求,并最大程度降低环境影响、提升可持续性。因此,自动驾驶车辆将成为未来农业耕作解决方案的关键组成部分。然而,目前农业领域可用的自动驾驶车辆若没有人类干预,无法充分且安全地处理复杂的田间作业。此外,这些车辆的作业环境高度非结构化,且在不同周期中会发生变化。因此,自动驾驶农业车辆的安全田间作业依赖于稳健的感知系统和可靠的视觉数据处理。

目标检测是自动驾驶车辆场景理解和避障的重要组成部分。目标检测器能够对车辆环境中常见的预定义类别物体进行定位和分类。目标检测器提供的输出可用于为操作员提供辅助,或在更自动化的解决方案中与决策模块集成。

近年来,得益于深度学习模型的发展和计算能力的提升,目标检测已被应用于解决广泛的现实任务。在农业领域,基于深度学习的目标检测已用于水果检测、遥感和杂草检测。将最先进的目标检测器应用于农业障碍物检测的主要挑战之一是大规模图像数据集的可用性。一些公开的基准数据集(如Microsoft Common Objects in Context (MS COCO)和PASCAL视觉对象类别(VOC))包含了与农业领域相关的人类、部分动物等物体类别。然而,这些基准数据集均非针对农业应用收集,因此缺乏农业特定的重要物体类别,例如不同的农业车辆、农具、田间常见的静态物体等。因此,以往关于农业领域深度学习障碍物检测的研究仅关注有限的类别,且未包含重要的领域特定类别。Kragh等人应用了两种检测算法,LDCF和YOLO。这两种算法均在并非面向农业的公开可用数据集上训练,因此类别局限于“人类”、“车辆”和“未知”等通用领域类别。Steen等人提出了一种基于AlexNet的农业田间障碍物检测算法。该网络针对ISO标准桶形障碍物的检测进行训练。该算法在检测此类障碍物时表现出色,但无法检测其他类型的障碍物,凸显了基于图像的标准化障碍物检测的局限性。Li等人的研究提出了一种果园典型障碍物(如人类、水泥柱和电线杆)的检测方法。该方法基于YOLOv3,并使用轻量级MobileNetV2网络和高斯模型来改进检测。在Tractor中,四台相机被安装在拖拉机上,以在操作员作业期间检测人类存在。检测网络是在从MS COCO数据集提取的人类图像上训练的YOLOv3。

本文聚焦于夏季收获作业期间农业车辆环境中的物体检测。为应对数据集可用性有限的挑战,同时利用农业领域的特性并借助在大规模数据集上预训练、能够检测通用领域类别的现有模型的优势,我们采用了两种检测模型。第一个模型是在MS COCO数据集上预训练的模型,能够检测“人”、“汽车”和“卡车”三类——经筛选与本场景相关。第二个模型在更小的农业特定数据集上训练,用于检测七类:“拖拉机”、“联合收割机”、“拖车”、“联合收割机割台”、“打捆机”、“方形草捆”和“圆形草捆”。两种模型均基于YOLOv5架构。我们观察到,通过简单拼接将两个模型的检测结果结合会导致农业车辆的冗余检测(同时被视为车型类别)。这两类物体视觉外观相似,且属于图1所示类别层级中的同一更高级别类别“车辆”。

图1

现有集成方法通过消除冗余边界框来结合检测模型的输出,例如基于非极大值抑制或融合的方法,并未考虑检测对象的类别。Casado-García和Heras提出的集成方法通过基于交并比(IoU)阈值对同一类别的检测对象进行分组,并应用所提出的基于投票策略之一来考虑对象类别。在我们的案例中,集成方法需要处理的边界框属于不同类别,因此合适的集成方法需要反映类别层级中类别之间的语义关系。

为提高检测性能,已有多种目标检测方法利用类别间的上下文关系。文献提出的工作通过图卷积网络(GCN)补充预训练的目标检测模型。GCN利用为MS COCO类别生成的条件概率来处理关系知识图。据报道,包含GCN的MS COCO数据集结果提高了平均精度。Li等人提出的超类引导网络(SGNet)通过整合类别两级层次结构来改进图像分类和目标检测任务的性能。该架构包含两个分支:超类分支(SCB)和细分类别分支(FCB),二者并行运行。SCB专注于捕捉超类类别共享的通用特征,而FCB处理详细的细粒度属性。训练期间,两个分支均被训练,总损失计算为各分支损失之和。通过这种方式,超类级别上的误分类会导致更高的损失,并影响FCB的参数更新。结果表明,所提出的SGNet在CIFAR-100数据集的分类任务和MS COCO数据集的目标检测任务上均提高了性能。文献的工作解决了在具有不同层次标签的多个数据集上训练目标检测器的问题:提出了单步多盒检测器多任务损失(SSD-MTL)作为SSD检测器的改进版本。分类与定位解耦,二元损失函数用于独立生成每个类别的预测分数。所提出的方法在交通监控数据集上的性能优于原始SSD。Salakhutdinov等人旨在通过将训练数据有限的类别的特征表示与训练数据更多的类别的特征表示共享,来提高这些类别的检测精度。使用两级先验的分层高斯先验模型来表示视觉相似对象类别之间的关系。在所有这些工作中,重点是修改架构以在训练阶段纳入类别之间的层次关系,从而提高单个模型的检测性能。

我们提出一种集成模块,该模块在推理时纳入类别层级的关系,且无需训练。与我们之前的工作(该工作专注于将农业特定类别目标检测器与用于检测剩余潜在障碍物的异常检测器相结合)相比,本工作专注于结合两个目标检测器,一个用于农业特定类别,另一个用于通用领域类别,同时考虑它们所检测基础类别的类别层级。本文提出的两个目标检测器和集成方法可潜在替代我们之前工作中提出的框架中的目标检测器。所提出的集成模块由一系列规则组成,用于移除农业车辆和道路车辆案例中的冗余检测,且不依赖于所集成的目标检测模型的架构。通过在包含两个模型能够检测的十类物体的测试数据集上评估模型性能。我们表明,应用所提出的集成模块可提高测试数据集上的平均精度均值(mAP)。此外,我们表明,在以类别粒度为代价的情况下,转换类别层次结构中的模型预测到更高层级可进一步提高mAP。

本文的主要贡献总结如下:

我们提出了用于农业目标检测的类别层次结构。该类别层次结构包含农业特定类别以及来自公开可用数据集的相关类别;

我们在农业测试数据集上评估了针对农业特定类别训练的模型以及在MS COCO上预训练的模型的性能;

我们提出了一种基于所提出类别层次结构的目标检测器集成方法。所提出的方法在推理时集成检测结果,且与底层检测算法无关。我们评估了带有和不带有集成模块的组合模型的性能,结果表明,添加所提出的集成模块后,整体性能有所提升;

我们表明,将模型预测转换为层次结构中更高层级的类别可以在牺牲类别粒度的情况下进一步提高性能。

PART/3

新算法框架解析

目标检测模型

测试数据集中的类别检测使用了两个基于YOLOv5的目标检测模型。一个模型通过迁移学习训练,用于检测7个农业特定类别;另一个是在MS COCO数据集上训练的公开可用模型。

YOLOv5模型是单阶段目标检测器,由骨干网络、颈部和检测头组成。跨阶段局部连接(CSP)网络被用作骨干网络,从输入图像中提取特征。通常,网络的颈部会生成特征金字塔,使模型在检测不同尺寸和比例的物体时表现更优。在YOLOv5中,PANet被用作颈部网络。最终检测由YOLOv3中提出的YOLO头执行,它从应用于特征的锚框中生成包含类别概率、目标性分数和边界框的最终输出向量。

用于检测农业类别的模型是在2.1.2节所述农业数据集上训练的YOLOv5m模型。该数据集按7:3的比例随机拆分为训练集和验证集。图像被调整为640×640大小,模型使用默认超参数训练了300个 epoch。

用于检测“人”、“汽车”和“卡车”类别的模型是Ultralytics的YOLOv5l模型,该模型在MS COCO数据集上训练,用于检测80类常见物体。在非极大值抑制阶段,从预测结果中选择这三个类别。

集成模块

预训练的COCO模型能够检测道路车辆的“卡车”和“汽车”类别,而用于农业类别的模型能够检测农业车辆的“联合收割机”和“拖拉机”类别。由于属于这些类别的物体具有相似的视觉属性,未专门针对农业场景图像进行检测训练的预训练模型往往会将农业车辆检测为“卡车”或“汽车”。虽然农具并不直接属于“车辆”超类别,但它们仍与车辆有很多共同属性,例如有轮子、由相似材料制成、颜色相似等。因此,预训练网络也常将它们检测为道路车辆。在两个模型都检测到同一物体的情况下,如果道路车辆检测与农业类别检测的重叠度超过阈值,则移除冗余的道路车辆检测。

此外,农业农具类别与农业车辆类别紧密关联。在田间作业时,农业车辆的前部或后部通常会连接农具。农业车辆和农具之间的这种关联为检测集成创造了特殊情况。虽然预训练模型至少在较高的超类别层面上擅长检测车辆,但它没有农业车辆和农具类别之间关联的概念。例如,考虑一辆后部连接拖车的拖拉机。在这种情况下,农业类别模型会检测到两个物体,即“拖拉机”和“拖车”,而预训练模型通常会将这两个物体检测为单个车辆物体“卡车”。因此,这些车辆-农具对——在我们的案例中,是连接拖车、打捆机的拖拉机,或连接联合收割机割台的联合收割机——需要单独处理。在农业模型检测到车辆-农具对的情况下,与车辆、农具或车辆-农具对检测重叠的冗余卡车检测,如果其重叠度超过阈值,则会被移除。与未被检测为成对的车辆和农具的冗余道路车辆检测情况相比,该阈值有所降低。

以下是集成模块中应用的规则总结及具体阈值。

在以下情况下,基于与农业特定类别检测的交并比(IoU),移除“卡车”类别的检测:

农业车辆与其农具配对:若IoU≥0.6;

单个车辆和农具检测:属于车辆和农具对的部分:若IoU≥0.6;不属于车辆和农具对的部分:若IoU≥0.8。 在以下情况下,基于与农业特定类别检测的交并比(IoU),移除“汽车”类别的检测:

单个车辆和农具检测:若IoU≥0.8。

集成模块的示意图如图2所示。

图2

首先,将图像输入两个检测模型,得到检测结果。对属于农业车辆和农具的类别检测进行处理,以确定哪些检测结果构成车辆-农具对。然后,对于每个车辆-农具对,将车辆物体的边界框和农具物体的边界框合并,形成围绕车辆-农具对的新边界框。此外,所有属于车辆-农具对的车辆和农具检测都会被标记。将与车辆-农具对对应的边界框与来自预训练模型的“卡车”类别检测进行重叠度比较。如果重叠度超过某个阈值,则移除“卡车”检测。已确定属于车辆-农具对的单个车辆和农具检测也以同样的方式与“卡车”检测进行比较,并根据重叠度移除“卡车”检测。不属于车辆-农具对的单个车辆和农具检测也会与“卡车”检测进行比较,但在这种情况下,移除“卡车”的重叠阈值更高。对于“汽车”类别,将其检测与所有属于农业车辆或农具的检测进行比较,如果重叠度超过阈值则移除。最后,将剩余的“卡车”和“汽车”检测与农业类别的检测拼接在一起。

PART/4

实验及可视化

单个模型的性能评估

首先,评估单个模型在测试数据集上的性能。正如预期,模型无法检测其未经过训练的类别。这导致这些类别的平均精度(mAP)为零,影响了测试数据集上的平均mAP。结果如表3所示。

表3

在内部数据集上训练的模型,除“打捆机”外,其训练过的所有类别都具有良好的mAP。然而,由于该模型无法检测“人”、“汽车”和“卡车”类别,所有类别在mAP@5上的平均值为0.409,mAP@5:95为0.277。

在MS COCO数据集上训练的模型能够很好地检测“人”和“汽车”类别,而“卡车”类别的mAP较低。但与内部模型类似,该模型的mAP也受到其无法检测的类别的影响,导致mAP@5为0.166,mAP@5:95为0.112。 从呈现的结果可以得出结论,单个模型本身在测试数据集上的表现并不理想。

集成模块下的性能

对结合集成模块的组合模型性能进行评估,并与未使用集成模块的性能进行比较。结果通过多分类混淆矩阵、交并比(IoU)阈值为0.5时的mAP以及在10个IoU阈值[0.5:0.95]上的平均值来呈现。

首先,将两个模型的检测结果拼接成无集成模块的组合输出,并评估其性能。与单个模型的性能相比,组合模型能够检测测试数据集中的所有类别。因此,以mAP@5计算的整体性能从单个模型的0.49和0.166提升至组合后的mAP@5为0.575,结果如表4所示。

表4

然后,添加并应用集成模块到组合输出中,重点评估两个模型检测到的相似类别的误分类情况,以此来评估性能。

混淆矩阵全面展示了目标检测器的分类准确率以及类别对之间的误分类率。未使用集成模块和使用集成模块的组合模型的混淆矩阵如图3所示。

图3

矩阵中的行对应被预测为某一类别的实例,列对应实际类别的实例。在计算混淆矩阵时,仅考虑置信度分数大于0.25的框。真实框和检测框的IoU阈值设为0.45,混淆矩阵的列进行了归一化处理。

可以看出,集成模块的性能显著更优,道路车辆类别与农业车辆和农具类别之间的混淆度更低。最初,在组合模型中,“拖车”和“打捆机”类别最常与“卡车”类别混淆。然而,应用集成模块后,混淆矩阵中对应元素的值降低,“拖车”和“打捆机”类别的对角元素值有所提高。“拖拉机”和“联合收割机”类别也呈现类似趋势,而“联合收割机割台”类别的值保持不变。对于“汽车”类别,“拖拉机”和“打捆机”类别的误分类略有减少。集成模块的定性性能如图4所示。

图4

第一个示例中,由于内部模型检测到“联合收割机”和“联合收割机割台”对,“卡车”检测被移除。第二个示例中,由于内部模型检测到“拖拉机”和“拖车”对,“卡车”检测被移除。第三个示例中,一台“打捆机”连接在“拖拉机”上,还有两个“方捆”。在这种情况下,集成模块也成功移除了冗余的“卡车”检测。第四个示例再次显示一台“打捆机”连接在“拖拉机”上,还有一个“方捆”。在这种情况下,有两个冗余检测,一个是对应“打捆机”的“卡车”检测,另一个是对应“拖拉机”的“汽车”检测。集成模块移除了这两个冗余检测。第五个示例中,一台“拖车”连接在“拖拉机”上,还有两个冗余的“卡车”检测。一个检测对应“拖拉机”和“拖车”对,另一个仅对应“拖拉机”。集成模块成功移除了这两个检测。 所选的无集成模块的基准方法相当于组合两个模型的预测结果并应用非极大值抑制(NMS)。由于非极大值抑制是按类别应用以移除冗余检测,它无法解决跨类别冗余问题,如农业车辆和道路车辆类别之间的冗余。NMS的一种改进方法——不可知NMS,同时对所有类别执行非极大值抑制,所选的结果检测与类别标签无关。这种方法能够移除同一对象实例的冗余检测(这些实例可能被预测为不同类别)。

有相关需求的你可以联系我们!

来源:时代汽车秀

相关推荐