Free-Form Image Inpainting with Gated Convolution
ժҪ:
不同于普通卷积,将每一个输入的pixel都当做有效的输入,作者提出了gated convolution,为所有层每一个维度的位置提供了一种可学习的,动态的特征选择机制.并提出了SN-Patch GAN来稳定GAN的训练,学习
网络结构:
coarse network将global and local 的inpainting网络改造,输入为原图,mask和带有sketch的mask三者融合为一,下采样到原尺寸的1/4,然后经过dilated conv,这里使用的conv都是gated conv,refinement network跟contextual attention的refinement network一致.
判别器不再是使用global and local context discriminator两个判别器,而是使用了SN-Patch GAN,判别器输出一个h x w x c的特征向量,以此来判断真假
details:
gated conv:
普通卷积是将每一个像素都当成有效值去计算的,这个特性适用于分类和检测任务,但是不适用于inpainting任务,因为inpainting任务中hole里面的像素是无效值,因此对hole里面的内容和外面的内容要加以区分,partial conv虽然将里面和外面的内容加以区分了,但是它将含有1个有效值像素的区域与含有9个有效值像素的区域同等对待,这明显是不合理的,gated conv则是使用卷积和sigmoid函数来使得网络去学习这种区分
普通卷积的公式:
可以看出每一个像素都被计算在内
partial conv的公式:
原文中所说的partial conv的缺点:
gated conv的公式:
显而易见的是gated conv是通过conv和sigmoid来动态地学习这种编码方式
gated conv和partial conv的对比:
SN-Patch GAN(Spectral-Normalized Markovian Discriminator):
discriminator 网络结构:
loss 计算:
pytorch中实现为:
效果图:
来源:博客园
作者:cheatingdeath
链接:https://www.cnblogs.com/skydaddy/p/11676557.html