论文速读:YOLO-G,用于跨域目标检测的改进YOLO(Plos One 2023)

原文标题:YOLO-G: Improved YOLO for cross-domain object detection

中文标题:YOLO -G :用于跨域目标检测的改进YOLO

论文地址: 百度网盘 请输入提取码 提取码:z8h7

代码地址: GitHub - airy975924806/yolo-G

1 Abstract

跨域目标检测是智能检测模型研究中的一个关键问题。与许多基于双阶段检测模型的改进算法不同,我们尝试了另一种方法。本文引入了一种简单高效的单阶段模型,综合考虑了推理效率和检测精度,扩大了承担跨域目标检测问题的范围。我们将这种基于梯度反转层的模型命名为YOLO-G,大大提高了跨域场景下的目标检测精度。具体来说,我们在主干之后添加了一个特征对齐分支,其中附加了梯度反转层和分类器。计算量只增加了一点点,性能得到了更高的提高。通过若干实验表明,与大多数最先进的(SOTA)算法相比,所提出的模型实现了更好的平均精度(mAP)。此外,还对4个部件进行了消融实验,以验证模型的可靠性。

2 、Introduction

2.1 、目标检测面临的挑战

深度卷积模型显著提高了目标检测的精度。然而,这些模型受到训练数据的严重约束。跨域目标检测要求模型在完全标注的训练集中完成训练过程,然后应用于来自不同域的验证。由于这样的领域差距,可能会出现糟糕的结果甚至退化。在现实世界中,这样的差异,比如照明条件、天气条件、视角、设备差异等是很常见的。此外,提供无限的训练数据是不可能的。也就是说,收集更多的数据并不是提高模型能力和增强模型鲁棒性的可靠方法。

2.2 、针对跨域目标检测的方法

2.2.1 、无监督方法

针对有限标记训练数据下的跨域目标检测问题,DAF首次关注到这一问题,设计了一种基于Faster R-CNN的改进双阶段检测模型,采用无监督训练的方式提升其在变化天气条件下的检测能力。随后,有人采用了添加了指导分支、融合生成对抗模型等方法,获得了更好的能力。

2.2.2 、半监督方法

也有人采用了半监督的方法,如调整训练策略,增加知识蒸馏机制,或者引入迭代训练方式,这些都是为了逐步提高模型的跨域检测能力。然而这些方法大大增加了计算预算,延长了训练时间。

2.2.3 、基于 YOLO 的跨域检测

与双阶段检测模型相比,YOLO在速度、精度、应用等方面更具优势。目前基于YOLO的跨域检测模型正在迅速发展。聚焦跨域目标检测问题,本文以YOLOv5-L模型为基线;特别是,我们采用了双阶段模型中广泛使用的特征对齐思想,并添加无监督对抗训练分支来提高模型的自适应能力;通过采用这样一个简单而高效的分支,该模型获得了全新的能力。具体来说,为了实现自适应特征对齐并减少不同图像之间的域差距,我们将对抗性训练机制引入模型参数更新过程。为了减轻负担,我们使用基于全卷积网络和全局平均最大池化的朴素三层分类器,并进行梯度反向操作。与密集线性层相比,YOLO-G只是稍微增加了计算量,但精度大大提高。为了在跨域目标检测任务中验证所提出的模型,本文在6个基准集下进行了大量的实验;结果表明,YOLO-G比一系列半监督和双阶段SOTA模型具有更好的检测精度。

2.3 、本文贡献

1)对于跨域目标检测任务,我们通过综合实验验证了YOLO模型在跨域目标检测任务中的可用性。本文消融实验表明,在仅源条件下,YOLOV5-L模型可以与许多SOTA算法进行比较。

2)YOLO-G模型是基于YOLOV5-L设计的。在基线模型中加入了一个简洁高效的无监督对抗训练分支。扩大了跨领域模型设计的范围,改变了以往仅限于双阶段模型的情况。

3)我们进行了定性和定量实验,并在6个跨域基准测试中比较了10种算法。为了充分说明模型的可信度,还进行了2个方面4和个因素的消融实验。实验结果表明,该模型确实取得了较好的检测效果。

3 、Related work

3.1 、Object detection

目标检测模型作为计算机视觉研究的重要内容,近年来在深度学习技术的支持下得到了迅速发展。其中,单阶段检测模型以 YOLO 和 SSD 为代表。特别是YOLO模型已经逐渐发展成为一个推理速度快、精度准确、部署简单的丰富系列。以Mask R-CNN和Fast R-CNN为代表的双阶段检测模型在学术研究中占有重要地位,因为模型采用了分离ROI区域生成和分类判别的过程,使得模型具有较高的可塑性。由于采用了更精细的ROI搜索策略,两阶段模型在相同条件下具有更高的检测精度。 目前,随着transformer的应用,基于transformer的更大参数规模的目标检测模型大放异彩,显示出良好的发展前景。在实际部署场景中,YOLO系列模型具有更好的兼容性。因此,综合考虑任务需求、应用场景和推理速度,本文选择YOLOv5-L模型作为基准,并对其进行改进,以适应跨域目标检测任务。

