gan6

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中实现为:

效果图:

发布于 2019-09-15
原文地址:https://www.cnblogs.com/skydaddy/p/11676557.html