Geocal 幾何標定儀精度驗證報告與棋盤格方式結果比較

背景介紹

Geocal 是一款全新的相機標定方案,它基於穩定激光經准直並衍射產生的無窮遠距離的光斑網格,無需傳統的測試圖卡即可實現精確的相機標定。
該方案常用於航天相機的校正方式,Image Engineering 公司成功將該技術商用。Geocal 克服了實驗室或產線中被限制在有限距離下進行相機標定的困難,例如ADAS攝像頭,安防或者AR/VR攝像頭的相機標定。


Geocal 相機標定設備

相機設備快速對齊與幾何標定

在 GEOCAL 的產品開發階段,我們已經讓使用其他標準相機標定方法開發產品或提供服務的客戶參與進來。
在本文技術說明中,我們將把這些方法的結果與使用 GEOCAL V1.4 軟件進行相機標定的結果進行比較。v1.4 版是向更高靈活性、可靠性和準確性邁出的重要一步。

Camera 1

PhaseOne(飛思相機)為從事空間成像等工作的客戶提供相機標定和畸變校正服務,這些客戶對所採集數據的精確度要求很高。他們非常友好地向我們提供了一台 PhaseOne 相機及其當前標定結果,以供數據比較。

下面的數據是標定相機以及測試應用的硬件和軟件:

  • 相機:PhaseOne iXM-RS150F-RS
  • 焦距:50mm
  • 像素間距:3.76μm
  • 傳感器分辨率:14204 px * 10652 px
  • 測試的硬件設備:GEOCAL XL
  • GEOCAL 軟件:V1.4.0
  • 應用畸變模型:Even_Brown_Model

儘管 GEOCAL 只要求使用單張圖像進行相機標定,但我們還是使用 GEOCAL 軟件分析了三張圖像,以確保可重復性。焦距以像素為單位,通過應用像素間距轉換為毫米。方法之間的偏差基於三次測量的平均值。

結果分析
由于飛思相機規定了零失真(undistortion)函數的系數,我們無法直接比較 GEOCAL 軟件計算的失真系數。不過,我們可以比較從中獲得的焦距和主點。以下是兩種方法的比較。


Geocal 標定結果比較

Geocal 標定結果比較我們可以看到,兩種方法在焦距和主點方面的差異很小。此外,均方根誤差(RMSE)值僅為一個像素的幾分之一,這表明重投影網格與實際檢測到的網格非常接近。
均方誤差代表了從檢測點到重投影點的平均偏移量(以像素為單位),是良好幾何特徵描述的最重要指標。

Camera 2

一位汽車客戶提供了一台帶有已知參考數據的校准樣品相機,用於此次比較。
下面的數據是該相機以及應用的硬件和軟件:

  • 攝像頭:Leopard Imaging
  • 視場角FOV:約 120°
  • 傳感器分辨率:3840 px * 2160 px
  • 測試的硬件設備:GEOCAL XL
  • GEOCAL SW:V1.4.0
  • 應用失真模型:自定義
  • 徑向畸變系數:k1,k2,k3,k4

結果分析
我們拍攝了四幅圖像,用 GEOCAL 軟件進行分析,發現焦點和焦距的偏差也很小。同樣,方法之間的偏差是基於所有四次 GEOCAL 測量的平均值。

有了正確的焦距和主點,我們就得到了相機固有矩陣所需的一切,這對有效消除畸變至關重要。尤其在開發階段,當時的畸變系數還無法進行比較。

 

Camera 3 – 棋盤格圖卡標定 vs. GEOCAL

我們還在 TE251畸變測試圖卡分析的基礎上,將 GEOCAL 校准與著名的 OpenCV Checkerboard棋盤格標定法進行了比較,以獲得更好的性能參照。
下面的數據是相機參數以及應用的硬件和軟件:

  • 相機 佳能:Powershot G5 X
  • 焦距:9mm
  • 傳感器分辨率 5536px * 3693 px
  • 測試的硬件設備:GEOCAL XL
  • GEOCAL SW:V1.4.1
  • 應用失真模型:Even_Brown_Model
  • 用於驗證的測試圖卡:TE251
  • 分析軟件:iQ-Analyzer-X 1.9

