將eFPGA應(yīng)用于嵌入式360度視域視覺(jué)系統(tǒng)中
引言:2018年4月11日,工業(yè)和信息化部、公安部和交通運(yùn)輸部聯(lián)合發(fā)布“關(guān)于印發(fā)《智能網(wǎng)聯(lián)汽車(chē)道路測(cè)試管理規(guī)范(試行)》的通知”,為我國(guó)智能網(wǎng)聯(lián)汽車(chē)道路測(cè)試提供了相關(guān)法律依據(jù)。三部委在賦予智能網(wǎng)聯(lián)汽車(chē)上路資格的同時(shí),也提出了若干嚴(yán)格的條件。
本文引用地址:http://m.butianyuan.cn/article/201804/379024.htm其中,在第二章“測(cè)試主體、測(cè)試駕駛?cè)思皽y(cè)試車(chē)輛”的第七條第(四)點(diǎn)中,三部委要求:具備車(chē)輛狀態(tài)記錄、存儲(chǔ)及在線監(jiān)控功能,能實(shí)時(shí)回傳下列第1、2、3項(xiàng)信息,并自動(dòng)記錄和存儲(chǔ)下列各項(xiàng)信息在車(chē)輛事故或失效狀況發(fā)生前至少90秒的數(shù)據(jù),數(shù)據(jù)存儲(chǔ)時(shí)間不少于3年:
1. 車(chē)輛控制模式;
2. 車(chē)輛位置;
3. 車(chē)輛速度、加速度等運(yùn)動(dòng)狀態(tài);
4. 環(huán)境感知與響應(yīng)狀態(tài);
5. 車(chē)輛燈光、信號(hào)實(shí)時(shí)狀態(tài);
6. 車(chē)輛外部360度視頻監(jiān)控情況;
7. 反映測(cè)試駕駛?cè)撕腿藱C(jī)交互狀態(tài)的車(chē)內(nèi)視頻及語(yǔ)音監(jiān)控情況;
8. 車(chē)輛接收的遠(yuǎn)程控制指令(如有);
9. 車(chē)輛故障情況(如有)。
由此可以看出,上述條件除了對(duì)進(jìn)行道路測(cè)試的智能網(wǎng)聯(lián)汽車(chē)有若干功能性要求外,還在相關(guān)領(lǐng)域?qū)⑼苿?dòng)若干新一代通信、監(jiān)控、控制和存儲(chǔ)等技術(shù)的發(fā)展,為智能網(wǎng)聯(lián)汽車(chē)專(zhuān)用SoC的開(kāi)發(fā)提供新的市場(chǎng)機(jī)會(huì)。
嵌入式FPGA(eFPGA)將在這類(lèi)芯片中扮演重要角色。如為了滿足第六條中提到的車(chē)輛外部360度視頻監(jiān)控?cái)?shù)據(jù)的獲取和處理,采用eFPGA來(lái)設(shè)計(jì)相關(guān)功能芯片具有很明顯的優(yōu)勢(shì)。作為同時(shí)提供獨(dú)立FPGA芯片和eFPGA IP產(chǎn)品的公司,Achronix可以幫助智能汽車(chē)SoC設(shè)計(jì)人員先在FPGA芯片上開(kāi)發(fā)和調(diào)試相關(guān)功能,而在市場(chǎng)進(jìn)入批量化應(yīng)用后無(wú)需顯著修改設(shè)計(jì),立即將設(shè)計(jì)移植到搭載了eFPGA的SoC之上。
有關(guān)eFPGA如何支持嵌入式360度視域視覺(jué)系統(tǒng)設(shè)計(jì),請(qǐng)閱讀Achronix Semiconductor資深產(chǎn)品營(yíng)銷(xiāo)經(jīng)理Alok Sanghavi的文章,標(biāo)題為“將eFPGA應(yīng)用于嵌入式360度視域視覺(jué)系統(tǒng)中”。
將eFPGA應(yīng)用于嵌入式360度視域視覺(jué)系統(tǒng)中
作者:Alok Sanghavi,Achronix Semiconductor資深產(chǎn)品營(yíng)銷(xiāo)經(jīng)理
帶有多個(gè)高分辨率攝像頭的嵌入式360°視域視覺(jué)系統(tǒng)已經(jīng)進(jìn)入了各種應(yīng)用中,如汽車(chē)傳感器融合、視頻監(jiān)控、目標(biāo)檢測(cè)、運(yùn)動(dòng)分析等。在此類(lèi)系統(tǒng)中,多個(gè)實(shí)時(shí)攝像機(jī)的視頻流(最多6個(gè)) 被匯聚在一起逐幀處理,進(jìn)行失真和其他圖像偽影校正,調(diào)整曝光和白平衡,然后動(dòng)態(tài)拼接成一個(gè)360°全景視圖,以4K清晰度和60 fps幀頻輸出,最終投影到一個(gè)球形坐標(biāo)空間上。
目前用于此類(lèi)應(yīng)用的高分辨率魚(yú)眼相機(jī)鏡頭通常具有一個(gè)廣角視域(FOV)。環(huán)視相機(jī)系統(tǒng)最大的瓶頸之一是: 實(shí)時(shí)到或從外部存儲(chǔ)器存儲(chǔ)/讀取和訪問(wèn)多路攝像機(jī)輸入數(shù)據(jù),然后將其作為一個(gè)單一幀進(jìn)行處理。硬件需要在一幀延遲內(nèi),在輸入攝像機(jī)傳入的原始傳感器數(shù)據(jù)和拼接輸出視頻之間完成處理運(yùn)行。
高性能計(jì)算平臺(tái)一直朝著與CPU一起協(xié)同使用FPGA的方向發(fā)展,以便為實(shí)時(shí)圖像處理任務(wù)提供專(zhuān)門(mén)的硬件加速。 這種配置使得CPU能專(zhuān)注于特別復(fù)雜的算法,其中它們可以快速切換線程和上下文,并將重復(fù)性任務(wù)分配給一個(gè)FPGA,以充當(dāng)可配置的硬件加速器/協(xié)處理器/卸載引擎。 即使將FPGA和CPU作為分立器件使用,系統(tǒng)也可以提高整體效率,因?yàn)檫@些技術(shù)不會(huì)發(fā)生沖突,而是像將手套戴在手上一樣來(lái)配合在一起。
例如,從魚(yú)眼鏡頭獲得的圖像遭受?chē)?yán)重失真之苦,因而基于多個(gè)相機(jī)視頻生成的拼接操作是高度計(jì)算密集型的任務(wù),其原因?yàn)樗屈c(diǎn)像素操作。這種拼接需要大量的實(shí)時(shí)圖像處理和高度并行化的架構(gòu)。但是,這種下一代的應(yīng)用超過(guò)了FPGA可不斷接續(xù)實(shí)現(xiàn)的性能,主要是由于芯片吞吐數(shù)據(jù)的延遲。這反過(guò)來(lái)會(huì)影響整個(gè)系統(tǒng)的整體延遲、吞吐速度和性能。
在一個(gè)SoC中加入可與CPU一起嵌入的eFPGA半導(dǎo)體知識(shí)產(chǎn)權(quán)(IP)。與一個(gè)獨(dú)立的FPGA芯片加CPU解決方案相比,嵌入式FPGA陣列結(jié)構(gòu)具有獨(dú)特的優(yōu)勢(shì),主要優(yōu)勢(shì)在于性能更強(qiáng)。一個(gè)eFPGA可通過(guò)一個(gè)寬的并行接口直接連接到ASIC(無(wú)I / O緩沖器)上,提供顯著提高的吞吐量,以及以個(gè)位數(shù)時(shí)鐘周期來(lái)計(jì)數(shù)的延遲。低延遲是復(fù)雜的圖像實(shí)時(shí)處理過(guò)程的關(guān)鍵,例如糾正魚(yú)眼鏡頭的失真這樣的處理。
利用Speedcore eFPGA IP,客戶可以定義其邏輯、內(nèi)存和DSP資源需求,然后Achronix可配置其IP以滿足他們的需求。查找表(LUTs)、RAM單元塊和DSP64單元塊可以像積木一樣進(jìn)行組合,為任何給定的應(yīng)用創(chuàng)建最佳的可編程結(jié)構(gòu)。
除了標(biāo)準(zhǔn)邏輯、嵌入式存儲(chǔ)器和DSP單元模塊之外,客戶還可以在Speedcore eFPGA結(jié)構(gòu)里面定義他們自己的功能塊。通過(guò)把這些定制功能模塊與傳統(tǒng)構(gòu)建模塊一起集成到邏輯陣列結(jié)構(gòu)中,可添加優(yōu)化過(guò)的功能來(lái)減少面積和提高目標(biāo)應(yīng)用的性能,可使eFPGA的性能得到極大的提高,特別是對(duì)嵌入式視覺(jué)和圖像處理算法非常有效。
用自定義單元塊來(lái)成功地解決高性能圖像處理就是一個(gè)很好的例子,在實(shí)現(xiàn)您只看一次(YOLO)這一種使用了神經(jīng)網(wǎng)絡(luò)的、最先進(jìn)的、實(shí)時(shí)對(duì)象檢測(cè)算法時(shí),可以優(yōu)于早期的方法大大提高性能。該算法依賴于大量的矩陣乘法器,而在FPGA中實(shí)現(xiàn)時(shí),這些矩陣乘法器需要使用DSP和RAM模塊來(lái)構(gòu)建;YOLO所需要的DSP和RAM模塊之間的最佳配置,與一個(gè)典型的FPGA陣列結(jié)構(gòu)中發(fā)現(xiàn)的不匹配之處就會(huì)出現(xiàn)問(wèn)題。例如,F(xiàn)PGA陣列結(jié)構(gòu)可能提供18×27乘法/累加單元塊和32×128 RAM的DSP單元塊,而此時(shí)的最佳解決方案可能是帶有48×1024 RAM的16×8 DSP單元塊。通過(guò)創(chuàng)建實(shí)現(xiàn)最佳DSP和RAM模塊配置的定制單元塊,所得到的Speedcore陣列結(jié)構(gòu)所使用的芯片面積就會(huì)減少40%,來(lái)實(shí)現(xiàn)相同的功能并且能獲得更高級(jí)別的系統(tǒng)性能。
在SoC中嵌入FPGA陣列結(jié)構(gòu)提供了兩個(gè)額外的系統(tǒng)級(jí)好處:
更低的功耗 - 可編程I / O電路占獨(dú)立FPGA芯片總功耗的一半,而一個(gè)eFPGA可以與主控SoC中的其他模塊直接內(nèi)部線路連接,完全不需要大型可編程I / O緩沖器。
更低的系統(tǒng)成本 - 由于eFPGA只需實(shí)現(xiàn)特定功能,eFPGA的裸片尺寸遠(yuǎn)小于等效的獨(dú)立FPGA芯片,這是因?yàn)閑FPGA不再需要可編程的I / O緩沖器和不必要的接口邏輯。
借助超低延遲和實(shí)時(shí)處理功能,可以有效實(shí)現(xiàn)基于360°視域的視覺(jué)系統(tǒng),具有定制單元塊的Speedcore eFPGA與同一主控SoC中的一個(gè)CPU配合使用,非常適合去實(shí)現(xiàn)專(zhuān)用功能,如目標(biāo)檢測(cè)和圖像識(shí)別、變形和失真校正、以及最后將最終圖像拼接在一起。在SoC中嵌入FPGA陣列結(jié)構(gòu)是超深亞微米時(shí)代系統(tǒng)集成的一個(gè)自然發(fā)展過(guò)程。
評(píng)論