当前位置:   article > 正文

CVPR2023 | 结合CNN和Transformer的多任务多模态图像融合方法

cnn+transformer
 
 

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

前言 本文介绍了CVPR 2023在图像融合领域的最新工作CDDFuse: Correlation-Driven Dual-Branch Feature Decomposition。本文的整体架构和赵博士先前在IJCAI上发表的DIDFuse有继承关系,这次的亮点是1. 结合CNN和当前火爆的Transformer;2. 将特征解耦的思想引入了图像融合,将跨模态信息分解为共有信息和特有信息,类似于DRF等融合模型;3. 两阶段训练法,第一阶段采用的输入和输出都是源图像的自监督方式,SD-Net、SFA-Fuse采用了这类思想;4.用高级视觉任务验证了融合效果。

作者:奥本海默@知乎(已授权CV技术指南转载)

来源:https://zhuanlan.zhihu.com/p/617936182

仅用于学术分享,若侵权请联系删除

c9527c26b506df5cba195fd27d5db743.png

paper:https://arxiv.org/pdf/2211.14461.pdf

多模态图像融合目的是结合各个模态图像的特点,如有物理含义的高亮区域和纹理细节。为了能对跨模态进行有效建模,并分解得到期望的各模态共有特征和特有特征,本文提出了Correlation-Driven feature Decomposition Fusion (CDDFuse) 来进行多模态特征分解和图像融合。

本文模型分为两阶段,第一阶段CDDFuse首先使用Restormer块来提取跨模态浅层特征,然后引入双分支Transformer-CNN特征提取器,其中  Lite Transformer (LT)块利用长程注意力处理低频全局特征, Invertible Neural Networks (INN) 块则用来提取高频局部特征。基于嵌入的语义信息,低频特征应该是相关的,而高频特征应该是不相关的。因此,提出了相关性驱动损失函数,让网络可以对特征进行更有效的分解。第二阶段,前述的LT和INN模块会输出融合图像。实验部分展示了ir-vis和医学影像融合两种任务,并且还验证了CDDFuse可以提升ir-vis对分割、检测等下游任务的效果提升。

目前已有的多模态图像融合模型很多采用自编码器结构,如下图a。

9817684430af600e2e29b94befeffa29.jpeg

但是这种方式有三个缺陷:1.CNN的解释性较差,难以控制,对跨模态特征提取不够充分,如上图a前两种都是多模态输入共享编码器,因此难以提取到模态特有的特征,而第三种双分支结构则忽略了各个模态共有属性;2.上下文独立的CNN结构只能在相对小的感受野内提取到局部信息,很难捕获全局信息,因此目前还不清楚 CNN 的归纳偏差能否对所有模态的输入充分提取特征;3.网络的前向传播会造成高频信息丢失

本文探索了一种合理的范式来解决特征提取和融合上的问题。首先给提取到的特征添加相关性约束,提高特征提取的可控制性和可解释性,本文的假设是对于多模态图像融合,两个模态的输入特征在低频上是相关的,表示了所有模态的共有信息,在高频上是不相关的,表示了各个模态独有的信息。比如ir-vis融合,红外与可见光图的场景相同,在低频信息上包含统计上的共有信息,比如背景和大尺度环境特征,而高频部分的信息则是独立的,比如可见光模态纹理细节信息和红外模态的温度信息都是各自模态特有的。因此需要通过分别提高低频部分特征之间相关性、降低高频特征之间的相关性来促进跨模态特征提取。transformer目前在视觉任务上很成功,主要得益于它的自注意力机制和全局特征提取能力,但是往往很大的计算资源,因此本文提出让transformer结合CNN的局部上下文提取和计算高效性的优势。最后,为了解决丢失期望高频输入信息的问题,引入了Invertible Neural networks (INN)块,INN 是通过可逆性设计让输入和输出特征的相互生成来防止信息丢失,符合融合图像中保留高频特征的目标。

模型方法

模型整体结构如下图,整体分为四个模块:双分支编码器用于特征提取与分解、解码器用于训练阶段I的图像重建或者训练阶段II的图像融合、base/detail融合层用于融合不同频率的特征。

b22a82d51846c06691e5cc81070e3a2d.png

编码器:包含三部分:Restormer block - based share feature encoder (SFE)、Lite Transformer (LT) block - based base transformer encoder (BTE) 、 Invertible Neural networks (INN) block - based detail CNN encoder (DCE),其中BTE和DCE共同组成长短距离编码器。对于输入的三通道可见光图和单通道红外图,用S、B、D分别表示SFE、BTE、DCE三个模块。首先来看用来提取共有特征的SFE模块,它的目标是提取浅层特征,如下式。

e1f93b10b5a23346c12166bb64fbc9bc.png

在SFE中使用Restormer block的原因是利用维度间的自注意力机制提取全局特征,因此可以不增加算力的情况下提取跨模态浅层特征,这里采用的Restormer block结构来源于 Syed Waqas Zamir, Aditya Arora, Salman H. Khan, Munawar Hayat, Fahad Shahbaz Khan, and Ming-Hsuan Yang. Restormer: Efficient transformer for high-resolution image restoration. CoRR, abs/2111.09881, 2021.

BTE用来从共有特征中提取低频基特征,如下式。

2d940b506d9652415ba68453c7d29cb3.jpeg

