当前位置: 首页 > news >正文

[迁移学习]DA-DETR基于信息融合的自适应检测模型

原文标题为:DA-DETR: Domain Adaptive Detection Transformer with Information Fusion;发表于CVPR2023

一、概述

        本文所描述的模型基于DETR,DETR网络是一种基于Transformer的目标检测网络,详细原理可以参见往期文章:[自注意力神经网络]DETR目标检测网络。本文在DETR模型的基础上,引入了信息融合机制,可以有效的实现从有标记的源域无标记的目标域之间的转移。

        相较于传统的两段式网络(Two-Stage;如Faster RCNN),DETR可以通过CNN骨干网络获得低层次的定位特征(如对象周围的边缘)通过Transformer Head获得全局像素间的关系和高级语义特征。融合这两种不同层次的信息可以有效的解决域自适应问题。

        本文创造性的提出了CTBlender(CNN-Transformer Blender)的概念。其原理是使用Transformer Head中的高级语义特征有条件的调节CNN主干中的低级特征。CTBlender由两个组件构成:

                ①分裂-合并融合(split-merge fusion;SMF):将CNN特征分为多个具有不同语义的组;再通过Transformer捕获这些语义信息;然后将这些通过并排合并(便于不同组之间有效的通信)

                ②多尺度聚合融合(scale aggregation fusion;SAF):通过融合多尺度特征的语义信息和本地化信息来聚合SMF获得的特征。

