反卷积中的棋盘效应

反卷积中的棋盘效应

当我们在用反卷积(转置卷积)做图像生成或者上采样的时候或许我们会观察到我们生成的图片会出现一些奇怪的棋盘图案或者说你感觉到你生成的图片有颗粒感。
反卷积中的棋盘效应
这种现象之所以会发生是因为在上采样使用反卷积的时候,卷积核的大小不能被步长整除导致的。先看一下没有棋盘效应的情况:
stride=1,kernel_size=3
反卷积中的棋盘效应
再看一下出现棋盘效应的情况:
stride=2,kernel_size=3
反卷积中的棋盘效应
最好的解决方案就是Upsamping+Convolution,通过调整图像大小(使用最近邻插值或双线性插值),然后执行卷积操作。这似乎是一种自然的方法,大致相似的方法在图像超分辨率方面表现良好。