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

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

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

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

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

1Abstract

跨域目标检测是智能检测模型研究中的一个关键问题。与许多基于双阶段检测模型的改进算法不同,我们尝试了另一种方法。本文引入了一种简单高效的单阶段模型,综合考虑了推理效率和检测精度,扩大了承担跨域目标检测问题的范围。我们将这种基于梯度反转层的模型命名为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模型的精度,表明其在跨域目标检测任务中具有更好的应用前景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/456864.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【虚幻引擎UE】UE5 音频共振特效制作

UE5 音频共振特效制作 一、基础准备1.插件准备2.音源准备 二、创建共感NRT解析器和设置1.解析器选择依据2. 创建解析器3. 创建解析器设置(和2匹配)4.共感NRT解析器设置参数调整5.为共感NRT解析器关联要解析的音频和相应设置 三、蓝图控制1.创建Actor及静…

排序(一)插入排序,希尔排序,选择排序,堆排序,冒泡排序

目录 一.排序 1.插入排序 2.希尔排序 3.选择排序 4.堆排序 5.冒泡排序 二.整体代码 1.Sort.h 2.Sort.c 3.test.c 一.排序 1.插入排序 插入排序基本思想:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为 止…

计算机网络原理总结C-网络层

网络层 网络层提供的两种服务网际协议IP 虚拟互连网络IP地址子网掩码(无分类编址CIDR)IP地址和MAC地址IP数据报格式(路由)转发分组的流程 因特网的路由选择协议(动态路由协议) 网际控制报文协议ICMPIP多播…

纯血鸿蒙的最难时刻才开始

关注卢松松,会经常给你分享一些我的经验和观点。 纯血鸿蒙(HarmonyOS NEXT)也正式发布了,绝对是一个历史性时刻,但最难的鸿蒙第二个阶段,也就是生态圈的建设,才刚刚开始。 目前,我劝你现在不要升级到鸿蒙…

最新版本jdbcutils集成log4j做详细sql日志、自动释放连接...等

maven坐标 <!-- MySQL 8 --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.33</version></dependency><!-- Druid连接池 --><dependency><groupId&…

软考中级嵌入式系统设计师笔记分享(二)

1.TTL 电路是电流控制器件&#xff0c;而CMOS 电路是电压控制器件。 2.TTL 电路的速度快&#xff0c;传输延迟时间短(5-10ns)&#xff0c;但是功耗大。 常见的串行总线有 SPI、II2C、USB、RS232/RS422/RS485、CAN等;高速串行总线主要有 SATA、PCIE、IEEE 1394、Rapidl0、USB 3…

C# Unity 同步/异步编程和多线程什么关系?async/await和coroutine又是什么?

目录 不用模板生成的目录怎么这么丑啊 1.同步&#xff1f;异步&#xff1f;多线程&#xff1f; 2.async/await和coroutine&#xff1f; 证明 单线程中的同步/异步 同 异 多线程中的同步异步 同 异 1.同步&#xff1f;异步&#xff1f;多线程&#xff1f; 首先&#…

模型选择拟合

1.通过多项式拟合交互探索概念 import math import numpy as np import torch from torch import nn from d2l import torch as d2l 2.使用三阶多项式来生成训练和测试数据的标签 max_degree 20 # 多项式的最大阶数 n_train, n_test 100, 100 # 训练和测试数据集大小 true…

手动改造UPX壳,增加IAT保护

随便拿Delphi7&#xff0c;新建一个VCL窗体程序&#xff0c;画一个按钮&#xff0c;写两行代码。这一步骤讲究的是什么呢&#xff1f;率性而为&#xff0c;反正没什么卵用。比如&#xff0c;俺写的是这玩意。 <span style"color:#666666"><span style"…

FFMPEG+Qt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频

