相機標定的目的是建立像素座標系和世界座標系之間的關係。原理是根據攝像機模型,由已知特徵點的圖像座標求解攝像機的模型參數,從而可以從圖像中恢復出空間點的三維座標。所要求解的參數包括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]
參考文獻:
[1] 單目視覺標定原理:http://www.cnblogs.com/polly333/p/4994408.html
[2] 相機模型詳解:http://blog.csdn.net/lsh_2013/article/details/47615309
[3] OpenCV單目相機標定:http://blog.csdn.net/t247555529/article/details/47836233