CNCC2017李飞飞《追求视觉智能:对超越目标识别的探索》

前几天李飞飞教授在谷歌开发者大会上宣布“谷歌AI中国中心成立”她将领衔该中心的消息又刷爆朋友圈,正好中国计算机学会出刊的CCCF第12期上专门就中国计算机大会CNCC2017上李飞飞本人的主题演讲,从学术角度做了重新梳理,在此同期发布,以飨各位。

李飞飞

关于视觉智能

我今天演讲的主题是视觉智能,特别是著名数据集ImageNet建立起来以后的视觉智能。首先,大家回到5.4亿年前的前寒武纪,那时候地球上大部分地方都是水,生活着结构非常简单的生物。很少的几个物种在水面上漂浮游弋,靠吞噬身边飘浮的食物来维持生命,或者成为其他物种的食物。更多李飞飞观点:www.yangfenzi.com/tag/lifeifei

ImageNet大规模图像数据库

ImageNet数据库是李飞飞(斯坦福大学教授)与李凯(普林斯顿大学教授)等多人合作,于2009年在美国普林斯顿大学创建发布的大规模图像物体识别、检测数据库。它依据语言概念模型库WordNet构建,具有结构化、层次化的特点。ImageNet有21841类物体,1400万+图像。ImageNet的大规模图像识别评测为视觉识别挑战赛ILSVRC(ImageNet Large Scale Visual Recognition Challenge),2010首次举办,2017年结束,共举办了8 届。详细信息可参阅http://www.image-net.org/。

之后,在一个很短的时期,大约1000万年之间,奇怪的事情发生了,物种从很少的几种爆发到成千上万种,这就是进化生物学家称为的寒武纪物种大爆发。这曾经是一个谜,究竟是什么引起了物种进化上的大爆发?几年前,一位来自牛津大学的年轻的澳大利亚生物学家安德鲁·帕克(Andrew Parker)研究了多种化石,发现了事情的真相:大约5.4亿年前,生物进化出了眼睛。这是一个非常简单的结构,只靠一个洞来吸收光线。然而,动物一旦有了眼睛,它的整个生活就变了。动物看到了它周围的环境,而最重要的是,它可以看到食物了。一旦可以看到食物,动物就变得非常活跃。猎食者可以追赶猎物,猎物必须想办法藏起来而得以幸存。因此,进化爆发始于获得视觉后寻求生存的过程。

从那以后,动物进化出了各种各样的视觉系统。实际上,视觉系统已经变成了动物大脑中最大的感知系统。对于人类,视觉系统是我们看世界的主要工具,理解周围发生的事情,从而获得交流,进行合作等。视觉是人类智能的里程碑,因此,建造具有这一感知能力的机器成了让人着迷的任务,这也是人工智能的一个主要部分。机器究竟应该怎样模仿人类?应该怎样获得视觉智能?我们的工作取得的第一个阶段性成就是物体识别,这也是视觉认知的基石。

人类在物体识别中能做到多好呢?在1960至1970年代的研究中,认知神经科学家们展示了人类视觉系统的卓越能力。麻省理工学院的莫莉·波特(Molly Potter)教授在研究中做了一个实验,展示给观众一系列的帧,每一帧只展示0.1秒。波特请在场的能识别到某一帧中有人的观众举手。这其实很简单,大部分在场的观众都看到了其中一帧有个人站在树林中。但不同寻常的是,实验者并没有告诉观众这个人的体型、长相、衣服、姿态,然而人类的视觉系统能够快速获得相应的视觉信息。1996年,西蒙·索普(Simon Thorpe)教授和同事研究了视觉识别物体的速度。他们用脑电图仪(electroencephalograph, EEG)来记录脑电波,发现用非常快的速度对人类测试者展示图片,150毫秒后脑电波的变化可以显示测试者看到的复杂图片中是否有动物。这里的动物类型是多种多样的,可以是哺乳动物,也可以是昆虫类、鱼类、鸟类,等等。用来对比的非动物类的图片也是各种各样的。这个快速处理复杂对象的能力是人类视觉系统的基础,也是计算机视觉的圣杯。

在过去20年间的计算机视觉领域,目标识别是驱动领域发展的关键技术,在不同时期用了不同的数据集和不同的衡量基准。ImageNet是对物体识别的发展有重要贡献的数据集之一。在2010~2017年ImageNet挑战赛中,目标识别错误率从28%降到了2.3%。

ImageNet后的目标识别路在何方——理解视觉对象关系

