原創文章,歡迎轉載。轉載請注明:轉載自 祥的博客
原文鏈接:http://blog.csdn.net/humanking7/article/details/44756235
上一篇文章講了攝像機的標定的基礎知識 視覺測量中的四個坐標系 。下面着重來講一下著名的 張正友標定法 。
=> 1. 預備知識
=> 1.1. 從像素坐標系(u,v) 到 世界坐標系(Xw,Yw,Yw)
這里直接拿上篇博文的結果,中間省去了其它坐標系直接的關系,直接給出,如下所示:

公式如下:

=> 1.2. 符號規定( Notation )
為了和 張正友教授 的論文相統一,現在把公式符號統一一下。

=> 1.3. 推導中的數學基礎
第一點 : 旋轉向量 R 為正交矩陣,所以又以下的性質:

第二點 : 就是 S 。它是尺度因子,它的出現只是為了方便運算,而且對於齊次坐標,尺度因子不會改變坐標值 。
=> 2. 正戲
=> 2.1. Step.1 標定平面到圖像平面的單應性(Homography)
剛開始不知道論文中 Homography 不知道是何方神聖,搜索到了最后這番解釋:
因為張氏標定是一種基於平面棋盤格的標定,所以想要搞懂張氏標定,首先應該從兩個平面的單應性(Homography)映射開始着手。
單應性(Homography) : 在計算機視覺中被定義為一個平面到另一個平面的投影映射。首先看一下,圖像平面與標定物棋盤格平面的單應性。
因為標定物是平面,所以我們可以把世界坐標系構造在 Z = 0 的平面上。然后進行單應性計算。令 Z = 0 可以將上式轉換為如下形式 ( 直接截取論文中的推導 ) :

分析:
H 是一個3x3的矩陣,並且有一個元素作為齊次坐標。因此,H有8個未知量待解 ( 可以分析一下, A 有5個未知量,后面的 [r1,r2,t] 有三個未知量,一共8個) 。
(X,Y) 作為標定物的坐標,可以由設計者人為控制,是已知量 。 (u,v) 是像素坐標,我們可以直接通過攝像機獲得。一組對應的 (X,Y) => (u,v) 我們可以獲得兩組方程。
現在有 8個未知量 待求,所以至少要8個方程。所以至少需要4組對應的點。所以有 4組 (X,Y) => (u,v)就可以算出,圖像平面到世界平面的 單應性矩陣H ,這也是張正友標定采用四個角點的棋盤作為標定物的一個原因 (?不知道是否正確) 。
=> 2.2. Step.2 利用約束條件求解內參矩陣A
從Step1可知,應用4個點我們可以獲得單應性矩陣H。但是H是內參陣和外參陣的合體。我們想要最終分別獲得內參和外參。所以需要想個辦法,先把內參求出來。然后外參也就隨之解出了。

上式中的 h1,h2 是通過求解單應性矩陣 H 求出來的,所以未知量只剩下 內參矩陣A 。 A中含有5個參數,如果需要完全解出來這5個未知量,則需要 3個不同的單應性矩陣H ( 因為 3個不同的單應性矩陣H在2個約束條件下可以產生6個方程 ) , 那么如何得到 3個不同的單應性矩陣H 呢? 那就是 3張不同的標定平面的照片, 我們大多是通過改變攝像機與標定板間的相對位置來獲得不同的標定照片。( 如果用2張照片進行標定,就要舍去一個內參 r=0 )
當然這只是張正友標定法不斷變換標定板方位的 第一個原因 。第二個原因 是張正友提到的 最大似然估計 ( Maximum-Likelihood Estimation ) ( 這個我還得學習 ) 。
現在開始數學課了:
首先令

可以看出 矩陣B 是一個對稱矩陣,有效的元素只有 6個 ,所以令一個 6維的向量b ,然后簡化公式 ( 就是那兩個約束條件 )

將運算的結果帶入到兩個約束條件中,可得到方程組:

英文部分也提出了3張圖片的作用 ( 不懂的可以再看看前面的分析 )
應用上述公式解出b后,就得到了B,在進行 cholesky分解 就可以得到 攝像機內參矩陣A 。
=> 2.3. Step.3 利用內參矩陣A求解外參矩陣
已經有了內參矩陣A,通過下面的公式,就可以解出來,外參矩陣了。

=> 3. 總結
以上就是張正友標定法的數學原理和推導,但是張正友自己也說這沒有啥實際的物理意義,只是為后面的極大似然參數估計提供初值。而張正友標定中用於提高標定精度的極大似然算法,我也在研究當中,希望以后可以發一篇博客。
小弟才疏學淺,如有錯誤,希望大家糾正指導。
