李春明,耿永鵬,遠松靈,李 鵬
(1.河北科技大學 信息科學與工程學院;2.石家莊市京華電子實業有限公司,河北 石家莊 050000)
雙目視覺測量系統在不接觸物體的前提下可以高效率、高精度地獲取目標物體的三維信息,當前作為機器視覺領域的重要分支,技術相對成熟,其擬人化的工作方法可以在各種條件下測量各種場景的三維信息,這在現代科學技術社會中具有重要意義和極高的研究價值,它廣泛用于工業、農業和醫學等各個領域。因此,在研究了雙目視覺原理和關鍵技術之后,設計了一套雙目立體測距系統。
雙目立體視覺以模擬人眼圖像的方式獲得深度信息,其主要思想是通過視差原理,從兩個不同方向維度獲取目標圖像信息,進而獲取物體的三維信息。立體視覺測距試驗完成過程如圖1所示。

圖1 立體視覺測距流程
類似于人眼獲取的場景信息,兩個相對平行的相機拍攝同一物體獲取照片,但由于兩臺攝像機位置不同,獲得的兩個圖像之間存在像素位置偏差,基于該原理獲得視差圖,再依據三角測量方法取得被測物體的三維信息,原理圖如圖2所示。

圖2 雙目立體視覺原理
由平行放置的兩臺攝像機對空間中的一點P進行成像,待測點P在左右像平面的投影點分別為pl(xl,yl)和pr(xr,yr),假設P點在攝像機坐標下的坐標為(xc,yc,zc),則P點的坐標可以表示為:
(1)
其中f為相機的焦距,b為光心O1和O2的距離。
通過公式可知,確定物體在平面上的坐標就可以獲取它所對應的三維空間坐標。
筆者采用的是張正友教授提出的相機標定法,挪動標定板的位置以拍攝多組照片。采用Matlab工具箱對拍攝的多組圖片進行標定,最后,檢索攝像機的內部和外部參數以及畸變參數。
由于在制作過程中雙目相機很難保持相對平行,因此需要立體校正確保兩幅圖關聯在同一水平線上,簡化立體匹配所需的時間。
根據約束條件的不同,立體匹配可大致分為以下三大類:①基于局部立體匹配。該算法的優點是具備較強的實時功能,但當處理圖像中弱紋理區域時就會顯得力不從心,造成誤匹配的概率增大。②基于全局的匹配算法。該算法雖然彌補了局部匹配中對弱紋理區域的匹配,但該算法復雜且耗時很多。③半全局立體匹配。該算法既保證精度的同時也確保了匹配速度,從而獲得了研究人員的普遍運用,這也是本文采用此算法的原因。
半全局立體匹配算法的主要思路是對圖像中某一像素進行一維路徑的計算,通過約束項對能量函數進行優化處理,從而得到最優匹配結果,其具體步驟如下:①匹配代價的計算。計算圖像中某一個像素點的匹配代價。②匹配代價的聚合。通過沿8個方向掃描線上分別計算匹配代價,每個路徑的間隔為45°,而后將一切掃描途徑的匹配代價進行聚合。③視差的計算。經過迭代得到計算視差,用隨機的視差影像來校正右圖像,再進行匹配,獲得新的視差圖。④視差的優化處理。左右圖像匹配后,利用左右兩幅圖之間存在的約束性來判定該點是否為誤匹配點,若為誤匹配點則將其剔除。圖3為立體匹配流程圖。

圖3 立體匹配流程
4.1.1 Step1:相機校準。以獲取相機的內部和外部參數,內外參數結果如下:

T=[-120.5369 0.2066 1.5093]
Dl=[-0.2732 0.0584 -0.0006 -0.0008 0.0000]
Dr=[-0.3078 0.0860 -0.0003 -0.0001 0.0000]
其中矩陣Ml和Mr是相機自身的內部參數,R為旋轉矩陣,T為平移向量,Dl和Dr為兩個相機的畸變。
4.1.2 Step2:圖像讀取。在同一時刻對同一物體進行左右目圖像的拍攝,圖4為相機拍攝的左右圖片。

圖4 左右相機拍攝圖片
4.1.3 Step3:圖像校正。使用OpenCV的內置重映射功能進行圖像校正。圖像校正完成后,輸出雙目行對齊圖像(雙目圖像能夠自動行對齊說明雙目標定結果基本正確),圖5為校正后圖片。

圖5 校正后圖片
4.1.4 Step4:立體匹配。雙目立體匹配采用的是SGBM算法,并且使用ReprojectImageTo3D函數將通過雙目匹配獲得的像素坐標轉換為世界坐標系中的3D坐標。
4.1.5 Step5:像素視差圖顯示。圖6為視差圖。

圖6 視差圖
4.1.6 Step6:xyz三維坐標值顯示。運行程序,在像素視差圖上的任意位置單擊操作,從而在命令符號窗口中顯示與該點的像素坐標相對應的3D坐標,圖7為顯示距離的命令符號窗口。

圖7 顯示距離的命令符號窗口
基于SGBM算法匹配在保證精度的同時也大大提升了速度。實驗通過改變目標物與攝像機的相對距離測得不同距離下的深度數據,檢測結果如表1所示。

表1 實驗結果
本實驗以車牌為基準,通過測量各種距離進行檢查可以看出,在距離攝像機較近的位置時精度較高,而當距離變長時誤差也就越大。誤差產生的原因主要包括有實際測量產生的誤差、相機標定產生的誤差以及其他因素影響產生的誤差。
筆者介紹了雙目匹配測距技術的主成分分析和實現過程,通過獲得圖像中被選擇點的三維位置信息,完成距離測量。在對測量車牌距離的測試實驗中驗證了該方法在測距方面的可行性,該實驗表明,對于設備簡單、成本低廉的雙目視覺測距系統依然可以測量出穩定性強、準確度高的結果,這也是它被廣泛應用在計算機視覺、軍事技術、三維重建等多個重要領域的原因。雖然獲得了預期的實驗結果,但研究不夠深入,還有可以改進的地方:選擇精度更高的標定板和提高立體匹配速度等問題。