计算机视觉——对比YOLOv12、YOLOv11、和基于Darknet的YOLOv7的微调对比摘要目标检测领域取得了巨大进步,其中YOLOv12、YOLOv11和基于Darknet的YOLOv

摘要

目标检测领域取得了巨大进步,其中YOLOv12、YOLOv11和基于Darknet的YOLOv7在实时检测方面表现出色。尽管这些模型在通用目标检测数据集上表现卓越,但在HRSC2016-MS(高分辨率舰船数据集)上对YOLOv12进行微调时,却面临着独特的挑战。本文提供了一个详细的端到端流程,用于在HRSC2016-MS上微调YOLOv12、YOLOv11和基于Darknet的YOLOv7。它涵盖了数据集预处理(基本的洗牌和将数据集划分为训练集、测试集和验证集)、训练、评估以及对它们性能的对比分析。重点关注领域包括:处理数据集偏差以提高小目标检测能力;洗牌数据集以确保适当的泛化能力;在验证集/测试集上对比YOLOv12、YOLOv11和基于Darknet的YOLOv7;可视化检测结果以比较模型性能。此外,本文强调了理解数据集结构和偏差的重要性。研究人员花费大量时间进行数据集准备和适当的训练-验证-测试划分,以增强模型的泛化能力并避免误导性结果。通过解决HRSC2016-MS中的这些挑战,展示了适当的数据准备和结构化如何直接提高模型的准确性。

关键词

计算机视觉;目标检测;YOLOv12;YOLOv11;YOLOv7;微调对比

一、引言

1.1 研究背景与意义

目标检测作为计算机视觉领域的核心任务之一,旨在识别图像或视频中的目标物体并确定其位置,在自动驾驶、安防监控、工业检测等诸多领域有着广泛应用。随着深度学习技术的飞速发展,涌现出了众多高效的目标检测算法,其中YOLO(You Only Look Once)系列算法以其快速的检测速度和较高的准确率,成为了实时目标检测的主流方法之一。

YOLOv12、YOLOv11和基于Darknet的YOLOv7在各自的发展阶段都展现出了优异的性能,在不同场景下得到了应用。然而,不同的数据集具有不同的特点和分布,直接将这些预训练模型应用到特定领域的数据集上,往往难以达到最佳效果。因此,对模型进行微调,使其适应特定数据集,成为提升模型性能的关键步骤。

以HRSC2016-MS高分辨率舰船数据集为例,该数据集在舰船目标的尺度、密度和方向等方面具有独特性,对目标检测模型提出了新的挑战。研究如何在该数据集上对YOLOv12、YOLOv11和基于Darknet的YOLOv7进行有效的微调,并对比它们的性能表现,不仅有助于深入了解这些模型在特定领域的适应性,还能为实际应用提供有力的技术支持和决策依据 ,具有重要的理论和实践意义。

1.2 国内外研究现状

在目标检测领域,YOLO系列算法一直是研究的热点。国外的Ultralytics团队持续对YOLO算法进行改进和优化,不断推出新的版本,如YOLOv11、YOLOv12等,在模型的精度、速度和泛化能力等方面取得了显著进展。他们通过改进网络结构、引入新的特征提取和融合方法,提升了模型对复杂场景和小目标的检测能力。

基于Darknet框架的YOLOv7由台湾的研究团队提出,其在实时目标检测方面表现出色,通过采用可训练的免费赠品(trainable bag-of-freebies)等技术,在保持高速度的同时提高了检测精度,在学术界和工业界都得到了广泛关注和应用。

国内的研究人员也在积极探索YOLO算法在不同领域的应用和优化。例如,在遥感图像目标检测中,针对数据集的特点对YOLO模型进行微调,通过数据增强、模型融合等方法提高检测的准确性和稳定性 。同时,在工业检测领域,利用YOLO算法实现对产品缺陷的快速检测,通过改进损失函数和训练策略,提升了模型对小缺陷目标的检测能力。

尽管国内外在YOLO算法的研究和应用方面取得了丰硕的成果,但在特定数据集上对不同版本YOLO模型的系统对比和微调研究仍有待进一步深入。尤其是针对HRSC2016-MS这样具有独特特征的数据集,如何选择合适的模型并进行有效的微调,以达到最佳的检测性能,仍然是一个具有挑战性的问题。

