加载中…
正文 字体大小:

查“颜”观“色”

(2009-07-27 22:11:04)
标签:

微软亚洲研究院

最新成果

创新技术

查颜观色

图像搜索

媒体计算组

分类: 技术

作者:华先胜  王井东  多媒体计算组

查“颜”观“色” 

 “我想找身着紫色礼服的Brooke Hogan的照片。”

 “我想找以蓝色天空为背景的向日葵的图片。”

 “我想找Britney Spears走红地毯的照片。”

 “我想找一幅关于草的可以无缝嵌入我的PowerPoint的透明背景的照片。”

  ……

 

如果你在当前主流的搜索引擎试一试就会知道,对于上述类型的搜索需求,你可能需要很长时间的尝试才能如愿。当前主流的图像搜索引擎基本上都是基于环绕文字索引的,而上述搜索目标中的具体要求很难被这些环绕文字(包括人工书输入的标签,例如Flickr上的图片)描述和索引。但是如果你使用我们的最新研究成果“查颜观色——基于颜色的图像搜索”,实现这些目标就容易得多了。让我们通过一些例子来看看它是如何工作的。

 

下图是搜索“grass”的原始结果(图1)。如果我们想找图像上面有较多蓝天的grass图片,可以在“查颜观色”提供的颜色模板中,草草画一个蓝色的竖杠,代表上面的蓝天,以及一个绿色的横杠,代表下面的草地(图2右部),然后重新搜索(目前实际上是重新对已有搜索结果排序,不过也可以以重新搜索的方式实现),就得到一些符合要求的照片排到搜索结果的前面(图2)。当然,我们也可以要求蓝天少一点而草地多一点(图3),或者黄色的草。 

查“颜”观“色”

(图1)

查“颜”观“色”

(图2)

查“颜”观“色”

 (图3)

有时候我们在作幻灯片或者Poster的时候,想嵌入图片,但苦于图片背景无法无缝地与原有内容融合在一起。我们通常的做法是将图片背景设为透明,但对于背景复杂的图片,就难以实现。有了“查颜观色”,我们可以十分方便地要求搜索引擎返回背景单一的相关图片。还是以“grass”,为例,我们在模板的四周或四个角点上白色(或黑色或其他任意单色),再搜索,这样我们可以得到大量背景为白色的关于草的图片(图4)。

查“颜”观“色”

 (图4)

也可以用它来搜索黑白图片,或者线条图。例如,搜索黑白的“tiger”, 可以如常先搜“tiger”(图5),然后再模板上随意点一些白点和黑点,重新搜索后得到了很多黑白图(图6)。如果你希望黑白图的线条更细一些,不妨多点一些白点(表示更多背景是白色的),就可以如愿以偿(图7)。

查“颜”观“色”

 (图5)

查“颜”观“色”

(图6)

查“颜”观“色”

(图7)

捡图提“色”

如果不好选择颜色,你还可以以当前搜索结果中的例子作为参看,“点亮”你关心的颜色(与位置大致相关),也可以进行颜色搜索。例如,搜索“water lily”(图8),如果你对红色莲花感兴趣,就可以将第一副图拖到模板中,然后点亮红色的花朵部分(图9),重新搜索后得到很多红色的睡莲,而且可以看到许多不同背景的图片。图10显示的是有蓝色天空环绕的向日葵的搜索模板和结果。一个常用的技巧是可以先用手工颜色预搜,然后在结果中找到合适的例子(颜色和位置),然后点亮对应区域进行搜索。

查“颜”观“色”

图8

查“颜”观“色”

图9

查“颜”观“色”

图10

取“色”定位

这样,我们前面提到的穿紫色衣服的Brooke Hogan(图11原始结果),则可以用一个紫色色块放在图像中部作为估计的衣服的位置,得到不少穿紫色衣服的照片(图12)。当然,这种颜色分布的描述不总是准确或足够全面的,但一定可以帮我们过滤掉不相关的结果,从而加快我们找到目标的速度。当然也可以用例子,如图13是身着一种亮蓝色衣服的图片,图14是身着不同服装走红地毯的照片,只需要在模板最下方划一个红色的色块即可。如果结果不够好,可以在其中找一个接近的例子,然后点亮地毯区域即可。

查“颜”观“色”

图11

查“颜”观“色”

图12

查“颜”观“色”

图13

查“颜”观“色”

图14

绘“色”识旗

这项技术并不同于传统图像搜索中的基于骨架的搜索(Query By Sketch)。“查颜观色”是建立在文本搜索的基础上的,这保证了用颜色修正后的结果仍具有很强的相关性。更重要的是,这项技术中颜色模板和图片的匹配方法考虑了多种因素,包括用户意图、计算效率、颜色的模糊性和位置的模糊性等等。当然这项技术也可以不基于文本搜索,而直接通过颜色分布进行搜索。特别是,可以用这种方法搜索自己电脑上的照片,例如通过用颜色分布来描述记忆中的图片来找到想要的图片。可以说,凡是可以用颜色空间分布可以描述的图像,这项技术均能得到不错的搜索结果。使用的关键在于合理利用颜色的大致空间位置来描述你心中的图像。

 

最后再与大家分享一个有趣的例子:识别国旗。如果我们看到一种旗帜但不知道是何含义,我们可以到Bing上搜“flag”,然后在颜色模板上大致划出旗帜的颜色分布,重新搜索,就可以找到这种旗帜,访问对应网站就能知道到底是什么国家或组织的旗帜(图15原始结果,图16印度国旗)。当我们在微软技术节 (TechFest 2009)演示这项技术时,参观者试的最多的就是这一个搜索——各国的人都想试试能否找到自己国家的国旗。几乎每一次都成功了,只有一次例外,那是因为他将颜色划上下划反了。他尝试的很多次都不能得到正确结果,后来才意识到是划反了。更正后,他也得到了满意的结果。:)

查“颜”观“色”

图15

查“颜”观“色”

图16

 

 

 

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有