[迁移学习]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.网络结构

[迁移学习]DA-DETR基于信息融合的自适应检测模型_第1张图片

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

                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

[迁移学习]DA-DETR基于信息融合的自适应检测模型_第2张图片

                 由于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

[迁移学习]DA-DETR基于信息融合的自适应检测模型_第3张图片

                 将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

你可能感兴趣的:(神经网络,学习笔记,迁移学习,人工智能,机器学习)