二、YOLOv12、YOLOv11和基于Darknet的YOLOv7概述

2.1 YOLO系列算法发展历程

YOLO算法自2015年首次提出以来,经历了多个版本的迭代和改进,不断推动着目标检测技术的发展。

YOLOv1将目标检测任务转化为一个回归问题,通过一次性预测边界框和类别概率,大大提高了检测速度,但在检测精度和小目标检测能力方面存在一定的局限性。

YOLOv2引入了Anchor Boxes,对不同尺度和比例的目标进行更好的建模,同时采用了更高分辨率的图像输入,提升了模型的检测精度和对小目标的检测能力。

YOLOv3采用了多尺度预测机制,通过融合不同层次的特征图,能够检测不同大小的目标,进一步提高了检测精度,尤其是在小目标检测上有了明显的改进。

YOLOv4在网络结构上进行了优化,采用了CSPDarknet53等骨干网络,并结合了多种训练技巧和优化方法,如Mosaic数据增强、Self-Adversarial Training等,使得模型在速度和精度上都有了显著提升。

YOLOv5由Ultralytics团队基于PyTorch开发,具有更轻量级的网络结构和更好的易用性,通过对模型的进一步优化和调整,在不同硬件平台上都能实现高效的目标检测。

YOLOv11和YOLOv12则在之前版本的基础上,继续引入新的技术和方法,如YOLOv11采用了多模块融合机制、Transformer增强的主干网络等创新技术,提升了模型在复杂环境下的目标检测能力;YOLOv12则首次将注意力机制集成到目标检测过程中,通过区域注意力、残差高效层聚合网络等技术,实现了高检测精度和实时推理速度。

2.2 YOLOv12的特点与优势

YOLOv12是YOLO系列中首个打破传统基于卷积神经网络(CNN)方法的模型,它通过将注意力机制直接集成到目标检测过程中,实现了性能的重大突破。

其显著特点包括区域注意力(Area Attention)方法,将特征图水平或垂直划分为大小相等的区域(默认分为4部分),在保留大感受野的同时,显著降低了计算复杂度;残差高效层聚合网络(Residual Efficient Layer Aggregation Networks,R-ELAN),通过引入块级残差连接和缩放技术,解决了训练过程中的不稳定性问题,使得即使是更深更宽的模型版本也能稳定训练。

YOLOv12还利用快速注意力(FlashAttention)技术来最小化内存访问瓶颈,在现代支持CUDA的GPU上能显著减少注意力操作的计算时间,从而提升模型的整体效率。此外,它调整了多层感知机(MLP)比例并去除位置编码,构建了更简洁、快速的架构,并引入了一个7×7的可分离卷积(称为 “位置感知器”)来隐式地对位置信息进行建模。

在性能方面,YOLOv12在COCO数据集上表现出色,例如其Nano版本推理延迟为1.64毫秒,平均精度均值(mAP)达到40.6% ,在保持实时性能的同时,实现了较高的检测精度,为工业应用、自动驾驶、安防等领域带来了更强大的技术支持。

2.3 YOLOv11的技术亮点

YOLOv11结合了尖端的准确性、速度和效率,用于目标检测、分割、分类、定向边界框和姿态估计等多种任务。它在技术上具有多个亮点:

• 多模块融合机制:引入多模态数据融合技术,能够同时处理RGB、深度和热成像数据,通过融合不同模态的信息,显著提升了算法在复杂环境下的目标检测准确率,尤其是在低光照和恶劣天气条件下表现优异。

• Transformer增强的主干网络:借鉴Transformer架构,在主干网络中集成自注意力机制,增强了模型对长距离依赖关系的捕捉能力,提升了特征表达的丰富性和多样性,使得模型在处理大规模场景时更加高效。

• 自适应多尺度特征融合:采用动态多尺度特征融合策略,根据输入图像的不同特征,自动调整融合层的权重分配,有效提升了对不同尺寸目标的检测能力,减少了小目标漏检和大目标误检的问题。

