楊中偉 楊鳴
摘要: 魚眼鏡頭的大視角、短焦距等特點,使魚眼圖像校正算法成為目前圖像研究的熱點。提出一種橢球面校正模型,通過邊緣檢測算法獲取特征點,運用偽特征點剔除法得到正確的特征點,利用這些真特征點得出校正模型的參數(shù),并以網(wǎng)格圖像為例進行研究。實驗結(jié)果表明,特征點檢測準確,得到的模型對網(wǎng)格圖像的校正效果好,驗證了該校正模型的準確性和有效性。
關鍵詞: 魚眼鏡頭; 橢球面模型; 偽特征點剔除; 畸變校正
中圖分類號: TP 391.41文獻標志碼: Adoi: 10.3969/j.issn.10055630.2015.02.008
A fisheye image correction method based on ellipsoid model
YANG Zhongwei, YANG Ming
(College of Information Science and Engineering, Ningbo University, Ningbo 315211, China)
Abstract: Fisheye lens have the characteristics of short focus and wideangle, which makes the fisheye image correction algorithms become hot topics in the field of image research currently. An ellipsoid correction model is put forward. All feature points are obtained by using edge detection algorithm, and the correct feature points are also obtained by using the pseudofeaturepoint elimination method. The correction model parameters are obtained with the correct feature points. The grid image is taken as an example to conduct the research. As a result, the detection of the feature points is accurate and the correction effect is good. It is proved that this model is accurate and efficient.
Keywords: fisheye lens; ellipsoid model; elimination of pseudofeature points; distortion correction
引言在大范圍監(jiān)控、智能交通等領域,為了獲得大視角,魚眼鏡頭[1]被廣泛使用。但是,在獲得大范圍拍攝視角的同時,為解決在一定的成像面內(nèi)容納大視場中的目標物體等問題,魚眼鏡頭中不可避免地引入了徑向畸變[2]。 如何把存在畸變的魚眼圖像校正為適合人眼觀看的圖像,顯得尤為重要。目前,魚眼校正算法有高次多項式擬合校正法[3]、球面坐標定位法[4]、球面透視投影約束法[56]、拋物面投影校正[78]、基于漸變方程和經(jīng)緯映射模型校正[9]及基于幾何性質(zhì)[1011]等方法?,F(xiàn)有的方法中,仍存在一些問題:校正公式復雜,校正后圖像中有桶形或枕形畸變,校正模型參數(shù)擬合需要人工采樣?;谶@些情況,本文提出一種橢球面校正模型,并且通過自動檢測特征點得出校正模型的參數(shù)。圖1魚眼鏡頭成像模型
Fig.1Imaging model of fisheye lens1魚眼鏡頭成像模型本文采用橢球面成像模型,成像原理如圖1所示。假設相機在場景坐標系的原點O,沿著z軸正方向拍攝,從空間任一點P1(x,y,z)指向原點O的射線,與成像模型曲面交于一點P2,根據(jù)正交投影規(guī)則過P2做z軸的平行線,交xy平面于點P3(u,v),P3就是空間點P1(x,y,z)經(jīng)過魚眼變換后的圖像點。魚眼圖像輪廓中心點坐標為(u0,v0),因此空間點與魚眼圖像點之間的關系可表示為(u-u0,v-v0)=M(x,y,z)(1)式中M為本文的成像模型。光學儀器第37卷
第2期楊中偉,等:基于橢球面模型的魚眼圖像校正方法
2魚眼校正模型擬合
2.1校正模型的建立由橢球面成像模型可知,本文的橢球面校正模型方程為(Ax2+By2)+Cz2+Dz+E=0(2)魚眼圖像在xy平面內(nèi)是圓心在成像坐標系原點的圓形輪廓,因此,A=B。
2.2魚眼輪廓的提取及圓心確定現(xiàn)有的魚眼圖像輪廓提取方法中:統(tǒng)計法[12],當魚眼圖像圓形輪廓區(qū)域內(nèi)存在大量黑色像素點時,該算法失效;掃描線逼近法[13],設定一個行列極限亮度差的閾值,通過閾值判定是否掃描到魚眼圖像圓形輪廓的上、下、左和右邊緣的切線,這4條切線確定了圓形輪廓的外切正方形,據(jù)此可得出圓心坐標和半徑,但是當魚眼輪廓不是一個完整的圓形時,該算法與切線法[14]同樣失效。本文采用標準圓標定法獲取魚眼圖像的圓心和半徑,具體做法:預先設定圓心坐標(x0,y0),半徑為r0,魚眼圖像中出現(xiàn)一個預置的標準圓形輪廓,通過鼠標拖動,從而調(diào)整標準圓的大小和位置,使得標準圓最終與魚眼輪廓吻合。魚眼圖像的圓心(x,y)和半徑r分別為x=x0+Δx(3)
y=y0+Δy(4)
r=r0+Δr(5)式中:Δx為圓心橫坐標改變量;Δy為圓心縱坐標改變量;Δr為半徑的改變量。
2.3自動選取特征點
2.3.1特征點檢測在RGB圖像中,令c(x,y)為RGB彩色空間中點(x,y)處的像素值,可表示為c(x,y)=R(x,y)
G(x,y)
B(x,y)(6)令gxx,gyy和gxy分別為gxx=Rx2+Gx2+Bx2(7)
gyy=Ry2+Gy2+By2(8)
gxy=RxRy+GxGy+BxBy(9)其中:在式(7)、(8)、(9)中用符號R、G、B代替R(x,y)、G(x,y)、B(x,y),而R(x,y)、G(x,y)和B(x,y)分別表示在RGB圖像上點(x,y)處的R、G、B分量的值; gxx,gyy和gxy均是x和y的函數(shù)。函數(shù)c(x,y)的最大變化率的方向由角度θ(x,y)給出,變化率的值由Fθ(x,y)給出,其中θ(x,y)=12arctan2gxy(gxx-gxy)(10)
Fθ(x,y)=12(gxx+gyy)+(gxx-gyy)cos2θ+2gxysin2θ12(11)θ(x,y)是在計算梯度后每個點的角度,F(xiàn)θ(x,y)是(x,y)點的梯度幅值?;谝陨戏治觯隰~眼圖像中,對圓心兩邊(沿x軸)的3條網(wǎng)格線的梯度幅值進行分析,結(jié)果如圖2所示。由圖可知每條網(wǎng)格線經(jīng)邊緣檢測后,有左右兩條邊緣。對上述邊緣梯度函數(shù)作如下處理,即g(x)=Fθ(x,y)xy=ry(12)式中ry為圓心的縱坐標。式(12)的零點所在位置作為左(右)邊緣橫坐標,特征點處在兩條邊緣的中點,檢測結(jié)果如圖3所示。
圖2圓心所在行上三條網(wǎng)格線的梯度值
Fig.2Gradient magnitude of three grid lines
on the center row
圖3特征點檢測示意圖
Fig.3Featurepoint detection
2.3.2偽特征點剔除法圖3所示的特征點中,有些點是偽特征點,不能用于擬合校正模型參數(shù)??臻gxz平面中網(wǎng)格上點在x軸上坐標為x(以x>0為例),魚眼圖像中對應的圖像點到原點距離是x的函數(shù),記為h(x),則有h(x)=Rxx2+R2(13)
dh(x)dx=R2(x2+R2)3(14)
d2h(x)dx2=-3xR2(x2+R2)5(15)式中R是式(5)中得到的魚眼圖像圓形輪廓的半徑,并且假設理想魚眼成像面在成像坐標系中位于z=R的位置??臻g平面中的網(wǎng)格是等距的,沿x軸正方向的點依次記為1,2,3,…,n,其在魚眼圖像中的對應點到原點的距離記為h(1),h(2),h(3),…,h(n),這些點對(n,h(n))是上述函數(shù)h(x)上的點。由上式可知,式(14)大于0,式(15)小于0,因此Δh(n)是遞減的,即Δh(n)=h(n)-h(n-1)(n≥1)(16)
Δh(n)<Δh(n-1)(17)式(17)成立時,點n是特征點,否則就剔除該偽特征點。圖4特征點及擬合曲線示意圖
Fig.4Feature points and the fitting curve
2.4參數(shù)擬合式(5)中得到的魚眼輪廓半徑為R,把R代入式(2),則橢球面校正模型的方程簡化為(x2+y2)+Cz2+Dz-R2=0(18)代入特征點坐標,得出C=0.707 7,D=189.967 7。上述得到的真特征點及式(18)對應的曲線如圖4所示。由圖可知,本文提出的校正模型曲線與特征點軌跡相吻合,橢球面校正模型與實際的魚眼成像曲面接近。由校正模型可得,魚眼圖像點與空間點的坐標關系為u-u0=-DZ+D2Z2+4R2(X2+Y2+CZ2)2(X2+Y2+CZ2)X(19)
v-v0=-DZ+D2Z2+4R2(X2+Y2+CZ2)2(X2+Y2+CZ2)Y(20)式中:(u,v)為魚眼圖像中點的坐標;(u0,v0)為魚眼輪廓中心點的坐標;(X,Y,Z)為目標校正平面上點的坐標。3實驗結(jié)果以網(wǎng)格圖像為例,運用上述校正模型對魚眼圖像進行校正,結(jié)果如圖5所示,并與球面校正模型、拋物面校正模型和高次多項式校正模型的效果進行對比,其他校正結(jié)果分別如圖6、圖7和圖8所示。
圖5本文方法校正結(jié)果
Fig.5The correction result by using
the method proposed in this paper圖6球面模型校正結(jié)果
Fig.6The correction result by using
the spherical model
圖7拋物面模型校正結(jié)果
Fig.7The correction result by using
the parabolic model圖8高次多項式模型校正結(jié)果
Fig.8The correction result by using
the highdegree polynomial model
由校正結(jié)果可知:球面校正后仍存在桶形畸變;拋物面模型中存在枕形畸變;高次多項式模型校正后圖片的中心存在枕形畸變,而在靠近邊緣的地方存在桶形畸變;本文的校正模型中不存在畸變,校正效果好。4結(jié)語本文依據(jù)魚眼鏡頭的成像特點,并針對現(xiàn)有算法中存在的不足,提出一種橢球面校正模型,該模型與魚眼鏡頭實際的成像模型吻合較好,并用雙線性插值法[15]填充像素。實驗結(jié)果表明,該校正模型取得了比較好的校正效果。參考文獻:
[1]肖瀟,楊國光.全景成像技術(shù)的現(xiàn)狀和進展[J].光學儀器,2007,29(4):8489.
[2]李洪海,王敬東.攝像機標定技術(shù)研究[J].光學儀器,2007,29(4):712.
[3]張景國,將大鋼,李曉峰.廣角鏡頭桶形畸變的二元二次多項式修正法[J].光學技術(shù),2010,36(4):500504.
[4]張寧,劉天鍵.魚眼圖像校正算法研究與實現(xiàn)[J].閩江學院學報,2012,33(5):7476.
[5]崔漢國,陳軍,王大宇.魚眼圖像校正及拼接的研究與實現(xiàn)[J].計算機工程,2007,33(10):190192.
[6]DEVERNAY F,F(xiàn)AUGERAS O.Straight lines have to be straight:automatic calibration and removal of distortion from scenes of structured environments[J].Machine Vision and Applications,2001,13(1):1424.
[7]溫燦紅,楊強,羅飛,等.一種基于橢圓拋物面透視投影約束的魚眼鏡頭校正方法[J].大學數(shù)學,2010,26(3):192195.
[8]周飚,趙鑫,齊志宏,等.一種通用的基于拋物面模型的魚眼圖像校正算法[J].長春理工大學學報:自然科學版,2014,37(2):2225.
[9]王依桌,席志紅.基于漸變方程的魚眼圖像校正方法[J].電子科技,2013,26(10):7072.
[10]楊晶晶,陳更生,尹文波.一種基于幾何性質(zhì)的魚眼圖像校正算法[J].計算機工程,2012,38(3):203205.
[11]李根,費章君,楊仕友.基于幾何成像模型的魚眼鏡頭圖像校正算法和技術(shù)研究[J].機電工程,2013,30(10):12681272.
[12]唐俊,趙為民,谷峰.基于魚眼圖像的全景漫游模型[J].微機發(fā)展,2003,13(2):6970.
[13]韓迎輝.基于改進掃描線逼近的魚眼圖輪廓提取算法的研究[J].電子器件,2013,36(6),784788.
[14]常丹華,趙丹,楊峰明,等.提取魚眼圖像輪廓的算法改進及圖像校正[J].激光與紅外,2012,42(4):448451.
[15]吳桂萍,吳巍,王成,等.基于雙線性插值的魚眼圖像校正方法[J].計算機應用與軟件,2012,29(2):122125.
(編輯:劉鐵英)