基於消失點的相機自動標定

2021-09-25 05:20:36 字數 1547 閱讀 2839

as you seen,在一些場景下,比如交通監控、道路引數獲取、港口碼頭監控等,需要將相機架設在高處,此時,鑑於複雜的場景環境,基於傳統的相機標定方法--即鋪設標定板,利用張正友或者tsai標定方法進行標定,是不現實的。(通俗的說:總不能在馬路上擺個標定板,告訴來往的車輛:你等一下,我拍二十張**你再走,哦,不行,這個角度不行,那個棋盤格角點虛焦了要重拍,你再等一下,估計沒標定完,也會被群毆或者被交警抓起來了)。所以,需要開發一套適用於複雜場景的、不需要任何輔助合作目標(比如標定物)的標定方案。

首先,需要準備以下基礎知識:

1、科普一下正交消失點的概念。

消失點的概念搞視覺的應該都懂,就是兩條平行的直線經透視變換會相交成一點。入門知識,在此不展開。在本方案中,正是用到了三個方向、正交的消失點。

struct

vashingpoints ;

vp1表示第乙個vp,車輛運動方向。

vp2表示第二個vp,地平面中垂直於車輛運動方向,即與vp1垂直。

vp3表示第三個vp,垂直於地平面。

2、需要回顧一下相機的成像模型,即小孔成像原理。入門知識,在此不展開。

下面,貼一下vp1及vp2的檢測流程

對vp2的檢測使用菱形空間的概念。 假設許多車輛邊緣與第二個vp重合開始,它們在積累空間投票。

使用背景邊緣模型檢測移動車輛上的邊緣。

模型每幀都會更新,以處理陰影和其他緩慢的變化。

背景模型用b1 = h1初始化,然後用公式(1)更新bt,其中平滑係數接近1,此處a = 0.95。

bt=αbt-1 +(1-α)ht                   公式(1)

keys:a:《第乙個消失點用於約束第二個消失點的位置》

b:《邊緣檢測採用canny邊緣檢測演算法》

c:採用《級聯霍夫變換》及平行空間理論

d:必須滿足以下篩選條件:

1、必須由canny邊緣檢測器檢測。

2、該點屬於背景的置信度必須低於預定值閾值(t2),即屬於前景(移動車輛)。

3、梯度的大小必須高於預定閾值t1。

4、梯度的方向不能與vp1方向一致,也不得垂直於基線。

5、假設場景近似水平,具有公差水平(±45°)。

求解內參**

cv::mat trafficcalibrationfromvp::getintrinsicmat(cv::point2d vp1, cv::point2d vp2, cv::point2d pp)

求解vp3**

void trafficcalibrationfromvp::getvp3(cv::point2d vp1, cv::point2d vp2, cv::point2d pp,double focal, cv::point2d& vp3)

未完待更新……

利用消失點和消失線進行相機標定

相機標定就是求出相機模型的內參和外參。小孔相機模型 消失點 在現實世界中平行的兩條線,在影象中相交的點。消失線 由水平 或豎直 方向上的消失點組成的線。利用消失點進行相機標定。獲取內參引數u0,v0,f 消失點的重要性質 消失點與光心的連線,平行於形成該消失點平面的平行線平行。所以在空間中互相垂直的...

基於VP的消失點標註 攝像頭標定原理

攝像頭標定的主要目的就是在真實世界和我們畫素世界中建立乙個對映關係,這樣我們就可以利用畫素之間的距離得到真實世界的距離了。是不是很神奇呢?下面就跟作者來了解一下吧!在講解攝像頭標定原理的時候 這裡先不涉及畸變 通常會涉及到四大座標系,如下圖所示 其實本圖中只涉及到了三個座標系 世界座標系 用來描述真...

相機自動標定開發記錄

相機的焦距 感測器尺寸 畫素尺寸等都屬於相機內部引數,內部引數的確定是相機位置 姿態估算過程中的重要環節,直接影響相機位置和姿態的估算誤差。為了降低位置 姿態的估算誤差,可以首先使用自動標定的方法來提高內部引數的精確度。相機內部引數通常使用矩陣形式表達,稱為相機內部引數矩陣 intrinsic ca...