相機(jī)矩陣(Camera Matrix)

投影

透視投影(perspective projection)

透視投影屬于中心投影。透視投影圖簡稱為透視圖或透視疤剑,它是從某個投射中心將物體投射到單一投影面上所得到的圖形。透視圖與人們觀看物體時所產(chǎn)生的視覺效果非常接近,所以它能更加生動形象地表現(xiàn)建筑外貌及內(nèi)部裝飾捻浦。在已有實景實物的情況下,通過拍照或攝像即能得到透視圖桥爽;對于尚在設(shè)計朱灿、規(guī)劃中的建筑物則作圖(手工或計算機(jī))的方法才能畫出透視圖。透視圖以渲染钠四、配景盗扒,使之成為形象逼真的效果圖。由于是中心投影缀去,因此平行投影中的一些重要性質(zhì)(如平行性侣灶、定比性等)和作圖規(guī)律,在這里已不適用缕碎。
透視投影是用中心投影法將形體投射到投影面上褥影,從而獲得的一種較為接近視覺效果的單面投影圖。它具有消失感咏雌、距離感凡怎、相同大小的形體呈現(xiàn)出有規(guī)律的變化等一系列的透視特性,能逼真地反映形體的空間形象赊抖。
透視投影符合人們心理習(xí)慣统倒,即離視點(diǎn)近的物體大,離視點(diǎn)遠(yuǎn)的物體小氛雪,遠(yuǎn)到極點(diǎn)即為消失檐薯,成為滅點(diǎn)。它的視景體類似于一個頂部和底部都被切除掉的棱椎注暗,也就是棱臺坛缕。這個投影通常用于動畫、視覺仿真以及其它許多具有真實性反映的方面捆昏。


perspective.png

正交投影(orthographic projection)

投影線垂直于投影面的投影屬于正交投影 赚楚,也稱為平行投影。


orthographic.png

相機(jī)模型

  • 移動相機(jī)到拍攝位置骗卜,鏡頭對準(zhǔn)某個方向(視圖變換,view transform)
  • 將拍攝對象一到場景中的某個位置(模型變換,model transform)
  • 設(shè)置相機(jī)焦距或調(diào)整縮放比例(投影變換,projection transform)
  • 對結(jié)果圖像拉伸或者壓縮宠页,變換為需要的圖片大小(視口變換,viewpoint transform)

齊次坐標(biāo)與仿射變換

我們將一個3維坐標(biāo)表示為列向量左胞,那么一個3*3的矩陣乘以這個列向量就可以得到一個新的列向量。如下举户,三維笛卡爾坐標(biāo)與矩陣的乘法只能實現(xiàn)三維坐標(biāo)的縮放和旋轉(zhuǎn)烤宙,而無法實現(xiàn)坐標(biāo)平移。

matirx.png

所以我們將三維的笛卡爾坐標(biāo)添加一個額外坐標(biāo)俭嘁,實現(xiàn)坐標(biāo)平移躺枕,而且保持了三維向量與矩陣乘法具有的縮放和旋轉(zhuǎn)操作。這個就稱為齊次坐標(biāo)供填,而這種變換也稱為仿射變換(affine transformation)拐云,不屬于線性變換。
matrix.png


相機(jī)矩陣

幾何相機(jī)校正(Geometric camera calibration)

也稱為相機(jī)反切(camera resectioning)近她,主要用于估計圖像或者視頻攝像機(jī)的透鏡和圖像傳感器的相關(guān)參數(shù)叉瘩。使用這些參數(shù)可以糾正透鏡畸變,度量真實世界中物體的大小粘捎,或者相機(jī)在一個場景中的定位薇缅。因而可以被用于機(jī)器視覺,去檢測或者度量事物攒磨,也可用于機(jī)器人中泳桦,幫助導(dǎo)航系統(tǒng)和3D重建。

相機(jī)參數(shù)與相機(jī)矩陣分解

  1. 主要包含內(nèi)參(intrinsics)咧纠、外參(extrinsics)蓬痒、畸變系數(shù)(distortion coefficients)
  2. 估計參數(shù)需要3D世界坐標(biāo)及其對應(yīng)的2D圖像點(diǎn)
  3. 評估所估計相機(jī)參數(shù)的方法就是:首先畫出相機(jī)和校準(zhǔn)模式的相對位置;隨后計算投影誤差漆羔;最后計算參數(shù)的估算誤差

相機(jī)矩陣分解為兩個矩陣的乘積:內(nèi)參矩陣K和外參矩陣[R|?RC]

image.png

其中梧奢,3?3的上三角陣K描述了相機(jī)的內(nèi)參比如焦距。3?3的旋轉(zhuǎn)矩陣R的列表示相機(jī)參考幀的世界坐標(biāo)軸方向演痒。向量C是世界坐標(biāo)系中的相機(jī)中心亲轨。那么向量t=?RC就給出了相機(jī)坐標(biāo)系中的世界原點(diǎn)位置。我們需要做的就是求解這些參數(shù)鸟顺,當(dāng)然前提是我們已經(jīng)知道P惦蚊。

