王正家 錢峰 柯楠 解家月
摘? 要: 針對魚眼圖像校正過程中,校正圖像局部寬大、邊緣信息缺失、畸變校正不徹底等問題,在棋盤格標定的基礎(chǔ)上,提出兩步式魚眼圖像畸變校正方法。首先,構(gòu)建基于線性特征的魚眼圖像畸變校正模型對魚眼圖像進行初步校正;其次,加入仿射變換算法對初步校正圖像作進一步的校正,使校正后的圖像盡可能多地保留原圖像的信息。實驗結(jié)果表明,使用該方法校正后的圖像對原圖像的放大倍數(shù)減小了24%,像素誤差減小了0.033 8 px,校正效果優(yōu)于其他方法。該方法魯棒性好,硬件要求低,能夠滿足視頻會議、安防監(jiān)控、智能交通等領(lǐng)域?qū)︳~眼圖像校正的要求。
關(guān)鍵詞: 魚眼圖像; 畸變校正; 數(shù)學建模; 線性特征; 仿射變換; 校正分析
中圖分類號: TN911.73?34; TP391.4? ? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)18?0146?04
Abstract: In allusion to the problem of wide local correction image, missing edge information and incomplete distortion correction of the in the process of fisheye image correction, a two?step fisheye image distortion correction method is proposed on the basis of checkerboard calibration. A fisheye image distortion correction model based on linear feature is constructed to preliminarily correct the fisheye image. The preliminary corrected image is further corrected by adding the affine transformation algorithm, so as to make the corrected image retain the information of the original image as much as possible. The experimental results show that the magnification of the corrected image using this method is reduced by 24%, and the pixel error is reduced by 0.033 8 px, so that the correction result is better than other methods. This method has good robustness, low hardware requirements, and can meet the requirements of fisheye image correction in video conferencing, security monitoring, intelligent transportation and so on.
Keywords: fisheye image; distortion correction; mathematical modeling; linear feature; affine transformation; correct analysis
0? 引? 言
魚眼鏡頭焦距小,視場大,近年來被廣泛應用于視頻會議、安防監(jiān)控、智能交通等領(lǐng)域[1?4],前景廣闊。魚眼鏡頭基于非相似成像原理,采用多鏡組設(shè)計結(jié)構(gòu),前后鏡組分別具有絕對值極大的負光焦度和正光焦度,在獲得超大視場成像的同時,也帶來了嚴重的畸變問題。
目前,根據(jù)魚眼鏡頭的視角、成像特點、應用場景等使用要求的不同,魚眼圖像校正方法主要分為3類:基于線性特征的校正方法[5]、基于球面投影等幾何約束的校正方法[6]、基于神經(jīng)網(wǎng)絡(luò)的訓練建立的校正方法[7]?;诰€性特征的校正方法的校正過程比較靈活,準確率也比較高,但存在校正圖像邊緣信息缺失、圖像局部寬大、畸變校正不徹底等問題?;谇蛎嫱队暗葞缀渭s束進行校正的方法中比較有代表性的是球面透視投影模型校正法[8]、等距模型校正法[9]、橢圓模型校正法[10]。該類算法不需要標定模板,校正過程比較簡單,但對應用場景要求較高,通用性不強,只能針對特定的魚眼鏡頭進行校正?;谏窠?jīng)網(wǎng)絡(luò)訓練建立的校正方法的校正速度較快,但對校正系統(tǒng)的硬件要求較高,成本也較高。
本文結(jié)合傳統(tǒng)的基于線性特征的魚眼圖像畸變校正算法的優(yōu)勢,加入仿射變換算法[11],對初步校正的圖像進行二次校正。通過縮放和投影變換處理,比較完整地保留了校正后的圖像信息,并通過實驗進一步對比分析了基于線性特征的魚眼圖像畸變校正算法、球面透視投影模型校正算法、兩步式魚眼圖像畸變校正算法3種算法的實驗結(jié)果。實驗結(jié)果表明,兩步式魚眼圖像畸變校正方法實驗效果最優(yōu)。
1? 魚眼鏡頭成像
魚眼鏡頭成像時遵循的模型可以近似為單位球面投影模型,可以將魚眼鏡頭的成像過程分解成2步:第一步,三維空間點線性地投影到一個球面上,它是一個虛擬的單位球面,球心與相機坐標系的原點重合;第二步,單位球面上的點投影到圖像平面上,過程是非線性的。魚眼鏡頭的成像過程如圖1所示。
物理世界中的點Q投影到魚眼相機上,可以用式(1)來表示:
式中:[q=xyw]; [M=fx0cx0fycy001]; [Q=XYZ]。其中:[fx]為攝像頭的寬度方向焦距;[fy]為攝像頭的高度方向焦距;[cx]為攝像頭的光心位置的橫坐標值;[cy]為攝像頭的光心位置的縱坐標值;M為魚眼鏡頭的相機矩陣;[q]為像素坐標[u,v]的圖像坐標的齊次坐標形式;Q點為q的三維空間坐標點,[w=z]。齊次坐標把維數(shù)為n的投影空間上的點用n+1維向量表示,其額外限制是任何2點的交比不變,[w]為一個非零數(shù)平面。
2? 魚眼圖像校正
2.1? 畸變校正的數(shù)學模型
普通鏡頭相機成像遵循的是針孔相機模型,在成像過程中實際場景中的直線仍被投影為圖像平面上的直線。魚眼相機如果按照針孔相機模型成像,投影圖像會變得非常大,當相機視場角為180°時,圖像甚至會變?yōu)闊o窮大。所以,魚眼鏡頭相機的投影模型為了將盡可能大地把場景投影到有限的圖像平面內(nèi),允許畸變的存在。并且由于魚眼鏡頭的透鏡在制造和安裝的過程中存在誤差,所以魚眼鏡頭相機所拍攝的魚眼圖像存在非常嚴重的徑向畸變和切向畸變。
徑向畸變數(shù)學模型為:
式中:[r2=x2+y2];r為畸變半徑,圖像邊緣處的徑向畸變較大;[k1]為第一徑向形變系數(shù);[k2]為第二徑向形變系數(shù);[k3]為第三徑向形變系數(shù);[x,y]為畸變點在圖像平面上的原始位置;[x′,y′]為校正后的新位置。
切向畸變數(shù)學模型為:
式中:[p1]為第一切向形變系數(shù);[p2]為第二切向形變系數(shù);r為畸變半徑;[x,y]為畸變點在圖像平面上的原始位置;[x′,y′]為校正后的新位置。
畸變圖像的像素坐標為[u,v],校正后的像素坐標為[u′,v′]。畸變圖像的坐標為[x,y],校正后的圖像坐標為[x′,y′]。
通過式(2)~式(9)可以建立魚眼畸變圖像和校正后的圖像之間的映射關(guān)系,進而求出魚眼鏡頭相機的參數(shù)[fx,fy,cx,cy,k1,k2,k3,p1,p2],實現(xiàn)魚眼圖像的畸變校正。
2.2? 魚眼鏡頭相機的標定
本文選擇通過求解焦距和偏移算法來對魚眼鏡頭相機進行標定,以獲取相機的內(nèi)外參數(shù),并通過獲取的內(nèi)外參數(shù)以及畸變系數(shù)對魚眼圖像進行畸變校正。其具體流程如圖2所示。
2.3? 仿射變換
從目前的工程實際情況來看,已有的魚眼圖像畸變校正算法雖然能夠在不同程度上實現(xiàn)畸變校正,但是對于大畸變的校正往往都是局部性的,即存在圖像邊緣信息丟失、圖像局部放大等缺點。針對這些缺點,本文對校正后的圖像進行仿射變換,以解決校正圖像邊緣信息缺失、圖像局部擴大、畸變校正不徹底等問題,使得魚眼鏡頭的絕大部分信息保留了下來。其變換過程如下:
式中:[x′,y′]為畸變校正后的圖像坐標,也即進行旋轉(zhuǎn)和平移變換的原始圖像坐標;[x″,y″]為旋轉(zhuǎn)和平移變換后的圖像坐標;變換矩陣[a11a12a13a21a22a23a31a32a33]可以拆分為4部分,其中,[a11a12a21a22]表示線性變換,[a31a32]用于平移,[a13a23T]產(chǎn)生仿射變換,[w′]和[w″]分別表示2個不同的非零數(shù)平面。
對變換后的圖像進行縮放變換,得:
式中:[x″y″1]為旋轉(zhuǎn)和平移變換后的圖像坐標,即進行圖像縮放的輸入圖像坐標;[xy1]為縮放變換后的輸出圖像坐標,即俯視圖像坐標;[Sx]為水平方向的縮放因子;[Sy]為垂直方向的縮放因子。
3? 實驗結(jié)果及分析
實驗采用極圖科技生產(chǎn)的175° zero魚眼鏡頭采集圖像,分辨率為640×480,算法的校正實驗在Windows 7平臺上完成。在實驗過程中,使用3種算法對魚眼圖像進行畸變校正,即基于線性特征的校正算法、球面透視投影模型的校正算法、兩步式魚眼圖像畸變校正算法。并從校正圖像的像素誤差情況、主觀視覺2個方面進行比較分析。
3.1? 校正圖像的像素誤差情況
本文主要從角點的像素誤差、重投影誤差以及放大倍數(shù)3個方面來說明基于線性特征的校正算法、兩步式魚眼圖像畸變校正算法2種算法校正圖像的像素位置變動情況以及校正圖像的像素誤差情況。結(jié)果如表1、表2所示。
表1與表2列出了2種圖像校正算法的實驗數(shù)據(jù),包括角點像素誤差、重投影誤差、放大倍數(shù)。從數(shù)據(jù)中可以分析出,兩步式魚眼圖像畸變校正算法的像素誤差小于基于線性特征的圖像校正算法的像素誤差,最大可以減小0.033 8 px。放大倍數(shù)也明顯減小,最大可以減小24%。由此可知,兩步式魚眼圖像畸變校正算法可以提高魚眼圖像校正后的圖像質(zhì)量,改善圖像的邊緣信息丟失,圖像局部放大等缺陷。
3.2? 校正效果分析
從實驗的圖3~圖6校正前后的視覺效果可知,基于線性特征算法的校正效果和兩步式魚眼圖像畸變校正效果要明顯好于基于球面透視投影模型校正效果。兩步式魚眼圖像畸變校正后的圖像比基于線性特征算法校正的圖像保留原圖像的信息要更加的完整。
4? 結(jié)? 論
兩步式魚眼圖像畸變校正方法的校正模型是一種魚眼像機的一般近似模型。在棋盤格標定的基礎(chǔ)上,結(jié)合傳統(tǒng)的基于線性特征的魚眼圖像畸變校正算法的優(yōu)勢,加入了仿射變換算法,對畸變校正后的圖像進行二次校正。通過縮放和投影變換處理,使得校正后的圖像信息能夠較完整的保留。通過實驗對比基于線性特征的校正算法和球面透視投影模型的校正算法,發(fā)現(xiàn)本文方法校正后的圖像對原圖像的放大倍數(shù)減小了24%,像素誤差減小了0.033 8 px。該算法校正效果較好,能夠很好的應用于智能交通、視覺監(jiān)控等領(lǐng)域。
參考文獻
[1] 馬朋飛,穆春陽,馬行,等.一種改進的魚眼圖像有效區(qū)域提取方法[J].現(xiàn)代電子技術(shù),2017,40(15):10?13.
[2] 公維理.基于嵌入式CPU?GPU的高清魚眼視頻實時校正系統(tǒng)[J].計算機工程與應用,2016,52(14):172?179.
[3] BERTOZZI M, CASTANGIA L, CATTANI S, et al. 360°detection and tracking algorithm of both pedestrian and vehicle using fisheye images [J]. IEEE transactions on instrumentation and measurement, 2015, 65(1): 2?14.
[4] 張璧瑩,卜凡亮.案件場景全景拼接系統(tǒng)分析與設(shè)計[J].現(xiàn)代計算機(專業(yè)版),2018(6):82?84.
[5] 金野,高玨,王磊,等.基于特征值最小化方法的魚眼鏡頭校正算法[J].計算機技術(shù)與發(fā)展,2015,25(7):35?40.
[6] ZHANG B K, JING W, LI J K, et al. Fisheye lens distortion correction based on an ellipsoidal function model [C]// International Conference on Industrial Informatics?Computing Technology. Wuhan: IEEE, 2016: 205?208.
[7] 張艷,田翔.魚眼圖像中手部定位及手勢識別[J].計算機與現(xiàn)代化,2017(3):86?90.
[8] 楊前華,李尤,趙力.基于改進球面投影模型的魚眼圖像校正算法的研究[J].電子器件,2019,42(2):449?452.
[9] 孟靈.等距投影的魚眼圖像畸變校正算法設(shè)計[J].數(shù)字技術(shù)與應用,2016(5):125?126.
[10] 楊中偉,楊鳴.基于橢球面模型的魚眼圖像校正方法[J].光學儀器,2015,37(2):127?131.
[11] 張彪,鄒哲,陳書界,等.基于仿射變換與Levenberg?Marquardt算法的織物圖像配準[J].光學學報,2017(1):359?367.