湯鴻劍 陳磊 陳云
摘 要:隨著人工智能的快速發展,計算機視覺作為其分支慢慢嶄露頭角,計算機視覺是指使用計算機來模擬人眼來進行識別與測量。雙目測距是計算機視覺的一個重要組成部分,其操作簡單、成本低廉,廣泛地適用與工地勘測、智能避障、流水線檢測和機器人運動控制等領域。本文研究基于計算機視覺的雙目攝像頭測距系統。該系統將擁有可靠的精確度,有廣泛的應用前景,是遠程駕駛智能控制的必要技術環節。
關鍵詞:相機標定;圖像校正 ;立體匹配;測距
1 研究的背景和意義
近年來,人工智能火熱的發展必將成為第四次革命和科技創新的強大驅動力。計算機視覺系統是人工智能的重要一環,不完善性和多樣性是計算機視覺領域當前的顯著特征。計算機視覺在20世紀70年代之前就被提出,但真正得到關注和發展是在那個年代之后,那時的計算機性能才提高到能處理類似圖片這種大容量的數據。但是那時處理圖像只是源于各種不同領域的需要(如:臉部特征、指紋、文字等),并沒有定義為計算機視覺的一部分,如何解決“計算機視覺問題”并沒有形成成型的公式,只能用部分解決具體計算機視覺問題的方法來解決非常有局限的領域的問題,無法廣泛推廣到各個不同的場合。
計算機視覺是門研究機器如何看世界的科學,更具體的說,是用機器代替人眼對目標進行識別、測量和軌跡追蹤,然后經過一系列的圖像處理,使計算機生成更便于人類使用的或者儀器能識別的圖像。從20世紀開始,人們就對各種動物的眼睛、神經元和視覺相關的腦部神經進行了大量研究,試圖描述視覺系統的構成和運作方式,這些研究后來成為了計算機視覺的子領域,人們用計算機創建模擬生物的人工系統,在不同復雜程度上實現運作。正如模擬生物雙目視覺,兩只眼睛能夠定性的感受到現實空間中的物體遠近,由此衍生出雙目立體視覺技術。雙目立體視覺技術是通過計算機模擬人類視覺,使用兩個圖像采集設備從相鄰位置得到被測物在相機中的二維成像,將兩張二維圖像中被測點分別所在的像素坐標進行差值計算,相當于將兩張圖片重疊成一張圖片,這是圖片上會有兩個被測點,計算其像素差可以定量的算出被測點與攝像頭之間的現實距離。
遠程測距是必不可少的工作流程,目前的測距手段如紅外線測距、超聲波測距和激光測距都有著一定的局限性,均會受到煙霧、灰塵和雨滴的干擾。在特殊環境下,測距激光會因為折射偏離原有路線,影響精度,另外棱鏡表面的雜物會將激光折射到不是棱鏡中心的位置;
基于圖像處理的雙目測距作為一個非接觸測距系統,能在一定程度上改善環境因素對施工測量的影響。用攝像頭實現對距離的測量雖然成本低、使用方便,但其測量的精度方面仍有待提高。
2 測距系統總體設計
實現測距需要設計一種不依賴傳播介質的測距方法,雙目立體測距可以實現這一要求。雙目測距第一步需要用雙目攝像頭采集圖片進行標定得到相機的內外參數,第二步使用得到的畸變系數矯正圖片并使用外部參數校正圖片使左右圖片相關點盡可能在一條水平線上。然后使用匹配算法做出視差圖,根據視差圖中特定點涵蓋的深度信息得到被測物體與攝像頭之間的距離,結構圖如圖1所示。
3 雙目立體視覺匹配算法
3.1 SAD算法
1.算法原理
SAD(Sum of absolute differences)是一種圖像匹配算法。基本思想:差的絕對值之和。此算法一般用來進行圖像塊的匹配,求各個像素對應數值差的絕對值之和,評估兩個圖像塊的匹配度。該算法快速、但并不可靠,只是用于后續處理的初步篩選。
2.基本流程
輸入兩幅圖像,一幅ImageL,一幅ImageR,對左圖,依次掃描,選定一個錨點:
1)創建一個SAD窗口;
2)用SAD窗口覆蓋左圖,選擇覆蓋區域內所有像素點;
3)用SAD窗口覆蓋右圖,選擇覆蓋區域內所有像素點;
4)左邊覆蓋區域所有像素點灰度值分別減去右邊覆蓋區域對應像素點灰度值,求出差的絕對值之和;
5)移動右圖的覆蓋窗口,重復3,4的處理;
6)找到這個右圖移動范圍內SAD值最小的窗口,即找到了與左圖錨點的像素值最接近的最佳匹配的圖像塊。
算法示意圖如圖2所示。
3.2 半全局立體匹配算法原理
Semi-Global Block Matching(SGBM)半全局塊匹配算法。半全局立體匹配是動態規劃匹配的改進,保留動態規劃算法的簡易性,將復雜的二維平面的信息簡化為一維平面來進行匹配。
SGBM選取每個像素點的視差值,組成一個視差圖,生成一個和視差圖成映射關系的全局能量函數,當這個能量函數最小時,便能求解得每個像素最優的視差,像素邊緣通過不同的懲罰系數來確保平滑約束。
利用能量函數在一個二維圖像中尋找最優解是一個當前技術無法解決的問題,它會隨著圖片分辨率的提升,難度成倍上升,因此該問題通常被近似分解為多個一維問題累加的線性問題。而且每個一維問題都可以用動態規劃來解決。因為對于8連通的像素點1個像素有8個相鄰像素,所以一般分解為8個一維問題。
3.3 ?SGBM算法在OpenCV中的參數含義及配置
在OpenCV中使用函數StereoSGBM ( ) 實現了SGBM算法。SGBM 算法核心步驟有3步:選取匹配基元創建SAD窗口;構建能量函數求向多個方向的掃描的代價和;每個像素取能量代價和函數的最優解鋪成視差圖。
StereoSGBM類的參數如下:
static Ptr
int ?numDisparities = 16,
int ?blockSize = 3,
int ?P1 = 0,
int ?P2 = 0,
int ?disp12MaxDiff = 0,
int ?preFilterCap = 0,
int ?uniquenessRatio = 0,
int ?speckleWindowSize = 0,
int ?speckleRange = 0,
int ?mode = StereoSGBM::MODE_SGBM )
minDisparity——最小的視差值;
numDisparity——視差范圍,即最大視差值和最小視差值之差,必須是16的倍數;
blockSize——匹配塊大小(SADWindowSize),必須是大于等于1的奇數,一般為3~11;
P1,P2——懲罰系數,一般:P1=8*通道數*SADWindowSize*SADWindowSize,P2=4*P1;
disp12MaxDiff ——左右視差圖的最大容許差異,默認為-1,不執行左右視差檢查;
preFilterCap——預濾波圖像像素的截斷值;
uniquenessRatio——視差唯一性比率, 視差窗口范圍內最低代價是次低代價的1 + uniquenessRatio/100倍時,最低代價對應的視差值才是該像素點的視差,即能顯示到圖像的視差,否則該像素點的視差為 0,通常為5~15;
speckleRange——視差變化閾值;
Mode——模式。
其中對視差生成影響最大參數有SADWindowSize、numDisparity和uniquenessRatio。其中SADWindowSize和numDisparity是代價計算的參數,uniquenessRatio是后處理的參數。將其他參數設置為默認值,分別將以上三個參數設置為能取到的最小值,得到的最原始的視差效果圖。
4 結論
雙目立體視覺技術作為當前計算機視覺的前沿和熱點,將來必然應用在更廣泛的領域,目前雙目相關的算法還不夠強大,能處理的計算量具有一定的局限,隨著技術的發展,計算機視覺也將像人眼一樣明辨是非。本論文對計算機視覺的雙目立體視覺測距系統做了一定研究,主要包括了雙目立體測距系統的原理分析和實現流程,以及使用PC完成測距的一系列操作流程。最終得到了和預期相符的實驗結果。
參考文獻:
[1]張海波. 基于雙目立體視覺的工件識別定位與抓取系統研究[D].中國計量學院,2014.
[2]高如新,朱烜甫.基于ORB算法的雙目視覺定位[J].電子測量技術,2017,40(04):142-145.
[3]李雙全,章國寶.基于ORB算法的雙目立體視覺測距系統[J].工業控制計算機,2017,30(06):42-44.
[4]張家田,王飛,嚴正國.非接觸式距離測量系統[J].電子測量技術,2012,35(09):10-13.
[5]聶春鵬. 基于雙目立體視覺的工業機器人目標識別及定位研究[D].長安大學,2015.
[6]陳玄真. 基于雙目立體視覺的三維重建方法研究[D].吉林大學,2014.
[7] Liguori, C., Paolillo, A., Pietrosanto, A.. A discussion about stereo vision techniques for industrial image-based measurement systems[P]. Instrumentation and Measurement Technology Conference, 2003. IMTC '03. Proceedings of the 20th IEEE,2003.
[8]曹文祥,馮雪梅.工業機器人研究現狀及發展趨勢[J].機械制造,2011,49(02):41-43.
[9]Aoki, H.,Furukawa, R.,Aoyama, M.,Hiura, S.,Asada, N.,Sagawa, R.,Kawasaki, H.,Tanaka, S.,Yoshida, S.,Sanomura, Y.. Proposal on 3-D endoscope by using grid-based active stereo[P]. ,2013.
[10]R. Correal,G. Pajares,J.J. Ruz. Automatic expert system for 3D terrain reconstruction based on stereo vision and histogram matching[J]. Expert Systems With Applications,2014,41(4).
[11]Okada, K., Inaba, M., Inoue, H.. Integration of real-time binocular stereo vision and whole body information for dynamic walking navigation of humanoid robot[P]. Multisensor Fusion and Integration for Intelligent Systems, MFI2003. Proceedings of IEEE International Conference on,2003.
[12]黃佳. 基于OPENCV的計算機視覺技術研究[D].華東理工大學,2013.
基金項目:徐州工程學院大學生創新創業訓練計劃項目(xcx2019087)