二、圖像坐標:我想和世界坐標談談(B)
? ? ? ? ?玉米將在這篇博文中,對圖像坐標與世界坐標的這場對話中涉及的第二個問題:談話方式,進行總結。世界坐標是怎樣變換進攝像機,投影成圖像坐標的呢?
? ? ? ? 玉米做了一個簡單的圖示,在這里做一個提綱。圖中顯示,世界坐標系通過剛體變換到達攝像機坐標系,然后攝像機坐標系通過透視投影變換到達圖像坐標系。可以看出,世界坐標與圖像坐標的關系建立在剛體變換和透視投影變換的基礎上。為了獎勵剛體變和透視投影變換溝通了“世界上最遠的距離”,玉米在圖上獎勵了他們兩朵小紅花。哈哈
? ? ? ? 首先,讓我們來看一下剛體變換是如何將世界坐標系與圖像坐標系聯系起來的吧。這里,先對剛體變換做一個介紹:
? ? ? ? 剛體變換(regidbody motion):三維空間中, 當物體不發生形變時,對一個幾何物體作旋轉,?平移的運動,稱之為剛體變換。
因為世界坐標系和攝像機坐標都是右手坐標系,所以其不會發生形變。我們想把世界坐標系下的坐標轉換到攝像機坐標下的坐標,如下圖所示,可以通過剛體變換的方式。空間中一個坐標系,總可以通過剛體變換轉換到另外一個個坐標系的。轉一轉,走一走,就到另外一個坐標系下了。以前可能是面朝大海,經過平移旋轉,最終可能只能面朝冰山了,哈哈
? ? ? ? ?下面讓我來看一下,二者之間剛體變化的數學表達。
? ? ? ? ?其中,XC代表攝像機坐標系,X代表世界坐標系。R代表旋轉,T代表平移。R、T與攝像機無關,所以稱這兩個參數為攝像機的外參數(extrinsic parameter)可以理解為兩個坐標原點之間的距離,因其受x,y,z三個方向上的分量共同控制,所以其具有三個自由度。
? ? ? ? ?R則為分別繞XYZ三軸旋轉的效果之和。如下面所示:
? ? ? ? ?R=r1*r2*r3.其由三個方向的θ控制,故具有三個自由度。
? ? ? ? ? ?好了,剛體變換就講完了。大家應該都了解,世界坐標系到攝像機坐標系之間的轉換過程了吧。
? ? ? ? ? 接下來,讓我們看看攝像機坐標下的坐標如何投影到圖像坐標系下,最終變為照片中的一個像素。這其中包含兩個過程:一是從攝像機坐標到“空間圖像坐標”(x,y)所發生的透視投影;二是從“連續圖像坐標”到“離散圖像坐標”(u,v)。后者我們已經在第一篇博文中解釋過。所以在這里,主要介紹一下透視投影。
? ? ? ? ?透視投影(perspective projection): 用中心投影法將形體投射到投影面上,從而獲得的一種較為接近視覺效果的單面投影圖。有一點像皮影戲。它符合人們心理習慣,即離視點近的物體大,離視點遠的物體小,不平行于成像平面的平行線會相交于消隱點(vanish point)。
? ? ? ? ?啰嗦這么多,其實大家看看示意圖,看看公式,秒懂。
? ? ? ? ?以圖中B(XB,YB)點為例,在小孔成像攝像機模型下(幾何分析的最常用模型)。這里的f為攝像機的焦距,其屬于攝像機的內參數(intrinsic parameter)。其在成像平面上的投影點b(xb,yb)的坐標利用簡單的相似三角形比例關系很容易求出:
? ? ? ? ?上面兩式也闡明了攝像機坐標與圖像坐標之間的透視投影關系。
? ? ? ? ? ? 好吧,現在玉米已經把圖像坐標與世界坐標之間的這場對話所需經歷的三個波折的過程加以了解釋。即:剛體變換、透視投影、(x,y)換(u,v)(ps.這個在上一篇博文中講過)。接下來玉米用一張圖把三個過程連接起來。實現從世界坐標(X,Y,Z)到(u,v)之間的轉換。讓圖像坐標與世界坐標直接對話。
? ? ? ? ?下圖中的轉換關系,都是用齊次坐標表達的,大家會發現這樣的表達非常整潔。
? ? ? ? ?其實這張圖顯示的過程還有一個名字:攝像機模型(camera model)。其實也就是攝像機的幾何模型了。
? ? ? ? ?將三者相乘,可以把這三個過程和在一起,寫成一個矩陣:
? ? ? ? ?P就是世界坐標到圖像坐標的直接聯系人,P就表示了一個投影相機,有下面公式:
? ? ? ? ?注意在表示齊次坐標時,需要在符號上面加個小帽子。除去齊次坐標控制位P23,P具有11個自由度。
?
? ? ? ? 攝像機模型及其中涉及的坐標系等,是弄清3D重建幾何框架的基礎。可以把它們視為基本運算關系。后面對于三維重建幾何框架的推導,都是要用到三個基本坐標系和攝像機模型的。
? ? ? ? ?到這里玉米就順利搭建起了圖像坐標與世界坐標間的這場對話。如有紕漏還請大家擔待,并指正!