优化 YOLO 架构以实现最佳检测和分类:YOLOv7与YOLOv10 的比较研究 !

科技   2024-10-25 09:02   上海  

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群




想要了解更多:

前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF

行业技术方案👉AI安防、AI医疗、AI自动驾驶
AI模型部署落地实战👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」

欢迎扫描上方二维码,加入「集智书童-知识星球」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!

免责声明
凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。

保持公路基础设施对于确保安全、高效、可持续的交通系统至关重要。然而,手动收集数据来检测公路损坏耗时费力,且存在安全风险。近年来,人工智能的进步,尤其是深度学习,为利用道路图像实现这一过程的自动化提供了有前景的解决方案。

本文提出了一种使用深度学习模型进行公路损坏检测的综合工作流程,重点关注推理速度优化,同时保持检测准确性。具体来说,为了适应硬件限制,大图像被裁剪,轻量级模型被使用。

此外,还引入了一个外部的洞口数据集,以增强对这种代表性较弱的损坏类型的检测。所提出的方法采用了多种模型架构,包括一个带有坐标注意力层的自定义YOLOv7模型和一个小巧的YOLOv7模型,这些模型被训练和结合以最大化检测性能。这些模型进一步参数化以优化推理效率。

实验结果表明,使用三个坐标注意力层的自定义YOLOv7模型与默认的Tiny YOLOv7模型的集成,实现了0.7027的F1得分和每张图像0.0547秒的推理速度。

包括数据预处理、模型训练和推理脚本在内的完整流水线已公开在项目的GitHub仓库上,以实现可重复性和促进进一步的研究。

I Introduction

公路基础设施状况对确保交通安全、效率和可持续性至关重要。公路损伤,如裂缝、坑洼和表面磨损,不仅降低了交通运输质量,还给驾驶员带来重大风险,并导致高昂的维护成本。传统的道路状况评估方法依赖人工检查,这既费时又费力,而且容易出错。此外,手工数据收集还使检查员暴露在危险环境中,进一步强调了自动解决方案的必要性。人工智能(AI)和深度学习技术的进步为从图像数据中自动检测和分类道路损伤提供了新的机会,这将有望提高准确性、速度和成本效益[1,2]。

自动化道路损伤检测有可能显著提高维护计划和资源分配。快速、准确的损伤检测可以帮助交通机构优先维修,最大限度地减少中断,并优化预算。此外,及时发现道路损伤对于确保公共安全,防止小问题升级为需要广泛维修的重大问题至关重要。尽管这些好处,但开发能够在不同地区处理多样化道路条件并捕捉损伤类型差异的自动化检测系统仍然是一项具有挑战性的任务 [1, 2]。此外,解决资源优化问题,特别是关于推理速度和内存使用,以便实现这些模型的实时部署变得越来越重要。具体而言,以前在IEEE大数据杯挑战中关于道路损伤检测的结果表明,训练大型模型或使用更多模型通常会导致更好的准确性 [3, 4, 5],但同时也会受到部署时的推理速度和硬件要求 [6]。

最先进的目标检测模型,如YOLO,在各种计算机视觉任务中取得了有前途的结果,包括道路损坏检测。特别是,YOLOv7模型在检测准确性和计算效率之间提供了良好的平衡。然而,由于硬件限制,处理大型、高分辨率图像在训练和推理方面存在挑战。此外,现有的道路损坏数据集通常缺乏某些损坏类型的充分代表性,如坑洞,导致类之间的检测性能不平衡。因此,本项目采用了一个优化的基于YOLOv7的道路损坏检测和分类方法来解决这些挑战。

本工作的主要贡献如下:

  1. 结合并平衡多样化数据集:将自定义的公路损坏数据集与外部的坑洞数据集相结合,以解决类别不平衡问题,并增强模型检测被忽视的损坏类型的能力。

  2. 开发了一种优化的基于YOLOv7的检测模型:引入了一个带有坐标注意力层的自定义YOLOv7模型,并与一个Tiny YOLOv7模型进行了集成,实现了改进的检测精度和推理效率。

II Related Work

Popular object detection techniques

