close

點擊下方卡片,關注「新機器視覺」公眾號

重磅乾貨,第一時間送達


來源:小白學視覺

相機對於機器人來說就相當於人的眼睛,景物在相機中呈現的樣子就是機器看到的世界的樣子。當我們理解了相機的成像原理,才能理解圖像中的景物與實際世界中景物的對應關係。

相機成像模型

相機模型是光學成像模型的簡化,目前有線性模型和非線性模型兩種。實際的成像系統是透鏡成像的非線性模型。最基本的透鏡成像原理如圖所示:

其中 u 為物距, f 為焦距,v 為相距。根據透鏡成像原理,三者滿足關係式:

相機的鏡頭是一組透鏡,當平行於主光軸的光線穿過透鏡時,會聚到一點上,這個點叫做焦點,焦點到透鏡中心的距離叫做焦距 f。數字相機的鏡頭相當於一個凸透鏡,感光元件就處在這個凸透鏡的焦點附近,將焦距近似為凸透鏡中心到感光元件的距離時就成為小孔成像模型。小孔成像模型如圖所示:

基於上圖,當s和f相等的時候,便是相機的成像模型。小孔成像模型是相機成像採用最多的模型。在此模型下,物體的空間坐標和圖像坐標之間是線性的關係,因而對相機參數的求解就歸結到求解線性方程組上。

這裡為了計算方便,保持方向的一致性,我們往往將圖像以光心為坐標原點,進行中心對稱旋轉,也就是將圖像映射到光心和物體的中間,而物體在圖像中的映射點,正好為物體與光心的連線和圖像平面的交點。

四個常用坐標系

無論求解線性方程組還是非線性方程組,重要的是用方程描繪出物理模型。那麼就需要選取參考坐標系,而在機器視覺中最常用的參考坐標系有四個:世界坐標系、相機坐標系、圖像坐標系、和像素坐標系。

為了清楚的說明各種坐標系之間的聯繫,我們首先看下面一個圖片,圖片中包括了世界坐標系、相機坐標系和圖像坐標系的關係。接下來小白為大家詳細介紹一下每個坐標系的用處。

世界坐標系:是客觀三維世界的絕對坐標系,也稱客觀坐標系。因為數碼相機安放在三維空間中,我們需要世界坐標系這個基準坐標系來描述相機的位置,並且用它來描述在此三維環境中的其它任何物體的位置,用(Xw, Yw, Zw)表示其坐標值。

圖像坐標系:以CCD 圖像平面的中心為坐標原點,X軸和Y 軸分別平行於圖像平面的兩條垂直邊,用( x , y )表示其坐標值。圖像坐標系是用物理單位(例如毫米)表示像素在圖像中的位置。

相機坐標系(光心坐標系):以相機的光心為坐標原點,X 軸和Y 軸分別平行於圖像坐標系的 X 軸和Y 軸,相機的光軸為Z 軸,用(Xc, Yc, Zc)表示其坐標值。

像素坐標系:以 CCD 圖像平面的左上角頂點為原點,X 軸和Y 軸分別平行於圖像坐標系的 X 軸和Y 軸,用(u , v )表示其坐標值。數字相機採集的圖像首先是形成標準電信號的形式,然後再通過模數轉換變換為數字圖像。每幅圖像的存儲形式是M × N的數組,M 行 N 列的圖像中的每一個元素的數值代表的是圖像點的灰度。這樣的每個元素叫像素,像素坐標系就是以像素為單位的圖像坐標系。

由於圖像坐標系和像素坐標系聯繫比較緊密,可能有很多小夥伴也容易弄錯,這裡在給出兩個坐標系的關係圖。

通過上圖我們可以看出來,兩個坐標的原點有一定的偏差,往往就是圖像的長寬的一半。

相機內參與外參

在介紹完坐標系後,我們需要來描述相機成像的數學過程。根據像素坐標系和圖像坐標系的定義,我們可以得到如下關係:

採用齊次坐標再用矩陣形式將上式表示為:

其中(u0, v0)是圖像坐標系原點在像素坐標系中的坐標,dx和dy分別是每個像素在圖像平面x和y方向上的物理尺寸。

圖像坐標系與相機坐標系的轉換為:

其中 f 為焦距(像平面與相機坐標系原點的距離)。用齊次坐標系和矩陣表示上述關係:

相機坐標系與世界坐標系的變換為:

其中 R 為3 × 3正交旋轉矩陣,t 為三維平移向量。

我們將上述所有的變換關係整合起來可以得到:

其中:

上面等式中ax, ay分別是圖像水平軸和垂直軸的尺度因子。K的參數中只包含焦距、主點坐標等只由相機的內部結構決定,因此稱K 為內部參數矩陣,ax, ay , u0, v0叫做內部參數。Mt中包含的旋轉矩陣和平移向量是由相機坐標系相對於世界坐標系的位置決定的,因此稱Mt為相機的外部參數矩陣,R和t叫做外部參數,KMt叫投影矩陣。相機標定就是確定相機的內部參數和外部參數。

相機畸變模型

上面推導了相機投影成像的數學模型,但是上面是在理想狀況下推導的,實際上由於相機光學系統存在加工和裝配的誤差,透鏡就並不能滿足物和像成相似三角形的關係,所以相機圖像平面上實際所成的像與理想成像之間會存在畸變。畸變屬於成像的幾何失真,是由於焦平面上不同區域對圖像的放大率不同形成的畫面扭曲變形的現象,這種變形的程度從畫面中心至畫面邊緣依次遞增,主要在畫面邊緣反映比較明顯。為了減小畸變,拍攝圖片時應儘量避免用鏡頭焦距的最廣角端或最遠端拍攝。實際的相機成像模型如下圖所示:

其中 mr(xr,yr)表示實際投影點的像平面坐標系下的物理坐標,mi(xi,yi)表示理想投影點的像平面坐標系下的物理坐標。

對於相機的畸變,可以包括徑向畸變和偏心畸變和薄稜鏡畸變等。

理論上來說鏡頭都存在徑向和切向畸變,但是通常徑向畸變較大,切向畸變較小。

偏心畸變模型是由於多個光學鏡頭的光軸不能完全共線產生的,這種畸變是由徑向和切向畸變共同構成的。

薄稜鏡畸變是由於鏡頭設計製造缺陷和加工安裝所造成的,如鏡頭與相機成像平面有一個很小的傾角等。因為薄稜鏡畸變非常小,通常不考慮。

相機的畸變可以由非線性模型來表示,由於公式比較複雜,而且多數應用只在相機的標定中使用,因此這裡小白只給出最後化簡後的畸變模型:

其中k和p都是畸變係數,可以在標定的過程中求出該係數矯正相機模型。

總結

如果你只是想簡單了解一下相機的原理,不需要知道其數學公式,那麼只需要知道小孔成像原理就可以啦~對於相機各種參數,小白覺得可以用一種更容易理解的方式來解讀。

內參數矩陣:告訴你上述那個點在1的基礎上,是如何繼續經過攝像機的鏡頭、並通過針孔成像和電子轉化而成為像素點的。

外參數矩陣:告訴你現實世界點(世界坐標)是怎樣經過旋轉和平移,然後落到另一個現實世界點(攝像機坐標)上。

畸變矩陣:告訴你為什麼上面那個像素點並沒有落在理論計算該落在的位置上,還產生了一定的偏移和變形

本文僅做學術分享,如有侵權,請聯繫刪文。

—THE END—
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()