还在为珍贵的照片,被路人抢镜而苦恼吗?
还在为景区人山人海,而拍不到一人一景手足无措吗?
上周,英伟达发布了一个超牛逼的AI修图技术,不需要专业的修图师进行修图,能够很完美的解决以上问题。下面我先来一下,官方发布的宣传视频:
一些传统的修图软件,通常采用的是:临近像素填充的方法来进行照片修复的。这种方法,对于一些比较细小的折痕等,可以比较好的进行还原。但是一旦损坏面积稍大,或者关键部位需要还原,这个方法就变得很笨拙。
举个例子:如果一张照片的脸部刚好眼睛位置,那么采用这种方式还原,往往眼睛部位会以皮肤像素填充,就会导致成为“无眼怪人”或者“独眼龙”……
下面我们来看一下,原图被涂抹之后,再还原之后的差异。
人像:
动物:
景色:
可以看到,目前还原的效果已经非常惊艳了。NVIDIA公司已经发布了相关技术论文,那么现在老司机带你一起解读下这篇论文的神奇之处。《Image Inpainting for Irregular Holes Using Partial Convolutions》---NVIDIA Corporation 准备好,一场无码之旅,开始了。
论文开头,我们可以看到英伟达研究团队,对目前多种不同的图像修复方法进行了对比。(a)被破坏的图片,(h)原图,(g)本文主要介绍的“部分卷积(partial convolution)”网络修复效果。其他几种方式这里不再提及,有兴趣的同学可以去看下论文原文介绍。
部分卷积层表达式:
其中:W是卷积滤镜,b是偏差,X是当前卷积层的特征值(像素值),M是个二进制掩码(原图的兴趣区域ROI),被挖去的部分是0否则为1。一个圆圈中间一个点的符号表示对应元素相乘(element-wise),sum(M)为归一化因子。这样就刨除了被挖去的部分的影响,是不是很straightforward,很make sence?
再来研究一下loss函数:
总的loss函数分为几个部分,权重作为超参也是经过训练选出来的。其中权重最大的是style-loss,是相关函数的一阶范数,表达式如下。
其中Kn是归一化因子。style-loss起到关键作用,决定了需要填补的部分的特性(平滑的还是颗粒化)。从下图可以明显看出。图像style比较平滑,则相关函数值比较大(相关性强),如果颗粒化则相关性弱使得相关函数值变小。
读完此文,不由再次惊叹了卷积神经网络的强大! 更多细节请点击下面“阅读原文”。
最后留一个思考题,论文提供的方法能否用来降低图像高斯噪声的影响?加有高斯噪声的图像如下所示。
感谢box同学推荐此论文。关于更多论文方面的讨论,欢迎加入我们的讨论组。好好学习,天天向上。
往期回顾: