【发布时间】:2013-10-19 19:20:06
【问题描述】:
我需要解决的问题是将较小的图像集“匹配”到较大的图像。不仅如此,我还想对它们的相似度进行排名。
我的第一个想法是使用 sift 功能,发现 vl_sift 功能做得非常好。在同一个库中,我能够使用 vl_ubcmatch 来获取两个图像之间的匹配关键点。我现在的问题是获得一个标准来对图像之间的相似性进行排名,以及一个将这些方法应用于整个数据库的好策略。
你能帮帮我吗?
注意 1:我将应用此功能的图像是从车辆的内置摄像头拍摄的,该车辆在城镇周围进行了一些旅行,并以 1 图像/秒的帧速率获取图像。 我想使用的“相似性”的定义是将高度相似性归因于相同位置的图像。如果我将城镇周围的一些已知位置定义为 A、B、C 和 D,我想用这个算法实现的是在所拍摄的整组照片中找出哪些图像来自这些位置 A、B、C 和 D .
注意2:我正在使用matlab。
【问题讨论】:
-
您可以查看deep belief networks。他们在将数据缩减为主要特征方面做得很好,这样高维数据就可以用少数几个维度来描述。
-
你能上传一些示例图片吗?
-
这主要取决于您如何定义要捕获的相似性。您要比较哪些功能 - 颜色、对比度、平滑度...?
-
这些图像,正如我所说的,是从车辆内的摄像头拍摄的,在城镇周围进行一些旅行,所以它们是整个城镇不同地点的照片。相似的图像将是相同位置的图像(即使视角略有不同)。让我们假设汽车两次经过镇上一个著名的雕像,我希望那些在雕像周围拍摄的照片具有归因于它们的“高度相似性”。我不知道我是否正确地解释了自己,所以如果您需要更多信息以便更好地理解它,请说出来;)
-
您可以尝试匹配图像之间的关键点,并尝试解决图像之间的单应性(或仿射变换)。相似性可以是对应的关键点的百分比,或者您是否设法使匹配在单应性/仿射变换上达成一致。请告诉我这对您是否有意义或您对此想法有任何疑问。
标签: matlab comparison computer-vision sift image-comparison