DeepFill v2 这个项目是要让图片修复变得更自由,它搞了一个新招数,把“不可学习”的掩码改成了“可学习”的门控卷积。其实DeepFill v1那会儿,用的是部分卷积,这个掩码它是硬梆梆地分开了有效像素和无效像素,卷积结果完全依赖有效像素。这时候作者想,能不能把这种人为设定的规则换成让网络自己来学,哪些区域该保留,哪些区域该生成?结果呢,他们就发明了这个门控卷积。 这套架构也是分两步走:先弄个大概轮廓,再仔细打磨细节。跟DeepFill v1比起来,这次就多了个门控卷积,其他那些CA层、上下文注意力啥的都没动。训练的时候只用了L1损失加SN-PatchGAN损失,没用太多花里胡哨的指标。门控卷积说白了就是把掩码变成了个软开关。以前的PConv里掩码是硬二值化的,现在门控卷积里有个主干干特征提取,有个门控层干加权求和。这样一来,网络就能自己决定哪里该保留真实像素,哪里该生成新的了。 还加了一个小功能叫可选草图,要是用户懒得画草图系统就自动退回去;要是画了几笔,系统就会优先在草图边上上色。这个草图是用HED边缘检测器生成的,跟真实的掩码在同一个层级上。这时候网络就能把用户的意图和数据结合起来用了。实验是在Places2和CelebA-HQ这两个数据集上做的,用L1、L2还有FID来打分。对比下来发现带门控的效果最好,填充区域颜色连贯、边缘锐利,不像别的方法容易出现颜色错位或者纹理错乱。 还有个消融实验是看SN-PatchGAN的作用有多大。换成了这个局部判别器之后,L1和FID都降了不少。作者解释说局部判别器能更早发现伪影,给生成器更精细的反馈。最后总结下来DeepFill v2把自由式修复带到了一个新阶段:大面积缺失都能填得像没毛病似的;用户随便画几笔当导演,AI就能把剧本变成电影。不过极限挑战还是有的——超大区域缺失或者超复杂场景结构还是挺难搞定的。下一步或许得让网络学会自己修复或者分层修复吧。