其他分享
首页 > 其他分享> > 【图像配准】基于粒子群改进surf实现图像配准matlab代码

【图像配准】基于粒子群改进surf实现图像配准matlab代码

作者:互联网

1 简介

图像匹配通常指对两幅图像中同一景物或物体相对位移过程的分析,是计算机视觉和 模 式识别 的 重 要 内 容 之 一,在 全 景 图 合 成、机 器 人 视觉、目标跟踪与识别、物体 3D 重建等领域具有广泛应用.目前 图 像 匹 配 的 主 要 方 法 有 基 于 灰 度值的图像匹配、基于特征的图像匹配和基于解释的 图 像 匹 配.基 于 灰 度 值 的 图 像 匹 配,像 素 点多,计算量大.基于解释的图像匹配算法需要以专家系统为基础,应用较少.基于特征的图像匹配算法,如 SUFT 算 法、Harris 算 法、SIFT 算 法等,与第一种方法相比,其特征 点 数 量 骤 减,提高了计算速度.而且 Mikolajczyk通过实验对几种特征性能进行比较,证明在图像光照变换、尺度不变性、放射变换等多种性能下,SIFT 特征描述子具有鲁棒性.在 SIFT 特征点匹配中,常用的搜索算法有 K-D树和遍历搜索方法,K-D 树可以提高算法精度,但当数据较多、维数较大时,检索过程易出现“回溯”现象,导致匹配效率降低.传统的遍历方法,需要计算所有待匹配点之间的距离,计算成本较高.本文以SIFT 特征描述子为基 础,在 图 像 匹配 的 搜 索 策 略 上 进 行 改 进.由 于 群 体 智 能 算 法PSO 具有较高的收敛精度和收敛速度,以及突出的全局寻优能力,故将其用在搜索策略优化上,以减少时间消耗.以一幅图像为模板,对其中每一个特征点在目标图像中寻找一个使适应度最小的全局最优解,通过仿真实验证明,当迭代次数达到一定时,匹配正确率趋于稳定,通过设定阈值范围,剔除不符合要求的匹配对,使得匹配错误率降低.

2 部分代码

% 粒子群改进surf
% Load images
clc
clear all
close all
tic
I1=imread('TestImages/30.jpg');
I2=imread('TestImages/90.jpg');

%% 初始化种群
N = 2;                         % 初始种群个数
d = 1;                          % 空间维数
ger = 50;                      % 最大迭代次数
limit = [0, 0.001;];                % 设置位置参数限制(矩阵的形式可以多维)
vlimit = [-0.0005, 0.0005;];               % 设置速度限制
c_1 = 0.8;                        % 惯性权重
c_2 = 0.5;                       % 自我学习因子
t(i,2);


figure(1)
plot(record)
xlabel('迭代次数');
ylabel('适应度值')
title(['粒子群算法改进surf优化迭代曲线,运行时间t=',num2str(toc)])
[fym,err,Ipts1,Ipts2,cor1,cor2] = calfit(I1,I2,ym) ; % 最佳适应度
% Sort matches on vector distance
[err, ind]=sort(err);
   D1 = reshape([Ipts1.descriptor],64,[]); 
 D2 = reshape([Ipts2.descriptor],64,[]); 
cor1=cor1(ind);
cor2=cor2(ind);
A=zeros(64,30);
B=zeros(64,30);
A=D1(cor1);
B=D2(cor2);
% Show both images
I = zeros([size(I1,1) size(I1,2)*2 size(I1,3)]);
I(:,1:size(I1,2),:)=I1; I(:,size(I1,2)+1:size(I1,2)+size(I2,2),:)=I2;
figure(2), imshow(I/255); hold on;
% Show the best matches
for i=1:300
   c=rand(1,3);
   plot([Ipts1(cor1(i)).x Ipts2(cor2(i)).x+size(I1,2)],[Ipts1(cor1(i)).y Ipts2(cor2(i)).y],'-','Color',c)
   plot([Ipts1(cor1(i)).x Ipts2(cor2(i)).x+size(I1,2)],[Ipts1(cor1(i)).y Ipts2(cor2(i)).y],'o','Color',c)
end
title('粒子群改进surf图像匹配结果')

3 仿真结果

4 参考文献

[1]李莹. "改进SIFT特征粒子群优化的机器人视觉图像配准模型研究." 陕西工业职业技术学院学报 4(2015):6-9.

标签:surf,配准,I1,Ipts1,cor1,cor2,图像,图像匹配,size
来源: https://blog.csdn.net/m0_60703264/article/details/121189626