作者:Stephen Evanczuk
在越來越多的嵌入式視覺應用中,如機器視覺、安保、零售和機器人,人工智能 (AI) 在基于邊緣的智能攝像頭上的應用已迅速獲得認可。雖然可獲得機器學習(ML) 算法的迅速出現(xiàn)幫助迎來了人們對 AI的這種興趣,但開發(fā)人員仍難以在滿足緊迫的項目時間表的同時,在保持低功耗的情況下為基于邊緣的應用提供高性能。
更為復雜的是,由于應用需求的快速變化和演化算法的持續(xù)改進,即使是新部署的解決方案也會迅速成為次優(yōu)方案。
本文將介紹 Xilinx 提供的靈活系統(tǒng)級模塊 (SOM)解決方案,開發(fā)人員能用它來快速實現(xiàn)邊緣部署的智能攝像頭解決方案。文中展示了他們如何能夠更容易地調整這些解決方案,以應對不斷變化的需求,而不影響對延時和功耗的關鍵要求。
加快視覺應用的執(zhí)行
Xilinx 的 Kria K26 SOM 基于定制的 Zynq UltraScale+ 多處理器片上系統(tǒng)(MPSoC),提供了強大的嵌入式處理系統(tǒng),其中包括一個 64 位四核 Arm Cortex-A53 應用處理單元 (APU)、一個 32 位雙核 Arm?
Cortex?-R5F 實時處理單元 (RPU) 和一個 Arm Mali-400MP2 3D 圖形處理單元 (GPU)。SOM 將 MPSoC 與四千兆字節(jié)的64 位寬雙倍數(shù)據(jù)速率 4 (DDR4) 存儲器和相關的存儲控制器以及多個非易失性存儲器 (NVM) 器件結合起來,包括 512 兆位 (Mb)的四路串行外設接口 (QSPI) 存儲器、16 千兆字節(jié) (GB) 的嵌入式多媒體卡 (eMMC) 存儲器和 64 千位 (Kb) 的電可擦除可編程只讀存儲器(EEPROM)(圖 1)。
圖 1:Xilinx 的 Kria K26 SOM 將定制的 Zynq UltraScale+ MPSoC 的廣泛處理能力與可信平臺模塊 2.0
(TPM2) 以及動態(tài)和非易失性存儲器相結合。(圖片來源:Xilinx)
Xilinx 通過廣泛的可編程邏輯系統(tǒng)補充其處理和存儲器資產(chǎn),該系統(tǒng)包括 256K 系統(tǒng)邏輯單元、234K 可配置邏輯塊 (CLB) 觸發(fā)器、117KCLB 查找表 (LUT),以及分布式隨機存取存儲器 (RAM)、塊 RAM 和 ultraRAM 塊等各種配置共計 26.6 兆位 (Mb)的存儲器。此外,可編程邏輯系統(tǒng)包括 1,248 個數(shù)字信號處理 (DSP) 片、四個收發(fā)器以及一個 H.264 和 H.265 的視頻編解碼器,能夠支持多達32 個流的同時編/解碼,在 60 幀/秒 (fps) 的情況下總像素達 3840 x 2160。SOM 的兩個 240 針連接器通過用戶可配置的輸入/輸出(I/O) 提供對功能塊和外設的隨時訪問。
這種處理器內核、存儲器和可編程邏輯的組合提供了獨特的靈活性和性能水平,克服了高速執(zhí)行 ML 算法所用 GPU 的主要缺點。不同于 GPU的固定數(shù)據(jù)流,開發(fā)人員可以重新配置 K26 SOM 數(shù)據(jù)路徑,以優(yōu)化吞吐量并減少延時。此外,K26 SOM 的架構特別適合于處于不斷增加的 ML應用核心的稀疏網(wǎng)絡。
K26 SOM 的可編程性還解決了存儲器瓶頸問題,這些瓶頸既增加功耗,又限制存儲器密集型應用的性能,如使用 GPU、多核處理器甚至高級 SoC的傳統(tǒng)架構構建的 ML。在使用這些傳統(tǒng)器件設計的任何應用中,外部存儲器通常占系統(tǒng)功耗的 40% 左右,而處理器內核和內部存儲器通常各占 30%左右。相比之下,開發(fā)人員可以利用 K26 SOM 的內部存儲器塊和可重構性來實現(xiàn)幾乎不需要外部存儲器訪問的設計。因此,與傳統(tǒng)器件相比,性能提高,功耗降低(圖2)。
圖 2:雖然基于嵌入式 CPU 和典型 SoC 的系統(tǒng)需要多次以高功耗訪問存儲器來運行其應用,但基于Xilinx Kria的系統(tǒng)則采用高效視覺管道,其可設計為避免任何 DDR 訪問。(圖片來源:Xilinx)
除了高性能、低功耗和廣泛的可重構性外,K26 SOM 有助于確保敏感應用的智能攝像頭設計的安全性。除了 SOM 內置 TPM 安全器件外,MPSoC還集成了一個專用配置安全單元 (CSU),支持安全啟動、篡改監(jiān)控、安全密鑰存儲和加密硬件加速。CSU、內部片上存儲器 (OCM)和安全密鑰存儲共同提供了安全基礎,以確保實現(xiàn)安全啟動的硬件信任根和用于應用執(zhí)行的可信平臺。
K26 SOM的廣泛功能為實施基于邊緣的苛刻應用提供了強大的基礎。然而,每個應用都有自己的要求,即與一組特定應用的外設和其他元器件相關的特性和功能。為了簡化特定應用解決方案的實施,K26 SOM 可專門插入一個能承載其他外設的載卡中。Xilinx 通過其基于 Kria K26 的 KV260 視覺 AI 入門套件展示了這種方法。
入門套件簡化了視覺應用的開發(fā)
Xilinx 的 KV260 視覺 AI 入門套件包括一個插入到以視覺為中心的載板的 K26 SOM,該套件提供了一個開箱即用的平臺,專門用于即時評估和快速開發(fā)智能視覺應用。盡管 K26 SOM
提供了所需的處理能力,但入門套件的載板提供了電源管理,包括上電和復位定序,以及用于攝像頭、顯示器和 microSD 卡的接口選項和連接器(圖 3)。
圖 3:Xilinx 的 KV260 視覺 AI 入門套件使用插入到以視覺為中心的載板的 K26
SOM,提供了一個完整的智能視覺解決方案。(圖片來源:Xilinx)
除了多個接口外,載板還通過其 Raspberry Pi 連接器和一對圖像訪問系統(tǒng) (IAS) 連接器提供多攝像頭支持。其中一個連接器鏈接到一個專用
onsemi 1300 萬像素 AP1302 圖像傳感器處理器 (ISP),其能應對所有圖像處理功能。
為了進一步加快實現(xiàn)基于視覺的應用,Xilinx
通過各種預置加速視覺應用以及一套全面的軟件工具和庫(以便進行定制開發(fā)),來支持這種預定義的視覺硬件平臺。
加速應用提供即時解決方案
為了即時評估和快速開發(fā)加速視覺應用,Xilinx
提供了幾個預置應用,其中演示了幾個流行用例的執(zhí)行,包括使用其可編程邏輯的智能攝像頭人臉檢測、行人識別和跟蹤、缺陷檢測以及使用 MPSoC
處理系統(tǒng)的成對關鍵字識別。在 Xilinx Kria
應用商店中,每個應用都為其特定用例提供了完整的解決方案,并配有相應的工具和資源。例如,智能攝像頭人臉檢測應用使用 KV260 載卡的內置 AR1335
圖像傳感器和 AP1302 ISP 來采集圖像,并由載卡的 HDMI 或 DisplayPort (DP) 輸出來渲染結果。對于人臉檢測處理,應用配置了 K26
SOM,以提供視覺管道加速器和預置的機器學習推理引擎,用于人臉檢測、人員計數(shù)和其他智能攝像頭應用(圖 4)。
圖 4:預置的加速應用可從 Xilinx Kria 應用商店下載,可在 KV260入門套件上立即運行,為人臉檢測等視覺使用模型提供完整的解決方案。(圖片來源:Xilinx)
來自 Xilinx 應用商店的預置加速應用提供完整的實施和支持,讓開發(fā)人員能夠在一小時內完成設計并運行,即使缺乏 FPGA經(jīng)驗也沒問題。評估應用時,他們可以使用所提供的軟件堆棧來修改功能,以探索替代解決方案。對于更廣泛的定制開發(fā),Xilinx 提供了一套全面的開發(fā)工具和庫。
AI 開發(fā)環(huán)境和工具加速定制開發(fā)
對于基于 AI 應用的定制開發(fā),Xilinx 的 Vitis AI開發(fā)環(huán)境提供了優(yōu)化的工具、庫和預先訓練的模型,可用作更專業(yè)的定制模型的基礎。對于運行時操作環(huán)境,Xilinx 基于 Yocto 的 PetaLinux 嵌入式Linux 軟件開發(fā)套件 (SDK) 提供了構建、開發(fā)、測試和部署嵌入式 Linux 系統(tǒng)所需的全套功能。
Vitis AI 環(huán)境針對沒有 FPGA 經(jīng)驗的專家和開發(fā)人員而設計,將底層硅硬件的細節(jié)抽象化,讓開發(fā)人員能夠專注于建立更有效的 ML模型。事實上,Vitis AI 環(huán)境與開源 Apache Tensor 虛擬機 (TVM)深度學習編譯器堆棧集成,讓開發(fā)人員能夠將他們的模型從不同的框架編譯到處理器、GPU 或加速器。開發(fā)人員使用帶有 TVM 的 Vitis AI,可以用加速視覺功能增強其現(xiàn)有設計,將深度學習模型等計算密集型視覺工作負載卸載到 Kria SOM。為了幫助開發(fā)人員進一步優(yōu)化其深度學習模型,Xilinx的 AI 優(yōu)化工具可以對神經(jīng)網(wǎng)絡進行修剪,以降低每秒十億次運算 (Gops) 數(shù)的復雜性,提高每秒幀數(shù) (fps),并減少過度參數(shù)化的模型,其中將模型壓縮高達50 倍,而對平均精度 (mAP) 所代表的準確性幾乎沒有影響(圖 5)。
圖 5:Xilinx Research 的一項案例研究表明,使用 Xilinx AI 優(yōu)化工具進行幾次迭代修剪,就可以迅速降低神經(jīng)網(wǎng)絡在 Gops數(shù)上的復雜性,同時提高每秒幀數(shù),而這一切對準確性幾乎沒有影響。(圖片來源:Xilinx)
對于定制視覺應用的實現(xiàn),Xilinx 的開源 Vitis Vision 庫在 Xilinx 平臺上進行了高性能和低資源利用的優(yōu)化,提供了一個基于OpenCV 的熟悉界面。在分析方面,Xilinx 的視頻分析 SDK 應用框架幫助開發(fā)人員建立更有效的視覺和視頻分析管道,而不需要深厚的 FPGA知識。視頻分析 SDK 基于廣泛采用的開源 GStreamer 框架,開發(fā)人員可以用它快速創(chuàng)建自定義加速內核,作為 GStreamer 插件集成到 SDK框架。
典型的嵌入式開發(fā)人員使用這些工具,無論是否有自定義加速內核,都可以很容易地組裝自定義加速管道。
總結
計算密集型 ML算法使智能視覺技術能夠在邊緣運行的多種應用中使用,但要滿足基于邊緣的視覺系統(tǒng)的高性能、低功耗和適應性的要求,開發(fā)人員面臨著多種挑戰(zhàn)。Xilinx 的 Kria K26 SOM 解決方案為加速高級算法提供了硬件基礎,同時又不超出嚴格的功耗預算。開發(fā)人員使用基于 Kria K26的入門套件和預置應用,可以立即開始評估智能視覺應用,并使用全面的開發(fā)環(huán)境來創(chuàng)建自定義邊緣設備解決方案。
-
嵌入式
+關注
關注
5059文章
18975瀏覽量
302070 -
存儲器
+關注
關注
38文章
7434瀏覽量
163521 -
ML
+關注
關注
0文章
144瀏覽量
34580
發(fā)布評論請先 登錄
相關推薦
評論