AI 能移除画面中的马赛克了?
2020-07-31池源
池源
还记得去年给大家介绍过的GANs吗?是 Generative Adversarial Networks 的缩写,即“生成式对抗网络”,有点拗口。这是一种深度学习 (deep learning) 的模型,如果大家记不清了,我来通俗解释一下。GANs主要是由两个CNN所组合而成的神经网络,其中有两个组件,Generator与Discriminator。GAN就像是一个问答系统,是使用警察跟罪犯的关系作为类比。故事当中,罪犯不断制造假钞来欺骗警察的眼睛,每被识破一次,就会重新调整制造假钞的技术,久而久之,就有办法生成欺骗警察法眼的能力。
在 GANs 里面,有两个天天对着干的神经网络,一个努力生成逼真的假货,一个努力鉴别假货,通过不断地学习和对抗,它们就能生成极其真实的假货,非常奇妙。总之,GANs的出现那叫一个惊为天人。因为它可以无中生有,创造出世界上不存在,但又极为真实的人脸。
没错,上面这些脸全都是 GANs 生成的
GANs被运用到图像增强领域,进而名声大噪。因为它能实现一项我们以前不敢奢求的功能——去马赛克。就拿2018年大火的软件DeepCreamPy来说吧,它就是利用GANs来实现去码的。
轻松去码的这些AI软件
这张图片,用绿色画笔涂上了码。拿DeepCreamPy操作一番后,马赛克神奇地消失了
这图的解析度够渣了吧,甚至可以直接数出它的解析度为16×16
经过PULSE一处理,简直不要太清晰,放大头发部分看看细节,明明只有几个像素格,它硬是还原成了丝缕分明的秀发
GANs效果大概是这样,横向对比一下,效果的确不错。但肯定会有机友要说:就这水平?确实,这张卡通图片,去码难度并不算高,能实现这样的效果也不算啥。别急,时代在发展,技术在进步。上个月,杜克大学推出了一款图像增强工具,又一次勾起了笔者燥热的心。这款工具叫PULSE,不扯虚的,PULSE能实打实地把重码图,处理成高画质大图。
一张低解析度图
学习之后,找出相似度最高的,把对应的高画质图进行输出
看了这些去码作品,这真的不是魔法吗?很久以前,我们要提高一张图片的解析度,往往是利用插值法,在低解析度的图片中填充像素。就比如PS的改变图像大小,后来有了GANs,虽然也是填充像素,但凭借机器学习,填充的方法变得更高级,更像是AI在凭经验:“猜”。但总的来说,以上方法去码效果有限。而杜克大学的PULSE思路就很巧妙了,它选择反其道而行。
AI并不急着去填充低解析度图片,而是把自己以前GANs出来的高画质图,压缩成低解析度和你给的图片对比。如果你不理解的话,我们再打一个通俗的比方。物理考试中,有一道填空题,需要补全一个公式,你如果去推导E和C的关系,估计这辈子都填不出正确答案。
但是换种思路,在脑海中回忆背过的公式,其中含有E和C,且跟它长得像的……不就是爱因斯坦质能方程嘛(质能方程E=mc,E表示能量,m代表质量,而c则表示光速,该方程主要用来解释核变反应中的质量亏损和计算高能物理中粒子的能量)!明白了吧,直接推导就像是去码演算法中的老方法,而从回忆中找相似,就类似于杜克大学的PULSE。
电影艺术也可以用上这种技术,哪里还需要花钱请演员,费劲地布景、表演、拍摄,直接做个粗糙的脚本,剩下交给AI
技术在进步而现实更残酷
当然,AI的实际能力也并非完美,牛气冲天的PULSE刚公布没多久,就被网友们发现了问题。有网友拿出身边朋友的照片,手动压缩了一番,然后把它放进PULSE里,输出的结果,让人始料未及,出来的这个面孔,虽然是张很真实的脸,但跟本尊大相径庭。更坑爹的是,本尊本来是个黑人,却被AI硬生生还原成了白人。紧接着,又有网友发现不仅是黑人,用亚洲面孔去测试,输出的结果也会变成白人。
左为输入图,右为PULSE处理后的结果
由于图库没有匹配,马里奥的AI输出简直不忍目睹
AI这一搞果然引起轩然大波。很多人出来批评,认为AI存在偏见,或者图片库比对完全无法和显示接轨,一时之间骂声四起。其实,PULSE会出现这样的结果,原因不难猜测。PULSE基于英伟达的 StyleGAN,而 StyleGAN 所使用的 FlickFaceHQ 资料集当中大部分都是白人面孔。
它就像一个从小只见过白人的小朋友,当然会以为全世界的人都是白人。与其说是偏见,倒不如讲是认知局限。随着演算法的精进,资料集日渐丰富,AI 的认知局限肯定会越来越少。除此之外,PULSE犯的错误还不止搞错人种,网友们还拿卡通形象试了试,比如游戏 Wolfenstein 中的卡通像素脸。
PULSE并没有把它变成卡通高画质大图,而是用补真实人脸的方式,输出了一张不伦不类的奇怪脸。Minecraft 当中的像素角色,有同样的遭遇,也就是说,现阶段的AI补脸,虽然看起来像模像样,但本质上还是瞎补的,它根本无法还原图片原本的细节。所以,如果是警察辦案,真的采用PULSE处理的照片来确定嫌犯,八成会抓错人。AI还需要更聪明,才能应对这个复杂的人类世界里千奇百怪的问题啊。