想寻找心仪的图片素材,可以像“神笔马良”一样“所画即所得”;偶然看到一段感兴趣的视频,只要几秒钟就能找到原版链接;通过人脸特征定位,你还可以在游戏或虚拟世界中塑造出属于自己的“阿凡达”……这些令人激动的场景,原本要在童话或是科幻电影中才能出现。然而在微软亚洲研究院技术研究人员的努力之下,这些梦想正在一步一步变成现实。下面就请大家跟随CHIP的脚步,一起走进微软亚洲研究院体验这些酷技术吧。
所画即所得的“神笔马良”
草图搜索:画线条,找图片
自从迈入了互联网时代,“搜索”就成为了人们工作和生活中最常见的互联网应用之一。然而与简单易行的文本搜索相比,如何对图片甚至视频等多媒体内容进行搜索,一直是摆在技术人员面前的一大难题。
目前的商用图像搜索方法,主要有基于关键字的图像搜索和以图找图的搜索。而另一项仍处于初步研究阶段的草图搜索技术,则是使用充满不确定性和创造力的线条作为检索入口。通过草图搜索技术将绘画和搜索创造性地结合,身处大数据时代的用户就能运用手绘的线条图在海量的图片中找到与之相似的图像。在智能手机、平板电脑等移动智能终端设备非常普及的今天,用户不仅可以通过它们去拍摄照片、视频,甚至还能够在上面进行绘图。因为目前很多智能设备都已经采用了触摸屏。这就允许用户去在移动智能设备屏幕上画一些线条,然后基于线条来检索图像。
在草图搜索任务中,计算机主要面临特征表示、特征匹配和建立索引结构三大难题。
特征表示:把手绘的线条图和数据库中的图像都转换为计算机能够“认识”的表示,即一组或若干组数字,这就是特征表示。我们需要找到有效的特征表示,使得同一类的物体尽可能有相似的特征,而不同类别物体的特征尽可能不同。
特征匹配:根据特征表示方法定义合理的度量来匹配所画线条图与数据库中图像的特征,可得出二者的相似度。基于这个相似度,我们就可以把与手绘线条最相似的图像排在前面,并返回给用户。
建立索引结构:在数据库中的数据以千计算时,我们可以一张张地比较得到相似度。但是当数据规模上升到百万甚至千万级别时,如何建立有效索引结构使系统在极短时间内返回搜索结果,便成为了一个重要问题。
除了将线条作为类似搜索关键词这样的特征之外,色彩信息同样也可以作为图像的特征。因此通过这些特征表示进行匹配,就可以逐一将用户绘制的草图与数据库中的每一个图像进行比对。而有效的搜索技术和索引结构可以快速地从海量数据中找到相匹配的图像,并返回给用户进行选择。
譬如,如果用户想找埃菲尔铁塔的话,就可以在画图的时候添加一些颜色,譬如想找有着蓝天背景的图片,可以在铁塔线条旁边加一些蓝色,如果需要的话还可以在铁塔下方加上绿色的草坪。
微软将这项图形搜索技术命名为“Magic Brush”,并且还为其赋予了一个极具中国韵味的中文名——“神笔马良”。显然这一灵感来自于大受欢迎的国产动画片《神笔马良》。虽然它还无法做到像马良的神笔那样神通广大,画什么就有什么,但是用户却可以借此技术从海量的图片数据中找到最贴近自己需求的东西。
据悉,微软亚洲研究院目前已经为“神笔马良”项目构建了一个超过600万张图片的数据库,而另一个还没有添加颜色信息的数据库,更是存有大约15亿张图片。有了如此庞大的数据库,不论是帮助人们寻找图片,还是帮助儿童学习绘画,又或是帮助设计师精确寻找素材,都可以提供更好的搜索体验。
几秒钟找到心仪视频
高精度的移动视频搜索
微软多媒体搜索研究的范围并不仅仅局限于图片,人们通过随身携带的智能手机拍摄视频,也能够进行相关的多媒体搜索。譬如用户在任何场合看到感兴趣的视频时,都可以用手机进行拍摄,然后通过微软的多媒体搜索程序点击一下,就能识别出视频的来源,甚至提示用户刚才拍摄片段所在的时间点。
举例来说,当你偶然在某个屏幕上看到一段视频,觉得这段影像很有趣,就可以直接掏出手机拍摄一小截片段,通过微软的“Mobile Video Search”移动视频搜索在数据库或云端上找到正在看的这段视频,然后分享给家人或朋友。而亲朋好友在点击你刚才分享的链接时,就能直接看到网上云端的视频。
移动视频搜索的速度究竟有多快?据微软研究人员介绍,用户在录制视频的时候,每一秒都会传递一些特征信息,从第5秒开始就会根据匹配程度的高低陆续返回检索结果。在返回结果的同时,搜索引擎仍然在把进一步的视频特征信息传递给云端,一旦发现用户看到的视频信息出现新变化,会立即提供相似度更高的视频进行实时修正,从而为用户提供更好的搜索体验。目前就搜索精度而言,这项技术在10s内的精确度能够达到90%,如果换成时间更短的5s,也能提供70%~76%的精确度。
移动视频搜索的原理及应用
与基于文字的搜索相比,视频、图片等多媒体文件的体积往往非常庞大,譬如光是一分钟视频所包含的数据量就非常可观。这也给视频搜索带来了很大的难题。另外一个需要克服的难点,就是用户看到视频可以大体明白其内容,但是目前的计算机还无法做到,这被称为“语义鸿沟”,也是多媒体分析、多媒体检索中最大的难题。
微软移动视频搜索技术的工作原理,是同时利用视频信息、影像信息和语音信息的特征,每隔一秒提取一次关键信息进行比对。同时其后台有一个非常有效的索引机制,可以通过这些信息来帮助系统快速查找与用户拍摄视频相似度非常高的视频版本。其提供的搜索结果会依照相似度的高低进行排列,相似度最高的视频会排在其他视频前面。这样即使网上有多个经过编辑的视频版本,与用户所拍摄视频最接近的也会排到第一位,当然用户也可以根据自己需求查阅后面的不同版本。
对于普通消费者来说,在智能手机已经非常流行的今天,用手机拍摄视频已经是很常见的应用。譬如在电影院里,又或者是在广场的大屏幕上看到一段视频,如果感兴趣就可以用移动视频搜索技术找到这个视频回家继续看,还可以把信息分享给朋友。因此这项技术既可以作为手机上的一项应用,也可以作为与手机相机相关的应用。
显而易见的是,微软多媒体搜索技术的出现,不仅逾越了多媒体文件和文本文字之间的鸿沟,而且还构建了非常有效的数学结构。事实上,早在2000年甚至是上个世纪九十年代,学术界就对类似的多媒体搜索技术进行了密集研究,并涌现出了许多的技术原型。而微软所展示的这两项图片与视频搜索技术是最新的,也是相关领域最好的。
人脸特征定位
快速高精度的人脸对齐
在一台笔记本电脑面前,微软的人脸特征定位软件仅仅通过普通的摄像头,就成功地捕获了镜头前每一位观众包括眉毛、眼睛、鼻子、嘴巴等在内的数十个脸部特征点,而且始终保持着非常高的帧数。此外用户还可以根据自己的实际需要,来确定抓取特征点的个数。
这一过程大致分为两个步骤:第一步是局部学习,因为我们要识别各个人脸的特征点,为了能更好地定位特征点的位置,就要先在这些特征点的周围选取有利于判断点真实位置的特征。这样我们就需要收集大量数据并通过一些机器学习和算法,让算法自动挖掘数据找到对定位有用的特征。
由于第一步局部学习并没有整合全局信息,所以第二步就是用全局线性回归的方式,把局部信息都整合在一起,然后做一个整体的学习来估计所有特征点的位置。这样一方面可以整合全局信息,另一方面系统表现也会更加稳健。因为局部细节难免有各种各样的小错误,但如果从全局着眼,就可以利用全局信息来纠正局部小错误,从而达到最优效果。
综上所述,该技术最核心的就是通过算法的不断优化,研究怎么找点、怎么找得更准确、怎么找得更快。目前就精确率而言,单独采集特征点的时候,一般情况下误差大概在4%~5%这样一个较低的水平。但是在整合全局信息之后,误差还可以被控制在更小的范围。
人脸特征定位的应用前景
看到这里,也许有读者朋友很快想到了美颜相机。没错,既然这项技术能够轻松制作出像史莱克、阿凡达这样的虚拟人物,那么对摄像头输出的人脸影像来一个实时“美颜视频”,当然更是不在话下。实际操作也证明,不管是美白、磨皮、大眼还是瘦脸,通过这项技术都可以轻而易举地实现。不过这也让笔者产生了一点小小的担忧:如今大家都说照片信不过,以后岂不是连视频也信不过了?
除了拍特效电影和美颜等娱乐应用,人脸特征定位当然还有更加广阔的用武之地。譬如在虚拟现实的游戏中用自己的表情塑造虚拟人物,在安防监控中大显身手,建立人脸数据库从而大大提高机场、海关的工作效率,甚至可以应用在医疗图像的组织切片定位等等。