再談相機標定

前言

計算機視覺中,相機標定的重要性不言而喻,前面在公衆號【3D視覺工坊】中寫過有多篇文章是關於相機標定的,包括一分鐘詳解OpenCV之相機標定函數calibrateCamera()從零開始學習「張氏相機標定法」,可是,今天還想再次聊一聊相機標定,進一步加深對其基本方法與概念的理解。函數

一 基本問題

相機內外參數標定步驟主要包括以下:工具

  1. 考慮相機線性模型: 學習

  2. 解算m_{ij}項;優化

  3. 分解內、外參數;3d

  4. 考慮非線性項。cdn

Zhang方法:由張正友提出,OpenCV等普遍使用。在Zhang方法以前,通常都是使用立體靶標,對於立體靶標,很難計算其特徵點的三維座標。blog

Zhang方法特色:使用平面靶標擺多個pose(可未知)。get

Zhang方法標定步驟: (1)對一個pose,計算單應性矩陣; (2)有三個以上pose,根據各單應矩陣計算線性相機參數; (3)使用非線性優化方法計算非線性參數。it

二 Zhang方法

  • 第一步:求解單應矩陣——基本方程 Zhang方法的特色:使用平面靶標擺多個pose。

因爲特徵點在平面上,咱們此處令Z=0,則有上圖中的表達式,也可看出:單應矩陣H爲3x3的矩陣。io

那麼如何求解單應矩陣,創建內參數方程呢?

注:因爲Z=0,故而上圖中r_{3}一項沒有,也即爲0。

對應每個pose,可獲得上述兩個方程。

  • 第二步:求解內參數——創建方程

**注:**具體的詳細步驟,可參考《Learning OpenCV3》。

  • 第三步:求解外參數

  • 第四步(最後一步):非線性畸變參數求解

注:Zhang方法呢,只考慮了徑向畸變,對於OpenCV等工具包裏,考慮了其餘畸變。簡單來講,計算畸變參數,主要是利用了重投影方法。

相關文章
相關標籤/搜索