解决目标识别问题的一个令人激动的成果诞生于2012年。这一年,深度学习中的卷积神经网络开始显现出使用大量数据进行监督学习的超凡能力,从此我们进入了深度学习革命时代。ImageNet已经完成了自己的重要历史使命,那么,在此之后目标识别的路在何方呢?我们人类一睁开眼睛就会看到物体,然而我们不只是看到了物体,物体仅仅是丰富的视觉信息的组成成分。图1中有两张图片,如果只列举图片中最重要的两个目标,两张图片都是人和羊驼,两者非常类似。

图1 视觉对象所表现的语义

图1 视觉对象所表现的语义

然而,这两张图片讲述了两个不同的故事:一个是动物和人类的和谐相处,而另一幅图表现的是动物与人类的追逐。这个例子告诉我们,ImageNet推动物体识别任务达成后,理解视觉对象的关系对于视觉智能是非常重要的。

视觉关系预测的主要问题在哪里?给定作用在图片上的算法,我们希望算法能够定位物体移动的位置及两两物体间的关系,这就是视觉关系预测的任务。在深度学习时代到来之前,就有一些工作试图理解物体间的关系。然而,大部分局限在小的封闭系统中,集中于空间关系、动作关系和类似关系等,是有局限性的。随着丰富的数据和深度学习表征的出现,我们可以重拾这项工作并推进其发展。我们在ECCV 20161上发表了一篇论文,使用卷积神经网络视觉和语言两个模块,通过视觉表征的整合,预测交互视觉组件间的关系。对于一张图片,算法可以预测空间关系、比较关系、语义关系、谓词关系、动作关系和位置关系,可以预测场景中的丰富关系,而不是只列举场景中的物体。和已有的算法相比,我们获得了当时最好的结果。我们不仅可以进行关系预测,还可以做零次学习来理解关系。例如,在训练数据集中,有一些样例是“人坐在椅子上”和“消防栓在地面上”。在测试的时候,有“坐在消防栓上的人”的图片。一般很难搜集表示这个关系的图片,但我们的算法可以通过迁移学习做“零次学习”就可理解关系。类似地,给出一个马戴着帽子的图片,现实生活中这样的例子非常少,而算法可以从更普遍的,比如人骑马和人戴帽子这些关系推理出结果。后来又出现了很多相关研究,一些已经超过了我们一年前的研究结果。研究领域已经使用ImageNet提供的便利做出了超越ImageNet的工作来深化对场景的理解。ImageNet已经在物体识别方面做出了贡献,其中一些研究成果的性能甚至已经超过了我们所提出来的模型。我非常高兴地看到这一领域的相关研究能这样快速蓬勃地发展。

在ImageNet之后,领域中的研究人员提供了更有趣的Microsoft COCO数据集,该数据集不再是用图像+标签,而是用图像+一个简短的句子来描述图像中的主要内容。过去三年里,我们搜集具有深入场景内容的数据,我们更关心视觉关系。我们把视觉单词视为互联的场景图,而场景图是对于对象和关系的最基本的表示。经过三年准备,我们推出了Visual Genome Dataset,它包含10万张图片,420万条图片描述,180万个问答对,140万个标注对象,150万个关系标注和170万个属性标注。这是一个非常丰富的数据集,其目标是超越获得物体名字本身,更关注关系理解、上下文推理等方面。

除了关系理解外,还有哪些场景图在Visual Genome Dataset可以用上呢?在谷歌图像检索中,输入词句“men wearing suit”或者“cute dog”,系统就会返回相应的图片。看到展示的结果,你会发现检索相当成功,结果非常有说服力。但是,如果你输入更复杂的句子,如“men wearing suit holding cute dog”,来搜寻相册内容或者图片,我们希望进一步控制搜索结果或者用更复杂的搜索时,你会发现当前的场景搜索架构无法完成这类任务。因为该搜索架构只包含识别物体,而不理解其中的关系。例如,我们搜索“man sitting on bench”,如果我们仅仅基于对象检索,很可能只得到物体的图片或者图片中错误的关系。我们可以加入某些属性,如混入一些属性检索,也许能成功。如果我们加入关系和对象,立刻就可以检索到富有含义的准确场景。这就是重新审视场景检索的理念。我们在CVPR 20152上发表的工作中,非常复杂的检索条件被表达成了复杂的场景图,这样场景检索变得简单多了,成为了一个图匹配问题,既可用嵌入技术来嵌入图,也可借助于深度学习技术。这里的主要理念是场景图用来表示场景中的丰富内容。例如一个卧室,我们如何用场景图来检索?这需要一个新的方法来表示场景的复杂性。但是如何得到这个场景图?实际上,这是不容易的。这里的场景图是人工构造的。但是必应搜索或者谷歌搜索中又如何得到人工构造的场景图呢?这涉及如何自动构造场景图。我们在CVPR 2017的一篇论文中,通过迭代信息传递来实现场景图的自动生成。

