RFN-Nest 2021

研究

图像融合分为三步:特征提取,融合策略,图像重建。

当前端到端的图像融合方法:基于GAN的、还有本文提出的

研究背景:当前设计的融合策略在为特定任务生成融合图像方面是比较困难的。

研究目的:提出一种基于可以学习的融合网络架构(RFN)来实现端到端的图像融合方法(RFN-Nest)。

研究方法

​ 使用基于残差架构的残差网络结构(RFN)来取代传统融合方法。

​ 使用一种新颖的细节保留损失函数和特征增强损失函数来训练RFN。

​ 使用新颖的两阶段训练策略来完成融合模型的学习。(第一阶段训练自编码器(带有Nest),第二阶段使用损失函数来训练RFN)

主要贡献

​ 提出了一种可学习的融合网络来取代传统手工设计融合策略,整体网络变成端到端

​ 设计了两阶段的训练策略。先把自编码器的特征提取和特征重建能力训练好,然后再训练提出的残差融合网络结构RFN。

​ 设计了新的损失函数(包括图像细节损失函数和特征增强损失函数)来训练RFN(可以保持更多的细节和特征)。

​ 本文提出的融合方法在公共数据集和上达到了更好的结果(相比于其他主流的融合方法)。

网络结构

整体结构

网络包含三个方面:编码器残差融合网络RFN(用来提取某个尺度的融合特征的深层次特征)、解码器(基于Nest连接)。

编码-解码器表现非常强大的特征提取能力和特征重建能力,由于RFN是可学习的结构。因此使用两阶段的训练策略来训练网络。

设计一种新的损失函数L(RFN)来训练提出的RFN网络,可以有效保证可见光图像的细节信息,同时保持红外图像的显著特征。

整体流程:首先将红外图像和可见图像作为输入,编码器可以提取多尺度特征(浅层深层)。然后RFN会对每个尺度提供的特征进行特征融合并对融合特征进行更深的提取。最后多个RFN将不同尺度的融合特征送到解码器中。基于Nest连接的解码器充分利用多尺度结构的融合特征来重建融合图像。

RFN(Residual fusion network)

​ RFN由6个卷积层组成,输入是编码器某一尺度(m=1,2,3,4)提取的红外图像特征和可见图像特征。输出是这一尺度的融合特征。

经过conv1和conv2将两种特征串联起来然后作为后面的输入(深层RFN保留显著特征)。conv6直接将两种特征融合(浅层RFN保留图像细节)。

解码器(Nest)

左边是负责不同尺度的RFN产生的融合特征。DCB是卷积块,包含两个卷积层。每一行都有短连接(类似密集连接)。不同行通过跨层连接(将解码器中多尺度深层特征连接起来)。

两阶段训练策略

1.训练一个自动编码器网络来重建输入图像。

​ 编码器提取输入图像的多尺度深层特征,基于Nest的解码器根据多尺度深层特征重建输入图像。在自动编码器的过程中,使用L(auto)损失函数。

L(auto) = L(pixel) + &L(ssim)

等式右边分别是像素损失和结构相似性损失。

L(pixel) = || O - I ||F ^2

(输出图像像素 - 输入图像像素) 进行范数操作(|| || F^2)。

L(ssim) = 1 - SSIM(O,I)

SSIM是计算输出图像与输入图像的结构相似性,SSIM值越大,L(ssim)值越小,代表输入输出图像越一致。

2.向自编码器中加入RFN,固定自编码器网络的参数等等,使用合适的损失函数训练RFN。

第一阶段训练的编码器网络去提取两个源图像的多尺度深度特征。一个RFN负责一个尺度的深度特征,并将深度特征融合。

设计一个新的损失函数L(RFN)去训练RFN L(RFN) = & L(detail) + L(feather)

L(detail)表示背景细节保留损失函数,L(feather)表示目标特征增强损失函数

大多数背景信息来自可见光图像。因此L(detail)是针对输出图像和可见光图像。

L(detail)= 1 - SSIM(O, I(vi)) I(vi)表示输入的可见光图像

L(feather)可以去约束融合的深度特征来保留红外图像显著结构。 W(vi) 和W(ir)可以控制融合特征与可见光特征和红外特征的相关影响。通过调节W(vi) 和W(ir)来控制融合信息中的显著特征。M(这里是4)是不同尺度的数量。W1是一个向量,可以平衡损失幅度。