內(nèi)參矩陣

內(nèi)參矩陣是將3D相機(jī)坐標(biāo)變換到2D齊次圖像坐標(biāo)。透視投影的一個理想模型就是針孔相機(jī)讯嫂,有縮放的效果成像為倒影蹦锋。市面上的相機(jī)都是透視投影。如下:


image.png

內(nèi)參矩陣如下:


matrix.png

內(nèi)參矩陣的每一個參數(shù)都有意義:

  • 焦距的參數(shù):fx,fy
    焦距就是真空與圖像平面(投影屏幕)的距離欧芽,類似于人眼和視網(wǎng)膜莉掂,焦距的度量是針對像素的。針孔相機(jī)的fx,fy有相同的值千扔。上圖中紅線部分就是焦距憎妙。但是在實際中库正,fxfy一般不同,有一下幾個原因:

    1. 數(shù)碼相機(jī)傳感器的缺陷
    2. 后處理中圖像被非均勻縮放
    3. 相機(jī)透鏡導(dǎo)致的無意的失真
    4. 相機(jī)使用了失真的格式厘唾,透鏡將寬屏場景壓縮到標(biāo)準(zhǔn)大小的傳感器中
    5. 相機(jī)校準(zhǔn)的誤差
  • 主點(diǎn)偏移x0,y0
    相機(jī)的主軸是與圖像平面垂直且穿過真空的線褥符,它與圖像平面的焦點(diǎn)稱為主點(diǎn)。
    主點(diǎn)偏移就是主點(diǎn)位置相對于圖像平面(投影面)的位置抚垃。上圖中喷楣,增加x0的值相當(dāng)于把針孔向右移動,等價將投影面向左移動同時保持針孔位置不變讯柔。

  • 軸傾斜
    軸傾斜會導(dǎo)致投影圖像的形變抡蛙。

  • 焦距-從像素到世界單元
    內(nèi)參矩陣只關(guān)心相機(jī)坐標(biāo)和圖像坐標(biāo)之間的關(guān)系护昧,與相機(jī)的絕對尺寸無關(guān)魂迄。針對焦距和主點(diǎn)偏移使用響度單元可以表示相機(jī)的相對尺寸,換句話說就是投影面的位置與其尺寸(以像素為單位)相關(guān)惋耙。
    另一種說法是內(nèi)參相機(jī)變換與相機(jī)的幾何均勻縮放無關(guān)捣炬,利用像素單元表示尺寸,可以捕捉到這種不變性绽榛。
    可以使用相似三角形將像素單元轉(zhuǎn)換到世界單元中湿酸,前提是你知道世界單元中至少一個相機(jī)尺寸。比如你知道相機(jī)的投影面(數(shù)字傳感器)寬度為WW毫米灭美,圖片寬度(像素為單位)為w推溃,那就可以將焦距fx轉(zhuǎn)換為世界單元:


    image.png

其它的參數(shù)fy,x0,y0也可以被轉(zhuǎn)換為對應(yīng)的世界單元Fx,X0,Y0:

image.png

  • 2D變換中的相機(jī)內(nèi)參的計算
    將內(nèi)參矩陣分解為切變(shear,類似于將長方形壓成平行四邊形的變形方式)、縮放届腐,平移變換铁坎,分別對應(yīng)軸傾斜、焦距犁苏、主點(diǎn)偏移 :
    image.png

第二個等式右邊三個矩陣依次是:2D平移硬萍、2D縮放、2D切變
另一種等價的分解是將切變放在縮放前面 :


image.png

有一點(diǎn)需要注意:內(nèi)參不影響可見性 —— 阻隔對象(occluded objects)在圖像空間中無法通過簡單的2D變換顯示出來围详。這里的occluded objects就是那些你希望看到朴乖,但是由于某些原因看不到的對象,比如目標(biāo)跟蹤的時候助赞,一個目標(biāo)被另一個目標(biāo)遮擋了买羞。

外參矩陣

相機(jī)的外參矩陣描述的是世界坐標(biāo)中相機(jī)的位置,及其指向方向雹食。有兩個成分:旋轉(zhuǎn)矩陣R和平移向量t畜普。它們并非恰好對應(yīng)相機(jī)的旋轉(zhuǎn)和平移。
外參矩陣以剛體變換矩陣的形式可以記為:左邊一個3?3旋轉(zhuǎn)矩陣婉徘,右邊一個3?1的平移列向量 :

image.png

常見的做法是在底部增加一行(0,0,0,1)漠嵌,這使得矩陣為方形的咐汞,允許我們進(jìn)一步將矩陣分解為旋轉(zhuǎn)和平移矩陣:

image.png

