新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA+DSP的智能車全景視覺系統(tǒng)

基于FPGA+DSP的智能車全景視覺系統(tǒng)

作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

基于單相機的是利用凸面鏡反射四周圖像進行定位,在計算資源有限時是一種較好的選擇,且視覺導(dǎo)航等方向的應(yīng)用也成為一種最實用的方法[1-2],這種方案雖然視野開闊,但獲取的信息有限,真實的系統(tǒng)中很難應(yīng)用。隨著芯片計算能力的不斷提高,基于多通道的已逐漸成為可能。本文介紹的智能車多通道全景視覺是指以觀測點為中心,多個相機可同時觀測車輛的前中、前左、前右、后左、后右和頂上6個方向的景物。該系統(tǒng)中的6臺數(shù)字相機中5臺分布在車輛的側(cè)面,1臺在頂部,可以得到車輛周圍全景360°的圖像。該系統(tǒng)每個相機的分辨率為百萬像素,即1 280×1 024,幀率為30 f/s,即便圖像為8 bit單色,系統(tǒng)的總數(shù)據(jù)率也高達200 MB/s以上。同時,6個相機圖像需要預(yù)處理,投影到同一坐標系,或者拼接成單幅完整圖像才能滿足智能車導(dǎo)航系統(tǒng)的要求,這些涉及到大量復(fù)雜計算。針對這些要求,該系統(tǒng)的硬件處理部分利用了DSP和FPGA芯片各自的特長,選用高速DSP+FPGA[3-6]的方案,而DSP方案也是海量圖像處理中普遍應(yīng)用的[7]。高性能通用C6416 DSP芯片,配合FPGA進行高度并行數(shù)據(jù)處理,可實現(xiàn)高速實時的視覺圖像處理。這種方案的優(yōu)點在于,不僅可以利用DSP的高速處理能力,同時利用FPGA的控制能力和在高度并行化數(shù)據(jù)處理方面的優(yōu)勢,相比其他方案更容易滿足所需要的高度實時處理。

1 系統(tǒng)總體方案設(shè)計

為適合高速圖像采集,本系統(tǒng)選用CMOS傳感器,CMOS的一個優(yōu)點是數(shù)據(jù)讀取速度快。系統(tǒng)由高速CMOS相機、基于CamLink技術(shù)的圖像讀取、的圖像處理三部分構(gòu)成,如圖1所示。從圖1可以看出,該系統(tǒng)有兩片F(xiàn)PGA,圖像讀取模塊中的FPGA1負責從CMOS相機抓圖和通訊控制,F(xiàn)PGA2則輔助兩片DSP進行高速圖像處理,實現(xiàn)同時對6個相機圖像的實時處理。

邏輯控制芯片F(xiàn)PGA1選用XILINX公司的XC3S1000LFG456作為視頻數(shù)據(jù)采集控制芯片,該芯片是Spartan3低功耗系列的一種,具有1 M個邏輯門,24個18×18乘法器及豐富的片上存儲空間,足夠進行視頻采集的同步邏輯控制。并行計算FPGA選用XILINX公司Virtex-4系列中的XC4VFX60-FF1152,內(nèi)部有4 Mbit RAM,56 880個邏輯門和128個XtremeDSP模塊,足夠進行大量高速數(shù)據(jù)處理,特別是片上18 KRAM模塊工作在500 MHz,支持真正的雙端口讀寫同步操作,為該芯片作為芯片間高速數(shù)據(jù)交互提供了資源。2個協(xié)處理DSP芯片為TI公司高性能C6416,擁有8個并行處理單元,工作頻率為600 Hz,最高處理速度可達4 800 兆指令/秒(MFLOPS)。

本文引用地址:http://m.butianyuan.cn/article/201706/349210.htm

