1. 雙目相機原理
基於雙目立體視覺的深度相機類似人類的雙眼,和基於TOF、結構光原理的深度相機不同,它不對外主動投射光源,完全依靠拍攝的兩張圖片(彩色RGB或者灰度圖)來計算深度,因此有時候也被稱為被動雙目深度相機。
2. 如何確定雙目相機中兩個相機間的距離
外界某個物體投影到了兩個相機上鏡頭上,可以得到像素信息,根據相機鏡頭距離,像素距離,可以算出物體的舉例。 但是如何確定兩個相機的某個像素點來自於同一個物
3. 大疆雙目立體視覺定位精度能達到多少
參考下
4. 計算機視覺中cost-volume的概念具體指什麼
cost-volume在計算機視覺中特指計算機視覺中的立體匹配stereo matching(關於立體匹配請自行網路)問題中的一種左右視差搜索空間。
在立體配備中,使用經過校準的雙目相機同步拍攝兩張左右視圖的圖片。左右相機一般有固定的距離(基線距離),且是保持水平放置的,也就是說左右相機的中心點連線應與地面保持水平。
這樣的話可想而知,左右視圖的視野相交區域內,左視圖的任何一點在右視圖中都能找到一個同名點(也即代表的都是同一個事物的像素點,例如同一輛車子的同一個前輪的圓心)。
也很容易想到,左視圖中的同名點與右視圖中的同名點,在水平方向上的x坐標必然是差幾個像素的d,這個距離d就叫做水平視差。
左視圖中的x1同名點對應右視圖中的x2同名點,那麼x2-x1=d,d>0。因為前面已經說過,左右相機中心點連線與地面保持水平,所以y2-y1=0。
因為基線距離是固定的,所以左右相機的水平視差必然存在一個最大值。由於相機成像的透視原理,圖像都呈現近大遠小的幾何特性,那麼可想而知,視差最大的區域必然出現在圖片的中央靠下邊界區域,從該區域向四周呈放射狀分布,越遠越小。
假設水平視差d的最大值為D(D屬於正整數空間),那麼shape為(H, W)的左右視圖,的所有像素的右視圖相對於左視圖的全部視差可能值d也就取值於一個正整數集合(0,1,2........D)。
若將該正整數集合在視差圖的信道維度上進行逐像素表達,那麼左右視圖對應的shape同為(H,W)的視差圖就是一個shape為(H,W,D)的搜索空間,也即cost-volume。
5. 計算機雙目視覺系統 得到深度信息,這個系統的基線長度如何選擇選擇為多少比較好
從最終的結果看,兩攝像頭的間距越大,能測到的Z軸越遠精度越高,但這只是一個基本常量,還有十多個參數要確定,有的還是非線性,你才剛入門,這里水深著呢
6. 關於雙目相機和單目相機
雙目相機可以拍照立體影像,萬一一支鏡頭有故障了,用另一支鏡頭也能拍到目標,不至於什麼也拍不到。單目相機就沒有這些優點。
兩種相機使用環境沒有什麼區別。
7. 通過雙目攝像頭,通過對運動物體進行拍照的方式,能否精確計算出物體的三維空間速度,以及自旋角速度
第一、物體的三維空間速度需要根據物體在空間的三維坐標來計算,通過雙目視覺的方式來獲取被測對象的三維坐標進行計算,原理上是完全行得通的。精確度跟以下幾點有關:
1、圖像獲取幀率:每秒鍾獲取的圖像幀數越多,對被測物的位置描述就越精確;
2、運動速度較高,要想清晰的抓拍到,對相機的曝光方式和曝光時間要求較高,需要用比較好的硬體設備;
3、最終三維坐標的測量精度和雙目系統的標定精度、立體匹配演算法、相機解析度、基線距離等都有關系。
第二、自轉角速度測量。這個比較難,因為物體在空間中的轉動是隨機的,採用雙目視覺沒有辦法把球體表面的所有特徵點都獲取到。也就是說沒有辦法獲取到同一個點的序列三維坐標。
綜上,把被測對象簡化為一個點來計算其序列三維空間坐標只要硬體配置的好,還是可以解決的。但是檢測被測對象自身的信息還是比較難得。
8. opencv雙目測距精度是多少
在OpenCV中,f的量綱是像素點,Tx的量綱由定標棋盤格的實際尺寸和用戶輸入值確定,一般總是設成毫米,當然為了精度提高也可以設置為0.1毫米量級,d=xl-xr的量綱也是像素點。因此分子分母約去,z的量綱與Tx相同!
9. 雙目視覺測距原理
單目測距原理:
先通過圖像匹配進行目標識別(各種車型、行人、物體等),再通過目標在圖像中的大小去估算目標距離。這就要求在估算距離之前首先對目標進行准確識別,是汽車還是行人,是貨車、SUV還是小轎車。准確識別是准確估算距離的第一步。要做到這一點,就需要建立並不斷維護一個龐大的樣本特徵資料庫,保證這個資料庫包含待識別目標的全部特徵數據。比如在一些特殊地區,為了專門檢測大型動物,必須先行建立大型動物的資料庫;而對於另外某些區域存在一些非常規車型,也要先將這些車型的特徵數據加入到資料庫中。如果缺乏待識別目標的特徵數據,就會導致系統無法對這些車型、物體、障礙物進行識別,從而也就無法准確估算這些目標的距離。
單/雙目方案的優點與難點
從上面的介紹,單目系統的優勢在於成本較低,對計算資源的要求不高,系統結構相對簡單;缺點是:(1)需要不斷更新和維護一個龐大的樣本資料庫,才能保證系統達到較高的識別率;(2)無法對非標准障礙物進行判斷;(3)距離並非真正意義上的測量,准確度較低。
雙目檢測原理:
通過對兩幅圖像視差的計算,直接對前方景物(圖像所拍攝到的范圍)進行距離測量,而無需判斷前方出現的是什麼類型的障礙物。所以對於任何類型的障礙物,都能根據距離信息的變化,進行必要的預警或制動。雙目攝像頭的原理與人眼相似。人眼能夠感知物體的遠近,是由於兩隻眼睛對同一個物體呈現的圖像存在差異,也稱「視差」。物體距離越遠,視差越小;反之,視差越大。視差的大小對應著物體與眼睛之間距離的遠近,這也是3D電影能夠使人有立體層次感知的原因。
上圖中的人和椰子樹,人在前,椰子樹在後,最下方是雙目相機中的成像。其中,右側相機成像中人在樹的左側,左側相機成像中人在樹的右側,這是因為雙目的角度不一樣。再通過對比兩幅圖像就可以知道人眼觀察樹的時候視差小,而觀察人時視差大。因為樹的距離遠,人的距離近。這就是雙目三角測距的原理。雙目系統對目標物體距離感知是一種絕對的測量,而非估算。
理想雙目相機成像模型
根據三角形相似定律:
根據上述推導,要求得空間點P離相機的距離(深度)z,必須知道:
1、相機焦距f,左右相機基線b(可以通過先驗信息或者相機標定得到)。
2、視差 :,即左相機像素點(xl, yl)和右相機中對應點(xr, yr)的關系,這是雙目視覺的核心問題。
重點來看一下視差(disparity),視差是同一個空間點在兩個相機成像中對應的x坐標的差值,它可以通過編碼成灰度圖來反映出距離的遠近,離鏡頭越近的灰度越亮;
極線約束
對於左圖中的一個像素點,如何確定該點在右圖中的位置?需要在整個圖像中地毯式搜索嗎?當然不用,此時需要用到極線約束。
如上圖所示。O1,O2是兩個相機,P是空間中的一個點,P和兩個相機中心點O1、O2形成了三維空間中的一個平面PO1O2,稱為極平面(Epipolar plane)。極平面和兩幅圖像相交於兩條直線,這兩條直線稱為極線(Epipolar line)。
P在相機O1中的成像點是P1,在相機O2中的成像點是P2,但是P的位置是未知的。我們的目標是:對於左圖的P1點,尋找它在右圖中的對應點P2,這樣就能確定P點的空間位置。
極線約束(Epipolar Constraint)是指當空間點在兩幅圖像上分別成像時,已知左圖投影點p1,那麼對應右圖投影點p2一定在相對於p1的極線上,這樣可以極大的縮小匹配范圍。即P2一定在對應極線上,所以只需要沿著極線搜索便可以找到P1的對應點P2。
10. 這張圖中,雙目相機的視差到底是什麼呀。
相機成像的模型如下圖所示:
P為空間中的點,P1和P2是點P在左右像平面上的成像點,f是焦距,OR和OT是左右相機的光心。由下圖可見左右兩個相機的光軸是平行的。XR和XT是兩個成像點在左右兩個像面上距離圖像左邊緣的距離。