论文阅读<MULTISCALE DOMAIN ADAPTIVE YOLO FOR CROSS-DOMAIN OBJECT DETECTION>

news2024/11/24 15:06:44

论文链接:https://arxiv.org/pdf/2106.01483v2.pdficon-default.png?t=N7T8https://arxiv.org/pdf/2106.01483v2.pdf

代码链接:GitHub - Mazin-Hnewa/MS-DAYOLO: Multiscale Domain Adaptive YOLO for Cross-Domain Object DetectionMultiscale Domain Adaptive YOLO for Cross-Domain Object Detection - GitHub - Mazin-Hnewa/MS-DAYOLO: Multiscale Domain Adaptive YOLO for Cross-Domain Object Detectionicon-default.png?t=N7T8https://github.com/Mazin-Hnewa/MS-DAYOLO

目录

Abstract

Method

2.1 Domain Adaptive Network for YOLO

2.2 DAN(Domain Adaptive Network)

Abstract

        域适应领域在解决许多应用中遇到的域迁移问题方面发挥了重要作用。这个问题是由于用于训练的源数据分布与实际测试场景中使用的目标数据分布之间的差异造成的。本文提出了一种新的多尺度域自适应YOLO ( MultiScale Domain Adaptive YOLO,MS-DAYOLO )框架,该框架在最近引入的YOLOv4目标检测器的不同尺度上使用多个域适应路径和相应的域分类器来生成域不变特征。我们使用流行的数据集来训练和测试我们提出的方法。我们的实验表明,在使用所提出的MSDAYOLO训练YOLOv4和在目标数据r上测试时,目标检测性能显著提高

Method

        以YOLOv4作为backbone,它包括23个残差块和5个下采样层去提取特征。这里关注下图中列出的backbone的后三个模块。目的是让域自适应用于这三块特征,使得它们对不同尺度的域变化更具鲁棒性,从而在基于域自适应的训练过程中收敛到域不变性。

2.1 Domain Adaptive Network for YOLO

        YOLOv4和设计的DAN模块以端到端的方式进行训练,测试时仅使用YOLOv4原先的结构,以保证在实时检测中的应用。

        DAN的输入是backbone的三个特征提取块,主要用公式1中的损失进行约束,t_{i}是第i张训练图像的GT的lable,t_{i}=1是源域,t_{i}=0是目标域,p_{i}^{(x,y)}是第i张训练图预测出的概率。通过最大化这个损失,backbone去学习域不变特征,这有助于提高目标域的检测性能。

        在Backbone和DAN中使用GRL(Gradient Reversal Layer)连接,GRL是一种双向算子,用于实现两种不同的优化目标。在前馈方向,GRL充当标识算子。这导致在进行局部反向传播时,标准的目标是最小化DAN的分类误差,而对于向骨干网络的反向传播,GRL成为一个负标量( λ )。这导致了二分类误差的最大化;并且这种最大化促进了backbone生成领域不变特征。总损失用公式2计算,λ用于控制DAN对backbone的影响。

2.2 DAN(Domain Adaptive Network)

        为了解决梯度消失问题,分别对三个尺度进行域适应,换句话说,只对最终尺度( F3 )进行域适应并不会因为梯度消失问题而对之前的尺度( F1和F2)产生显著影响。因此,我们采用多尺度策略,通过3个相应的GRL将主干的3个特征F1、F2和F3连接到DAN,如图2所示。对于每个尺度,GRL后有两个卷积层,第一个卷积层减少一半的特征通道,第二个卷积层预测域类概率。最后,使用一个域分类器层来计算领域分类损失。

Experiment

3.1 Setup

        训练的数据包括两部分,一部分来自有标注的源域,另一部分来自没有标注的目标域。每个batch有64张图像,其中32张来自源域,32张来自目标域。使用Cityscape,Foggy Cityscaoes,BDD100K和INIT进行实验。

3.2 Result and Discussion

Clear to Foggy

        用Cityscape和Foggy Cityscape的训练集作为全部训练集,Foggy Cityscape的验证集去进行评估。和YOLOV4相比,性能得到非常大的提升。

Sunny to Rainy

        还使用BDD100K [ 23 ]和INIT [ 24 ]数据集讨论了我们提出的方法从晴天到阴雨天气的适应能力。我们为源数据提取"晴朗天气"有标签图像,"阴雨天气"无标签图像来表示目标数据。与之前一样,原始的YOLOv4仅使用源数据(即带标记的晴天图像)进行训练。提出的MS - DAYOLO使用源数据和目标数据(即有标记的晴天图像和无标记的雨天图像)进行训练。此外,从雨天数据中提取有标签的图像进行测试和评估。结果汇总于表2。我们的方法在两个数据集上都比原始的YOLO取得了明显的性能提升。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[JS设计模式]Command Pattern

文章目录 举例说明优点缺点完整代码 With the Command Pattern, we can decouple objects that execute a certain task from the object that calls the method. 使用命令模式,我们可以将执行特定任务的对象与调用该方法的对象解耦。 怎么理解 执行特定任务的对…

【SpringBoot】之Security进阶使用

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《SpringBoot开发之Security系列》。&#x1f3af…

解决 Linux git push 贡献者不同(没有出现绿点)的问题

