趙 琛,江衛(wèi)華
(武漢工程大學(xué) 電氣信息學(xué)院,武漢 430073)
工業(yè)生產(chǎn)中對(duì)加工工件精度要求越來越高,但傳統(tǒng)測(cè)量工件尺寸的技術(shù)不僅效率低下,測(cè)量誤差也很大。雙目以及多目立體視覺測(cè)量技術(shù)的運(yùn)用已經(jīng)逐步代替?zhèn)鹘y(tǒng)的測(cè)量技術(shù)成為當(dāng)今的研究熱點(diǎn)。這種測(cè)量技術(shù)借鑒了人眼感知外界事物的特點(diǎn)[1],結(jié)合視差原理感知深度信息,隨著當(dāng)今計(jì)算機(jī)性能與測(cè)量算法不斷提升與優(yōu)化,使得這種測(cè)量方式更加高效、快速、準(zhǔn)確、抗干擾強(qiáng),由于不用直接接觸,可保證測(cè)量后被測(cè)物無磨損?;谝陨咸匦?,這種技術(shù)現(xiàn)如今被廣泛運(yùn)用在工業(yè)自動(dòng)化生產(chǎn)測(cè)量當(dāng)中,成為工業(yè)生產(chǎn)過程中不可或缺的一部分。本文所述系統(tǒng)目前尚處于試驗(yàn)階段,以備后期完善獲得更高的測(cè)量精度。
現(xiàn)如今,利用雙目立體視覺進(jìn)行三維測(cè)量是當(dāng)今非接觸測(cè)量領(lǐng)域最重要的手段之一,其測(cè)量原理通過測(cè)量系統(tǒng)的兩部相機(jī)分別對(duì)空間同一位置的某點(diǎn)進(jìn)行采集并被映射到像平面中,兩相機(jī)光心相連,光心與空間點(diǎn)相連構(gòu)成三角形,而此三角形與兩成像平面的交點(diǎn)(成像點(diǎn))之間的距離就是視差值,依據(jù)相似性原理和已知的視差值我們可以得到被測(cè)物體的深度信息,雙目立體視覺成像模型如圖1所示。
圖1 雙目立體視覺成像模型Fig.1 Binocular stereo vision imaging model
依據(jù)成像模型所示,假設(shè)空間任一點(diǎn)P的坐標(biāo)設(shè)為(X,Y,Z),在左右相機(jī)坐標(biāo)系下設(shè)為(Xleft,Yleft,Zleft),(Xright,Yright,Zright),在左右相機(jī)成像平面坐標(biāo)系下設(shè)為(uL,vL),(uR,vR)。根據(jù)三角形相似性原理[2],空間點(diǎn)的三維空間坐標(biāo)可表示為式(1):
由式(1)可知點(diǎn)P的深度信息Z可由視差(uL-uR)的變化反映出來。
雙目立體視覺三維測(cè)量系統(tǒng)由2部Basler-200W工業(yè)相機(jī)、2個(gè)12 mm OPT 500W分辨率鏡頭、100W散斑點(diǎn)激光器以及設(shè)備支架和立體視覺軟件平臺(tái)組成,并且可以選配便攜式信號(hào)發(fā)生器來實(shí)現(xiàn)雙攝像機(jī)同步采集。
測(cè)量系統(tǒng)配備2臺(tái)相同型號(hào)參數(shù)的工業(yè)相機(jī),兩相機(jī)豎直平行安裝并配合2個(gè)相同焦距的鏡頭,實(shí)驗(yàn)中兩部相機(jī)從預(yù)先設(shè)置的位置對(duì)同一被測(cè)物體進(jìn)行采集;其中的基本實(shí)驗(yàn)參數(shù)如下:相機(jī)的工作距離450 mm,兩相機(jī)間距120 mm,視野大小250*200。測(cè)量平臺(tái)結(jié)構(gòu)如圖2所示。
圖2 測(cè)量平臺(tái)結(jié)構(gòu)圖Fig.2 Measurement platform structure
本系統(tǒng)采用了著名的張氏標(biāo)定法,通過對(duì)每部相機(jī)進(jìn)行單獨(dú)標(biāo)定,分別獲取兩部相機(jī)的內(nèi)參數(shù)和外部位姿。其標(biāo)定過程通過將一張角點(diǎn)數(shù)為7*7,外邊框尺寸為40 mm*40 mm的圓點(diǎn)標(biāo)定板手動(dòng)擺放在相機(jī)的視野內(nèi),不斷變換擺放位置(擺放的規(guī)則是盡量鋪滿整個(gè)視野范圍)并讓2個(gè)相機(jī)對(duì)每個(gè)擺放位置進(jìn)行采圖 (一般每個(gè)相機(jī)采集15~20張圖片),將采集到的圖像帶入標(biāo)定算法中執(zhí)行,在標(biāo)定算法準(zhǔn)確識(shí)別標(biāo)定圖像中標(biāo)定板輪廓和角點(diǎn)的前提下,計(jì)算標(biāo)定結(jié)果。
標(biāo)定的方法通過建立世界坐標(biāo)系,對(duì)已知尺寸標(biāo)定板上的角點(diǎn)進(jìn)行坐標(biāo)提取,并通過提取的角點(diǎn)坐標(biāo)及與之對(duì)應(yīng)的圖像坐標(biāo)可以求得一個(gè)關(guān)系矩陣H,如式(2)所示;由于內(nèi)參數(shù)矩陣包含5個(gè)未知量,我們通過相機(jī)采集至少3張以上的標(biāo)定圖像,獲取至少3個(gè)關(guān)系矩陣,結(jié)合式(3)的約束條件可以求出內(nèi)參數(shù)矩陣M,再通過式(2)與矩陣M可以估算出外部位姿,最后通過極大似然法優(yōu)化結(jié)果,獲取準(zhǔn)確的標(biāo)定參數(shù)。
在實(shí)驗(yàn)過程中,由于鏡頭的品質(zhì)、工藝及外部環(huán)境光線干擾等因素,會(huì)導(dǎo)致相機(jī)成像存在不同程度的畸變,所以在標(biāo)定的過程中需要對(duì)畸變進(jìn)行校正,從而得到相機(jī)標(biāo)定的非線性模型,本文所述標(biāo)定方法僅對(duì)徑向畸變進(jìn)行校正。
通過上述的方法對(duì)兩相機(jī)分別進(jìn)行了標(biāo)定,標(biāo)定結(jié)果中左相機(jī)的內(nèi)參數(shù)據(jù)為[0.0109279,-437.392,4.405×10-6,4.4×10-6,825.436,600.342,1624,1236],右相機(jī)的內(nèi)參數(shù)據(jù)為[0.0124898,-376.887,4.39702×10-6,4.4×10-6,817.598,609.284,1624,1236],左相機(jī)外部位姿參數(shù)為[-71.5355,-54.7897,549.886,2.48714,354.032,0.557989], 右相機(jī)外部位姿參數(shù)為[-106.874,-59.3956,712.651,3.38924,3.59601,359.922], 標(biāo)定精度為0.0290,標(biāo)定結(jié)果可視化如圖3所示,圖中左右相機(jī)對(duì)標(biāo)定板的輪廓和各角點(diǎn)都能準(zhǔn)確匹配識(shí)別。
圖3 左右攝像機(jī)標(biāo)定圖Fig.3 Right camera calibration diagram
立體標(biāo)定表示了從任一相機(jī)坐標(biāo)系通過平移、旋轉(zhuǎn)變換到另一相機(jī)坐標(biāo)系的過程。假設(shè)空間一點(diǎn)P,在左右相機(jī)坐標(biāo)系中空間點(diǎn)可以表示為Pl,Pr,左右相機(jī)的位姿參數(shù)分別設(shè)為Rl,Tl;Rr,Tr, 兩相機(jī)的相對(duì)位姿關(guān)系設(shè)為R,T,立體標(biāo)定的過程可由式(4)表示:
經(jīng)標(biāo)定得到相對(duì)旋轉(zhuǎn)向量R為[0.143022,0.000707243,-0.0695999],相對(duì)平移向量T為[359.603,350.824,0.138127]。
雙目立體視覺系統(tǒng)實(shí)現(xiàn)的前提,是為讓同一空間點(diǎn)在兩相機(jī)成像平面中能搜索到相互對(duì)應(yīng)的點(diǎn)對(duì),在沒有進(jìn)行校正的情況下,兩相機(jī)由于安裝等原因使得兩相機(jī)像平面并非處于同一平面內(nèi),這就使得搜索對(duì)應(yīng)點(diǎn)對(duì)的工作將在三維空間環(huán)境中進(jìn)行,此方法計(jì)算量大且消耗大量的時(shí)間,如果有一種方法可以將搜索點(diǎn)對(duì)的工作從三維空間降維到一維度平面上進(jìn)行,將可以大幅度提升搜索效率,這便涉及到立體校正。本系統(tǒng)采用文獻(xiàn)[3]算法對(duì)兩成像平面進(jìn)行重投影以此來達(dá)到校正目的。
通過Bouguet算法,實(shí)現(xiàn)了如圖4所示的立體校正,由圖中可以觀察到兩個(gè)標(biāo)定板位于同一平面且行對(duì)齊。
圖4 立體校正Fig.4 Stereo correction
特征立體匹配算法是一種局部立體匹配算法,以待匹配像素點(diǎn)u(m,n)為中心并確定一定的范圍,此范圍內(nèi)的像素作為支持像素建立窗口,其中窗口中的支持像素設(shè)為v(i,j),考慮到支持像素與中心像素空間距離關(guān)系和與中心像素灰度及顏色特征之間的顯著相關(guān)性,為窗口內(nèi)每一個(gè)支持像素賦予權(quán)重,權(quán)重可以表示為式(5):
式中:yc,yp,yk,ysa為不同特征差異性參數(shù)。 考慮到算法對(duì)低灰度值敏感,對(duì)高灰度值不敏感的特性,引入表示待匹配像素之間表示相關(guān)度的式子。
式中:M為窗口大??;ud為待匹配像素點(diǎn)。結(jié)合權(quán)重與相關(guān)度可以得到代價(jià)聚合函數(shù)。
根據(jù)WTA局部最優(yōu)準(zhǔn)則,計(jì)算每個(gè)像素最終視差。
最后考慮到左右相機(jī)視角拍出來的圖像會(huì)存在一定偏差,造成匹配后視差圖出現(xiàn)遮擋問題,提出了如下的解決方法:首先固定左圖像,使右圖像作為待匹配對(duì)象,利用上述特征權(quán)重立體匹配算法得到以右圖像為匹配對(duì)象的視差圖,接著將右圖像固定,讓左圖像為待匹配對(duì)象,同樣利用上述算法得到以左圖像為匹配對(duì)象的視差圖,最后依據(jù)WTA局部最優(yōu)準(zhǔn)則,通過比較左右視差圖,獲取使得代價(jià)函數(shù)較大的那個(gè)視差圖視差值作為最終視差值,遍歷并比較所有點(diǎn)以獲得完整的視差圖。
超限學(xué)習(xí)機(jī)(ELM)使用的是單層前饋神經(jīng)網(wǎng)絡(luò),由圖5可知,其由輸入層,隱含層和輸出層所組成[4],與后向傳輸算法不斷通過迭代調(diào)整隱含層權(quán)重來優(yōu)化價(jià)值函數(shù)使其收斂相比,ELM中隱含層的權(quán)重通常都是基于某種分布隨機(jī)分配或人為給定且權(quán)值固定,我們只需計(jì)算隱含層到輸出層之間的權(quán)重即可,單層前饋神經(jīng)網(wǎng)絡(luò)的超限學(xué)習(xí)機(jī)ELM算法模型[5]在訓(xùn)練效率上提升明顯且誤匹配率與后向傳輸算法相當(dāng)。對(duì)于一個(gè)含有L個(gè)隱含層,N個(gè)訓(xùn)練樣本的ELM訓(xùn)練模型,其ELM網(wǎng)絡(luò)的輸出可以表示為式(9):
式中:g(x)為激活函數(shù);ai為第 i個(gè)隱含層單元的輸入權(quán)值;bi為第i個(gè)隱含層的偏置單元;f(xj)為第j個(gè)隱含層單元的輸出權(quán)值;β為輸出權(quán)重,是我們待求解的目標(biāo),即隱含層到輸出層的權(quán)值。
其訓(xùn)練過程可以表述為首先使用縮小一定比例的原始左右圖像數(shù)據(jù)作為訓(xùn)練樣本xi與使用同樣比例縮小的立體匹配算法得到的真實(shí)視差值集作為的標(biāo)簽集ti共同組成訓(xùn)練集,然后對(duì)圖像信息進(jìn)行歸一化處理,需保證數(shù)據(jù)在0~1的范圍內(nèi)。為了無限逼近訓(xùn)練數(shù)據(jù)的真實(shí)結(jié)果,我們希望分類結(jié)果oj與真實(shí)結(jié)果tj一致,那么也就是讓輸出誤差最小,即式(10)所示:
圖5 ELM原理圖Fig.5 ELM schematic
矩陣表示為式(11):
式中:H為輸出層的輸入;β為輸出權(quán)重;T為預(yù)測(cè)視差值。在設(shè)定好權(quán)重和偏置ai,bi之后,可以根據(jù)最小二乘法得到β:
確定β之后,就可以使用我們所建立的ELM預(yù)測(cè)模型進(jìn)行測(cè)試,預(yù)測(cè)過程是通過使用歸一化的原始尺寸的左右圖像上所有像素點(diǎn)及各點(diǎn)對(duì)應(yīng)的真實(shí)視差值作為測(cè)試集合;通過式(11)向輸出層的輸入H中添加測(cè)試樣本數(shù)據(jù)通過計(jì)算獲得預(yù)測(cè)結(jié)果,比對(duì)其與實(shí)際視差值之間的差異,以待進(jìn)一步優(yōu)化。
需要注意的是,為了降低計(jì)算量優(yōu)化系統(tǒng)性能并且滿足實(shí)時(shí)預(yù)測(cè),在訓(xùn)練過程與預(yù)測(cè)過程都采用逐行匹配的方法,即在立體校正后處于共面與共線的左右圖像平面上,尋找匹配點(diǎn)對(duì)的工作將在同一直線進(jìn)行。
在完成以上工作的前提下,物體的三維坐標(biāo)可由式(1)計(jì)算出來,通過點(diǎn)云將三維坐標(biāo)在顯示設(shè)備上直觀的繪制出來,至此完成物體的三維重建,通過三維重建獲得的三維點(diǎn)云圖像如圖6所示。
圖6 三維點(diǎn)云重建圖Fig.6 3D point cloud reconstruction
本實(shí)驗(yàn)對(duì)普遍使用的SAD算法與本文中所述的基于超限學(xué)習(xí)機(jī)的特征匹配算法在進(jìn)行立體匹配時(shí)的匹配精度與算法運(yùn)行效率進(jìn)行了比較,并通過采用像素點(diǎn)誤匹配百分比法(PBM)來作為誤匹配的指標(biāo),其表達(dá)方式如式(13):
式中:?為錯(cuò)誤閥值;dp為匹配得到的視差;dt為真實(shí)視差。評(píng)價(jià)結(jié)果如表1所示。
表1 評(píng)價(jià)結(jié)果Tab.1 Evaluation results
通過比較可以發(fā)現(xiàn)采用了ELM的算法相比于SAD算法在運(yùn)行效率上得到了明顯的提升且匹配的精度有所提高。
實(shí)驗(yàn)也對(duì)系統(tǒng)應(yīng)用在實(shí)際測(cè)量中的測(cè)量精度進(jìn)行了驗(yàn)證,本實(shí)驗(yàn)以工件為被測(cè)對(duì)象,在三維重建獲取三維圖的基礎(chǔ)上,通過視差原理獲取被測(cè)物三維坐標(biāo)并對(duì)工件的尺寸進(jìn)行測(cè)量,測(cè)量結(jié)果與通過精密儀器測(cè)量后的結(jié)果進(jìn)行比對(duì),測(cè)量數(shù)據(jù)對(duì)比如表2所示。
測(cè)量實(shí)驗(yàn)可知,由10次的測(cè)量數(shù)據(jù)可以計(jì)算出其平均的測(cè)量精度為0.34 mm,最終的測(cè)量數(shù)據(jù)與真實(shí)測(cè)量數(shù)據(jù)之間符合預(yù)期但還是存在一定程度的誤差,而造成誤差的原因經(jīng)分析主要由于匹配過程中各種噪聲干擾,前景與背景對(duì)比度不足造成的點(diǎn)云數(shù)據(jù)缺失,工件表面的低紋理高反光等因素的影響使得測(cè)量精度還有進(jìn)一步提升的空間。
表2 系統(tǒng)測(cè)量數(shù)據(jù)對(duì)比Tab.2 System measurement data comparison
本文對(duì)雙目立體視覺三維測(cè)量系統(tǒng)設(shè)計(jì)過程中所經(jīng)歷的幾個(gè)關(guān)鍵的步驟進(jìn)行了詳細(xì)闡述。因?yàn)榱Ⅲw匹配對(duì)于系統(tǒng)的重要性,驗(yàn)證了一種基于超限學(xué)習(xí)機(jī)的立體匹配算法,超限學(xué)習(xí)機(jī)可以自我學(xué)習(xí)并進(jìn)行預(yù)測(cè),相比于傳統(tǒng)的立體匹配算法運(yùn)行匹配的過程更加高效。系統(tǒng)通過視覺手段獲取被測(cè)物體三維信息的方法避免了直接測(cè)量手段中因直接接觸所造成的測(cè)量儀器或被測(cè)物體的磨損問題。經(jīng)優(yōu)化,系統(tǒng)具有較強(qiáng)的抗干擾性能,比傳統(tǒng)三維測(cè)量系統(tǒng)有更高的效率和較高的精確度。