這個矩陣描述的就是如何將世界坐標(biāo)系中的點(diǎn)變換到相機(jī)坐標(biāo)系中,向量t描述的是世界坐標(biāo)系原點(diǎn)在相機(jī)坐標(biāo)系中的位置儒鹿,R的列代表的是相機(jī)坐標(biāo)系中世界坐標(biāo)系軸的方向化撕。
從上可以發(fā)現(xiàn),外參主要作用就是描述世界坐標(biāo)系到相機(jī)坐標(biāo)系的轉(zhuǎn)換约炎。與我們經(jīng)常想的相機(jī)坐標(biāo)系到世界坐標(biāo)系的轉(zhuǎn)換剛好相反植阴。

求解外參矩陣

實際中,直接指定相機(jī)的姿態(tài)比指定世界坐標(biāo)系中的點(diǎn)如何轉(zhuǎn)換到相機(jī)坐標(biāo)系中更加自然圾浅,通過建立一個剛體變換矩陣描述相機(jī)姿態(tài)掠手,然后對其取逆即可建立相機(jī)的外參矩陣。
因而可以這樣做:定義一個描述相機(jī)中心在世界坐標(biāo)系中的位置的向量C狸捕,然后讓Rc代表相機(jī)在世界坐標(biāo)系旋轉(zhuǎn)到當(dāng)前姿態(tài)需要的旋轉(zhuǎn)矩陣喷鸽。那么描述相機(jī)姿態(tài)的變換矩陣就是(Rc|C)。同樣在底部添加一個行向量(0,0,0,1)灸拍,那么外參矩陣就是相機(jī)姿態(tài)矩陣的逆做祝。

image.png

倒數(shù)第三個等式變換到倒數(shù)第二個等式,使用的轉(zhuǎn)置是因為Rc是正交陣,此外鸡岗,平移矩陣的逆就是他的負(fù)數(shù)平移向量混槐,進(jìn)而可以得到外參矩陣參數(shù)和相機(jī)姿態(tài)是直接相關(guān):

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市轩性,隨后出現(xiàn)的幾起案子声登,更是在濱河造成了極大的恐慌,老刑警劉巖揣苏,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悯嗓,死亡現(xiàn)場離奇詭異,居然都是意外死亡舒岸,警方通過查閱死者的電腦和手機(jī)绅作,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛾派,“玉大人俄认,你說我怎么就攤上這事『檎В” “怎么了眯杏?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長壳澳。 經(jīng)常有香客問我岂贩,道長,這世上最難降的妖魔是什么巷波? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任萎津,我火速辦了婚禮卸伞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锉屈。我一直安慰自己荤傲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布颈渊。 她就那樣靜靜地躺著遂黍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俊嗽。 梳的紋絲不亂的頭發(fā)上雾家,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機(jī)與錄音绍豁,去河邊找鬼芯咧。 笑死,一個胖子當(dāng)著我的面吹牛妹田,可吹牛的內(nèi)容都是我干的唬党。 我是一名探鬼主播鹃共,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鬼佣,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了霜浴?” 一聲冷哼從身側(cè)響起晶衷,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎阴孟,沒想到半個月后晌纫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡永丝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年锹漱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慕嚷。...
    茶點(diǎn)故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡哥牍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出喝检,到底是詐尸還是另有隱情嗅辣,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布挠说,位于F島的核電站澡谭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏损俭。R本人自食惡果不足惜蛙奖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一潘酗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雁仲,春花似錦崎脉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至祭衩,卻和暖如春灶体,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掐暮。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工蝎抽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人路克。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓樟结,卻偏偏與公主長得像,于是被迫代替她去往敵國和親精算。 傳聞我的和親對象是個殘疾皇子瓢宦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言 最近翻閱關(guān)于從2D視頻或者圖片中重構(gòu)3D姿態(tài)的文章及其源碼,發(fā)現(xiàn)都有關(guān)于攝像機(jī)參數(shù)的求解灰羽,查找了相關(guān)資料驮履,做...
    予汐閱讀 6,195評論 0 3
  • 引言 請不要質(zhì)疑你的眼睛,文章的題目就是“3D圖形學(xué)基礎(chǔ)理論”廉嚼∶蹈洌可能有人要疑惑了,作為一個 iOS 開發(fā)者為什么要...
    ZhengYaWei閱讀 8,579評論 5 36
  • 1怠噪、概述 前面幾篇關(guān)于OpenGLES的文章: OpenGL ES 2.0 顯示圖形(上) OpenGL ES 2...
    高丕基閱讀 4,555評論 3 5
  • 兩個人沒有解開怒火怎么會冒火 很奇怪我們倆個從未向?qū)Ψ桨l(fā)過火 為了和你保持同樣的氣息 我屏住呼吸等待著你的吸氣 為...
    許你一世諾言閱讀 153評論 0 1
  • 高考出來了恐似,幾家歡喜幾家愁。 過一本線不多的報考似乎有些尷尬傍念,不太好選擇矫夷。 其實軍校就是一個不錯的選擇。 我有一個...
    花癡_halou閱讀 217評論 1 3