相機的那些事兒 (二)成像模型
相機在計算機視覺應用中起著重要作用,作為圖像數據來源,影響著後續各個處理步驟。成像模型就是用數學公式刻畫整個成像過程,即被拍攝物體空間點到照片成像點之間的幾何變換關係。
總體上,相機成像可以分為四個步驟:剛體變換、透視投影、畸變校正和數字化圖像。
1、剛體變換
剛體變換隻改變物體的空間位置(平移)和朝向(旋轉),而不改變其形狀,可用兩個變數來描述:旋轉矩陣R和平移向量t
其次坐標下可寫為:
旋轉矩陣R是正交矩陣,可通過羅德里格斯(Rodrigues)變換轉換為只有三個獨立變數的旋轉向量:因此,剛體變換可用6個參數來描述,這6個參數就稱為相機的外參(Extrinsic),相機外參決定了空間點從世界坐標系轉換到相機坐標系的變換,也可以說外參描述了相機在世界坐標系中的位置和朝向。2、透視投影
我們可以將透鏡的成像簡單地抽象成下圖所示:
設 f=OB 表示透鏡的焦距,m=OC 為像距,n=AO 為物距,有:一般地,由於物距遠大於焦距,即 n>>f,所以 m≈f,此時可以用小孔模型代替透鏡成像:齊次坐標下有:
3、畸變校正
理想的針孔成像模型確定的坐標變換關係均為線性的,而實際上,現實中使用的相機由於鏡頭中鏡片因為光線的通過產生的不規則的折射,鏡頭畸變(lens distortion)總是存在的,即根據理想針孔成像模型計算出來的像點坐標與實際坐標存在偏差。畸變的引入使得成像模型中的幾何變換關係變為非線性,增加了模型的複雜度,但更接近真實情形。畸變導致的成像失真可分為徑向失真和切向失真兩類:
畸變類型很多,總體上可分為徑向畸變和切向畸變兩類,徑向畸變的形成原因是鏡頭製造工藝不完美,使得鏡頭形狀存在缺陷,包括枕形畸變和桶形畸變等,可以用如下表達式來描述:切向畸變又分為薄透鏡畸變和離心畸變等,薄透鏡畸變則是因為透鏡存在一定的細微傾斜造成的;離心畸變的形成原因是鏡頭是由多個透鏡組合而成的,而各個透鏡的光軸不在同一條中心線上。切向畸變可以用如下數學表達式來描述:在引入鏡頭的畸變後,成像點從理想圖像坐標繫到真實圖像坐標系的變換關係可以表示為:實際計算過程中,如果考慮太多高階的畸變參數,會導致標定求解的不穩定。
4、數字化圖像
光線通過相機鏡頭後最終成像在感光陣列(CCD或CMOS)上,然後感光陣列將光信號轉化為電信號,最後形成完整的圖像。我們用dx和dy分別表示感光陣列的每個點在x和y方向上物理尺寸,即一個像素是多少毫米,這兩個值一般比較接近,但由於製造工藝的精度問題,會有一定誤差,同樣的,感光陣列的法向和相機光軸也不是完全重合,即可以看作成像平面與光軸不垂直。
我們用仿射變換來描述這個過程,如上圖,O點是圖像中心點,對應圖像坐標(u0,v0),Xd - Yd是真實圖像坐標系,U-V是數字化圖像坐標系,有:齊次坐標下有:上式中的變換矩陣即為相機的內參數矩陣 K,其描述了相機坐標系中點到二維圖像上點的變換過程。綜上所述,在不考慮鏡頭畸變的情況下,相機的整個成像過程可表示為:
推薦閱讀:
※多光子介觀顯微鏡(Multiphoton Mesoscope)
※為什麼眼睛能同時看清明處和暗處?
※為什麼物體一點發出的所有方向的光經過凸透鏡後都會匯聚到一點?
※功能性磁共振成像(fMRI)和結構性磁共振成像(sMRI)有什麼區別?
※像散與色散是什麼關係?或者說什麼區別?