目标检测一直是计算机视觉研究的重心,近年来取得了显著的进展。本回顾检查了塑造该领域的关键技术,包括像Faster R-CNN这样的两阶段检测器,像SSD这样的单阶段检测器,以及YOLO家族的演变。Faster R-CNN由Ren等人于2015年[1]引入,标志着两阶段目标检测的重大改进。它通过引入一个区域建议网络(RPN)与检测网络共享卷积特征。这一创新使得区域 Proposal 几乎无需成本,显著提高了速度和准确性。Faster R-CNN的端到端训练能力和在GPU上的实时检测速度使其成为目标检测研究中的基准。由Facebook AI Research开发的Detectron2[11, 12]并不是特定算法,而是一个基于PyTorch的强大目标检测库。它提供了各种最先进的检测算法的实现,包括Faster R-CNN变体。Detectron2的模块化设计允许轻松定制,并提供多个检测算法的高性能实现。

单阶段检测器(Single Shot Detector,简称SSD)是由刘等人于2016年提出的[13]。它是一种单阶段检测器,旨在平衡速度和准确性。通过使用一套不同尺度和宽高比的基本边界框,它消除了区域 Proposal 网络的需求。与两阶段检测器相比,SSD的推理速度更快,尤其是在处理较大物体时具有竞争力,因此成为了实时应用的流行选择。在单阶段检测器家族中,YOLO家族经历了多次迭代,每次都优于其前身。最近,YOLOv7(于2022年引入)在速度和准确性方面都取得了显著改进。它引入了深度和宽度的扩展和复合缩放,有计划的重新参数化卷积,以及动态标签分配等特性。YOLOv8(于2023年发布)进一步优化了架构,重点关注实时性能,并在小型物体上提高了准确性。YOLOv9(于2024年初引入)是YOLO家族的一个迭代版本,引入了如可编程梯度信息和隐性知识学习等创新特性。这些进步使得YOLOv9在保持计算资源和推理速度效率的同时,实现了最先进性能。

截至本项目的实施时间,YOLOv10 [17] 尚未正式发布,但计算机视觉领域的专家和开发者们预计其即将到来,他们期待根据前几代YOLO版本的发展轨迹,进一步提高其准确率、速度和应用的广泛性。YOLO 每一代版本的迭代都逐步提高了速度和准确度,使得YOLO家族成为实时目标检测任务中最受欢迎的选择之一。这些技术的持续演变展示了目标检测领域的快速发展,使得计算机视觉应用范围更加广泛。

Deep learning techniques for road damage detection

在道路损伤检测领域,已经提出了几种最先进的解决方案来应对检测和分类道路缺陷的挑战。Arya等人[1,2,3]提出了一系列全面的道路损伤检测方法,强调为各种道路条件开发健壮的模型。Pham等人[1]探索了使用Detectron2的Faster R-CNN实现,突出了其在高精度检测道路损伤的有效性。同样,其他研究也调查了使用YOLO和集成方法进行相同任务[1,2]。这些研究的发现表明,尽管Faster R-CNN通常实现较高的检测准确性,但与YOLO模型相比,预测时间增加了。另一方面,单次检测器(SSD)模型在准确性和速度之间实现了平衡,为实时检测任务提供了一种中间解决方案[1,2]。

道路损伤检测领域正在迅速发展,需要不断进行实验以确定特定使用场景下的最优方法。在各种方法中,由于频繁发布新版本,YOLO模型家族引起了广泛关注,每版都提供了性能和功能上的改进。在这个项目中,准确性和推理时间是关键因素。因此,作者进行了大量实验,使用多个最近的YOLO版本,以确定在检测精度和计算效率之间实现合适平衡的模型。

III Datasets

RDD2022 dataset

手动标注收集到的图像中的道路损坏以创建训练数据集是极具劳动强度的。因此,作者利用现有的数据集作为基准,训练深度学习模型以自动检测视频数据中的道路损坏。在可用的数据集中,Sekilab为IEEE 2020大数据竞赛(RDD2020)提供的数据集特别有用[2]。RDD2020数据集[18]包含了三个国家(捷克共和国、印度和日本)的道路损坏图像。

