本文作者魏秀参,本文首发于作者的知乎专栏《欲穷千里目》, AI研习社获其授权发布。

计算机视觉 (Computer Vision, CV) 是一门研究如何使机器“看”的科学。1963年来自MIT的Larry Roberts发表的该领域第一篇博士论文“Machine Perception of Three-Dimensional Solids”(http://t.cn/RYiIO9N),标志着CV作为一门新兴人工智能方向研究的开始。

在发展了50多年后的今天,我们就来聊聊最近让计算机视觉拥有「无中生有」能力的几个有趣尝试:1)超分辨率重建;2)图像着色;3)看图说话;4)人像复原;5)图像自动生成。可以看出,这五个尝试层层递进,难度和趣味程度也逐步提升。(注:本文在此只谈视觉问题,不提太过具体的技术细节,若大家对某部分感兴趣,以后再来单独写文章讨论 🙂

  超分辨率重建 (Image Super-Resolution)

去年夏天,一款名为“waifu 2x”(http://t.cn/R2AL4br)的岛国应用在动画和计算机图形学中着实火了一把。waifu 2x借助深度「卷积神经网络」(Convolutional Neural Network, CNN) 可以将图像的分辨率提升2倍,同时还能对图像降噪。简单来说,就是让计算机「无中生有」的填充一些原图中并没有的像素,从而让漫画看起来更清晰真切。大家不妨看看下图,真想童年时候看的就是如此高清的龙珠(http://t.cn/RYiMUaT啊!

不过需要指出的是,图像超分辨率的研究始于2009年左右,只是得力于「深度学习」的发展,waifu 2x可以做出更好的效果。在具体训练CNN时,输入图像为原分辨率, 而对应的超分辨率图像则作为目标,以此构成训练的“图像对” (image pair),经过模型训练便可得到超分辨率重建模型。waifu 2x的深度网络原型基于香港中文大学汤晓欧教授团队的工作[1]。有趣的是,[1]中指出可以用传统方法给予深度模型以定性的解释。如下图,低分辨率图像通过CNN的卷积 (convolution) 和池化 (pooling) 操作后可以得到抽象后的特征图 (feature map)。基于低分辨率特征图,同样可以利用卷积和池化实现从低分辨率到高分辨率特征图的非线性映射 (non-linear mapping)。最后的步骤则是利用高分辨率特征图重建高分辨率图像。实际上,所述三个步骤与传统超分辨率重建方法的三个过程是一致的。

  图像着色 (Image Colorization)

顾名思义,图像着色是将原本「没有」颜色的黑白图像进行彩色填充。图像着色同样借助卷积神经网络,输入为黑白和对应彩色图像的image pair,但是仅仅通过对比黑白像素和RGB像素来确定填充的颜色,效果欠佳。因为颜色填充的结果要符合我们的认知习惯,比如,把一条汪星人的毛涂成鲜绿色就会让人觉得很怪异。于是近期,早稻田大学发表在2016年计算机图形学国际顶级会议SIGGRAPH上的一项工作[2]就在原来深度模型的基础上,加入了「分类网络」来预先确定图像中物体的类别,以此为“依据”再做以颜色填充。下图分别是模型结构图和颜色恢复demo,其恢复效果还是颇为逼真的。另外,此类工作还可用于黑白电影的颜色恢复,操作时只需简单的将视频中每一帧拿出来作colorization即可。

  “看图说话” (Image Caption)

常说“图文并茂”,文字是除图像外另一种描述世界的方式。 近期,一项名为“image caption”的研究逐渐升温起来,其主要任务是通过计算机视觉和机器学习的方法实现对一张图像自动地生成人类自然语言的描述,即“看图说话”。值得一提的是,在今年的CV国际顶会CVPR上,image caption被列为了一个单独的session,其热度可见一斑。一般来讲在image caption中,CNN用来获取图像特征,接着将图像特征作为语言模型LSTM(RNN的一种)的输入,整体作为一个「end-to-end」的结构进行联合训练,最终输出对图像的语言描述(见下图)。

目前image caption领域的最好结果[3]来自澳大利亚University of Adelaide的Chunhua Shen教授(http://t.cn/RYix8WW)团队。与之前image caption工作相比,他们的改进与刚才提到的颜色恢复简直有异曲同工之妙,同样是考虑利用图像中物体的类别作为较精准的“依据”来更好的生成自然语言描述,即下图中的红色框框圈起的部分。Image caption的急速发展不仅加速了CV和NLP在AI大领域内的交融,同时也为增强现实应用奠定了更加坚实的技术基础。另外,我们更乐于看到今后日趋成熟的image caption技术嵌入到穿戴式设备上,那一天盲人便可以间接的“看到光明”。

  人像复原 (Sketch Inversion)

就在六月初,荷兰科学家在arXiv上发布了他们的最新研究成果[4]——通过深度网络对人脸轮廓图进行「复原」。如下图所示, 在模型训练阶段,首先对真实的人脸图像利用传统的线下边缘化方法获得对应人脸的轮廓图,并以原图和轮廓图组成的“图像对”作为深度网络的输入,进行类似超分辨率重建的模型训练。在预测阶段,输入为人脸轮廓(左二sketch),经过卷积神经网络的层层抽象和后续的“还原”可以逐步把相片般的人脸图像复原出来(右一),与最左边的人脸真实图像对比,足够以假乱真。在模型流程图下还另外展示了一些人像复原的结果,左侧一列为真实人像,中间列为画家手工描绘的人脸轮廓图,并以此作为网络输入进行人像复原,最终得到右侧一列的复原结果——目测以后刑侦警察再也不用苦练美术了。

  图像自动生成

回顾刚才的四个工作,其实他们的共同点是仍然需要依靠一些“素材”方可「无中生有」,例如“人像复原”还是需要一个轮廓画才可以恢复人像。接下来的这个工作则可以做到由任意一条随机向量生成一张逼近真实场景下的图像。

「无监督学习」可谓计算机视觉的圣杯。最近该方向的一项开创性工作是由Ian Goodfellow和 Yoshua Bengio等提出的「生成对抗网络」(Generative Adversarial Nets, GAN)(http://t.cn/RYiJx3H。该工作的灵感来自博弈论中的零和博弈。在二元零和博弈中,两位博弈方的利益之和为零或一个常数,即一方有所得,另一方必有所失。而GAN中的两位博弈方分别由一个「判别式网络」(图左)和一个「生成式网络」(图右下半部分)充当。

其中,「判别式网络」的输入为图像,其作用是判断是一张真实图像还是一张由计算机生成的图像;「生成式网络」的输入为一条随机向量可以通过网络“生成”一张合成图像。这张合成图像亦可作为「判别式网络」的输入,只是此时,在理想情况下应能判断出它是由计算机生成的。

接下来,GAN中的零和博弈就发生在「判别式网络」和「生成式网络」上:「生成式网络」想方设法的让自己生成的图像逼近真实图像,从而可以“骗过”「判别式网络」;而「判别式网络」也时刻提高警惕,防止「生成式网络」蒙混过关……你来我往,如此迭代下去,颇有点“左右互搏”的意味。GAN整个过程的最终目标是习得一个可以逼近真实数据分布的「生成式网络」,从而掌握整体真实数据的分布情况,因此取名「生成对抗网络」。需要强调的是,GAN不再像传统的监督式深度学习那样需要海量带有类别标记的图像,GAN不需任何图像标记即可训练,也就是进行无监督条件下的深度学习。2016年初,在GAN的基础上,Indico Research和Facebook AI实验室将GAN用深度卷积神经网络进行实现(称作,DCGAN, Deep Convolutional GAN),工作发表在国际表示学习重要会议ICLR 2016上,并在无监督深度学习模型中取得了当时最好的效果。下图展示了一些由DCGAN生成的”bedroom”图像。

更为interesting的是,DCGAN还可以像word2vec一样支持图像“语义”层面的加减。

另外,“生成式计算机视觉”研究领域大牛UCLA的Song-Chun Zhu教授团队发布了他们基于生成式卷积网络的最新工作STGConvNet(http://t.cn/R5tna2E:不仅可以自动合成动态纹理,同时还可以合成声音,可以说将无监督计算机视觉又向前推进了一大步。(戳链接看动图http://t.cn/R5tna2E

  结语

如今借着「深度学习」的东风,计算机视觉中绝大多数任务的performance都被“刷”上了新高,甚至连“人像复原”,“图像生成”类似「无中生有」的“奇谈”都能以较高质量地实现,着实让人们激动不已。不过尽管如此,事实上距离所谓的颠覆人类的AI“奇点”还相当遥远,并且可以预见,现阶段甚至相当长的一段时间内,计算机视觉或人工智能还不可能做到真正意义上的「无中生有」,即“自我开创”或称为“自我意识”。

然而,也非常庆幸我们可以目睹并且亲身经历这次计算机视觉乃至是整个人工智能的革命浪潮,相信今后一定还会有更多「无中生有」般的奇迹发生。此刻,我们站在浪潮之巅,因此我们兴奋不已、彻夜难眠。

  References:

[1] Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang. Image Super-Resolution Using Deep Convolutional NetworksIEEE Transactions on Pattern Analysis and Machine Intelligence, Preprint, 2015.(http://t.cn/R2AaT8V

[2] Satoshi Iizuka, Edgar Simo-Serra, and Hiroshi Ishikawa. Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image Colorization with Simultaneous ClassificationIn Proc. of SIGGRAPH 2016, to appear.(http://t.cn/RYixSCN

[3] Qi Wu, Chunhua Shen, Lingqiao Liu, Anthony Dick, Anton van den Hengel. What value do explicit high level concepts have in vision to language problems, In Proc. of CVPR 2016, to appear.(http://t.cn/RYixOVf

[4] Yağmur Güçlütürk, Umut Güçlü, Rob van Lier, Marcel A. J. van Gerven. Convolutional Sketch InversionarXiv:1606.03073.(http://t.cn/R5JQxRC

[5] Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio. Generative Adversarial Nets, In Proc. of NIPS 2014.(http://t.cn/RYiJx3H

[6] Jianwen Xie, Song-Chun Zhu, Ying Nian Wu. Synthesizing Dynamic Textures and Sounds by Spatial-Temporal Generative ConvNetarXiv:1606.00972.http://t.cn/R5tna2E

如何选择机器学习模型?

如何提高选择算法的能力?

对于算法能力应该从哪块开始抓起?

欢迎报名算法基础课程

算法推导+实操

双倍告诉你

  


新人福利

关注 AI 研习社(okweiwu),回复  1  领取

【超过 1000G 神经网络 / AI / 大数据,教程,论文】

CS231n 2017中文字幕视频:如何训练机器进行视觉识别?