相機(jī)基礎(chǔ)及標(biāo)定

相機(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ī)成像原理,我們需要先理解小孔成像模型。

<div align="center">
20190603-172412.png

圖1 小孔成像原理示意圖
<div align="left">
上圖是最原汁原味的小孔成像原理圖,它描述的是三維空間中的點(diǎn)到圖像平面(image plane)上的投影。

思考:
三維空間中的每個(gè)點(diǎn),都在圖像平面上有一個(gè)唯一對應(yīng)的投影嗎?

在實(shí)際的實(shí)現(xiàn)和應(yīng)用中,為了表達(dá)的方便,通常會(huì)將圖像平面放在小孔和三維場景之間。如下圖所示,(這是大家在很多教科書,播客,專業(yè)書籍上能看到的圖)

<div align="center">
20190603-203150.png

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


20190603-204059.png
20190603-204220.png

圖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)都如下圖所示,


20190603-205145.png

即:像素原點(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)系。

20190603-172623.png

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


20190603-210517.png

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


20190603-210812.png
20190603-210822.png

where


20190603-210919.png

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


20190603-210933.png

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,

20190603-210947.png

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


20190603-210959.png

3.透鏡

實(shí)際成像時(shí),如果小孔過小,則入射光的強(qiáng)度會(huì)受到影響,進(jìn)一步會(huì)影響到成像。
另一方面,由于光的波動(dòng)性,在小孔的邊緣上,光將發(fā)生衍射,因此,這些光將在像平面上“散播”。當(dāng)小孔變的越來越小時(shí),入射光的“散播”范圍將變得越來越大,因此,入射光中越來越多的能量將會(huì)被“散播”到:偏離入射光方向的“地方”。

為了解決小孔相機(jī)的上述問題,我們現(xiàn)在考慮:在成像系統(tǒng)中使用透鏡。


20190604-104419.png
20190604-104556.png

一個(gè)理想的透鏡具有如下兩個(gè)性質(zhì):

  • 它的投影方式和小孔模型相同
  • 將一定數(shù)量的光線匯聚在一起。

3.1鏡頭的畸變

理想的透鏡是沒有畸變的。但是,因?yàn)橹圃旌桶惭b精度等方面的原因,鏡頭總是存在這畸變。
這里我們主要描述兩種主要的透鏡畸變,

  • 徑向畸變,這主要來自于透鏡形狀以及建模的方式
  • 切向畸變,這主要來自于相機(jī)的裝配誤差

從徑向畸變開始。實(shí)際攝像機(jī)的透鏡總是在成像儀的邊緣產(chǎn)生顯著的畸變,如下圖所示。對某些透鏡,光線在遠(yuǎn)離透鏡中心的地方比靠近中心的地方更加彎曲。

20190612-193625.png

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


20190612-202901.png

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


20190612-203624.png

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


20190612-204250.png

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


20190612-204006.png

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


20190603-210947.png

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傳感器的工作原理。

20190604-144735.png

4.2 CMOS傳感器

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


20190604-152128.png

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ī)的示意圖,


20190604-143455.png

5. 相機(jī)標(biāo)定

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


20190612-204741.png

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


20190612-204818.png

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


20190612-211621.png

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


20190612-212125.png

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


20190612-220627.png

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


20190612-220907.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容