系統(tǒng)設(shè)計采集圖像大小為1 280×1 024像素,最高速度可達每相機60 f/s的實時采集。6路攝像頭輸出的數(shù)字視頻信號經(jīng)過FPGA1進行同步分離后,進入輸入端高速數(shù)據(jù)緩沖區(qū)。系統(tǒng)采用兩片ZBT SRAM進行乒乓數(shù)據(jù)采集,當一幀圖像采集完,F(xiàn)PGA1通知FPGA2進行數(shù)據(jù)轉(zhuǎn)移,F(xiàn)PGA2將數(shù)據(jù)預(yù)處理后由DSP經(jīng)EDMA保存到SRAM后等待進一步處理。

2 多通道數(shù)字圖像采集

由于智能車的目標是在公路上行駛,該系統(tǒng)需要處理場景中快速運動的物體,要求圖像采集模塊必須足夠快地從相機轉(zhuǎn)移出幀數(shù)據(jù),以便對快速運動的物體軌跡進行記錄,因此,相機模塊的處理速度是決定該系統(tǒng)是否達到要求的重要一環(huán)。由于相機技術(shù)的快速發(fā)展,已經(jīng)能從市面上買到足夠快的傳感器來捕獲高速運動的物體,如車輛。

2.1 圖像抓取模塊

MT9M413是一種分辨率為130萬像素1 280×1 024的CMOS傳感器,最高可實現(xiàn)500 fps的采集速度。而MT9M413內(nèi)部集成有10 bit A/D轉(zhuǎn)換器,可直接輸出3.3 V的數(shù)字信號,無需電平轉(zhuǎn)換電路,簡化了系統(tǒng)的設(shè)計。MT9M413可以工作在灰度或彩色模式下,但是卻需要不同的偏置參考電壓,兩片數(shù)模轉(zhuǎn)化芯片DAC6573用于生成該偏置電壓。圖2給出了相機模塊的框圖。

高速相機模塊主要包括以下三部分:
(1)傳感器部分:包括高速像素時鐘下的光電信號轉(zhuǎn)換傳感器。

(2)信號分離:預(yù)先編寫好在FPGA1內(nèi)部的程序,用來產(chǎn)生傳感器模塊和數(shù)據(jù)接口所需要的控制信號。

(3)接口板:將數(shù)字信號轉(zhuǎn)換成高速LVDS信號對,并從主處模塊接收控制信號。

該模塊的三個部分通過高速Samtec連接器(QTH-090-01-L-D-A)連在一起,以增加系統(tǒng)的靈活性。主處理板與高速相機模塊間采用CamLink協(xié)議連接,以滿足系統(tǒng)很高的帶寬。根據(jù)采集圖像的大小、幀率和數(shù)據(jù)位精度,CamLink電路可配置成基本、中等、全幅3種模式,由FPGA1中的程序控制。FPGA1的另一個任務(wù)是進行視頻信號的同步、通知FPGA2設(shè)置參數(shù),如視頻開窗、幀率、曝光時間等。

2.2 FPGA控制模塊

系統(tǒng)的邏輯控制芯片是FG456,其主要工作是控制輸入/輸出幀存,以便通知主處理芯片及時將存在ZBT SRAM中的圖像數(shù)據(jù)讀出,片上可編程時鐘PLL用來產(chǎn)生驅(qū)動該FPGA所需的不同時鐘,F(xiàn)PGA內(nèi)部的計數(shù)器通過改變加法器不同的進位信號控制采集圖像的大小。
FPGA1接收到來自CMOS傳感器的視頻同步信號后,開始將原始像素數(shù)據(jù)按照CamLink協(xié)議打包通過高速Semtec連接器送到下一個模塊中的FPGA2。

2.3 ZBT-RAM中的數(shù)據(jù)乒乓

