梁智錦,王開福,顧國慶,張成斌
(南京航空航天大學(xué)航空宇航學(xué)院,南京210016)
基于微粒子群優(yōu)化算法的數(shù)字散斑圖像相關(guān)方法
梁智錦,王開福*,顧國慶,張成斌
(南京航空航天大學(xué)航空宇航學(xué)院,南京210016)
為了能夠通過一步搜索同時得到數(shù)字散斑圖像中所測點的整像素和亞像素位移信息,采用灰度插值的方法構(gòu)造了亞像素子區(qū),改進了基于微粒子群算法的數(shù)字圖像散斑相關(guān)方法。對含有平移信息的模擬散斑圖和具有應(yīng)變的模擬散斑圖進行相關(guān)計算,驗證了該方法的適用性;在對具有微小面內(nèi)位移轉(zhuǎn)動的試件進行測量時,比較了整像素的微粒子群算法和不同量級的灰度插值下的亞像素微粒子群算法。結(jié)果表明,基于微粒子群算法的亞像素數(shù)字散斑圖像相關(guān)方法在測量小位移方面具有一定的優(yōu)越性。
圖像處理;數(shù)字散斑相關(guān);微粒子群優(yōu)化算法;灰度插值
微粒子群算法是由KENNEDY和EBERHART于1995年提出來的一種模仿鳥類捕食的智能搜索算法[1],其算法結(jié)構(gòu)簡單、易于實現(xiàn)。微粒子群算法的主要思想是:在被測目標(biāo)的周圍散落著一定數(shù)量的粒子,這群粒子像鳥一樣的在被測區(qū)域內(nèi)移動,每個粒子分別記錄了自己所經(jīng)歷的最佳位置并與其它粒子的最佳位置進行比較以記錄所有粒子經(jīng)歷的全局最佳位置,之后粒子將根據(jù)自己的歷史最佳位置和全局最佳位置決定自身的下一步移動目標(biāo),通過這樣不斷的迭代使得粒子向全局最佳位置靠近并最終達(dá)到最佳值[2]。
數(shù)字散斑相關(guān)是數(shù)字散斑計量技術(shù)的一種,在20世紀(jì)80年代由YAMAGUCHI[3]和PETERS等人[4]提出來的位移和變形測量技術(shù)。與數(shù)字散斑條紋技術(shù)不同,其實質(zhì)是根據(jù)物體變形前后散斑場的互相關(guān)性來獲取物體的位移和變形信息,根據(jù)尋求相關(guān)系數(shù)的極值位置,在變形后的散斑場中識別出對應(yīng)于變形前的散斑場[5-6]。數(shù)字散斑相關(guān)技術(shù)的關(guān)鍵在于圖像相關(guān)算法。相關(guān)算法從最開始的粗細(xì)搜索法發(fā)展到現(xiàn)在,已經(jīng)有很多種,其中的典型算法主要有:雙參量法、牛頓迭代法、梯度搜索法、遺傳算法和差分進化算法等[7-9]。DU和WANG曾經(jīng)在2012年發(fā)表過基于粒子群算法的整像素數(shù)字圖像相關(guān)方法[10],但是在很多微小位移的測量中,整像素的測量范圍并不能滿足測量的需要。2009年,天津大學(xué)CHANG在其碩士畢業(yè)論文中提到使用微粒子群算法進行圖像相關(guān)的亞像素搜索,但他所采用的方法是在得到整像素位移的情況下通過擬合整像素的相關(guān)系數(shù)曲線后利用微粒子群算法進行曲線極值的搜索[11]。作者是在微粒子群算法應(yīng)用于數(shù)字散斑圖像相關(guān)運算基礎(chǔ)上,采用灰度插值的方式使得微粒子群算法可以直接進行精確到亞像素的數(shù)字圖像相關(guān)運算。
1.1 微粒子群算法的基本原理
在n維搜索空間中,設(shè)粒子群總數(shù)為k,則第i個粒子的位置可以表示為Xi=[xi1,xi2,xi3,…,xin]T(T表示轉(zhuǎn)置),速度vi=[vi1,vi2,vi3,…,vin]T,其所經(jīng)歷過程的最佳位置坐標(biāo)為pi,整個粒子群所經(jīng)歷過程的全局最佳位置坐標(biāo)為p。每個粒子所處的位置坐標(biāo)信息都表示一個候選解,將候選解的值代入目標(biāo)函數(shù)計算其適度值以確定候選解的優(yōu)劣度,并據(jù)實時更新pi和p。
微粒子群算法可表示為[2]:
式中,vid,t+1表示迭代至(t+1)次時第i個粒子第d維的速度,其中t=1,2,3…N,N為最大迭代次數(shù),d=1,2,3…n;w為慣性常數(shù),其具體值根據(jù)代數(shù)t的增加由公式得出;wmax一般取值1.4,wmin取值0;c1和c2為加速常數(shù),一般取值均為2;r1和r2為隨機數(shù),其范圍為[0,1];pd,t為截止到第t代時全局最佳位置點的第d維坐標(biāo)值;pid,t為截止到第t代時第i個粒子所處的最佳位置的第d維坐標(biāo)值;xid,t表示第t代時,第i個粒子第d維坐標(biāo)值。
1.2 數(shù)字圖像相關(guān)的基本原理
數(shù)字圖像相關(guān)計算是指位于散斑場上的兩個子區(qū)進行匹配運算的相關(guān)方法。當(dāng)兩個子區(qū)位于同一個散斑場時,圖像相關(guān)計算被稱為自相關(guān)。自相關(guān)算法主要運用于粒子圖像測速中。當(dāng)子區(qū)位于不同散斑場時,圖像相關(guān)算法被稱為互相關(guān)算法,也就是一般所指的數(shù)字圖像相關(guān)。
通過CCD記錄被測物體變形或者運動前后的散斑圖,在散斑圖上每點的位置信息用該點周圍區(qū)域的散斑分布來表示,其散斑分布的實質(zhì)就是點周圍區(qū)域(稱為子區(qū))組成的灰度值矩陣。在變形前的散斑圖上選取被測點子區(qū)I,在變形后的散斑圖上選取待測點子區(qū)Ii′,兩者進行相關(guān)運算得到相關(guān)系數(shù)C[5]:
式中,〈…〉表示系綜平均。相關(guān)系數(shù)表明兩個子區(qū)的相關(guān)程度;當(dāng)相關(guān)系數(shù)為1時,說明兩個子區(qū)完全相關(guān),當(dāng)相關(guān)系數(shù)為0時,說明兩個子區(qū)完全不相關(guān)。
1.3 基于微粒子群算法的數(shù)字散斑圖像相關(guān)算法流程
微粒子群算法的相關(guān)流程是:(1)在搜索域內(nèi)隨機的分布k個粒子,并將表示代數(shù)的t設(shè)置為1;(2)通過適應(yīng)度函數(shù)判斷這所有粒子的適應(yīng)度,比較獲得每個粒子的適應(yīng)度歷史最大值并記錄其位置坐標(biāo)為pi;(3)通過比較pi的適應(yīng)度值大小,得到其中的最大適應(yīng)度值的位置坐標(biāo),即為p;(4)通過(1)式計算每個粒子的速度,并確定下一代粒子的新坐標(biāo);(5)將p坐標(biāo)下的適應(yīng)度值和適應(yīng)度函數(shù)的閾值進行比較,如果此時的p滿足閾值要求,則其坐標(biāo)值即為所求目標(biāo)。若不滿足,則比較此時代數(shù)t和最大迭代數(shù)N,如t=N,則此時的p坐標(biāo)也為此次所求目標(biāo);如t<N,則令t=t+1,將所得到的新粒子作為第t+1代粒子并轉(zhuǎn)入步驟(2)中進行循環(huán)迭代。
將微粒子群算法應(yīng)用于數(shù)字散斑圖像相關(guān)運算中的主要改造過程見下。
(1)微粒子群的每一個粒子在圖像相關(guān)中代表一個子區(qū)Ii′(xi,yi),該子區(qū)用其中心坐標(biāo)(xi,yi)來表示。而圖像相關(guān)算法中的搜索域在變形或運動后的圖像中已所測點坐標(biāo)為中心而設(shè)置的一定大小的區(qū)域。
(2)相關(guān)運算中的微粒子群算法適應(yīng)度函數(shù)是在物體的變形或運動之前的圖像中選取以被測點為中心坐標(biāo)的子區(qū)I(x,y)與粒子子區(qū)Ii′(xi,yi)之間利用(2)式求取相關(guān)系數(shù)C。在圖像相關(guān)運算中C值越大兩個子區(qū)相關(guān)程度越高,當(dāng)C=1的時候表示兩個子區(qū)完全相關(guān),C=0則表示兩個子區(qū)完全不相關(guān);因此,粒子的適應(yīng)度可以直接用C的大小表示,同時適應(yīng)度的閾值也被設(shè)為1。
(3)通過(1)式計算粒子運動速度的時候,由于公式中的參量非整且存在除法,粒子的速度也不可能全是整數(shù)。這導(dǎo)致了后面的粒子子區(qū)不會全為整像素子區(qū)。如果使用微粒子群整像素圖像相關(guān)運算的話,就需要將得到的粒子運動速度進行取整運算以確保每個粒子子區(qū)均為整像素子區(qū)。對于亞像素子區(qū)的獲取,主要采取灰度插值的方式。本文中采用的是雙線性插值法,其插值過程可表示為[5]:
式中,?x?表示向下取整;I0,I1,I2和I3表示中心坐標(biāo)離坐標(biāo)(x,y)最近的4個子區(qū),因為對子區(qū)I(x,y)中任意一個灰度點來說,它都包含在這4個相鄰子區(qū)的對應(yīng)點中且距離左上角對應(yīng)點的距離均為Δx和Δy,所以可以直接用子區(qū)來進行灰度插值運算而不需要對每個點單獨插值計算。同時為了防止粒子的跳躍性太大,超出范圍。粒子的速率被限制在±5個像素之間,當(dāng)粒子的速率超出這個范圍時,粒子的速率將被定為邊界值。
2.1 微粒子群算法對模擬散斑圖的測量
為檢驗此亞像素插值算法對整像素位移的測量正確性,用計算機制作模擬散斑圖并加入整像素位移值,如圖1所示。其中圖1a為散斑參考圖,圖1b為加入了整像素位移值的模擬散斑圖,圖中的U場和V場位移量為8pixel。采用微粒子群整像素圖像相關(guān)運算算法對其中的U場位移進行測量可以得到圖2所示結(jié)果。圖2中,U場位移的淺灰色平面中的深黑色屬于算法中所測得的壞點,這些壞點的表現(xiàn)形式為其搜索出來的值遠(yuǎn)遠(yuǎn)超過周圍區(qū)域所搜索出的正常值,通過重復(fù)性的使用算法對這些壞點進行搜索可以得到正確值,說明其出現(xiàn)的主要原因為在搜索區(qū)域中對隨機粒子的選取沒有做到足夠均勻且散斑場的部分區(qū)域比較相似造成的。但需要說明的是這些壞點在所測區(qū)域100pixel×100pixel的10000個點中不超過500個,此算法的正確率達(dá)到了95%以上,所以該算法在圖像相關(guān)中是適用的。圖3所顯示的U場位移是采用微粒子群亞像素圖像相關(guān)算法對圖1a和圖1b進行相關(guān)運算所得到結(jié)果,在所得的結(jié)果中同樣的存在不超過500個的壞點,算法的正確率也達(dá)到了95%以上。
為檢測此算法對物體變形信息測量的正確性,用計算機制作模擬散斑圖(見圖4),其中圖4b為圖4a加入V場位移關(guān)于x方向的應(yīng)變0.05(單位為1)后的模擬散斑圖。亞像素微粒子群算法程序?qū)D4a和圖4b中的50pixel×20pixel區(qū)域內(nèi)進行數(shù)字圖像相關(guān)運算,所得V場位移結(jié)果如圖5所示,由于相關(guān)運算算法中沒有考慮到子區(qū)本身也發(fā)生了一定變形,圖中所得的數(shù)據(jù)呈現(xiàn)出一定得起伏,但其數(shù)值的總體計算結(jié)果仍然能夠得到x方向上的V場應(yīng)變0.05(單位為1)。
2.2 微粒子群算法對面內(nèi)旋轉(zhuǎn)的數(shù)字散斑圖的測量
采用如圖6所示實驗系統(tǒng),當(dāng)試件發(fā)生面內(nèi)轉(zhuǎn)動(即物面圍繞試件表面的法線轉(zhuǎn)動)時,利用CCD相機記錄試件的面內(nèi)位移。
實驗中所獲得的散斑圖如圖7所示,其中圖7b為圖7a中的試件繞垂直于試件表面的z軸進行順時針面內(nèi)旋轉(zhuǎn)后的試件散斑圖(其中旋轉(zhuǎn)中心在散斑圖的右上方)。
根據(jù)面內(nèi)旋轉(zhuǎn)位移的特點,V場位移和x坐標(biāo)具有與旋轉(zhuǎn)角度有關(guān)的線性關(guān)系[11]。因此旋轉(zhuǎn)的角度可以根據(jù)下列公式求得[12]:
對這兩幅散斑圖分別進行整像素的微粒子群算法測量其所得到的結(jié)果如圖8所示。由圖8可以看出,由于旋轉(zhuǎn)的角度非常小,V場的位移也非常小,這時整像素的圖像相關(guān)算法只能在200pixel× 200pixel的計算區(qū)域中獲得兩個階梯值,同時由于V場的變化緩慢,兩個階梯值的邊界也模糊不清。
在采用0.1pixel插值的微粒子群亞像素圖像相關(guān)算法對圖7a和圖7b進行測量其所得到的結(jié)果如圖9所示。雖然在200pixel×200pixel的計算區(qū)域內(nèi)所獲得的也是階梯型的結(jié)果,但由于所獲得的階梯較多,已經(jīng)能夠計算出V場位移與x的線性關(guān)系,將數(shù)據(jù)代入(4)式中經(jīng)過計算可得轉(zhuǎn)動角度θ= 0.003846rad。
圖10為采用0.01pixel插值的亞像素數(shù)字圖像相關(guān)運算所得到的結(jié)果,在這個量級下就能很明顯的得到轉(zhuǎn)動角度θ=0.003855rad,其與上面0.1pixel所得結(jié)果誤差不超過0.3%。
圖11顯示是在0.001pixel灰度插值下的V場位移圖。可以發(fā)現(xiàn)圖10和圖11相比較來說在整體趨勢上和單體數(shù)據(jù)上都是基本一致的。
對于任意散斑圖來說,其插值精度取決于測量的精度要求。對本文中測量面內(nèi)旋轉(zhuǎn)角度來說,在200pixel×200pixel測量范圍內(nèi)散斑圖在處理后所得到的位移信息需要含有多個階梯值,而整像素測量無法達(dá)到這個要求,就需要插值到0.1pixel。如果所獲得的測量數(shù)據(jù)更少,以至于0.1pixel插值不能得到兩個以上階梯值,那就要通過進一步的插值來獲取位移信息。
(1)為了擴展微粒子群算法在數(shù)字散斑圖像相關(guān)中的應(yīng)用,采用灰度插值的方法構(gòu)造了亞像素的子區(qū),并同時編寫單獨測量整像素和在測量整像素的同時測量亞像素的MATLAB程序,應(yīng)用帶有面內(nèi)位移信息模擬散斑圖驗證了兩個程序的正確性。
(2)在應(yīng)用帶有應(yīng)變信息的模擬散斑圖對亞像素微粒子群算法程序進行驗證的時候,證明了亞像素微粒子群算法在對具有微小應(yīng)變的情況下依然適用。
(3)同時應(yīng)用整像素微粒子群算法程序和亞像素微粒子群算法程序?qū)γ鎯?nèi)微小轉(zhuǎn)動的試件進行了測量,在整像素微粒子群算法無法計算出轉(zhuǎn)動的微小角度時成功地運用亞像素微粒子群算法測量出了面內(nèi)轉(zhuǎn)動的角度;從而比較說明了面對微小位移時整像素微粒子群算法的局限性和亞像素微粒子群算法的有效性。同時對不同量級的灰度插值的亞像素微粒子群算法進行了比較,表明了在測量微小位移信息時亞像素微粒子群的靈活性和多樣性。
[1] KENNEDY J,EBERHART R C.Particle swarm optimization[C]//The University of Western Australia.IEEE International Conference on Neural Networks.Perth,Australia:The University of Western Australia,1995:1942-1948.
[2] XIE X F,ZHANG W J,YANG ZH L.Overview of particle swarm optimization[J].Control and Decision,2003,18(2):129-134(in Chinese).
[3] YAMAGUCHI I.A laser speckle strain gauge[J].Journal of Physics,1981,E14(11):1270-1273.
[4] PETERS W H,RANSON W F.Digital imaging technique in experimental stress analysis[J].Optical Engineering,1982,21(3):427-431.
[5] WANG K F,GAO M H,ZHOU K Y.Modern photo mechanics[M].Harbin:Harbin Institute of Technology Press,2009:58-61,154-156(in Chinese).
[6] XU X,WANG K,GU G Q,et al.Measurement of internal material flaws based on out-of-plane displacement digital speckle pattern interferometry[J].Laser Technology,2012,36(4):548-552(in China).
[7] JIN G C.Computer-aided optical measurement[M].2nd ed.Beijing:Tsinghua University Press,2007:141-147(in Chinese).
[8] LIU M.The improved genetic algorithms for digital image correlation technique[D].Tianjin:Tianjin University,2005:4-6(in Chinese).
[9] PAN B,XIE H M.Digital image correlation method with differential evolution[J].Journal of Optoelectronics·Laser,2007,18(1):100-103(in Chinese).
[10] DU Y Zh,WANG X B.Digital image correlation method based on particle swarm optimization algorithm without sub-pixel interpolation[J].Computer Engineering and Applications,2012,48(6):200-204(in Chinese).
[11] CHANG Y M.Research and application of sub-pixel search algorithm for digital image/speckle correlation method[D].Tianjin:Tianjin University,2009:12-14(in Chinese).
[12] GU G Q,WANG K F,XU X.Measurement of in-plane microrotations and rotation-center location of a rigid body by using digital image correlation[J].Chinese Journal of Lasers,2012,39(1):0108004(in Chinese).
Digital speckle image correlation method base on particle swarm optimization algorithm
LIANG Zhijin,WANG Kaifu,GU Guoqing,ZHANG Chengbin
(College of Aerospace Engineering,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China)
In order to get the integer pixel displacement information and the sub-pixel displacement information simultaneously at one time,the sub-pixel subarea was constructed by using the method of gray interpolation and the digital image correlation method based on particle swarm optimization algorithm was proposed.The applicability of the method was verified by measuring both the simulated speckle pattern with the translational information and with the strain information.And then,the integer pixel particle swarm algorithm and the sub-pixel of different magnitude interpolation gray particle swarm algorithm were compared by measuring the specimen with tiny rotational displacement.The results show that the particle swarm algorithm based on sub-pixel digital scattered spot image correlation method has advantages for small displacement measurement.
image processing;digital speckle correlation;particle swarm optimization algorithm;gray interpolation
TN911.73
A
10.7510/jgjs.issn.1001-3806.2014.05.006
1001-3806(2014)05-0603-05
國防技術(shù)基礎(chǔ)科研資助項目;江蘇省高校優(yōu)勢學(xué)科建設(shè)工程資助項目
梁智錦(1989-),男,碩士研究生,研究方向為光測力學(xué)及圖像處理。
*通訊聯(lián)系人。E-mail:kfwang@nuaa.edu.cn
2013-09-16;
2013-12-02