资源简介
基于局部视觉特征聚合的图像检索,用VLAD方法降低图像特征向量维数。
代码片段和文件信息
clear;
close all;
clc;
% 加载用于训练的sift描述子向量
load siftTrain.mat;
opts = statset(‘MaxIter‘300);
% 对每一段进行k-means聚类,k=16
[IdxC] = kmeans(siftDescriptorTrain‘16‘Options‘opts);
C = C‘;
% 加载每帧图像的sift特征
siftDim = 128;
allFiles = dir(‘test images‘);
SiftFeat = cell(201);
paraFeat = cell(201);
featNum = zeros(201);
fndex = cell(201);
nc = 0;
for i = 3 : length(allFiles)
fileName = allFiles(i).name;
if strcmp(fileName(end-5 : end) ‘.dsift‘) == 1
nc = nc + 1;
fndex{nc} = fileName;
featPath = [‘./test images/‘ fileName];
fid = fopen(featPath ‘rb‘);
featNum(nc) = fread(fid 1 ‘int32‘);
SiftFeat{nc} = zeros(siftDim featNum(nc));
paraFeat{nc} = zeros(4 featNum(nc));
for j = 1 : featNum(nc)
SiftFeat{nc}(: j) = fread(fid siftDim ‘uchar‘);
paraFeat{nc}(: j) = fread(fid 4 ‘float32‘);
end
fclose(fid);
end
end
v1 = cell(201);
vlad = zeros(20 128*16);
for i = 1 : 20
minposition = zeros(1featNum(i));
% 判断待匹配图像的每一个特征点各属于哪一类(基于上述相应的codebook进行量化)
for j =1 : featNum(i)
tmpFeat = repmat(SiftFeat{i}(:j)116);
d1 = sum((tmpFeat - C).^2); % distance
minposition(j) = find(d1==min(d1));
end
v1{i} = zeros(12816);
for j =1 : featNum(i)
v1{i}(:minposition(j)) = v1{i}(:minposition(j)) + SiftFeat{i}(:j) - C(:minposition(j));
end
vlad(i:) = reshape(v1{i}1128*16);
end
% 将每幅图像作为查询图像,计算与其余19幅图像的距离
dist = zeros(2020);
for i = 1 : 20
for j = i+1 : 20
dist(ij) = sum((vlad(i:)-vlad(j:)).^2);
dist(ji) = dist(ij);
end
end
v = zeros(2020);
ind = zeros(2020);
% 距离从小到大排序
[v(1 : 20:) ind(1 : 20:)] = sort(dist(1 : 20:) 2);
% 取前4个
ind = ind(:2:5);
index = zeros(201);
for i = 1 : 20
fndex{i} = fndex{i}(end-14 : end-10);
index(i) = str2double(fndex{i});
end
% 统计排在前4的图像中的相关图像的数目
count = zeros(201);
for i = 1 : 20
tmp = floor(index(i)/4);
for j = 1 : 4
if floor(index(ind(ij))/4) == tmp
count(i) = count(i) + 1;
end
end
end
% 算平均值
mean(count)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-15 15:42 test images\
文件 243673 2013-12-05 23:17 test images\ukbench00000.jpg
文件 696244 2014-03-16 05:45 test images\ukbench00000.jpg.dsift
文件 246526 2013-12-05 23:17 test images\ukbench00001.jpg
文件 545332 2014-03-16 05:45 test images\ukbench00001.jpg.dsift
文件 218653 2013-12-05 23:17 test images\ukbench00002.jpg
文件 741028 2014-03-16 05:45 test images\ukbench00002.jpg.dsift
文件 269422 2013-12-05 23:17 test images\ukbench00003.jpg
文件 674068 2014-03-16 05:46 test images\ukbench00003.jpg.dsift
文件 152703 2013-12-05 23:17 test images\ukbench00012.jpg
文件 154228 2014-03-16 05:46 test images\ukbench00012.jpg.dsift
文件 155830 2013-12-05 23:17 test images\ukbench00013.jpg
文件 154948 2014-03-16 05:46 test images\ukbench00013.jpg.dsift
文件 175983 2013-12-05 23:17 test images\ukbench00014.jpg
文件 103828 2014-03-16 05:46 test images\ukbench00014.jpg.dsift
文件 168753 2013-12-05 23:17 test images\ukbench00015.jpg
文件 107284 2014-03-16 05:46 test images\ukbench00015.jpg.dsift
文件 153642 2006-10-05 01:11 test images\ukbench00052.jpg
文件 140404 2014-03-16 05:47 test images\ukbench00052.jpg.dsift
文件 160703 2006-10-05 01:11 test images\ukbench00053.jpg
文件 149332 2014-03-16 05:47 test images\ukbench00053.jpg.dsift
文件 144807 2006-10-05 01:11 test images\ukbench00054.jpg
文件 153508 2014-03-16 05:47 test images\ukbench00054.jpg.dsift
文件 151801 2006-10-05 01:11 test images\ukbench00055.jpg
文件 139252 2014-03-16 05:47 test images\ukbench00055.jpg.dsift
文件 172114 2006-10-05 01:11 test images\ukbench00080.jpg
文件 114628 2014-03-16 05:48 test images\ukbench00080.jpg.dsift
文件 181878 2006-10-05 01:11 test images\ukbench00081.jpg
文件 135940 2014-03-16 05:48 test images\ukbench00081.jpg.dsift
文件 154145 2006-10-05 01:11 test images\ukbench00082.jpg
文件 162436 2014-03-16 05:48 test images\ukbench00082.jpg.dsift
............此处省略13个文件信息
- 上一篇:Broadcom SDK
- 下一篇:Horn-Schunck光流法
相关资源
- 利用OpenCV(2.4.13)的SURF/SIFT + RANSAC
- 双目测距-opencv
- 3D sift 匹配
- sift算法VC实现需要OPENCV
- 基于颜色特征的图像检索
- 提取SIFT并用RANSAC剔去错匹配byRobHess
- 基于颜色特征的图像检索系统
- VLAD经典论文
- 统计学习理论的本质中文 Vladimir N.V
- SIFT经典文献.zip
- 拼接算法SIFT.rar
-
ImageRegistrationba
sedonSIFT.rar - sift算法详解及应用(特别详细版)
- Opencv下利用SIFT、SURF、ORB三种特征点实
- SIFT算法实现图像自动配准
- openc基于SIFT和Surf特征的目标跟踪
- 基于SIFT算法的图像特征提取系统的研
- SIFT算法详解及应用(讲的很详细)
- surf算法详解
- 基于opencv的图像检索系统
- sift.rar
- sift DemoV4
- SIFT提出者David Lowe1999-2004发表的4篇文
- Distinctive Image Features from Scale-Invarian
- SIFT\\PCA-SIFT\\SURF论文源代码
- SIFT、SURF、ORB的区别与联系
- Blind Copy-Paste Detection Using SIFT Ring Des
- protobuf-cpp-3.1.0.tar.gz 配置文件
- 图像局部不变性特征与描述.pdf 王永明
- sift 几篇英文文献
评论
共有 条评论