帶有多個(gè)高分辨率攝像頭的嵌入式360°視域視覺(jué)系統(tǒng)已經(jīng)進(jìn)入了各種應(yīng)用中,,如汽車傳感器融合、視頻監(jiān)控,、目標(biāo)檢測(cè),、運(yùn)動(dòng)分析等。在此類系統(tǒng)中,,多個(gè)實(shí)時(shí)攝像機(jī)的視頻流(最多6個(gè)) 被匯聚在一起逐幀處理,,進(jìn)行失真和其他圖像偽影校正,,調(diào)整曝光和白平衡,然后動(dòng)態(tài)拼接成一個(gè)360°全景視圖,,以4K清晰度和60 fps幀頻輸出,,最終投影到一個(gè)球形坐標(biāo)空間上。
目前用于此類應(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ù)提供專門的硬件加速,。 這種配置使得CPU能專注于特別復(fù)雜的算法,其中它們可以快速切換線程和上下文,,并將重復(fù)性任務(wù)分配給一個(gè)FPGA,,以充當(dāng)可配置的硬件加速器/協(xié)處理器/卸載引擎。 即使將FPGA和CPU作為分立器件使用,,系統(tǒng)也可以提高整體效率,,因?yàn)檫@些技術(shù)不會(huì)發(fā)生沖突,而是像將手套戴在手上一樣來(lái)配合在一起,。
例如,,從魚(yú)眼鏡頭獲得的圖像遭受嚴(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)專用功能,,如目標(biāo)檢測(cè)和圖像識(shí)別,、變形和失真校正、以及最后將最終圖像拼接在一起,。在SoC中嵌入FPGA陣列結(jié)構(gòu)是超深亞微米時(shí)代系統(tǒng)集成的一個(gè)自然發(fā)展過(guò)程,。