我想将图片(与他的描述符)与数据库中的数千张图片进行比较,以便进行匹配。 (如果两张图片是相同的,也就是说同样的东西,但它可以旋转,有点模糊,有不同的比例等。)。
例如:
我在StackOverflaw上看到,为每张图片计算描述符并将它们一一比较是一个非常漫长的过程。 我做了一些研究,我看到我可以做一个基于Bag of Words的算法。
我还不确切知道它是如何运作的,但它似乎很好。但是在思考中,我可能会被误解,只是为了检测它不是什么样的物体?
我想知道,如果使用它可以是一个很好的解决方案,比较图片与成千上万的图片使用描述符,如冲浪的Sift?
如果是的话,你对我如何做到这一点有什么建议吗?
感谢,
答案 0 :(得分:1)
是的,有可能。你唯一需要注意的是计算要求,这可能有点压倒性。如果你可以缩小搜索范围,通常会有所帮助。
为了支持我的回答,我将从我们最近的一项工作中提取一些例子。我们的目标是使用SIFT + RANSAC匹配识别博物馆墙上的一幅画。我们有一个博物馆所有绘画的数据库和每个绘画的SIFT描述符。我们的目标是识别可以从不同视角(所有模板都是正面)或在不同光照条件下录制的视频中的痛苦。这个图像应该给你一个想法:在左边你可以看到模板和当前帧。第二个图像是SIFT匹配,第三个图像显示RANSAC之后的结果。
一旦您的图像与数据库中的每个SIFT描述符匹配,就可以计算重投影误差,即匹配点之间的比率(在RANSAC之后)和关键点的总数。这可以针对每个图像重复,并且具有最低重投影误差的图像可以被声明为匹配。
我们将它用于绘画,但我认为可以针对各种图像进行推广(您在问题中发布的Android徽标是我认为的公平示例)。
希望这有帮助!