1. 程式人生 > >將eFPGA應用於嵌入式360度視域視覺系統中

將eFPGA應用於嵌入式360度視域視覺系統中

更多精彩內容,請微信搜尋“FPGAer俱樂部”關注我們。

作者:Alok Sanghavi,Achronix Semiconductor資深產品營銷經理

帶有多個高解析度攝像頭的嵌入式360°視域視覺系統已經進入了各種應用中,如汽車感測器融合、視訊監控、目標檢測、運動分析等。在此類系統中,多個實時攝像機的視訊流(最多6個) 被匯聚在一起逐幀處理,進行失真和其他影象偽影校正,調整曝光和白平衡,然後動態拼接成一個360°全景檢視,以4K清晰度和60 fps幀頻輸出,最終投影到一個球形座標空間上。

目前用於此類應用的高解析度魚眼相機鏡頭通常具有一個廣角視域(FOV)。環視相機系統最大的瓶頸之一是: 實時到或從外部儲存器儲存/讀取和訪問多路攝像機輸入資料,然後將其作為一個單一幀進行處理。硬體需要在一幀延遲內,在輸入攝像機傳入的原始感測器資料和拼接輸出視訊之間完成處理執行。

高效能運算平臺一直朝著與CPU一起協同使用FPGA的方向發展,以便為實時影象處理任務提供專門的硬體加速。 這種配置使得CPU能專注於特別複雜的演算法,其中它們可以快速切換執行緒和上下文,並將重複性任務分配給一個FPGA,以充當可配置的硬體加速器/協處理器/解除安裝引擎。 即使將FPGA和CPU作為分立器件使用,系統也可以提高整體效率,因為這些技術不會發生衝突,而是像將手套戴在手上一樣來配合在一起。

例如,從魚眼鏡頭獲得的影象遭受嚴重失真之苦,因而基於多個相機視訊生成的拼接操作是高度計算密集型的任務,其原因為它是點畫素操作。這種拼接需要大量的實時影象處理和高度並行化的架構。但是,這種下一代的應用超過了FPGA可不斷接續實現的效能,主要是由於晶片吞吐資料的延遲。這反過來會影響整個系統的整體延遲、吞吐速度和效能。

在一個SoC中加入可與CPU一起嵌入的eFPGA半導體智慧財產權(IP)。與一個獨立的FPGA晶片加CPU解決方案相比,嵌入式FPGA陣列結構具有獨特的優勢,主要優勢在於效能更強。一個eFPGA可通過一個寬的並行介面直接連線到ASIC(無I / O緩衝器)上,提供顯著提高的吞吐量,以及以個位數時鐘週期來計數的延遲。低延遲是複雜的影象實時處理過程的關鍵,例如糾正魚眼鏡頭的失真這樣的處理。

利用Speedcore eFPGA IP,客戶可以定義其邏輯、記憶體和DSP資源需求,然後Achronix可配置其IP以滿足他們的需求。查詢表(LUTs)、RAM單元塊和DSP64單元塊可以像積木一樣進行組合,為任何給定的應用建立最佳的可程式設計結構。

除了標準邏輯、嵌入式儲存器和DSP單元模組之外,客戶還可以在Speedcore eFPGA結構裡面定義他們自己的功能塊。通過把這些定製功能模組與傳統構建模組一起整合到邏輯陣列結構中,可新增優化過的功能來減少面積和提高目標應用的效能,可使eFPGA的效能得到極大的提高,特別是對嵌入式視覺和影象處理演算法非常有效。

用自定義單元塊來成功地解決高效能影象處理就是一個很好的例子,在實現您只看一次(YOLO)這一種使用了神經網路的、最先進的、實時物件檢測演算法時,可以優於早期的方法大大提高效能。該演算法依賴於大量的矩陣乘法器,而在FPGA中實現時,這些矩陣乘法器需要使用DSP和RAM模組來構建;YOLO所需要的DSP和RAM模組之間的最佳配置,與一個典型的FPGA陣列結構中發現的不匹配之處就會出現問題。例如,FPGA陣列結構可能提供18×27乘法/累加單元塊和32×128 RAM的DSP單元塊,而此時的最佳解決方案可能是帶有48×1024 RAM的16×8 DSP單元塊。通過建立實現最佳DSP和RAM模組配置的定製單元塊,所得到的Speedcore陣列結構所使用的芯片面積就會減少40%,來實現相同的功能並且能獲得更高級別的系統性能。

在SoC中嵌入FPGA陣列結構提供了兩個額外的系統級好處:

更低的功耗 - 可程式設計I / O電路佔獨立FPGA晶片總功耗的一半,而一個eFPGA可以與主控SoC中的其他模組直接內部線路連線,完全不需要大型可程式設計I / O緩衝器。

更低的系統成本 - 由於eFPGA只需實現特定功能,eFPGA的裸片尺寸遠小於等效的獨立FPGA晶片,這是因為eFPGA不再需要可程式設計的I / O緩衝器和不必要的介面邏輯。

藉助超低延遲和實時處理功能,可以有效實現基於360°視域的視覺系統,具有定製單元塊的Speedcore eFPGA與同一主控SoC中的一個CPU配合使用,非常適合去實現專用功能,如目標檢測和影象識別、變形和失真校正、以及最後將最終影象拼接在一起。在SoC中嵌入FPGA陣列結構是超深亞微米時代系統整合的一個自然發展過程。

============華 麗 的 分 割 線============

想加入我們FPGA學習交流群嗎?可以長按或掃描以下二維碼,稽核通過後我們邀請您加入

這些微信群旨在打造一個提供給FPGA工程開發人員及興趣愛好者(統稱“FPGAer”)進行技術交流、答疑解惑和學習的平臺。而且我們也將會通過網路舉辦FPGA技術講座,分享相關研究文獻

瞭解更多FPGA知識可以長按或掃描以下二維碼關注FPGAer俱樂部