ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:92.09KB ,
资源ID:3528390      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3528390.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于PSO算法的图像匹配技术精品文档完整版.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于PSO算法的图像匹配技术精品文档完整版.docx

1、基于PSO算法的图像匹配技术精品文档完整版东 北 大 学研 究 生 考 试 试 卷考试科目: 人工神经网络的模型与算法 课程编号: 阅 卷 人: 考试日期: 姓 名: 学 号: 注 意 事 项1考 前 研 究 生 将 上 述 项 目 填 写 清 楚2字 迹 要 清 楚,保 持 卷 面 清 洁3交 卷 时 请 将 本 试 卷 和 题 签 一 起 上 交东北大学研究生院基于PSO算法的图像匹配技术摘 要:图像匹配问题是图像处理中的一个经典问题,在计算机视觉、模式识别和医学图像处理等方面有着广泛的应用。本文主要介绍了在基于灰度图像匹配算法基础上,以匹配相似性度量函数为判断标准,结合智能算法中的粒子群

2、算法来实现图像准确而快速的匹配。关键词:图像匹配;相似性度量;粒子群算法;离散空间1 引言数字图像配准是指将从同一场景拍摄的具有重叠区域的图像通过特征匹配方法,找出图像之间的对应关系。目前,图像配准技术广泛应用于医学、生物、信息处理和其它领域,它已成为图像处理应用中不可或缺的技术。图像匹配问题主要有两种对应的问题模型:一是两幅(或者多幅)来自不同传感器、不同视角或不同时间的图像需找出对应关系,经过匹配步骤可得出两幅图像的差别所在,为下一步处理作基础;二是根据已知的图像模式在另一幅图像中搜索类似模板的目标。图像匹配技术是数字图像处理领域的一项重要研究,已在计算机视觉、虚拟现实场景、航空航天遥感测

3、量、医学影像分析、光学和雷达跟踪等领域有着重要的应用价值。大体图像匹配的应用领域概括起来主要有以下几个方面:1.计算机视觉和模式识别。包括图像分割、物体识别、形状重建、运动跟踪和特征识别。2.医学图像分析。包括医学成像信息诊断,生物医学信号处理等。3.遥感信息处理。包括特定目标的定位和识别等。随着科学技术的发展,图像匹配技术在近代信息处理领域中的应用范围越来越广泛,而图像数据量庞大这一显著特点,严重制约了图像匹配技术的实时应用。图像匹配的准确性和实时性是现今在具体应用上存在的一对矛盾体,如何在保持匹配准确性的同时,提高其匹配速度是现阶段急需解决的问题,也是目前对匹配算法的研究重点。在序列目标图

4、像分析、跟踪、识别,工业实时检测等实际应用中,一般是根据已知的图像模式,然后在另一幅图像中搜索类似模板的目标。2 图像匹配说明2.1图像匹配流程图像匹配是一个多步骤过程,总的来说,大概可分为图像输入、图像预处理、匹配有用信息提取、图像匹配、输出结果等。由于所采用的方法各异,不同的匹配算法之间步骤也会有很大不同,但它们的大致过程是相同的。图像匹配流程图如图2.1所示:图2.1 图像匹配流程图2.2 基于灰度的图像匹配算法国内外现阶段对图像匹配研究主要是以提高匹配的精度和速度为主,同时对匹配方法的通用性及鲁棒性也有一定要求。图像匹配方法大致可分为两类:第一类是基于灰度的图像匹配算法;第二类是基于特

5、征的图像匹配算法。本文主要讲述第一类基于灰度的图像匹配算法。这类方法直接利用图像的灰度信息进行匹配,通过象素对之间某种相似性度量(如相关函数、协方差函数、差平方和、差绝对值和等)的全局最优化实现匹配,不需进行图像分割和图像特征提取,因而可以避免由这些预处理所造成的精度损失。这类匹配方法需要解决的问题是:匹配速度比较慢,对灰度信息变化、光照变化、噪声非常敏感,没有充分利用灰度统计特性,对每一点的灰度信息依赖较大,不适应于匹配对象存在旋转和缩放情况下的匹配问题。本节这里主要利用了基于灰度的图像匹配算法中较为简单的MAD算法,并结合智能算法中的粒子群算法的寻优优势,从而实现了较为快速而准确的图像匹配

