電子有限公司

                              銀川鴻星

                              服務電話:

                              0951-6091687

                              文章
                              • 文章
                              搜索
                              首頁 >> 解決方案 >>其他 >> 雙眼可以測距和建立立體環境,雙攝像頭可以嗎?
                              详细内容

                              雙眼可以測距和建立立體環境,雙攝像頭可以嗎?

                              答案是可以!

                              這方面一直是計算機視覺的研究熱點,并且已經有了不錯的成果!本人研究生階段主要做三維重建,簡單寫一些自己所了解的。

                              首先三維和二維的區別,這個大家都容易理解,二維只有x、y兩個軸,比如一張素描畫,我們整體的感覺是“平”的,而三維則是多了一個z軸的維度,這個z軸的直觀理解就是點離我們的距離,也即 “depth(深度)”。

                              再來看看我們人眼,人眼是一個典型的雙目系統,大家可以做個小實驗:閉上一只眼睛,然后左右手分別拿著一只筆,試著讓筆尖相碰,哈哈,是不是有懷疑人生的感覺? 我們分別用左右眼看同一個物體,可以清楚地感覺到圖像的差異,這個差異就是我們形成三維視覺的基礎,有了這左右眼圖像的差異,配合大腦強大的識別匹配能力,我們就能基本確定物體離我們的距離,也即之前說的"深度",上個實驗中我們只睜開一只眼睛,雖然能清楚的看到左右手中的筆,但是大腦沒法得出深度信息,所以你在“上下左右”方向上能準確定位,但是“前后”方向上卻無能為力。

                              現在來說說左右圖像的“差異”到“深度”的轉換,這里可能需要一點點空間幾何知識,其實也很簡單

                              1.jpg

                              物體上的點p12分別對應左右圖像上點p1和p2,求解p1、p2、p12構成的三角形,我們就能得到點p12的坐標,也就能得到p12的深度。這個計算對于人腦來說是小case,我們更多地依賴經驗和強大的腦補能力,雖然我們不能計算出某個物體離我們的精確距離,我們卻能非常準確地建立物體距離的相對關系,即哪個物體在前,哪個在后,這對日常生活已經足夠了。

                              而我們做工程上的雙目視覺三維重建,核心目標就是解上圖所示的三角形,相機可以抽象成一個簡單的透視系統:

                              2.jpg



                              空間點p經過相機成像,映射到圖像上點(x,y),其中Oc是相機光心,WCS、DCS、ICS分別是世界坐標系、設備(相機)坐標系、圖像坐標系。空間點p到相機圖像上點的幾何變換可以用相機內參來描述,具體公式就不說了,可以簡單地理解為相機拍照是對點的幾何坐標變換,而相機內參就是決定這個變換的一些參數。

                              繼續看之前的光學三角關系圖,O1、O2分別是左右相機的光心,現在我們要做的就是確定這兩個相機的相對位置關系:可以用旋轉矩陣R和平移向量T來描述,確定了R和T,兩個相機的位置關系就確定了,這個步驟叫做相機的外參標定。一般的做法是用三維重建的逆過程來做,即由一系列已知的p1、p2和p12來求解光學三角形,估計出最優的R、T。簡而言之,外參標定確定相機之間的相對位置關系。

                              好了,現在我們只需要知道p1、p2的坐標,我們就能輕松算出p12的坐標,完成三維重建。我們把p1、p2稱為一個點對(pair),他們是同一個空間點在不同相機中的成像點。尋找這樣的點對的過程稱為立體匹配,它是三維重建最關鍵,也可以說是最難的一步。我們都玩過“大家來找茬”,找的是兩幅圖的不同點,而立體匹配則是找“相同點”。對人腦來說,這個問題太easy了,給你同一個物體的兩幅圖,你能輕松找出一副圖像上的點在另一幅圖像中的對應點,因為我們人腦的物體識別、分割、特征提取等等能力實在太強了,而且性能特別高,估計幾歲的小孩就能秒殺現有的最好的算法。

                              常規的匹配算法一般通過特征點來做,即分別提取左右圖像的特征點(常用sift算法),然后基于特征點配合對極幾何等約束條件進行匹配。不過這類匹配算法精度都不是太高,所以人們又想了其它一些方法來輔助匹配,結構光方法是目前用的比較多的,原理不難理解,就是向目標物體投射編碼的光,然后對相機圖像進行解碼,從而得到點對,舉個簡單的例子,我們把一個小方塊的圖案用投影儀投到物體表面,然后識別左右相機圖像中的小方塊,如果這個小方塊很小,看作一個點,那么我們就得到了一個點對。

                              貼個線結構光的示意圖:

                              3.jpg


                              這個示意圖里面只有一個相機,其實投影儀是可以看作相機的:投出的光圖案照射在物體表面相當于被拍照的物體,而投影儀的輸入圖像則相當于相機拍出來的照片,所以投影儀也是當作相機并用同樣的方法來標定內外參,即上圖本質上也是雙目視覺系統。

                              總結一下,雙目視覺三維重建的基本過程:相機內參、外參標定 -> 立體匹配 -> 光學三角形求解,這里面最核心、也最影響重建效果的就是立體匹配。

                              貼幾張本人實驗的圖(用的最基本的格雷碼結構光):


                              4.jpg


                              以上說的都是雙目視覺三維重建,實際上還有其它一些重建方法,如早期的探針法,簡單粗暴,直接拿探針在物體表面移動,一個點一個點測坐標;還有一類通過直接測距來進行三維重建,如超聲波、TOF,即對物體表面逐點用聲、光程差來測距,從而得到三維點云;光學方法分為主動和被動兩大類,主動和被動指的是是否向物體表面投光,主動方法有激光掃描、相位測量以及我畢設的研究課題結構光方法等,被動方法有單目視覺(如陰影法)和上文所述的立體視差方法等等。

                              目前還有一類三維重建方法非常火:SFM(Structure from Motion),這類方法的特點是不需要相機參數,僅僅根據一系列圖像就能進行三維重建,也就是說,你隨便拿個手機對著物體拍一些圖片就能重建這個物體的三維模型,大家可以去體驗下AutoDesk公司的Autodesk 123D Catch,除了近距離物體的三維重建,SFM還有更激動人心的應用:大型場景三維重建,感興趣的可以看看這個Building Rome in a Day,他們在flickr上搜索兩百萬張羅馬的照片,通過亞馬遜提供的計算服務,最終得出整個城市的三維模型,是不是又有云計算、大數據的感覺。。。這波人貌似有幾個是Google Earth團隊的。

                              原理上其實也不難理解:從特征點對入手,反向求解出相機的內外參(選定一個相機作為世界坐標系),然后重建更多的點。

                              大家應該對電影《普羅米修斯》里面的用于洞穴建模的飛行器印象深刻:

                              5.jpg

                              標題
                              更多
                              在线客服
                              -
                              2021澳门免费码资料大全