基于PSO算法的圖像匹配技術_第1頁
基于PSO算法的圖像匹配技術_第2頁
基于PSO算法的圖像匹配技術_第3頁
基于PSO算法的圖像匹配技術_第4頁
基于PSO算法的圖像匹配技術_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

東北大學研究生考試試卷評分評分考試科目:人工神經網絡的模型與算法課程編號:閱卷人:考試日期:姓名:學號:注意事項1.考前研究生將上述項目填寫清楚2.字跡要清楚,保持卷面清潔3.交卷時請將本試卷和題簽一起上交東北大學研究生院

基于PSO算法的圖像匹配技術摘要:圖像匹配問題是圖像處理中的一個經典問題,在計算機視覺、模式識別和醫(yī)學圖像處理等方面有著廣泛的應用。本文主要介紹了在基于灰度圖像匹配算法基礎上,以匹配相似性度量函數(shù)為判斷標準,結合智能算法中的粒子群算法來實現(xiàn)圖像準確而快速的匹配。關鍵詞:圖像匹配;相似性度量;粒子群算法;離散空間1引言數(shù)字圖像配準是指將從同一場景拍攝的具有重疊區(qū)域的圖像通過特征匹配方法,找出圖像之間的對應關系。目前,圖像配準技術廣泛應用于醫(yī)學、生物、信息處理和其它領域,它已成為圖像處理應用中不可或缺的技術。圖像匹配問題主要有兩種對應的問題模型:一是兩幅(或者多幅)來自不同傳感器、不同視角或不同時間的圖像需找出對應關系,經過匹配步驟可得出兩幅圖像的差別所在,為下一步處理作基礎;二是根據(jù)已知的圖像模式在另一幅圖像中搜索類似模板的目標。圖像匹配技術是數(shù)字圖像處理領域的一項重要研究,已在計算機視覺、虛擬現(xiàn)實場景、航空航天遙感測量、醫(yī)學影像分析、光學和雷達跟蹤等領域有著重要的應用價值。大體圖像匹配的應用領域概括起來主要有以下幾個方面:1.計算機視覺和模式識別。包括圖像分割、物體識別、形狀重建、運動跟蹤和特征識別。2.醫(yī)學圖像分析。包括醫(yī)學成像信息診斷,生物醫(yī)學信號處理等。3.遙感信息處理。包括特定目標的定位和識別等。隨著科學技術的發(fā)展,圖像匹配技術在近代信息處理領域中的應用范圍越來越廣泛,而圖像數(shù)據(jù)量龐大這一顯著特點,嚴重制約了圖像匹配技術的實時應用。圖像匹配的準確性和實時性是現(xiàn)今在具體應用上存在的一對矛盾體,如何在保持匹配準確性的同時,提高其匹配速度是現(xiàn)階段急需解決的問題,也是目前對匹配算法的研究重點。在序列目標圖像分析、跟蹤、識別,工業(yè)實時檢測等實際應用中,一般是根據(jù)已知的圖像模式,然后在另一幅圖像中搜索類似模板的目標。2圖像匹配說明2.1圖像匹配流程圖像匹配是一個多步驟過程,總的來說,大概可分為圖像輸入、圖像預處理、匹配有用信息提取、圖像匹配、輸出結果等。由于所采用的方法各異,不同的匹配算法之間步驟也會有很大不同,但它們的大致過程是相同的。圖像匹配流程圖如圖2.1所示:圖3.1PSO算法圖像匹配的程序流程圖3.3PSO算法的參數(shù)設置參數(shù)設置及粒子尋優(yōu)過程設計說明:若基準圖的大小為M行N列,實時圖的大小為S行J列,則粒子一維方向的位置范圍為[1,M-S+1],二維方向的位置范圍為[1,N-J+1]。粒子位置和速度的多樣化適于粒子在全局搜索解,盡可能地發(fā)揮算法的搜索能力,否則很可能漏掉最優(yōu)解,而使算法找到次優(yōu)解。所以粒子群的初始化位置為[1:M-S+1,1:N-J+1]范圍內的均勻分布的隨機數(shù)據(jù)。當粒子超出最大位置時,將粒子所在維度設置為最大位置。粒子最大速度的選擇通常憑經驗給定,一般設置為粒子范圍寬度的10%-20%,根據(jù)實際情況和多次試驗的結果,所以粒子兩個維度的最大速度均設置為10。所以粒子群的初始化位置為[-10:10,-10:10]的均勻分布的隨機數(shù)據(jù)。學習因子和均設置為2。大的慣性因子w可以使算法不易陷入局部最優(yōu),到算法后期,小的慣性因子可以使收斂速度加快,使收斂更加平穩(wěn),時變權重可以在某一個范圍內變化,一般在迭代過程中按照某種規(guī)律遞減。在本文中,粒子慣性權重w最大值為1,最小值為0.4,迭代過程中粒子權重隨著迭代次數(shù)線性遞減。4實驗結果及展望4.1實驗結果圖像匹配結果如下:輸入的基準圖像和實時圖像為:圖4.1輸入的基準圖像圖4.2輸入的實時圖像程序運行輸出的結果為:圖4.3輸出的PSO尋優(yōu)匹配結果本文對該算法的匹配率進行了試驗:共進行了30次試驗,成功匹配29次,匹配成功率96.67%,達到了較好的匹配準確率。本文也對本算法和全遍歷法在模板匹配次數(shù)和時間效率上進行了試驗測試。結果如表1所示。表1本算法和全遍歷算法比較算法全遍歷法PSO算法運行時間0.62s0.51s模板匹配次數(shù)121*121=1464160*120=7200實驗中發(fā)現(xiàn)群體數(shù)目不易過大或過小。過大,PSO算法的優(yōu)化性能得不到體現(xiàn);過小,有可能會出現(xiàn)所求得的最優(yōu)解的精度達不到要求。迭代次數(shù)亦是如此,次數(shù)過多會加大運算量,降低算法的效率,過少,可能會導致最終解的精度不夠。在上述實驗圖像和環(huán)境下,經過多次實驗后,發(fā)現(xiàn)群體數(shù)在60左右,迭代次數(shù)在120次左右時,能得到較滿意的結果。理論上講,圖像匹配問題按上述實驗圖像的情況,其計算量為(M-S+1)×(N-J+1)=14641次模板匹配計算,而PSO算法則只需要(群體數(shù)目×迭代次數(shù))次模板匹配計算,在實驗中群體數(shù)為60,迭代次數(shù)為120,所以模板匹配計算的次數(shù)為7200次。同時時間效率上也要優(yōu)于全遍歷法,而且這種優(yōu)勢在需要遍歷位置更多時,會表現(xiàn)得更加明顯。4.2展望為更加減少計算量,提高算法的效率,本算法有如下改進方向。1.進一步優(yōu)化參數(shù),在保證匹配率的前提下,降低粒子數(shù)和迭代次數(shù)。2.優(yōu)化PSO算法,例如引入收縮因子,并將速度的限制放寬、將學習因子、采取自適應時變調整策略。3.粒子群算法與其它智能算法的融合。在基本PSO算法中加入禁忌(Tabu)算法,將基本PSO和遺傳算法相結合,進一步提出雜交PSO。5參考文獻紀震,廖惠連,吳青華.粒子群算法及應用[M],科學出版社,2009.01江銘炎,袁東風.人工魚群算法及其應用[M],科學出版社,2012.01劉錦峰.圖像模板匹配快速算法研究[D].中南大學.碩士學位論文.2007.05[4]何志明.群體智能算法在圖像匹配中的應用[D].陜西師范大學.碩士學位論文.2010.05[5]李小林.混合粒子群優(yōu)化算法及其在圖像匹配中的應用研究[D]。西安電子科技大學.碩士學位論文.2010.6[6]鹿艷晶,馬苗.基于灰色粒子群優(yōu)化的快速圖像匹配算法[J].計算機工程與應用.2009.45(10).[7]王維真,熊義軍,魏開平,何文雅.基于粒子群算法的灰度相關圖像匹配技術.2010.46.(12).

