林 哲
(汕頭職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)系, 廣東 汕頭 515078)
計(jì)算機(jī)視覺(jué)與智能優(yōu)化、機(jī)器學(xué)習(xí)等算法緊密結(jié)合,提供了一種強(qiáng)有力的智能視覺(jué)檢測(cè)手段,在各種領(lǐng)域發(fā)揮著重要作用[1-2].由數(shù)字?jǐn)z像機(jī)和計(jì)算機(jī)組成的視覺(jué)檢測(cè)系統(tǒng)具有非接觸、操作簡(jiǎn)便、成本低廉等優(yōu)勢(shì),越來(lái)越多地被應(yīng)用于材料力學(xué)的相關(guān)研究[3].
數(shù)字圖像相關(guān)法(DIC)的基本原理是使用數(shù)字?jǐn)z像機(jī)拍攝試件變形前后的表面圖像,然后利用數(shù)字圖像算法從圖像中計(jì)算出表面各點(diǎn)的相對(duì)位移,從而得到位移場(chǎng)和應(yīng)變場(chǎng).DIC實(shí)驗(yàn)包括兩個(gè)階段.第一階段是物理過(guò)程,在光源配合下,用固定位置的數(shù)字?jǐn)z像機(jī)垂直拍攝試件表面,首先拍下試件表面的初始狀態(tài)作為參照?qǐng)D像,然后,隨著外力緩慢加載到試件上,試件開(kāi)始發(fā)生準(zhǔn)靜態(tài)形變,其表面各點(diǎn)會(huì)發(fā)生相對(duì)位移,攝像機(jī)拍下其形變過(guò)程得到圖像序列.第二階段是計(jì)算過(guò)程,采用計(jì)算機(jī)算法對(duì)每張圖像進(jìn)行處理,根據(jù)圖像中各像素點(diǎn)的灰度變化,計(jì)算出試件表面各點(diǎn)的位移,然后可以進(jìn)一步得到應(yīng)變場(chǎng).
DIC的核心問(wèn)題是圖像匹配,為了計(jì)算出試件表面每個(gè)點(diǎn)的相對(duì)位移,對(duì)測(cè)試圖像中每個(gè)點(diǎn),必須從參照?qǐng)D像中找出其唯一對(duì)應(yīng)點(diǎn).然而,不能僅依據(jù)圖像像素點(diǎn)本身的灰度值進(jìn)行計(jì)算,因?yàn)閰⒄請(qǐng)D像中大量像素點(diǎn)具有相同的灰度值,無(wú)法唯一確定對(duì)應(yīng)關(guān)系.因此,必須將目標(biāo)點(diǎn)周?chē)南袼匾部紤]進(jìn)來(lái),以圖像子區(qū)(subset)[4]為單位進(jìn)行匹配,利用試件表面的局部特征來(lái)確定像素之間的對(duì)應(yīng)關(guān)系.為了準(zhǔn)確而可靠地匹配,圖像子區(qū)包含的灰度變化信息是一個(gè)關(guān)鍵因素,它必須在圖像中是唯一的,理想的情況是試件表面具有各向同性的紋理,但是局部紋理不能重復(fù)、不能呈現(xiàn)周期性,否則會(huì)導(dǎo)致錯(cuò)誤匹配.由于大多數(shù)材料表面難以滿(mǎn)足上述要求,通常做法是在試件表面上人為地制造隨機(jī)紋理.先用啞光漆均勻噴涂試件表面,再隨機(jī)加上密集的、不均勻分布的斑點(diǎn)(speckle),形成散斑模式(speckle pattern).隨著試件受力變形,散斑模式也會(huì)相應(yīng)發(fā)生變形.
當(dāng)前DIC的主流是采用基于圖像子區(qū)的方法進(jìn)行圖像匹配[5-6].先從參照?qǐng)D像中選取一個(gè)包含足夠灰度變化的圖像子區(qū),然后根據(jù)預(yù)定義的相關(guān)性準(zhǔn)則,利用最優(yōu)化算法在測(cè)試圖像中尋找相關(guān)性最高的圖像子區(qū).若兩個(gè)圖像子區(qū)匹配成功,兩者中心點(diǎn)的相對(duì)位移就形成一個(gè)位移向量.
相關(guān)性準(zhǔn)則[7]用于計(jì)算兩個(gè)圖像子區(qū)之間的相似程度,常用的有交叉關(guān)聯(lián)準(zhǔn)則(CC)、絕對(duì)誤差和準(zhǔn)則(SAD)、平方差準(zhǔn)則(SSD)、參數(shù)化平方和準(zhǔn)則(PSSD)、零均值交叉關(guān)聯(lián)準(zhǔn)則(ZNCC)、零均值標(biāo)準(zhǔn)化平方和準(zhǔn)則(ZNSSD).后兩者對(duì)圖像子區(qū)的形變比較敏感,因此應(yīng)用較多.選定相關(guān)性準(zhǔn)則之后,就可以用數(shù)值算法計(jì)算每個(gè)圖像子區(qū)中心點(diǎn)的亞像素位移,這是DIC的核心技術(shù).牛頓-拉夫森(Newton-Raphson)算法的迭代空域交叉關(guān)聯(lián)方法具有最高精確度,但是實(shí)現(xiàn)過(guò)程相當(dāng)復(fù)雜.因此,尋找更加高效而簡(jiǎn)單的方法一直是研究熱點(diǎn).
根據(jù)預(yù)先設(shè)置,把參考圖像劃分為若干同樣大小的圖像子區(qū),假設(shè)每個(gè)圖像子區(qū)內(nèi)的形變都是均勻的,如圖1所示.
圖1圖像子區(qū)形變示意圖
Fig.1Deformationofimagesubset
圖像子區(qū)中各點(diǎn)的位移是線(xiàn)性變化的,用一階泰勒展示式描述位移映射函數(shù),
它描述了參照?qǐng)D像中的Q點(diǎn)如何對(duì)應(yīng)測(cè)試圖像中的點(diǎn),DIC的目標(biāo)就是求出每個(gè)點(diǎn)對(duì)應(yīng)的p向量.
由于正向增量的牛頓-拉夫森(FA-NR, forward additive Newton-Raphson)算法在每次迭代中都要重新對(duì)海賽矩陣重新估計(jì)和求逆,這是很大的計(jì)算負(fù)擔(dān).Baker和Matthews[8]在計(jì)算機(jī)視覺(jué)領(lǐng)域提出一種反向合成的高斯-牛頓(IC-GN, inverse compositional Gauss-Newton)算法并證明等效于傳統(tǒng)的FA-NR算法,但是更加高效,因?yàn)楹H仃囋谟?jì)算過(guò)程中保持不變,可以預(yù)先計(jì)算.Pan[9-10]將IC-GN算法引入DIC,并將平方差總和(SSD)準(zhǔn)則改進(jìn)為零均值規(guī)范化平方差總和(ZNSSD)準(zhǔn)則,以應(yīng)對(duì)目標(biāo)圖像像素灰度的線(xiàn)性變化.
(1)
ξ=(Δx,Δy,1)T表示像素點(diǎn)在圖像子區(qū)內(nèi)的局部坐標(biāo).
W(ξ;p)表示仿射變形函數(shù)(位移映射函數(shù)),
其中,p=(u,v,ux,uy,vx,vy)T是已知的變形參數(shù)的整像素部分.圖像子區(qū)內(nèi)的點(diǎn)x+ξ=(x,y,1)T對(duì)應(yīng)變形后的點(diǎn)W(ξ;p)=(w1,w2,1)T.
為了求其亞像素部分,定義增量變形函數(shù)
其中,Δp=(Δu,Δv,Δux,Δuy,Δvx,Δvy)T就是要求的變形參數(shù)向量.
接下來(lái),求解Δp使相關(guān)性系數(shù)公式(1)取得最小值.
令c(Δp)的一階導(dǎo)數(shù)
將C(Δp)在Δp=0處做一階泰勒展開(kāi),得
C(Δp)=C(0)+C(0)Δp,
則
C(Δ(p)=C(0)+C(0)Δp=0,
得到
C(0)Δp=-C(0).
由于
則
得到Δp之后,就可以用W(ξ;Δp)反過(guò)來(lái)更新W(ξ;p)
本節(jié)給出數(shù)字圖像相關(guān)方法的實(shí)驗(yàn)效果,用MATLAB模擬生成256×256數(shù)字散斑圖像作為測(cè)試對(duì)象,如圖2a所示,假設(shè)試件受y方向的平行壓力,則y方向發(fā)生軸向壓縮,x方向發(fā)生軸向拉伸,如圖2b所示,其中的紅線(xiàn)框區(qū)域表示變形后的散斑圖像形狀.
然后在MATLAB中實(shí)現(xiàn)了數(shù)字圖像相關(guān)方法的程序,計(jì)算散斑圖像的位移場(chǎng),實(shí)驗(yàn)結(jié)果如下所述,通過(guò)迭代得到的種子點(diǎn)的位移向量p如表1所示.
圖2模擬生成的數(shù)字散斑圖像及其形變
Fig.2Simulateddigitalspeckleimageanditsdeformation
(a)—模擬生成的數(shù)字散斑圖像;(b)—數(shù)字散斑圖像沿y軸方向壓縮.
表1 模擬實(shí)驗(yàn)中p的迭代計(jì)算過(guò)程Table 1 Iterative calculation of p in the simulated experiment
最后可以得到x方向的位移場(chǎng)u和y方向的位移場(chǎng)v,分別如圖3a和圖3b所示,進(jìn)一步計(jì)算得到x方向的正應(yīng)變場(chǎng)Exx和y方向的正應(yīng)變場(chǎng)Eyy,分別如圖3c和圖3d所示.此外,表2給出應(yīng)變場(chǎng)Exx和Eyy的最大值、平均值和最小值.
圖3 計(jì)算結(jié)果Fig.3 Caculation results(a)—x方向的位移場(chǎng)u; (b)—y方向的位移場(chǎng)v; (c)—x方向的正應(yīng)變場(chǎng)Exx; (d)—y方向的正應(yīng)變場(chǎng)Eyy.
表2 計(jì)算得到的應(yīng)變場(chǎng)Exx和Eyy的統(tǒng)計(jì)值Table 2 Statistical values of Exx and Eyy
可以看出,基于圖像子區(qū)的數(shù)字圖像相關(guān)方法計(jì)算得到了均勻的應(yīng)變場(chǎng),與預(yù)期結(jié)果基本一致,只有圖3c左右兩側(cè)邊緣出現(xiàn)明顯誤差,這是因?yàn)橛?jì)算邊緣附近點(diǎn)時(shí),圖像子區(qū)覆蓋了計(jì)算區(qū)域之外的背景像素,從而影響了計(jì)算結(jié)果的準(zhǔn)確性.對(duì)邊緣附近點(diǎn)的處理是實(shí)現(xiàn)全場(chǎng)應(yīng)變測(cè)量的關(guān)鍵之一.
數(shù)字圖像相關(guān)方法的核心是圖像匹配,在定義位移映射函數(shù)和相關(guān)性準(zhǔn)則基礎(chǔ)上,為了在測(cè)試圖像中尋找參考圖像中的點(diǎn)相對(duì)應(yīng)的點(diǎn)并達(dá)到亞像素精度,需要解決計(jì)算精度與計(jì)算速度這一對(duì)矛盾,當(dāng)前主要方法是正向增量的牛頓-拉夫森(FA-NR)算法和反向合成的高斯-牛頓(IC-GN)算法,通過(guò)迭代過(guò)程求解出每個(gè)點(diǎn)的位移向量,從而得到位移場(chǎng)并進(jìn)一步計(jì)算出應(yīng)變場(chǎng).
本文實(shí)現(xiàn)了數(shù)字圖像相關(guān)方法的IC-GN算法,對(duì)某個(gè)點(diǎn),首先根據(jù)已有的位移向量,計(jì)算得出參考圖像的點(diǎn)和變形圖像的點(diǎn)之間的初步對(duì)應(yīng)關(guān)系,其中變形圖像中亞像素位置的灰度值用插值方法得到,然后求解最優(yōu)化問(wèn)題,得到使相關(guān)系數(shù)取得極值的位移向量增量,再疊加到原有的位移向量上,通過(guò)不斷迭代直到相關(guān)系數(shù)收斂到極值,從而得到該點(diǎn)的位移向量的最優(yōu)值.為了驗(yàn)證方法的有效性,本文在MATLAB中實(shí)現(xiàn)了數(shù)字圖像相關(guān)程序并模擬生成散斑圖像作為測(cè)試對(duì)象,得到對(duì)位移場(chǎng)和應(yīng)變場(chǎng)的測(cè)量結(jié)果.