舒旭
摘 要: 針對魚眼圖像的校正提出了一種有效區(qū)域提取算法,并在魚眼圖像的球面物投影平面展開時與目標(biāo)半立方體的校正平面建立線性映射。實(shí)驗結(jié)果表明,該算法能有效地提取魚眼圖像輪廓的有效區(qū)域,同時半立方體校正平面極大地減少了校正圖像需插值的像素點(diǎn)數(shù)量,提高了校正速度。
關(guān)鍵詞: 魚眼圖像; 等距投影; 畸變校正; 輪廓提取
中圖分類號:TP751 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2017)06-51-04
A simple and accurate fisheye image correction algorithm
Shu Xu
(XiangNan Preschool Education College, Chenzhou, Hunan 423000, China)
Abstract: This paper presents an effective region extraction algorithm for fish eye image correction, and establishes a linear mapping between semi-spherical surface projection plane and semi-cube projection plane in the process of fisheye image correction. The experimental results show that the algorithm can effectively extract the effective contour region of the fish eye image, and at the same time, the semi-cube correction plane can greatly reduce the number of pixels that need to be interpolated, which improve the correction speed.
Key words: fisheye image; equidistant projection; distortion correction; contour extraction
0 引言
人們對“看的更廣”的要求日益提高,低成本的、具有廣角或魚眼鏡頭的大視場攝像系統(tǒng)備受市場青睞。然而采用大視場攝像系統(tǒng)采集信息時,因鏡頭成像面大小固定,采集過程中為獲得更多的拍攝信息使得采集的圖像變形較嚴(yán)重,所以必須對畸變的圖像進(jìn)行校正以適合人眼觀看。
目前,具有代表性的魚眼圖像校正算法有以下幾類:經(jīng)緯映射法、多項式坐標(biāo)變換法、球面透視投影約束法。楊玲和成運(yùn)使用經(jīng)緯映射來校正魚眼圖像[1]。該算法認(rèn)為魚眼圖像中扭曲的場景可以用地球儀經(jīng)度線來表示,利用同一經(jīng)度上的像素點(diǎn)在校正后的圖像中應(yīng)具有相同縱坐標(biāo)的特點(diǎn),把經(jīng)緯度網(wǎng)格點(diǎn)上的像素值映射到校正平面上與之對應(yīng)的位置。這種直接根據(jù)比例建立相應(yīng)投影關(guān)系來實(shí)現(xiàn)圖像校正的算法雖較容易實(shí)現(xiàn),但校正后的圖像存在一定的失真,校正圖像質(zhì)量有待提高。廖士中和高培煥等提出的多項式坐標(biāo)變換算法[2]是根據(jù)魚眼圖像的像素點(diǎn)位置通過最小二乘發(fā)擬合誤差平方最小以計算校正后圖像對應(yīng)點(diǎn),該方法對于魚眼鏡頭產(chǎn)生的徑向畸變非線性失真,實(shí)驗證明往往需要使用5階二元多項式,需要N個控制點(diǎn),計算量非常巨大,很難應(yīng)用于實(shí)際操作應(yīng)用中。英向華和胡占義提出的球面透視投影約束校正算法[3]思想是在球面成像投影模型下,利用空間直線的球面透視投影為大圓這一約束來恢復(fù)魚眼變形校正,該算法在選取理想的采樣點(diǎn)后效果較好,但建立目標(biāo)函數(shù)時,為權(quán)衡精度和速度同樣需要計算5階二元多項式,且采樣點(diǎn)的合理選取也是一個很難把握的地方,因該算法不能自適應(yīng)自動選取采樣點(diǎn),所有采樣點(diǎn)需手動選取,選取的結(jié)果直接關(guān)系到目標(biāo)函數(shù)的擬合計算次數(shù)和圖像校正的效果,不具有普遍性。
通過以上分析,本文旨在尋求一種不需要對魚眼鏡頭進(jìn)行參數(shù)標(biāo)定,算法結(jié)構(gòu)簡單易于實(shí)現(xiàn)、具有較大的普適性,且校正效果較好的畸變圖像校正算法。提出以等距投影相關(guān)理論為基礎(chǔ),在精確提取魚眼圖像輪廓的前提下,運(yùn)用球面等距投影校正算法能夠兼顧算法速度和圖像校正效果。
1 魚眼圖像輪廓的提取及圓心的確定
目前,提取魚眼圖像輪廓的常用算法有兩種。
第一種是面積統(tǒng)計法,該算法的原理是事先確定一個閾值T,求出圖像中像素值大于閾值的像素點(diǎn)個數(shù)和sum,并同時統(tǒng)計出像素值大于或等于閾值T的橫坐標(biāo)和∑X、縱坐標(biāo)和∑Y。計算圓心(x0,y0)和半徑R的公式如下:
⑴
⑵
⑶
該算法的缺點(diǎn)是只適應(yīng)于魚眼圖像圓形區(qū)域內(nèi)像素值較小的像素點(diǎn)個數(shù)少的情況,當(dāng)圓形區(qū)域內(nèi)有較多黑像素點(diǎn)時,該算法提取出來的圖像輪廓誤差較大。
第二種是逐行逐列掃描法[4-5]。該算法的原理是首先確定一個閾值T,分別從四周開始向中心逐行逐列掃描。如果逐行掃描時存在像素點(diǎn)的亮度值大于閾值T,則該像素點(diǎn)的橫坐標(biāo)為有效圖像區(qū)域的邊界,同理確定出縱坐標(biāo)邊界。該算法的缺點(diǎn)是只適應(yīng)于圖像圓形有效區(qū)域的亮度值遠(yuǎn)大于圓形區(qū)域之外的情況,如圓形區(qū)域外存在一些亮度值較大的噪聲干擾點(diǎn),則該算法提取的圖像輪廓誤差較大。
基于以上分析,本文進(jìn)行了一些改進(jìn)。提出一種自適應(yīng)掃描線逼近法,具體算法步驟如下。
⑴ 為突出邊緣信息,將采集的魚眼圖像做銳化處理,并計算出平均閾值T。
⑵ 將銳化后的圖像從上到下按水平方向掃描,如果像素點(diǎn)(i,j)值小于T,則繼續(xù)掃描。
⑶ 如果像素點(diǎn)(i,j)的值大于或等于閾值T,則判斷以改點(diǎn)為中心的3×3領(lǐng)域內(nèi)其他像素點(diǎn)的值是否存在全為零的情況。
⑷ 如果存在,則改點(diǎn)為干擾點(diǎn),故繼續(xù)掃描;否則y=j為圖像的上水平切線top。
⑸ 同理,重復(fù)步驟⑵至步驟⑷,分別確定圖像的下水平切線bottom,以及左垂直切線left、右垂直切線right。
⑹ 計算半徑R和圓心坐標(biāo)(x0,y0)。
⑷
2 球面等距投影校正及展開模型
球面等距投影[6-8]是一種非線性投影,其描述的是球面物與平面像的映射關(guān)系。其投影原理是,球面物上的像素點(diǎn)如果具有相同的視場角,那么其在平面像上對應(yīng)相等的徑向距離r'。即用公式表示為:
⑸
設(shè)XOY平面為魚眼圖像的成像平面,那么將該像平面上的每一個像素點(diǎn)P1校正為空間上的點(diǎn)P3需分成三步:第一步,首先將像平面點(diǎn)非線性的逆投影到球面上,而這一過程必須滿足等距投影逆變化的約束;第二步,每一個球面點(diǎn)P2被映射為連接P2與球心O的射線OP2;第三步,將射線OP2線性的映射到校正平面上。
具體算法步驟如下。
⑴ 計算魚眼圖像上的點(diǎn)到圖像圓心的距離。設(shè)點(diǎn)P1為魚眼圖像的像素點(diǎn),其坐標(biāo)為P1=(x,y),求出點(diǎn)P1到圓心的距離r并歸一化。
⑹
⑵ 計算球平面任一點(diǎn)P2的方位角和仰角。根據(jù)等距投影成像原理,那么等距投影校正模型就是其成像原理的逆推過程。
P2為魚眼像平面的點(diǎn)P1映射到半球面上的點(diǎn),其坐標(biāo)用表示(θ為方位角,為俯仰角),其計算公式如下:
⑺
⑻
⑶ 將球面上的任意像素點(diǎn),線性地投影到校正平面上。每一個球面上的點(diǎn)P2被映射為連接圓心0與P2的射線OP2交立方體面于點(diǎn)P3,如圖1所示。
取Z=1作為校正目標(biāo)平面時,那么球面上像素點(diǎn)投影到目標(biāo)平面上點(diǎn)的坐標(biāo)步驟如下:
首先,計算點(diǎn)P3到目標(biāo)平面中心的距離 。
其次,計算的坐標(biāo)。;。
當(dāng)仰角較大時,較大,特別是近似90?時,趨于∞,即校正目標(biāo)平面趨于無窮大。為改進(jìn)這一不足,基于投影物球面建立一個以球心為中心的正切立方體,將球面上的像素點(diǎn)投影到立方體的上、前、后、左、右五個面上,如圖2所示。
本文取=45?作為臨界點(diǎn)。仰角∈[0,45?]、方位角θ∈[-180?,180?]區(qū)間內(nèi)的球面像素點(diǎn)投影到Z=1的平面上;仰角∈[45?,90?]、方位角θ∈[-180?,180?]區(qū)間內(nèi)的球面像素點(diǎn)分別投影到立方體四周的投影面上。
3 實(shí)驗結(jié)果展示及結(jié)論
本文在matlab平臺下,采集180?左右格式為.gif的魚眼圖像(如圖3所示)后首先提取其有效區(qū)域,接著對有效區(qū)域做歸一化處理,然后通過等距投影逆推原理將有效區(qū)域的魚眼原始圖像投影到單位為1的半球面,最后將半球面的像素點(diǎn)一一映射到校正平面上,完成圖像校正。圖4為提取的魚眼輪廓圖像。圖5為采集該圖像0?~90?部分并對其校正后的圖像,圖6為該圖像0?~180?的校正展開圖像。
從實(shí)驗結(jié)果看,第一,本文提出的掃描算法對魚眼圖像有效區(qū)域的提取有較高的抗干擾能力;第二,魚眼圖像0?~90?部分校正效果較好,隨著視場的增大,當(dāng)視場接近180?時,略微出現(xiàn)畸變情況。
相對于多項式魚眼圖像畸變校正算法,本文的算法優(yōu)勢是不需要多項式計算,算法復(fù)雜度簡單,運(yùn)行速度快且效果較好,比較適應(yīng)于在硬件平臺轉(zhuǎn)化為工程算法。在接下來的研究中,如果進(jìn)一步改善圖像視覺質(zhì)量和提高算法在視場接近180?時曲線校正精度是工作重點(diǎn)之一。
參考文獻(xiàn)(References):
[1] 楊玲,成運(yùn).應(yīng)用經(jīng)緯映射的魚眼圖像校正設(shè)計方法[J].工程
圖學(xué)學(xué)報,2010.31(6):19-22
[2] 廖士中,高培煥,蘇藝,王大鵬.一種光學(xué)鏡頭攝像機(jī)圖像幾何
畸變的修正方法[J].中國圖像圖形學(xué)報,2000.5(7):593-596
[3] 英向華,胡占義.一種基于球面透視投影約束的魚眼鏡頭校
正方法[J].計算機(jī)學(xué)報,2003.26(12):1702-1708
[4] 王大宇,崔漢國,陳軍.魚眼圖像輪廓提取及校正研究[J].計算
機(jī)工程與設(shè)計,2007.28(12):2878-2880
[5] 張軍,王志舟,楊正瓴.單幅圓形魚眼圖像校正[J]. 計算機(jī)應(yīng)
用,2015.35(5):1444-1448
[6] 楊秋慧,玉昊昕,李陶深,玉振明.一種大視場鏡頭的畸變校正
方法[J].計算機(jī)應(yīng)用與軟件,2015.32(09):136-140
[7] 孟靈.等距投影的魚眼圖像校正算法設(shè)計[J].數(shù)字技術(shù)與應(yīng)
用,2016.7(6):125-126
[8] 吳桂平,吳魏,王成,畢昆.基于雙線性插值魚眼圖像校正算法[J].
計算機(jī)應(yīng)用與軟件,2012.29(2):122-124