你明白的,对于大部分图像编辑软件来讲,平时用它们修修脸、加个滤镜什么的,效果至关好。网络
可是当你用它们“修补”照片的时候,表现就不那么亮眼了。一般图像编辑工具能够借用相邻区域的像素(好比Photoshop就是这么操做的)填补缺失部分,但缺点很明显:没法肯定图像原本缺失的内容。架构
所以只能用它们修补边边角角,不能从总体上复原图像。这个缺点在修复照片时暴露无遗,特别是当你想修补一张几十年前的老照片,并且你知道照片缺失部分原来都有什么。框架
不过没关系,AI 已经解决了这个问题。最近英伟达的研究人员研发出一种极其先进的深度学习技术,可以复原图像本来缺失的内容。好比说,假若有一张缺失了眼睛部分的人脸照片,往常你用 Photoshop 这些编辑工具修补的话,只能用相邻部分的像素填充,没法还原出人的眼睛,可是英伟达研发的这个 AI 知道往缺失部分填补人的眼睛,哪怕结果有时看着不是很协调。机器学习
其实在此以前也有很多人尝试用基于 AI 的技术修补图像,但都局限于修复矩形截面,只重点关注图像中心部分的修复,没法修补照片的任意缺失部分,并且每每还须要花费大量的时间进行后期处理,可是英伟达的 AI 不同。函数
它可以稳定地处理任何形状、大小或与照片边缘任意距离的缺失部分。更厉害的是,哪怕照片缺失部分在不断变大,AI 也能从容应对,优雅地修复。工具
研究人员在他们发布的论文中解释到,他们应用了一种叫作“部分卷积”(partial convolution)的方法,也就是为神经网络添加一个部分卷积层,它包括掩膜式再归一化卷积以及掩膜更新两个部分,掩膜式再归一化卷积在图像分割任务中又称为 segmentation-aware卷积。这种技术能保证模型用于修补缺失像素的输出不会彻底依赖输入值,从而能修补任意形状、大小和位置的缺失部分。部分卷积层可以根据对应接受域的正确性,再归一化每一个输出,从而确保输出值独立于每一个接受域的缺失像素值。另外研究人员也应用了一些损失函数、匹配特征损失的 VGG 模型以及风格损失等,让 AI 的生成结果更逼真更匹配。学习
这样 AI 对图像的修补效果,简直是难以想象的好,即使 AI 没法确切地知道缺失了什么,修复的结果每每看起来也很是贴合,毫无违和感。测试
为了训练这个 AI,也是费了很大力气。研究人员首先制做了 55,116 张存在任意形状和大小缺失部位的掩膜图像用于训练,又准备了约 25,000 张用于测试。接着他们进一步将这些图像根据缺失部分大小细分为 6 个类别,以优化 AI 的复原效果。优化
借助英伟达 Tesla V100 GPU 和 cuDNN 驱动的深度学习框架 PyTorch,研究人员将前面制做的掩膜图像应用在来自 ImageNet,Place2 和 CelebA-HQ 数据集中的图像上,以此训练搭建的模型。cdn
在训练阶段,研究人员将图像缺失部分引入来自这些数据集中的完整训练图像,以此让 AI 学习如何重建图像缺失的像素。
而在测试阶段,研究人员将没有应用在训练阶段的图像缺失部分引入到测试图像中,从而无误差的验证 AI 重建缺失像素的准确率。
最终训练成的这款 AI 模型,修补图像的效果秒杀其它一众图像修补技术。在论文中,研究人员和其他四种图像修补技术进行了比较,这四种技术分别是:
PatchMatch:简称 PM,是当前很是先进的一款没有基于机器学习技术的图像修补方法。
GL:由 Iizuka 等人提出的图像修补技术。
GntIpt:由 Yu.J 等人提出的借助语境关注的生成式图像修补方法。
Conv:没有应用“部分卷积”的一种传统神经网络架构。
研究人员将他们研发出的 AI 命名为 PConv,下图展现了这 5 种方法修补相同图像的结果对比:
咱们能够看到,不管是什么样的图像,英伟达的这款AI修复效果都远高于其它方法。更多效果能够戳这里。
固然 AI 的修图结果也不是一直天衣无缝,你在视频中会发现有些脸部特征明显是从别处“借”来的,若是缺失部分面积很大,没有足够信息供 AI 重建像素时,AI 修复的效果就比较逊色。
但整体来看,这仍然不失为一种无比神奇和惊艳的实用技术。有了它,以往一些看似没有但愿复原的照片都可以最大程度的还原缺失内容,并且不用花好几个小时痛苦的修补。另外,英伟达研究人员称 AI 还能在保证图像不失真的状况下放大照片。或许,咱们苦哈哈的用修图工具补图抠图的日子就要一去不复返了。