系統(tǒng)設(shè)計的視頻信號采集能力是,從CMOS采集到1 024×1 024大小的數(shù)字圖像,并通過兩片Zero-bus turnaround(ZBT) SRAM作為數(shù)據(jù)乒乓的幀緩存,ZBT SRAM沒有總線延遲,不需像DDR那樣必須通過FIFO進行管理。ZBT SRAM為系統(tǒng)提供了最大的吞吐量,從而提供了最大的系統(tǒng)帶寬[8-9]。為保證系統(tǒng)的高速性能,F(xiàn)PGA1的3個內(nèi)部時鐘管理模塊DCMs用來產(chǎn)生ZBT-RAM需要的時鐘,一個為控制時鐘,另外兩個為視頻輸入的banks的信號。系統(tǒng)中的兩片1 M×36 bit ZBT SRAM,每片ZBT SRAM可同時接收兩路視頻的滿幀數(shù)據(jù)采集。如果兩路信號都為60 f/s,則每秒采集120 MB數(shù)據(jù),而ZBT SRAM的工作頻率為250 MHz,最大數(shù)據(jù)吞吐為4.5 GB/s,完全滿足數(shù)據(jù)采集速度系統(tǒng)的要求。

3 芯片間通信

多芯片協(xié)處理系統(tǒng)中最重要的一個方面就是芯片間數(shù)據(jù)通信的效率,該效率直接影響系統(tǒng)的運行效率。而數(shù)據(jù)延遲和傳輸帶寬,是最值得關(guān)注的兩個方面。本系統(tǒng)采用多種方式進行數(shù)據(jù)傳輸,提高了系統(tǒng)的靈活性。

3.1 FPGA2與DSPs間的數(shù)據(jù)通信

根據(jù)應(yīng)用特點和系統(tǒng)接口,本系統(tǒng)采用兩種方式連接FPGA和DSP:32 bit EMIF-A and McBSP0。選用32 bit EMIF-A作為DSP與FPGA間進行高速數(shù)據(jù)通信主要原因是傳輸速率高,可充分利用TMS320C6416內(nèi)EDMA方式傳輸數(shù)據(jù)的優(yōu)點。如圖3所示。

FPGA內(nèi)部的EMIF FIFO接口模塊用于轉(zhuǎn)換DSP的EMIF信號,將數(shù)據(jù)轉(zhuǎn)移至接收FIFO。當接收滿一幀數(shù)據(jù)后,F(xiàn)PGA的計算內(nèi)核開始從該接收FIFO獲取數(shù)據(jù)并處理,然后將處理完的數(shù)據(jù)寫到發(fā)送FIFO。發(fā)送FIFO數(shù)據(jù)滿時,啟動DMA中斷將數(shù)據(jù)傳送到DSP片內(nèi)Cache。由于該EMIF-A是工作在133 MHz的32 bit總線,峰值數(shù)據(jù)率可達532 MB/s。

FPGA2與DSPs間的第二種通信方法是McBSP(Multichannel Buffered Serial Port),兩個DSP的McBSP0連到FPGA。McBSP是一種全復(fù)用串行口,工作頻率為125 Mb/s。進行串行通信時,具有獨立的幀同步FSX,F(xiàn)SR和位同步時鐘CLKX、CLKR,提供系統(tǒng)時鐘信號為CLKS。在從模式下,可由外部時鐘驅(qū)動,主模式下可由McBSP采樣時鐘驅(qū)動。接收和發(fā)送也很簡單,各需要一個數(shù)據(jù)線:DR,DX。McBSP通信協(xié)議簡單,可節(jié)省FPGA的資源。

3.2 兩片DSP間的數(shù)據(jù)通信

兩片DSP之間的通信也有兩種通信方式。第一種通信是通過McBSP接口。為了獲得最大的數(shù)據(jù)傳送率,將兩片DSP的McBSP1和McBSP2連接起來,這樣每個DSP可以做為時鐘主控和幀主控。換句話說,同一片DSP的一個McBSP接口作為主控在通信時產(chǎn)生數(shù)據(jù)發(fā)送時鐘和幀同步時鐘,同時另外一個接口作為從控等待控制信號以接收數(shù)據(jù)。圖中,當DSP-A的McBSP1為主控發(fā)送數(shù)據(jù)時,McBSP2為從控;同時DSP-B的McBSP2為主控,DSP-A的McBSP1等待從DSP-B的同步信號以接收數(shù)據(jù)。

