相機(jī)基礎(chǔ)及標(biāo)定
1.學(xué)習(xí)目標(biāo)
這堂課,我們主要學(xué)習(xí)相機(jī)的工作原理,光源,相機(jī)參數(shù)與標(biāo)定等
- 能夠理解
相機(jī)和鏡頭的關(guān)系 - 能夠理解
小孔模型 - 能夠理解
相機(jī)成像的過程 - 能夠理解
相機(jī)內(nèi)參 - 能夠理解
3D相機(jī)工作原理 - 學(xué)會(huì)相機(jī)內(nèi)參的標(biāo)定
2.相機(jī)概述
相機(jī)是機(jī)器視覺的基礎(chǔ),相機(jī)直接產(chǎn)生了相機(jī)數(shù)據(jù)。所有視覺算法都是作用在相機(jī)數(shù)據(jù)上的。相機(jī)數(shù)據(jù)的好壞,或者,對相機(jī)數(shù)據(jù)的理解方式,直接決定了視覺算法的效果。
可以說:機(jī)器視覺是建立在對相機(jī)成像過程的深刻理解的基礎(chǔ)之上的。
依據(jù)相機(jī)數(shù)據(jù)維度的不同,相機(jī)分為兩類,
- 2D相機(jī),可以產(chǎn)生圖像數(shù)據(jù),包括灰度圖,彩色圖等
- 3D相機(jī),可以產(chǎn)生圖形數(shù)據(jù),包括深度圖,點(diǎn)云圖等
從工作原理來看,
2D相機(jī)可分為,
- CCD相機(jī)
- CMOS相機(jī)
3D相機(jī)可分為,
- TOF相機(jī)
- 雙目相機(jī)
- 結(jié)構(gòu)光相機(jī)
- 激光掃描儀
2.1小孔成像模型
為了理解相機(jī)成像原理,我們需要先理解小孔成像模型。

圖1 小孔成像原理示意圖
<div align="left">
上圖是最原汁原味的小孔成像原理圖,它描述的是三維空間中的點(diǎn)到圖像平面(image plane)上的投影。
思考:
三維空間中的每個(gè)點(diǎn),都在圖像平面上有一個(gè)唯一對應(yīng)的投影嗎?
在實(shí)際的實(shí)現(xiàn)和應(yīng)用中,為了表達(dá)的方便,通常會(huì)將圖像平面放在小孔和三維場景之間。如下圖所示,(這是大家在很多教科書,播客,專業(yè)書籍上能看到的圖)

圖2 小孔成像原理的一個(gè)實(shí)際實(shí)現(xiàn)的描述


圖3 對圖2的一些直觀補(bǔ)充
<div align="left">
這里介紹幾個(gè)概念,
- 光軸
- 光心,光軸中心點(diǎn),即上圖中的O點(diǎn)
- 焦距,光心到圖像平面的距離
- 相機(jī)坐標(biāo)系,X-Y-Z
- 圖像坐標(biāo)系,x,y
- 像素坐標(biāo)系,u,v
我們首先來看看像素坐標(biāo):幾乎所有的圖像,像素坐標(biāo)都如下圖所示,

即:像素原點(diǎn)在圖像的左上角,橫坐標(biāo)值表示列數(shù)c,通常以u(píng)表示;縱坐標(biāo)值表示行數(shù)r,通常以v表示。
為了數(shù)學(xué)表達(dá)的方便,通常以光心為原點(diǎn),建立一個(gè)圖像坐標(biāo)系。
下圖詳細(xì)的描述了這些關(guān)系。

下面詳細(xì)推導(dǎo)下3個(gè)坐標(biāo)系之間的對應(yīng)關(guān)系,

利用相似三角形以及比例的原理,有以下公式,


where

is a scale factor.
Now, the actual pixel coordinates (u,v) are defined with respect to an origin in the top left hand corner of the image plane, and will satisfy

We can express the transformation from three dimensional world coordinates to image pixel coordinates using a 3X4
matrix. This is done by substituting equation (1) into equation (2) and multiplying through by Z to obtain,

where the scaling factor s has value Z. In short hand notation, we write this as

3.透鏡
實(shí)際成像時(shí),如果小孔過小,則入射光的強(qiáng)度會(huì)受到影響,進(jìn)一步會(huì)影響到成像。
另一方面,由于光的波動(dòng)性,在小孔的邊緣上,光將發(fā)生衍射,因此,這些光將在像平面上“散播”。當(dāng)小孔變的越來越小時(shí),入射光的“散播”范圍將變得越來越大,因此,入射光中越來越多的能量將會(huì)被“散播”到:偏離入射光方向的“地方”。
為了解決小孔相機(jī)的上述問題,我們現(xiàn)在考慮:在成像系統(tǒng)中使用透鏡。


