輔助駕駛:基于圖像傳感器的汽車全景環視系統
背景
1.1概述
汽車是現代社會最為有效、使用最為廣泛的交通工具之一,是維持人們正常生活工作所不可或缺的一部分。然而,汽車的大量涌現,日益頻繁的交通堵塞和交通事故,嚴重影響到人們日常生活的方便和工作的效率,甚至危害到人們的生命安全。研究分析表明,每個交通事故均不同程度地涉及到駕駛員、汽車和道路環境因素,而與駕駛員因素有關的事故約占九成,駕駛員的人為失誤已經被公認為是交通事故的主要原因。如何減少“人”在交通系統中發揮的不確定因素,已經成為汽車安全領域研究的重點。通過先進的技術手段增強駕駛員感知能力,甚至替代部分駕駛任務,為車輛提供日益完善的安全預警和輔助駕駛功能,逐步實現車輛的智能化,并最終走向完全無人駕駛的智能車輛,必將是解決交通安全問題的根本途徑。
隨著圖像處理和計算機視覺的快速發展,越來越多的先進技術被應用到汽車電子領域,傳統的基于圖像的輔助駕駛只在汽車車尾安裝倒車攝像頭,只能覆蓋汽車周圍的有限區域,而車兩側和前方的視覺盲區無疑增加了安全駕駛的隱患。
我們具有自主知識產權的車載全景視覺技術是將分布安裝于車輛周邊的圖像傳感器捕捉的圖像進行合成和投影,在人機界面虛擬一個單一的全景圖像,并且這個圖像時無盲區的,能夠360°的觀察車身周邊的狀況。同時,這個圖像經過合成和投影,形成符合人的思維習慣的全景圖像。
1.2研究現狀
車載傳感器類型如表1所示,在這其中,全景視覺傳感器技術受到越來越多的關注,并成為車載電子裝置未來發展的主要方向。屬于視覺感知技術之一的全景視覺傳感器技術是智能感知交通環境重要的技術手段,它可以全方位、全天候、全時段地監視、分析和記錄車內外的情況,為報警系統、控制系統和安全避讓系統提供最直觀的狀態信息,也為車輛和乘員的安全保護提供了事前告之、過程記錄和事后重現的技術手段。特別是在復雜的道路環境下,通過全面的視覺技術,可以使駕駛者的觀察得以延伸和擴大,真正做到“眼觀六路”,掌控全局。
車載全景視覺傳感器分為兩種,即把拍攝的圖像提供給駕駛者觀看的“顯示用視覺傳感器”,以及把拍攝的圖像傳送至計算機進行處理的“處理用視覺傳感器”。 車載全景視覺傳感器今后的發展趨勢有如下幾個方面:
(1)處理用視覺傳感器的迅速普及;
(2)處理用視覺傳感器的多功能化;
(3)顯示用視覺傳感器和處理用視覺傳感器的融合。
表1:各種行駛傳感技術的比較
行駛傳感技術 | 技術特點 | 缺點 | 探測范圍 |
超聲波 | 成本低、探測精確。 | 范圍小、受雨雪影響。 | 5m |
脈沖雷達 | 測量距離遠、精確。 | 波束窄,只適合前后盲區探測。 | >100m |
多普勒雷達 | 測量距離遠、測量精確、可多天線矩陣配合使用。 | 系統復雜、成本高。 | >100m |
射頻標識 | 互相通知位置、成本低,系統可靠。 | 必須為每個設備、人裝備發射標識,使用不方便。 | >100m |
全景系統 | 360度全景、直觀(非量化信息)有效性高、有良好的人機界面、便于再現重放。 | >100m |
在BMW和NISSAN的高端車型上,已經開始使用多個攝像頭來輔助駕駛員的操作和泊車,在VOLVO的XC60,XC90等概念車型上,已經開始使用圖像識別技術來輔助駕駛人員的并線和巡航操作。在LEXUS的部分概念車型上,也有使用單目攝像頭來進行簡單的自動泊車的演示系統。
根據第三方的市場研究公司 Techno Systems Research (TSR) 的研究指出,在 2008 年時約有 20% 的新車配備整合式攝影機,而到了 2012 年時預計將增加到接近 70%,并且會有很大比例新車安裝至少2個以上攝像機,車用視頻裝置即將成為各類車輛的主流配置。
表2:已采用視覺感知技術的汽車領域應用比較
形態 | 廠商 | 功能 | 技術含量 | 備注 | |
低端產品 | 倒車后視鏡 | 眾多小品牌 | 后方視頻 | 低 | 產品成熟 |
中低端 產品 | 倒車可視系統 | 國內的銀聲、 合正等 | 后方視頻 雷達測距 GPS | 低 | 產品成熟 |
中高端 產品 | 倒車可視系統 車載多媒體 | 常見于高端車型 | 后方視頻(側方視頻) 多媒體功能 GPS | 低 | 產品成熟 |
研發類 產品 | 夜視和行人檢測 | 豐田 | 夜視攝像頭提供紅外圖像,通過紅外攝像頭頭實現行人,動物檢測 | 較高 | 研發階段 |
可視全景系統 | 日產汽車 松下電器 三洋電機 | 多攝像頭實時視頻合成無盲區全景俯視圖 | 高 | 研發階段 | |
主動駕駛輔助系統 | 富士重工 | 通過雙目攝像頭主動探測前方行人,車輛,障礙的距離,以攝像頭模擬人眼。 | 高 | 研發階段 |
圖像能夠提供給使用者最直觀高效的輔助信息。人類大腦的模糊思維和判斷能力決定了,人隨意掃視圖像所獲得的信息量和信息準確性遠遠大于費力地觀察若干儀表所能得到的信息量和信息準確性,并且圖像方式得到的信息更加直觀可靠。如表2所示,可以預見在不遠的將來,基于全景視覺傳感器技術和圖像識別技術來實現輔助駕駛和安全功能的系統將廣泛應用于各類車輛,進而成為無人駕駛汽車和智能導航系統的關鍵技術。
本設計的最終目標就是要給出基于FPGA技術來構架SOC實現的以全景視覺處理為基礎的汽車環視系統。通過4路廣角攝像頭實時采集數據,并將采集到的4路視頻數據進行預處理和配準拼接等一系列處理實現360度的實時全景視覺圖像,并通過VGA顯示器進行顯示。
研究方法和技術路線
在系統構成方面,系統主要分為三個部分,圖像采集、圖像處理及顯示。圖像的采集是使用4路模擬攝像頭,通過自行設計的視頻采集電路板接入圖像,并通過DMA將實時圖像數據搬到存儲器中。這里采用了NTSC制式的模擬攝像頭,攝像頭的性能和顯示效果一般。我們的研究重點是采用更加高效的算法和設計思路,在目前有限的資源條件下,最大限度的利用資源以達到最佳的設計和顯示效果。
圖像處理部分是采用基于區域匹配的圖像合成算法,將采集到的圖像數據進行相關的算法操作,并最終通過顯示部分呈現出經過合成算法處理后的全景圖像。在對現有算法的研究基礎之上,我們對現有算法進行了改進,設計出了適合現有設計平臺及資源的更加高效的算法,并且還對算法較為耗時的部分進行了硬件化處理,使圖像處理部分的性能達到最高。
本系統對顯示部分采用了硬件實現,直接將圖像的顯示通過硬件直接處理,為耗時更多的圖像處理部分節約出更多的CPU資源,以使整個系統的效能達到最優。
系統的實現是在實驗室環境下,使用了xilinx公司的Vertex-5 FPGA平臺,充分利用和發揮其資源以及FPGA在硬件開發方面的優勢,在小車模型基礎上進行視頻合成,圖像分析的研究和實現,并搭建相應的模擬仿真環境,進行圖像處理和分析算法的設計和驗證,對獲取的圖像和視頻進行進一步的學習和分類,并根據分類的結果對算法的參數進行分類和調整,在實際應用過程中,系統將根據實際條件自動調節算法的參數,分路況對系統進行測試,并根據實際測試的結果不斷反饋,從而繼續改進和優化算法,直到系統達到最終的效果。
設計結構

