知行编程网知行编程网  2022-07-01 12:00 知行编程网 隐藏边栏 |   抢沙发  38 
文章评分 0 次,平均分 0.0

BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿

来自 | 知乎   作者 | Uno Whoiam

链接 | https://zhuanlan.zhihu.com/p/250135637

编辑 | 深度学习这件小事

本文仅作学术交流,如有侵权,请联系后台删除。


论文:Delving Deeper into Anti-aliasing in ConvNets
论文地址:https://arxiv.org/abs/2008.09604
代码:github.com/MaureenZOU/Adaptive-anti-Aliasing


   一、要解决的问题(Why)

本论文要解决的问题是一个卷积神经网络(CNN)中普遍存在的问题,即卷积神经网络抗锯齿的问题,解决该问题可深刻影响 CNN 的平移不变性。目前输入图片微小的偏移对于卷积神经网络的输出结果有着极大的影响。
在论文 《Why do deep convolutional networks generalize so poorly to small image transformations?》 有更为详细的阐释
参考链接:
Making Convolutional Networks Shift-Invariant Again 

链接:https://arxiv.org/abs/1904.11486

Why do deep convolutional networks generalize so poorly to small image transformations?
链接:https://arxiv.org/abs/1805.12177

BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿


   二、解决的办法(What)

人们普遍认为 CNN 具有平移不变性,但为什么输入图片进行平移变换一下,结果就变化巨大呢?该问题主要和 CNN 中的下采样有关:
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
但如果平移一格,最大池化完全变了一个样子:
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿

奈奎斯特定理指出,采样率必须至少是信号最高频率的两倍才能防止信号混叠,避免出现上述情况。也就是说,对 CNN 进行抗锯齿处理有两个可能的办法,其一是保持或提高采样率,其二是降低信号中的最高频率。
由于算力和内存的限制, CNN 中下采样是必不可少的,提高采样率行不通,那么解决办法自然是降低信号中的最高频率,达到这个目的的简单办法就是在下采样之前使用低通滤波器,例如高斯滤波。
这个简单的办法虽然有效,但并不是最佳的(下图 c),例如用同一个高斯滤波去对高频的脉冲噪声进行处理效果刚好,但拿同一个高斯滤波去处理频率稍低一些的图像边缘,可能就使得边缘过于模糊了。为了解决这样一个问题,该论文的核心要点就自然而然被提出:让模型根据2D 信号中每个位置的内容和信号频率自行预测最合适的低通滤波器。
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿

   三、如何实现(How)

实现起来就很简单了,加个卷积层预测低通滤波的权重,然后每个位置用预测出的相应低通滤波进行处理,为了保证预测出的是低通滤波且和为 1,会对 kxk 的权重进行 softmax 处理。
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
使用预测出的滤波进行处理的计算公式如下:
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
 指像素位置附近一圈区域,w是滤波权重,X是输入的特征图,Y是输出的特征图。另外考虑到同一个位置的不同通道信号频率也不同,所以有必要对不同通道的相同位置预测不同的滤波。但这样的计算成本实在太大了,不过好在有些通道的特征图具有一定相似性,所以可以考虑将通道进行分组,每组使用同样的滤波,这样便可以大大降低计算量,同时兼顾了对通道的考虑:
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿

   四、效果如何?(How much)

对预测出的低通滤波进行可视化后发现,模型的确学习到了对信号频率较高的地方例如边缘输出低方差滤波以降低信号频率,避免下采样出现锯齿,对信号频率较低的地方例如虚化的背景使用高方差滤波保留更多有效信息。同时对同一组特征图进行可视化后发现,同一组的特征图的确具有更高的相似性。
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
图像分类任务结果:
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
语义分割任务结果:
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
实例分割任务结果:
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿

   五、启示(What Then)


整篇论文给人的感觉是自然而然,行云流水,没有牵强附会,读着有一种这个问题本就该这么解决,我要是想到了我也能行的错觉。
另外,本文的核心思想,预测低通滤波(卷积)的权重,在之前的很多文章也出现过,作者出色地将其用在了最合适的地方。
[CVPR2018] Learning to Segment Every Thing
Mask X R-CNN 用于 partially supervised instance segmentation,任务背景是训练数据有一部分类别(A set)包含像素级的标注,但剩下一部分类别(B set)只有 bounding box 标注,如何使模型能够对B set的物体进行实例分割呢?
该论文使用一个 weight transfer function(WTF),能够将bounding box 分支的网络权重转化为 mask 分支的权重,利用 A set 数据进行训练,预测时利用 WTF 将 box 分支的权重转化为 mask 分支的权重。
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
[ICCV2019] Dynamic Multi-scale Filters for Semantic Segmentation
在语义分割任务中,为了提高模型对图像中不同尺寸物体的鲁棒性,会使用多尺寸相关的一些技术例如SPP(PSPNet),ASPP(DeepLabv3+)。相较于 ASPP、Inception 使用训练得到的固定多尺寸卷积核,本论文使用自己预测出来的 Context-aware 的卷积核进行计算。
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿



<pre style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section><section style="margin-bottom: 15px;padding-right: 0em;padding-left: 0em;max-width: 100%;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">干货 | 算法工程师超实用技术路线图</section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">那些轻轻拍了拍Attention的后浪们</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">吴恩达推荐笔记:22 张图总结深度学习全部知识</section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">周博磊自述:一个神经元的价值和一个神经病的坚持</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;">你一定从未看过如此通俗易懂的YOLO系列解读 (下)</section></section></section></section></section></section></section></section></section>
BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享