6、。MAD算法即平均绝对差算法,是Leese最早提出来的一种匹配算法。原理如图2.2所示:图2.2 平均绝对差算法原理图基于灰度的MAD算法匹配方法函数公式可定义为:其中d(x,y)为相似性度量函数在偏移量为(x,y)时的匹配度量值。由公式可以看出,当d(x,y)取值最小时认为(x,y)是最佳匹配位置。3 算法图像匹配3.1 算法简介粒子群优化算法(PSO)是一种进化计算技术,1995年由Eberhart博士和kennedy博士提出,源于对鸟群捕食的行为研究。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对

7、信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。PSO算法从这种模型中得到启示并用于解决优化问题。PSO算法中,每个粒子表示空间中的一个解。所有的粒子都有一个由适应度函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。PSO算法初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pbest。另一个极值是整个种群目前找到的最优解,这个极值是全局极值gbest。粒子群算法

8、的速度和位置迭代公式为:其中:,为每个粒子的速度和位置。pbesti,gbest如前所述。rand()表示(0,1)之间的均匀随机数据。,为学习因子,w称为惯性权值,和为正常数,称为学习因子,它们的具体含义为:1.惯性权值w保持粒子原有飞行速度的系数,控制粒子飞行速度变化,通过w调节PSO算法的全局与局部寻优能力。当w取值较大时,粒子飞行速度变化幅度较大,全局寻优能力强,局部寻优能力弱;反之当w取值较小时局部寻优能力强,全局寻优能力弱。选择一个合适的w可以平衡全局和局部搜索能力,这样可以以最少的迭代次数找到最优解,这是因为开始较大的惯性权重可以遍历比较大的范围,后来小的权重有较好的局部搜索能力

9、。2.学习因子和代表了粒子向自身历史最优值和全局最优值推进的随机学习权值,的大小标志着粒子的认知能力。当=0,粒子没有认知能力,只受“社会知识”影响,在粒子间相互影响下,有能力达到新的搜索空间,收敛速度比标准算法快,但碰到复杂问题比标准算法更容易陷入局部极值。的大小标志着粒子的社会信息交换共享能力,当=0时,没有社会信息共享,只有“自身认知”的能力。由于粒子之间没有信息交互,等价于众多单个粒子的飞行,因而得到最优解的概率很小。如果=0,说明粒子以当前速度飞行,直到边界。为了确定和对算法性能的影响,Kennedy对以下4种模型做了大量的计算:(1)认知模型,=0;(2)社会模型,=0;(3)完全

10、模型,=;(4)无私模型,也是一种社会模型,唯一不同的是,无私模型中每一个粒子获取自身历史最优值时只考虑其他粒子的信息而不包括自己。认知模型只考虑粒子自身的信息,而没有与社会信息的交流和共享,Kennedy计算后发现该模型收敛速度比较慢;社会模型只考虑社会因素,倾向于向社会学习,收敛速度比较快,但容易早熟。同时,为了平衡群体因素和个体因素的影响,普遍认为和取值为2效果较好,不过在文献中也有其它的取值,但是一般=并且范围在0和4之间。3.2 算法图像匹配流程本文主要是用PSO算法实现快速图像匹配,主要是用基于灰度的MAD算法匹配方法函数作为适应度函数的判断标准,在数字图像二维离散空间快速寻优,找

11、到适应度函数具有最优值所对应的位置,此位置就是匹配的结果,从而实现图像匹配。由于PSO算法的智能性和快速收敛性,所以参数设置合理,就可以实现快速而准确的图像匹配。匹配程序的流程图如图3.1所示。图3.1 PSO算法图像匹配的程序流程图3.3 算法的参数设置参数设置及粒子寻优过程设计说明:若基准图的大小为M行N列,实时图的大小为S行J列,则粒子一维方向的位置范围为1,M-S+1,二维方向的位置范围为1,N-J+1。粒子位置和速度的多样化适于粒子在全局搜索解,尽可能地发挥算法的搜索能力,否则很可能漏掉最优解,而使算法找到次优解。所以粒子群的初始化位置为1:M-S+1,1:N-J+1范围内的均匀分布

