周厚達,李澤文,郭愛英,張建華
(1.上海大學 新型顯示與系統(tǒng)集成教育部重點實驗室,上海 200072;2.上海大學 微電子研究與開發(fā)中心,上海 200072)
本文提出的多模式車載全景顯示模型可根據(jù)車輪轉(zhuǎn)速及車輪轉(zhuǎn)動角度來調(diào)節(jié)4路魚眼攝像頭的位姿并實現(xiàn)輔助駕駛視角的自動切換,原理如下: 在車身前后左右4個方位安裝魚眼攝像頭獲取所需的行駛環(huán)境信息.
以普通家用轎車為例,假設: 車輪轉(zhuǎn)速n及車輪轉(zhuǎn)向角度α,則車輛的行駛速度為
(1)
行駛狀態(tài)檢測標準:
(2)
(3)
多模式車載全景顯示模型框圖如圖1所示,首先,根據(jù)駕駛狀態(tài)判定進行輔助駕駛模式自動選擇高速行車模式或低速泊車模式;然后,通過4路魚眼攝像頭獲取圖像信息,圖像信息以視頻形式進入圖像獲取及矯正模塊,接著將矯正后圖像輸入對應的柱面投影和俯視投影模塊;最終經(jīng)圖像柱面融合及俯視融合模塊處理后通過車載顯示器輸出.
圖1 多模式車載全景顯示模型框圖Fig.1 The block diagram of multi-mode vehicle panoramic display system
根據(jù)多模式車載全景顯示模型框圖,本模型在算法實現(xiàn)部分包含4個模塊,分別為: 駕駛模式自動選擇模塊、圖像獲取及矯正模塊、圖像投影模塊和圖像融合模塊.
圖像獲取及矯正模塊主要由魚眼攝像頭標定單元、圖像獲取單元和畸變矯正單元組成.為盡可能大地獲取車身周圍圖像信息,本文選擇魚眼鏡頭進行圖像采集.魚眼攝像頭具有短焦距,廣視角的特點.在收集車身周圍環(huán)境信息時能夠在保證環(huán)境信息完整的前提下減少攝像頭的數(shù)量.但也由于這個特點使得獲取的圖像帶有嚴重的桶型畸變,需要在后期加以矯正處理.
首先在小車周圍前、后、左、右安置4個相同參數(shù)類型的魚眼攝像頭,完整傳輸小車周圍360°的環(huán)境信息[1-5];再利用攝像頭標定原理對黑白棋盤格進行拍攝,利用圖像中角點位置的變化對攝像頭進行標定[6-11]:Mij=[uij,vij]T表示圖像坐標系中行為i,列為j的坐標點,M′ij=[Xij,Yij,Zij]是對應的世界坐標系中的點.假設棋盤網(wǎng)格模版在世界坐標系中的Z坐標為0,世界坐標系與圖像平面坐標系的對應關系可以表示為
(4)
其中λij為變換尺度因子.為了消除尺度因子這個未知的參數(shù),在等式兩邊同乘以一個圖像的列向量,將右邊化為0,得到如下等式:
(5)
將上式展開,針對圖像的每一個像素點,可以建立如下方程組:
(6)
對上述方程組進行求解即可得到相機內(nèi)外參數(shù).
圖2 魚眼矯正前后圖像對比Fig.2 Image comparison before and after fisheye correction
在圖像的魚眼矯正部分使用局部保持的矯正模型,該模型是基于Carroll算法[12]實現(xiàn)的.其原理如下: 將棋盤格中的角點信息以直線形式保存,通過建立半球投影模型計算這些直線投影在半球面上的對應位置坐標.將獲得的球面坐標與原角點坐標建立映射關系,再對具有桶型畸變的圖像進行逆映射獲得矯正后的圖像.魚眼矯正效果如圖2所示.圖2(a)為魚眼攝像頭拍攝到的黑白網(wǎng)格圖像,可見未經(jīng)矯正的圖像存在嚴重的桶形畸變,圖像邊緣失真嚴重.經(jīng)魚眼矯正后圖像如圖2(b)所示,黑白網(wǎng)格線已經(jīng)矯正為直線,且畫面無撕裂,完整度較好.將矯正后的4副圖像作為該模塊的輸出.
圖像投影模塊通過圖像獲取及矯正模塊獲取圖像輸入,根據(jù)駕駛模式的不同分為柱面投影單元和俯視投影單元.
圖3 柱面投影示意圖Fig.3 The cylindrical projection diagram
2.2.1 柱面投影單元
(7)
圖4 柱面投影前后圖像對比Fig.4 Image comparison before and after cylindrical projection
利用獲得的像素映射關系和雙線性插值法對原始圖像進行柱面投影,投影效果如圖4所示.圖4(a)為魚眼矯正后的圖像,圖像顯示清晰且視野范圍大,經(jīng)投影變換后效果如圖4(b)所示,原平面圖像被映射至柱面上,圖像中無重影,圖像信息保存完好.將投影后的圖像作為柱面投影模塊的輸出.
2.2.2 俯視投影單元
(8)
其中: Δx1=x1-x2;Δx2=x3-x2;Δx3=x0-x1+x2-x3;Δy1=y1-y2;Δy2=y3-y2;Δy3=y0-y1+y2-y3.
矩陣[u,v,w]中(u,v)表示原始圖像的像素點坐標,(x=x′/w′,y=y′/w′)表示經(jīng)過投影變換后的像素坐標,將原始圖像的4角坐標變換帶入上述方程式(8)即可求解出變換矩陣的參數(shù),再將變換矩陣與原始圖像進行矩陣相乘就可計算出變換后的圖像.俯視投影效果如圖5.圖5(a)中靠近攝像頭部分圖像失真較小,但在遠離攝像頭部分圖像被拉伸,失真較為嚴重.由于俯視投影對應的汽車行駛狀態(tài)為低速泊車模式,故遠距離圖像信息重要性較低,可以直接去除.經(jīng)過俯視投影變換后圖像如圖5(b)所示,在圖像中靠近攝像頭近距離畫面被完整保存,且無畸變,剪切遠距離畫面部分后將該圖像作為俯視投影單元的輸出.
圖5 俯視變換前后圖像對比Fig.5 Image comparison before and after the top view
圖像融合模塊以圖像投影模塊的輸出作為模塊輸入,主要由柱面圖像融合單元和俯視圖像融合單元組成[13-23].
2.3.1 柱面融合單元
在汽車處于前向高速行駛模式時,調(diào)用柱面圖像融合單元,將4路柱面投影效果圖進行圖像融合.在圖像重疊區(qū)域,圖像融合的效果好壞是根據(jù)2幅圖像的灰度值過渡是否平滑決定的,傳統(tǒng)的加權平均融合法將2幅待拼接圖像的權重設置為固定值,這導致了融合圖像由于拍攝角度不同造成明顯的拼接縫隙.考慮到與拼接縫距離越近的像素點灰度調(diào)整的越多,距離越遠則情況相反,針對此種情況,本文提出一種指數(shù)加權融合算法.指數(shù)加權融合計算公式如下:
(9)
(10)
這里:w1,w2分別代表待處理的圖I1和圖I2的拼接權重;(xmin,xmax)代表圖I1和圖I2的重合區(qū)域.根據(jù)式(9)和(10),圖I1的拼接權重w1在重合區(qū)域內(nèi)從1至0平滑下降,而圖I2的拼接權重w2情況相反,達到圖I1和圖I2拼接塊的自然過渡.
設I為融合圖像,I1和I2分別為參考圖像和待拼接圖像,則圖像I在點(x,y)處的像素值可由式(11) 求得:
(11)
其中R1,R2分別代表參考圖像和待拼接圖像中未參與配準的區(qū)域.圖6為指數(shù)加權平均融合法示意圖,在該圖中橫坐標表示在拼接圖像中像素位置,縱坐標表示待拼接圖像在對應的權值大小,2幅圖像權重在圖像重合區(qū)域平滑變化.
柱面全景融合示意圖如圖7所示,將4幅圖像按照前右后左順序依次排列,在虛線框位置復制第1幅圖像,由此完成5幅圖像的融合,將融合后圖像按黑框部分進行裁剪.最終融合效果如圖8所示,可見融合后在圖像融合區(qū)域無明顯拼接縫,且圖像顯示完整,融合效果較好.
圖6 指數(shù)加權平均融合法示意圖Fig.6 Schematic diagram of exponential weighted average fusion method
圖7 柱面圖像拼接示意圖Fig.7 Cylindrical image mosaic
圖8 拼接效果圖Fig.8 Stitching effect diagram
圖9 全景環(huán)視圖像融合結(jié)果Fig.9 Result of panoramic view image fusion
2.3.2 俯視融合單元
在汽車處于低速行車模式時,輸入圖像至俯視圖像融合單元,同樣使用指數(shù)加權平均融合法對4路俯視投影圖像進行圖像融合.在此模塊中融合區(qū)域不再是長條形拼接帶,而是4塊錐狀區(qū)域,因此在融合邊界計算時需保存4塊區(qū)域的邊界直線信息.圖像拼接時處于圖像融合區(qū)域內(nèi)的像素點需計算該點坐標與所處拼接區(qū)域邊界直線的垂直和水平距離,根據(jù)這兩段距離分配拼接圖像的像素值權重,拼接完成后在圖像中心區(qū)域貼上小車圖片代表模型小車位置.圖像融合效果如圖9所示,可觀察到在靠近小車的區(qū)域圖像清晰,無明顯拼接縫,實現(xiàn)了俯視圖像的無縫融合.
模式轉(zhuǎn)換模塊處于圖像獲取及矯正模塊之前,利用調(diào)整攝像頭的位置獲取不同方向的車身環(huán)境圖像,該模塊通過檢測車輛車輪轉(zhuǎn)速n及車輪轉(zhuǎn)向角度α進行行車狀態(tài)的判定.
該模塊具有實時檢測汽車行駛狀態(tài)并及時切換輔助駕駛模式的能力,能自適應復雜路況.圖像獲取及矯正模塊與圖像投影模塊在結(jié)構上相互獨立,且通過模式轉(zhuǎn)換模塊進行選擇連接,達到根據(jù)不同的行車模式將矯正后的圖像輸出至圖像投影模塊和圖像融合模塊的相應單元,并最終在車載顯示器上顯示融合后的全景圖像.
為了驗證該系統(tǒng)設計的正確性和合理性,模型小車作為系統(tǒng)載體進行系統(tǒng)實驗,本系統(tǒng)實驗的硬件平臺包括Zedboard開發(fā)板,車載顯示器等.系統(tǒng)整體硬件框架圖如圖10所示,4路魚眼攝像頭通過舵機安裝在模型小車的前后左右4個方向,將4路攝像頭通過USB HUB連接至開發(fā)板進行車身環(huán)境信息的實時傳輸,開發(fā)板進行運算后將融合后的全景圖像輸出至車載顯示器顯示.
本系統(tǒng)使用Zedboard開發(fā)板進行測試,運行環(huán)境為Linux,版本為Ubuntu 12.04,編譯器為arm-linux交叉編譯.Zedboard開發(fā)板的實物圖如圖11所示.
圖10 系統(tǒng)硬件框架圖Fig.10 System hardware framework
圖11 Zedboard開發(fā)板Fig.11 Zedboard development board
首先在Zedboard開發(fā)板上裝載Linux操作系統(tǒng);其次將本文設計的多模式車載全景顯示系統(tǒng)的程序運行環(huán)境在開發(fā)板上進行配置;最后將程序進行移植和測試,至此完成程序運行環(huán)境的搭建.
本文利用模型小車來模擬汽車的行駛狀態(tài),在車身前后左右安裝4路魚眼攝像頭獲取車身環(huán)境圖像,攝像頭通過舵機與車身連接,利用USB串口將圖像信息傳送至開發(fā)板中圖像獲取及矯正模塊,該模塊接受視頻信息后將視頻分解為幀圖像.
首先對魚眼攝像頭進行標定,將攝像頭對準黑白棋盤格進行拍攝,采集棋盤角點信息并儲存,建立世界坐標系至圖像坐標系的映射函數(shù)模型,將角點信息輸入模型中對模型參數(shù)進行計算并獲得攝像頭參數(shù)矩陣.在圖像獲取及矯正模塊中利用攝像頭參數(shù)矩陣對獲取的視頻幀圖像進行魚眼矯正.
將車輪轉(zhuǎn)速初值設定為調(diào)8r/s,車輪轉(zhuǎn)向角度定義為0,即將汽車行駛狀態(tài)設置為高速行車模式.舵機根據(jù)行車模式將位置調(diào)整使攝像頭光軸與地面平行.視頻幀圖像矯正后輸入柱面投影單元.在該單元中對輸入4路圖像應用柱面投影模型,獲取4路柱面投影后的圖像.再將柱面投影后圖像輸入柱面圖像融合單元,在該單元中對圖像應用柱面圖像融合模型,最后將融合后的圖像通過HDMI接口輸出至顯示器顯示.
將車輪轉(zhuǎn)速初值設定為0r/s,即將汽車行駛狀態(tài)設置為低速行車模式.此時舵機根據(jù)行駛狀態(tài)調(diào)整位置使攝像頭向下轉(zhuǎn)動45°,魚眼攝像頭光軸與地面呈斜向下45°夾角拍攝車身近距離環(huán)境信息.視頻幀圖像經(jīng)矯正后輸入俯視投影單元,獲取俯視投影后的圖像,接著輸入至俯視圖像融合單元,應用俯視圖像融合模型對圖像進行融合,最后融合后的圖像通過HDMI接口輸出至顯示器顯示.
圖12 行車模式下的模型小車Fig.12 Model car in driving mode
將模型小車放置在地面上,使小車處于雜亂的環(huán)境中,有利于檢驗圖像融合的效果.將汽車行駛狀態(tài)設置為行車模式,具體實驗環(huán)境如圖12所示,此時安裝在小車四周的魚眼攝像頭經(jīng)舵機調(diào)整為水平狀態(tài),攝像頭拍攝車身中遠距離環(huán)境圖像信息,并實時將圖像信息輸送至開發(fā)板,開發(fā)板處理后在顯示器上輸出.在行車模式測試中顯示屏上獲得的輸出圖像如圖13所示,4路圖像經(jīng)柱面投影和柱面融合模塊處理后輸出為全景環(huán)視圖像,可以看到4副圖像的交界處過渡自然,無明顯拼接縫,畫面清晰,顯示效果較好.
圖13 行車模式下輸出的全景環(huán)視圖Fig.13 Output of panoramic ring view in driving mode
切換模式為低速行車模式,為增加顯示效果,在小車下放置一塊圖案復雜的背景.實際實驗環(huán)境如圖14 所示,安裝在小車周圍的4路魚眼攝像頭通過舵機調(diào)整角度為斜向下45°,拍攝車身近距離圖像,獲取的圖像信息輸送給開發(fā)板進行圖像處理,并最終通過顯示器顯示.顯示屏上獲得的輸出圖像如圖15所示,圖像中間部分貼上模擬小車圖片表示模擬小車位置,在該圖中靠近小車周圍的圖像顯示清晰,無明顯拼接縫,顯示效果較好.
可見在模擬不同的行車模式時,該系統(tǒng)可以成功實現(xiàn)輔助模式的自動切換,即控制舵機旋轉(zhuǎn)來調(diào)整輸入圖像,并根據(jù)行車的模式選擇對應的圖像處理方式,最終輸出了清晰、準確的車身周圍圖像,獲得了較好的觀看效果,達到實驗預期目標.
圖14 泊車模式下的小車實物圖Fig.14 Cart physical map in parking mode
圖15 泊車模式下輸出全景環(huán)視圖Fig.15 Output of panoramic ring view in parking mode
對于輔助駕駛系統(tǒng)而言,系統(tǒng)處理時間是一項重要的性能指標.本文所設計的多模式車載全景顯示系統(tǒng)完成4幅圖像校正及拼接的總處理時間為70ms,幀率為14f/s,基本滿足高速車輛行駛的處理時間要求;并且與目前主流的幾種拼接算法,例如: 文獻[21-23]針對分辨率,拼接時間,系統(tǒng)處理時間以及使用的硬件平臺進行了對比.對比結(jié)果如表1所示.
表1 不同拼接算法的性能對比
本文提出的多模式拼接算法的能夠拼接分辨率為VGA的圖像.文獻[21-23]以普通PC機為算法平臺,其處理時間均大于幾百ms,即處理幀頻小于10f/s.本文提出的算法移植到Zedboard硬件平臺上,其拼接處理時間僅為70ms,幀頻約為14f/s,該套拼接系統(tǒng)可以作為車載設備使用.
本文根據(jù)汽車在不同路況下車輪轉(zhuǎn)速及車輪轉(zhuǎn)向角度的不同設計并實現(xiàn)了可自動切換輔助視角的多模式車載全景顯示系統(tǒng),該系統(tǒng)可根據(jù)汽車行駛狀態(tài)切換輔助駕駛模式.在車輪轉(zhuǎn)速高且車輪轉(zhuǎn)向角度小時調(diào)整魚眼攝像頭拍攝中遠距離圖像,并最終輸出柱面全景環(huán)視圖.車輪轉(zhuǎn)速小或車輪轉(zhuǎn)向角度大時,該系統(tǒng)能及時調(diào)整攝像頭角度,實時拍攝近距離環(huán)境信息,最終輸出俯視全景圖像.該系統(tǒng)能實時根據(jù)行駛狀態(tài)提供駕駛員不同的輔助駕駛視角,徹底消除駕駛過程中的視覺死角.在未來的應用方面,使用性能更強的芯片和攝像頭能夠有效地增強系統(tǒng)的顯示效果,這都將極大地提高本系統(tǒng)對駕駛員的輔助效果.