1. opencv雙目測距精度是多少
在OpenCV中,f的量綱是像素點,Tx的量綱由定標棋盤格的實際尺寸和用戶輸入值確定,一般總是設成毫米,當然為了精度提高也可以設置為0.1毫米量級,d=xl-xr的量綱也是像素點。因此分子分母約去,z的量綱與Tx相同!
2. 計算機視覺中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。
3. 單目與雙目有什麼區別視覺識別來說,是不是用雙目攝像頭更好國內有沒有參數比較好的這類攝像頭推薦
建議條件允許的話還是使用雙目攝像頭,畢竟雙目識別圖像更穩定精準。這里推薦小覓雙目攝像頭,基於雙目視覺的三維重建與6軸感測器矯正等,並充分利用攝像頭和運動感測器的互補性,保持雙目高清同幀。
4. 計算機雙目視覺系統 得到深度信息,這個系統的基線長度如何選擇選擇為多少比較好
從最終的結果看,兩攝像頭的間距越大,能測到的Z軸越遠精度越高,但這只是一個基本常量,還有十多個參數要確定,有的還是非線性,你才剛入門,這里水深著呢
5. 雙目視覺測距原理
單目測距原理:
先通過圖像匹配進行目標識別(各種車型、行人、物體等),再通過目標在圖像中的大小去估算目標距離。這就要求在估算距離之前首先對目標進行准確識別,是汽車還是行人,是貨車、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。