免费看成人无码网站|久久久久中文欧美在线二区|午夜精 亚洲精品Aⅴ一区二区三区四区|国产精品自产拍高潮在线

雙目視覺簡介(雙目視覺算法一般流程)

1.1. 雙目視覺簡介

雙目視覺廣泛應用在機器人導航,精密工業(yè)測量、物體識別、虛擬現(xiàn)實、場景重建,勘測領域。

什么是雙目視覺?

雙目視覺是模擬人類視覺原理,使用計算機被動感知距離的方法。從兩個或者多個點觀察一個物體,獲取在不同視角下的圖像,根據(jù)圖像之間像素的匹配關系,通過三角測量原理計算出像素之間的偏移來獲取物體的三維信息。

得到了物體的景深信息,就可以計算出物體與相機之間的實際距離,物體3維大小,兩點之間實際距離。目前也有很多研究機構進行3維物體識別,來解決2D算法無法處理遮擋,姿態(tài)變化的問題,提高物體的識別率。

1.2. 算法一般流程

雙目視覺及算法流程

圖1 雙目視覺算法流程

1.2.1. 離線標定

標定的目的是獲取相機的內(nèi)參(焦距,圖像中心,畸變系數(shù)等)和外參(R(旋轉(zhuǎn))矩陣T(平移)矩陣,用于對其兩個相機)。目前比較常用的方法為張正友的棋盤格標定方法,Opencv和Matlab上均有實現(xiàn)。但是一般為了獲取更高的標定精度,采用工業(yè)級的(60*60格子)玻璃面板效果會更好。并且有人也建議使用Matlab,因為精度包括可視化效果會更好一些,并且Matlab的結(jié)果保存為xml,Opencv也可以直接讀入,但是步驟相對于Opencv的麻煩了一些。這是Matlab標定工具箱的連接:
http://www.vision.caltech.edu/bouguetj/calib_doc/

步驟為:

(1)左攝像頭標定,獲取內(nèi)外參數(shù)。

(2)右參數(shù)攝像頭標定獲取外參。

(3) 雙目標定,獲取相機之間的平移旋轉(zhuǎn)關系。

雙目視覺及算法流程

圖2 Matlab雙目視覺標定

1.2.2. 雙目矯正

矯正的目的是得到的參考圖與目標圖之間,只存在X方向上的差異。提高視差計算的準確性。

矯正分為兩個步驟

l 畸變矯正

雙目視覺及算法流程

圖3 畸變矯正

l 將相機轉(zhuǎn)化為標準形式

雙目視覺及算法流程

圖4 轉(zhuǎn)換為標準形式

因為矯正部分,會對圖像所有點的位置進行重新計算,因而算法處理的分辨率越大耗時越大,而且一般需要實時處理兩張圖像。而且這種算法并行化強標準化程度較高,建議使用IVE進行硬化,類似Opencv中的加速模式,先得到映射Map,再并行化使用映射Map重新得到像素位置。Opencv中的矯正函數(shù)為cvStereoRectify。

1.2.3. 雙目匹配

雙目匹配是雙目深度估計的核心部分,發(fā)展了很多年,也有非常多的算法,主要目的是計算參考圖與目標圖之間像素的相對匹配關系,主要分為局部和非局部的算法。一般有下面幾個步驟。

l 匹配誤差計算

l 誤差集成

l 視差圖計算/優(yōu)化

l 視差圖矯正

一般局部算法,使用固定大小或者非固定大小窗口,計算與之所在一行的最優(yōu)匹配位置。如下圖為最簡單的局部方式,求一行最佳對應點位置,左右視圖X坐標位置差異為視差圖。為了增加噪聲,光照的魯棒性可以使用固定窗口進行匹配,也可以對圖像使用LBP變換之后再進行匹配。一般的匹配損失計算函數(shù)有:SAD,SSD,NCC等。一般采用最大視差也可以限制最大搜索范圍,也可以使用積分圖和Box Filter進行加速計算。目前效果較好的局部匹配算法為基于Guided Filter的使用Box Filter和積分圖的雙目匹配算法,局部算法易于并行化,計算速度快,但是對于紋理較少的區(qū)域效果不佳,一般對圖像分割,將圖像分為紋理豐富和紋理稀疏的區(qū)域,調(diào)整匹配窗大小,紋理稀疏使用小窗口,來提高匹配效果。

雙目視覺及算法流程

圖5 基于線性搜索的視差計算

非局部的匹配算法,將搜索視差的任務看做最小化一個確定的基于全部雙目匹配對的損失函數(shù),求該損失函數(shù)的最小值即可得到最佳的視差關系,著重解決圖像中不確定區(qū)域的匹配問題,主要有動態(tài)規(guī)劃(Dynamic Programming),信任傳播(Blief Propagation),圖割算法(Graph Cut)。目前效果最好的也是圖割算法,Opencv中提供的圖割算法匹配耗時很大。

圖割算法主要是為了解決動態(tài)規(guī)劃算法不能融合水平和豎直方向連續(xù)性約束的問題,將匹配問題看成是利用這些約束在圖像中尋求最小割問題。

雙目視覺及算法流程

圖6 基于圖割(左),動態(tài)規(guī)劃(中),相關性計算(右)的效果。

因為考慮到全局能量最小化,非局部算法一般耗時較大,不太好使用硬件加速。但是對于遮擋,紋理稀疏的情況解決的較好。

得到了匹配點之后,一般通過左右視線一致性的方式,檢測和確定具有高置信度的匹配點。很類似前后向光流匹配的思想,只有通過左右視線一致性檢驗的點才認為是穩(wěn)定匹配點。這樣也可以找出因為遮擋,噪聲,誤匹配得到的點。

那么我們?nèi)绾蔚玫揭暡詈蜕疃刃畔⒛兀?/p>

雙目視覺及算法流程

圖7 視差深度獲取示意

關于視差圖的后處理,一般采用中值濾波的方法,對當前點的灰度值使用鄰域像素的中值來代替,這種方法可以很好去除椒鹽噪聲。可以去除因為噪聲或者弱紋理匹配失敗的孤立點。

版權聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至2161241530@qq.com 舉報,一經(jīng)查實,本站將立刻刪除。如若轉(zhuǎn)載,請注明出處:http://www.parklessenses.com/uncategorized/39825/

(0)

相關推薦

發(fā)表評論

登錄后才能評論