1. 程式人生 > 其它 >單應性矩陣與相機內外參之間的關係

單應性矩陣與相機內外參之間的關係

                                                                                單應性矩陣與相機內外參之間的關係

標定:已知世界座標系平面內的三維座標和畫素座標,求解內參和外參;

本質矩陣和基本矩陣:已知內參和兩幅影象中對應點的座標,通過對極約束(八點法,尺度等價性,齊次座標)求解相機的運動R和t(用到RANSAC);

單應矩陣:根據同一平面上的點在不同影象上的座標,得到對應的變換關係(十四講);

PNP:根據三維空間點的座標和他們的投影座標(歸一化平面座標),估計相機的位姿(用到BA);

ICP:得到三維點雲的變換關係(使用SVD);

尺度等價性:

                                           

一、Slam十四講

相機模型(針孔相機模型)

 

                                    

注意:相機座標系和成像平面;把成像平面對稱到相機前方,去掉負號;

                                        

畫素座標系的定義:

                                          

 畫素座標(解析度作為比例係數,以左上角作為原點就要加上偏移量),

 內參數矩陣(解析度和偏移量)

  P是點在相機座標系中的座標;

                                         

Pw是點在世界座標系中的座標;需要使用一個剛體變換(外參);

使用齊次座標來描述;

將相機座標系中的座標歸一化到歸一化平面

                                     

                                     

             標定原理:【】OPENCV立體標定  ,二代標定原理

二、單應矩陣H的求解(最小奇異值的特徵向量)(參考二代標定原理)

 

因為,根據牙齒二代參考的浙大論文,可以採用最小平方差方法來計算單應性矩陣H的值。

令,,則有,所以向量y與向量Hx平行,所以有 (3)

成立(叉乘)。

將H用行向量表示成,所以(3)可以化為,

又該式子中只有兩個是線性無關的,該式可進一步化為 (4)

將(4)式轉置可得,並改寫成矩陣運算形式: (5), 表示矩陣[0 0 0];

 

對於標定板上每個方格的角點,都有上面的兩個等式成立,因此有n個點時,可以建立n個類似(5)的方程組,合併這n個方程組,可得

                                                                                                              (6)

這樣,求解H的問題就變成了求解次線性方程組(6)的問題,利用奇異值分解即可求出,,的值,則H得解。

具體解法:

                                                                        解 Ax = 0

                                                                         

已知: 已知 A∈Rm×n,m≥nA∈Rm×n,m≥n
問題: Ax=0Ax=0 的解
求解: 解為A的右奇異矩陣V的最後一列, 即 ATAATA 最小特徵值對應的特徵向量(參考:線性代數及其應用:二次型:定理6)

                               

 

三、公式推導:

 

相機模型中一般要用到三個座標系:成像平面參考座標系、相機參考座標系和世界座標系。

1.世界座標系:

       是在物體(標定板)環境中選擇的一個基準座標系,二代採用的張正友標定方法都以標定板的方格角點為原點,方格的兩邊為x、y軸,垂直於標定板為z軸建立直角座標系。度量單位為mm。

2.相機參考座標系:

       以相機的光心為原點,平行於影象平面的兩條垂直邊界的方向為x、y軸,相機主光軸為z軸建立三維直角座標系。度量單位為mm。

3.成像平面參考座標系:

       以影象平面的主點為原點(主光軸與影象平面交點),建立影象平面的兩條垂直邊界為x、y軸建立二維直角座標系。度量單位為畫素。

       設世界座標系中標定板上的一點M的座標為它在相機參考座標系中的座標為,則它們之間的轉換關係為

                                                                                             ,

R是一個3X3的正交矩陣,表示兩個座標系之間的旋轉關係,T為一個3X1矩陣,表示兩個座標系之間的平移關係。

由於R是正交矩陣,因此組成R的9個數中只有三個引數獨立,而組成T的三個數則都獨立。由於[R T]矩陣只與攝像機相對於物體的位置有關,

因此[R T]稱為攝像機的外參矩陣,[R T]的六個獨立引數稱為攝像機的外參。

設點M以攝像機光心為投影中心,在成像平面參考座標系上投影點的座標為,則由相機參考座標系投影到成像平面參考座標系之間的轉換關係為:

                                                                                    ,

s為放縮因子,A是一個3X3矩陣:

                                                                              

共有5個未知引數,因為這五個引數均只與攝像機的引數有關,稱為攝像機的內參矩陣。所以由世界座標系到成像平面參考座標系的變換關係可以表示為:

                                                                                                              即

                                                                                          (1)

,由於標定板所有點都在z=0的平面上,所以,所以(1)式又可以寫成

                                                                                   ,化簡得

 

                                                                                                     (2)

                                                            

則H為一個3X3矩陣,稱為單應矩陣。

 

四、攝像機內參的求解

依據:旋轉矩陣的列向量正交,在已知H以後就可以由

                                                             

求解攝像機的內外參了。將左式寫成

                                                             

的形式,將A變換到式子左邊,可得

                                                            

                                                                                              (7)

,因為,是正交矩陣R的列向量,即與是單位正交向量,所以有下式成立:

                                                        ,

代入(7)式可得

                                                                                                   (8)

,令,因為B是對稱矩陣,所以只有

                                                      

六個數是獨立的,類比矩陣二次型,可以知道

                                                                                                        (9)

其中

                                    

所以利用(9)式,可以將(8)式表示為:

                                                                                           

,化成矩陣形式

                                                                                                                                         (10)

由於(10)式中b有6個未知數,而該式只相當於兩個方程,所以需要三組不同位置求解出的H,獲得3個類似(10)的式子並聯立,就能求解出b。

因為b中的六個未知數由攝像機內參決定,與攝像機位置無關,所以可以利用三個不同位置拍攝標定板,並求解出三個H來求b)。求出b以後就可以得到B,

因為

                                                                               ,

                                                                         

,設B的第i行第j列為,則A的五個未知數可以表示為:

                                                                          

即攝像機內參得解。

五、攝像機外參的求解

                                                                                                   可得:

                                                                                                         其中

                                                                     

(乘以的原因:因為前面解得的H是利用向量y與向量Hx平行的條件,即:

                                                                                

 ,這裡求解出的H只是被y與向量Hx平行這個條件約束,若H乘上一個常數,它仍然滿足這個約束條件,

仍成立,因此求解出的H應該是真實的H乘上一個常數比例因子K,1.4中利用H求解內參時k可以被約掉不影響結果,而這裡由於,都是單位向量,

所以由

                                                                             

可知     

                                                                        

所以

                                                                        

 

                                       

六、求解H的SVD解釋

                                            

                                       https://www.cnblogs.com/nowgood/p/jie-ax--0.html 

七、opencv實現

 

                                                        

                                                       

                                                        

                                                       

                                                       

                                                       

                                                       

 

 

八、POSIT演算法

以下來自《學習opencv》

                                         

                                                       

                                                     

                                                     

                                                     

                                                     

                                                    

 

 

九、RANSAC演算法

隨機取樣一致性,用於

                                                  、

部落格轉自:https://www.cnblogs.com/tangyuanjie/p/14028224.html