圖1系統整體設計結構圖
系統的原理主要根據系統的整體結構進行劃分,如圖1所示,系統整體分為圖像采集部分、圖像處理部分和顯示控制部分。
圖像采集部分
圖像采集部分采用自行設計的視頻采集電路板,視頻數據通過Vertex-5的GPIO接口接入,通過一個自行設計的硬件BT656解碼器,將圖像數據幀的純數據提取出來,然后由DMA將其搬入到Vertex-5平臺的DDR2 SDRAM中。整個采集過程是由硬件獨立完成,僅在系統的上電初始化階段由CPU參與,在后續的圖像傳輸過程中數據流可以獨立運行。

圖2視頻采集結構圖
接入FPGA后的數據處理如圖3所示,經過轉化和解碼后的視頻數據首先接入FIFO中,并由DMA從已經自行設計的流接口控制模塊將FIFO中數據搬入DDR2_SDRAM中,后面將由Macroblaze軟核對圖像數據進行處理。
圖像處理部分
圖像處理部分基于Macroblaze軟核并結合用戶自定義設計模塊進行。圖像處理的工作主要由自定義設計的模塊完成,本設計中,由于涉及到多路圖像的處理操作,數據吞吐量和處理工作都比較巨大,僅靠Macroblaze處理器很難完成預定的運算量,因此,本設計的一個特點在于,將定制大規模的圖像加速處理自定義硬件模塊,以完成對圖像處理的操作。
其中Macroblaze主要負責進行外設的管理配置,數據流控制,以及顯示交互控制。圖像的采集、預處理部分的工作,需要將視頻視頻解碼并由DMA將傳輸入視頻數據搬入DDR2 SDRAM中。