对于一张输入图像,首先得到物体识别的备选结果,然后用图推理算法得到实体和实体之间的关系等,这个过程都是自动完成的。这里涉及到了一些迭代信息传递算法,可以得到和人工标定类似的场景图(如图2中间部分)。数据分析表明,我们对于场景图生成得到了置信度高的,至少是有前途的结果。Visual Genome Dataset给出了场景图的数据,可以帮助这一领域的研究人员进行关系预测、图片检索、场景图自动生成。

图2 场景图的自动生成

图2 场景图的自动生成

进一步理解视觉信息:用推理来完善描述

当我们睁开眼睛的时候,首先看到的是物体及物体之间的关系。但是视觉智能或者人工智能是超越这些的。在最初阶段的像素感知之后是什么呢?我给大家展示一下十多年前面向本科生做的一个实验。我们让测试者坐在屏幕前,要求他们看一幅飞快闪过的图片,然后用一张纸屏蔽掉此图片,这张纸上和屏幕上显示的内容完全不同。测试者看到图片的时间实际上非常短。

我向测试者支付每小时10美元的报酬,让测试者在看到图片后写下他/她能记得的所有内容。测试者看到飞快闪过的场景,最短的时间只有27毫秒,最长的时间是500毫秒。我们发现了一些有意思的结果:500毫秒绰绰有余,测试者可以写下很详细的细节来描述场景,包括人们的动作、衣服、感情、事件、社会角色等。就算在很短的40毫秒内,测试者也可以得到对环境的整体理解。进化给了人们这样一种能力:只看一张图片就能讲出一个很长的故事。在此之后,我们实验室又开始研究语言和视觉的交互,以及视觉和推理之间更深入的联系。

其中第一项工作和人类语言相关。在2015年,世界上只有几个实验室在做图像描述。用深度学习和卷积神经网络(CNN)来表达像素,借助CNN把图像中的内容表示到特征空间,然后用长短时记忆(LSTM)等递归神经网络(RNN)生成一系列文字。这类工作在2015年左右有很多成果,从此我们就可以让计算机针对图片生成一句话来描述这个场景,如“一位穿着橙色马甲的建筑工人正在路上工作”和“穿着黑色T恤的男人正在弹吉他”。一个视觉事物并不只是一个短句子,而是更复杂、更紧凑的场景。我们下一步工作是稠密描述,不仅包含对于整体的描述,还注重于图像的各个感兴趣区域,并用语言来描述这些部分。

图3是一个场景生成的例子,这张图可以生成“有两个人坐在椅子上”、“有一头大象”、“有一棵树”等描述。这是我们一年前发表的论文。几个月前,我们开始进一步生成段落。当然,可以把段落看成是生成的各个句子的聚集,但结果无法令人满意。怎样组织句子,以及做到句子间自然过渡,是需要继续思考的问题。我们生成的段落虽然还不能像一首诗一样让人满意,但是有了对于场景的完整描述。

图3 场景生成示例

图3 场景生成示例

我的学生在威尼斯的ICCV3会议上将图像上的工作延伸到了视频上。如何检索视频是更复杂的工作,迄今为止大部分研究是用“关键对象”来检索视频的,例如一段打篮球的视频。但是在大多数长视频中,有很多事件发生,因此我们建立了一个2万视频的数据集,每个视频由平均3.65个句子描述。我们开发了一个算法可以取得视频的时间元素,可以自动定位视频中的关键段落,然后用句子描述。

图4是总体的模型框架,以抽取视频中的3D特征开始,其他部分包含如何智能地找到关键段落和生成句子。虽然我们是第一个这么做的,但得到了很有希望的结果。

图4 视频描述的总体模型框架

图4 视频描述的总体模型框架