在2020年的同一竞赛(RDD2020)中,实验表明,在一国数据上训练的深度学习模型,在应用于另一国数据时表现不佳。为了解决这个问题,由同一团队组织的IEEE 2022大数据挑战杯(CRDD2022)采用了众包方法,并将数据集扩展到包括中国(通过无人机和摩托车拍摄)、挪威和美国等地的图像。这种新数据集,称为RDD2022 [17],详细描述已在他们的工作[18]中进行。表1提供了RDD2022数据集中每个国家训练图像、测试图像和训练标签的数量概述。国家按训练标签数量降序排列,这对模型训练非常重要。日本拥有最大的数据集,包括10,506个训练图像和16,470个标签,而中国无人机拥有最小的数据集,包括2,401个训练图像和3,068个标签。值得注意的是,中国无人机没有测试数据。

Pothole dataset

RDD2022数据集将训练标签分为四种类型:垂直裂纹(D00)、横穿裂纹(D10)、鳄鱼裂纹(D20)和坑洞(D40)。表2展示了这些裂纹类型在数据集中的分布情况。从这个分布中可以观察到两个值得注意的现象。首先,横穿裂纹的数量显著低于垂直裂纹(68个 vs 1555个),这可能需要进行数据验证工作。其次,除了印度外,其他国家的坑洞裂纹发病率相对于其他损坏类型较低。

阶级不平衡问题在发达国家尤为突出,因为这些国家的道路坑洞损坏被认为是更严重的,通常会及时修复,因此记录在案的次数较少。可视化裂纹类型的分布可以帮助突出这个问题。图1(左)显示了RDD2022数据集中坑洞损坏的数量,明确表明D40(坑洞)类别的发生次数最少。在美国,这种不平衡更加明显,如图1(右)所示,总共有11014个损坏,但只有135个是坑洞。因此,D40类别的分类和检测准确性可能低于其他类别,因为模型通常在代表不足的类别时表现不佳。

为了缓解这一类不平衡,作者引入了来自Roboflow1的公开可用的Pothole数据集。该数据集包括665张带有 Token 的坑洞的道路图像,并具有与常见机器学习模型兼容的各种格式。对于作者的项目,作者使用了YOLOv7标注格式。尽管Pothole数据集中只有一个由数字0识别的坑洞类别,但作者的数据集将坑洞类 Token 为类别3。因此,作者将更新类识别号码以确保数据集之间的一致性。

IV Experiments

Data processing

Iv-A1 Cropping large images

表3呈现了CRDDC2022数据集中不同文件夹中使用的图像尺寸概述。不同国家的图像尺寸和长宽比存在显著差异。例如,中国无人机和中国摩托的图像以512x512像素的格式呈现,而捷克共和国的图像为600x600像素,印度的图像为720x720像素。日本的文件夹包含各种大小的图像,包括600x600、1024x1024和1080x1080像素。挪威的文件夹包含特别大的图像,例如4040x2041像素,而美国文件夹中的图像具有标准的YOLO训练图像大小640x640像素。

在使用不同大小和宽高比图像训练YOLO模型时,会显著影响模型性能和硬件需求。像挪威这样的较大图像需要更多的GPU内存和计算能力,可能导致训练过程变慢和推理时间增加。尽管这些较大图像可以捕捉到更详细的特征,但当缩放到标准训练尺寸(例如640x640)时,可能会面临挑战。具体来说,标注可能相对于图像尺寸过小,标签的宽高比可能发生扭曲。这种扭曲可能导致在训练过程中出现过小的边界框甚至省略,从而降低小目标检测性能或对损坏。

例如,一个尺寸为4040×2041的图像及其标签大小为50×30的垂直裂纹,在缩放到标准训练尺寸640×640后,将变为8×9像素。这种变换引入了两个主要问题。首先,标签尺寸变得太小,可能导致细长的裂纹线被覆盖,使检测变得困难。其次, aspect ratio的变化可能会改变标签的外观,使垂直裂纹看起来更像一个穿越裂纹。因此,通常推荐使用标准大小的图像(例如,640×640)以平衡性能和硬件效率,同时最大限度地减少失去小标注的风险。只有当硬件支持时,或者实施缩放策略以保持缩放后图像中标注的相对大小时,才应使用更大的图像尺寸。