• 轻量级模型优化:针对实时性需求,通过剪枝和量化技术,显著减少了模型参数量和计算量,同时优化网络结构设计,使得在边缘设备上的推理速度提升50%以上,满足了实际应用中的低延迟要求。

2.4 基于Darknet的YOLOv7的架构与性能

YOLOv7由台湾的研究团队于2022年7月提出,其基于Darknet框架,以 “trainable bag-of-freebies” 技术而闻名,该技术在不增加推理成本的情况下,提高了训练效率和最终性能。

YOLOv7的架构基于高效层聚合网络(Efficient Layer Aggregation Network,ELAN),并引入了扩展的ELAN(E-ELAN)来增强网络的学习能力。它采用了模型重参数化和动态标签分配等技术,进一步提高了训练效率和推理速度。

在性能方面,YOLOv7在COCO数据集上表现出色,在640图像大小下,其mAP达到51.4% ,同时具有较高的推理速度,基础的YOLOv7模型在批量为1的推理中能够达到161fps。这种速度和精度的平衡,使得YOLOv7适用于多种实时目标检测应用场景,如自动驾驶、视频分析等。此外,YOLOv7还具有良好的可扩展性,不同的变体如YOLOv7x和YOLOv7-e6能够在牺牲一定速度的情况下,提供更高的检测精度,满足不同应用场景的需求。

三、数据集介绍与预处理

3.1 HRSC2016-MS数据集特点

HRSC2016-MS是一个海上目标检测数据集,专门用于舰船目标的检测。与其他通用目标检测数据集相比,它具有以下独特特点:

• 单一类别:数据集中仅有舰船这一个类别,这与包含多种类别的通用数据集不同,使得模型训练和评估更加专注于舰船目标的检测。

• 多尺度变化:数据集中的舰船包含各种大小、密度和方向,尺度变化范围较大。与原始的HRSC2016数据集相比,HRSC2016-MS引入了更广泛的舰船尺寸,确保在实际应用中具有更好的泛化能力,这对目标检测模型的多尺度检测能力提出了挑战。

• 数据集多样性:包含了更密集的舰船,提高了数据集在小目标检测方面的实用性。同时,图像中舰船的杂乱程度和尺度过渡变化更丰富,使得数据集更具多样性,增加了目标检测的难度。

• 挑战性的目标分布:每张图像中的舰船方向和密度变化较大,目标分布更加复杂,这要求模型能够更好地适应不同的目标分布情况,准确检测出舰船目标。

3.2 数据集预处理步骤

由于HRSC2016-MS数据集的原始格式与YOLO和DarkNet不兼容,且存在图像在训练集、测试集和验证集之间分布不当的问题,因此需要进行一系列的预处理操作。

• 数据格式转换:数据集使用VOC风格的XML注释,需要将其转换为YOLO格式。具体来说,就是将XML文件中的标注信息解析出来,按照YOLO格式的要求,将目标的类别、边界框坐标等信息保存为文本文件,每个文本文件对应一张图像。

• 数据集划分与洗牌:原始数据集中所有图像都存储在AllImages/目录下,且仅包含文本文件(train.txt、val.txt、test.txt、trainval.txt),其中仅包含图像文件名,需要手动将数据集划分为训练集、验证集和测试集。同时,由于测试集主要包含小而密集的舰船,使用原始数据集进行训练会导致泛化能力差。因此,需要合并、洗牌并重新划分数据集,以确保在训练集、验证集和测试集中平衡分布小舰船和大舰船,防止对特定目标尺寸产生过拟合。

• 数据增强:为了增加数据集的多样性,提高模型的泛化能力,采用了数据增强技术,如随机翻转、旋转、缩放等。通过对训练集中的图像进行这些变换,生成更多的训练样本,使得模型能够学习到更多不同姿态和尺度下的目标特征。

3.3 处理数据集偏差的方法

在HRSC2016-MS数据集中,测试集包含较小、密集的舰船,与训练集和验证集相比存在一定的偏差,这可能导致模型在检测小舰船时出现困难,泛化能力差。为了解决这一问题,采取了以下方法:

