1. 程式人生 > >基於HALCON的全景攝像機標定及應用研究

基於HALCON的全景攝像機標定及應用研究

    現有全景攝像機標定演算法中,場景的先驗知識在很多情況下難以準確獲取。提出了一種基於HALCON的雙曲面折反射全景攝像機標定演算法。通過攝像機或者標定板的相互移動來獲取不同位置的標定板影象;通過HALCON預處理後提取角點座標;通過最小二乘法求解標定點投影方程的展開係數得到相機的內外引數。該演算法中攝像機只需滿足單視點要求,不需要場景的先驗知識,也不需要特殊的裝置和裝置。實驗結果表明能夠獲得較高的標定精度,並且在足球機器人邊線距離的測量中得到了準確的結果

1 引言

    全景視覺就是能夠在 360°視場範圍同時成像的技術。近年來,全景視覺已經應用於我們生活中的各個領域,如電視電話會議 、虛擬現實 、輔助駕駛以及機器人定位等,並且其前景依然十分廣闊。為了能夠在單目攝像機中達到360°範圍成像,如今主要採用折反射原理的魚眼鏡頭或者曲面鏡與普通攝像頭組合的方法。文獻中針對採用魚眼鏡頭的攝像機進行了分析,該方法能夠達到較大視場成像要求,但結構複雜,且存在較大的影象畸變,必須採用相應的校正運算。而採用曲面反射鏡的方法容易通過改變曲面的引數以得到不同範圍的視場角,並且常用的雙曲面與拋物面滿足單視點成像要求,因此得到廣泛應用。

    在全景視覺影象處理過程中,為了對二維影象提取尺度資訊,必須先對全景視覺攝像機進行標定 。根據是否需要利用場景的先驗知識,將全景視覺攝像機的標定方法歸為以下兩類:一類為利用場景的先驗知識,如模板和垂線。另一類不需要知道相關的先驗知識,通過攝像機的純旋轉或者旋轉平移以及自標定方法。文獻應用到了場景的先驗知識,對拋物面鏡全景攝像頭進行了分析,但只能估計攝像機的內部引數,不能估計攝像機的外部引數。文獻中提出了一種用6個自由度表示鏡面與攝像機之間位置關係的模型,然而該標定方法的精確度很容易受到系統初始值的影響,穩定性不高。文獻屬於自標定的範疇,通過對多幅影象中對應點之間的約束來標定攝像機,該方法通常精度不是很高。

    本文提出了一種基於HALCON的雙曲面折反射全景攝像機標定方法。標定裝置僅由普通攝像機和同軸的雙曲面反射鏡組成,演算法將空間三維點投影到成像二維影象平面的座標變換過程用泰勒級數描述,標定點相對鏡面座標的位置和泰勒級數的係數可通過最小二乘法求得,標定點相對位置為外部引數,而泰勒級數的係數即是攝像機需要估計的內部引數。整個標定過程攝像機與標定板可以自由移動,不需要特殊的裝置和裝置。最後利用實驗所得結果,準確實現了足球機器人對場線距離的測量。

2 全景成像原理及模型

    如今,使用較多的曲面有拋物反射面與雙曲反射面,兩種鏡面組成的系統都滿足單視點約束,即所有的光線經過一個視點或者焦點,這樣能保證成像點與實際場景點之間一一對應的關係。對於拋物面鏡,若入射光線的延長線過鏡面焦點,其經鏡面反射後光線將保持平行。而對於雙曲面鏡,延長線經過鏡面對應焦點的入射光線反射後,將經過雙曲面的另一個焦點。由此可見,拋物面鏡可視為雙曲面鏡的一種特殊情況,只不過其另一焦點在無窮遠處。由於拋物面成像系統投影影象不受反射鏡與攝像機之間距離的影響,因此係統可以設計較為緊湊,但所需的正交相機價格昂貴。而雙曲面成像系統將攝像機光學中心置於反射光線匯聚的焦點上,比較實用,價格便宜。綜上所述,本文選用雙曲面作為折反射平面進行標定。雙曲面鏡的切平面成像示意圖如圖1所示。點 P 1 ,P 2 發出的光線經雙曲面鏡的反射後將光線投影至成像平面上。其光線的延長線如虛線所示交於雙曲面的焦點 O ,並且經反射後光線交於另一焦點 O′ 。為了滿足小孔成像原理,得到清晰的影象,必須把攝像頭投影中心置於 O′ 點。

 

    全景攝像機模型如圖2(a)所示,以雙曲面鏡的焦點O 作為原點,以反射鏡的軸線作為 z 軸來建立座標系,然後定義兩個參考平面:攝像機像平面 (u′,v′) 和感測器平面 (u″,v″) 。感測器平面是同雙曲面軸線垂直的假設平面,如圖 2(c)所示;攝像機像平面如圖 2(d)所示,與攝像機 CCD 平面一致。理想狀況下,希望影象平面與感測器平面處於同一平面上,並且鏡面軸線與攝像機光軸共線,但是在實際狀況中不可能完全對準,如圖2(b)所示,會存在一定的偏差。

 