为了能提取城距离dependency,使用具有空间自注意力的transformer,为了能平衡效果和运算效率,这里采用了LT block作为BTE的基础单元,可以在降低参数量的情况下保证效果。

DCE和BTE相反,用来提取高频细节信息,如下式。

3a6151d8a877c630f08d424ec3b94fc4.jpeg

考虑到边缘纹理信息在融合任务中也很重要,这里就希望DCE能尽量保留更多的细节。INN模块通过输入和输出能相互生成来确保输入信息被尽可能保留,因此可以在DCE中用于无损特征提取,具体实现时是用INN搭配affine coupling层,每个可逆层的变换如下。

8bbc9df0d0125c70f3add91c0aca1940.jpeg

上式过程和图2的b中过程是对应的,图中BRB的结构如图2中的d(来源于MobileNetV2),每个可逆层中的BRB都可以看做是无损信息映射。

融合层:用于将编码器提取到的特征进行融合。考虑到 base/detail 特征融合的归纳偏置应该和编码器的 base/detail 特征提取相同,使用LT和INN块来实现 base/detail 融合层,如下式。

45c7295780b2da19298d8571acb19572.png

解码器:解码器首先将分解的特征在通道维度拼接作为输入,然后在训练阶段I将源图作为输出,在训练结算II将融合图作为输出,如下式。

6037a5c3f12f141e3494f014b74a34a1.jpeg

由于输入的特征是跨模态且多频段特征,因此让解码器结构和SFE保持一致,即将Restormer block作为基础单元。

两阶段训练:由于没有GT,采用和RFN-Nest相同的两阶段训练法。一阶段将ir-vis作为SFE的输入来提取浅层特征,然后BTE和DCE提取高低频特征,然后再把红外的base和detail特征拼接,可见光的base和detail特征拼接,送到解码器中,分别用来重建原始输入的红外图和可见光图。二阶段训练时的编码器部分相同,不同之处为提取到base和detail特征之后,可以看图2的c,需要将红外和可见光的base特征相加,detail特征也分别相加,然后分别送入base和detail融合层中,输出再在通道维度上拼接,经过解码器后就是融合图像F了。

损失函数:一阶段损失函数如下。

769234b807548ab7c26ddaa13a39f754.png

前两项是红外和可见光的重建损失,第三项是特征分解损失。一阶段损失整体是为了编码和解码过程中信息不会损失。

第一项红外重建损失形式如下。

6131f3791e2ec2cb28f3c743fc99e7a0.jpeg dccac244cf734b39cd35f3c8463c18e0.png b2ff3f0db192e966a6ecbc5ff414c4c5.png

第二项的可见光重建损失和上式形式是一样的,换成可见光图即可。

特征分解损失形式如下。

db9347d059dd495aa750f1abe2eafac0.png

式中的CC是融合中常用的指标correlation coefficient。这一项损失就是前文中描述的让共有特征之间距离尽量近、特有特征之间距离尽量远,搭配相关系数可以测量特征之间距离了,因此将低频base特征作为分母,高频detail特征作为分子。该部分分解的效果如下图。

68954e48f4fc4a3d7a65df3f5a0cf930.jpeg

二阶段的损失函数形式如下。

4a61762f8bf5c4ae9452ee02a70140d6.png 2070bc7407cca545c4636edb2c309978.jpeg
img
0a8e3c6920273d9ced5ce92f1347a586.png

实验部分

实验使用ir-vis融合来演示,选择了MSRS、Roadscene、TNO三个经典数据集。训练时将图片裁切为128×128的patch,训练120个epoch,其中第一阶段和第二阶段分别为40和80,batch设置为16。其他训练细节可以直接看原文。

方法之间的对比可以看下图。

9af3cdf1e5d65b8e717b15ced76f0919.jpeg 43f56d71b4ed1ff64eb45e1b67ce2c5f.jpeg

消融实验有三部分。第一部分是分解损失,将base和detail损失由相除变为相减,另一个是直接去除分解损失。编码器中的LT和INN块也进行了消融实验,分别是将BTE中的LT换为INN、DCE中的INN换为LT、DCE中的INN换为CNN。最后一个是两阶段训练的实验,也就是直接采用一阶段训练法,用第二阶段的融合图像作为约束训练网络,可以看到效果差了很多。

e7f743054a5122f56026b188576beb00.jpeg

下游高级视觉任务的对比,展示了检测和分割两种任务上的效果。首先是检测,这里采用了M3FD数据集,将YOLOv5作为检测器,训练400个epoch,指标选为mAP@0.5,结果如下表。

6147d60a57f3a09c8d597663ece2438f.jpeg

分割任务使用MSRS数据集,使用DeeplabV3+作为分割模型,评价指标选择IoU,结果如下表。

7110d5ef7a084115e2eb517b0a5ae7f4.jpeg

另一组多模态图像融合实验是针对医学影像进行的,选取了Harvard Medical website中286个图像对,包含MRI-CT、MRI-PET、MRI-SPECT三种图像对数据,对比结果如下图。

60eab302f4fbff81e6a9c65c42066102.jpeg 2d345f0edc4026771cccc91bd511af48.jpeg
  1. 下载1:OpenCV-Contrib扩展模块中文版教程
  2. 在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
  3. 下载2:Python视觉实战项目52
  4. 在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
  5. 下载3:OpenCV实战项目20
  6. 在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
  7. 交流群
  8. 欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/758802
推荐阅读
相关标签
  

闽ICP备14008679号