本篇博文主要根据《Deconvolution and Checkerboard Artifacts》这篇文章作为基础,并结合了自己的理解。如果有理解错误,欢迎指出。
提要
深度学习生成的图片中,我们往往可以看到一些伪影和棋盘效应。在一些颜色变化明显的图片中,这种情况出现的更加频繁。本文将着重分析这种情况的出现原因以及提出对应的解决办法。
Deconvolution & Overlap
当我们要用到深度学习来生成图像的时候,是往往是基于一个低分辨率且具有高层语义的图像。这会使得深度学习来对这种低分辨率图像进行填充细节。一般来说,为了执行从低分辨率图像到高分辨率图像之间的转换,我们往往要进行deconvolution。简单来说,deconvolution layer可以允许模型通过每一个点进行绘制高分辨率图像上的一个方块。
然而,在使用deconvlution的时候,如果出现kernel size与stride无法整数的时候,这时候便会发生uneven overlap。
如下图中,便会出现图像中的某个部位的颜色比其他部位更深的情况。
出现这种情况的时候,理论上是可以通过小心的学习kernel的权重来减轻这种overlap不均匀的情况,但是这也会限制模型的容量,使得network会变得更larg