第一步,通过下面的指令,修改 linux git 的配置文件: vi ~/.gitconfig会进入下图界面: 进入本地(Windows)中 git 的设置界面 复制 名称 和 Email 到 gitconfig 里,不要在末尾加 (空…

直排轮滑教程4

蹬地 1,前面练习了蹬地的结构,知道蹬地方向,如何用力。下面来练习具体的蹬地的方法,轮滑蹬地有自己特点。 2,技术方法和特点:蹬地速度快,蹬地有弹性。似跳非跳蹬。 3,四轮着地。轮…

使用PE信息查看工具和Beyond Compare文件比较工具排查dll文件版本不对的问题

目录 1、问题说明 2、修改了代码,但安装版本还是有问题 3、使用PE信息查看工具查看音视频库文件(二进制)的时间戳 4、使用Beyond Compare比较两个库文件的差异 5、找到原因 6、最后 C软件异常排查从入门到精通系列教程(专栏…

NFS原理详解

一、NFS介绍 1)什么是NFS 它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。 NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中。 在本地的NFS客户端的机器看来,NFS服务器端共享的目录就好像自己的磁…

【蓝桥杯】树的重心

树的重心 图的dfs模板 int dfs(int u) {st[u]true;for(int ih[u];i!-1;ine[i]){int je[i];if(!st[j]){dfs(j);}} }树是这样的。 邻接表: 1: 4->7->2->-1 2: 5->8->1->-1 3: 9->4->-1 4: 6->3->1->-1 5: 2->-1 6: 4->-1 7…

计算机网络 运输层下 | TCP概述 可靠传输 流量控制 拥塞控制 连接管理

文章目录 3 运输层主要协议 TCP 概述3.1 TCP概述 特点3.2 TCP连接RSVP资源预留协议 4 TCP可靠传输4.1 可靠传输工作原理4.1.1 停止等待协议4.1.2 连续ARQ协议 4.2 TCP可靠通信的具体实现4.2.1 以字节为单位的滑动窗口4.2.2 超时重传时间的选择4.2.3 选择确认SACK 5 TCP的流量控…

Python---socket之send和recv原理剖析

1. 认识TCP socket的发送和接收缓冲区 当创建一个TCP socket对象的时候会有一个发送缓冲区和一个接收缓冲区,这个发送和接收缓冲区指的就是内存中的一片空间。 2. send原理剖析 send是不是直接把数据发给服务端? 不是,要想发数据,必须得…

GEE-Sentinel-2月度时间序列数据合成并导出

系列文章目录 第一章:时间序列数据合成 文章目录 系列文章目录前言时间序列数据合成总结 前言 利用每个月可获取植被指数数据取均值,合成月度平均植被指数,然后将12个月中的数据合成一个12波段的时间数据合成数据。 时间序列数据合成 代码…

嵌入式中断理解

一、概念 中断: 在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行。 中断优先级&#x…

YACS(上海计算机学会竞赛平台)一星级题集——水仙花指数

题目描述 定义一个正整数的十进制表示中各位数字的立方和为它的水仙花指数,给定一个整数 n,请计算它的水仙花指数。 例如 n1234 时,水仙花指数为 输入格式 单个整数:表示 n 输出格式 单个整数:表示 n 的水仙花指…

IPC之九:使用UNIX Domain Socket进行进程间通信的实例

socket 编程是一种用于网络通信的编程方式,在 socket 的协议族中除了常用的 AF_INET、AF_RAW、AF_NETLINK等以外,还有一个专门用于 IPC 的协议族 AF_UNIX,IPC 是 Linux 编程中一个重要的概念,常用的 IPC 方式有管道、消息队列、共…

深入探讨开源对话系统:IntelliQ的世界

在人工智能的快速发展时代,开源项目成为了推动技术革新的重要力量。最近,我注意到了一个特别有趣的项目——IntelliQ。这个项目旨在利用大型语言模型(LLM)构建一个多轮问答系统,不仅具备强大的意图识别和词槽填充&…

【Unity】【WebRTC】如何用Unity而不是浏览器接收远程画面

【背景】 之前几篇我们讨论了如何设置信令服务器,如何发送画面给远端以及如何用浏览器查看同步画面,今天来讨论如何实现Unity内部接收画面。 看本篇之前请先看过之前将web服务器设置和基本远程画面功能的几篇博文。(同专栏下查看&#xff09…

使用VSC从零开始Vue.js——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务3:数据可视化

使用Visual Studio Code(VSC)进行Vue开发非常方便,下面是一些基本步骤: 一、下载和安装Vue 官网下载地址Download | Node.js Vue.js是基于Node.js的,所以首先需要安装Node.js,官网下载地址:No…

PMP项目管理 - 范围管理

系列文章目录 系统架构设计 PMP项目管理 - 整合管理 PMP项目管理 - 质量管理 PMP项目管理 - 采购管理 PMP项目管理 - 资源管理 PMP项目管理 - 风险管理 PMP项目管理 - 沟通管理 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is …

快速搭建Grafana Promethus 服务器监控系统

该文参考文章,其中又遇到一些问题,并解决,当前主要为了记录一下 探针 Grafana Prometheus 之比 Docker 更简单的部署流程 - 承飞之咎本文重在 Grafana Prometheus 探针 方案的部署流程,介绍和更多使用请到:探针 ̵……

【12.20】转行小白历险记 登录+注册页

一、登录注册页面逻辑 写样式布局:垂直居中、编程式路由、调后端接口正则表达式验证用户输入的密码规则校验通过后,跳转页面js兜底校验调后端接口将token值存储到vuex中,实现持久化存储 vuex不是持久化存储的,如果需要持久化存储…

当下流行的直播技术demo演示

nginx-http-flv-module(更新不是很频繁) SRS: https://ossrs.net/lts/zh-cn/(独立官网,目前最新稳定版version5) 基于SRS搭建直播demo演示: 一、搭建流媒体服务器 参见官网:https://ossrs.ne…