附錄在此附上pso算法的源碼,遍歷法以及截取實時圖像的源碼詳見程序文件夾。%------本程序目的是用pso算法來對圖像進行匹配-----------------------tic%------------------界面變量清理---------------------------------closeallclearclc%-----------讀取圖片信息-----------------------------f=imread('lena_basic.jpg');[row1,colu1]=size(f);t=imread('lena_time.jpg');[row2,colu2]=size(t);%------------------參數(shù)設置--------------------------------------------w_max=1;%慣性權重最大值w_min=0.4;%慣性權重最小值p_num=60;%粒子規(guī)模數(shù)量p_dim=2;%粒子維數(shù)c1=2;c2=2;%學習因子v_max=10;%速度上限v_min=-10;%速度下限p_iter=120;%迭代最大次數(shù)次數(shù)設定p_position_min=1;p_position_max=row1-row2+1;%------------------初始化,位置和速度------------------------------------p_position=zeros(p_num,p_dim);%先設定一個空的矩陣,來放置粒子當前位置信息,注意行和列的設定p_speed=zeros(p_num,p_dim);%先設定一個空的矩陣,來放置粒子當前速度信息,注意行和列的設定fork_ini=1:p_num%范圍最大值為粒子的個數(shù)p_position(k_ini,:)=round(p_position_min+...(p_position_max-p_position_min)*rand(1,p_dim));%初始化位置,位于p_position_min到p_position_max之間的隨機均勻分布的數(shù)據(jù)p_speed(k_ini,:)=round(-10+20*rand(1,p_dim));%初始化速度,位于-10到10之間的隨機均勻分布的數(shù)據(jù)end%----------------------計算初始化粒子的最優(yōu)值數(shù)據(jù)-------------------------p_local_position=p_position;%初始化后,各個粒子當前初始化的位置為各自記憶最優(yōu)位置%p_local_position中為各個粒子的歷史記憶最優(yōu)位置p_local_value=zeros(1,p_num);%各個粒子的記憶最優(yōu)位置的最優(yōu)值fork1=1:p_num%尋找初始化后,當前全局最優(yōu)粒子(本例是求最大值)%p_local_value(k1)=compute_fit(p_position(k1,:),p_dim);%計算各個粒子當前的適應度函數(shù)值temp=p_position(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)計算各個粒子當前的適應度函數(shù)值%p_local_value為保存各個粒子適應度函數(shù)數(shù)據(jù)endp_global_value=p_local_value(1);%先假定第一個粒子擁有當前初始化全局最優(yōu)值p_global_position=p_position(1,:);%即假定第一個粒子為當前初始化全局最優(yōu)粒子位置fork2=1:p_num%尋找初始化后,當前全局最優(yōu)粒子ifp_global_value>=p_local_value(k2)%*********判斷條件********p_global_value=p_local_value(k2);%更新全局最優(yōu)值信息p_global_position=p_position(k2,:);%更新全局最優(yōu)粒子位置信息endend%----------------------------中心主程序-----------------------------------------%---------更新粒子位置和速度,通過判斷條件,找出全局最優(yōu)值-------------------------%whileexpression%statements%endflag_stop=0;%迭代結束的標志k_iter=0;%迭代的次數(shù)初始化whileflag_stop==0%判斷迭代標志,是否循環(huán)%------------更新速度和位置信息-------------------------w=w_max-0.6*k_iter/p_iter;%更新慣性權重值%ticforkd=1:p_dimforkn=1:p_nump_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,kd)));%粒子的社會全局學習ifp_speed(kn,kd)>v_max%最大速度制約p_speed(kn,kd)=v_max;endifp_speed(kn,kd)<v_min%最大速度制約p_speed(kn,kd)=v_min;endp_position(kn,kd)=round(p_position(kn,kd)+p_speed(kn,kd));%更新粒子的位置ifp_position(kn,kd)<p_position_min%最小位置制約p_position(kn,kd)=p_position_min;endifp_position(kn,kd)>p_position_max%最大位置制約p_position(kn,kd)=p_position_max;endendend%---------適應函數(shù)值的比較,來記錄記憶個體最優(yōu),和找到全局最優(yōu)---------------------------%---------來記錄記憶個體最優(yōu)---------------------------%ticforkn=1:p_numtemp=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)計算當前位置的適應度函數(shù)值ifp_fit_new(kn)<=p_local_value(kn)p_local_value(kn)=p_fit_new(kn);%更新個體記憶最優(yōu)值p_local_position(kn,:)=p_position(kn,:);%更新個體記憶最優(yōu)位置endend%---------找到全局最優(yōu)(通過上面找到的個體最優(yōu))---------------------------%ticp_global_value=p_local_value(1);%先假定第一個粒子擁有目前全局最優(yōu)值forkn=1:p_num%尋找當前全局最優(yōu)粒子ifp_global_value>=p_local_value(kn)p_global_value=p_lo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論