详细检查挪威文件夹中的图像,发现了一些显著的特征。这些图像似乎由两个拼接部分组成,一个在左边,另一个在右边。图2用_Norway_000003.jpg_来说明这一点,显示大部分道路区域集中在图像的左下角。因此,作者决定将挪威文件夹中的每个图像裁剪成专注于该角落的像素区域。作者选择这个分辨率,因为它大约是原始图像宽度的一半,有效覆盖了主要道路区域,并且满足了YOLOv7训练图像所需的多为32的倍数。此外,作者调整或删除了裁剪区域之外的所有损坏标注。丢弃或修改的标注数量很少,总共为11,229个道路损坏实例中的537个,说明所选裁剪区域适合这个数据集。

为了简化训练过程,作者在挪威训练数据集中的原始图像上裁剪,并相应地调整了标注以适应新的图像尺寸和位置。修改后的图像和标注保存在名为_Norway1_的新文件夹中,该文件夹替换了原始图像作为挪威的训练数据。对于测试数据集,作者通过实现两个独立的加载器自定义了默认的YOLOv7数据加载器:一个处理尺寸大于1824的宽度和高度的图像,另一个处理尺寸较小的图像。第一个加载器在做出预测之前裁剪这些较大的图像,并随后重新调整预测的边界框位置以对应原始图像尺寸,以确保得到准确的结果。

Iii-B2 Annotation conversion and train/validation splitting

除了带有有效标注的图像外,RDD2022数据集还包含没有标注的图像,或者标注与本项目考虑的四种损坏类型(D00, D10, D20, 和 D40)不匹配的图像。在这里采用的深度学习技术是YOLOv7,因此作者将PASCAL VOC格式中的XML文件中的标注转换为与YOLOv7格式兼容的文件,并删除没有标注或者标注不被本项目考虑的文件。

为了选择最佳模型,作者将训练图像分为训练和验证集。尽管在YOLOv7中可以配置测试集大小,但作者选择只进行一次划分以实现可重复性和方便不同实验之间的性能比较。在七个数据文件夹中,中国无人机文件夹没有指定的测试集;因此,其所有图像都包括在训练集中。对于其他文件夹,训练图像被分为训练的90%和验证的10%,用于选择最佳模型。

Deep Learning Models

V-B1 Comparing different YOLO versions

在这个项目中,作者探索了各种YOLO版本,从2022年发布的YOLOv7开始,因为它在前期的研究中表现出了强大的性能[2]。YOLOv8在YOLO目标检测框架中实现了重大进步,相较于YOLOv7,它提供了显著的改进。它提供了更快的检测速度和每秒处理更多帧的能力,同时体现在更高的平均平均精度(MAP)分数上。YOLOv8的 Anchor-Free 框架构便于更好地适应多样化的物体尺寸和比例,使其特别适用于检测小物体。这些改进将YOLOv8定位为一种强大的工具,用于需要目标检测精确性和快速性的应用。

YOLOv9的作者在早期迭代的基础上进一步进行了改进;然而,YOLOv8和YOLOv9的优点可能因具体应用场景而有所不同。YOLOv8可能在近距离目标检测场景中表现出色,而YOLOv9可能在放大后的图像上表现更好。然而,目前对这两个版本的比较分析仍然有限,其有效性可能因特定应用和数据集而有所不同。

YOLOv10,YOLO系列的最新版本,带来了额外的架构变化。据报道,它的速度比YOLOv8快得多,可能达到1.5到2倍,而且具有更小的模型大小和更少的参数。然而,YOLOv8在检测较小的物体上仍具有优势。YOLOv10可能需要降低置信度阈值才能达到与YOLOv8相同的检测性能。重要的是要认识到,尽管新版本通常会提供改进,但也可能需要权衡取舍。例如,YOLOv10的增加速度可能以牺牲一定的准确性为代价,尤其是对于较小的物体。

在报告准确性和性能指标时,这些版本是根据诸如MS COCO等基准数据集进行评估的。然而,在选择这些版本时,必须考虑每个用例的具体要求、待检测目标的性质,以及在这些版本之间实现速度与准确性最优平衡的必要性。因此,作者在本项目中的特定任务和数据集中,针对所有这些最近的YOLO迭代进行了实验。

V-B2 Incorporating Coordinate Attention layers

