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