【问题标题】:Matching algorithm for MSER features?MSER特征的匹配算法?
【发布时间】:2013-07-29 14:28:11
【问题描述】:

以下如何工作?

我正在寻找MSER 特征点,然后将它们与matchFeatures 函数配对。

% file1 = 'roofs1.jpg';
% file2 = 'roofs2.jpg';

file1 = 'cameraman.tif';


I1 = imread(file1);

%I2 = imread(file2);
I2 = imrotate(I1, 45);

% I1 = rgb2gray(I1);
% I2 = rgb2gray(I2);

% %Find the SURF features.
% points1 = detectSURFFeatures(I1);
% points2 = detectSURFFeatures(I2); 

points1 = detectMSERFeatures(I1);
points2 = detectMSERFeatures(I2); 

%Extract the features.
[f1, vpts1] = extractFeatures(I1, points1);
[f2, vpts2] = extractFeatures(I2, points2);

%Retrieve the locations of matched points. The SURF featurevectors are already normalized.
indexPairs = matchFeatures(f1, f2, 'Prenormalized', true) ;
matched_pts1 = vpts1(indexPairs(:, 1));
matched_pts2 = vpts2(indexPairs(:, 2));


figure; showMatchedFeatures(I1,I2,matched_pts1,matched_pts2,'montage');
legend('matched points 1','matched points 2');

貌似没问题

但是怎么可能呢? MSERRegions 仅包含省略号。他们如何配对?显然信息不够!

更新

我发现extractFeatures 函数从 MSER 点返回 SURF 特征向量。所以它比较了 64 维的 SURF 向量。

【问题讨论】:

    标签: matlab computer-vision feature-detection matlab-cvst mser


    【解决方案1】:

    在这种情况下,MSER 区域的质心仅用作提取 SURF 描述符的兴趣点。默认情况下,如果您将MSERRegions 传递给extractFeatures,您将获得 SURF 描述符。但是,MSER 区域可用于其他用途,例如检测图像中的文本。

    【讨论】:

    • 另外,对 MSER “关键点”使用 SURF 描述符没有任何意义。实际上,可以假设 SURF 所针对的描述性在这些点上非常糟糕,因为它们位于相当同质的区域。
    • 我不同意。 MSER 区域不一定是没有纹理的紧凑斑点。你可以有一个奇怪形状的 MSER 区域,比如一个字母或一个数字,如果你计算一个以它的中心为中心的 SURF 描述符,它可能会很独特。
    • 我猜“可能”是这里的关键词。我没有看到使用 MSER 位置进行点描述符提取的意义。
    • 不同意将 SURF 用作无法匹配的较低比例的局部描述符。我自己正在考虑使用 HOG 描述符(使用 MSER 的 bbox 或多边形作为输入)并与之匹配
    猜你喜欢
    • 1970-01-01
    • 2013-11-14
    • 2020-11-07
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 2016-01-26
    • 2019-08-08
    • 1970-01-01
    相关资源
    最近更新 更多