标签:
微软亚洲研究院天空搜索siggraph研究成果论文视觉计算it |
分类: 技术 |
不久前,我参加了在美国新奥尔良市举行的SIGGRAPH2009——第36届国际计算机图形学大会。在这样的学术会议上做presentation是紧张和兴奋的。不过,在我看来,更紧张和兴奋的情景发生在大半年前,也就是我们准备SIGGRAPH论文的时候。
天空搜索的结果图
我现在还清楚地记得,今年1月21日早上6点刚过,天还是一片漆黑,我,我的指导老师孙剑,还有另外两名实习生,一起走到希格玛大厦后面的一家小店吃早餐。我们四个人都是既疲惫又轻松,因为我们刚刚完成了提交到SIGGRAPH2009的论文。在那一刻,论文能否被录用对于我来说已经没有那么重要了,因为我们已经根据我们论文中的方法实现了一个基于语义的天空图片搜索系统,我们已经做到了“Turning ideas into reality”。
天空之美
SIGGRAPH是图形学领域一个非常重要的会议,每年录用的论文数不多,今年录用了78篇,我们被录用的这篇SkyFinder论文主要做的是基于属性的天空图片搜索。简单的来说,我们的目的是让用户能够直观快速地得到各种想要的天空图片,比如说,找到一张有丰富云彩并且太阳位置在左下角的夕阳图片,或是一张完全没有云并且地平线很低的蓝天风景照。一旦我们能够简单快速地找到我们想要的天空图片,我们就很容易利用这些图片做各种其他的应用,比如天空替换等。
好的想法常常是副产品
其实,我们并不是从一开始就打算做天空图片搜索,这个想法是来源于另一个课题的结果。这样的过程也正好符合了我的指导老师孙剑说过的话,“当你在做一个课题的时候,只要你是在认真想问题和分析问题,你往往能在解决一个问题的过程中,发现另一个更有趣或者更重要的新问题。”
天空替换的结果图
我们一开始是在做含有天空的图片识别,也就是给定一张图片,判断这张图片里是否含有天空。我们之所以选择这样一个课题,是因为我们觉得基于目前的计算机视觉技术,对于一张任意的图片,识别出它所含有的所有物体(也就是一般图片的多类识别问题)是一件相当困难的事情。因此,我们决定从具体的物体类别出发,先力求把一类具体物体的识别做深入。把一类问题彻底而深入地解决掉,这样的思路也是我的导师沈向洋博士一直鼓励的。经过我们的观察,天空是一个很重要的类,天空是影响室外图片质量的重要因素,而且大面积的天空图片常被用做背景图片,同时含有天空的图片在因特网上所占的比例也相当的高,所以,我们决定先从做天空图片识别入手。
经过了我们一段时间的思考,讨论和实验,我们设计出一个天空识别的算法。对于一张给定的图片,我们的算法绝大多数情况下都能够准确地判断出是否含有天空。但是后来我们渐渐发现,在实际的应用中,人们经常是想得到一张特定的天空图片,比如用一张阳光明媚的天空来替换自己拍摄的照片中阴霾的天空,或者用一张柔和的夕阳图片作为背景,而单纯的判别一张给定的图片是否含有天空的算法并不能帮助用户做到这一点,我们的工作还没有成为真正“有用的研究”。
为了能让用户得到各种想要的天空,一种自然的思路是利用图形学的技术用计算机生成用户需要的天空。但是,目前的合成技术很难保证天空图片的真实感,特别是在光照方面,合成的质量不容易符合用户的要求,我们只能另想办法。早在我攻读博士的初期,我的导师沈向洋就提醒过我,要充分利用现在因特网上的海量数据,这些数据会为我们解决计算机视觉中的一些基本问题提供新的途径。顺着这样的思路,我们发现因特网上已经存在了大量各式各样的高质量天空图片。如果我们搜集了这些图片,构造出一个足够大的包含绝大多数用户想要的天空的图片库,再建立一个直观高效的搜索机制,用户就可以很容易得到各种想要的天空了。
基于这样的想法,我们从网上搜集了超过100万张天空图片,经过去重和过滤,构建了一个包含50万高质量大面积天空的天空图片库。我们相信,对于用户的绝大多数需要,这个图片库中都会存在符合要求的天空。我们剩下需要解决的就是一个天空图片搜索的问题了。
文本搜索+视觉属性=图片搜索
在这里,我们采用了跟文本搜索类似的方法。在文本搜索中,搜索引擎会从每一个文档中提取一些关键词,当用户输入了这些关键词时,搜索引擎就会返回含有这些关键词的文档。如果我们把一张图片看成一个文档,我们也希望能从这个“文档”中提取一些“关键词”,比如是蓝天还是夕阳,天空中云彩的丰富程度,图片中水平线的高低,有没有太阳,太阳的位置在哪等等。一旦我们事先为图片库中的每一张图片计算好了这些“关键词”,用户就可以通过组合这些“关键词”,快速地搜索到想要的图片了。我们把这里的“关键词”称为属性(attribute)。基于对图片库中图片的观察和对用户需要的考虑,我们定义了一个用来描述天空的属性集合。通常情况下,从一张图片中提取有语义的属性比从一个文档里提取关键词要难得多。这里,我们针对定义好的每一个属性,综合运用统计学习,模式识别以及计算机视觉的技术,设计了从图片中抽取这些属性的自动算法。有了这些天空属性,用户搜寻特定的天空就不再是一件难事了。
1+1>2
这个课题是由我和参与这个课题的另一位实习生——来自于香港科技大学的博士生袁路——在孙剑老师的指导下一起完成的。这并不是我第一次和别人合作,但却是我收获最大的一次合作。原因一方面是因为袁路本身的学术研究能力很强,有很多地方值得我学习,另一方面也是因为我和他的课题背景有比较大的差别,他比较偏向于计算机图形方面,而我比较偏向于机器学习方面,所以我们在讨论问题和解决问题的时候经常会有完全不同的思路,得想办法互相说服对方才能让课题继续。我当时觉得有点不适应,但后来觉得,正是因为我们综合运用了不同的思路和方法,才能把问题解决的更好。
准备SIGGRAPH的日子对于我来说是简单,充实而又令人怀念的,尤其是身边有一群有着同样passion的人和你一起奋斗。那段日子,我每天除了讨论,就是和那些美丽的天空图片打交道了。说起来,这也算是我做过的最美丽的项目了。
作者简介:
陶李天,现就读于北京航空航天大学计算机学院,同时在微软亚洲研究院做访问学生,是北京航空航天大学李未教授和微软亚洲研究院沈向洋博士共同指导的博士生。
相关媒体报道:
1.Finding the Right Piece of Sky, MIT
Technology Review
2.Microsoft Researchers Present Next-Gen Graphics and Software Tools at SIGGRAPH, Xconomy
3.Microsoft Research's SkyFinder Searches the Horizon by Keyword, TechFlash