第一步是拍攝 GEOCAL XL 的照片。為確保網格點清晰可見,我們盡可能縮短了曝光時間,將 ISO 調至最低,並將光圈調至 11。然後,我們用水平儀將第 0 階點,即最亮的點保持在圖像中心,並將相機水平放置,以確保旋轉幅度盡可能小。

圖像似乎曝光不足,這是由於網格點的尺寸較小造成的,但也可以用於標定。我們使用 GEOCAL 軟件 1.4.1 對其進行分析,並應用了以下配置。

  • 失真模型:Even_Brown_Model
  • 徑向畸變系數:k1,k2,k3
  • 切向畸變數:0(這些系數更適用於鏡頭偏心或錯位的情況)

下一步是執行 OpenCV 棋盤校准。
要開始棋盤格標定,我們需要至少十張具有規定方格數的棋盤格圖像。這些就是我們使用的圖像:


我們使用 OpenCV 文檔中的示例腳本進行棋盤格校准。

OpenCV 正確檢測到了所有點。在同一台 PC 上,使用 GEOCAL 軟件進行校准耗時約 5 秒,使用 OpenCV 代碼進行校准耗時約 95 秒。

兩次校准後,內在參數和畸變系數如下所示:


這些參數就是我們對 TE251 圖像進行畸變校正所需的全部參數。我們在 Python 中使用 OpenCV undistort() 函數對 GEOCAL 和棋盤格的參數進行了畸變校正處理。下面是我們輸入的圖像:

 


TE251 畸變測試圖卡(畸變校正前拍攝)

應用 undistort() 函數後的TE251圖像:


使用棋盤格標定方法(左)和 GEOCAL 方法(右)繪制的畸變校正圖像

從視覺上可以看到邊角處有明顯的細微差別。通過使用圖像質量分析軟件iQ-Analyzer-X 測量畸變結果,我們可以更好地瞭解其性能。

在 70% 的視場內,兩種方法都顯示局部幾何失真LGD(Local Geometric Distortion)接近於零,都具有較好的校正結果;
而大於70%視場時GEOCAL 的表現更好。上圖中的線條表示特定半徑/區域的平均 LGD。想象一下,這是 TE251 中所有檢測到的相同半徑十字交叉的 LGD。
要瞭解有關 ISO17850畸變測量標準中 LGD 計算的更多信息,請訪問我們的圖像質量測試——幾何失真。

2D視圖結果提供了整個圖像視場上的失真分布的良好概述。不過,相機與圖卡之間的對齊情況對這兩種圖的外觀影響很大。


棋盤式方法(左)和 GEOCAL 方法(右)的測試結果

請注意,我們在本次GEOCAL標定中沒有使用切向系數,而棋盤格標定則使用了切向系數。我們注意到,在這種情況下不使用切向系數會帶來更好的結果,無論是視覺上還是客觀上。

總結

在前兩個例子中,事實證明 GEOCAL相機標定方案在找到焦距和主點方面相當準確,而焦距和主點正是相機固有矩陣的關鍵參數。
在使用 OpenCV 的零失真算法時(undistortion algorithm),棋盤格與 GEOCAL 的對比顯示出與 OpenCV 棋盤格標定相似的結果。它在易用性方面表現更好,因為它不需要拍攝那麼多圖像:一張正確曝光和對齊的圖像就足夠了。
此外,GEOCAL設備所需的安裝空間也小得多。不過,要使用 GEOCAL 校准,相機必須能夠對焦到無窮遠或至少接近無窮遠,以提供清晰的網格點。還必須能夠調整曝光,以避免點的亮度飽和。
使用 GEOCAL標定所需的時間要短得多,可以用於產線自動化、AR/VR等應用,因此對於需要快速、高吞吐量和高精度的應用來說非常有意義。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *