當前位置:網站首頁>相機標定(標定目的、原理)

相機標定(標定目的、原理)

2022-06-24 07:27:39沒李不邢

1.相機標定的目的:

1)一個就是矯正由於鏡頭畸變造成的圖片的變形,例如,現實中的直線,拍攝成圖像後會外凸或內凹,進行相機標定後可以對這種情况進行校正;

2)另一個是根據拍攝獲得的二維圖像來重構三維場景,因為標定的過程就是通過一系列的三維點和它對應的二維圖像點進行數學變換,求出相機的內參數和外參數。

標定之後的相機,可以進行測距、三維場景的重建等

2.四個坐標系

        相機標定的目的之一是為了建立物體從三維世界到成像平面上各坐標點的對應關系,所以首先要了解以下四個坐標系:

世界坐標系:用戶定義的三維世界的坐標系,為了描述目標物在真實世界裏的比特置以及相機所在的比特置而被引入。

相機坐標系:在相機上建立的坐標系,為了從相機的角度描述物體比特置而定義,作為溝通世界坐標系和圖像/像素坐標系的中間一環。

圖像坐標系:為了描述成像過程中物體從相機坐標系到圖像坐標系的投影透射關系而引入,方便進一步得到像素坐標系下的坐標。

像素坐標系:為了描述物體成像後的像點在數字圖像上(相片)的坐標而引入,是我們真正從相機內讀取到的信息所在的坐標系,單比特為個(像素數目)。

3.坐標之間的轉換

世界坐標系:XwYwZw

相機坐標系: XcYcZc

圖像坐標系:xy

像素坐標系:uv

        其中,相機坐標系的Z軸與光軸重合,且垂直於圖像坐標系平面並通過圖像坐標系的原點,相機坐標系與圖像坐標系之間的距離為焦距f。像素坐標系平面u-v和圖像坐標系平面x-y重合,但像素坐標系原點比特於圖中左上角。

3.1世界坐標系到相機坐標系

假設繞x軸旋轉(逆時針)

以此類推,繞其它軸旋轉(順時針)

世界坐標系到相機坐標系要6個自由度,除了旋轉還要進行平移

3.2相機坐標系轉圖像坐標系

3.3圖像坐標系轉像素坐標系

圖像坐標系的原點在圖像的中央,單比特mm

像素坐標系的原點在圖像的左上角,單比特是像素Pixel(個)。

dx,dy:是傳感器固有的參數,代錶每個像素的毫米數。

u0,v0:代錶圖像坐標系原點相對於像素坐標系的偏移量,單比特是像素。

3.4 世界坐標系到像素坐標系轉換的全過程

 至此,要想通過拍攝到的二維圖像重建三維場景,那麼就要求得內參M1和外參M2。

 3.5張正友標定法

 

 

 

單應性(Homography)變換。可以簡單的理解為它用來描述物體在世界坐標系和像素坐標系之間的比特置映射關系。對應的變換矩陣稱為單應性矩陣。

 

 

 

如何根據標定圖得到單應矩陣?

經過前面一系列的介紹,我們應該大致明白如何根據打印的棋盤標定圖和拍攝的照片來計算單應矩陣H。我們來總結一下大致過程。

1. 打印一張棋盤格標定圖紙,將其貼在平面物體的錶面。

2. 拍攝一組不同方向棋盤格的圖片,可以通過移動相機來實現,也可以移動標定圖片來實現。

3. 對於每張拍攝的棋盤圖片,檢測圖片中所有棋盤格的特征點(角點,也就是下圖中黑白棋盤交叉點,中間品紅色的圓圈內就是一個角點,四個對角(紅黃藍綠)是最特別的角點)。我們定義打印的棋盤圖紙比特於世界坐標系Zw=0的平面上,世界坐標系的原點比特於左圖棋盤圖紙的固定一角(比如下圖中黃色點)。像素坐標系原點比特於右圖圖片左上角。

因為棋盤標定圖紙中所有角點的空間坐標是已知的,這些角點對應在拍攝的標定圖片中的角點的像素坐標也是已知的,如果我們得到這樣的N>=4個匹配點對(越多計算結果越魯棒),就可以根據LM等優化方法得到這個視角下的單應矩陣H。當然計算單應矩陣一般不需要自己寫函數實現,OpenCV中就有現成的函數可以調用。

但是,以上只是理論推導,在真實的應用場景中,我們計算的點對中都會包含噪聲。比如點的比特置偏差幾個像素,甚至出現特征點對誤匹配的現象,如果只使用4個點對來計算單應矩陣,那會出現很大的誤差。因此,為了使得計算更精確,一般都會使用遠大於4個點對來計算單應矩陣。另外上述方程組采用直接線性解法通常很難得到最優解,所以實際使用中一般會用其他優化方法,如奇异值分解、Levenberg-MarquaratLM)算法

通過以上方法求得的單應性矩陣H後,以下是通過H反推相機的內外參

通過上面2.28與2.29得:

 ​​​

  可以自行計算B為對角矩陣,所以B只有6個未知數,所以向量b設置6個參數即可

 

部分圖片來自B站視頻截圖,歡迎交流學習。

强烈建議看這個文章:相機標定之張正友標定法數學原理詳解(含python源碼) - 知乎

版權聲明
本文為[沒李不邢]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/175/202206240215269323.html

隨機推薦