1. 程式人生 > >深度學習中反捲積層(轉置卷積)引起的棋盤格噪聲

深度學習中反捲積層(轉置卷積)引起的棋盤格噪聲

在基於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