视觉标定,再来一波!!更简单粗暴!!!!!!
繼續(xù)!!!!!!
一、四個(gè)坐標(biāo)系簡(jiǎn)介和轉(zhuǎn)換
相機(jī)模型為以后一切標(biāo)定算法的關(guān)鍵,只有這邊有相當(dāng)透徹的理解,對(duì)以后的標(biāo)定算法才能有更好的理解。本人研究了好長(zhǎng)時(shí)間,幾乎每天都重復(fù)看幾遍,最終才會(huì)明白其推導(dǎo)過程。
? ? ?我覺得首先我們要理解相機(jī)模型中的四個(gè)平面坐標(biāo)系的關(guān)系:像素平面坐標(biāo)系(u,v)、像平面坐標(biāo)系(圖像物理坐標(biāo)第(x,y)、相機(jī)坐標(biāo)系(Xc,Yc,Zc)和世界坐標(biāo)系(Xw,Yw,Zw),在每一篇介紹相機(jī)模型的文章中都有介紹。
? ? ?我剛開始理解時(shí),看著那一堆的公式十分的頭暈,我相信很多初學(xué)者和我一樣,但仔細(xì)想想,只不過是,我們假設(shè)了一些參數(shù),使四個(gè)坐標(biāo)系之間的坐標(biāo)聯(lián)系起來,這樣我們就可以從拍攝的圖片上一個(gè)點(diǎn)坐標(biāo)一路反推出世界中的那個(gè)點(diǎn)的坐標(biāo),這樣就達(dá)到了我們的目的,三維重建。而那些我們假設(shè)的參數(shù),就是我們要標(biāo)定的內(nèi)外參數(shù)。
?
1、像素坐標(biāo)與像平面坐標(biāo)系之間的關(guān)系?
? ? ? 確定他們的關(guān)系之前,我們可以假設(shè)每一個(gè)像素在u軸和v軸方向上的物理尺寸為dx和dy。仔細(xì)看下他們的模型可以推出以下公式(這個(gè)還是比較好理解的):
?
?
?
?
解釋:1、dx,dy,u0,v0其實(shí)都是我們假設(shè)出來的參數(shù),dxdy表示感光芯片上像素的實(shí)際大小,是連接像素坐標(biāo)系和真實(shí)尺寸坐標(biāo)系的,u0,v0是圖像平面中心,最終是要我們求的內(nèi)外參數(shù)。
得出這個(gè)公式后我們可以運(yùn)用線性代數(shù)的知識(shí)把方程用矩陣形式表示:
當(dāng)然我們也可以用另一種矩陣形式表示:
2、相機(jī)坐標(biāo)系與世界坐標(biāo)系之間的關(guān)系?
? ? ?這兩個(gè)坐標(biāo)系之間的關(guān)系我們可以旋轉(zhuǎn)矩陣R和平移矩陣T來得到以下關(guān)系:
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 公式4
? ?解釋:1、 在這個(gè)公式中,R為3*3矩陣,T為3*1,0為(0,0,0),簡(jiǎn)化用Lw表示后為4*4矩陣。
3、成像投影關(guān)系(相機(jī)坐標(biāo)系與像平面坐標(biāo)系)?
? ? ?在相機(jī)模型中我們可以得到以下公式:
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?公式5
? ? ? ? ? ?解釋:1、
同樣我們用矩陣形式表示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?公式6
?
4、得到公式
?
而我們可以將以上公式綜合一下就可以得到:
??
因此,內(nèi)參數(shù)矩陣可以表示為:
=
?
外參矩陣可以表示為:,由旋轉(zhuǎn)矩陣R和平移向量T組成
?
當(dāng)然在好多資料上都有這種做法:
上圖中表示的情況是像素坐標(biāo)系和圖像物理坐標(biāo)系的兩個(gè)坐標(biāo)軸不是平行的關(guān)系,像素坐標(biāo)系的兩個(gè)坐標(biāo)軸也不是垂直90°的關(guān)系,而圖像物理坐標(biāo)系的兩個(gè)坐標(biāo)軸是垂直關(guān)系。所以,我們?cè)谵D(zhuǎn)換兩個(gè)坐標(biāo)軸的坐標(biāo)之間的關(guān)系時(shí)就必須考慮像素坐標(biāo)系兩個(gè)坐標(biāo)軸之間的夾角了。就有了上面的不同的內(nèi)參矩陣,理解了就好了。
?
二、圖像坐標(biāo):我想和世界坐標(biāo)談?wù)?B)
? ? ? ? ?玉米將在這篇博文中,對(duì)圖像坐標(biāo)與世界坐標(biāo)的這場(chǎng)對(duì)話中涉及的第二個(gè)問題:談話方式,進(jìn)行總結(jié)。世界坐標(biāo)是怎樣變換進(jìn)攝像機(jī),投影成圖像坐標(biāo)的呢?
? ? ? ? 玉米做了一個(gè)簡(jiǎn)單的圖示,在這里做一個(gè)提綱。圖中顯示,世界坐標(biāo)系通過剛體變換到達(dá)攝像機(jī)坐標(biāo)系,然后攝像機(jī)坐標(biāo)系通過透視投影變換到達(dá)圖像坐標(biāo)系。可以看出,世界坐標(biāo)與圖像坐標(biāo)的關(guān)系建立在剛體變換和透視投影變換的基礎(chǔ)上。為了獎(jiǎng)勵(lì)剛體變和透視投影變換溝通了“世界上最遠(yuǎn)的距離”,玉米在圖上獎(jiǎng)勵(lì)了他們兩朵小紅花。哈哈
?
?首先,讓我們來看一下剛體變換是如何將世界坐標(biāo)系與圖像坐標(biāo)系聯(lián)系起來的吧。這里,先對(duì)剛體變換做一個(gè)介紹:
? ? ? ? 剛體變換(regidbody motion):三維空間中, 當(dāng)物體不發(fā)生形變時(shí),對(duì)一個(gè)幾何物體作旋轉(zhuǎn),?平移的運(yùn)動(dòng),稱之為剛體變換。
因?yàn)槭澜缱鴺?biāo)系和攝像機(jī)坐標(biāo)都是右手坐標(biāo)系,所以其不會(huì)發(fā)生形變。我們想把世界坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換到攝像機(jī)坐標(biāo)下的坐標(biāo),如下圖所示,可以通過剛體變換的方式。空間中一個(gè)坐標(biāo)系,總可以通過剛體變換轉(zhuǎn)換到另外一個(gè)個(gè)坐標(biāo)系的。轉(zhuǎn)一轉(zhuǎn),走一走,就到另外一個(gè)坐標(biāo)系下了。以前可能是面朝大海,經(jīng)過平移旋轉(zhuǎn),最終可能只能面朝冰山了,哈哈
下面讓我來看一下,二者之間剛體變化的數(shù)學(xué)表達(dá)。
?
其中,XC代表攝像機(jī)坐標(biāo)系,X代表世界坐標(biāo)系。R代表旋轉(zhuǎn),T代表平移。R、T與攝像機(jī)無關(guān),所以稱這兩個(gè)參數(shù)為攝像機(jī)的外參數(shù)(extrinsic parameter)可以理解為兩個(gè)坐標(biāo)原點(diǎn)之間的距離,因其受x,y,z三個(gè)方向上的分量共同控制,所以其具有三個(gè)自由度。
? ? ? ? ?R則為分別繞XYZ三軸旋轉(zhuǎn)的效果之和。如下面所示:
?
?R=r1*r2*r3.其由三個(gè)方向的θ控制,故具有三個(gè)自由度。
? ? ? ? ? ?好了,剛體變換就講完了。大家應(yīng)該都了解,世界坐標(biāo)系到攝像機(jī)坐標(biāo)系之間的轉(zhuǎn)換過程了吧。
? ? ? ? ? 接下來,讓我們看看攝像機(jī)坐標(biāo)下的坐標(biāo)如何投影到圖像坐標(biāo)系下,最終變?yōu)檎掌械囊粋€(gè)像素。這其中包含兩個(gè)過程:一是從攝像機(jī)坐標(biāo)到“空間圖像坐標(biāo)”(x,y)所發(fā)生的透視投影;二是從“連續(xù)圖像坐標(biāo)”到“離散圖像坐標(biāo)”(u,v)。后者我們已經(jīng)在第一篇博文中解釋過。所以在這里,主要介紹一下透視投影。
? ? ? ? ?透視投影(perspective projection):?用中心投影法將形體投射到投影面上,從而獲得的一種較為接近視覺效果的單面投影圖。有一點(diǎn)像皮影戲。它符合人們心理習(xí)慣,即離視點(diǎn)近的物體大,離視點(diǎn)遠(yuǎn)的物體小,不平行于成像平面的平行線會(huì)相交于消隱點(diǎn)(vanish point)。
? ? ? ? ?啰嗦這么多,其實(shí)大家看看示意圖,看看公式,秒懂。
??以圖中B(XB,YB)點(diǎn)為例,在小孔成像攝像機(jī)模型下(幾何分析的最常用模型)。這里的f為攝像機(jī)的焦距,其屬于攝像機(jī)的內(nèi)參數(shù)(intrinsic parameter)。其在成像平面上的投影點(diǎn)b(xb,yb)的坐標(biāo)利用簡(jiǎn)單的相似三角形比例關(guān)系很容易求出:
?
上面兩式也闡明了攝像機(jī)坐標(biāo)與圖像坐標(biāo)之間的透視投影關(guān)系。
? ? ? ? ? ? 好吧,現(xiàn)在玉米已經(jīng)把圖像坐標(biāo)與世界坐標(biāo)之間的這場(chǎng)對(duì)話所需經(jīng)歷的三個(gè)波折的過程加以了解釋。即:剛體變換、透視投影、(x,y)換(u,v)(ps.這個(gè)在上一篇博文中講過)。接下來玉米用一張圖把三個(gè)過程連接起來。實(shí)現(xiàn)從世界坐標(biāo)(X,Y,Z)到(u,v)之間的轉(zhuǎn)換。讓圖像坐標(biāo)與世界坐標(biāo)直接對(duì)話。
? ? ? ? ?下圖中的轉(zhuǎn)換關(guān)系,都是用齊次坐標(biāo)表達(dá)的,大家會(huì)發(fā)現(xiàn)這樣的表達(dá)非常整潔。
? ? ? ? ?其實(shí)這張圖顯示的過程還有一個(gè)名字:攝像機(jī)模型(camera model)。其實(shí)也就是攝像機(jī)的幾何模型了。
? ? ? ? ?將三者相乘,可以把這三個(gè)過程和在一起,寫成一個(gè)矩陣:
P就是世界坐標(biāo)到圖像坐標(biāo)的直接聯(lián)系人,P就表示了一個(gè)投影相機(jī),有下面公式:
注意在表示齊次坐標(biāo)時(shí),需要在符號(hào)上面加個(gè)小帽子。除去齊次坐標(biāo)控制位P23,P具有11個(gè)自由度。
?? ? ? 攝像機(jī)模型及其中涉及的坐標(biāo)系等,是弄清3D重建幾何框架的基礎(chǔ)。可以把它們視為基本運(yùn)算關(guān)系。后面對(duì)于三維重建幾何框架的推導(dǎo),都是要用到三個(gè)基本坐標(biāo)系和攝像機(jī)模型的。
轉(zhuǎn):https://blog.csdn.net/messi_cyc/article/details/78052931
總結(jié)
以上是生活随笔為你收集整理的视觉标定,再来一波!!更简单粗暴!!!!!!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 登录注册实现(服务器数据)
- 下一篇: 《Redis开发与运维》学习第五章