YOLOv7的背端网络经常使用通道注意力机制,在跨层特征融合时为不同的通道分配不同的权重。然而,传统的通道注意力将每个通道内的所有空间信息压缩为单个标量值,导致空间上下文信息的损失。在RDD2022数据集中,大多数道路损坏位于图像的下半部分,由于摄像机视角的变化,这些损坏的外观取决于它们的空间位置。因此,除了使用默认配置训练YOLOv7模型外,本研究还探索了使用坐标注意力[19],它更能有效地捕捉通道和位置信息。

V-B3 Training hyperparameters

表4显示了本项目中使用的图像增强参数的最终列表(其他默认参数保持不变)。具体来说,缩放、拼接、 MixUp 和 PasteIn 参数略有降低,以避免不必要的、不现实的效应。此外,使用安装在汽车仪表盘上的摄像头收集的道路损坏具有一定的透视感。因此,作者在图像增强参数中使用了切线(0.01)和透视(0.0001)。在道路损坏检测任务中,空间信息非常重要。

此外,由于各种原因,标注标签并非100%准确或一致。例如,许多裂纹以不同的视角或轻微的相机旋转可能被误判为纵向裂纹,反之亦然。此外,长吻鳄裂纹经常与纵向和横贯裂纹混淆。因此,作者进行了标签平滑实验[20]。具体来说,作者在训练时应用了0.1的标签平滑技术。最后,作者还应用了测试时增加技术以提高预测准确性。

V-B4 A tiny YOLOv7 model

组合模型是一种在道路损伤检测中提高预测准确性的常见策略,这一策略已经被许多过去的研究所证实[3, 5],因为组合多个模型的优势来做出更可靠的决策。然而,这种方法通常会带来推理时间和计算成本的增加。为了解决这些挑战,必须在准确性和效率之间找到平衡,特别是在实时应用中,延迟是一个关键问题。

为了降低推理时间权衡,作者将较小的YOLOv7变体(微型YOLOv7模型)纳入集成。这使作者能够在不显著降低准确率的情况下实现更快的预测。在作者的实现中,作者仅将集成模型应用于常规大小的图像,以确保在必要时达到高水平的准确率。对于需要更多计算的大图像,作者仅依赖于标准YOLOv7模型(不进行集成)。这种选择性使用集成确保作者在不同的图像大小之间维持推理速度和性能之间的最优平衡。

Inference-time optimization

Iv-C1 Batch processing

批处理推理可以通过同时处理多个输入,利用现代硬件如GPU的并行处理能力,显著加快推理时间。这种方法可以更有效地利用计算资源,因为许多操作可以在批处理中并行化。对于YOLO模型,尤其是参数数量巨大的模型,批处理可以通过摊销模型初始化和数据传输的开销,实现显著的加速。然而,批处理的有效性取决于因素如输入相似度、硬件能力和模型架构。尽管批处理通常可以提高吞吐量,但它不一定总是能降低单个请求的延迟,因此对于处理大量输入的优先级高于为单个输入优化响应时间的场景,它可能更适合。因此,在该项目中,作者还尝试了不同的批处理大小。

Iv-C2 Tracing

总的来说,PyTorch 及其 YOLO 具体提供了一种转换训练模型为追踪模型的方法,该方法利用 PyTorch 的 功能。追踪通常会优化模型以实现更快的推理,但可能会导致灵活性减少,尤其是在处理动态输入大小方面。未追踪的模型可以确保与原始版本保持一致的行为,这对于避免潜在的模型差异和减轻与追踪相关的安全风险具有重要意义。此外,使用追踪模型可能会产生与无效图像大小相关的特定运行时错误。尽管追踪模型在推理时间方面通常具有优势,但无追踪选项可以更好地控制模型的行为,在需要更高灵活性或处理复杂模型架构无法良好追踪的情况下,可能更可取。因此,作者也尝试了这种选项,以查看是否可以帮助平衡推理时间和准确性。

Iv-C3 Reparameterization

