再談相機標定
計算機視覺中,相機標定的重要性不言而喻,前面在公眾號【視覺IMAX】中寫過有多篇文章是關於相機標定的,包括 ofollow,noindex">一分鐘詳解OpenCV之相機標定函式calibrateCamera() , 從零開始學習「張氏相機標定法」 ,但是,今天還想再次聊一聊相機標定,進一步加深對其基本方法與概念的理解。
一 基本問題
相機內外引數標定步驟主要包括如下:
-
考慮相機線性模型:
-
解算 項;
-
分解內、外引數;
-
考慮非線性項。
Zhang方法:由張正友提出,OpenCV等廣泛使用。在Zhang方法之前,一般都是使用立體靶標,對於立體靶標,很難計算其特徵點的三維座標。
Zhang方法特點:使用平面靶標擺多個pose(可未知)。
Zhang方法標定步驟: (1)對一個pose,計算單應性矩陣; (2)有三個以上pose,根據各單應矩陣計算線性相機引數; (3)使用非線性優化方法計算非線性引數。
二 Zhang方法
- 第一步:求解單應矩陣——基本方程 Zhang方法的特點:使用平面靶標擺多個pose。
由於特徵點在平面上,我們此處令Z=0,則有上圖中的表示式,也可看出:單應矩陣H為3x3的矩陣。
那麼如何求解單應矩陣,建立內參數方程呢?

注:由於Z=0,故而上圖中 一項沒有,也即為0。
對應每一個pose,可得到上述兩個方程。
- 第二步:求解內參數——建立方程


**注:**具體的詳細步驟,可參考《Learning OpenCV3》。
-
第三步:求解外引數
-
第四步(最後一步):非線性畸變引數求解
注:Zhang方法呢,只考慮了徑向畸變,對於OpenCV等工具包裡,考慮了其他畸變。簡單來說,計算畸變引數,主要是利用了重投影方法。

