本文轉(zhuǎn)自徐飛翔的“投影相機,透視相機,弱透視相機和仿射相機的區(qū)別和聯(lián)系 ”
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明
投影相機(projective camera)
相機說到底是一種從3D的現(xiàn)實世界中的點投影到2D平面上點的工具,那么作為這個投影,對其描述最為通用的莫過于在齊次坐標(biāo)系下,用:
其中3D點和2D點
采用齊次坐標(biāo)系描述[6]。不難知道,其非齊次坐標(biāo)系表達為:
雖然變換矩陣是一個有著12個元素的矩陣,但是因為對于坐標(biāo)而言,最重要的是比例關(guān)系,因此我們可以對
進行尺度縮放,不妨將其全部除以
,得到
在這個新的變換矩陣中,原先
?的位置變成了1,因此其實其自由度只有11,而不是12.(對于理解這里的尺度變化,我
們可以這樣認為,我們新投影出來的2D圖像的尺度大小是可以變化的,比如原先是 ,尺度變換后可能就變成了
,其比例還是一樣的,因此圖中點的坐標(biāo)其實比例也是不變的)
我們把有這種關(guān)系的相機稱之為投影相機(projective camera),顯然,投影相機是非線性的[7],這里指的非線性是圖像顯示的尺寸大小和真實尺寸大小不成線性比例,具體見[7]討論。透視相機(perspective camera)
投影相機的一種特殊例子也是更為常見的例子是所謂的透視相機(perspective camera),這種相機的投影方式稱之為透視投影(perspective projection)或者是中心投影(central projection)。跟一般的,當(dāng)其變換矩陣 的最左邊
矩陣是一個旋轉(zhuǎn)矩陣[8],并且這個旋轉(zhuǎn)矩陣的尺度放縮因子是
時,透視相機模型成為我們熟悉的針孔模型的表達[9],如:
其中最簡單的形式莫過于是
于是有了熟悉的針孔模型的表達:
注意到我們是對每個點的深度Z進行反比放縮的,這一點很重要,這個導(dǎo)致了透視相機的成像的非線性性,見[7]中的討論。
仿射相機(affine camera)
仿射相機也是投影相機的一種特殊情況,其變換矩陣為:
考慮到通常我們也會把 設(shè)置為一個常數(shù),比如1,因此現(xiàn)在的自由度變成了8。
于是,投影后的坐標(biāo)為:
注意到其分母是 是一個常數(shù),因此其投影后的坐標(biāo) ( x , y ) 是一個只由
決定了的線性關(guān)系。這個很特殊,因為在這種情況下,通常透視關(guān)系之下不再保存的平行關(guān)系,也會在仿射相機中保留下來。一般性的透視關(guān)系中不保留平行關(guān)系的例子見[8]。因為其線性性,仿射相機可以用更簡單的,非齊次坐標(biāo)系的表達方式,如:
其中 ,并且
是一個二維向量,表示圖像的中心。
在仿射相機中,從不同視角觀察到的圖像的點之間,可以通過一個簡單的 仿射變換進行轉(zhuǎn)換。
弱透視相機(weak perspective camera)
最常見的,對于相機的假設(shè)莫過于是假設(shè)其是弱透視相機(weak perspective camera)[10]了。弱透視相機是仿射相機的一種,其最簡單的形式是(9),其中的 Z a v e Z_{ave} Zave?是相機到物體的平均深度,對于某個場景而言,是一個常數(shù); f 是焦距。
如果轉(zhuǎn)換成公式(8)的那種形式,那么有:
最終得到投影后的坐標(biāo)為:
在弱透視相機中,我們用平均深度,一個常數(shù) ?去代替了每個點的深度
,從而使得分析變得簡單。但是要滿足弱透視的要求,需要滿足幾個假設(shè)
沿著光軸上的,物體的深度的平均差別,也就是
,需要遠遠小于
?。
視角場(filed of view)(也就是觀察某個物體點的夾角,
必須足夠小。
下面給出證明。
在考慮所有點的深度情況下,我們在?的基礎(chǔ)上加上每個點的偏差
,并且利用泰勒展開,有:
當(dāng) 時,只有零階項保留下來了,其他高階項都趨向于0,其在圖像上表現(xiàn)出來的誤差就體現(xiàn)在
?:
因此,當(dāng)焦距 f 比較小時,視角場 足夠小,或者物體表面深度的差別
足夠小時,其弱透視模型都可以成立。
Reference
[1]. http://www.cse.iitd.ernet.in/~suban/vision/affine/node5.html
[2]. http://www.cse.iitd.ernet.in/~suban/vision/affine/node4.html
[3]. http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/UESHIBA1/node5.html
[4]. http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/UESHIBA1/node4.html
[5]. http://www.cse.iitd.ernet.in/~suban/vision/affine/node3.html
[6]. https://blog.csdn.net/LoseInVain/article/details/102756630
[7]. https://blog.csdn.net/LoseInVain/article/details/102869987
[8]. https://blog.csdn.net/LoseInVain/article/details/102756630
[9]. https://blog.csdn.net/LoseInVain/article/details/102632940
[10].https://blog.csdn.net/LoseInVain/article/details/102698703