模型重参化是一种技术,它通过重构网络架构来提高推理效率,而无需改变模型的行为。它的工作原理是在推理过程中将多个卷积层和 BatchNorm 操作合并为一个等效的卷积层。这降低了计算开销和内存使用,从而实现了更快的推理速度,同时保持了检测精度。一些YOLO版本(如YOLOv7)提供了一个精心设计的重参化策略,通过考虑不同网络架构的梯度传播路径来优化性能。在训练过程的最后,作者添加了代码来执行重参化过程,并将重参化的模型保存为推理用。

V Results and Discussions

Evaluation Metrics and Test Environments

不同的实验会生成不同的模型,因此使用可靠的标准来选择最佳模型很重要。在这个背景下,常用的两个评估指标是:当IoU阈值为0.5时的Mean Average Precision(mAP@0.5)和F1分数。mAP在评估模型在不同置信阈值下的稳定性时很有用,因为它提供了更稳健的评估。相比之下,F1分数是在特定置信阈值下计算的。一种常见的做法是:在验证集上使用mAP@0.5来选择最佳模型,同时使用F1分数来报告测试集上的性能。本项目就是按照这种方法进行的:在训练过程中,根据验证数据使用mAP@0.5来选择模型,同时使用F1分数来评估测试集上的性能。

除了F1得分,运行时间是关键因素。F1得分和运行时间都在IEEE BigData 2024挑战赛的组织者提供的测试集上进行评估。为了进行更快速的实验,通过在本地服务器上评估训练好的模型来测量运行时间(以秒为单位)。服务器规格如下:62.5 GiB内存,英特尔(r)至强(r)银4214R CPU @ 2.40GHz,48核,16 GiB GPU,以及Ubuntu 20.04.6 LTS作为操作系统。

Different YOLO Architectures

表5呈现了各种YOLO架构的评估结果。对于这些模型,作者利用预训练版本通过迁移学习加速训练收敛。这些模型使用的训练和评估数据集一致,如第IV-A节所述。每个模型均训练了150个周期,批量大小为16。

模型1指的是在_cfg/yolov7.yaml_文件中定义的默认YOLOv7架构。模型2是YOLOv7的一个定制版本,它融合了三个额外的坐标注意力层(详见第IV-B2节),并优化了训练超参数(详见第IV-B3节)。模型3是YOLOv7的默认小型版本,如_cfg/yolov7-tiny.yaml_文件中所述。对于较新的YOLO版本(v8、v9和v10),作者使用了_ultralytics_包进行训练。经过多次实验,作者分别选择了YOLOv8的_yolov8l_配置、YOLOv9的_yolov9c_配置和YOLOv10的_yolov10l_配置。

为了衡量推理时间,作者在评估数据集上使用批处理大小为1进行测试,以计算YOLOv7模型每个图像的推理时间。然而,对于YOLOv8、v9和v10,_ultralytics_包会默认提供推理时间,因此对这些模型无需进行额外测试。

表5呈现了实验结果,每个测量指标的最佳值以粗体突出显示。与默认的YOLOv7模型相比,YOLOv8和YOLOv9(模型4和5)在mAP@0.5和F1得分上略高,推理时间较短。然而,经过优化的YOLOv7模型(通过添加额外的坐标注意力层和自定义超参数)在F1得分和置信阈值上取得了更好的成绩。值得注意的是,这些优化措施也应用于YOLOv8、YOLOv9和YOLOv10,但并未取得改进;在某些情况下,它们甚至降低了性能。正如所料,由于其较小的模型大小,YOLOv7的微型版本具有最低的准确率和最快的推理时间。

Impacts of Inference-Time Optimization Techniques

V-C1 Impacts of batch sizes

参考第IV-A1节,作者为两种类型的图像(大型图像和正常尺寸图像)分别使用了两个独立的数据加载器。由于大型图像的批量大小可能会导致性能 Bottleneck ,因此作者始终为这些图像设置较小的批量大小。具体而言,作者测试了批量大小对(12,24),(16,32)和(32,64),其中每个对中的第一个数字表示大型图像的批量大小,第二个数字表示正常图像的批量大小。在这些实验中使用的模型是表5中的模型1和2的集成,置信阈值设置为0.5。实现的F1得分是0.7125,执行时间分别为489秒,489秒和495秒。这些结果表明,批量大小并不能显著提高性能,甚至如果过大,推理时间可能会增加。因此,作者在所有未来的实验中选择了(12,24)的批量大小。