一個(gè)理想的透鏡具有如下兩個(gè)性質(zhì):
- 它的投影方式和小孔模型相同
- 將一定數(shù)量的光線匯聚在一起。
3.1鏡頭的畸變
理想的透鏡是沒有畸變的。但是,因?yàn)橹圃旌桶惭b精度等方面的原因,鏡頭總是存在這畸變。
這里我們主要描述兩種主要的透鏡畸變,
- 徑向畸變,這主要來自于透鏡形狀以及建模的方式
- 切向畸變,這主要來自于相機(jī)的裝配誤差
從徑向畸變開始。實(shí)際攝像機(jī)的透鏡總是在成像儀的邊緣產(chǎn)生顯著的畸變,如下圖所示。對某些透鏡,光線在遠(yuǎn)離透鏡中心的地方比靠近中心的地方更加彎曲。

對徑向畸變,成像儀中心(光軸)的畸變?yōu)?,隨著向邊緣移動(dòng),畸變越來越嚴(yán)重。當(dāng)然,在實(shí)際的相機(jī)中,這種畸變比較小,而且可以用r=0位置周圍的泰勒級(jí)數(shù)展開的前幾項(xiàng)來定量描述。

下圖顯示矩形網(wǎng)格因徑向畸變而產(chǎn)生的位移。越遠(yuǎn)離光軸中心的地方,矩形網(wǎng)格上的點(diǎn)偏移越大。

第二大常用畸變是切向畸變,是由于透鏡制造上的缺陷使得透鏡本身與圖像平面不平行而產(chǎn)生的,如下圖所示,

切向畸變可以用兩個(gè)額外的參數(shù)p1和p2來描述,

下圖描述了3種常見的畸變情形,桶形畸變通常k1>0,枕形畸變通常k1<0。

4. CCD & CMOS
通過透鏡聚焦于像平面的光線,最終需要通過傳感器來生成圖像。目前,有兩種最流行的數(shù)字傳感器技術(shù),
- CCD, charge-coupled device
-
CMOS, complementary metal-oxide semiconductor
兩者的主要區(qū)別是從芯片中讀出數(shù)據(jù)的方式即讀出結(jié)構(gòu)不同。下圖描述了兩者讀出方式的不同。
20190604-144504.png
4.1 CCD傳感器
CCD傳感器由一系列光線敏感的光電傳感器組成,光電探測器能將光子轉(zhuǎn)為電子并將電子轉(zhuǎn)為電流。
曝光時(shí),光電探測器累計(jì)電荷,通過轉(zhuǎn)移門電路,電荷被移至串行讀出寄存器從而讀出。
每個(gè)光電探測器對應(yīng)一個(gè)讀出寄存器。
下圖形象的描述了CCD傳感器的工作原理。

4.2 CMOS傳感器
CMOS傳感器通常采用光電二極管作為光電探測器。
與CCD傳感器不同,光電二極管中的電荷不是順序地轉(zhuǎn)移到讀出寄存器,CMOS傳感器的每一行都可以通過行和列選擇電路直接選擇并讀出。因此,CMOS傳感器可以當(dāng)做隨機(jī)讀取存儲(chǔ)器。

4.3 彩色相機(jī)
CCD和CMOS傳感器,對于整個(gè)可見光波段全部有相應(yīng),所以無法產(chǎn)生彩色圖像。
為了產(chǎn)生彩色圖像,需要在傳感器前面加上彩色濾鏡陣列(color filter array, CFA)使得一定范圍的光到達(dá)每個(gè)光電探測器。
下圖展示了最常見的Bayer濾鏡陣列。這種濾鏡陣列由三種濾鏡組成,每種濾鏡都可以透過人眼敏感的三基色紅,綠,藍(lán)中的一種。由于人眼對綠色最為敏感,所以濾鏡陣列中綠色采樣頻率是其它兩種的兩倍。
值得注意的是由于綠色采樣是1/2,紅、藍(lán)是1/4,這就導(dǎo)致了嚴(yán)重的圖像失真。通常在傳感器前加上控圖像失真濾光片。
下面分別給出CCD彩色相機(jī)的示意圖,

5. 相機(jī)標(biāo)定
到目前位置,相機(jī)的模型已經(jīng)建立起來了,以下公式中的矩陣描述了相機(jī)的固有參數(shù),

同時(shí),鏡頭還存在物理上的畸變,同樣可以用一個(gè)矩陣來表達(dá),

決定這兩個(gè)矩陣的過程,便是相機(jī)標(biāo)定。
通常,把攝像機(jī)對準(zhǔn)一個(gè)有很多獨(dú)立可標(biāo)識(shí)點(diǎn)的物體,在不同角度觀看這個(gè)物體,進(jìn)一步可通過每個(gè)圖像來計(jì)算攝像機(jī)的相對位置和方向,以及攝像機(jī)的內(nèi)參。

在內(nèi)參標(biāo)定完成后,可以對圖像進(jìn)行矯正。
假定(xp , yp )為點(diǎn)的真實(shí)位置,(xd , yd )為畸變的位置,有

通過下面的變換,可以得到?jīng)]有畸變的標(biāo)定結(jié)果,

通過去畸變,可以完成圖像的矯正,如下圖,

