有很多美颜方法可以让你的照片看起来更好看,去掉红眼或镜头闪光,磨皮,美白等等。但到目前为止,在拍照的时候正好“眨了下眼”,这种糟糕的情况是没办法用软件来处理的。这可能会随着Facebook的一项研究而改变,该研究以一种非常令人信服的方式用睁开的眼睛取代了闭着的眼睛。
这远非智能“in-painting”的唯一例子,因为当一个程序在一个空间里填满它认为属于它的东西时,它就会被调用。Adobe尤其充分利用了它的“上下文感知填充”(context-aware fill)功能,允许用户无缝地替换不需要的图像,并能准确地猜测如果没有的话会出现什么。
但有些功能超出了工具的替换能力,其中之一就是眼睛。它们的细节和高度多变的特性使得系统很难实际地改变或创建它们。
Facebook可能比历史上任何其他公司都有更多的人眨眼的照片,它决定采取措施来解决这个问题。
它是通过生成性的对抗网络来实现的,这本质上是一个机器学习系统,它试图欺骗自己,让自己认为它的创造物是真实的。在GAN中,系统的一部分学习识别,比如人脸,系统的另一部分反复创建图像,基于识别部分的反馈,真实性也逐渐增长。
从左到右:“范例”图像、源图像、Photoshop的开眼算法和Facebook的方法。
在这种情况下,网络被训练去识别和复制令人信服的睁开眼睛。这已经可以实现了,但是正如您在右边的示例中看到的,现有的方法还需要一些东西。他们似乎在人们的眼中粘贴,没有考虑到与图像的其他部分的一致性。
机器是天真的:他们不能直观的去理解睁开眼睛也不会改变周围皮肤的颜色。(就此而言,他们对眼睛、颜色或其他任何东西都没有直观的理解。)
Facebook的研究人员所做的是包含“范例”数据,这些数据显示了目标人睁开眼睛的样子,GAN从中不仅了解了眼睛应该盯着这个人看的是什么,还了解了这个人的眼睛是如何被塑造、着色的,等等。
结果是相当成功的:没有颜色不匹配或明显的拼接,因为网络的识别部分知道那不是人的样子。
在测试中,人们误把假眼睛打开的照片当成真实的,或者有超过一半的时间他们不能确定哪个是哪个。当我在我的newsfeed中滚动浏览它时,我可能不会注意到照片的特别,除非我知道照片是被篡改过的。不过,甘地看起来有点奇怪。
在某些情况下,它仍然会失败,比如:一个人的眼睛被一缕头发遮住了一部分,或者有时不能正确地再现颜色,就会产生一些奇怪的照片,但这些都是可以解决的问题。
你可以想象,在Facebook上有一个自动打开眼睛的工具,它可以检查一个人的其他照片,并使用它们作为参考,以替换最新一张照片中的眨眼。这可能有点吓人,但这对Facebook来说是相当标准的,至少它可以保存一到两张照片。
领取专属 10元无门槛券
私享最新 技术干货