12、的随机数据。当粒子超出最大位置时,将粒子所在维度设置为最大位置。粒子最大速度的选择通常凭经验给定,一般设置为粒子范围宽度的10%-20%,根据实际情况和多次试验的结果,所以粒子两个维度的最大速度均设置为10。所以粒子群的初始化位置为-10:10,-10:10的均匀分布的随机数据。学习因子和均设置为2。大的惯性因子w可以使算法不易陷入局部最优,到算法后期,小的惯性因子可以使收敛速度加快,使收敛更加平稳,时变权重可以在某一个范围内变化,一般在迭代过程中按照某种规律递减。在本文中,粒子惯性权重w最大值为1,最小值为0.4,迭代过程中粒子权重随着迭代次数线性递减。4 实验结果及展望4.1实验结果图像匹

13、配结果如下:输入的基准图像和实时图像为:图4.1 输入的基准图像图4.2 输入的实时图像程序运行输出的结果为:图4.3 输出的PSO寻优匹配结果本文对该算法的匹配率进行了试验:共进行了30次试验,成功匹配29次,匹配成功率96.67%,达到了较好的匹配准确率。本文也对本算法和全遍历法在模板匹配次数和时间效率上进行了试验测试。结果如表1所示。表1 本算法和全遍历算法比较算法全遍历法PSO算法运行时间0.62s0.51s模板匹配次数121*121=1464160*120=7200实验中发现群体数目不易过大或过小。过大,PSO 算法的优化性能得不到体现;过小,有可能会出现所求得的最优解的精度达不到要

14、求。迭代次数亦是如此,次数过多会加大运算量,降低算法的效率,过少,可能会导致最终解的精度不够。在上述实验图像和环境下,经过多次实验后,发现群体数在60左右,迭代次数在120次左右时,能得到较满意的结果。理论上讲,图像匹配问题按上述实验图像的情况,其计算量为(M-S+1)(N-J+1)=14641次模板匹配计算,而PSO算法则只需要(群体数目迭代次数)次模板匹配计算,在实验中群体数为60,迭代次数为120,所以模板匹配计算的次数为7200次。同时时间效率上也要优于全遍历法,而且这种优势在需要遍历位置更多时,会表现得更加明显。4.2 展望为更加减少计算量,提高算法的效率,本算法有如下改进方向。1.

15、进一步优化参数,在保证匹配率的前提下,降低粒子数和迭代次数。2.优化PSO算法,例如引入收缩因子,并将速度的限制放宽、将学习因子、采取自适应时变调整策略。3.粒子群算法与其它智能算法的融合。在基本PSO算法中加入禁忌(Tabu)算法,将基本PSO和遗传算法相结合,进一步提出杂交PSO。5参考文献1纪震,廖惠连,吴青华.粒子群算法及应用M,科学出版社,2009.012江铭炎,袁东风.人工鱼群算法及其应用M,科学出版社,2012.013刘锦峰.图像模板匹配快速算法研究D.中南大学.硕士学位论文.2007.054 何志明.群体智能算法在图像匹配中的应用D.陕西师范大学.硕士学位论文.2010.055

16、 李小林.混合粒子群优化算法及其在图像匹配中的应用研究D。西安电子科技大学.硕士学位论文.2010.66 鹿艳晶,马 苗.基于灰色粒子群优化的快速图像匹配算法J.计算机工程与应用.2009.45(10).7 王维真,熊义军,魏开平,何文雅.基于粒子群算法的灰度相关图像匹配技术.2010.46.(12).附录在此附上pso算法的源码,遍历法以及截取实时图像的源码详见程序文件夹。%-本程序目的是用pso算法来对图像进行匹配-tic%-界面变量清理-close allclearclc%-读取图片信息-f=imread(lena_basic.jpg);row1,colu1=size(f);t=imre

17、ad(lena_time.jpg);row2,colu2=size(t);%-参数设置-w_max=1; % 惯性权重最大值w_min=0.4; % 惯性权重最小值p_num=60; % 粒子规模数量p_dim=2; % 粒子维数c1=2;c2=2; % 学习因子v_max=10; % 速度上限v_min=-10;% 速度下限p_iter=120; % 迭代最大次数次数设定p_position_min=1;p_position_max=row1-row2+1;%-初始化,位置和速度-p_position=zeros(p_num,p_dim); % 先设定一个空的矩阵,来放置粒子当前位置信息,注