FFMPEGQt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频 文章目录 FFMPEGQt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频1、前言1.1 目标1.2 一些说明 2、效果3、代码3.1 思路3.2 工程目录3.3 核心代码 4、全部代码获取 1、前言 本文通过FFMPEG(7.0.2)与Qt(5.13.…

YOLO系列入门:1、YOLO V11环境搭建

YOLO了解 yolo检测原理 yolo是目标检测模型&#xff0c;目标检测包含物体分类、位置预测两个内容。目前yolo的开发公司官网为&#xff1a;https://docs.ultralytics.com/zh截止到目前2024年10月&#xff0c;最新的是yolo11。关于YOLO的介绍可以参考这篇文章&#xff1a;https…

Python+Django+VUE 搭建深度学习训练界面 (持续ing)

PythonDjangoVUE 搭建深度学习训练界面 &#xff08;持续ing&#xff09; 环境说明 Pycharm 专业版2024.1.4&#xff0c;社区版不支持网页开发 下载链接&#xff1a;https://www.jetbrains.com/pycharm/download/other.html 参考链接&#xff1a;https://www.quanxiaoha.co…

es实现桶聚合

目录 聚合 聚合的分类 DSL实现桶聚合 dsl语句 结果 聚合结果排序 限定聚合范围 总结 聚合必须的三要素&#xff1a; 聚合可配置的属性 DSL实现metric聚合 例如&#xff1a;我们需要获取每个品牌的用户评分的min,max,avg等值 只求socre的max 利用RestHighLevelClien…

BIO,NIO,直接内存,零拷贝

前置知识 什么是Socket&#xff1f; Socket是应用层与TCP/IP协议族通信的中间软件抽象层&#xff0c;它是一组接口&#xff0c;一般由操作系统提供。在设计模式中&#xff0c;Socket其实就是一个门面模式&#xff0c;它把复杂的TCP/IP协议处理和通信缓存管理等等都隐藏在Sock…

vue3使用i18n做国际化多语言,实现常量跟随语言切换翻译

因为我有一个常量的配置文件在项目中&#xff0c;而且有中文内容&#xff0c;我想在切换语言的时候&#xff0c;跟着这个翻译也实时切换&#xff0c;就可以使用computed计算属性实现。 把name改成下面的样子&#xff1a; name: computed(() > t(pad.regularMode)), 就可以…

分享一款录屏、直播软件

光音录屏 光音录屏 是新一代的录屏工具&#xff0c;跟传统录屏工具相比&#xff0c;它不仅可以录制屏幕&#xff0c;还可以同时录制「人像 屏幕」&#xff0c;此外它还提供了美颜、虚拟背景、绿幕抠像、图片、文本编辑、字幕、白板等更多高级功能。你可以将录制好的视频&…

ue5实现数字滚动增长

方法1 https://www.bilibili.com/video/BV1h14y197D1/?spm_id_from333.999.0.0 b站教程 重写loop节点 方法二 写在eventtick里

ffmpeg视频滤镜: 色温- colortemperature

滤镜简述 colortemperature 官网链接 》 FFmpeg Filters Documentation 这个滤镜可以调节图片的色温&#xff0c;色温值越大显得越冷&#xff0c;可以参考一下下图&#xff1a; 咱们装修的时候可能会用到&#xff0c;比如选择灯还有地板的颜色的时候&#xff0c;选暖色调还是…

多厂商的实现不同vlan间通信

Cisco单臂路由 Cisco路由器配置 -交换机配置 -pc配置 华三的单臂路由 -路由器配置 -华三的接口默认是打开的 -pc配置及ping的结果 -注意不要忘记配置默认网关 Cisco-SVI -交换机的配置 -创建vlan -> 设置物理接口对应的Acess或Trunk -> 进入vlan接口&#xff0c;打开接…

【纯血鸿蒙】HarmonyOS和OpenHarmony 的区别

一、开源鸿蒙&#xff08;Open Harmony&#xff09; 鸿蒙系统愿来的设计初衷&#xff0c;就是让所有设备都可以运行一个系统&#xff0c;但是每个设备的运算能力和功能都不同&#xff0c;所以内核的设计上&#xff0c;采用了微内核的设计&#xff0c;除了最基础的功能放在内核…