計算機視覺的基本任務之一是從相機獲取的圖像信息出發計算三維空間中物體的幾何信息,并由此重建和識別物體,而空間物體表面某點的三維幾何位置與其在圖像中對應點之間的相互關系是由相機成像的幾何模型決定的,這些幾何模型參數就是相機參數。
在大多數條件下,這些參數通過實驗與計算才能得到。無論是在圖像測量或者機器視覺應用中,相機參數的標定都是非常關鍵的環節,其標定結果的精度及算法的穩定性直接影響相機工作產生結果的準確性。
那么相機成像的幾何模型又是什么呢?我們從簡單的針孔相機模型說起,首先我們回想一下,初中物理中的小孔成像實驗。
用一個帶有小孔的板遮擋在屏幕與物之間,屏幕上就會形成物的倒像,我們把這樣的現象叫小孔成像。前后移動中間的板,像的大小也會隨之發生變化。
小孔成像的模型其實可以看作是針孔相機模型的基礎。
如上圖所示,相機坐標系為OC-XC-YC-ZC,OC為相機光心,ZC軸指向相機前方。真實世界中的一個點P,經過小孔OC投影后,落在物理成像平面o'-x-y(也稱像平面坐標系)上,稱為像點P'。
相機坐標到圖像坐標
為了方便描述,我們之后將把針孔相機模型對稱翻轉過來,如下圖所示,從數學的角度,它們是等價的。
假設P在相機坐標系下的坐標為[Xc,Yc, Zc]T,P' 為[x,y]T,焦距為f。根據相似三角形有:
圖像坐標系到像素坐標
此時與前面的坐標系變換不同,此時沒有旋轉變換,但是坐標原點位置不一致,大小不一致,則設計伸縮變換及平移變換。
世界坐標到相機坐標
從世界坐標系變換到相機坐標系屬于剛體變換,只需要進行旋轉平移,不會發生伸縮變換。
物體之間的坐標系變換都可以表示坐標系的旋轉變換加上平移變換,則世界坐標系到相機坐標系的轉換關系也是如此。繞著不同的軸旋轉不同的角度得到不同的旋轉矩陣。如下:
于是可以得到P點在相機坐標系中的坐標:
到此我們已經了解了相機的幾何模型,這些幾何模型的參數就是相機參數。
鏡頭畸變
對于徑向畸變,由于它們都是隨著與中心之間的距離增加而增加,因此可以用一個多項式函數來描述畸變前后的坐標變化:
在上式中,對于畸變較小的圖像中心區域,畸變糾正主要是k1 起作用;對于畸變較大的邊緣區域,主要是k2 起作用。根據所用鏡頭,可以適當使用合適的校正系數。
對于切向畸變,可以使用另外的兩個參數p1, p2 來進行糾正:
綜上,我們一共需要5個畸變參數(k1、k2、k3、p1、p2 )來描述鏡頭畸變。
針孔相機模型中,只要確定相機參數和畸變參數就可以唯yi的確定針孔相機模型, 這個過程就稱為「相機標定」。
一旦相機結構固定,包括鏡頭結構固定,對焦距離固定,我們就可以用這些參數去近似這個相機。相機參數標定結果的精度會直接影響相機工作中產生結果的準確性。因此做好相機標定是后續工作的重要前提。
本文屬于原創文章,如需轉載請注明 杭州藍芯科技有限公司