• 过采样小目标:对数据集中的小舰船目标进行过采样,增加小目标在训练集中的比例,使得模型能够更多地学习到小目标的特征。可以通过复制小目标图像或者在小目标图像上进行局部裁剪并放大等方式来实现过采样。

• 生成合成数据:利用图像合成技术,生成一些包含小舰船目标的合成图像,并将其加入到训练集中。例如,可以将小舰船目标从原始图像中抠出,然后粘贴到其他背景图像上,生成新的训练样本。

• 调整损失函数权重:在训练过程中,调整损失函数中针对小目标检测的权重,使得模型更加关注小目标的检测,提高对小目标的检测精度。例如,可以增加小目标边界框回归损失的权重,或者增加小目标分类损失的权重。

四、模型微调过程

4.1 YOLOv12的微调设置

• 模型配置:使用YOLOv12的Ultralytics实现版本。设置图像大小为640×640,这是经过实验验证后能够在保证一定检测精度的同时,实现最佳性能的图像尺寸。在这个尺寸下,模型能够充分提取图像中的特征,同时不会因为图像尺寸过大而导致计算量过高,影响训练和推理速度。

• 训练参数设置:设置batch-size为8,这样的批量大小能够在GPU内存允许的情况下,充分利用并行计算资源,加快训练速度。设置epochs count为100,通过多次迭代训练,使得模型能够充分学习到数据集中的特征,提高检测精度。

• 数据增强与训练技巧:采用Mosaic Augmentation数据增强方法,将四张图像拼接在一起进行训练,使模型能够接触到不同尺度下的小目标,增强模型对小目标的检测能力。同时,使用自适应学习率调度,根据训练过程中的损失变化自动调整学习率,有助于防止过拟合,提高模型的收敛速度和稳定性。

4.2 YOLOv11的训练流程

• 采用与YOLOv12相同的训练流程:为了便于对比分析,YOLOv11采用了与YOLOv12相同的训练流程。同样设置图像大小为640×640,batch-size为8,epochs count为100,采用Mosaic Augmentation数据增强方法和自适应学习率调度。这样在相同的训练条件下,可以更直观地比较YOLOv11和YOLOv12的性能差异。

• 模型初始化与加载预训练权重:在训练开始前,对YOLOv11模型进行初始化,并加载在COCO数据集上预训练的权重。预训练权重能够帮助模型更快地收敛,减少训练时间,同时也能够提高模型的泛化能力,使得模型在HRSC2016-MS数据集上能够更快地适应新的数据分布。

4.3 基于Darknet的YOLOv7的微调步骤

• 设置DarkNet环境:首先克隆DarkNet仓库到本地目录,使用CUDA和OpenCV支持编译DarkNet,以充分利用GPU的计算能力,提高训练和推理速度。编译过程中,需要根据系统环境和硬件配置,正确设置相关的编译参数,确保DarkNet能够正常运行。

• 下载预训练权重:为了在HRSC2016-MS上微调基于Darknet的YOLOv7,需要下载基于YOLOv7的DarkNet预训练权重。这些预训练权重是在大规模数据集上训练得到的,包含了丰富的通用目标特征,能够为在HRSC2016-MS数据集上的微调提供良好的初始化。

• 配置数据集路径与训练参数:根据DarkNet的要求,将预处理后的数据集按照特定的目录结构进行组织,每个图像及其对应的标签文件存储在一起。同时,修改配置文件,指定数据集路径、训练参数等信息。在训练参数设置方面,同样设置了合适的batch-size和epochs count,并根据需要调整其他参数,如学习率、动量等。

五、实验结果与分析

5.1 评估指标选择

为了全面评估YOLOv12、YOLOv11和基于Darknet的YOLOv7在HRSC2016-MS数据集上的性能,选择了以下评估指标:

• 平均精度均值(mAP):mAP是目标检测中常用的评估指标,它综合考虑了模型在不同召回率下的精度,能够全面反映模型的检测性能。这里主要关注mAP@50、mAP@75和mAP@(50:95)三个指标,其中mAP@50表示在IoU阈值为0.5时的平均精度均值,mAP@75表示在IoU阈值为0.75时的平均精度均值,mAP@(50:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值