反卷积与棋盘效应

来自 Google Brain 的 Augustus Odena 等人的文章“Deconvolution and Checkerboard Artifacts“的部分内容 1

1. 更好的上采样

图像生成网络的上采样部分通常用反卷积网络,不合理的卷积核大小和步长会使反卷积操作产生棋盘效应 (checkerboard artifacts)。

为避免棋盘效应,有两种方法可替换常规的反卷积(卷积的转置)。与反卷积不同,上采样方法本身不应有棋盘效应。理想的方法将会更远离棋盘效应。

直观地看,假设生成的图像中包含1只黑猫。黑猫身体部分的像素颜色应平滑过渡,或极端地说,该部分应全为黑色。实际生成的图像中该部分却有深深浅浅的近黑方块组成,很像棋盘的网格,即棋盘效应

第一种方法是用到的反卷积核的大小可被步长整除,从而避免重叠效应。与最近成功用于图像超分辨率的技术“子像素卷积”(sub-pixel convolution)等价。

另一种方法是从卷积操作中分离出对卷积后更高分辨率的特征图上采样来计算特征。例如,可以先缩放图像(最近邻插值或双线性插值),再卷积。貌似是个自然的方法。

反卷积与不同缩放卷积方法都是线性操作,并可用矩阵去解释。对于每个输出窗口,反卷积操作的输入唯一,缩放卷积会以阻碍高频棋盘效应的方式来隐式地集中权重(weight-tying)。

后面为猜测部分。

2. 反卷积

从反卷积矩阵 acbacb 来看,卷积应该为 [ac0b] ,则卷积的转置为 [a0cb] ;步长为2,可整除反卷积大小。

3. 缩放卷积

缩放卷积为线性操作:假设原图像为 A ,经过插值后的图像为A+B;用卷积核 C 对插值缩放后的图像卷积,得到最终的图像CT(A+B)=CTA+CTB,其中 为卷积操作。则可将缩放卷积分解为原图像卷积和插值增量图像卷积,或卷积的原图像和卷积的插值增量图像。

C为卷积操作的卷积核。此时为上采样,理解为反卷积操作中的卷积核。

(1) 最近邻缩放卷积

a+bacb+ca+bacb+c=acbacb+bacbac

发现,插值增量图像表示的矩阵为原图像表示的矩阵下移1行。可将原图像矩阵看成环形队列(队列最后1行的输出送入队列的第1行)。

(2) 双线性缩放卷积

a+b2a2(?)c+b2b+c2+a2a+b2a2c2c+b2b+c2+a2c2=acbacb+b2a2(?)c2b2a2c2+b2a2c2b2a2c2

发现,插值增量图像可细分为原图像表示的矩阵下移1行后乘以 12 与原图像表示的矩阵上移1行后乘以 12

4. 注意

(?)部分的元素为原文中的矩阵的缺失部分。所以,可能仍未理解 Augustus Odena 的本意。有误导之嫌,仅供娱乐~ Σ(⊙▽⊙”a

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值