馬朋飛+穆春陽+馬行+李柳群
摘 要: 魚眼鏡頭拍攝的圖像具有嚴(yán)重的變形,要想利用魚眼圖像的信息,就必須將其校正為常規(guī)的線性圖像。提取魚眼圖像有效區(qū)域是進(jìn)行校正的前提,同時,魚眼圖像有效區(qū)域提取的精度將影響到魚眼圖像校正的效果。傳統(tǒng)最常用的方法是掃描線逼近法,計算量較小,速度較快,但也具有抗干擾性差的缺陷。針對有效區(qū)域邊界存在黑色像素點(diǎn)影響傳統(tǒng)算法精度的缺點(diǎn),提出通過改變掃描步長,垂線縮進(jìn)的改進(jìn)算法。實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法能準(zhǔn)確確定有效區(qū)域的中心坐標(biāo)和半徑,具有精度高、耗時少、滿足實(shí)時性要求的特點(diǎn),具有較強(qiáng)的實(shí)用價值。
關(guān)鍵詞: 魚眼圖像; 有效區(qū)域提取; 掃描線逼近; 垂線縮進(jìn); 實(shí)時性高
中圖分類號: TN911.73?34; TP391.41 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)15?0010?04
Abstract: Since the image taken by the fish?eye lens has serious distortion, in order to take advantage of the information of the fish?eye image, it must be corrected as the conventional linear image. The extraction of the fish?eye effective area is a prerequisite for correction. The extraction accuracy of the fish?eye image effective area can affect on the correction effect of the fish?eye image. The scanning line approximation method of the commonly?used ones has small calculated amount and fast speed, as well as poor anti?interference ability. To eliminate the shortcoming that the black pixel existing in the effective area boundary can affect on the accuracy of the traditional algorithms, an improved algorithm of changing the scanning step size and retracting the vertical line is proposed. The experimental results show that the algorithm can determine the center coordinate and radius of the active area accurately, has high precision and short time?consuming, can meet the real?time requirements, and has strong practical value.
Keywords: fish?eye image; effective region extraction; scanning line approximation; vertical?line indentation; high real?time performance
0 引 言
隨著圖像處理硬件的發(fā)展,機(jī)器視覺技術(shù)也取得了長足的進(jìn)步。傳統(tǒng)機(jī)器視覺技術(shù)一般都是通過普通鏡頭來獲取場景的信息。但常規(guī)鏡頭的視場角較小,只能獲取有限的視場局部信息,這樣導(dǎo)致視覺系統(tǒng)的盲區(qū)較大,限制了機(jī)器視覺技術(shù)的應(yīng)用范圍。魚眼鏡頭是一種焦距極短、并且視角可以達(dá)到180°~270°的鏡頭。這種攝像鏡頭的前鏡片直徑很短且呈拋物狀向鏡頭前部凸出,與魚的眼睛頗為相似,“魚眼鏡頭”因此而得名[1]。中國已于2013年底發(fā)射“嫦娥三號”,搭載的“玉兔號”月球車配備的就是此種攝像頭,拍攝的全景圖和展開圖如圖1所示。在相同面積下,魚眼鏡頭捕獲的視角范圍遠(yuǎn)遠(yuǎn)大于平面鏡頭,但是除拍攝的圖像中心的畫面保持不變外,其他垂直、水平方向的畫面都發(fā)生了嚴(yán)重偏移畸變。要想利用這些具有嚴(yán)重畸變圖像的透視投影信息,就需要將這些畸變圖像校正為符合人眼觀察的透視投影圖像。
將魚眼圖像校正為實(shí)際場景的圖像,其前提是提取出魚眼圖像的有效區(qū)域,精確地求出魚眼圖像的光學(xué)中心和半徑即除去魚眼圖像四周的黑色部分,中間位置的圖像即為魚眼圖像的有效區(qū)域。
目前常用的提取魚眼圖像有效區(qū)域的算法有面積統(tǒng)計法[2]和掃描線逼近法[3?4]。面積統(tǒng)計算法的優(yōu)點(diǎn)是計算量小、容易實(shí)現(xiàn),但是魚眼圖像有效區(qū)域內(nèi)存在較多黑色像素點(diǎn)時,該方法將產(chǎn)生巨大偏差,并且加大了計算量,對實(shí)時性要求存在一定程度的制約[5]。掃描線逼近法對魚眼圖像內(nèi)部的黑色像素點(diǎn)不是很敏感,可有效地彌補(bǔ)面積統(tǒng)計算法的不足,但是如果在圖像的邊界處存在大量黑色像素點(diǎn)時,結(jié)果也會出現(xiàn)較大誤差[6]。本文通過建立新的坐標(biāo)系、控制步長、垂線縮進(jìn)等方法對傳統(tǒng)掃描線逼近法進(jìn)行改進(jìn)。經(jīng)實(shí)驗(yàn)表明,改進(jìn)的掃描線逼近法在保證精度的前提下,顯著降低了提取魚眼圖像有效區(qū)域的計算量和時間。
1 魚眼圖像成像原理
魚眼鏡頭可近似為半球面,相機(jī)沿其光軸的方向拍攝,成像平面為平面(如圖2所示),設(shè)半球面的方程為[7]:
對拍攝對象上的任意一點(diǎn)連結(jié)交半球面于點(diǎn)過點(diǎn)作的平行線,交成像平面于點(diǎn)則點(diǎn)就是空間點(diǎn)在成像平面所投射出的像。因此,對于魚眼鏡頭而言,所拍攝的場景信息布滿一個圓。
2 掃描線逼近法
圖像像素點(diǎn)的亮度在RGB模型下的計算公式為:
式中:分別為像素點(diǎn)的紅色、綠色、藍(lán)色分量[8]。
圖像中某一行(列)的最大亮度與最小亮度之差,叫做該行(列)的極限亮度差
魚眼圖像的圓形有效區(qū)域集中了大部分圖像信息,且該區(qū)域內(nèi)的圖像像素亮度值遠(yuǎn)遠(yuǎn)大于有效區(qū)域之外的像素點(diǎn)的亮度,因此區(qū)域內(nèi)的極限亮度差比有效區(qū)域之外的極限亮度差要大得多,根據(jù)魚眼圖像的這種內(nèi)外像素亮度差很大的特點(diǎn),給出魚眼圖像有效區(qū)域提取的掃描線逼近法[9]。
以位圖像素點(diǎn)陣的行(列)建立掃描線(left,right,top,bottom),從左至右、從上至下逐次向魚眼圖像中心掃描,如圖3所示。由于魚眼圖像有效區(qū)域含有彩色像素點(diǎn),當(dāng)掃描線掃描到該區(qū)域時,圖像像素點(diǎn)的極限亮度差逐漸增大??赏ㄟ^預(yù)設(shè)一個閾值判斷該行(列)的圖像像素點(diǎn)的極限亮度差是否滿足條件:
如果滿足式(4),即可認(rèn)為已經(jīng)掃描到魚眼圖像的邊界。依照此種方法可依次求得有效區(qū)域的左右邊界線和上下邊界線。求出left,right,top,bottom四個參數(shù)之后,就可以根據(jù)式(5),式(6)提取出魚眼圖像圓形有效區(qū)域,確定圓心坐標(biāo)及半徑參數(shù)[10]:
3 改進(jìn)的掃描線逼近法
對于掃描線逼近法而言,如果魚眼圖像的邊界存在黑色區(qū)域時,將會造成求得的有效區(qū)域向中間偏移,使得提取出的有效區(qū)域變成長方形,從而影響魚眼圖像的校正。同時在掃描過程中對于圖像的4個頂角先后掃描了兩次,如圖3所示,造成了重復(fù)性的操作,降低了實(shí)時性。
為解決上述問題,本文提出通過建立新的可控步長掃描線、垂線縮進(jìn)及半徑修正方法對掃描線逼近法予以改進(jìn)。
3.1 建立新的掃描線
步驟1:以魚眼圖像的左下角頂點(diǎn)為原點(diǎn),以圖像下邊界為軸、上邊界為軸,建立新的坐標(biāo)系,如圖4所示。
步驟2:以求取左邊界線為例,left掃描線以軸為初始線,以步長沿軸正方向掃描[11]。計算掃描線left當(dāng)前所在列圖像像素點(diǎn)的極限亮度差判斷極限亮度差是否滿足式(4)。如果滿足條件,可認(rèn)為此行像素點(diǎn)屬于有效區(qū)域內(nèi);如果不滿足條件,則計算下一條掃描線所在列的圖像像素點(diǎn)的極限亮度差當(dāng)滿足極限亮度差大于閾值時,left掃描線以步長1沿軸反方向掃描,當(dāng)滿足極限亮度差小于閾值時,取上一列掃描線為魚眼圖像有效區(qū)域的左邊界left。同理,可求得魚眼圖像有效區(qū)域的右邊界right。記魚眼圖像左邊界切點(diǎn)為右邊界切點(diǎn)為可確定左邊界切點(diǎn)的橫坐標(biāo)為右邊界切點(diǎn)的橫坐標(biāo)為。
步驟3:提取魚眼圖像有效區(qū)域邊界,上下邊界算法流程如圖5所示。
確定出魚眼圖像有效區(qū)域的左右邊界線之后,以左邊界切點(diǎn)和右邊界切點(diǎn)的中點(diǎn)作線段的垂線垂線段交魚眼圖像上邊界于點(diǎn)。垂線段從點(diǎn)開始向內(nèi)縮進(jìn),計算當(dāng)前像素點(diǎn)和下一像素點(diǎn)的亮度值之差并判斷亮度值之差是否滿足式(4)。如果不滿足條件,則取下一像素點(diǎn)為點(diǎn),計算當(dāng)前點(diǎn)像素點(diǎn)和下一像素點(diǎn)的亮度值之差如果滿足條件,則取當(dāng)前像素點(diǎn)為臨時上邊界點(diǎn),記該點(diǎn)為
步驟4:過點(diǎn)作平行于軸的線top作為臨時上邊界線,計算該行像素點(diǎn)的極限亮度差如果極限亮度差大于閾值則確定出魚眼圖像有效區(qū)域的上邊界;如果極限亮度差小于閾值則取下一行為臨時上邊界線,計算當(dāng)前行的極限亮度差與閾值的關(guān)系。同理,可求得魚眼圖像的下邊界線bottom。確認(rèn)并標(biāo)記有效區(qū)域上邊界切點(diǎn)和下邊界切點(diǎn)的坐標(biāo)值,判斷上下邊界切點(diǎn)的橫坐標(biāo)是否相等。如果不相等,可確定有效區(qū)域上下邊界存在大量黑色像素點(diǎn)干擾,取上下邊界切點(diǎn)的橫坐標(biāo)為兩切點(diǎn)之間的較小值。圓心坐標(biāo)及半徑可由式(4),式(5)求得。
3.2 半徑的修正
如果魚眼圖像有效區(qū)域?yàn)闄E圓時,可得魚眼圖像的有效區(qū)域不是標(biāo)準(zhǔn)圓形,而是會畸變成橢圓形。對于這種圖像,需要乘以式(7)進(jìn)行修正,使其變換為標(biāo)準(zhǔn)圓,半徑修正為如圖6所示,其中為魚眼圖像的中心點(diǎn),為魚眼圖像行像素點(diǎn)與列像素點(diǎn)的比值。
4 算法分析與實(shí)驗(yàn)結(jié)果
4.1 算法計算量分析
假設(shè)魚眼圖像的分辨率為魚眼圖像有效區(qū)域的半徑為步長為則傳統(tǒng)掃描線逼近法的計算量為:
改進(jìn)的掃描線逼近算法的計算量為:
隨著高清魚眼鏡頭的發(fā)展,魚眼圖像分辨率越來越大,在對1 080P圖像進(jìn)行處理時可以將原算法的200萬計算量降低到萬量級以下。改進(jìn)算法能大大減少計算量,實(shí)時性得到了明顯的提高。
4.2 實(shí)驗(yàn)結(jié)果對比
為了驗(yàn)證本文改進(jìn)算法的有效性,選用3幅魚眼圖像分別進(jìn)行100次試驗(yàn)求取平均試驗(yàn)數(shù)據(jù)。實(shí)驗(yàn)環(huán)境為:IntelCoreTM I3 CPU 2 GB內(nèi)存計算機(jī),以Matlab R2011a為工具,分別使用掃描線逼近法和本文改進(jìn)的算法對魚眼圖像有效區(qū)域進(jìn)行提取。實(shí)驗(yàn)數(shù)據(jù)如表1,表2所示,其中圓心坐標(biāo)與半徑由算法計算得到,標(biāo)準(zhǔn)值由人工手繪測量得到,誤差是算法計算值與標(biāo)準(zhǔn)值相比得到。魚眼圖像有效區(qū)域提取的試驗(yàn)結(jié)果如圖7所示。
由表1,表2中數(shù)據(jù)可得,改進(jìn)的算法圓心坐標(biāo)平均誤差由原來的(2.0,2.6)降到了(2.0,0.7),誤差率降低了69.2%,半徑平均誤差由原來的3.6降到1.5,誤差率降低了58.3%。尤其是對于圖3,由于存在亮點(diǎn)干擾,導(dǎo)致使用傳統(tǒng)掃描線逼近法求得的數(shù)據(jù)誤差較大,而改進(jìn)算法可以較為精確地提取出有效區(qū)域。同時,改進(jìn)算法能大大減少計算量,相應(yīng)提取時間也減少,具有更好的實(shí)時性。
5 結(jié) 語
本文提出一種改進(jìn)的魚眼圖像有效區(qū)域提取算法,相比于傳統(tǒng)的掃描線逼近算法,改進(jìn)算法能有效彌補(bǔ)傳統(tǒng)掃描線逼近算法的不足,減少提取魚眼圖像有效區(qū)域的時間。實(shí)驗(yàn)結(jié)果表明,該算法能準(zhǔn)確計算出魚眼圖像圓心坐標(biāo)和有效區(qū)域半徑,能快速準(zhǔn)確地提取出魚眼圖像的有效區(qū)域。為下一步魚眼圖像的校正打下重要的基礎(chǔ)。
參考文獻(xiàn)
[1] 王永仲.魚眼鏡頭光學(xué)[M].北京:科學(xué)出版社,2006:65?68.
[2] 常丹華,趙丹,楊峰明,等.提取魚眼圖像輪廓的算法改進(jìn)及圖像校正[J].激光與紅外,2012,42(4):448?451.
[3] 王大宇,崔漢國,陳軍.魚眼圖像輪廓提取及校正研究[J].計算機(jī)工程與設(shè)計,2007,28(12):2878?2882.
[4] 汪丹,劉輝,李可.一種不斷重定位圓心的魚眼圖像校正方法[J].電腦與信息技術(shù),2016,24(2):30?33.
[5] 王波濤,閆躍,趙軒.基于最小二乘法的魚眼鏡頭輪廓提取算法[J].國外電子測量技術(shù),2015,34(4):31?35.
[6] 肖詩勤,楊關(guān)良.一種改進(jìn)的魚眼圖像輪廓提取算法[J].計算機(jī)與數(shù)字工程,2010,15(1):147?150.
[7] 汪嘉業(yè),楊興強(qiáng),張彩明.基于魚眼鏡頭拍攝的圖像生成漫游模型[J].系統(tǒng)仿真學(xué)報,2001,11(13):66?68.
[8] 岡薩雷斯.數(shù)字圖像處理[M].阮秋琦,阮宇智,譯.2版.北京:電子工業(yè)出版社,2006.
[9] 程德強(qiáng),劉洋,柳雪,等.分割線掃描魚眼圖像有效區(qū)域提取算法[J].電視技術(shù),2015,39(6):1?4.
[10] 江芳,袁縱橫.魚眼圖像輪廓提取方法的對比[J].計算機(jī)系統(tǒng)應(yīng)用,2011,20(4):214?218.
[11] 韓迎輝.基于改進(jìn)掃描線逼近的魚眼圖輪廓提取算法的研究[J].電子器件,2013,36(6):784?788.