整像素搜索算法在光學(xué)測量中的應(yīng)用
引言
數(shù)字散斑相關(guān)測量方法是現(xiàn)代光學(xué)測量領(lǐng)域內(nèi)的一種重要方法,該方法通過對被測物體變形前后的位移或變形前后的兩個(gè)散斑場圖像進(jìn)行相關(guān)性計(jì)算而得到其形變等力學(xué)性能。與其他的光學(xué)測量方法相比,它最大的優(yōu)點(diǎn)就在于實(shí)驗(yàn)設(shè)備簡單,測量方便,通過與CCD相機(jī)等雙目圖像采集設(shè)備配合,具有全場非接觸、無損傷、精度高、速度快、自動(dòng)化程度高等特點(diǎn)。正是由于這些特點(diǎn),數(shù)字散斑相關(guān)方法打破了傳統(tǒng)測量方法的局限性,開創(chuàng)了廣泛的應(yīng)用領(lǐng)域,如復(fù)合材料形變的測量、動(dòng)態(tài)轉(zhuǎn)軸扭轉(zhuǎn)應(yīng)變的測量、通過對皮膚應(yīng)變的測量檢測癌細(xì)胞以及在復(fù)雜惡劣環(huán)境下的測量工作等。
數(shù)字散斑相關(guān)方法歸根到底是在求取物體上同一點(diǎn)在兩幅散斑圖像上對應(yīng)的像素點(diǎn)位移,其基本思想是將搜索過程分為整像素搜索和亞像素搜索兩部分進(jìn)行。整像素搜索是以整像素為單位進(jìn)行的,是在較大的區(qū)域內(nèi)進(jìn)行快速的定位:亞像素搜索則是在整像素的基礎(chǔ)上進(jìn)行,進(jìn)一步提高計(jì)算的精度和準(zhǔn)確性。
因此,整像素搜索在整個(gè)搜索過程中至關(guān)重要,它的準(zhǔn)確度直接關(guān)系到后續(xù)亞像素搜索算法的可行性、準(zhǔn)確性和高速性。數(shù)字散斑相關(guān)算法目前面臨的最大問題是匹配搜索的速度和精度,搜索匹配是數(shù)字散斑相關(guān)方法中計(jì)算復(fù)雜度、處理數(shù)據(jù)量最大的步驟?;诨叶忍卣鞯臍w一化互相關(guān)方法(NCC)作為圖像匹配搜索的相似性度量函數(shù),在現(xiàn)已提出的大量度量相似性的評判依據(jù)中,其性能通常被認(rèn)為是最好的。
NCC相關(guān)函數(shù)具有較高的精確度、較強(qiáng)的抗背景噪聲能力和圖像畸變適應(yīng)性等特性,在相關(guān)領(lǐng)域得到了廣泛的應(yīng)用。然而,在眾多優(yōu)點(diǎn)的背后,它也存在一些顯著的缺點(diǎn),即相關(guān)性計(jì)算復(fù)雜度較高,計(jì)算速度慢,計(jì)算耗時(shí)較長。圖像匹配技術(shù)的應(yīng)用并不都具備高性能計(jì)算機(jī)上實(shí)現(xiàn)的環(huán)境和條件,這對于一些實(shí)時(shí)性要求較高的圖像匹配應(yīng)用存在一定的局限性。
NCC相關(guān)匹配算法具有高精度、高魯棒性和高抗噪性等許多優(yōu)點(diǎn),然而,在滿足高性能的同時(shí)不可避免會(huì)引入計(jì)算復(fù)雜度的問題。由于它在匹配過程中計(jì)算量較大,計(jì)算耗費(fèi)的時(shí)間較長,導(dǎo)致匹配效率低,因此NCC算法在實(shí)時(shí)測量系統(tǒng)中很難得到應(yīng)用。
本文針對傳統(tǒng)歸一化互相關(guān)算法計(jì)算速度慢、計(jì)算復(fù)雜度高的問題進(jìn)行了研究,提出了一種改進(jìn)的快速整像素搜索算法。該方法基本思想采用了由粗匹配到精匹配的策略,采用局部模板進(jìn)行粗匹配并計(jì)算局部模板的相關(guān)系數(shù),通過自適應(yīng)閾值排除大量非匹配點(diǎn),篩選出少量的候選匹配點(diǎn),利用全模板對候選匹配窗口進(jìn)行精匹配,以確定最佳匹配點(diǎn):通過采用自適應(yīng)閾值,以增強(qiáng)算法的穩(wěn)定性,降低算法的計(jì)算復(fù)雜度:通過自適應(yīng)地調(diào)整搜索區(qū)域的大小,以提高算法的搜索速度。
1整像素搜索方法原理及改進(jìn)
1.1數(shù)字散斑相關(guān)計(jì)算
數(shù)字散斑相關(guān)匹配是根據(jù)物體變形前后散斑圖像的互相關(guān)性來獲取物體的位移和變形。數(shù)字散斑相關(guān)計(jì)算過程如圖1所示。
將變形前參考圖片的灰度分布函數(shù)設(shè)為f(x,y),將變形后目標(biāo)圖片的分布函數(shù)設(shè)為g(x,y)。在參考圖片中選取以某待測點(diǎn)P(x,y)為中心的N×N像素大小的矩形區(qū)域作為樣本子區(qū)(通常也稱為"匹配模板"),同時(shí)在目標(biāo)圖片中,同樣以P(x,y)為中心選取M×M大小(M>N)的矩形區(qū)域作為搜索子區(qū)(通常也稱為"匹配窗口")。然后利用與樣本子區(qū)相同大小的子區(qū)B在搜索子區(qū)中逐點(diǎn)搜索進(jìn)行相關(guān)運(yùn)算,尋找與參考圖片中所選取的樣本子區(qū)相關(guān)系數(shù)為最大值或最小值(依賴所選擇的相關(guān)函數(shù))所對應(yīng)的點(diǎn)Q(x,y),從而可以確定參考圖像點(diǎn)P(x,y)在x和y方向的位移分量。
1.2相關(guān)系數(shù)
數(shù)字散斑相關(guān)方法一般采用基于灰度的統(tǒng)計(jì)相關(guān)算法,它的原理是根據(jù)形變前后對各子區(qū)灰度分布的統(tǒng)計(jì)特性來判定兩子區(qū)是否相關(guān),通常判定依據(jù)是各種相關(guān)系數(shù)函數(shù)。常見的相關(guān)系數(shù)函數(shù)可參考文獻(xiàn)。
1.3改進(jìn)的快速整像素搜索方法
本文算法整體實(shí)現(xiàn)流程圖如圖2所示。
改進(jìn)算法主要分為以下三大關(guān)鍵步驟:
(1)局部匹配模板的選取。
與三層匹配算法相比,本文采用兩層匹配算法,減少多次匹配繁瑣的步驟,能夠很好地解決模板信息單一的問題,通過采用局部匹配模板進(jìn)行預(yù)匹配,能夠有效減少全模板匹配的計(jì)算量。局部模板匹配作為提高算法效率的一個(gè)重要步驟,不僅要求其包含盡可能少的像素點(diǎn),而且還需要盡可能多地反映全模板的紋理信息,因此,本文在全模板中各個(gè)不同位置選取區(qū)域塊構(gòu)成局部匹配模板。
(2)直方圖統(tǒng)計(jì)自適應(yīng)選取閾值。
為提高算法的可靠性和靈活性,本文采用了自適應(yīng)閾值選取的方法,有效降低圖像噪聲和局部曝光對算法產(chǎn)生的影響。圖像相關(guān)匹配通常需要對整個(gè)位移前后的散斑圖像所有像素進(jìn)行遍歷相關(guān)運(yùn)算,從而確定物體位移前后全場像素點(diǎn)的位移矢量(圖3)。相鄰兩個(gè)匹配點(diǎn)的參考子區(qū)和搜索區(qū)域都會(huì)存在重疊區(qū)域,相鄰兩個(gè)匹配點(diǎn)搜索區(qū)域的紋理信息以及受到的噪聲和曝光影響相似,因此可認(rèn)為其相關(guān)系數(shù)分布存在一定的相似性。本文基于這一特征,統(tǒng)計(jì)當(dāng)前匹配點(diǎn)在局部匹配模板下相關(guān)系數(shù)的分布,從而得到各個(gè)區(qū)間內(nèi)相關(guān)系數(shù)值的數(shù)量,通過計(jì)算確定合適的相關(guān)系數(shù)值作為下一匹配點(diǎn)的閾值。
(3)自適應(yīng)調(diào)整搜索區(qū)域的位置和大小。
在利用數(shù)字散斑進(jìn)行工業(yè)測量時(shí),物體表面各點(diǎn)的位移或形變都可視為連續(xù)變化的,一般情況下發(fā)生急劇的突變的可能性較小,因此可認(rèn)為在位移前后散斑圖中相鄰兩個(gè)匹配點(diǎn)的位移值相差不大。在傳統(tǒng)的整像素搜索算法中,通常是以參考子區(qū)中心點(diǎn)坐標(biāo)為中心在目標(biāo)圖像中框定一個(gè)大于參考子區(qū)的矩形區(qū)域作為搜索區(qū)域,這樣在未知物體位移的情況下,需要選取一個(gè)較大的搜索區(qū)域,防止最佳匹配點(diǎn)不在搜索區(qū)域內(nèi)導(dǎo)致圖像失配。然而搜索區(qū)域過大會(huì)導(dǎo)致搜索的次數(shù)增加,降低搜索速度:如果對全場大量匹配點(diǎn)都進(jìn)行搜索,則會(huì)導(dǎo)致搜索時(shí)間成倍增加。
為了解決上述問題,本文提出一種自適應(yīng)調(diào)整搜索區(qū)域的方法,如圖4所示。假設(shè)圖4(a)中P點(diǎn)為該參考圖像的初始待匹配點(diǎn),此時(shí)與傳統(tǒng)方法相同,在目標(biāo)圖像中以P點(diǎn)坐標(biāo)為中心選取一個(gè)較大的矩形區(qū)域作為搜索區(qū)域P,如圖4(b)所示。當(dāng)搜索完成后得到最佳匹配點(diǎn)為P*,記錄當(dāng)前匹配點(diǎn)的位移量(u,,)。在進(jìn)行相鄰匹配點(diǎn)Q的搜索時(shí),在目標(biāo)圖像中找到Q點(diǎn)位移(u,,)后對應(yīng)的Q*,此時(shí)以Q*為中心,選取一個(gè)小于搜索區(qū)域P的矩形區(qū)域作為Q點(diǎn)的搜索區(qū)域,如圖4(c)所示。然后在該搜索區(qū)域內(nèi)搜索Q點(diǎn)的最佳匹配點(diǎn),完成搜索,記錄Q點(diǎn)的位移量(u0,,0),并作為位移值對下一點(diǎn)搜索區(qū)域進(jìn)行調(diào)整。該方法通過對搜索區(qū)域的位置和大小進(jìn)行自適應(yīng)調(diào)整,提高搜索區(qū)域選擇的靈活性,并進(jìn)一步降低搜索時(shí)間,提高算法匹配搜索的效率。
2實(shí)驗(yàn)結(jié)果與分析
參考子區(qū)(計(jì)算窗口)的大小是影響整像素搜索準(zhǔn)確度的一個(gè)重要因素,計(jì)算窗口選擇過小,包含圖像特征的信息量少,雖然計(jì)算速度會(huì)提高,但相鄰點(diǎn)之間的相關(guān)系數(shù)會(huì)有明顯的突變:子區(qū)選擇過大,包含圖像特征的信息量大,可以補(bǔ)償各種引入噪聲的影響,但計(jì)算時(shí)間也隨之增加。因此,選擇一個(gè)合適大小的計(jì)算窗口是保證其他一系列實(shí)驗(yàn)正確性的前提。本節(jié)實(shí)驗(yàn)分析了計(jì)算窗口對相關(guān)系數(shù)的影響,實(shí)驗(yàn)采用CCD相機(jī)采集變形前后兩幅散斑圖,如圖5所示,散斑圖像素大小為1080×800,整像素水平位移和垂直位移數(shù)據(jù)都已經(jīng)提前確定。
對提出的快速算法進(jìn)行兩組實(shí)驗(yàn),第一組實(shí)驗(yàn)采用31×31的模板大小和256×256的搜索區(qū)域,第二組實(shí)驗(yàn)采用61×61的模板大小和256x256的搜索區(qū)域。每組實(shí)驗(yàn)分別進(jìn)行不同數(shù)量匹配點(diǎn)的搜索,計(jì)算統(tǒng)計(jì)不同數(shù)量匹配點(diǎn)所消耗的時(shí)間,并與其他算法進(jìn)行對比,統(tǒng)計(jì)結(jié)果如表1所示。
從表1我們可以看出,在進(jìn)行單點(diǎn)匹配時(shí),本文算法速度略優(yōu),約是NCC算法的3倍、NCC×BF算法的2倍。但是進(jìn)行多點(diǎn)匹配時(shí),本文算法相對于NCC和NCC×BF算法有明顯的優(yōu)勢:在31-31的模板下多點(diǎn)匹配大約是NCC算法的15倍,是NCC×BF算法的11倍:在61x61的模板下多點(diǎn)匹配大約是NCC算法的16倍,是NCC×BF算法的12倍。因此,可以得出結(jié)論,本文算法采取的自適應(yīng)閾值以及自適應(yīng)調(diào)整搜索區(qū)域的方法適合進(jìn)行多點(diǎn)匹配搜索,并且模板越大優(yōu)勢越明顯。
3結(jié)語
本文基于NCC相關(guān)匹配算法提出了一種適合數(shù)字散斑相關(guān)方法的快速整像素搜索方法。該方法首先采用局部匹配模板排除大量非匹配點(diǎn),減少了大量無關(guān)點(diǎn)的計(jì)算,從而提高了算法的計(jì)算速度和效率:然后利用直方圖統(tǒng)計(jì)自適應(yīng)選取閾值,降低了圖像噪聲和局部曝光對算法的影響,提高了算法的靈活性和魯棒性:最后采用自適應(yīng)調(diào)整搜索區(qū)域的方法對搜索區(qū)域的位置和大小進(jìn)行調(diào)整,進(jìn)一步實(shí)現(xiàn)對算法的加速。本文提出的快速匹配方法相對于傳統(tǒng)匹配方法來說,在不損失準(zhǔn)確度的情況下,計(jì)算速度和計(jì)算效率都有很大的提高。