我们再来看一个视频以及对视频进行描述的例子。随着视频的播放,描述的句子也在随之改变,如将配料放入碗中,搅拌碗中的东西,开始切……。不过,视频描述中有个错误:不是碗而是个平底锅。最后的视频描述是:这个人多次混合了碗中的配料。这是一个新的研究方向,也非常激动人心。我认为视频描述是计算机视觉中有能力连接视频和语言的领域,打开了很多不同的可能和应用领域。比如,我们发表在CVPR 2017的一项研究中,可以对一个说明性视频中不同的部分做联合推理,整理出文本结构。其中的难点是解析文本中的实体,比如第一步是“搅拌蔬菜”,然后“拿出混合物”。如果算法能够解析出“混合物”指的是前一步混合的蔬菜,那就棒极了。

我们的最后一项工作还是关于语言和视觉的场景。在这个特殊的案例中,我们想用语言作为媒介物扩展到推理,不仅生成描述句子,而且描述其构成本质。40年前,有一个早期的AI研究SHRDLU。SHRDLU是个块状的世界(如图5所示),得到一个人类的问题,像“蓝色的角锥体很好。我喜欢不是红色的立方体,但是我也不喜欢任何一个垫着角锥体的东西。那我喜欢那个灰色的盒子吗?”这是一个非常复杂的问题,系统必须理解它,然后给出答案“NO”,因为人不喜欢垫角锥的东西。这里涉及很多逻辑推理问题,在那个时代用了基于规则的系统。

图5 SHRDLU

图5 SHRDLU

在一个与Facebook的合作项目中,我们使用类似的引擎对现代化图形生成数据集CLEVR。CLEVR有很多几何体。我们设计了各种各样的问题,然后向人工智能提问,包括属性的辨识(如金属表面),计数(如在那里有多少红色物体),对比,空间关系等,看它如何理解、推理和解决这些问题。CLEVR是个非常丰富的数据集,包含了很多问题-答案对,场景的含义及相关内容,如图6所示。

图6 CLEVR

图6 CLEVR

图7显示的是我们开发的系统的测试结果与人类的对比。我们仅仅使用了CNN+LSTM的QA算法,人类的准确率远远高于机器。人类的准确率大约是93%,而机器的平均表现则不到70%。我认为这个差距在于我们的系统并没有组合推理。所以我们几天前发表在ICCV的工作,首先提出一个问题,训练一个程序生成器,把自然语言分解成功能性的程序段,然后用这些功能性的程序段来进行推理,最后得到答案。所以第一阶段算法训练一个程序生成器,第二阶段在程序段基础上训练一个能回答问题的执行引擎,第三阶段调试发现最后的QA对,从而得到正确答案。用这个算法,可以得到比基准结果好得多的表现,在有些问题上几乎和大部分人类相当。

图7 系统的准确率与人类对比

图7 系统的准确率与人类对比

总结

视觉智能不止于此,我20个月大的女儿能用视觉读书、画画、观察情感、交流、与人合作等等。我们希望机器也可以通过视觉处理来实现这些重要的人类的动作。视觉对理解、交流、合作和交互等方面是非常重要的,人类在这方面的探索才刚刚开始。(本文根据CNCC 2017特邀报告整理而成)

整理者:龚声蓉 CCF高级会员。苏州大学博士生导师,北京交通大学兼职教授,常熟理工学院计算机科学与工程学院院长。主要研究方向为计算机视觉、机器学习等。
合作整理:季怡、刘纯平(苏州大学)

脚注

1. ECCV的全称是European Conference on Computer Vision(欧洲计算机视觉国际会议),两年一次,是计算机视觉三大会议(另外两个是ICCV和CVPR)之一。

2. CVPR是IEEE Conference on Computer Vision and Pattern Recognition的缩写,即IEEE国际计算机视觉与模式识别会议。

3. IEEE International Conference on Computer Vision,即国际计算机视觉大会。

·氧分子网http://www.yangfenzi.com)延伸阅读:

➤ 后 ImageNet 时代:李飞飞视觉基因组重磅计划,新一轮竞赛!

➤ 李飞飞专访:斯坦福人工智能实验室主任谈人生起点与AI梦想

➤ 人工智能专家李飞飞、李佳加盟Google,领导谷歌云机器学习部门

➤ 李飞飞 李凯 谢晓亮 王晓东…科学大咖早课,我们都能学到些什么?

➤ 葛甲:计算机视觉识别,比我们想象得要美

氧分子网(www.yangfenzi.com)是关注互联网生态圈的科技新媒体

·氧分子网http://www.yangfenzi.com)综合整理

您可能还喜欢…

发表评论

邮箱地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>