標定實驗和測量分析

    實驗採用的全景攝像機獲取的影象精度為 1 024*768 ,標定過程中,使用 HALCON 軟體對影象中的角點進行提取。HALCON是目前公認的效能最強的影象處理軟體,擁有良好的機器視覺整合開發環境,提供豐富的函式庫運算元進行程式程式碼編寫,並且具有非常良好的跨平臺移植性。標定板如圖 3所示,選用 7* 8 的棋盤格 ,每個棋盤的尺寸是 30 mm*30 mm ,每幅圖提取的角點為 6*7= 42 個。在不同位置和角度選取 10幅圖片,標定板在攝像機中的影象如圖4所示。

    圖 6為 HALCON操作介面。介面中的四個視窗分別是影象視窗,運算元視窗,變數視窗,程式編輯器視窗。影象視窗可實時顯示影象處理的進度;運算元視窗可查詢並應用相關的運算元;變數視窗顯示每一步影象處理的效果和相關的變數資料;程式編輯器視窗可進行程式編輯。相比手動提取,HALCON大大提高了標定的效率。

    在 HALCON 影象處理軟體中,有關角點座標提取的運算元很多,如 local_min_sub_pix,local_max_sub_pix,saddle_points_sub_pix,critical_points_sub_pix,points_foerstner,points_harris,point_lepetit 等。local_min_sub_pix和 local_max_sub_pix 一般用於灰度值極值點的提取,saddle_points_sub_pix用於交叉點的提取,critical_points_sub_pix包含了前面三個運算元共同的功能。

    對於points_foerstner,points_harris,points_lepetit幾個運算元都能提取交叉點,但不能夠排除標定板邊緣的一些角點座標,且座標誤差較大。圖7給出了幾種運算元提取角點的結果。

本文選用 saddle_points_sub_pix 運算元進行角點提取,它具有如下特徵:

  1. 通過亞畫素精度的數學分析(偏導數級值),實現了對角點的精確提取;
  2. 使用灰度值函式曲率的閾值,排除了相對均勻的影象灰度值區域。

 

    在設定標定板 x , y 座標方向之前,必須對角點進行排列,但通過鏡面投影后提取出的角點座標值沒有太多規律。這裡首先應用到union_cotangential_contours_xld運算元對閾值分割提取出的棋盤格曲線進行擬合,擬合的曲線如圖8所示:

    然後通過設定角點相對曲線的最大距離值判定角點是否屬於該曲線內,最後通過曲線與角點的對應關係實現角點的正確排列。

圖 9為從不同位置獲取的兩幅標定板影象,

圖 10 中紅色交叉點為應用HALCON運算元提取的角點位置。

 

    圖11分別給出了10幅影象在多項式次數 N = 2,3,4 時每幅圖示定結果的平均誤差,可以看出,當 N = 4 時,誤差平均值基本趨於穩定,因此本文采用4階多項式進行標定計算。對 10幅影象標定的結果取誤差平均值,在不考慮鏡頭畸變的情況下,得到平均誤差為 0.262 畫素。

 

圖 12給出了文獻標定誤差與本文標定誤差對比圖,可以看出本文標定精確度較高。

 

圖13(a)標出了標定板中影象角點和它的重投影點的座標值,交叉點為影象的角點座標,圓點中心為重投影點的座標,圖13(b)為區域性放大圖。由此可見,經過標定後,重投影點與提取出的角點非常接近。

 

    為了驗證所得的引數是否合理,對本實驗室擁有的一臺全景足球機器人進行場地邊線交點距離驗證。首先通過全景攝像機提取足球場邊線交叉點如圖 14所示,分別給出兩不同攝像機位置測量的交叉點座標;接著根據攝像機內部引數得出場線交叉點相對攝像機座標系方向;

 

最後根據雙曲反射面焦點相對地面高度以及座標比例關係得出場線交叉點相對機器人距離,並與實際測量距離對比,結果如表1所示。

 

實驗結果表明,該標定精度完全能夠適用於足球機器人定位精度要求。

 

5 結論

    本文提出了一種基於HALCON的雙曲面折反射全景攝像機標定方法,在標定過程中,只需知道標定板的相關引數,攝像機與標定板可以自由移動,不需要知道場景的先驗知識,也不需要特殊的裝置和裝置。首先使用 HALCON 進行影象預處理和角點座標提取,相比其他提取過程,精確度和效率得到了提高。然後用最小二乘法原理計算其內外部引數,並將得出的標定結果與一些相關文獻資訊進行對比發現,該標定方法精確度比較高,並且速度較快。最後把實驗獲得的攝像機引數應用到視覺測量過程中,足球機器人的定位檢測結果進一步驗證了該方法具有較高精度。