BMVC2020 最佳论文 | 自适应卷积神经网络抗锯齿
点击上方“迈微AI研习社”,选择“星标★”公众号
重磅干货,第一时间送达
作者 | Uno Whoiam
链接 | https://zhuanlan.zhihu.com/p/250135637
本文仅作学术交流,如有侵权,请联系后台删除。
论文地址: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
二、解决的办法(What)
人们普遍认为 CNN 具有平移不变性,但为什么输入图片进行平移变换一下,结果就变化巨大呢?该问题主要和 CNN 中的下采样有关:
但如果平移一格,最大池化完全变了一个样子:
奈奎斯特定理指出,采样率必须至少是信号最高频率的两倍才能防止信号混叠,避免出现上述情况。也就是说,对 CNN 进行抗锯齿处理有两个可能的办法,其一是保持或提高采样率,其二是降低信号中的最高频率。
由于算力和内存的限制, CNN 中下采样是必不可少的,提高采样率行不通,那么解决办法自然是降低信号中的最高频率,达到这个目的的简单办法就是在下采样之前使用低通滤波器,例如高斯滤波。
这个简单的办法虽然有效,但并不是最佳的(下图 c),例如用同一个高斯滤波去对高频的脉冲噪声进行处理效果刚好,但拿同一个高斯滤波去处理频率稍低一些的图像边缘,可能就使得边缘过于模糊了。为了解决这样一个问题,该论文的核心要点就自然而然被提出:让模型根据2D 信号中每个位置的内容和信号频率自行预测最合适的低通滤波器。
三、如何实现(How)
实现起来就很简单了,加个卷积层预测低通滤波的权重,然后每个位置用预测出的相应低通滤波进行处理,为了保证预测出的是低通滤波且和为 1,会对 kxk 的权重进行 softmax 处理。
使用预测出的滤波进行处理的计算公式如下:
指像素位置附近一圈区域,w是滤波权重,X是输入的特征图,Y是输出的特征图。另外考虑到同一个位置的不同通道信号频率也不同,所以有必要对不同通道的相同位置预测不同的滤波。但这样的计算成本实在太大了,不过好在有些通道的特征图具有一定相似性,所以可以考虑将通道进行分组,每组使用同样的滤波,这样便可以大大降低计算量,同时兼顾了对通道的考虑:
四、效果如何?(How much)
对预测出的低通滤波进行可视化后发现,模型的确学习到了对信号频率较高的地方例如边缘输出低方差滤波以降低信号频率,避免下采样出现锯齿,对信号频率较低的地方例如虚化的背景使用高方差滤波保留更多有效信息。同时对同一组特征图进行可视化后发现,同一组的特征图的确具有更高的相似性。
图像分类任务结果:
语义分割任务结果:
实例分割任务结果:
五、启示(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 分支的权重。
[ICCV2019] Dynamic Multi-scale Filters for Semantic Segmentation
在语义分割任务中,为了提高模型对图像中不同尺寸物体的鲁棒性,会使用多尺寸相关的一些技术例如SPP(PSPNet),ASPP(DeepLabv3+)。相较于 ASPP、Inception 使用训练得到的固定多尺寸卷积核,本论文使用自己预测出来的 Context-aware 的卷积核进行计算。
推荐阅读
(点击标题可跳转阅读)
MaiweiAI-com | WeChat ID: Yida_Zhang2
机器学习+计算机视觉
长按识别二维码关注我们
点击“阅读原文”查看更多历史内容,喜欢点个“在看❀”吧!