2013-03-14 104 views
2

我需要找到一個單一的固有校準參數。要做到這一點,我從不同角度拍幾張棋盤圖案圖像,然後使用校準軟件。用玻璃覆蓋的棋盤校準攝像機

爲了使校準圖案儘可能平坦,我將它打印在紙上並用3mm玻璃蓋住。顯然,圖案的圖像被玻璃修改,因爲它與空氣相比具有不同的折射係數。

外在參數將被玻璃扭曲。這是因爲棋盤格不在我們看到的位置。但是,如果玻璃的厚度和玻璃和空氣的折射係數已知,似乎可以恢復外部參數。

所以,問題是:

  • 可以外部參數來計算,如果是,那麼如何? (現在這不是必要的,只是一個有趣的理論問題)
  • 從這些圖像獲得的固有校準參數是否與通常的校準程序(無蓋玻片)相同?

通過使用玻璃,GML Camera Calibration Toolbox(基於OpenCV)報告的校準參數變得更加準確。 (它有什麼意義呢?)但是這種方法有一點缺點 - 特別是來自光源的不需要的反射。

+0

看着GML項目網頁,我看到一個結果,表明他們在圖像中使用2個模式,在1個模式中獲得更高的準確性。它表明使用玻璃蓋時,結果更好? – 2013-03-14 21:06:43

+0

不建議這樣做,但我用玻璃獲得的結果給出了較小的再投影誤差和較小的估計參數不確定性。 – user502144 2013-03-14 21:15:13

+0

我其實有這樣的代碼,如果你仍然感興趣,我可以發佈它,我有足夠的時間嘿嘿。 – 2013-05-02 06:45:20

回答

2

我推薦你選擇一個非常平坦的支持(這是我推薦自己的here)。但是,請原諒我問一個明顯的問題,爲什麼你用玻璃蓋住了這個圖案?

由於練習的目的是確保目標的平面性,而不是其他任何東西,所以您可能需要粘貼與紙張圖案相反的一面,並避免所有這些麻煩。是的,該模式將會變髒並且磨損,需要更換。所以你只需將它刮掉並更換即可:打印棋盤便宜。

如果無論出於何種原因,您都被玻璃擋在前面,我建議首先進行由玻璃折射引起的預期射線偏轉的回波計算,並檢查它是否實際上您的設備可以衡量。假設您正在使用的鏡頭的標稱焦距(mm)以及傳感器的物理寬度和像素密度,假設目標的焦點軸的「極端」旋轉角度與焦點軸線成一個「極端」角度(比如45度)和標稱距離。首先,您可以將圖案建模爲「塗在」玻璃上,因此忽略第一次折射並僅考慮玻璃與空氣的折射。

如果上述計算表明效果是可測量的(偏差> = 1像素),則需要將玻璃添加到場景模型中,並在束調整階段解決其參數問題,以及內在和外在因素。首先,我會使用兩個參數,厚度和折射係數,並假設兩個面都是平面和平行的。它只會使成本函數中角落投影的計算稍微複雜一些,因爲您必須考慮射線偏轉。 鑑於成本函數的額外複雜性,我肯定會寫出模型的代碼來使用Automatic Differentiation(AD)。

如果你真的想要通過這個練習,我建議在支持AD的Google Ceres捆綁調整器之上編寫求解器,在衆多好東西當中。

+0

用玻璃覆蓋的原因是它是確保圖案完美平坦的最簡單方法。但是玻璃似乎會產生非線性變形,使圖案上的直線變得不直。儘管這種效應即使在大角度下也幾乎不可見,但會影響校準。所以,不幸的是,它不起作用。粘合圖案仍然是最好的方法。 – user502144 2013-03-16 10:49:40

+0

是的,我建議將目標的背面粘貼到玻璃板上:平面度問題已解決。 – 2013-03-19 13:52:51