在基于CNN的超分辨率中,经常在最后一层使用stride>1的deconv layer,而这会造成棋盘格噪声。如下图所示

深度学习中反卷积层(转置卷积)引起的棋盘格噪声

 

具体产生原因

上面的黑格子是表示原始图像中的某一个像素点,白色的表示转置卷积中的stride,一般是用0去填充。下面一层就是deconv生成的图像。可以看到stride不能整除size的时候,就会出现棋盘格效应(当然,就算整除也不能完全消除)。

 深度学习中反卷积层(转置卷积)引起的棋盘格噪声

深度学习中反卷积层(转置卷积)引起的棋盘格噪声

 

 如何避免呢?

采用一般的插值算法(NN或bilinear)先把图像放大到目标分辨率,再用普通的conv去做计算,替代deconv layer。

 

最后效果

深度学习中反卷积层(转置卷积)引起的棋盘格噪声

 

参考文献

[1] https://distill.pub/2016/deconv-checkerboard/              deconvolution and checkerboard artifacts

 

相关文章:

  • 2021-07-06
  • 2021-04-08
  • 2021-12-05
  • 2021-04-05
  • 2021-08-04
  • 2022-01-30
  • 2021-10-10
猜你喜欢
  • 2021-08-29
  • 2021-10-23
  • 2021-12-11
  • 2021-10-24
  • 2021-12-13
  • 2022-02-22
  • 2021-11-02
相关资源
相似解决方案