DSRL:Dual Super
题目译为:语义分割的双重超分辨率学习,即其主要技术是针对输入图像的分辨率的处理。
源码也公开在上,链接是: - /DSRL
突出贡献:
1.提出两条流的超分辨率学习框架,维持高分辨率表示;在保持运行速度( speed)的同时提高性能。
2.DSRL是一个通用性框架,可以扩展到其他需要高分辨率表示的任务中,如人体姿态估计。
3.证明该方法在语义分割和人体姿态估计上的有效性;可以提高准确度或者降低 计算FLOPs
总体结构
一、摘要
本文描述了一种可以提高输入图片分辨率的方法,并通过实验证明,在现有的语义分割网络的基础上使用该模块,网络的性能都能得到一定的提升。
作者考虑语义分割的输入均为高分辨率的图像,导致应用时需要高额资源,并产生大量的计算成本。由此考虑设计一种简单灵活的 two- ,将之称为DSRL(Dual Super- )。效果为:提高分割准确度而不产生额外的计算代价。
DSRL分为三个部分来阐述:SSSR( Super-)、SISR( Image Super-)、FA( )。(语义分割超分辨率,单图像超分辨率,特征关联)
——在低分辨率输入情况下,用DSRL维持高分辨率表示,同时降低模型计算复杂度;易推广到其他任务如人体姿态估计(human pose )。
优点总结就是:我是一个很轻便的小插件(添加后的计算负担很低),有了我,网络要不就是提高准确性(计算成本一样时);要不就降低计算成本(准确性一样时)。
二、背景
目前,有两种主流方式来维持高分辨率表示:
1.像一样,使用卷积取代 卷积。
(题外话:卷积指:卷积就是 卷积,即空洞卷积
卷积指:跨步卷积,即设有步长的卷积)
2.像Unet一样的编码器-解码器框架,通过结合自上而下的路径和横向连接,产生高分辨率特征图。
以上方法均产生很大的计算成本( cost);输入为高分辨率图像——进一步增加计算负担。
一般情况下,使用低分辨率的输入图像会降低网络的准确度:文中用图像表示使用和+;将输入图像从降到,准确度()不止降了10%。
本文中,作者就考虑说,我能不能设计一个框架,满足在输入图像是低分辨率的情况下,实现在网络中保持高分辨率表示。这样一方面就能降低计算复杂度,一方面还能提高性能。
这样一个DSRL是一个双流框架(two- ),包含SSSR、SISIR、FA三个模块。
基于监督式深度学习的SISR方法主要有(4):
1、pre-上采样 SR:应用传统上采样操作(如双线性、双三次插值),然后用深度卷积网络进行细化()。
该框架需要较高计算成本,因为都在高维空间中运行。
2、post-上采样 SR:将上采样层放到model末端,可以大大减少计算复杂度。
3、渐进上采样 SR():以post上采样为基础,通过逐步重建高分辨率图像来降低学习难度,满足多尺度SISR需求
4、上下迭代 SR( up-and-down):利用迭代上采样和下采样层来生成中间图像,然后将他们结合起来重建最终的高分辨率图像。
本文中使用post-上采样方法。
本文中使用的多任务学习的不同点:如姿态估计和动作识别、目标检测和语义分割,这些领域中大多数的多任务模型,通常在训练和测试阶段平等对待多个任务。
而本文中:将语义分割设定为主要任务,SISR作为辅助任务,且在推理阶段( stage)中移除图像高分辨率分支的任务,不会产生额外的计算成本。
三、网络架构及设计
在语义分割的传统编码解码结构中,一般通过添加一个双线性上采样层,或者设计一个简单的子网络(如+中采用了两个连续的上采样层来细化分割结果),可以得到与输入图像相等或稍微小一点的图像。
但本文想创造的是:比 输入图像 更高分辨率的 图像。接下来介绍核心模块。
Dual Super-
如上述所说的,DSRL模块不需要计算或内存的就能提高性能,尤其是在输入图像为低分辨率的情况。
DSRL模块分为以下三个部分:
a.SSSR: Super-.
对语义分割额外添加一个上采样模块来生成最终的预测掩模,整个过程被称为语义分割超分辨率(SSSR)
借用原文中描述图,本文的SSSR层由一堆反卷积层后跟和ReLU层实现,只需要很少的参数。
b.SISR: Image Super-
SISR的目标是通过低分辨率输入建立高分辨率图像。这意味着SISR可以有效重构图像的细粒度结构信息,有助于语义分割。由上图可见,SISR包含了更完整的对象结构。虽然这些结构没有明确的标出,但可以根据像素之间或区域之间的关系,有效地对它们进行分组。——这些关系可以隐式传递语义信息,从而有利于语义分割任务。故使用SISR中恢复的高分辨率特征来指导SSSR的学习,而这些细节可以通过内部像素之间的相关性或者关系来建模。
对于SISR分治,它与SSSR共享特征提取器。整个SISR分支在原始图像的监督下训练且在推理阶段自由删除。而SISR的设计也借鉴亚像素卷积[29]以减少计算量并产生高质量结果。
([29]. Shi, Jose , Huszár, Totz, P , Rob , , and Zehan Wang. Real-time image and video super- using an sub-pixel . In CVPR, 2016. 2, 4)
在实验阶段,使用Peak -to-Noise Ratio(PSNR)来衡量图像重建质量,用 Index(SSIM)来衡量输出通向和 truth的相似度。在上分别实现了0.35/0.78(PSNR/SSIM)
c.FA:
引入FA来指导SSSR学习高分辨率表示。实际上对图像子采样成1/8大小后再进行像素的相似度匹配。
此外,在使用FA loss之前,在SSSR分支上添加一个特征转换模块(包含一个1x1卷积层后接和ReLU层)——减少SSSR和SISR分支中由特征分布不一致导致的训练不稳定性。
其中S^seg和S^sr分别指语义分割和SISR的相似矩阵。p和q用于规范化特征达到稳定效果。设p=2;q=1.
所以,整个网络的目标函数为
其中
,
四、实验(语义分割)
这里只大致说一些实验结果,具体可以自己看论文了解。
本文中共用两个数据集,一个是,另一个是。本文主要对两种具有代表性的分割网络进行了消融实验:和+。其他一些网络也证明了该方法的有效性:, ,(后两者为轻量级模型)。
实验使用,且均使用小批随机梯度下降模型(mini-batch ),
设为0.9, decay设为0.0005。学习率初始化为0.01,并使用power 为0.9的poly rate 策略
( = *(1 - iter/) ^ (power) ——公式来自Keras中poly学习策略的实现_poly学习率-CSDN博客)
消融实验结果如下图:
不同分辨率输入对应准确度对比(为了证明DSRL方法在不同分辨率下均有效)
总结
本文提出了一个DSRL模型,其中SISR模块可以一定程度上恢复一些高分辨率的表达,从而辅助提高语义分割的准确性(在推理阶段,SISR模块不参与,所以不会造成计算负担)。FA模块通过详细的结构信息帮助增强高分辨率表达。效果来说,至少在作者部署的几个网络中(和),均能看到在相同计算量的情况下,准确度至少能提升1-2个点。
文章中也陈述过,该方法在人体姿态估计模型的性能提升上,也具有一定的效果,这里不进行陈述,想了解的还是一样,自己看论文来的快。
作者的源码还没放到上,但有其他等不及的大佬实现了下,效果可能没到作者说的那个程度,而且存在一些疑问,但整个模块添加上后,是会提高一些准确度的。
其他人实现版本: - /DSRL: of CVPR 2020 Dual Super- for
(PS:本篇博客中所有的图片均截图自原paper)