这些算法有开源版本吗?
我了解“SIFT”和其他用于查找“视觉上相似”照片的算法,但它们仅用于将一张照片直接与另一张照片进行比较.即,找到给定照片的相似照片是O(n)操作,以便找到所有视觉上相似的照片将是O(n ^ 2) – 两者都是非常缓慢的.
我需要一个由[关系]数据库可索引的特征描述符,以将结果集减少到更易于管理的内容.
通过“视觉上相似”我的意思非常相似.即,在Photoshop中轻轻地触摸/重新绘制的照片,稍微裁剪或调整大小的照片,以相同场景快速连续拍摄的照片,或翻转或旋转的图像.
解决方法
基本上你可以对目标图像进行离线计算.您可以从这些图像中提取一些功能,以便使用诸如k-means clustering之类的算法来创建码本.搜索最近的图像将导致在码本空间中使用像Nearest neighbor search这样的算法的应用.
对于邻居搜索,您可以使用FLANN
> http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN
> http://opencv.willowgarage.com/documentation/cpp/flann_fast_approximate_nearest_neighbor_search.html
再看一下:
Visual similarity search algorithm
这只是一种可能性,必须告诉真相,这个话题真的很有挑战性,而且它真的很大.
只是一些参考:
> http://www.cs.nott.ac.uk/~qiu/webpages/Papers/ColorPatternRecognition.pdf
> http://cs.brown.edu/~th/papers/Hofmann-UAI99.pdf
> http://www.ifp.illinois.edu/~jyang29/ScSPM.htm
> http://johnwinn.org/Publications/papers/Savarese_Winn_Criminisi_Correlatons_CVPR2006.pdf
> http://www-cvr.ai.uiuc.edu/ponce_grp/publication/paper/cvpr06b.pdf