• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于張氏標定法的單目相機改進標定算法

      2019-02-27 06:59:52黃琬婷胡小平
      導航與控制 2019年1期
      關鍵詞:角點棋盤畸變

      黃琬婷,胡小平

      (國防科技大學,長沙410073)

      0 引言

      近年來,基于視覺傳感器的導航定位方法逐漸成為研究的熱點,視覺信息被廣泛應用于地面機器人、小型飛行器等無人系統(tǒng)導航中的三維重構。相機參數(shù)的標定作為實現(xiàn)安全準確視覺導航的前提和關鍵,對提高導航的精度有著十分重要的意義。設計適用于高精度視覺測量的靈活、穩(wěn)健的相機標定算法,仍是視覺導航領域研究工作的重點之一。

      根據(jù)視覺傳感器數(shù)目的不同,現(xiàn)有的相機標定方法可被分為:單目視覺相機標定、雙目視覺相機標定和多目視覺相機標定。根據(jù)標定方式的不同,相機標定方法又可被分為:傳統(tǒng)相機標定法、基于主動視覺的相機標定法和相機自標定法[1]。

      所謂傳統(tǒng)相機標定法,是利用一個結構已知、精度很高的標定物作為空間參照,通過空間點和圖像點之間的對應關系來建立相機模型參數(shù)間的約束,根據(jù)優(yōu)化算法求解這些參數(shù)的方法。典型代表方法有 DLT 方法[2]和 Tsai兩步法[3]等。傳統(tǒng)相機標定法可以獲得比較高的標定精度,但其標定物的加工和維護較為復雜,而且在危險、惡劣的實際環(huán)境中,往往很難設置標定物?;谥鲃右曈X的相機標定法是指把相機安裝在一個可以精確控制的平臺上,通過主動控制相機做某些特殊運動來獲取多幅圖像,利用圖像和可控制相機的運動參數(shù)來確定相機參數(shù),其代表性方法是馬頌德提出的基于兩組三正交運動的線性方法[4]。后來,楊長江、李華等人提出了改進方案,即分別基于4組平面正交及5組平面正交運動,利用圖像中的極點信息來線性標定相機[5?6]。這種標定法計算簡單,通??梢跃€性求解且魯棒性較好,但系統(tǒng)成本高且不適用于相機運動參數(shù)未知或無法精確控制相機運動的場合。近年來提出的相機自標定方法,不依賴于標定參照物,僅利用相機在自然運動過程中對周圍環(huán)境多視圖之間的對應關系,對相機進行標定,靈活性大,實用性強,常用基于絕對二次曲線或其對偶絕對二次曲面的方法進行相機參數(shù)擬合[7]。但該方法屬于非線性標定,標定結果的精度欠佳,魯棒性不高。

      受張正友平面標定方法[8]的啟發(fā),本文綜合運用相機傳統(tǒng)標定法與自標定方法的優(yōu)勢,主要針對單目相機徑向畸變誤差,通過對采集到的棋盤格圖像進行加權平均法灰度化的圖像預處理、Harris角點檢測和亞像素精確化等方法,在角點提取精度等方面進行改進,有效地提高了相機標定結果的精度,對畸變圖像進行了有效校正,并且對多種攝像頭傳感器實驗均有效,適用性強。

      1 單目相機改進標定算法

      由于圖像采集設備的性能差異、棋盤格本身的平整性、復雜多變的外界環(huán)境及圖像采集過程中的偶然因素影響,直接采集到的棋盤格圖像往往并不適合直接進行標定。因此,需要對采集到的棋盤格圖像先進行圖像預處理、Harris角點檢測和亞像素精確化,再進行參數(shù)標定,具體流程如圖1所示。

      圖1 單目視覺相機標定改進算法的基本流程圖Fig.1 Basic flow chart of improved calibration algorithm for monocular vision camera calibration

      1.1 加權平均法灰度化

      由相機直接采集到的棋盤格圖像是RGB格式的彩色圖像,每個像素點由紅(Red)、綠(Green)、藍(Blue)3種基本顏色分量的變化及它們相互之間的疊加得到[9]。其中,每個分量用8位數(shù)據(jù)表示,數(shù)據(jù)范圍為0~255,占用了大量的存儲空間。由于棋盤格本身是黑白的,不需要顏色信息,所以在相機標定過程中,可先把彩色圖像轉化為灰度圖像。這樣不僅可以大大降低圖像后續(xù)處理的內存開銷和運算復雜度,還可以提高相機標定的效率。

      對RGB圖像進行灰度化,通俗地說就是對圖像的R、G、B 3個分量進行不同加權,得到最終的灰度值。由于人眼對綠色的敏感度最高,對紅色次之,對藍色敏感度最低[10],所以本文采用從人體生理學角度所提出的一種權值——加權平均法,得到最為合理的灰度圖,即

      1.2 角點坐標提取

      (1)Harris角點檢測

      目前,數(shù)字圖像處理中的角點檢測的方法大致可以劃分為3類:基于灰度圖像的角點檢測、基于二值圖像的角點檢測和基于輪廓曲線的角點檢測[11]。本文采用了具有很高魯棒性的基于灰度圖像的Harris角點檢測算法。

      Harris角點檢測算法主要利用圖像的灰度變化,其檢測過程為:根據(jù)實際需求設定1個固定大小的模板,以每個像素點為中心,沿任意方向移動,記錄每次移動后模板內所有像素點的灰度值總和的變化量。如果在某點的變化值比預先設定的閾值高,則判定該點為角點[12]。據(jù)此可得到Harris矩陣M,并定義角點響應函數(shù)R

      其中,w(x,y)為Gauss核函數(shù),IX和IY分別表示圖像在X和Y2個方向上的灰度梯度。k是經(jīng)驗系數(shù),一般取值為0.04~0.06,trace(M)表示矩陣的跡,det(M)表示矩陣的行列式。當某個像素的角點響應R高于預先設定的閾值時,判定該像素點為角點。

      (2)亞像素精確化

      通過Harris角點檢測算法獲得的角點坐標是整像素級別的坐標(整數(shù)),對相機標定而言并不夠精確[13]。因此,本文對角點坐標進行了亞像素精確化,將其坐標位置精確到亞像素級別的浮點值。

      在實際圖像中,邊緣兩側的灰度變化是緩慢過渡的,并非理想的階躍變化。利用這一特性,對像素的基本單位再進行細分,以提高圖像的分辨率。角點即2個邊緣的交點,亞像素角點通常位于圖像中灰度發(fā)生過渡變化的區(qū)域,利用邊緣點兩側的相關信息和向量的點積理論,即1個向量和其正交向量的點積為0,可將角點坐標值精確到亞像素級[10]。

      如圖2所示,先假設起始角點Q′在實際亞像素角點Q附近,角點Q附近的點可分為在邊緣上的點與不在邊緣上的點兩大類。其中,點Q與其附近在邊緣上的點Pi之間的灰度梯度關系為

      在實際圖像中,由于受到噪聲的影響,式(4)往往并不等于0。于是,可將其轉化為求最小誤差和的方程形式,即

      對式(5)進行一系列整理變換,得到實際亞像素角點Q的迭代式為

      其中,上標k代表第k次的迭代值。求解時,取起始角點Q′的坐標為初始值Q0,然后通過式(6)進行迭代計算,即可得到更加精確的亞像素級別的角點坐標。

      1.3 張氏標定法

      張氏標定法是張正友教授于1999年在文獻[8]中提出的基于單平面棋盤格的相機標定方法。此方法綜合了傳統(tǒng)標定法與自標定法的優(yōu)勢,不需要額外的輔助器材,僅需一張打印的棋盤格,操作簡單且實用性強,既克服了傳統(tǒng)標定法需要高精度標定物、操作繁瑣等缺點,又較自標定方法精度更高,且已經(jīng)作為封裝好的工具箱函數(shù),被廣泛應用于視覺導航的攝像頭標定中。

      將世界坐標系的X-Y平面建立在棋盤格平面上,即Z=0,式(7)可簡化為

      H即為單應性矩陣。將H矩陣定義為

      由于r1和r2標準正交,可得如下約束

      B矩陣是一個對稱矩陣,其未知量可表示為一個六維向量b

      設H矩陣的第i列為hi,hi=[hi1hi2hi3]T,根據(jù)b的定義可以推導出如下公式

      因此,2個基本約束式(10)和式(11)可被改寫為方程組

      V矩陣是2×6矩陣,即每個單應性矩陣可建立起2個方程組,而內參矩陣包括5個未知參數(shù),要對其進行求解,至少需要使用3張棋盤格圖片進行標定。計算得到矩陣b后,相機的內參矩陣A即可通過b求解出,從而R、t可根據(jù)式(7)得到。

      1.4 重投影法

      重投影法可以有效反映相機標定精度,通常被用作對標定結果進行評估的手段。

      利用標定所得相機參數(shù),計算某個角點反向投影所得的像點坐標,再與實際檢測到的像點坐標作差,得到總體平均誤差[14]。這一方法可以定量、直觀地對標定結果進行評估,以評定相機標定算法的好壞。重投影法的誤差計算公式為

      其中,M代表標定所得到的相機參數(shù)矩陣,利用角點的三維空間坐標 [XwYwZw]T反向投影到像素坐標系,Q代表重投影點坐標與角點實際檢測的像坐標的向量差,S即為這兩點的標量距離。

      對在一幅圖像中檢測到的多個角點進行重投影,分別求得誤差Si,再進行均值處理,即可求得一幅圖像的平均誤差。在實驗中,使用總體平均誤差評價標定結果,即所有有效圖像的平均誤差的均值為

      2 實驗與結果分析

      2.1 實驗準備

      (1)標定板

      選用平整性良好的印有10×10黑白棋盤格圖像的標定板,如圖3所示。

      圖3 10×10黑白棋盤格標定板Fig.3 Calibration board of 10×10 black-andwhite checkerboard

      (2)攝像頭

      本文選用5個型號相同的攝像頭傳感器(型號為 RER?USBFHD01),分別編號 209、301、302、305和307。通過對多個攝像頭進行標定,檢驗本文標定算法的適用性。

      2.2 圖像采集及預處理

      在光線均勻明亮的環(huán)境中,利用5個攝像頭分別從不同角度對標定板進行拍攝,采集不同姿態(tài)的圖像各40張。為保證所拍攝的圖像較為清晰,需將標定板置于畫面中央,占圖像1/2以上。如圖4所示,利用Matlab對采集圖像進行加權平均法灰度化,最后將圖像設為.bmp格式文件 (數(shù)據(jù)采集時間為2017年12月14日)。

      圖4 采集圖像加權平均法灰度化(攝像頭209)Fig.4 Grayscale the weighted average method for collected images(Camera 209)

      2.3 相機標定

      分別將5個攝像頭拍攝的經(jīng)過圖像預處理的.bmp圖片,添加到本文在OpenCV的標定程序文件夾下。通過Harris角點檢測、亞像素精確化和張氏標定法,完成相機標定任務。每幅圖像提取6×8個角點,如無法提取成功,則視該圖為無效。

      以攝像頭209為例,可得相機內參矩陣及畸變向量如下

      內參矩陣:

      畸變向量:

      [-0.4596802777437611 0.307237431144763-0.002709521158450577-0.001103777488967206-0.5369128000898185]

      利用所得相機參數(shù)對原畸變圖像進行校正,如圖5所示。

      作為對比,利用 Matlab相機標定工具箱Toolbox_calib分別對5個攝像頭拍攝的圖片進行標定。以攝像頭209為例,得到結果如下

      圖5 畸變圖像校正前后對比圖Fig.5 Contrast picture before and after the correction for a distorted image

      2.4 實驗結果分析

      (1)重投影法對比本文標定算法與Matlab標定工具箱

      通過重投影法對本文的標定算法和Matlab相機標定工具箱Toolbox_calib所得的標定結果進行評估。仍以攝像頭209為例,因圖像清晰度等問題,本文標定算法實際采用了40張圖像中的20張有效圖像,得到各有效圖像的像素平均誤差如表1所示。

      通過計算可得,本文標定算法對攝像頭209的標定結果的像素總體平均誤差約為S=0.19。

      在相同條件下,Matlab相機標定工具箱Toolbox_calib所得標定結果的像素平均誤差如圖6所示,總體平均誤差為S′=0.58。

      表1 攝像頭209標定結果的圖像像素平均誤差Table 1 Image pixel mean error of camera 209 calibration results

      圖6 Matlab標定工具箱的像素平均誤差直方圖(攝像頭 209)Fig.6 Histogram of pixel mean error of Matlab Toolbox_calib (Camera 209)

      另外4個攝像頭所得標定結果經(jīng)重投影法所得像素總體平均誤差如表2所示。

      表2 兩種標定算法的重投影誤差Table 2 Re-projection error of two calibration algorithms

      通過對比可知,本文標定算法取得的標定結果明顯優(yōu)于Matlab相機標定工具箱,誤差更小,精度更高,且本文標定算法對多個攝像頭均適用,標定算法的穩(wěn)定性良好。

      (2)實驗存在的不足

      分析標定原理、實驗過程和實驗結果,本文標定算法仍存在一些不足:

      1)易受拍攝圖像亮度不均的影響。盡管拍攝環(huán)境光線均勻,但所得圖像仍存在亮度不均、局部過曝等現(xiàn)象,造成部分角點坐標提取誤差較大,如圖7所示。

      圖7 局部過曝圖像角點提取圖Fig.7 Corner extraction of local overexposed image

      2)只考慮了單目相機的徑向畸變。相機的畸變主要可分為徑向畸變、薄棱畸變和偏心畸變三類[15]。想要進一步提高標定算法的精度,應建立畸變模型,考慮多種畸變。

      3 結論

      本文在張正友平面標定法的基礎上,利用Matlab和OpenCV設計了基于張氏標定法的單目相機改進標定算法。通過對直接采集到的棋盤格圖像進行圖像預處理、Harris角點檢測和亞像素精確化等,有效提高了角點提取的精度,并通過重投影法對標定結果的精度進行了評估。實驗結果表明,本文標定算法的標定結果明顯優(yōu)于Matlab標定工具箱Toolbox_calib的標定結果,對畸變圖像進行了有效的校正,并且對多個攝像頭傳感器均適用,體現(xiàn)了算法的有效性和穩(wěn)定性。同時,通過觀察在實驗過程中出現(xiàn)的問題,分析相機標定原理及實驗結果,仍發(fā)現(xiàn)一些不足??赏ㄟ^數(shù)字圖像處理技術改善圖像局部過曝和噪聲現(xiàn)象,并考慮相機的多種畸變,進一步提高標定算法的精度和穩(wěn)定性。

      猜你喜歡
      角點棋盤畸變
      基于FAST角點檢測算法上對Y型與X型角點的檢測
      在Lightroom中校正鏡頭與透視畸變
      基于邊緣的角點分類和描述算法
      電子科技(2016年12期)2016-12-26 02:25:49
      基于圓環(huán)模板的改進Harris角點檢測算法
      棋盤人生
      棋盤里的天文數(shù)字
      輻射誘導染色體畸變的快速FISH方法的建立
      基于Harris角點和質量評價的圖像篡改檢測
      《癌變·畸變·突變》2014年第26卷索引
      《癌變·畸變·突變》第六屆編委會第2次會議紀要
      罗定市| 博兴县| 祁阳县| 民乐县| 宁远县| 栾城县| 克拉玛依市| 荆门市| 乐陵市| 嵊州市| 濉溪县| 双峰县| 汕尾市| 德阳市| 弥渡县| 东明县| 茌平县| 哈尔滨市| 遂川县| 揭东县| 梅河口市| 绍兴县| 龙海市| 南昌县| 江城| 龙海市| 荃湾区| 洮南市| 汉寿县| 手机| 卫辉市| 惠水县| 烟台市| 改则县| 开封市| 三原县| 当雄县| 富源县| 万山特区| 甘洛县| 平山县|