除了McBSP之外,兩片DSP間還通過EMIF-A進行高速連接映射,F(xiàn)PGA內(nèi)部的32 bit雙向接口通過FIFO實現(xiàn),如圖4所示。這種基于FIFO的雙向數(shù)據(jù)傳送口支持DSP間復(fù)雜的數(shù)據(jù)交換和控制消息傳遞。DSP的EMIF-A工作頻率為133 MHz,數(shù)據(jù)傳輸時,F(xiàn)PGA的可編程FIFO閾值中斷支持DSP間通過EDMA方式。


3.3 與上位機PC的數(shù)據(jù)通信

為了實現(xiàn)從PC進行遠程控制,特別是用無線網(wǎng)絡(luò)連接控制通信,系統(tǒng)特別設(shè)計了以太網(wǎng)接口、USB2.0接口和PCI接口。網(wǎng)絡(luò)連接是通過FPGA2的標準GMII接口,以太網(wǎng)PHY連接到外部RJ45。GPIO接口配置成USB2.0數(shù)據(jù)接口,而4個PCI則是將PCI芯片連接到FPGA2內(nèi)的MGT模塊來實現(xiàn)的。

4 高速并行數(shù)字圖像處理結(jié)果

在智能車視覺系統(tǒng)中,除了要預(yù)先將多通道畫面進行拼接等預(yù)處理外,更重要的是完成自動導(dǎo)航和目標跟蹤,這些都牽涉到海量數(shù)據(jù)流的實時傳輸和運算。本次實驗為基于特征點的運動物體追蹤,包括以下步驟:(1)背景學習;(2)全畫面運動估計、圖像差分;(3)差分部分的特征提??;(4)特征點的幀間運動估計;(5)基于K-means法的特征點分類。

基于全景畫面的特征點跟蹤需要對多通道視頻同時進行運算,運算過程復(fù)雜,包括跟蹤前與跟蹤后的處理任務(wù),如何將這些任務(wù)分配到不同的芯片上并使板載資源做到任務(wù)間最大共享,需要根據(jù)任務(wù)強度估計后放到不同的芯片上。同時,由于μC/OS是一種可移植性強、代碼微小的實時、多任務(wù)操作系統(tǒng),適合在本系統(tǒng)的DSP上運行[10]。移植μC/OS操作系統(tǒng)到一個DSP上,將該DSP作為主控DSP進行任務(wù)分配,本次實驗的各個任務(wù)分配如圖5所示。由于兩個DSP協(xié)助FPGA2進行運算具有強大的計算能力,可進行多目標跟蹤,F(xiàn)PGA2承擔了大量的并行數(shù)據(jù)運算,如運動探測包括的差分、運動估計、圖像拼接,而DSP則承擔特征點提取和追蹤這些不能并行運算的部分。實驗結(jié)果表明,6路視頻采集后的全景圖像上可作實時多目標追蹤。

本系統(tǒng)通過選用相配合的方式,同時利用了兩種芯片的性能優(yōu)勢,既保證系統(tǒng)的執(zhí)行速度,也能保證可靠的邏輯控制。該系統(tǒng)實現(xiàn)了6路1 M大小視頻圖像信號的同時采集和處理,由FPGA1對系統(tǒng)的運行邏輯進行控制,通過優(yōu)化在DSP上運行的圖像處理程序,可實現(xiàn)智能車導(dǎo)航應(yīng)用中全景圖像范圍內(nèi)的目標追蹤。該系統(tǒng)還可作為一個獨立的圖像處理系統(tǒng),后續(xù)通過添加其他如立體視覺和光學跟蹤等的算法,形成其他多方面的圖像應(yīng)用研究平臺。同時該方案也為其他基于多DSP和FPGA混合圖像處理平臺設(shè)計提供了參考。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