目前主要的图片搜索方法还是基于关键词的搜索,搜索引擎根据图片的相关标识和说明,进行文字搜索,然后把结果表示成一个长长的图片列表。很显然当这个列表很 长的时候,我们基本不可能从头看到尾。而且,关键词常常并不是跟图片完全匹配,所以如果我们加更多的关键词,虽然可以减少图片数量,但是得到的图片可能并不是我们所需要的。

对于前面所介绍的PhotoMesa和Google Image Swirl, 它们提出的方法可以辅助我们有效的浏览搜索到的图片。如果我们细心的话,就会发现这两种方法,都包含对图片的分组处理:将类似的图片分到一起,这样就可以帮助用户快速的定位到自己想要查看的类型,而忽略其他不相关的类型。分组的依据主要是图片的属性,包括目录,标识,图形特征等等。这里我们简单介绍一下Google Image Swirl的分组方法。针对要分组的图片Google Image Swirl先比较两两图片之间的相似性,然后构造相似矩阵。两张图片的相似性的计算是基于图片的颜色,纹理,特征等等。然后根据相似性,采用自底向上的聚类分析(hierarchical clustering)的方法,构造一棵聚类树(cluster tree)。树的最底层就是一张张的图片,树中的上层节点的图片是下层图片的代表图;在树里面,越靠近的图片也就越相似。Image Swirl显示的放射状的图就是对聚类树的可视化,它可以方便用户自顶向下的细化搜索结果,从而最终找到自己想要的图片;在浏览树的过程中,用户也可以对整个图片集的概况有一定的了解。当然聚类方法通常都比较贵,所以Image Swirl现在最多只能支持1000张图片来构造一棵树,这样树的伸展层数也是有限的。有兴趣的同学可以看看他们的相关论文【1】,了解具体的技术细节。

【1】 Y. Jing, H. A. Rowley, C. Rosenberg, J. Wang, and M. Covell. Visualizing web images via google image swirl. In NIPS Workshop on Statistical Machine Learning for Visual Analytics,
2009

© 2010, 视物 | 致知. All rights reserved.

Related Posts: