我是Ian,希望大家这篇博文,请多多指教
第一部分内容:在已知两幅图像sift特征的情况下,如何把匹配点连线画出来。
代码如下:
for i=1:featNum_1
for j=1:featNum_2
m=(SiftFeat_1(:,i)-SiftFeat_2(:,j)).^2;
d(i,j)=sqrt(sum(m(:)));
end
[V,I] = sort(d(i,:));
if V(2)/V(1)>1.25
figure(1);
hold on;
xp=[paraFeat_1(1,i),paraFeat_2(1,I(1))];
yp=[paraFeat_1(2,i),paraFeat_2(2,I(1))];
plot(xp,yp,'g');
end
end
代码大致做的事情是:在最外层循环是第一幅图片的sift特征,内循环是第二幅图片sift特征,通过比较排序,判断是否满足
Distance
ratiocriterion
,满足则认定是匹配点,连线
。
第二部分内容:通过VLAD方式聚合sift特征,进行后续查询,map,precision的求解。
以下是别人关于VLAD的介绍
自己理解:先根据图像找出k个码本(通过kmeans找出k个聚类中心),然后进行公式,公式的含义就是给出一幅图像,对于第k类:把所有与第k类相近的sift特征与此时的聚类中心求差,然后把这些差矢量求