18、意行和列的设定p_speed=zeros(p_num,p_dim); % 先设定一个空的矩阵,来放置粒子当前速度信息,注意行和列的设定for k_ini=1:p_num % 范围最大值为粒子的个数 p_position(k_ini,:)=round(p_position_min+. (p_position_max-p_position_min)*rand(1,p_dim); % 初始化位置,位于p_position_min到p_position_max之间的随机均匀分布的数据 p_speed(k_ini,:)=round(-10+20*rand(1,p_dim); % 初始化速度,位于-10到

19、10之间的随机均匀分布的数据end%-计算初始化粒子的最优值数据-p_local_position=p_position; % 初始化后,各个粒子当前初始化的位置为各自记忆最优位置% p_local_position中为各个粒子的历史记忆最优位置p_local_value=zeros(1,p_num); % 各个粒子的记忆最优位置的最优值for k1=1:p_num % 寻找初始化后,当前全局最优粒子(本例是求最大值) % p_local_value(k1)=compute_fit(p_position(k1,:),p_dim); % 计算各个粒子当前的适应度函数值 temp=p_positi

20、on(k1,:); f_temp1=f(temp(1):temp(1)+row2-1,temp(2):temp(2)+colu2-1); f_temp2=abs(f_temp1-t); p_local_value(k1)=sum(sum(f_temp2)/(row2*colu2);% p_local_value(k1)计算各个粒子当前的适应度函数值 % p_local_value为保存各个粒子适应度函数数据endp_global_value=p_local_value(1); % 先假定第一个粒子拥有当前初始化全局最优值p_global_position=p_position(1,:); %

21、即假定第一个粒子为当前初始化全局最优粒子位置for k2=1:p_num % 寻找初始化后,当前全局最优粒子 if p_global_value=p_local_value(k2) %*判断条件* p_global_value=p_local_value(k2); % 更新全局最优值信息 p_global_position=p_position(k2,:); % 更新全局最优粒子位置信息 endend%-中心主程序-%-更新粒子位置和速度,通过判断条件,找出全局最优值-% while expression% statements% endflag_stop=0; % 迭代结束的标志k_iter

22、=0; % 迭代的次数初始化while flag_stop=0 % 判断迭代标志,是否循环 %-更新速度和位置信息- w=w_max-0.6*k_iter/p_iter; % 更新惯性权重值 % tic for kd=1:p_dim for kn=1:p_num p_speed(kn,kd)=round(w.*p_speed(kn,kd)+. % 粒子自身速度 (c1*rand(1).*(p_local_position(kn,kd)-p_position(kn,kd)+. % 粒子的自身学习 (c2*rand(1).*(p_global_position(kd)-p_position(kn,

23、kd); % 粒子的社会全局学习 if p_speed(kn,kd)v_max % 最大速度制约 p_speed(kn,kd)=v_max; end if p_speed(kn,kd)v_min % 最大速度制约 p_speed(kn,kd)=v_min; end p_position(kn,kd)=round(p_position(kn,kd)+p_speed(kn,kd); % 更新粒子的位置 if p_position(kn,kd)p_position_max % 最大位置制约 p_position(kn,kd)=p_position_max; end end end %-适应函数值的比

24、较,来记录记忆个体最优,和找到全局最优- %-来记录记忆个体最优- % tic for kn=1:p_num temp=p_position(kn,:); f_temp1=f(temp(1):temp(1)+row2-1,temp(2):temp(2)+colu2-1); f_temp2=abs(f_temp1-t); p_fit_new(kn)=sum(sum(f_temp2)/(row2*colu2); % p_fit_new(kn)计算当前位置的适应度函数值 if p_fit_new(kn)=p_local_value(kn) p_global_value=p_local_value(k

25、n); % 更新全局最优值信息 p_global_position=p_position(kn,:); % 更新全局最优粒子位置信息 end end % t3=toc %-是否改变迭代标志的判断- if k_iter=p_iter % 判断迭代次数是否达到要求 flag_stop=1; end k_iter=k_iter+1; %更新迭代次数数据信息end%-输出最优值的信息-disp(*)disp(函数的全局最优位置坐标为:)p_global_positionimshow(f),title(原始基准图像);figure,imshow(t),title(实时图像);figure,imshow(f),title(PSO寻找匹配结果)hold onrectangle(Position,p_global_position(1),p_global_position(2),row2,colu2,edgecolor,w,LineWidth,2)hold offtoc % 显示程序总用时间disp(*)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1