V-C2 Impacts of tracing and reparameterization

在作者的跟踪实验中,作者首先测试了一个由两个YOLOv7模型(表格V中的模型1和2)组成的集成(使用大图像的批处理大小为12,小图像的批处理大小为24),置信度阈值为0.5。这个实验将推理时间从489秒减少到360秒(大约减少了26%),但也将F1分数从0.7125降低到0.6700。

然后,作者测试了一个由三个YOLOv7模型(模型1、2和3)组成的集成,基于假设,增加更多的模型到集成中可以提高准确性,同时保持低的推理时间。虽然这确实将F1分数提高到0.684,但推理时间增加到415秒。因此,跟踪并未产生预期的效果,因为增加集成大小并未保持准确性与推理时间的有利平衡。

Final Model and Future Work

针对本次项目,使用大型模型集成可以提高准确性,但也会增加推理时间,特别是对于大图像。由于大图像()需要与规范化图像不同的处理方法,因此作者选择了混合方法。具体而言,作者使用了一个大型模型集成(定制的YOLOv7,表5中的模型1)和一个小型的YOLOv7模型(模型3)处理正常大小的图像,而对于大图像,只部署大型模型(模型1)。批处理大小分别设置为12(对于正常图像)和24(对于大图像)。此外,对于正常图像,置信度阈值设置为0.50,对于大图像,设置为0.35。这种配置导致了F1分数为0.7027,图像推理速度为0.0547秒/张,在全球39支团队中排名第4,参加了IEEE BigData 2024挑战赛中的优化道路损伤检测竞赛(OR-DDC'2024)的赛道。

表5显示,YOLOv8和YOLOv9是组合的优秀候选者,因为它们在F1得分上略有降低,但mAP@0.5更好,推理速度良好。然而,迄今为止进行的优化并未导致F1得分显著提高。在未来的工作中,作者计划探索不同的优化和定制以提高F1得分。由于时间限制,作者无法实现测试时增强或尝试为YOLOv8和YOLOv9模型实验组合技术,这将是作者未来的重点。

VI Implementation

YOLOv7的官方实现可以在https://github.com/WongKinYiu/yolov7。然而,作者对代码库进行了许多修改,包括改进训练过程、超参数和数据加载器,以提高准确性和推理时间。

对于此项目,请使用作者GitHub仓库中提供的定制版YOLOv7,而不是原始实现,该版本位于https://github.com/phamvanvung/roaddamagedetection2024。

此外,对于更 recent的YOLO版本(v8、v9和v10),作者使用了包进行训练和验证,该包可以在https://www.ultralytics.com访问。

VII Conclusion

这项研究展示了优化YOLO架构在道路损伤检测中的有效性,尤其是在平衡检测准确性和推理速度方面。通过利用结合自定义YOLOv7模型与额外的坐标注意力层和Tiny YOLOv7模型的一体化方法,作者在IEEE BigData 2024挑战中取得了竞争力的结果,排名第4,共39支队伍。

作者的方法获得了0.7027的F1分数和每张图像0.0547秒的推理时间,展示了在资源受限环境中实时部署的潜力。总体而言,这项研究突显了基于YOLO的模型在道路损伤检测中的潜力,为维护道路基础设施提供了可扩展、高效的问题解决方案。

虽然作者在YOLOv8和YOLOv9模型上的实验显示出前景,特别是在mAP@0.5和推理速度方面,但优化并未在F1得分上带来显著的改进。未来的工作将专注于探索更先进的优化技术,包括测试时的增强和额外的集成策略,以进一步提高检测性能。

作者还将研究将更新的YOLO版本和定制集成进来,在不牺牲速度的情况下提高检测精度,尤其是在处理大尺寸、高分辨率图像时。

VIII Author Contributions

参考文献

[0]. Optimizing YOLO Architectures for Optimal Road Damage Detection and Classification: A Comparative Study from YOLOv7 to YOLOv10.

扫码加入👉「集智书童」交流群

(备注:方向+学校/公司+昵称



点击下方“阅读原文”,
了解更多AI学习路上的「武功秘籍」


集智书童
书童带你领略视觉前沿之美,精选科研前沿、工业实用的知识供你我进步与学习!
 最新文章