圖3. 系統軟件流程圖
如圖3所示為系統的軟件流程圖,其中標紅的部分為待選擇完成的內容,今后將對這幾部分進行實現,視頻的合成算法研究是本系統最終實現的部分。圖像的合成算法采用了基于區域匹配的合成算法,本算法在對兩幅圖像之間的邊緣處理上具有很高的擬合特性,與基于特征點匹配的合成算法相比,圖像的邊緣痕跡更加的淡化,圖像的合成效果更佳。
顯示控制部分

圖4 通過PC模擬算法的顯示效果
圖4為在PC機上執行算法后的圖像顯示效果。圖像最終通過Vertex-5的DVI轉接VGA接出,后續的工作還將采用觸屏VGA顯示器,以提高產品人機交互的易用性和友好性。
系統實施與測試
視頻采集部分
1、視頻采集部分的PCB設計
視頻采集電路板的設計工具為Cadence 16.3,主芯片采用了TVP5150,電路板接入了六路模擬視頻圖像,我們在本系統中僅使用了其中的4路,另外的兩路是本系統在針對大型作業車輛而設計增加的額外的攝像頭。下圖為采集板的設計原理圖:

圖5 視頻采集電路板原理圖
視頻的A/D轉換部分
此部分選用了六個TVP5150芯片進行視頻解碼。由于其使用簡易,超低功耗,并且封裝極小,因此被廣泛使用。
此部分的設計原理圖如下:

圖6 TVP5150解碼芯片原理圖
電源部分
電源部分的供電主要有3.3V和1.8V。電源芯片采用了X1117芯片,原因上面已經講過了,在這里就不再贅述了。原理圖如下:


圖7 電源芯片
外圍接口及時鐘
根據TVP5150芯片資料,時鐘采用了14.31818MHz的時鐘芯片。為了保證芯片的時鐘供應的穩定性,設計中采用了3片時鐘芯片,每兩片共用一個時鐘芯片,以保證芯片的工作穩定性。
外圍接口和時鐘原理圖如下:

圖8 時鐘芯片原理圖


圖9 與Vertex-5平臺連接接口定義原理圖
本系統的電路板采用了4層板設計,布局布線后的效果如圖6所示。

圖10 視頻采集電路板布局、布線圖
最終電路板的實物圖如圖7所示。

圖11視頻采集電路板實物圖
2、頻數據的采集
這個部分又可以分為兩部分:1、視頻采集電路、數據格式轉換及緩沖區的設置。2、Microblaze軟核,具體的Microblaze系統結構如圖12所示。

圖12. Microblaze系統結構圖
如圖4所示,攝像頭采集到的數據首先通過A/D芯片,將模擬信號轉換為BT656標準的數字信號,這里的信號主要有8位數據線、27MHz的輸出時鐘、行同步信號(HS)和場同步信號(VS)。經過轉換模塊將數據轉換為去消隱后的BT656標準的數據,這里的輸出信號為16位數據信號和寫使能信號。

圖13. TVP5150芯片視頻編碼格式

圖14. ITU-656視頻格式
然后寫入到讀寫時鐘異步的FIFO中,FIFO與流控模塊FIFO_ST相連。后續的數據搬移操作就由DMA來進行了。
數據的采集處理方式,采用了DMA + FIFO的方式,由于視頻采集的數據量較大,這里更適合采用流傳輸模式。因此,此部分使用了適合進行流數據傳輸和搬移的DMA。
圖像處理與顯示
由于Microblaze軟核的主頻運行速率最快只能達到200MHz,在其上運行視頻合成算法每秒不到1幀,因此,我們將原有的算法在PC機上運行,并生成相應的數據合成映射表,為了提高查表效率,還將大表分解為小表,使查表速率得到了一定的提升。但是此時系統的運行速率依然不能滿足顯示要求,所以,我們充分發揮了FPGA的優勢,將查表模塊進行了硬件化實現,最終達到了顯示的要求。
結論
本系統按照預期的計劃,完成了既定的任務和目標。充分發揮了FPGA平臺的優勢,并且在這個過程中我們也解決了很多技術難題:通過自行設計的視頻采集電路板,解決了Vertex-5的多路視頻接入的問題;解決了大量數據的搬移和處理問題;設計改進了現有的圖像合成算法,并加以硬件實現提高了系統的性能。但在顯示效果和運行速率上仍然有提升空間,在后續的工作中我們還將加入車道線識別、并線輔助、自動剎車等功能,不僅如此,還有可能對現有設備再進行進一步的升級,將原有的模擬攝像頭更換為數字攝像頭,以達到更好的效果。














評論