




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、雙攝像頭測距, 圖1. 雙攝像頭模型俯視圖圖1解釋了雙攝像頭測距的原理,書中Z的公式如下: 在OpenCV中,f的量綱是像素點,Tx的量綱由定標棋盤格的實際尺寸和用戶輸入值確定,一般總是設成毫米,當然為了精度提高也可以設置為0.1毫米量級,d=xl-xr的量綱也是像素點。因此分子分母約去,z的量綱與Tx相同圖2, 雙攝像頭模型立體視圖 圖2解釋了雙攝像頭獲取空間中某點三維坐標的原理。 可以看到,實際的坐標計算利用的都是相似三角形的原理,其表達式就如同Q矩陣所示。 空間中某點的三維坐標就是(X/W, Y/W, Z/W。 因此,為了精確
2、地求得某個點在三維空間里的距離,我們需要獲得的參數(shù)有焦距f、視差d、攝像頭中心距Tx。如果還需要獲得X坐標和Y坐標的話,那么還需要額外知道左右像平面的坐標系與立體坐標系中原點的偏移cx和cy。其中f, Tx, cx和cy可以通過立體標定獲得初始值,并通過立體校準優(yōu)化,使得兩個攝像頭在數(shù)學上完全平行放置,并且左右攝像頭的cx ,cy和f相同(也就是實現(xiàn)圖2中左右視圖完全平行對準的理想形式。而立體匹配所做的工作,就是在之前的基礎上,求取最后一個變量:視差d(這個d一般需要達到亞像素精度。從而最終完成求一個點三維坐標所需要的準備工作。 標定、校準和匹配,都是圍繞著如何更精確地獲得f, d,
3、 Tx, cx和cy而設計的。Q1:標定時棋盤格的大小如何設定,對最后結果有沒有影響?A:當然有。在標定時,需要指定一個棋盤方格的長度,這個長度(一般以毫米為單位,如果需要更精確可以設為0.1毫米量級與實際長度相同,標定得出的結果才能用于實際距離測量。一般如果尺寸設定準確的話,通過立體標定得出的Translation的向量的第一個分量Tx的絕對值就是左右攝像頭的中心距。一般可以用這個來驗證立體標定的準確度。比如我設定的棋盤格大小為270 (27mm,最終得出的Tx大小就是602.8 (60.28mm,相當精確。 Q2:通過立體標定得出的Tx符號為什么是負的?A:這個其實我也不是很清楚
4、。個人的解釋是,立體標定得出的T向量指向是從右攝像頭指向左攝像頭(也就是Tx為負,而在OpenCV坐標系中,坐標的原點是在左攝像頭的。因此,用作校準的時候,要把這個向量的三個分量符號都要換一下,最后求出的距離才會是正的。但是這里還有一個問題,就是Learning OpenCV中Q的表達式,第四行第三列元素是-1/Tx,而在具體實踐中,求出來的實際值是1/Tx。這里我和maxwellsdemon討論下來的結果是,估計書上Q表達式里的這個負號就是為了抵消T向量的反方向所設的,但在實際寫OpenCV代碼的過程中,那位朋友卻沒有把這個負號加進去。(一家之言,求更詳細的解釋 Q3:cvFind
5、StereoCorrespondenceBM的輸出結果好像不是以像素點為單位的視差?A:在OpenCV2.0中,BM函數(shù)得出的結果是以16位符號數(shù)的形式的存儲的,出于精度需要,所有的視差在輸出時都擴大了16倍(24。其具體代碼表示如下:dptry*dstep = (short(ndisp - mind - 1 + mindisp*256 + (d != 0 ? (p-n*128/d : 0 + 15 >> 4;可以看到,原始視差在左移8位(256并且加上一個修正值之后又右移了4位,最終的結果就是左移4位因此,在實際求距離時,cvReprojectTo3D出來的X/W,Y/W,Z/W
6、都要乘以16 (也就是W除以16,才能得到正確的三維坐標信息Q4:利用雙攝像頭進行測距的時候世界坐標的原點究竟在哪里? A:世界坐標系的原點是左攝像頭凸透鏡的光心。圖3. 針孔模型在實際計算過程中,為了計算方便,我們將像平面翻轉平移到針孔前,從而得到一種數(shù)學上更為簡單的等價形式(方便相似三角形的計算),如圖4所示。圖4. 針孔模型的數(shù)學等價形式 因此,對應圖2就可以知道,世界坐標系原點就是左攝像頭針孔模型的針孔,也就是左攝像頭凸透鏡的光心 Q5:f和d的單位是像素,那這個像素到底表示什么,它與毫米之間又是怎樣換算的?A:這個問題也與針孔模型相關。在針孔
7、模型中,光線穿過針孔(也就是凸透鏡中心)在焦距處上成像,因此,圖3的像平面就是攝像頭的CCD傳感器的表面。每個CCD傳感器都有一定的尺寸,也有一定的分辨率,這個就確定了毫米與像素點之間的轉換關系。舉個例子,CCD的尺寸是8mm X 6mm,分辨率是640X480,那么毫米與像素點之間的轉換關系就是80pixel/mm。在實際運用中,我們在數(shù)學上將這個像平面等效到小孔前(圖4),這樣就相當于將在透鏡中心點之前假設了一塊虛擬的CCD傳感器。 Q6:為什么cvStereoRectify求出的Q矩陣cx, cy, f都與原來的不同?A:這個在前文有提到過。在實際測量中,由于攝像頭擺放的關系,
8、左右攝像頭的f, cx, cy都是不相同的。而為了使左右視圖達到完全平行對準的理想形式從而達到數(shù)學上運算的方便,立體校準所做的工作事實上就是在左右像重合區(qū)域最大的情況下,讓兩個攝像頭光軸的前向平行,并且讓左右攝像頭的f, cx, cy相同。因此,Q矩陣中的值與兩個instrinsic矩陣的值不一樣就可以理解了。實驗結果:實驗下來,雖然Block Matching算法本身對精度有所限制,但測距基本能達到能讓人接受的精度,結果如下圖5所示圖5. OpenCV雙攝像頭測距結果上圖中,中、左、右三個物體分別被放在離攝像頭50cm, 75cm和90cm的位置??梢钥闯鰷y距的結果相當不錯。當然,上面這幅圖是比較好的結果。由于BM算法的限制,同一點云中相同距離的點一般會有正負2厘米之內(nèi)的誤差。圖6是利用雙目攝像頭測物體長寬的結果,可以看出結果似乎不太準確。圖6. OpenCV雙攝像頭測邊長結果其中,物體寬為117-88=29mm,但實際寬度為5.2cm,物體高位71-13=58mm,但實際高度為13cm。這方面的誤差還是比較難以理解此外,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 油氣田智能化開發(fā)與管理系統(tǒng)建設方案
- 機場貴賓廳吧臺設計與施工合同范本
- 美食廣場經(jīng)營權轉讓合同
- 知識產(chǎn)權采購合同中專利授權及糾紛解決條款
- 車輛掛名權益保障及免責責任明確協(xié)議
- 彩鋼結構簡易搭建與環(huán)保評估合同
- 環(huán)保產(chǎn)業(yè)財務合同環(huán)保技術投資與運營管理合同
- 出租車企業(yè)智能化調(diào)度司機合作協(xié)議
- 經(jīng)銷白酒招商方案
- 企業(yè)四新培訓課件
- 安徽青碩建設有限公司招聘筆試真題2024
- 2025年4月自考00077金融市場學試題
- 國家開放大學機考答案 5個人與團隊管理2025-06-21
- 大慶師范學院《跳高》2023-2024學年第一學期期末試卷
- 2025年廣元市中考語文試卷真題(含標準答案)
- 2025年山西省中考語文試卷真題(含答案解析)
- 農(nóng)機下鄉(xiāng)活動方案
- 幸福與健康課件
- 幼兒弱視防治指南
- 2025人教英語初中七年級下冊期末測試卷(含答案)
- 窗簾實施方案(3篇)
評論
0/150
提交評論