楊 剛, 臧春華, 李仲年
(南京航空航天大學(xué) 電子信息工程學(xué)院,江蘇 南京 211106)
基于參考點(diǎn)配準(zhǔn)法的全景泊車(chē)系統(tǒng)研究*
楊 剛, 臧春華, 李仲年
(南京航空航天大學(xué)電子信息工程學(xué)院,江蘇南京211106)
為了提高駕駛行車(chē)的安全性,研究并改進(jìn)了一種全景泊車(chē)系統(tǒng),由魚(yú)眼攝像頭,圖像處理單元和顯示器三大部分組成。魚(yú)眼攝像頭采集汽車(chē)四周的超廣角圖像;在OpenCV環(huán)境下通過(guò)魚(yú)眼攝像頭標(biāo)定,桶型矯正和圖像的透視變換技術(shù)形成汽車(chē)前后左右的4幅平面俯視圖;提出了一種參考點(diǎn)配準(zhǔn)的方法,可以根據(jù)平面俯視圖得到汽車(chē)的360°全景圖像,并在顯示器上顯示。與特征點(diǎn)匹配法相比,參考點(diǎn)配準(zhǔn)方法受環(huán)境的影響很小且對(duì)硬件性能要求較低,因此,更適用于嵌入式系統(tǒng)實(shí)現(xiàn)。
全景泊車(chē)系統(tǒng); 魚(yú)眼攝像頭; OpenCV; 透視變換; 平面俯視圖; 參考點(diǎn)配準(zhǔn)
在日益復(fù)雜的城市交通中,汽車(chē)在泊車(chē)等低速行駛時(shí)的視野盲區(qū)問(wèn)題一直是困擾廣大駕駛員的問(wèn)題。全景泊車(chē)技術(shù)指通過(guò)以一定角度安裝在汽車(chē)四周的攝像頭采集圖像,再經(jīng)過(guò)魚(yú)眼矯正和圖像拼接實(shí)時(shí)地將全景圖像傳送至顯示器上,使駕駛員可以看到汽車(chē)四周的路面情況[1]。圖像拼接作為全景泊車(chē)系統(tǒng)核心技術(shù)一直是研究的難點(diǎn)。傳統(tǒng)的拼接方法多是基于特征值提取的方法[2],對(duì)圖像質(zhì)量要求較高,提取成功率與光照環(huán)境有關(guān),在光照較弱時(shí),成功率很低;同時(shí),該方法對(duì)處理器的運(yùn)算要求較高。
本文提出了一種基于參考點(diǎn)配準(zhǔn)的方法進(jìn)行圖像拼接,方法受環(huán)境的影響很小,在不同光照強(qiáng)度下配準(zhǔn)成功率均很高,而且,對(duì)處理器性能的要求更低,更加適用于嵌入式系統(tǒng)的實(shí)現(xiàn)。本文將該方法用于全景泊車(chē)系統(tǒng)中,設(shè)計(jì)了一種基于參考點(diǎn)配準(zhǔn)法的全景泊車(chē)系統(tǒng),實(shí)現(xiàn)了汽車(chē)四周全景圖的生成,并通過(guò)實(shí)驗(yàn)進(jìn)行了驗(yàn)證。
360°全景泊車(chē)是一種使用多視點(diǎn)圖像組合的方法:利用廣角攝像頭的大角度視角,在汽車(chē)的某一面采集一幅圖像即可獲得汽車(chē)該面的所有信息,從而汽車(chē)四周的視野可以被4幅圖像無(wú)死角地采集到;由于采集到的原始圖像存在著圖像畸變,需要進(jìn)行相應(yīng)的處理,包括:對(duì)原始廣角圖像進(jìn)行標(biāo)定和矯正,由于攝像頭有安裝角度,矯正后的圖像存在線(xiàn)性失真的問(wèn)題,所以需要利用標(biāo)定板對(duì)圖像進(jìn)行角點(diǎn)的提取和透視變換,再利用參考點(diǎn)匹配的方法對(duì)圖像進(jìn)行拼接;最后拼接得到360°全景圖[3]。整個(gè)系統(tǒng)流程如圖1所示。
圖1 全景泊車(chē)系統(tǒng)流程
全景泊車(chē)系統(tǒng)在圖像拼接時(shí)要求4幅圖像包括車(chē)四周所有的區(qū)域且圖像之間存在一定的共同區(qū)域,魚(yú)眼攝像頭具有超廣角的特性,其成像視場(chǎng)角能達(dá)到180°甚至更大,在汽車(chē)四周安裝魚(yú)眼攝像頭,可以保證圖像具有足夠的視野和重疊區(qū)域[4~6]。但是,魚(yú)眼攝像頭存在著嚴(yán)重的桶形畸變,在拼接前需要對(duì)其進(jìn)行標(biāo)定,得到線(xiàn)性特性的圖像。采用張正友標(biāo)定法對(duì)魚(yú)眼圖像進(jìn)行標(biāo)定,視圖通過(guò)透視變換將三維空間中的點(diǎn)投影到圖像平面[7]。投影如式(1)所示
(1)
(2)
進(jìn)一步表示為
(3)
H=[h1h2h3]
(4)
利用非線(xiàn)性最小二乘法來(lái)求解H的最大似然估計(jì),則有[h1h2h3]=λA[r1r2t]。其中,λ為一常數(shù)因子,每幅圖像均能獲得如下對(duì)內(nèi)部參數(shù)矩陣的約束條件
(5)
據(jù)此求出魚(yú)眼攝像機(jī)的內(nèi)參陣A和畸變系數(shù)[8~10]。
基于OpenCV,求解魚(yú)眼相機(jī)內(nèi)部參數(shù)步驟如下:
1)根據(jù)式(1)編寫(xiě)基于OpenCV的魚(yú)眼攝像頭標(biāo)定C++程序;
2)將一幅7×8的棋盤(pán)圖平整地放在魚(yú)眼攝像頭前方,保證棋盤(pán)圖的有效區(qū)域能被魚(yú)眼攝像頭接收到。采集圖像輸入到OpenCV標(biāo)定程序內(nèi);
3)用尋找角點(diǎn)函數(shù)找出棋盤(pán)圖中56個(gè)角點(diǎn),將坐標(biāo)保存到C++容器中;
4)將棋盤(pán)圖旋轉(zhuǎn)一定角度和姿態(tài),再次執(zhí)行步驟(2)、步驟(3)的操作,重復(fù)20次,以獲得較好效果的相機(jī)參數(shù)值;
5)將上述多次得到的角點(diǎn)坐標(biāo)送入標(biāo)定程序的參數(shù)計(jì)算模塊,計(jì)算得到相機(jī)內(nèi)外參數(shù)和畸變系數(shù)。
在獲得4幅魚(yú)眼相機(jī)的圖片和相機(jī)的內(nèi)部參數(shù)以及畸變系數(shù)后,即可將廣角圖像變換為具有透視特性的圖像,這時(shí)圖像只存在線(xiàn)性失真,利于接下來(lái)的透視變換和固定參考點(diǎn)的圖像配準(zhǔn)。將式(1)化簡(jiǎn)可得
(6)
(7)
式中x′=x/y;y′=y/z;r2=x′2+y′2;k1,k2為徑向形變系數(shù),p1和p2為切向形變系數(shù)。根據(jù)已知的定標(biāo)模式,從幾個(gè)角度拍攝若干已知角點(diǎn)的照片(u,v)可以計(jì)算出魚(yú)眼相機(jī)的內(nèi)部參數(shù)和外部參數(shù)[11,12]。圖2、圖3為魚(yú)眼廣角圖像和矯正畸變后的圖像。
圖2 矯正前魚(yú)眼圖像
圖3 矯正后魚(yú)眼圖像
如圖2和圖3所示,矯正前,圖像存在明顯的桶型畸變,而經(jīng)過(guò)矯正后,圖像棋盤(pán)格可以看出只存在線(xiàn)性透視失真,為下一步透視變換提供條件[13~15]。
可以通過(guò)透視變換來(lái)處理圖像圖3所示的線(xiàn)性失真,將圖像從所在平面線(xiàn)性地投影到另一個(gè)平面。即將圖3中標(biāo)準(zhǔn)的棋盤(pán)方格投影到新的俯視平面,使方格的大小和位置變?yōu)樵瓉?lái)的方格的大小和位置
(8)
式中H為變換矩陣;x=x′/w′;y=y′/w′?;谶@種原理可以將四邊形變換到標(biāo)準(zhǔn)矩形。
傳統(tǒng)的圖像拼接方法[16]過(guò)于復(fù)雜,對(duì)設(shè)備和環(huán)境要求較高,在光線(xiàn)較弱等不利條件下,很容易出現(xiàn)找不到足夠特征點(diǎn)的情況,無(wú)法完成拼接。
因此,本文提出了一種基于參考點(diǎn)配準(zhǔn)的方法,原理是構(gòu)建4幅相對(duì)位置固定的參考點(diǎn)群,如圖4所示。汽車(chē)每個(gè)方向都有一張標(biāo)準(zhǔn)參考點(diǎn)圖且各相對(duì)位置已知,設(shè)H1,H2,H3,H4分別為4個(gè)方向上原始圖像向最終合成圖的變換矩陣。系統(tǒng)初始化時(shí)通過(guò)角點(diǎn)查找[17],在圖3中找到各棋盤(pán)圖的對(duì)應(yīng)角點(diǎn),計(jì)算出對(duì)應(yīng)實(shí)際棋盤(pán)圖的變換矩陣。再將各圖像代入式(8),則可以恢復(fù)全景圖像的場(chǎng)景,也可以將透視變換和圖像配準(zhǔn)集成在一個(gè)步驟中完成,且拼接的標(biāo)定過(guò)程只需要在使用前標(biāo)定一次。方法無(wú)需在圖像中重復(fù)提取特征點(diǎn),同時(shí),當(dāng)圖像顏色,質(zhì)量受到影響時(shí),基于參考點(diǎn)配準(zhǔn)也不影響最終圖像的配準(zhǔn),具有很好的適應(yīng)性。
圖4 固定位置標(biāo)定板示意
基于參考點(diǎn)配準(zhǔn)的圖像拼接可以歸納為以下步驟:
1)鋪設(shè)好4合1標(biāo)定板,標(biāo)定板間的位置信息事先存入處理器,再將待標(biāo)定汽車(chē)置于圖4汽車(chē)位置,在汽車(chē)的四周架設(shè)好魚(yú)眼攝像頭,使攝像頭畫(huà)面有效地覆蓋棋盤(pán)圖。
2)前后左右各拍攝一幅圖像,按魚(yú)眼矯正程序矯正圖像,得到有透視效果的圖像,如圖3所示。
3)用OpenCV進(jìn)行角點(diǎn)查找,找到棋盤(pán)圖的矩形角點(diǎn)(矩形角點(diǎn)在透視圖中呈現(xiàn)出梯形形狀),并存儲(chǔ)起來(lái),結(jié)合式(8)透視變換原理求出H1,H2,H3,H4。
4)根據(jù)H1,H2,H3,H4將4幅透視圖變換到最終的合成圖上,過(guò)程中需要為每幅圖設(shè)計(jì)一個(gè)圖像掩,膜防止圖像交叉重疊。
變換效果如圖5所示,中間區(qū)域?yàn)檐?chē)體。
圖5 全景透視變換配準(zhǔn)后效果
由圖5可以看出生成的全景泊車(chē)圖的效果良好,可以將汽車(chē)四周的場(chǎng)景以俯視全景圖的形式再現(xiàn)。為了論證基于參考點(diǎn)配準(zhǔn)方法的高成功率,將基于SIFT特征點(diǎn)匹配的方法與本文方法進(jìn)行了對(duì)比實(shí)驗(yàn),將兩幅重復(fù)度不同的圖像分別使用2種方法拼接,并調(diào)節(jié)重復(fù)區(qū)域百分比。實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 基于參考點(diǎn)配準(zhǔn)與特征點(diǎn)配準(zhǔn)效果對(duì)比
實(shí)驗(yàn)表明:只要保證待拼接圖中存在參考角點(diǎn),則參考點(diǎn)配準(zhǔn)的方法成功率很高,適用于實(shí)際嵌入式系統(tǒng)。
針對(duì)當(dāng)前道路交通中駕駛員遇到的泊車(chē)難問(wèn)題,本文研究并改進(jìn)了一種適用于嵌入式系統(tǒng)實(shí)現(xiàn)的全景泊車(chē)系統(tǒng)。針對(duì)一般特征點(diǎn)匹配方法在全景泊車(chē)系統(tǒng)中存在一些不足,提出了一種基于參考點(diǎn)配準(zhǔn)的圖像拼接方法,并通過(guò)OpenCV設(shè)計(jì)了系統(tǒng)平臺(tái)進(jìn)行驗(yàn)證。實(shí)驗(yàn)結(jié)果表明:基于參考點(diǎn)配準(zhǔn)的拼接方法對(duì)環(huán)境光線(xiàn)適應(yīng)力強(qiáng),不需要大面積的重疊區(qū)域即可完成全景圖的生成,且易于嵌入式系統(tǒng)實(shí)現(xiàn)。本系統(tǒng)可以幫助駕駛員輕松安全泊車(chē)。
[1] 趙偉軍,顧新艷,姜慶標(biāo),等.起伏目標(biāo)檢測(cè)的應(yīng)用研究[J].現(xiàn)代雷達(dá),2015,37(6):32-36.
[2] 李 楠.基于DSP的多路圖像采集系統(tǒng)[D].保定:河北大學(xué),2009.
[3] 陳顯毅.圖像配準(zhǔn)技術(shù)及其 Matlab 編程實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2009.
[4] 蘆 博.基于DSP的視頻動(dòng)態(tài)跟蹤研究[D].武漢:武漢理工大學(xué),2008.
[5] 涂曉昱.基于DSP的通用實(shí)時(shí)圖像處理系統(tǒng)設(shè)計(jì)與研究[D].杭州:浙江大學(xué),2004.
[6] Milna S,Vaclav H,Roger B.圖像處理、分析與機(jī)器視覺(jué)[M].3版.北京:清華大學(xué)出版社,2011.
[7] 楊夢(mèng)雯,李寶明,陳付亮,等.基于DSP的圖像去霧算法優(yōu)化方法[J].傳感器與微系統(tǒng),2016,35(6):136-138.
[8] 張鋮偉,王 彪,徐貴力.攝像機(jī)標(biāo)定方法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(11):174-179.
[9] 陳 鐸.攝像機(jī)標(biāo)定方法研究與實(shí)現(xiàn)[D].沈陽(yáng):東北大學(xué),2008.
[10] 茂 林,馬頌德,李 毅.計(jì)算機(jī)視覺(jué)中攝像機(jī)定標(biāo)綜述[J].自動(dòng)化學(xué)報(bào),2001,26(1):43-55.
[11] Scaramuzza D,Martinelli A,Siegwart R.A flexible technique for accurate omnidirectional camera calibration and structure from motion[C]∥IEEE International Conference of Computer Vision Systems,2006:45-53.
[12] 李 彬,羅 彪.機(jī)器視覺(jué)在物體位姿檢測(cè)中的應(yīng)用[J].傳感器與微系統(tǒng),2016,35(2):150-153.
[13] 趙 炯,朱海濤,屈劍平,等.基于OpenCV的圓心定位在地鐵隧道變形監(jiān)測(cè)中的應(yīng)用[J].傳感器與微系統(tǒng),2013,32(11):139-142.
[14] 丁 鑫.全景視覺(jué)泊車(chē)輔助系統(tǒng)研究[D].杭州:浙江大學(xué),2010.
[15] 趙 凱.全景可視化輔助泊車(chē)系統(tǒng)研究[D].合肥:合肥工業(yè)大學(xué),2011.
[16] Songde M.A self-calibration technique for active vision system[J].IEEE Transactions on Robotb and Automation,1996,12(1):114-120.
[17] Abdel-aziz Y I.Direct linear transformation from comparator coordinates into object space coordinates in close-range photogramrnetry[C]∥Virginia,USA:American Society of Photogrammetry,1971:1-18.
Studyofpanoramicparkingsystembasedonreferencepointsregistrationmethod*
YANG Gang, ZANG Chun-hua, LI Zhong-nian
(CollegeofElectronicandInformationEngineering,NanjingUniversityofAeronauticsandAstronautics,Nanjing211106,China)
In order to improve the safety of driving,the panoramic parking system is studied and improved.The system consists of three components,which are fish-eye cameras,an image processing unit and a displayer.First,fish-eye cameras are used to capture the ultra-wide-angle images around the car.Then four vertical views around the car are obtained by the fish-eye camera calibration,the bucket correction and the perspective transformation based on OpenCV.Reference points registration method is proposed to obtain a360° panoramic bird's eye view,which is showed on displayer,according to the vertical views.Since the proposed method is hardly affected by the environment and not dependent on hardware performance heavily,it is more suitable for embedded system implementation compared with the feature points matching method.
panoramic parking system; fish-eye camera; OpenCV; perspective transformation; plane vertical view; reference points registration
10.13873/J.1000—9787(2017)10—0041—04
2016—09—21
南京航空航天大學(xué)研究生創(chuàng)新基地(實(shí)驗(yàn)室)開(kāi)放基金資助項(xiàng)目(KFJJ20150406)
TP 391
A
1000—9787(2017)10—0041—04
楊 剛(1990-),男,碩士研究生,主要研究方向?yàn)殡娐放c系統(tǒng)。臧春華(1964-),男,副教授,主要研究方向?yàn)閿?shù)字系統(tǒng)設(shè)計(jì)與計(jì)算機(jī)應(yīng)用。