首先详细介绍训练阶段和测试阶段的实验设置之后,进行消融实验,对最后与其他方法进行定性比较。

训练阶段和测试阶段,都是将数据集中的图像转到灰度图像并reshape大小后,进行实验。使用6个指标进行方法评估,熵(En)、标准偏差(SD)、交互信息(MI)、融合伪影测量(Nabf)、差异相关性总和(SCD)、多尺度结构相似性(MS-SSIM)。

消融实验

L(detail)和 L(feature) 的消融实验:通过设置&=0 或者& = 700 来控制L(detail)是否存在,对实验结果的影响。

通过实验发现 & = 700时候 Wir = 6.0 和 Wvi = 3.0 时候实验效果比较好。

&取值的消融实验:由上一条可知& != 0 实验效果更好,这个实验来确定&具体取哪些值会更好。通过实验发现 & = 700达到最好的实验效果。

两阶段训练策略的消融实验

本文采取的是两阶段的训练策略,通过消融实验来说明为什么采取两阶段的训练策略。

一阶段的训练意味着 编码器、解码器、RFN同时训练。结构如下图所示

两阶段训练是先训练编码器-解码器结构、再固定自编码器来训练RFN结构。如下图所示。

一阶段与两阶段除训练步骤不同以外,采取所有相同的设置进行比较。

通过结果可以看到两阶段训练达到的实验效果比一阶段实验效果好。原因如下:

​ 1.编码器和解码器在使用一阶段训练策略进行设计时可能不具有理想的特征提取和重建能力。(自我感觉,应该是自编码器与RFN一块训练可能不具有良好特征提取和重建能力,要不两阶段训练策略的第一阶段为什么是训练自编码器来获取特征提取和重建能力)

​ 2.更重要的是,由于RFN是我们融合网络中的关键,因此应仔细训练它以获得良好的融合性能。所以采取两阶段训练。

Nest connection的消融实验

本文采用的是带有Nest的解码器,通过对Nest connection的消融实验来对比有无Nest的实验效果。除了有无Nest其它一切都相同。

由下表可知,带有Nest的实验效果比不带Nest的实验效果更好。

融合策略的消融实验

本文采用的是基于RFN(基于残差的可学习的融合网络)融合策略,通过和其他手工设计的融合策略进行比较。

“add”: 提取的源特征进行相加得到融合特征。 (红外源特征与可见光图像特征 ,下面也是 )

"max": 源特征中每个元素中选择最大的值作为融合特征。

"L1-norm": 根据L1范数计算权重,源图像特征*权重 相加 得到融合特征。

"L*-norm": 计算深度特征的全局池化操作中涉及的矩阵的奇异值之和,以获得融合权值 。

“SCA”: 使用的空间/通道注意力融合策略。用 1范数进行空间注意力融合,并使用平均池计算通道注意力。

各种融合策略的公式

实验结果如下:

与其他方法的比较

跟其他方法相比展示比较好的结果。

物体跟踪实验

RGBD数据集: RGB图像 与 深度图像

RGBT数据集:RGB图像 与 红外图像

将RFN用到物体追踪的算法上面,并且达到了不错的效果。进一步证明了我们提出来的RFN-Nest的应用广泛。

本阶段没看太懂。