3.2 、Cross-domain

DAF创造性地利用双阶段检测模型解决了跨域目标检测问题,提出了一种基于全局特征对齐和目标特征对齐的处理方法。受其启发,后续的大多数研究都基于双阶段检测模型。少数研究,SWDA提出使用增强的局部特征和全局特征作为辅助特征对齐,GPA设计了基于类特征对齐的检测框架,ATF和PA-ATF尝试使用多分支监督训练来提高跨域目标检测能力。随着相关研究内容的不断深入,已经有了基于单阶段检测模型的尝试,如 EPMDA 将FCOS 模块集成到YOLO主干中,以提高其在跨域图像中提取目标特征的能力,SSDA-YOLO 在基于YOLO的跨域目标检测模型中加入 CUT 和知识蒸馏机制,也是基于YOLO。本文以单阶段检测模型为基准,探索跨域目标检测任务。通过本文的实验研究表明,借助有限计算量的功能分支,YOLO-G提高了YOLO在跨域目标检测任务中的能力。并且在某些任务中,结果远高于一些双阶段检测模型。

3.3 、Cross-domain detection

跨域检测任务在发展过程中演化出全监督、半监督、无监督等多种路径。

1 **)**全监督方法是指构建目标领域的全标注数据;该方法通过收集和标注数据增强,达到提高泛化能力的目的,然而这会带来巨大的劳动力。在实际应用场景中,无法收集所有可能场景的数据,因此这种方法并不可取。

2 **)**半监督方法提出使用部分标记的数据来指导训练过程;他们主要将训练过程分为多个阶段。首先,训练具有完全标记的源域数据的初始模型,然后通过预训练的模型创建目标域数据上的伪标签。设置置信度阈值后,迭代地将检测到的充分准备的目标域数据添加到训练集中。逐步引导模型提高泛化能力,但该方法受到初始模型检测能力的限制。很多情况下,初始模型很难提供足够有效的伪标签,导致迭代过程难以继续下去。

3 **)**无监督方法利用深度学习模型本身强大的自学习能力,通过设置简单的边界条件甚至提供属于目标域的未标记数据,模型可以独立学习识别目标的关键特征,在实现上更加简洁高效。

受这些原理的启发,本文在YOLOV5-L模型的基础上,通过增加无监督特征对齐函数分支,提出了一种简单、准确的跨域目标检测模型。

4、Discussion

YOLO-G在跨域目标检测方面的能力大大增强。但也存在一个严重的问题,即YOLO-G在考虑小物体时表现不佳。YOLO是一个基于锚点的模型,因此要确定一个适合所有目标的锚点是非常困难的,由于不同目标的大小和形状各异,为所有目标选择一个"最适合"的锚点是一个挑战。有些目标可能与预定义的锚点形状匹配得很好,而其他目标可能匹配得不好。特别是当数据集中的小目标较少时,如果没有焦损失函数的帮助,模型可能会偏向于检测那些较大的、容易被检测到的目标。焦点损失(focal loss)是一种损失函数,它专门为解决类别不平衡问题而设计,特别是在目标检测任务中;它通过减少对容易分类样本的关注,增加对难以分类样本的关注,来鼓励模型关注那些难以检测的目标(如小目标);这有助于模型更好地学习检测所有大小的目标。总之,在实际应用中还有很多需要进一步探索的地方。

5、Conclusion

为了缓解跨域目标检测问题,本文分析了主流算法模型的特点,在YOLOV5的基础上提出了一种简单高效的YOLO-G模型。通过引入特征对齐分支和对抗训练,提高了主干模型在提取目标特征方面的一致性,增强了模型的泛化性,实现了更好的跨域检测能力。我们还组织了9组跨域对比实验,本文提出的YOLO-G模型达到了超越一系列SOTA模型的精度,表明其在跨域目标检测任务中具有更好的应用前景。

相关推荐
古希腊掌管学习的神32 分钟前
[机器学习]XGBoost(3)——确定树的结构
人工智能·机器学习
ZHOU_WUYI1 小时前
4.metagpt中的软件公司智能体 (ProjectManager 角色)
人工智能·metagpt
靴子学长2 小时前
基于字节大模型的论文翻译(含免费源码)
人工智能·深度学习·nlp
AI_NEW_COME3 小时前
知识库管理系统可扩展性深度测评
人工智能
海棠AI实验室3 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself3 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董4 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee4 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa4 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐4 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类