北理工賈云德《計算機視覺》chapter12標定
《北理工賈云德《計算機視覺》chapter12標定》由會員分享,可在線閱讀,更多相關《北理工賈云德《計算機視覺》chapter12標定(24頁珍藏版)》請在裝配圖網上搜索。
1、精選優(yōu)質文檔-----傾情為你奉上 第12章 標定 本章將討論各種攝象機系統及深度成像系統的標定方法.在攝影測量學領域中,已經建立了大量的攝象機和測距傳感器標定方法.這些方法可以用來確定攝象機或測距傳感器在場景中的位置和方向以及與場景坐標之間的關系. 在攝影測量學中有以下四個標定問題: (1) 絕對定位:通過標定點確定兩個坐標系在絕對坐標系統中的變換關系,或確定測距傳感器在絕對坐標系中的位置和方向. (2) 相對定位:通過場景中的標定點投影確定兩個攝象機之間的相對位置和方向. (3) 外部定位:通過場景中的標定點投影確定攝象機在絕對坐標系中的位置
2、和方向. (4) 內部定位:確定攝象機內部幾何參數,包括攝象機常數,主點的位置以及透鏡變形的修正量. 這些標定問題主要起源于高空攝影技術,是攝影測量中的經典問題.除了以上四個標定問題外,攝影測量學還解決以下兩個問題:一是通過雙目立體視差確定點在場景中的實際位置,二是對立體圖像對進行校正變換,使得立體圖像對的外極線與圖像的行平行以便簡化后續(xù)處理(見第十一章). 攝象機標定過程中涉及到以下幾種坐標,場景坐標、攝象機坐標、圖像坐標和像素坐標等,這些坐標已經在1.7中介紹成像基礎知識時引入.確定這些坐標之間的關系就是本章所要討論的各種標定問題的目的. 12.1 剛體變換 物
3、體位置和方向的任意變化都可以認為是剛體變換,因為物體的移動只改變其位置和方向,并不改變其形狀和大小.假定通過兩個處于不同位置的攝像機均可看到點,點在兩個攝像機坐標系中的坐標分別是和.顯然兩個攝象機位置之間的變換是剛體運動,因此,點在第一個視場中的坐標可以通過旋轉和平移變換到第二個視場中的坐標, (12.1) 其中矩陣R是一個的正交方陣,用于旋轉變換: (12.2) 矢量表示平移,或者說點是第一個坐標系原點在第二個坐標系上的坐標,如圖12.1所示. 圖12.1 兩個攝像機坐標系 方程12.1可以
4、認為是計算一個點經過旋轉和平移以后的新坐標,或是計算空間中同一個點在不同坐標系中的坐標 .前者用于剛體力學:在物體移動到一個新的位置以后,計算物體上一點的新坐標;后者用于標定問題:同一點在不同觀察位置上觀察將會得到不同的坐標,這種不同可以由剛體變換確定,而標定問題就是來確定這種剛體變換.例如,考慮兩個具有不同位置和姿態(tài)的攝象機觀察場景中同一點,由于觀察角度不同,這一點在兩個攝像機坐標系中的坐標是不同的.設想旋轉第一個攝象機,使其方向與第二個攝象機的方向相同;再設想將第一攝象機平移到第二攝象機的位置上,則兩個攝象機坐標系完全重合. 12.1.1旋轉矩陣 空間角可用直角坐標系中的歐拉角描述
5、:繞軸旋轉角,繞新的軸旋轉角,繞新的z軸旋轉角,角是光軸的俯仰角(pitch),也叫垂直角,角是光軸的偏航角(yaw)(水平角),角表示光軸滾動角(roll)或扭轉角(twist).無轉動(三個角都等于零)指的是兩個坐標系統完全對正.各角度旋轉正方向為從坐標系原點沿各軸正方向觀察時的逆時針旋轉方向.用這些角表示方程12.2定義的旋轉矩陣各元素如下: (12.3) 用歐拉角的形式來確定坐標系的旋轉會引起數值解不穩(wěn)定,因為歐拉角很小的變化可能對應很大的旋轉變化.因此,標定算法或者求解旋轉矩陣的各元素常使用其它形式的旋轉角表達式,如,四元數等. 旋轉矩陣是一個正交矩陣:
6、 (12.4) 其中表示單位矩陣.由上述公式不難得到旋轉矩陣的逆就是該矩陣的轉置.標定算法會在坐標系之間產生剛體變換;例如,從坐標系1到坐標系2,我們有 (12.5) 剛體變換的逆變換就是將坐標系2的坐標變?yōu)樽鴺讼?的坐標: (12.6) 這里的表示坐標系上的點是另一個坐標系的原點.注意平移變換的逆變換并不是簡單的等于必須乘以旋轉變換的逆變換,因為表示在坐標系2上的平移,其逆變換一定要表示到與坐標系1同一個方位的坐標系中 . 圖12.2 歐拉角或俯仰角、偏航角和滾動角示意圖 12.1.2旋轉軸 旋轉也可以規(guī)定為逆時
7、針(右手坐標系)繞由單位矢量表示的軸的旋轉.這是一種觀察旋轉的非常直觀方法,但是它在數值計算上也有和歐拉角一樣的問題.旋轉軸和旋轉角度表達式可以轉換成矩陣表達式(方程12.1),以作為剛體變換的公式.當然,如果能直接使用旋轉軸和旋轉角表達式來產生滿意的數值解,將是最好不過的了.在這種思路的基礎上產生了旋轉四元數,這也是將四元數用于旋轉表示的原因之一. 12.1.3 四元數 四元數是一個四元矢量,可用來表示坐標旋轉.實踐證明,對于定位求解問題,四元數表示可以給出很好的數值解.為了理解四元數是如何對旋轉進行表示的,我們首先想象在二維平面上的一個單位圓,單位圓上的任何一個位置都只對應于一個旋轉
8、角.如圖12.3所示. 圖12.3 單位圓上一點只能對應一個旋轉角 再考慮三維空間中的單位球: (12.7) 在單位球上的任意一點只對應繞軸和軸旋轉的兩個角和,無法表示繞軸旋轉的第三個角.顯然,再增加一個自由度就可以表示所有三個旋轉角.四維空間單位球定義如下: (12.8) 三維空間中所有三個旋轉角可以通過四維單位球上的點來表示.由單位四元數表示的旋轉公式如下: (12.9) 每一個單位四元數和其反極點(antipole)都表示三維空間中的旋轉.
9、 用單位四元數表示剛體變換的旋轉矩陣: (12.10) 在計算出單位四元數之后,就可利用上式計算旋轉矩陣. 單位四元數與上節(jié)描述的旋轉角和旋轉軸有密切關系.旋轉可以用旋轉量和旋轉軸方向的組合來表示,即四元數由一個與旋轉量有關的標量和一個旋轉軸矢量組成 . 設旋轉軸的單位矢量為,使用,和表示坐標軸,則旋轉軸單位矢可以表示為: (12.11) 繞該軸逆時針旋轉角的單位四元數為: (12.12) 上式的第一項為四元數的標量(實)部分,其余項為矢量(虛)部分.空間點的四元數實際上只有矢量部分(虛部),該矢量就
10、是空間點的矢量表示. (12.13) 設是點通過矩陣旋轉得到, (12.14) 若是點的四元數表示,那么對旋轉后點的四元數表示可以由四元數直接計算: (12.15) 這里的,是的共軛四元數: 四元數乘法定義如下: (12.16) 剛體變換可以很方便地用七個元素表示,前四個量是單位四元數,后三個量是平移量.在這一表達式中,若用R(q)表示對應于單位四元數的旋轉矩陣,則剛體變換式為: (12.17) 12.2 絕對定位
11、 絕對定位問題是確定兩個坐標系之間的剛體變換問題.求解絕對定位問題在機器視覺中有著許多應用,其中的一個應用是確定測距成像系統或雙目立體視覺系統與定義在場景中的絕對坐標系之間的關系,這樣可以將所有的測量值均表示在一個公共的坐標系里.若表示點在攝象機坐標系中的坐標,表示點在絕對坐標系中的坐標,則絕對坐標定位問題的輸入就是一個共軛對組:,,...,. 為了求解絕對定位問題,我們把剛體變換方程展開,以便說明旋轉矩陣中各項的作用.設是攝象機坐標系內的點,是絕對坐標系內的點,從到的剛體變換公式為: (12.18) 其中12個未知參數中有9個是旋轉矩陣參數,3個是平移參數.每個共
12、軛對對應有三個等式,則至少需要四個共軛對產生12個方程才能解出12個未知數.在實際應用過程中,常常使用大量的共軛對(這些共軛對通常是空間標定點在不同坐標系中的表示)來提高計算精度. 在解線性系統方程時,如果旋轉矩陣沒有正交標準化,則可能得不到有效的旋轉矩陣.使用非標準正交矩陣作為旋轉矩陣可能會產生意想不到的結果,如不能保證矩陣轉置一定等于矩陣逆,并且共軛對的測量誤差會嚴重地影響計算結果,從而不能產生剛體變換的最佳逼近.有些方法是在每一步迭代過程之后對矩陣進行正交化,但仍不能保證正交化的矩陣是旋轉矩陣的最佳逼近.一種替代的方法是求解旋轉角而不是矩陣的各項元素.旋轉角最一般的表示方法是歐拉角,不
13、過使用歐拉角會導致非線性方程,從而產生數值計算上的困難.在攝影測量中,通常的做法是對非線性方程線性化并求解,以便得到名義值的修正值.這種線性化算法的成功與否很大程度上取決于初始預估值好壞. 下面討論用單位四元數表示方法求剛體變換.設是對應于單位四元數的旋轉矩陣,則攝象機坐標系上的每一點坐標轉換成絕對坐標的剛體變換公式如下: (12.19) 其中是攝象機原點在絕對坐標系中的位置.現在的回歸問題有七個參數:表示旋轉的單位四元數的四個參數加上平移矢量的三個參數. 正如前面所指出的,絕對定位問題的輸入是共軛對集合:,,…,. 考慮一組點的兩種集合表示,在攝象機坐標系
14、中的點集和絕對坐標系中的點集.絕對定位問題就是在空間中將這兩個點群對正.下面計算每個點集的矩中心: (12.20) (12.21) 用矩中心與每一個點相減得: (12.22) (12.23) 若已知旋轉矩陣,則平移表達式可表示為: (12.24) 下面將討論求解旋轉矩陣,使得這兩簇射線對正.在推導旋轉矩陣時,將點表示為從矩中心出發(fā)的射線,這樣所有坐標都將是射線坐標.由于射線束是由共軛對集合推導的,因此,我們可以知道在攝象機射線束中的某一條射線對應于絕對坐標射線的那一條
15、射線.當兩組射線對正后,每一對對應射線將會重合.換句話說,每一對射線位于同一條直線上,并指向同一方向.若不考慮測量誤差的影響,則每對射線之間的夾角應為0,夾角的余弦為1.測量誤差導致射線束不能完全對正.但可以在最小方差的意義上,通過求解旋轉矩陣束得到最佳對正結果,其中旋轉矩陣的求解是求每對射線標量積的極大值: (12.25) 在四元數中,上面的和式可以表示為: (12.26) 上式可以變成二次表達式: (12.27) 假設對應一個列向量.則使二次式取極大值的單位四元數是對應于最大正特征值的特征向量.特征根可以利用[
16、Horn 1987]給出的公式求解四階多項式來確定,也可以利用標準數值方法[Press 1988]計算特征向量和特征值. 矩陣和是由每個射線元素構成.設,,那么: (12.28) (12.29) 矩陣N為: (12.30) 式中的和式S是由攝象機坐標系和絕對坐標系的射線坐標元構成.其中,是求所有共軛對的攝象機坐標點的坐標坐標和在絕對坐標點的坐標坐標的乘積和: (12.31) 上述計算的結果是一個單位四元法,表示校準射線束的旋轉變換.剛體變換可以作用于測距攝象機,雙目立
17、體視覺系統或任何其它深度測量系統產生的測量坐標值,以便把這是測量值變換到絕對坐標系統的測量坐標值 . 12.3 相對定位 相對定位問題是指用場景點在兩個圖像平面上的投影來確定兩個攝象機坐標系之間的關系.相對定位問題是雙目立體視覺系統標定的第一步.我們曾在第十一章討論了沿極線匹配特征的雙目立體視覺算法.為了簡化表示,假定左、右圖像平面上的外極線皆與圖像陣列的行線重合,且對應的左、右圖像陣列的行標號也相同. 設場景點在左、右兩個攝象機的視場范圍內(見圖11.1).點在左攝象機坐標系用表示,在右攝象機坐標系內用表示.點在左攝象機圖像平面上的投影為,在右攝象機圖像平面上的投影為設左右攝像機
18、智的焦距分別為.由透視投影得到公式: (12.32) (12.33) 將左攝象機坐標系轉換為右攝象機坐標系的剛體變換方程如下: (12.34) 從透視投影方程(12.32)和(12.33)求出和,并將它們代入上面的剛體變換方程,得到一組共軛對投影之間的關系方程: (12.35) 變換方程的旋轉部分改變左攝象機的方位使之與右攝象機方位相同.而平移部分就是兩個攝象機之間的基線.平移變量和深度變量在等式中以比值的形
19、式出現,分別表示基線的長度和深度可任意縮放.例如,可以將攝象機分離兩倍的距離,并將場景中的點移遠兩倍的距離而不改變透視幾何關系. 僅通過標定點的投影是不可能確定基線長度,但這并不是一個嚴重的問題,和確定比例系數一樣,基線長度可以通過其它的方法確定.現在,假定攝象機之間的平移量是單位矢量.求解相對定位問題可以得到旋轉的三個參數和表示基線方向的單位矢量的兩個參數.雙目立體深度測量值是以基線長度為計量單位的.假定單位基線長度,意味著雙目立體測量值可以用任意計量單位表示.在這個單位基線長度假設下得到的測量值是正確的,但仍未確定比例系數.點之間的相對距離是正確的.這些任意設置的計量單位值乘以基線長度可
20、以得到真實計量單位值.12.7節(jié)將介紹如何確定基線距離,這也是求解絕對定位問題的一個部分.求解絕對定位問題得到絕對坐標變換.使用絕對坐標變換,任意計量單位立體測量值到真實計量單位的轉換和點在觀察者坐標系到絕對坐標系的變換可以同步進行. 方程組(12.35)含有12個相對位置參數和2個與場景點有關的未知數,因此若有個標定點,則有個未知量,旋轉矩陣是正交矩陣,由此可以產生6個約束,另一個約束是基線距離取單位值的約束。根據方程(12.34),若有n個標定點,則可產生3n個約束方程,這樣會有7+3n個約束.當n=5時,約束數等于未知量數。所以求解這一問題至少需要五個共軛對,在實際中,使用更多的共軛對
21、可以得到更高的求解精度. 求解相對定位問題首先從一組標定點開始,使用這些標定點在左、右圖像平面上的投影來確定這兩個攝象機之間的剛體變換.每個投影點對應于一條從攝象機投影中心出發(fā)的射線,這條射線穿過投影點進入場景.對于場景中的標定點,其在兩個圖像平面的兩個投影點和對應的兩條射線應相交于點.但實際上,由于在圖像平面上投影點位置的測量誤差,相交點位置可能不在點.我們希望求出滿足單位基線長度約束的兩個攝象機在空間的相對位置和方向,以便使圖像平面中的射線位置測量誤差達到最?。? 設是從左攝象機投影中心點出發(fā),穿過左圖像平面上的點的射線(矢量);是從右攝象機投影中心點出發(fā),穿過右圖像平面上的點射線(矢量
22、);是從左攝象機投影中心點到右攝象機投影中心點的矢量.我們需要在同一個坐標系中處理每一條射線,所以旋轉以使它和在同一個坐標系中,用表示這個旋轉后得到的射線.如果兩條射線相交,則說明它們位于垂直于的平面中.基線也位于同一平面中.因此,基線也垂直于,這一關系在數學上可描述為基線矢量與的點積為0: (12.36) 這個關系式稱為共面條件. 由于測量誤差,射線將不會交于點,也不滿足共面條件.解決這一問題的有效方法是使用使用最小二乘法. 12.4 校正 校正(rectification)是立體圖像對重新取樣的過程,以使得外極線對應于圖像陣
23、列的行.其基本思想:校正左、右圖像平面位置,使這兩個平面與兩攝像機光學中心連線平行,此時,由于極點在無窮遠處,圖像陣列的行就是極線,如圖12.4所示。立體對應點可以沿對應圖像搜索匹配點得到.如圖12.5所示。 圖12.4 校正處理示意圖 圖12.5 校正處理實驗結果 (a)原始圖像 (b)校正處理后的圖像 實際上,上述條件很難達到,可能會出現一些偏差(繞攝相機垂直軸向內旋轉),但如果將左,右圖像投影到一個平面上,就能得到理想的極線幾何.左(右)攝象機中的每一個像素點分別對應于
24、左(右)攝象機坐標系統中的一條射線.設和分別表示將左,右攝象機的射線變換到公共平面坐標系的剛體變換.確定每個圖像的頂點在公共平面上的位置,創(chuàng)建新的左、右圖像網格,將每一個網格點變換回原來的圖像上.使用12.6.2節(jié)所討論的雙變量線性內插方法內插旬素值以確定公共平面上新的左、右圖像中的像素值. 12.5 雙目立體深度測量 雙目立體視覺是匹配左、右圖像平面上的特征點并生成共軛對集合 ,.在理想狀態(tài)下,每一個共軛對定義的兩條射線,相交于空間中某一場景點.空間相交的問題就是找到相交點的三維空間坐標.由于圖像平面坐標的測量誤差以及攝象機的誤差,兩條射線不會相交,所以通過立體對計算深度問題就
25、是求最接近射線的場景點的坐標. 我們將假設立體測量所有的坐標系不同于任一攝象機坐標系.例如,立體坐標系可以建立在支撐兩個攝象機的框架上.這里出現了兩個剛體變換:一個是左攝象機相對于立體坐標系的校準變換,另一個是右攝象機相對于立體坐標系的校準變換.左變換包括有旋轉矩陣和平移量 ,右轉換包括旋轉矩陣和平移量.為了在右(左)攝象機坐標系中表示測量點,則需要使用相對定位問題中的剛體變換公式和平移公式. 在三維空間中共軛對的坐標分別為 和 .將左攝象機坐標系旋轉和平移到立體坐標系中: (12.37) 同樣,對于右攝像機有:
26、 (12.38) 為了計算最靠近兩條射線的點,通過求下式的最小值求出對應于兩條射線之間的最小的距離時,和值 . (12.39) 其中,是立體坐標系中的基,和分別是旋轉后進入立體坐標系的左,右射線.為了求解射線相交問題,對和求導并等于0.解方程求出和并代入射線方程(方程12.42和12.43),以便求取位于每一條射線上的點.求出這兩點的位置平均值,就得到深度的估計值. 立體點測量值是在立體坐標系統中進行的,立體坐標系可以是左或右攝象機坐標系,或是一個中性坐標系.如果通過求解外部定位問題(12.8節(jié))或通過其它方法來求解左、右攝象機與立
27、體坐標系之間的剛體變換,那么,立體點測量值單位與標定點單位一樣.不考慮如何標定立體坐標系,我們必須將點測量值變換到場景絕對坐標系中.同時通過求解具有比例因子的絕對定位問題將測量值轉換到與場景相適應的某一計量單位系統中. 12.6 含有比例因子的絕對定位 在12.2節(jié)中,絕對定位變換公式不允許包含比例因子;坐標系之間的變換僅包括旋轉和平移的剛體變換.在雙目立體系統中,若兩個攝象機之間的基線未知或不正確時,或在測距攝象機之間具有不同測量單位時,比例因子會發(fā)生改變. 12.2節(jié)所討論的絕對定位問題可以推廣到包含比例因子變化的情況.推廣后的坐標變換將包含用于視點與絕對坐標對正(alignmen
28、t)的旋轉和平移變換,也包含攝象機專用的測量單位到公用計量單位轉換的比例因子.設點在一個坐標系中的坐標為,在另一個坐標系中的坐標為,則坐標系變換公式為: (12.40) 其中,s是比例因子.這一參數使絕對定位問題參數數量增加到七個:三個旋轉參數,三個平移參數,一個比例因子.比例變換是一種均勻比例縮放:即每個軸縮放比例量相同. 絕對定位問題的輸入是來自第一和第二個視場的幾個共軛對集合.回歸問題是求出旋轉陣,平移量,和比例因子s: (12.41) 達到極小值.求解上述問題至少需要三個點,
29、以得到九個方程來解七個未知量.實際中,使用更多的點可以得到更高的精度. 暫時忽略一下共軛對的對應關系是已知的,設想一下兩個點集(在第一個坐標系中的點集和在第二個坐標系中的點集)是在絕對坐標系中的兩個點群.計算每個點群矩中心如下: (12.42) (12.43) 將每個點群變換為有關矩中心的一個矢量簇: (12.44) 計算矢量簇平均長度,即可確定比例因子. 這說計算比例因子列需知道旋轉和平移,這在標定雙目立體基線距離中十
30、分有用,并且使用點越多計算結果越精確. 在確定旋轉和比例因子之后,平移可以從矩中心很容易地計算出來: (12.45) 計算旋轉是確定如何校準關于矩中心的射線束的基本問題,計算第一和第二視場中的射線坐標標量積之和,得到的矩陣M: (12.46) 設矩陣Q = .則旋轉矩陣為: (12.47) 其中矩陣S為: (12.48) 矩陣Q的特征值和特征向量的分解表示為:
31、 (12.49) 的特征值是通過解一個三次方程得到的.這個三次方程的根可以直接利用[197]公式求出.用特征值解線性方程: (12.50) 得到正交特征向量V1 ,V2和V3.矩陣S是矩陣Q的平方根.在特征系統表示中(方程12.47),矩陣的平方根和其逆矩陣是很容易計算的.矩陣S的逆矩陣為: (12.51) 計算特征向量的叉積,除以特征向量的平方根,再乘以矩陣M就可得到旋轉矩陣R.這種計算方法保證了矩陣R是歸一化正交矩陣. 這個算法提供了一種旋轉矩陣的解析解(非迭解).比例尺
32、度可以通過方程12.44得到.無需確定平移或旋轉參數,而平移量可以通過方程12.45來確定.變換公式12.40可以作用于任何深度測量系統的點測量值,包括雙目立體系統或測距攝象機,以便將測量點變換到絕對坐標系中,并將測量值轉換成絕對坐標計量單位.測量值計量單位是任何一種可用于絕對定位問題中標定點計量單位.例如,在絕對坐標系統中標定點的單位是毫米,而雙目立體深度測量值是以基線為一個單位,則由這些標定點求解絕對定位問題的剛體變換將深度測量值的單位轉換成毫米單位.測量系統中每個坐標軸上的單位應是相同的,因為作用于每一個坐標軸上的比例因子是相同的. 12.7 外部定位 外部定位問題就是在絕對坐標系
33、中,確定圖像平面坐標和場景點坐標之間的關系.在機器人學和機器視覺中,外部定位問題被稱之為手─眼問題.直到本節(jié),我們一直在攝象機坐標系中表示場景點的坐標;但在許多應用中,都需要建立圖像平面坐標系與定義在場景中的絕對坐標系之間的關系.在圖像平面中,每個點都定義一條從投影中心出發(fā),經過圖像平面中的點,指向場景的射線.在場景中,攝象機的位置就是投影中心的位置,攝象機的定位決定了從投影中心出發(fā)穿過圖像平面點的射線簇的定位.一個圖像平面點并不對應場景中唯一的一個點,但我們可以利用穿過此點的射線方程,連同其它有關場景的幾何信息,在場景絕對坐標系中確定唯一的對應點.例如,如果我們知道一個圖像點對應于墻上的一個
34、點,并且也知道墻的模型平面方程,則只要求出射線方程與平面方程的交點就可以得到墻上對應點的準確位置. 外部定位問題就是確定對應圖像平面點的射線簇的位置和方向,使得每一個圖像平面點可以被變換為場景絕對坐標系中的對應射線,如圖12.6所示.射線束的位置和方向可以表示成攝象機坐標與絕對坐標之間的剛體變換.一個圖像平面點在攝象機三維坐標系中的坐標為 ,其中表示圖像平面位于投影中心前面距離為的位置.投影中心對應攝象機坐標系的原點,攝象機在場景中的位置就是投影中心在絕對坐標系中的位置 .在攝象機坐標系中,經過圖像平面中點的射線參數方程為 (12.52)
35、 其中t的取值可以從0(在投影的中心)到無窮大.當t=1時,攝象機坐標系中的點 是圖像平面點.已知圖像上一個測量點位置和攝象機常數的估計值,則可以從攝象機坐標系中得到對應的射線方程. 圖12.6外部定位問題示意圖 設,,則可以將攝象機坐標系與絕對坐標系之間的剛體變換作用于射線的參數方程(方程12.52)中,得到場景絕對坐標系中的射線方程: (12.53) 確定剛體變換的基本步驟是:已知標定點在場景中的坐標為,測定標定點的投影坐標,利用透視投影方程建立圖像平面點與場景點的聯系,最后求解剛體變換.攝象機外部定位參數(旋轉角和
36、到攝象機原點的平移)稱為非固有參數,與攝象機內部幾何的固有參數(例如攝象機焦距)相對. 外部定位問題可以簡單地陳述為:什么是絕對坐標與相對坐標之間的剛體變換,該變換可以確定空間射線簇位置和方向使得每一條射線都通過其對應的標定點?為了明確一下坐標系,我們將使用下標來區(qū)分絕對坐標和攝象機坐標.在絕對坐標系中,點的位置是 ,在攝象機坐標系中,點的位置是.我們將外部定位問題確定為從絕對(場景)坐標到攝象機坐標的變換.實際應用中的逆變換由式12.12給出.從絕對坐標到攝象機坐標的剛體變換如下: (12.54) 在攝象機坐標系中,場景點的位置是未知的,但是點
37、在圖像平面上的投影可以由透視投影方程來確定: (12.55) 因此,聯立(12.54)和(12.55) 可知每一個標定點確定兩個獨立的約束方程: (12.56) 6個標定點產生12個等式可以用于求解變換矩陣中12個參數,但是使用旋轉矩陣的歸一化正交約束可以將標定點減少為4個.在實際應用中,常常使用更多的點以便得到精確的結果.使用歐拉角公式替換旋轉矩陣的元素,然后求解非線性回歸問題 下面是一個求取外部定位的例子.機器人在手臂的底部安裝了一個吸力抓取機構.抓取機構非常適合于抓取那些小而平的物體,但前提是抓取機構必須定位在這些物體的中心附
38、近.已知一個扁平物體放在手臂可以到達的一個桌子上,絕對坐標系定義在桌子的一個角點.一部攝象機位于桌子的上方,整個桌子在視場范圍內.圖像平面中的點的位置坐標是.如果物體相對于桌面背景具有很好的的反差,則可以使用一階矩就可估算圖像平面位置.在桌子的絕對坐標系中的點的位置坐標是.通過求解外部定位問題可以確定相對于絕對坐標系的攝象機的位置和方向. 給定一個圖像平面中物體中心的位置,通過求出由攝象機原點出發(fā),穿過點的射線與桌面的交點,可以確定桌面上的物體中心在絕對坐標系中的的位置.桌面的方程: (12.57) 和從攝象機中心出發(fā)的射線方程:
39、 (12.58) 必須在絕對坐標系中.通過求解外部定位問題得到變換公式可以把從攝象機出發(fā)的射線轉換到絕對坐標系中.如果絕對坐標系的原點是在桌面上,其z軸垂直于桌面,則方程12.57變?yōu)閦 = 0,計算射線與桌面的交點變得十分容易. 12.8 內部定位 內部定位問題就是確定攝象機內部幾何參數,這些幾何參數包括: (1) 攝象機常數:投影中心到攝象機平面的距離; (2) 主點:圖像平面坐標系原點的位置; (3) 透鏡變形系數:由于攝象機的光學缺陷引起的圖像平面坐標的改變; (4) 比例因子:表示行和列之間的距離.
40、 攝象機內部幾何參數也稱為固有參數(intrinsic parameters),是與攝象機外部定位問題中的非固有參數相對應.內部定位問題是用于確定攝象機固有參數的一個回歸問題. 攝象機常數與透鏡焦距長度不完全一樣.當透鏡聚焦于無窮遠時,攝象機常數等于焦距,否則,攝象機常數小于焦距長度.主點是光軸與圖像平面的交點,是圖像平面坐標系的原點,也可以認為是圖像陣列的中心.盡管攝象機常數接近于焦距,主點很靠近圖像中心點,但在許多應用中,這種近似可能并不是很好.在圖像傳感器中,像素行和列之間的間距可以從攝象機技術說明書得到,但是圖像幀獲取裝置可能會引入誤差,因此,必須標定像素間距. 一些標定算
41、法可以同時求解內部定位問題和外部定位問題.其出發(fā)點是在攝象機外部定位確定之前,圖像平面上標定點的真正位置是未知的.然而,內部定位問題可以由其自身來解決.現在已經有幾種確定攝象機常數,主點位置和透鏡變形量的方法,無需知道攝象機在絕對坐標系中的外部定位.12.10節(jié)將討論確定固有參數和非固有參數的方法. 確定攝象機的獨立于非固有參數的固有參數的基本思想是使用一個具有規(guī)則圖形的標定圖像,如網格線.圖形變形可被用來估算透鏡變形量,并計算對其它非固有參數名義值的修正量. 透鏡變形包括兩個部分:徑向變形 ,它會或多或少地使光線彎曲;偏心,由于透鏡中心偏離光軸引起的.徑向變形和偏心可以用多項式模型來表示
42、;內部定位算法就是估算這些多項式的系數. 圖12.7示意的是在不考慮偏心的情況下,大多數透鏡變形呈現的徑向對稱性.光線或多或少地彎曲指向光軸,但這一誤差在透鏡上(或在圖像平面上)與主點距離相同的所有點處都是相同的. 因為由光線彎曲量引起的誤差是旋轉對稱的,故徑向變形可以用一個含有半徑偶次冪的多項式模型來表示 ,用 表示真實的圖像坐標, 表示未修正的圖像坐標,這個坐標是通過使用主點位置的估計由像素坐標為和得到的: (12.59) 圖12.7大多數透鏡變形是徑向對稱.射線將或多或少地彎曲并指向圖像中心.在圖像平面中,與主點真實位置
43、距離相等的所有點的徑向變形量是相同的. 將修正量 (dx ,dy ) 加到未修正坐標以便得到真實圖像平面坐標: (12.60) 徑向透鏡變形的修正量由距圖像中心距離的偶次冪多項式模型來表示: (12.61) 其中是主點位置坐標的精確值,而 (12.62) 是到圖像中心的徑向距離的平方.注意,和與方程12.114和12.115中的和不一樣,后者是用來計算未修正的圖像坐標;和是對和的修正.在標定結束之后,修正量可用于初始估算:
44、 (12.63) 修正徑向變形的標定問題就是找出多項式的系數、和.六階以上的透鏡變形多項式模型很少用到,事實上,也沒有必要用二階多項式.由于需要精確的主點位置估計以便建立透鏡變形的模型,因此,主點的位置包含在標定問題之中.透鏡變形更有力的模型可以包含由于透鏡偏心而引起的切向變形的影響: (12.64) 使用一個具有幾條不同定位和位置的標定目標.唯一的要求就是線必須是直的,并不要求一定是絕對的水平或垂直.這個方法沒有涉及到同時求外部定位問題.用激光機很容易制成一個由水平線和垂直線構成的網格.斜線的渲染圖像不是很精確,但由于外部定位對問題求解無
45、關緊要,因此可以平移和旋轉網格到不同位置,獲取幾幅圖像,收集大量數字化直線用于標定集合.將這個網格安放在一個垂直于光軸的扁平剛體平面上.由于并不要求直線一定是平行的,所以任意傾斜目標上的直線并不影響標定結果.在整幅圖像上,通過計算所有小窗函數上的一階矩,可以確定圖像邊緣點的位置到子像素分辨率級水平.窗口的尺寸應該略大于直線寬度,但應小于網格直線的間距.Hough變換可以用來把邊緣組合成直線,并確定直線參數的初始估計值. 在真實(未修正)圖像坐標系中,每一條直線的方程為: (12.65) 因為每條直線的確切位置和方向未知,因此,
46、直線參數的估計必須作為內部定位問題的一部分來精確求解.若表示直線上邊緣點的坐標,則使用上述修正模型得到未修正坐標(,),用這一坐標去替換方程12.65中的真實圖像坐標.對于每一個觀測值(邊緣點)和所有固s有參數值,將產生如下形式的方程: (12.66) n個邊緣點的方程組是n維非線性系統,必須使用非線性回歸方法求解.主點位置的修正量初始值為0,徑向透鏡變形和偏心系數也被初始化為0. 全部最小化判據是: (12.67) 求解這個非線性回歸問題可以得到主點的位置、徑向透鏡變型參數、和,以及透鏡偏心參數、和.每條直線的參數估算是確定固有參數時的
47、副產品,可以舍棄. 12.9 攝象機標定 攝象機標定問題就是建立圖像陣列中的像素位置和場景點位置之間的關系.因為每個像素都是通過透射投影得到的,它對應于與場景點的一條射線.攝象機標定問題就是確定這條射線在場景絕對坐標系中的方程.攝象機標定問題即包括外部定位問題又包括內部定位問題.這是因為,建立圖像平面坐標和絕對坐標之間的關系,必須首先確定攝象機的位置和方向以及攝象機常數,建立圖像陣列位置(像素坐標)和圖像平面位置之間的關系,必須確定主點的位置、縱橫比和透鏡變形.攝象機標定問題涉及到確定兩組參數:用于剛體變換(外部定位)的非固有參數和攝象機自身(內部定位)所擁有的固有參數. 12.9.1
48、攝像機標定基本方法 下面將介紹由[Tsai 1987]總結的一種攝象機標定基本方法,該方法在計算機視覺中得到廣泛的應用. 設表示圖像平面的原點位置,表示從點出發(fā)到圖像點的矢量,是一個標定點,表示從光軸上的點出發(fā)到的矢量.如圖12.8所示,如果僅是由于徑向透鏡變形而造成實際圖像坐標不同于理想圖像坐標,那么平行于.攝象機常數和在z方向上的平移并不影響的方向,因為兩個圖像坐標分量是以同樣的比例縮放的.這些約束對于求解外部定位問題是足夠了. 圖12.8攝像機透視投影與透鏡徑向變形幾何示意圖 假設標定點位于的平面中,并假設攝象機相對于這個平面放置的,以滿
49、足下面兩條重要條件: 1. 絕對坐標系中的原點不在視場范圍內. 2. 絕對坐標系中的原點不會投影到圖像上接近于圖像平面坐標系統的軸. 條件1消除了透鏡變形對攝象機常數和到標定平面距離的影響;條件2保證了剛體平移的分量不會接近于0,因為分量常常出現在下面引入的許多方程的分母中.這兩個條件在許多成像場合下是很容易滿足的.例如,假定攝象機放在桌子的正上方,鏡頭朝下正好看到桌子的中間位置.絕對坐標系可以定義在桌子上,其中,對應于桌子平面,和軸分別對應于桌子的邊緣,桌子的頂角是絕對坐標系的原點,位于視場之外. 假定有個標定點,每個標定點的絕對坐標為,未修正圖像坐標.根據這些觀測值形成一個矩
50、陣,其中的行為: (12.68) 設是含有與剛體變換參數有關的未知參數的矢量: (12.69) 從標定點的次觀察來形成一個矢量.使用五個以上標定點,我們就可以得到關于參數矢量的過量線性方程組.使用奇異值分解來求解這個線性系統,并使用方程解來計算除了的所有剛體變換參數,是攝象機常數的比例函數,將在后面確定. 首先,計算出平移的分量的大小.如果和不同時為0,和不同時為0,則: (12.70) 其中.如果和同時都為0,則: (1
51、2.71) 如果和同時為0,則: (12.72) 其次,確定的符號.選取標定點,這個點在圖像平面上的投影點是離圖像中心最遠的圖像點(位于視場邊界的場景點和其對應的圖像點).利用上面得到的結果矢量,可根據12.69,計算,,,和. 設和.如果和同號, 和也同號,那么具有正確的符號(正號) ,否則在前加一個負號.注意,在不考慮的符號時,上述剛體變換計算參數都是正確的,不需要改變. 第三, 計算余下的剛體變換參數: (12.73) 因為旋轉矩陣是正交歸一化矩陣,則
52、一定成立.使用這一性質來計算旋轉矩陣的最后一行中的各個元素: (12.74) 如果的符號是正的,則在前加負號.在下面的計算攝象機常數步驟之后,和的符號可能會有所變動. 第四,計算攝象機常數和平移的分量.為了估計和,可使用所有的標定點來構成線性方程組, (12.75) 使用每一個標定點來計算對應的矩陣行, (12.76) 并計算出方程12.75右邊所對應的矢量元素, (12.77) 矢量包括所要估計
53、的參數: (12.78) 使用奇異值分解求解這個方程組.如果攝象機常數,則在剛體變換的旋轉矩陣元素和前加負號. 第五, 使用前面各步驟得到的和的估算值作為非線性回歸的初始條件,計算一階透鏡變形系數,并進一步得到和的更精確的估計值.通過透視投影來建立真實(修正)圖像平面坐標 與攝象機坐標系中的標定點之間的關系式: (12.79) 假設通過使用徑向透鏡變形模型第一項建立的真實(修正)圖像平面坐標與測量圖像平面坐標之間關系為:
54、 (12.80) 其中半徑的計算公式如下: (12.81) 注意,未修正(測量)圖像平面坐標不同于像素坐標,因為前者的計算過程中已經用到了圖像中心位置坐標,行間距和列間距,以及比例系數估計值. 使用透射投影和透鏡變形方程中的分量以及絕對坐標與攝象機坐標之間的剛體變換公式,可以得到有關攝象機常數,平移和透鏡變形的一個約束條件: (12.82) 這將形成求解參數、和的一個非線性因歸問題.我們使用軸測量值,而不使用軸測量值,是因為測量值會受到比例系數的影響.圖像的行間距是非常精確的,可以
55、通過攝象機的說明書得到,而不受數字電路的影響. 因為標定點是在一個平面上,所以不能確定比例系數.而且,圖像中心位置沒有被標定.在本章末進一步閱讀一節(jié)中提供了有關此類標定問題的參考文獻. 12.9.2 仿射變換法 內部定位問題同部外部定位問題組合起來可以得到未修正圖像坐標與絕對坐標系中射線位置和方向之間關系的整體轉換.假設(未修正)圖像與真實圖像坐標之間的變換模型是圖像平面內的一個仿射模型.這個變換考慮了引起攝象機誤差的幾種來源 . 比例誤差:由攝象機常數的不精確值造成 . 平移誤差:由圖像原點(主點)的不精確估計值造成. 旋轉:圖像傳感器繞光軸的旋轉. 彎曲誤差
56、:由攝象機軸的不垂直造成. 差速比例縮放:由圖像傳感器行列間距不等(非正方形像素)造成. 然而,由于透鏡變形,仿射變換無法來模型化誤差. 在12.8節(jié)求解外部定位問題的過程中,我們建立了從絕對坐標系到圖像坐標系的變換公式.現在我們將增加真實圖像坐標到測量(未修正)圖像坐標的仿射變換,從而得到絕對坐標到測量圖像坐標的整體變換公式. 在圖像平面中,由于誤差和其它未知的內部參數造成的變形的模型是一個仿射變換: (12.83) 這里我們將真實圖像平面坐標映射為未修正(測量)圖像坐標.根據透視投影的公式12.79有:
57、 (12.84) 使用12.54式替換具有絕對坐標表達式的仿射變換中的攝象機坐標比值, (12.85) 這些系數是仿射變換和剛體變換中的系數乘積和.我們所得到的是一對方程,類似于建立絕對坐標和實際圖像坐標之間關系外部定位問題中的方程(方程12.55).攝象機誤差的仿射模型已經在絕對坐標到攝象機坐標的變換中.上述公式說明(未修正)圖像坐標和攝象機坐標之間是透視投影關系,但是攝象機坐標空間已經發(fā)生扭曲,以便考慮攝象機誤差. 回到12.85式中,我們可以將主點位置的修正量和加到仿射變換中,得到下式: (12.86) 上式表
58、明通過每個標定點和在圖像平面中的對應測量位置產生關于變換參數的兩個線性方程.攝象機常數的名義值并未納入到仿射變換中,因為它被用來構造攝象機坐標系中的射線. 標定點集產生一組齊次線性方程,從而求出變換的系數.至少需要6個標定點產生12個方程來求解12個未知數,但應該使用更多的標定點以提高求解的參數精度.為了避免所有系數等于0這一不必要的結果,應將其中一個參數固定,如或,并將其移至方程的右邊.由此形成的線性方程組為, (12.87) 其中是變換系數矢量;矩陣的行元素用標定點的絕對坐標及其絕對坐標的乘積和、或來填充;矢量的元素一個
59、常數,從或中選出.由于圖像平面中的仿射轉換與求解外部定位問題的旋轉矩陣合并在一起,所以形成的變換矩陣不再是正交歸一化矩陣.在沒有正交歸一化約束下,也可以使用通常的數值方法,如奇異值分解法(SVD),來解線性方程組.該變換將絕對坐標映射為測量圖像坐標.實際應用中還需要逆轉換,其公式如下: (12.88) 上式可用于確定在絕對坐標系中,從圖像測量坐標點出發(fā)的射線方程.注意,攝象機常數在整個標定算法過程中是不變的.因為對攝象機常數的修正量包含在仿射變換中(方程12.162和12.163),透鏡的焦距長度可以用來替代.最后,從像素坐標到圖像坐標的變
60、換公式為, (12.89) 這個變換可以同攝象機誤差模型(12.83)組合起來,從而產生絕對坐標到像素坐標的變換. 12.9.3 非線性方法 給定一組標定點,確定標定點在圖像平面上的投影,計算投影位置的誤差,使用這些誤差來求解攝象機標定參數.因為知道標定點在圖像上的投影位置十分必要,所以需要同時求解外部定位問題.本節(jié)介紹的方法不同于12.9.2節(jié)中介紹的將內部定位問題和外部定位問題合并成單一的仿射變換的方法,用本節(jié)的方法可以得到攝象機實際的標定參數,并且攝象機在標定后,無論放在場景中什么位置,這些參數都是正確的. 攝象機標
61、定問題求解的基本思想是測量標定點在圖像平面上的投影位置,計算出其與正確位置之間的偏移量,再將這些測量值加到攝象機參數模型的方程中.每個標定點產生兩個方程.通常需要足夠數量的方程才能解出所有未知參數,但為了提高求解精度,可以使用比未知參數數量多的多的方程,并且使用非線性回歸方法求解過度確定的方程組. 假設在絕對坐標系中攝象機的近似位置和方向都是已知的.因為我們有旋轉角的初始估計值,我們可以按照旋轉矩陣中的歐拉角來列出外部定位問題的公式.回歸問題的參數有:旋轉角、和;在絕對坐標系中攝象機的位置,和;攝象機常數;主點位置的修正量;徑向透鏡變形的多項式系數和.外部定位問題的方程見12.62.由攝象機
62、模型的修正位置(見式12.68和12.69)替換12.62式的和,得到攝像機的模型為: (12.90) 按照方程12.13提供的有關歐拉角的旋轉矩陣各項的公式替換旋轉矩陣的所有元素.利用非線性回歸的方法來求解攝象機參數和外部定位.回歸算法要求很好的初始條件.如果目標是一個平面,攝象機的軸垂直于平面,并且圖像的中心大致位于目標上,那么很容易得到要求的初始條件.假設建立的絕對坐標系的軸和軸均平行于攝象機的軸,則初始條件為: =從原點出發(fā)沿方向的位移 =從原點出發(fā)沿方向的位移 =攝象機到標定平面的距離 =透鏡的焦距長度 使用激光打印機可以很容
63、易地創(chuàng)建一個包含若干個點的目標.在圖像中點的未修正位置可以通過計算連同分量的一階矩得到. 非線性回歸的不足之處是需要很好的參數初始值, 但其優(yōu)勢是有大量的關于非線性回歸的文獻,這些文獻給出了求解非線性問題的忠告和參數估計中的誤差估計方法. 12.10 雙目立體標定 這一節(jié)主要討論如何將本章介紹的方法和技術運用到標定立體攝象機并進行立體測量的實際系統中去,這業(yè)提高了一個考察不同攝象機標定之間關系的機會. 在開發(fā)用于雙目立體的實際系統過程中要完成的幾個任務如下: 1. 標定每一個攝象機的固有參數; 2. 求解相對定位問題; 3. 對圖像重新取樣使極線對應于圖像陣列的行; 4. 通
64、過特征點的匹配和相關方法計算配對點; 5. 求解每個配對點的立體相交問題; 6. 確定基線距離; 7. 求解絕對定位問題,以便將測量點坐標從立體攝象機坐標系變換到場景中的絕對坐標系. 標定一個雙目立體系統有好幾種方法,對應于圖12.8中的不同路徑.首先,標定每個攝象機,以確定攝象機常數、主點位置、透鏡變形的修正表以及其它固有參數.完成左、右攝象機標定后,基本上有三種方法去使用立體系統中攝象機. 第一種方法是求解相對定位問題,并通過其它的方法確定基線,比如,使用立體攝象機測定已知距離的一個點.這也就完全實現了兩個攝象機之間剛體變換的標定.點測量值可以在立體攝象機的局部坐標系中表示.由于
65、基線已經被標定,點的測量值可以用實數單位表示,并且立體系統可以測量場景中物體上各點之間的關系.在此期間沒有必要求解絕對定位問題,除非要求點測量值必須變換到另一個坐標系中. 第二種方法是求解相對定位問題,并得到在任意測量系統中的點在單位基線距離意義的測量值.除了比例系數是未知數外,所有點測量值都可以得到修正.甚至在距離單位未知的情況下,距離比值和角度也可以得到修正.如果其后得到基線距離,則用點的坐標乘以基線距離就可以得到相應的有單位測量值.如果必須要將點的測量值變換到另一個坐標系中,則求解比例絕對定位問題(12.7節(jié)),因為這將完成基線距離的標定,以及點坐標單位的變換,無需額外的計算. 第三
66、種方法是求解每個立體攝象機的外部定位問題.這實現了從左右攝象機坐標系到絕對坐標系之間的變換.使用12.6節(jié)介紹的相交射線方法得到點的測量值將自動以已知的單位表示在絕對坐標系中,無需進一步的變換. 圖12.9 標定雙目立體視覺系統算法框圖 12.11 主動三角測距標定 本節(jié)將覆蓋了使用主動傳感器投射一束平面光到場景中不透明表面上來確定點的坐標方法.下面將討論主動三角系統標定方法. 我們將從攝象機坐標中的一個簡單幾何開始,進而再到絕對坐標中的一般情況.假定光平面可繞一個軸旋轉,該軸平行于軸并位于軸的處.若表示平面相對于軸的定位.當 q = 0時,光平面平行于y-z平面, q為正對應于繞y軸逆時針旋轉.按照矢量幾何,平面的法線為: (12.91) 基線為: (12.92) 如果點位于平面上,則滿足: (12.93) 這個光平面照亮了場景,并與不透明平面相交生成一條空間曲線,然后,攝象機攝下這條曲線.使用一個
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。