RFN-Nest_ An end-to-end residual fusion network for infrared and visible images 论文解读的更多相关文章

  1. Paper | Residual Dense Network for Image Super-Resolution

    目录 Residual dense block & network 和DenseNet的不同 摘要和结论 发表在2018年CVPR. 摘要和结论都在强调方法的优势.我们还是先从RDN的结构看起 ...

  2. Paper | Dynamic Residual Dense Network for Image Denoising

    目录 1. 故事 2. 动机 3. 做法 3.1 DRDB 3.2 训练方法 4. 实验 发表于2019 Sensors.这篇文章的思想可能来源于2018 ECCV的SkipNet[11]. 没开源, ...

  3. Paper Read: Robust Deep Multi-modal Learning Based on Gated Information Fusion Network

    Robust Deep Multi-modal Learning Based on Gated Information Fusion Network 2018-07-27 14:25:26 Paper ...

  4. Paper | Residual Attention Network for Image Classification

    目录 1. 相关工作 2. Residual Attention Network 2.1 Attention残差学习 2.2 自上而下和自下而上 2.3 正则化Attention 最近看了些关于att ...

  5. Residual Attention Network for Image Classification(CVPR 2017)详解

    一.Residual Attention Network 简介 这是CVPR2017的一篇paper,是商汤.清华.香港中文和北邮合作的文章.它在图像分类问题上,首次成功将极深卷积神经网络与人类视觉注 ...

  6. 《Hyperspectral Image Classification With Deep Feature Fusion Network》论文笔记

    论文题目<Hyperspectral Image Classification With Deep Feature Fusion Network> 论文作者:Weiwei Song, Sh ...

  7. 【网络结构】Deep Residual Learning for Image Recognition(ResNet) 论文解析

    目录 0. 论文链接 1. 概述 2. 残差学习 3. Identity Mapping by shortcuts 4. Network Architectures 5. 训练细节 6. 实验 @ 0 ...

  8. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  9. 论文解读(DFCN)《Deep Fusion Clustering Network》

    Paper information Titile:Deep Fusion Clustering Network Authors:Wenxuan Tu, Sihang Zhou, Xinwang Liu ...

  10. ICCV 2017论文分析(文本分析)标题词频分析 这算不算大数据 第一步:数据清洗(删除作者和无用的页码)

    IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017. IEE ...

随机推荐

  1. fastapi快速入门

    fastapi是高性能的web框架.他的主要特点是: 快速编码 减少人为bug 直观 简易 具有交互式文档 基于API的开放标准(并与之完全兼容):OpenAPI(以前称为Swagger)和JSON ...

  2. docker还原挂载在宿主机的mysql数据

    ps:有个项目的数据库之前是docker的mysql镜像,数据都去mysql的镜像里面拿数据,但是目前镜像里面的数据库是空的,所以现在来说明一下如何恢复数据 1.创建数据卷 docker volume ...

  3. Skywalking Swck Agent注入实现分析

    项目地址: GitHub - apache/skywalking-swck: Apache SkyWalking Cloud on Kubernetes 项目简介: A bridge project ...

  4. 关于aws-Lambda的cron周期性计划任务-表达式的定义方式

    关于aws-Lambda的cron周期性定时任务的定义方式,与其他系统或者语言可能略有差异 区别之一,就是Lambda是6个字段的, (分,时,日,月,周,年),多了一个年份字段,各字段之间使用空格隔 ...

  5. 在Centos7上安装JDK1.8和tomcat8.5的步骤和过程(亲测可用)

    文章目录 1.在阿里云(Linux)Centos7上安装JDK1.8步骤过程 2.阿里云(Linux)centos7上安装Tomcat8.5步骤过程记录: 卸载JDK Centos7一般都会带有自己的 ...

  6. el-cascader组件根据最后一级向上找到父级并设置默认值

    vue + elementUI项目中,el-cascader级联选择器使用频率非常高,一些基本使用方法可以参考elementUI官方文档,本文主要研究当接口只返回最后一级id时,如何向上找出所有父级数 ...

  7. 如何用webgl(three.js)搭建一个3D库房,3D仓库,3D码头,3D集装箱可视化孪生系统——第十五课

    序 又是快两个月没写随笔了,长时间不总结项目,不锻炼文笔,一开篇,多少都会有些生疏,不知道如何开篇,如何写下去.有点江郎才尽,黔驴技穷的感觉. 写随笔,通常三步走,第一步,搭建框架,先把你要写的内容框 ...

  8. 文本挖掘与NLP笔记——代码向:分词

    分词:jieba.cut words = jieba.cut("我来到北京大学",cut_all=True) print('全模式:'+'/'.join([w for w in w ...

  9. Codeforces Round #826 (Div. 3) A-E

    比赛链接 A 题解 知识点:模拟. 时间复杂度 \(O(n)\) 空间复杂度 \(O(n)\) 代码 #include <bits/stdc++.h> #define ll long lo ...

  10. 小菜鸡学习---<正则表达式学习笔记2>

    正则表达式学习笔记2 一.修饰符 前面我们学习的都是用于匹配的基本的关键的一些表达式符号,现在我们来学习修饰符.修饰符不写在正则表达式里,修饰符位于表达式之外,比如/runoob/g,这个最后的g就是 ...