二、模型&方法

        1.Deformable-MSA

        DETR采用“编码器-解码器”模式,对于给定的图像x,先由骨干网络G生成特征向量f,然后通过Transformer对其进行编解码,Transformer由多头注意力模块组成,可以定义为公式:

                MSA(z_q,f)=\sum^H_{h=1}P_H[\sum SA_{hqk} \cdot {P_H}'f_k];其中MSA是由H个单头注意力构成,z_qf_k表示查询元素和关键元素,P_H \in R^{d \times d_h}{P_H}' \in R^{d \times d_h}为可学习的投影权重,而SA_{hqk}一种缩放的点注意力(将查询和键值映射到输出中),可以描述为公式:

                SA_{hqk} \propto exp(\frac{Z_q^TU_m^TV_mf_c}{\sqrt{d_h}});其中U_m,V_m均为可学习权重。

        本文提出了一种Deformable-Transformer(可变形Transformer)来代替传统的Transformer,这种结构拥有更快的收敛速度,其可以表述为:

                 D-MSA(Z_q,p_q,f)=\sum^H_{h=1}P_H[\sum_kSA_{hqk}\cdot {P_H}'f(p_q+\delta p_{hqk})];其中\delta p_{hqk}为第k个采样点的偏移量,SA_{hqk}为关注权重,改结构可以有效的缓解DERT收敛慢的问题,同时可变形的特点也适合从骨干网络中融合多尺度特征结构。

        2.网络结构

        网络总体结构如上图所示,整个网络可以被描述为公式:

                L_{det}=l(T(G(x_s)),y_s);其中x_s为源域图像,y_s为源域标签,G为骨干网络,T为DERT Head,l为匈牙利损失函数。

        从结构图可以看出,与传统DERT相比,其最大的区别是加入了CTBlender模块用于进行非监督的域适应训练。故其用于监督学习的分支①与传统DERT相同,通过将损失函数L_{det}前向传递即可完成训练。

        对于无监督训练,CTBlender以源图目标图的CNN的多尺度特征向量f^l(l=1,2,3,4)和Transformer编码的语义向量p^l(l=1,2,3,4)作为输入,CTBlender的输出将作为鉴别器(Discriminator)的输入,计算得出用于域间对齐的对抗损失函数L_{adv},可以表述为公式:

                L_{adv}=E_{(f,p)}\in D_s log C_d(H(f,p))+E_{(f,p)}\in D_t log(1-C_d(H(f,p)));其中f=G(x),p=E(G(x))G是骨干网络函数,E为Transformer编码器函数,H为CTBlender函数C_d为鉴别器。

        DA-DERT的总体优化函数可以描述为:\underset{C_d}{max}\, min L_{det}(G,T)-\lambda L _{adv}(H,C_d)

        3.CTBlender

        CTBlender由两个模块组成:SMF(负责混合CNN和Transformer的特征)和SAF(负责融合不同尺寸的加权特征图),其具体结构如下:

                ①SMF

                 由于SMF对每层的操作都是一样的,原文选择l=1时的数据进行展示。首先将CNN的特征图f^1和Transformer的语义特征p^1拆分(split)为多个组,(f^1p^1沿着通道均分为K个组)并通过空间(Spatial-wise)和通道(Channel-wise)两个方向进行融合;融合后的特征与信道进行合并(merge)。

                空间融合:分裂的p^1特征首先进行归一化,然后通过可学习权重图对偏置图(bias map)进行重加权,可以描述为公式:

                        \hat{p}^1_{ks}=f_s(w_s \cdot GN(p_k^1)+b_s);其中f_s()的输出范围限定在[0,1]

                通道融合:分裂的p^1通过全局池化进行压缩,然后通过可学习权重图对偏置图(bias map)进行重加权,可以描述为公式:

                        \hat{p}^1_{kc}=f_s(w_c \cdot GAP(p_k^1)+b_c);其中GAP为全局平均池化(Global Average Pooling),f_s()的输出范围限定在[0,1]

                利用上面求出的权重\hat{p}^1_{ks}\hat{p}^1_{kc}在对应的方向上对分裂后的特征图f_k^1进行重新加权,得到加权后的特征图\hat{f}_k^1,然后沿着通道方向对\hat{f}^1_k进行K次混洗(shuffle),将混洗后的特征图融合为\hat{f}^1

                ②SAF

                 将SMF得到的多尺度加权特征图组\hat{f}=\{\hat{f}^l\}^L_{l=1}通过全局平均池化(GAP)压缩为向量组u=\{u^l\}^L_{l=1}。首先通过逐元素求和的方法将通道方向的向量求和为u_m;然后通过全连接层将向量u_m和对应的权重向量\alpha^l连接(\alpha^l \in R^{c \times 1 \times 1});最后将文本信息嵌入到向量V_a中,可描述为公式:V_a=\sum^L_{l=1}\hat{f}^l \cdot \alpha^l

相关文章:

[迁移学习]DA-DETR基于信息融合的自适应检测模型

原文标题为:DA-DETR: Domain Adaptive Detection Transformer with Information Fusion;发表于CVPR2023 一、概述 本文所描述的模型基于DETR,DETR网络是一种基于Transformer的目标检测网络,详细原理可以参见往期文章:…...

【MATLAB】全网唯一的13种信号分解+FFT傅里叶频谱变换联合算法全家桶

有意向获取代码,请转文末观看代码获取方式~ 大家吃一顿火锅的价格便可以拥有13种信号分解FFT傅里叶频谱变换联合算法,绝对不亏,知识付费是现今时代的趋势,而且都是我精心制作的教程,有问题可随时反馈~也可单独获取某一…...

Nginx安装与配置

1.下载安装包 官网下载地址:nginx: download 可以先将安装包下载到本地再传到服务器,或者直接用wget命令将安装包下载到服务器,这里我们直接将安装包下载到服务器上。未安装wget命令的需要先安装wget,yum install -y wget [root…...

linux笔记总结-基本命令

参考: 1.Linux 和Windows比 比较 (了解) 1. 记住一句经典的话:在 Linux 世界里,一切皆文件 2. Linux目录结构 /lib • 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几 乎所有…...

[PHP]禅道项目管理软件ZenTaoPMS源码包 v16.4

禅道项目管理软件ZenTaoPMS一键安装包是一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。注重实效的管理思想,合理的软件…...

Required String parameter ‘name‘ is not present

[org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter name is not present] 服务端有参数name,客户端没有传上来...

路由器基础(五): OSPF原理与配置

开放式最短路径优先 (Open Shortest Path First,OSPF) 是一个内部网关协议 (Interior Gateway Protocol,IGP),用于在单一自治系统(Autonomous System,AS) 内决策路由。OSPF 适合小型、中型、较大规模网络。OSPF 采用Dijkstra的最短路径优先算法 (Shortest Pat…...

Leetcode1128. 等价多米诺骨牌对的数量

Every day a Leetcode 题目来源&#xff1a;1128. 等价多米诺骨牌对的数量 解法1&#xff1a;暴力 代码&#xff1a; class Solution { public:int numEquivDominoPairs(vector<vector<int>> &dominoes){int n dominoes.size(), count 0;for (int i 0;…...

Dev-C调试的基本方法2-2

3.3 跳出函数 在图6所示的状态下&#xff0c;点击单步调试&#xff08;F7&#xff09;会继续调试下一行&#xff0c;而如果想结束在函数中的调试&#xff0c;则点击图4③所示的跳出函数&#xff0c;或CtrlF8按键跳出f()函数&#xff0c;程序将会停在图5所示的第11行处。 3.4 …...

企业之间的竞争,ISO三体系认证至关重要!

ISO三体系认证是指ISO 9001质量管理体系认证、ISO 14001环境管理体系认证、ISO 45001(OHSAS18001)职业健康安全管理体系认证。企业&#xff08;组织&#xff09;自愿申请、通过ISO三体系认证&#xff0c;并贯彻落实&#xff0c;确实能获益多多。 ISO 9001质量管理体系 我们经…...

node教程(四)Mongodb+mongoose

文章目录 一、mongodb1.简介1.1Mongodb是什么&#xff1f;1.2数据库是什么&#xff1f;1.3数据库的作用1.4数据库管理数据的特点 2.核心概念3.下载安装与启动4.命令行交互4.1数据库命令4.3文档命令 二、Mongoose1.介绍2.作用3.使用流程4.插入文档5.mongoose字段类型 一、mongod…...

作为一个初学者,该如何入门大模型?

在生成式 AI 盛行的当下&#xff0c;你是否被这种技术所折服&#xff0c;例如输入一段简简单单的文字&#xff0c;转眼之间&#xff0c;一幅精美的图片&#xff0c;又或者是文笔流畅的文字就展现在你的面前。 相信很多人有这种想法&#xff0c;认为生成式 AI 深不可测&#xf…...

编译支持GPU的opencv,并供python的import cv2调用

下载opencv和opencv_contrib&#xff0c;cmake过程中要下载的一些包可以手动下载配置&#xff0c;如果网络较好&#xff0c;也可以等待自动下载。主要记录的是cmake命令&#xff1a; cmake -D CMAKE_BUILD_TYPERELEASE \-D BUILD_opencv_python3YES \-D CMAKE_INSTALL_PREFIX/…...

Bug记录

那些年写过的很小的bug&#xff1a; Bug1&#xff1a; if args.model IRNN or irnn:# some code这实际上不会按你期望的方式工作。原因在于 ‘irnn’ 是一个非空的字符串&#xff0c;因此它在布尔上下文中被视为 True。所以条件总是为真&#xff0c;而不会考虑 args.model 的…...

web3 React dapp中编写balance组件从redux取出并展示用户资产

好啊 上文WEB3 在 React搭建的Dapp中通过redux全局获取并存储用户ETH与自定义token与交易所存储数量中 我们拿到了用户的一个本身 和 交易所token数量 并放进了redux中做了一个全局管理 然后 我们继续 先 起来ganache的一个模拟环境 ganache -d然后 我们启动自己的项目 顺手发…...

BIOS开发笔记 - DDR中的时序参数

通过前一篇文章学习,我们可以大致知道内存条(Module)的组成及SDRAM内部的结构,这一篇再介绍下SDRAM中常见的时序参数以及整个读写操作的流程。 一、外部信号 图1 DDR4的外部线路图 DDR是一种高带宽的传输接口,其外部信号较多,图1是一个DDR4的外部线路图,以下对图中跟通…...

语义分割 - 简介

语义分割是计算机视觉领域的一项重要任务&#xff0c;旨在将图像中的每个像素标记为对应的语义类别。与传统的图像分类任务不同&#xff0c;语义分割不仅要识别整个图像的类别&#xff0c;还需要对图像中的每个像素进行分类&#xff0c;从而实现对图像的像素级别理解。 语义分…...

ch0_OSI 七层网络协议介绍

目录 概述 1、三网融合的概念 三网&#xff1a;电信网络、有线电视网络、计算机网络 概念&#xff1a;把上述三种网络融合成一种网络 2、计算机网络的定义、分类 定义&#xff1a;计算机网络是将地理位置不同的独立计算机系统&#xff0c;通过传输介质链接起来&#xff0c…...

超声波俱乐部分享:百度世界大会点燃AI创业者新希望

10月22日&#xff0c;2023年第十三期超声波俱乐部内部分享会在北京望京举行。本期的主题是&#xff1a;百度世界大会点燃AI创业者新希望。 到场的嘉宾有&#xff1a;超声波创始人杨子超&#xff0c;超声波联合创始人、和牛商业创始人刘思雨&#xff0c;中国国际经济交流中心研…...

【项目管理】项目计划中常见影响进度的风险汇总

哈喽&#xff0c;大家好&#xff0c;我是雷工。 在项目实施过程中针对项目进度的计划常常会有各种各样的的风险&#xff0c;相比出了问题去救火与填坑&#xff0c;能够提前预知风险&#xff0c;并提前调整计划&#xff0c;更能有利于项目的如期交付。 以下为项目计划中影响进度…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...