董 一,王桂榮,洪 亮
(1.中國計量大學(xué) 機電工程學(xué)院,浙江 杭洲 310018;2.浙江傳媒學(xué)院 電子信息學(xué)院,浙江 杭州 310018)
數(shù)字散斑相關(guān)方法(Digital Speckle Correlation Method,DSCM)是一種在20 世紀(jì)80 年代提出的非接觸式的光學(xué)測量方法。它主要以應(yīng)用電子學(xué)和光學(xué)的幾個基本原理作為主要理論依據(jù),將應(yīng)用電子力學(xué)測試作為實驗方式,通過采集試件變形前后的表面散斑圖像,提取待檢測區(qū)的灰度變化信息,分析并計算出物體表面的位移和應(yīng)變場。隨著現(xiàn)代電子科技的進步,攝像機的分辨率遠(yuǎn)超從前,這使DSCM 受到更多工程應(yīng)用的青睞,使用范圍更加廣闊?,F(xiàn)在已經(jīng)有許多較為完善的亞像素搜索算法,如亞像素灰度插值法、梯度法、Newton-Raphson 迭代法、曲面擬合法、遺傳算法等都是較為常用的。除了經(jīng)典數(shù)學(xué)理論算法外,許多學(xué)者將群體智能優(yōu)化算法引入到數(shù)字散斑相關(guān)法之中。遺傳算法、人工神經(jīng)網(wǎng)絡(luò)算法、粒子群優(yōu)化算法、果蠅優(yōu)化算法都對數(shù)子散斑相關(guān)方法的研究起到了推動作用,但是這些方法都不完善。比如,遺傳算法不能解決局部尋優(yōu)的問題,并且計算復(fù)雜,編程繁瑣;粒子群算法在捜索過程中容易出現(xiàn)陷入局部最優(yōu)值,局部尋優(yōu)能力也很差。
如今,無論是在材料力學(xué)研究、土木工程等傳統(tǒng)領(lǐng)域還是在航空航天、軍事設(shè)備、納米科學(xué)以及生物醫(yī)學(xué)等新興領(lǐng)域,都對測量技術(shù)實時性、準(zhǔn)確率和測量精度提出了更高的要求。目前的數(shù)字散斑相關(guān)法在理論研究上已經(jīng)相對成熟,但是仍存在著一些不足。特別是在亞像素位移算法中,其精度不高,且耗時相對較長,對DSCM 的整體求解時間和計算精度有著直接影響。針對這類問題,本文根據(jù)雙三次插值和梯度法的特點,提出一種改進算法。本算法在沒有大幅提升計算量的情況下,減少了整體解決方案的時間,提高了計算精度,以便可以在各種工程領(lǐng)域得到更好的應(yīng)用,切實解決實際工程問題。
在進行整像素位移搜索時,通常設(shè)置的搜索步長最小也是整像素級別的,故最終的搜索結(jié)果最高精度也只能達到1 pixel。為了達到更高的精度,可以通過灰度插值法對圖像進行插值,在每兩個像素之間插入4 個點,就可以將精度提高到0.2 像素級,插入9 個點,就能提高到0.1 像素級。以此類推,插入的點越多,達到的精度也就越高。不同的插值方法,得到的圖像也不相同。為了能使后續(xù)搜索有較好的精度及效率,應(yīng)選擇一種合適的插值方法。灰度插值法有多種,較為常用的有最鄰近插值、雙線性插值和雙三次立方插值。其中雙三次立方插值的插值效果較好,插值后的圖像亞像素點近似連續(xù)。雙三次立方插值方法的原理如圖1所示。圖中,,分別為像素點的橫向坐標(biāo)值和縱向坐標(biāo)值。
圖1 雙三次立方插值原理示意圖
雙三次立方插值根據(jù)點(,)周圍鄰域16 個整像素點的灰度值,通過設(shè)置好的加權(quán)系數(shù)計算加權(quán)平均值,從而得到點的灰度值(,)。高階的插值方法效果比低階的效果更好。令(,)=(+,+),則點的灰度值計算公式如下:
式中(·)為插值核函數(shù)。
利用Matlab 編程對模擬散斑圖的相關(guān)系數(shù)主峰進行雙三次立方插值運算,使像素值精度達到0.1 pixel,效果如圖2所示。
圖2 雙三次立方插值相關(guān)系數(shù)圖
盡管灰度插值的方法能對圖像進行重建,但得到的圖像中的灰度值只是計算機模擬出來的,并不能完全到達實際預(yù)期。此外,灰度插值法對噪聲及光強較為敏感,細(xì)微的干擾都會造成較大的誤差;而且插值的計算量較大,導(dǎo)致計算時間較長。因此,插值的方法很少單獨應(yīng)用在數(shù)字散斑相關(guān)法中。
基于梯度的亞像素位移搜索算法,最初是一種光流計算法,后被Freeman 應(yīng)用到圖像配準(zhǔn)。該算法主要是根據(jù)散斑圖像之間的灰度分布進行搜索,為了提高精度,還依據(jù)了其他特性。
該算法在以下兩個條件成立的情況下使用:
1)圖像灰度值不變:試件受到外力而形變時,試件表面圖像中的灰度值不會隨之改變;
2)試件剛體運動:在試件細(xì)微運動時,如果圖像的參考子區(qū)非常小,該部分的點運動方向及距離都近似相同,那么此時參考子區(qū)的運動默認(rèn)為剛體的平移運動。
分別用(,)和(′,′)表示物體發(fā)生位移前和位移后的圖像灰度值,若子區(qū)圖像非常小而且做細(xì)微運動,則有:
式中:′=++Δ,′=++Δ,,分別表示試件在,兩個方向上的整像素位移,Δ,Δ分別表示試件在,兩個方向上的亞像素位移。然后令式(4)中的(′′)對Δ,Δ進行泰勒展開,將高階分量省略后能夠得到:
式(5)與式(6)分別是式(4)的一階泰勒展開公式和二階泰勒展開公式。顯而易見,二階泰勒展開后需要計算的數(shù)據(jù)更加多,計算時間也更長,故實際應(yīng)用中一般選用一階泰勒展開。式中的度梯g,g計算選擇Barron算子,相比其他算子,該算子計算出的結(jié)果更加準(zhǔn)確,也有較好的性能。其表達式如式(7)。
結(jié)合上述的公式,將目標(biāo)函數(shù)設(shè)為:
由式(7)、式(8)可計算出參考子區(qū)和目標(biāo)子區(qū)(子區(qū)大小為×)的亞像素位移值Δ,Δ為:
根據(jù)之前已經(jīng)搜索得到的整像素位移,,就能夠求出物體表面變形前后的散斑圖像之間的亞像素位移值。梯度法有較為清晰的數(shù)學(xué)理論支持,其算法也并不難以實現(xiàn),計算出的結(jié)果也較為精確,但是該算法也存在著缺點。當(dāng)待求解的亞像素配準(zhǔn)點的灰度值(++Δ,++Δ)在整像素配準(zhǔn)點+,+的位置通過一階泰勒公式轉(zhuǎn)化時,為方便計算而舍棄了高階小量,導(dǎo)致產(chǎn)生的誤差會受Δ,Δ的影響,Δ,Δ越大,產(chǎn)生的誤差也越大。雖然二階泰勒展開公式帶來的誤差相對較小,但是計算過程會更加繁瑣,消耗的時間也相應(yīng)地增加。因此,當(dāng)亞像素位移值Δ,Δ超過一定范圍的時候,(++Δ,++Δ)的一階泰勒展開公式的誤差就會對結(jié)果造成較大的影響,最后獲得的亞像素位移值并不能達到理想的效果。
若想通過灰度插值法使搜索結(jié)果精確到0.01 pixel,則要在每兩個像素點之間插入99 個點,將圖像放大1 000 倍,此時兩個子區(qū)圖像也被放大,計算相關(guān)系數(shù)的消耗時長將呈幾何式的增加?;叶炔逯捣ㄒ栽黾佑嬎懔繛榇鷥r提高計算精度,付出的代價超過了獲得的效果,故并不建議使用?;谔荻鹊膩喯袼嘏錅?zhǔn)算法可以通過簡單的編程實現(xiàn),計算出的結(jié)果也較為精確,但是該算法的計算精度受限于泰勒公式展開時帶來的誤差,展開位置的亞像素位移值越小,高階分量也就越小,此時搜索到的亞像素配準(zhǔn)位置才精確。
本文提出的基于灰度插值法和梯度法的亞像素改進搜索算法,主要目的就是如何將這兩種方法結(jié)合起來才能發(fā)揮各自的優(yōu)勢,消除它們的弊端。首先,在搜索的整像素配準(zhǔn)點的基礎(chǔ)上,通過雙三次立方插值法搜索到精度為亞像素的配準(zhǔn)點坐標(biāo);然后在該點的位置上對基于梯度的灰度搜索算法的公式進行一階泰勒展開,由于粗配準(zhǔn)點與最終配準(zhǔn)點之間的坐標(biāo)小于0.1 pixel,此時舍棄的高階分量非常小,搜索結(jié)果的精度得到了有效的提高。該算法的原理及流程如圖3、圖4所示。圖中點為整像素匹配點,點為亞像素粗匹配點,點為亞像素精匹配點。
圖3 混合亞像素位移算法原理圖
圖4 混合亞像素位移算法流程
首先,通過整像素搜索算法快速搜索到整像素配準(zhǔn)點,即找到相關(guān)系數(shù)曲面的主峰位置,以該點為中心對參考子區(qū)和目標(biāo)子區(qū)進行插值重建。出于對計算時間和梯度法的精度考慮,選擇在每兩個像素點之間插入4個點,即將圖像放大25倍,此時的亞像素搜索精度可達0.2 pixel,且消耗的時間不會過長。在參考圖像中選取整像素配準(zhǔn)點為中心點,截取大小為21 pixel×21 pixel的區(qū)域作為子圖像,通過雙三次立方插值對子圖像進行插值后,得到大小為101 pixel×101 pixel 的圖像,如圖5所示。插值后的相關(guān)系數(shù)圖如圖6所示。
圖5 雙三次立方插值效果圖
圖6 雙三次立方插值相關(guān)系數(shù)圖(混合算法)
在對插值后的圖像搜索得到粗精度匹配點,再以點為中心,對插值后的圖像子區(qū)域通過基于梯度的灰度搜索算法搜索到最終的亞像素匹配點。目標(biāo)函數(shù)及目標(biāo)函數(shù)求極值公式如式(8)、式(9)所示,式(4)轉(zhuǎn)化為式(12):
式中:Δ,Δ分別為與之間的坐標(biāo)差值;,分別為目標(biāo)點與粗匹配點之間的坐標(biāo)差值。因為Δ,Δ精度可達0.2 pixel,所以,小于0.2 pixel,縮小了梯度法中的高階小量,有效提高了搜索精度。
經(jīng)過計算:
代入已經(jīng)計算得到的整像素配準(zhǔn)點(,)和亞像素粗配準(zhǔn)點(+Δ,+Δ),求解出物體表面形變前后在圖像中的位移,再通過標(biāo)定系數(shù),即可知現(xiàn)實中的位移,其中,為匹配區(qū)域的長和寬。
首先通過Matlab 制作1 幅散斑圖像作為實驗的參考圖像,其大小為512×512,圖中共有1 200 個散斑,散斑的大小設(shè)為4,散斑的亮度最高為1。同時通過參數(shù)設(shè)置,使參考圖像沿方向做平移運動,總共平移1 像素,每次平移距離為0.05 pixel,生成1 幅新的散斑圖像,最終得到19 幅模擬散斑圖,作為目標(biāo)圖像組。在通過三步搜索法搜索到整像素配準(zhǔn)點后,分別用4 種亞像素搜索算法計算目標(biāo)圖像組的位移值。由于單點進行搜索可能會存在偶然性誤差,故在參考圖像中都隨機選擇100 個目標(biāo)點,對每幅目標(biāo)圖像都進行100次的搜索,并對結(jié)果進行分析,舍去異常的值。學(xué)者Zhang 經(jīng)過研究發(fā)現(xiàn)后指出,將亞像素搜索窗口大小設(shè)在31 pixel×31 pixel~51 pixel×51 pixel 范圍內(nèi)時,各算法在計算精度和效率上都能保持較好的效果。故本文所有實驗中,在進行亞像素搜索時搜索窗口設(shè)為41 pixel×41 pixel,效果如表1、表2所示。
表1 四種亞像素位移測量運算時間 s
表2 四種亞像素搜索法的位移測量結(jié)果 pixel
表1 中的運算時間以曲面擬合搜索耗時為基礎(chǔ)單位,其中曲面擬合算法的運算速度是最快的,是因為該算法的擬合點只有9 個,不需經(jīng)過復(fù)雜的運算;梯度法所消耗的時間是曲面擬合法的1.5倍,相差不多;而雙三次立方插值法的耗時是曲面擬合算法的256 倍,效率過低,改進后的算法耗時為11.8 s,但遠(yuǎn)低于插值法,在可接受的范圍內(nèi)。
從表2 中可以看出在位移很小時,梯度法和改進后的混合算法的效果較好,在整個位移過程中改進后的混合算法的測量精度達0.01 pixel,并且整個過程中改進后的算法穩(wěn)定性也較好。4種算法的性能比較如圖7所示。
圖7 各個算法搜索均值誤差對比圖
由圖7 可看出,曲面擬合法的搜索結(jié)果的均值誤差曲線變動幅度較大,灰度插值法的性能比曲面擬合法有所提高,梯度法和改進后的混合算法的效果較好。在0.4~0.8 pixel 范圍內(nèi),改進后的混合算法更優(yōu)于原來的梯度法,這是因為在這個范圍內(nèi),梯度法在一階泰勒公式展開處舍棄的高階小量的誤差過大。
為了檢驗改進后的算法在實際應(yīng)用中的性能,進行了剛體平移實驗,本次實驗標(biāo)定系數(shù)為0.537 mm/pixel。實驗平臺如圖8所示,采集到的散斑圖像局部放大圖如圖9所示。
圖8 剛體平移實驗平臺
圖9 散斑圖像局部放大圖
控制直線電機多軸運動平臺(電機精度為0.05 μm)每次位移0.2 mm,每位移一次拍攝一張照片,共拍攝6張圖像。對采集到的散斑圖像用混合算法進行位移測量。圖10~圖12 為位移0.4 mm 時的,方向位移云圖和總位移矢量圖,其結(jié)果與實際位移方向一致。
圖10 x方向位移云圖
圖11 y方向位移云圖
圖12 位移矢量圖
計算結(jié)果如表3所示,且給出了與理論值(實際平移值)的比較。
表3 不同平移條件下的計算結(jié)果
根據(jù)表3 中的數(shù)據(jù)顯示:在不同位移的情況下,本文搜索算法的測量結(jié)果與實際平移值間的誤差較小,在0~3%之間,說明測量精度較高;通過標(biāo)準(zhǔn)差可以看出,改進后方法的穩(wěn)定性較優(yōu)。綜上所述,本文的搜索算法在實際應(yīng)用中也有較好的性能。同時還利用另外三種算法進行實驗,計算結(jié)果及耗時見表4。
表4 不同算法的搜索性能
由表4 中的數(shù)據(jù)可以看到(計算時間是搜索目標(biāo)圖像中100 點消耗的總時長),在實際應(yīng)用中本文搜索算法的精度高于其他三種,并且該方法的計算速度較快,能滿足現(xiàn)場的實時性要求。
本文主要在灰度插值法和梯度法的基礎(chǔ)上進行了改進,提出了一種灰度插值法和梯度法混合的亞像素搜索算法,通過插值法降低高階分量引起的誤差,從而提高梯度法的精度。通過軟件編程進行仿真實驗并搭建平臺進行了剛體平移實驗,并且對實驗數(shù)據(jù)進行處理和分析。在搜索速度和計算精度兩個方面,本算法相比雙三次立方插值法、曲面擬合法和梯度法的整體性能更優(yōu)。因此,本文提出的改進算法使數(shù)字散斑相關(guān)法可以滿足實際工程中的高精度搜索要求,推進數(shù)字散斑相關(guān)法的研究。
本文主要是在二維平面的情況下,對數(shù)字散斑相關(guān)法進行了分析研究,忽視了離面位移對計算精度的影響。但在實際應(yīng)用中,離面位移還是會引起誤差,接下來的研究中可以考慮將該方法從二維平面發(fā)展到三維平面,不僅能檢驗離面位移的影響,還能使數(shù)字散斑相關(guān)法應(yīng)用到新的領(lǐng)域中,如機器人的雙目識別等。