TinEye、Google 和其他公司提供“反向图像搜索”——您可以上传照片,它会在几秒钟内找到相似的照片。
这些算法有开源版本吗?
我知道“SIFT”和其他用于查找“视觉上相似”照片的算法,但它们仅适用于将一张照片直接与另一张照片进行比较。即,查找与给定照片相似的照片是一个 O(n)
操作,查找所有视觉上相似的照片将是 O(n^2)
- 两者这是非常慢的。
我需要一个可由 [关系] 数据库索引的特征描述符,以将结果集缩减为更易于管理的内容。
“视觉上相似”是指非常相似。即,在 Photoshop 中经过轻微修饰/重新着色、略微裁剪或调整大小的照片、在同一场景中快速连续拍摄的照片,或者翻转或旋转的图像。
最佳答案
您可以考虑的有效方法是 Bag-of-Words model .
基本上,您可以对目标图像进行离线计算。您可以从这些图像中提取一堆特征,以便使用 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
关于database - 从数据库中查找视觉相似照片的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16660177/