资源简介
基于局部视觉特征聚合的图像检索,用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光流法
相关资源
- 基于纹理的图像检索源代码
- BoW|Pyramid BoW+SVM进行图像分类
- opencv2.4.9源码分析——SIFT
- siftDemoV4.zip
- 基于内容图像检索技术 - 周明全、耿
- 基于哈希方法的人脸图像检索技术综
- 角点检测与匹配
- opencv实现的sift算法源码,包含了图像
- SIFT特征提取+匹配
- 基于SIFT算法的图像拼接.rar
- 基于深度学习的图像检索系统CNN
- 基于SIFT特征描述子的立体匹配算法
- 论文研究-改进的基于SIFT和RANSAC的图像
- opencv实现PCASift算法
- SIFT算法详解及应用(讲的非常好很详
- 基于WebCam的人脸检测技术的设计与实
- Hausdorff距离匹配代码
- 综合颜色和纹理的图像检索
- 图像检索图片库
- 基于LBP的图像检索
- CNN实现的图像检索
- 基于深度学习的图像语义提取与图像
- SIFT+RANSAC
- SIFT算法源代码
- OpenCV 现实高斯金字塔的源码,非常经
- 高清超详细SIFT源代码分析
- sift源码实现附有详细注释及其核心论
- SIFT SURF算法的比较
- 基于颜色、纹理特征的图像检索系统
- 基于多特征融合的图片搜索系统的实
评论
共有 条评论