1. 程式人生 > >【轉載】單目相機標定原理

【轉載】單目相機標定原理

相機標定的目的是建立畫素座標系和世界座標系之間的關係。原理是根據攝像機模型,由已知特徵點的影象座標求解攝像機的模型引數,從而可以從影象中恢復出空間點的三維座標。所要求解的引數包括4個內參數和5個畸變引數,對於外引數,即旋轉矩陣的三個旋轉引數和平移向量的三個引數。

一. 針孔相機模型

攝像機成像模型一般有三種:透鏡投影模型(針孔相機模型)、正交投影模型和透視投影模型。如下所示:


什麼是焦距呢?鏡頭的焦距基本上就是從鏡頭的中心點到形成清晰影像膠片平面或數碼CCD之間的距離。


物距u,焦距f,相矩v之間的關係為,如下所示:


二. 四大座標系

1. 畫素座標系和影象座標系(CCD平面)


畫素座標系以影象左上角為原點,即u-v座標系;影象座標系以影象中心為原點,即x-y座標系。對映關係如下所示:


將上式用齊次座標與矩陣形式表示,如下所示:


假設影象座標系中的單位為毫米,那麼dx的單位為毫米/畫素,那麼x/dx的單位為畫素。上式的逆關係,如下所示:


2. 相機座標系

O點為攝像機的光心,由O點與軸組成的直角座標系為相機座標系,為攝像機的焦距,軸為攝像機的光軸,並且和影象平面垂直。


3. 世界座標系

世界座標系是為了描述相機的位置而被引入的,即為世界座標系,平移向量t和旋轉矩陣R用來表示相機座標系與世界座標系的關係。假設空間點P在世界座標系下的齊次座標是,在相機座標下的齊次座標是

。如下所示:


其中,R是3×3的正交單位矩陣(即旋轉矩陣),t是三維的平移向量。向量是4×4矩陣。

相機座標系與世界座標系之間的關係,如下所示:


(1)旋轉矩陣R

在三維空間中,旋轉可以分解為繞各自座標軸的二維旋轉,其中旋轉的軸線的度量儲存不變。如果依次繞x,y,z軸旋轉角度ψ,φ和θ,那麼總的旋轉矩陣R是三個矩陣Rx(ψ),Ry(φ),Rz(θ)的乘積。如下所示:



(2)平移向量t

平移向量是第一個座標原點與第二個座標原點的偏移量。從以物件中心為原點的座標系移動到以攝像機為中心的原點的另外一個座標系,相應的平移向量為t=物件原點-攝像機原點。那麼從世界座標系中的座標

到攝像機座標系中的座標,如下所示:


用角度ψ,φ和θ表示三維旋轉,用引數表示三維平移,共6個引數。內參數(相機矩陣)為,外引數為R和t。

三. 相機模型和相機標定

1. 理想相機模型(線性模型

根據針孔相機模型,任一點在像平面的投影點都是C(光心,即投影中心)與的連線。通過比例關係,如下所示:



將上式用齊次座標與矩陣形式表示(相機座標系與影象座標系),如下所示:


畫素座標系與影象座標系,世界座標系與相機座標系,如下所示:



綜上所述,如下所示:


上述公式完成了世界座標系(單位為毫米)向畫素座標系(單位為畫素)的轉換,經歷了世界座標系向相機座標系,相機座標系向影象座標系,影象座標系向畫素座標系的轉換。其中,M是3×4的投影矩陣,M1完全由相機的內參數決定,分別表示影象u軸和v軸上的尺度因子,為主點座標,M2完全由相機的外引數決定,而相機標定就是確定相機的內外引數。可以由世界座標系得到畫素座標系,但是不能由畫素座標系得到世界座標系,因為投影矩陣M是3×4不可逆矩陣。直觀來看,位於射線OP上的所有空間點的投影點都是p點。

2. 實際相機模型(非線性模型)

攝像機標定是確定攝像機內部引數或外部引數的過程。內部引數是指攝像機內部幾何和光學特性,攝像機外部引數是指從世界座標系到攝像機座標系的平移向量和旋轉矩陣。實際相機模型,如下所示:


其中,m表示實際投影點的像平面座標系下的物理座標,m’表示理想投影點的像平面座標系下的物理座標。下面僅考慮徑向畸變和切向畸變,而不考慮偏心畸變和薄稜鏡畸變等。

(1)徑向畸變

徑向畸變產生原因是光線在遠離透鏡中心的地方比靠近中心的地方更加彎曲。如下所示:



(2)切向畸變

切向畸變是由於攝像機制造上的缺陷使得透鏡本身與成像平面不平行而產生的。如下所示:



其中,是徑向畸變係數,是切向畸變係數,徑向半徑,

四. OpenCV單目相機標定實現 [3]

參考文獻: