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