[迁移学习]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

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

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

相关文章

微信视频号怎么下载视频,教你一键提取的方法!

今日小众冷门主题来袭!居然还有人不知道怎么下载微信视频号的视频?快来跟着我一起学习吧! 首先,我们要讨论的是微信视频号。这是一个近年来越来越受欢迎的平台,你可以在上面找到各种有趣的视频内容。但是,…

YOLOv5 - yolov5s.yaml 文件

基于深度学习的目标检测模型的结构:输入->主干->脖子->头->输出。主干网络提取特征,脖子提取一些更复杂的特征,然后头部计算预测输出。 YOLOv5网络结构主要由以下几部分组成: 骨干网络(Backbone) :Backbone:骨干网络&#xff0c…

求解一个整数中含多少个1

1.问题描述:给定一个整数,统计其对应的二进制中含有1的个数。比如8(0000 1000),对应的二进制数中,只含有一个1. 2.设计思路:对x取余:zx%2。如果z!0,说明x的末尾不是为1.对于一个二进制x4x3x2x1…

提升ChatGPT答案质量和准确性的方法Prompt engineering

文章目录 怎么获得优质的答案设计一个优质prompt的步骤:Prompt公式:示例怎么获得优质的答案 影响模型回答精确度的因素 我们应该知道一个好的提示词,要具备一下要点: 清晰简洁,不要有歧义; 有明确的任务/问题,任务如果太复杂,需要拆分成子任务分步完成; 确保prompt中…

JAVA 实现PDF转图片(spire.pdf.free版)

1.引入jar包 导入方法1: 手动引入。将Free Spire.PDF for Java下载到本地,解压,找到lib文件夹下的Spire.PDF.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序: 导入方法2:如果您想通过…

百度 | 文心一言也开始收费了

好久没用文心一言了 之前一直用ChatGPT的 今天打开文心一言一看,好家伙 出了文心大模型4.0,想体验一下来着 可惜是收费的 看下价格,没买 50块钱一个月,对比ChatGPT4来说,确实不算贵 毕竟gpt4一个月20美刀 ,…

MySQL数据库干货_16—— SQL99标准中的查询

SQL99标准中的查询 MySQL5.7 支持部分的SQL99 标准。 SQL99中的交叉连接(CROSS JOIN) 示例: 使用交叉连接查询 employees 表与 departments 表。 select * from employees cross join departments;SQL99中的自然连接(NATURAL JOIN) 自然连接 连接只能发生在两…

多测师肖sir_高级金牌讲师_性能指标

性能指标 一、性能测试指标 性能测试是通过测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。 目的:验证软件系统是否能够达到用户提出的性能指标,发现系统中存在的性能瓶颈并加以优化。 二、指标分为两大类: 软件…

C++ 赋值运算重载,const成员,取地址及const取地址操作符重载

C 赋值运算重载,const成员,取地址及const取地址操作符重载 1. 赋值运算符重载1.1 运算符重载1.2 赋值运算符重载1.3 前置/--和后置/--重载 2. const成员3. 取地址及const取地址操作符重载 所属专栏:C“嘎嘎" 系统学习❤️ 🚀…

内置对象和方法、前端基础之BOM和DOM

内置对象和方法 RegExp对象 // 定义正则表达式两种方式 var reg1 new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}"); var reg2 /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;// 正则校验数据 reg1.test(jason666) reg2.test(jason666)/*第一个注意事项,正则表达式中不能有…

多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测

多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测 目录 多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测预测效果基本描述程序设计参考资料 预测效果 基…

服务器数据恢复-VSAN环境下ESXI虚拟机无法访问的数据恢复方案

一、用户信息: 广东某单位 二、数据恢复环境: 主机操作系统:ESXI 分区类型:VSAN 存储介质清单 :一共8台服务器节点,每节点2个磁盘组,其中1个磁盘组配置1块SSD固态硬盘,4块1.2T机…

Docker安装部署[8.x]版本Elasticsearch+Kibana+IK分词器

文章目录 Docker安装部署elasticsearch拉取镜像创建数据卷创建网络elasticsearch容器,启动!踩坑:虚拟机磁盘扩容 Docker安装部署Kibana拉取镜像Kibana容器,启动! 安装IK分词器安装方式一:直接从github上下载…

人工智能基础_机器学习011_梯度下降概念_梯度下降步骤_函数与导函数求解最优解---人工智能工作笔记0051

然后我们来看一下梯度下降,这里先看一个叫 无约束最优化问题,,值得是从一个问题的所有可能的备选方案中选最优的方案, 我们的知道,我们的正态分布这里,正规的一个正态分布,还有我们的正规方程,他的这个x,是正规的,比如上面画的这个曲线,他的这个x,就是大于0的对吧,而现实生活…

论文阅读 - Detecting Social Bot on the Fly using Contrastive Learning

目录 摘要: 引言 3 问题定义 4 CBD 4.1 框架概述 4.2 Model Learning 4.2.1 通过 GCL 进行模型预训练 4.2.2 通过一致性损失进行模型微调 4.3 在线检测 5 实验 5.1 实验设置 5.2 性能比较 5.5 少量检测研究 6 结论 https://dl.acm.org/doi/pdf/10.1145/358…

nodejs express vue 点餐外卖系统源码

开发环境及工具: nodejs,vscode(webstorm),大于mysql5.5 技术说明: nodejs express vue elementui 功能介绍: 用户端: 登录注册 首页显示搜索菜品,轮播图&#xf…

Diango项目-简易个人博客项目

项目实现功能 在admin后台自定义添加上传文档。对展示在首页的文章分页显示。在首页点击文章的阅读全文按钮可进入该文章全文详情页进行浏览。对文章实现了内容分类何以发布时间进行归档分类。使用django的whoose搜索引擎对全文实现内容的搜索。 项目涉及技术 Mysql Djan…

【设计模式】第10节:结构型模式之“组合模式”

一、简介 组合模式:将一组对象组织成树形结构,将单个对象和组合对象都看做树中的节点,以统一处理逻辑,并且它利用树形结构的特点,递归地处理每个子树,依次简化代码实现。使用组合模式的前提在于&#xff0…

ts 简易封装 axios,统一 API

文章目录 为什么要封装目标文件结构封装通用请求方法获得类型提示http 方法文件上传使用示例实例化post 请求类型提示文件上传 总结完整代码: 为什么要封装 axios 本身已经很好用了,看似多次一举的封装则是为了让 axios 与项目解耦。比如想要将网络请求…

【广州华锐互动】风景区规划VR虚拟现实教学系统

风景区规划VR虚拟现实教学系统是一种新兴的教学工具,它可以通过虚拟现实技术,为学生提供一种沉浸式的、实时的、全方位的景区规划体验。 在风景区规划VR虚拟现实教学系统中,学生可以通过虚拟现实技术,实时地与景区进行交互。他们可…