人工智能之AI让照片中闭眼的人“睁眼”
原创 张志荣
前言:据报道, Facebook一项最新AI研究成果可以帮人们彻底解决拍照闭眼烦恼。该方法不同于传统Photoshop的简单算法,不仅可以检测到“睁眼”处理应用在什么人身上,还能对眼睛的形状和肤色进行判断,同时也能够利用用户的多张照片作为参考完善“睁眼”效果。
目前为止,有很多方法可以处理拍照时红眼,耀斑,抖动等问题。但是眨眼问题一直是拍照的顽强对手,难以解决。随着Facebook的最近研究成果, 改变了这个境况。
Adobe已经很好地利用了它的“上下文感知填充”工具来无缝地替换图片中不需要的特征或部分,比如一个突出的树枝,或一片多余的云朵。假如这些不需要的特征或部分被去除后替换的话,人们可以很好地猜测会出现什么情况。,
但是有些特征超出了这些工具的替代能力,其中之一就是眼睛。眼睛细节和高度可变的性质使得工具特别难以改变或真实地创建它们。一想到,人们在拍照时可能会经常闭眼或眨眼,于是Facebook决定采取一个破解这个问题的方法。
Facebook是通过一个GAN生成式对抗网络(参见人工智能(57))来实现的。GAN本质上是一个机器学习系统,试图愚弄自己,认为它的创造是真实的。在GAN生成式对抗网络中,系统一部分学习识别,例如识别面部。系统另一部分,基于识别部分的反馈,反复地创建图像,图像实际上逐渐增长。在这种情况下,网络被训练来识别和复制令人信服的睁开的眼睛。这已经可以完成,但是正如你在下图中所看到的,现有方法有一些缺陷,没有考虑到与其他形象的一致性。它们没有直观的理解,睁开眼睛也不会改变周围皮肤的颜色。对于这一点,他们对眼睛、颜色或任何东西都没有直观的理解。
Facebook研究人员所做的就是包括有“示范性”的数据,显示目标人睁开眼睛,从那里,GAN生成式对抗网络不仅学习眼睛对于目标人发生了什么,而且如何对这个特定人的眼睛进行整形、着色等。
研究结果是非常现实的:因为网络的识别部分知道这是不是某个特定人的外表,所以没有颜色不匹配或有明显缝合问题。
在测试中,人们误以为这些“睁眼”照片是真实的,或者说大部分情况下,人工无法确定哪个是真实的。除非我人们明确地知道某个照片被篡改了,否则人们在看新闻稿时可能不会注意到。不过,从图上看,甘地看起来有点怪怪的。
该方法在某些情况下仍有失败。如果一个人的眼睛被一绺头发覆盖,或者有时无法正确地重创颜色,就会产生怪异的人工制品。
但这些问题是可以解决的。你可以想象一下Facebook上自动睁眼工具的实用性,它可以检查一个人的其他照片,使用它们作为参考来替换最近一个眨眼照片。听起来有点匪夷所思,但对于Facebook来说, 是相当正常的,至少它可以以此来保存用户的一两组照片。
------以往文章推荐-----
机器学习
深度学习
人工神经网络
决策树
随机森林
强化学习
迁移学习
遗传算法
朴素贝叶斯
支持向量机
蒙特卡罗方法
马尔科夫模型
Hopfield神经网络
回归模型
K邻近算法
卷积神经网络
受限玻尔兹曼机
循环神经网络
长短时记忆神经网络
Adaboost算法
ID3算法
C4.5算法
CART算法
K-Means算法
Apriori算法
PCA算法
ICA算法
TD-Learning算法
Q-Learning算法
SOM算法
GBM算法
GBDT算法
EM算法
SVD算法
Autoencoder算法
DBN算法
GAN算法
多层感知器
BP算法
DRL算法
AlphaGo浅析(1)~(5)
霍夫曼优化框架
粒子群算法
ResNet模型
DenseNet模型
Xgboost算法