攝像頭測距
深度檢測主要技術(shù)方法:
1.雙目匹配(雙RGB攝像頭+可選的照明系統(tǒng))
三角測量原理即目標點在左右兩幅視圖中成像的橫坐標之間存在的差異(視差Disparity),與目標點到成像平面的距離成反比例的關(guān)系:Z = ft/d;得到深度信息。
雙目匹配采用三角測量原理完全基于圖像處理技術(shù),通過尋找兩個圖像中的相同的特征點得到匹配點,從而得到深度值。
雙目測距中光源是環(huán)境光或者白光這種沒有經(jīng)過編碼的光源,圖像識別完全取決于被拍攝的物體本身的特征點,因此匹配一直是雙目的一個難點。
匹配的精度和正確性很難保證,因此出現(xiàn)了結(jié)構(gòu)光技術(shù)來解決匹配問題。
技術(shù)點:立體匹配算法,一般步驟:匹配代價計算,匹配代價疊加,視差獲取,視差細化(亞像素級)
優(yōu)點:給定的工作條件下,較好效果,硬件簡單。
缺點:雙目使用的是物體本身的特征點,對表面顏色和紋理特征不明顯的物體失效。
因為結(jié)構(gòu)光光源帶有很多特征點或者編碼,因此提供了很多的匹配角點或者直接的碼字,可以很方便的進行特征點的匹配。
換句話說,不需要使用被攝物體本身的特征點,因此能提供很好的匹配結(jié)果。
2.一般結(jié)構(gòu)光(一個RGB攝像頭+結(jié)構(gòu)光投射器(紅外)+結(jié)構(gòu)光深度感應(yīng)器(CMOS))
結(jié)構(gòu)光測距的不同點在于對投射光源進行了編碼或者說特征化。這樣拍攝的是被編碼的光源投影到物體上被物體表面的深度調(diào)制過的圖像。
結(jié)構(gòu)光基本原理:
通過投影一個預(yù)先設(shè)計好的圖案作為參考圖像(編碼光源),將結(jié)構(gòu)光投射至物體表面,再使用攝像機接收該物體表面反射的結(jié)構(gòu)光圖案,這樣,同樣獲得了兩幅圖像,
一幅是預(yù)先設(shè)計的參考圖像,另外一幅是相機獲取的物體表面反射的結(jié)構(gòu)光圖案,由于接收圖案必會因物體的立體型狀而發(fā)生變形,故可以通過該圖案在攝像機上的位置和形變程度來計算物體表面的空間信息。普通的結(jié)構(gòu)光方法仍然是部分采用了三角測距原理的深度計算。
同樣是進行圖像匹配,這種方法比雙目匹配好的地方在于,參考圖像不是獲取的,而是經(jīng)過專門設(shè)計的圖案,因此特征點是已知的,而且更容易從測試圖像中提取。
結(jié)構(gòu)光采用三角視差測距,基線(光源與鏡頭光心的距離)越長精度越高。
技術(shù)點:提供什么樣的輔助信息來幫助快速而精確的對應(yīng)點匹配是結(jié)構(gòu)光編碼方法的衡量標準。
優(yōu)點:成熟,經(jīng)驗證,可量產(chǎn)
缺點:有限的供應(yīng)商,技術(shù)和供應(yīng)鏈門檻,陽光干擾敏感,多設(shè)備之間存在嚴重干擾
3.Light coding(激光散斑光源)
與結(jié)構(gòu)光不同,Light coding的光源為“激光散斑”,是激光照射到粗糙物體或穿透毛玻璃后隨機形成的衍射斑點。這些散斑具有高度的隨機性,而且會隨著距離的不同而變換圖案。也就是說空間中任意兩處的散斑圖案都是不同的。
只要在空間中打上這樣的光,整個空間都被做了標記,把一個物體放進這個空間,只要看看物體上面的散斑圖案,就可以知道這個物體在什么位置了。當然在這之前要把整個空間的散斑圖案都記錄下來,所以要先做一次光源標定。primesense公司的三維測量使用的就是激光散斑技術(shù)。primesense將該技術(shù)稱為光源標定技術(shù)。光源標定技術(shù)在整個空間中每隔一段距離選取一個參考平面,把參考平面上的散斑圖案保存下來。
Light coding不是通過空間幾何關(guān)系求解的,它的測量精度只和標定時取得參考面的密度有關(guān),參考面越密測量越精確。不用為了提高精度而將基線拉寬。
缺點:激光器發(fā)出的編碼光斑容易被太陽光淹沒掉
4. 單目相機測距
三角測距法
還記得文章開頭的那個小孔相機模型嗎?
三角測距法就是基于這個理想的,簡單的模型,進行的,在知道物體大小,透鏡焦距F,并測出圖像中的物體長度后,就可以基于下面公式進行計算長度Z了。
像素塊測距法
這個方法是玩openmv時知道的,openmv封裝的單目測距算法,就是將目標對象先在固定的距離(10cm)拍一張照片,測出照片中該物體的像素面積。得到一個比例系數(shù)K,然后將物體挪到任意位置,就可以根據(jù)像素面積估算距離了。 不過這兩種方法肯定魯棒性都不咋樣。
5. 相機標定
在上文,相機內(nèi)參加上相機外參一共有至少8個參數(shù),而我們要想消除相機的畸變,就要靠相機標定來求解這8個未知參數(shù)。
說完相機模型,又要說一下相機標定了,相機標定是為了求解上面這8個參數(shù)的,那求解出這8個參數(shù)可以干什么呢?可以進行軟件消除畸變,也就是在得知上面8個參數(shù)后,利用上面羅列的數(shù)學計算式,將每個偏移的像素點歸位。
標定需要用到一個叫標定板的東西,有很多種類,但常用的大概就是棋盤圖了,棋盤要求精度需要很高,格子是正方形,買一張標定板很貴的,在csdn上下棋盤圖也要畫好多c幣,所以大家可以用word畫一張,很簡單的,只要做一個5列7行的表格,拉大到全頁,再設(shè)置每個格子的寬高來將它設(shè)為正方形再涂色就可以了。這張圖里有符號,但打印出來就沒有了,建議大家自己畫一張就OK了。
編輯:黃飛
?
評論
查看更多