


學(xué)習(xí)如何在 MYIR 的 ZU3EG FPGA 開發(fā)板上部署 Tiny YOLO v4,對比 FPGA、GPU、CPU 的性能,助力 AIoT 邊緣計算應(yīng)用。(文末有彩蛋)
在全球半導(dǎo)體制程限制和高端 GPU 受限的大環(huán)境下,F(xiàn)PGA 成為了中國企業(yè)發(fā)展的重要路徑之一。它可支持靈活的 AIoT 應(yīng)用,其靈活性與可編程性使其可以在國內(nèi)成熟的 28nm 工藝甚至更低節(jié)點的制程下實現(xiàn)高效的硬件加速。
米爾的 ZU3EG 開發(fā)板憑借其可重構(gòu)架構(gòu)為 AI 和計算密集型任務(wù)提供了支持,同時避免了 7nm 工藝對國產(chǎn)芯片設(shè)計的制約。通過在 ZU3EG 上部署 Tiny YOLO V4,我們可以為智能家居、智慧城市等 AIoT 應(yīng)用提供高效的解決方案。


?CPU GPU FPGA 架構(gòu)對比
YOLO(You Only Look Once)是一種實時物體檢測模型,它通過一次性掃描整個圖像,實現(xiàn)高效的對象識別。
而其簡化版 Tiny YOLO V4 更適合嵌入式設(shè)備,具有較少的層數(shù)和參數(shù)。其輕量化特性更適合在資源受限的設(shè)備上運(yùn)行,尤其在低功耗、實時檢測的邊緣計算設(shè)備中表現(xiàn)出色。
相比傳統(tǒng) GPU,F(xiàn)PGA 能在小面積和低功耗下實現(xiàn)類似的推理性能,非常契合 AIoT 應(yīng)用。像米爾 ZU3EG 這樣的 FPGA 開發(fā)板,通過底板和豐富接口的載板設(shè)計,非常適合高效的嵌入式低功耗數(shù)據(jù)處理。

Yolo V4 網(wǎng)絡(luò)結(jié)構(gòu)圖

Tiny Yolo V4 網(wǎng)絡(luò)結(jié)構(gòu)圖
(通過優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù),保持較高檢測精度的同時,降低模型的計算量和內(nèi)存占用)
可下載開源訓(xùn)練集或預(yù)訓(xùn)練模型。為了確保兼容性,建議將模型轉(zhuǎn)換為 ONNX 格式,以便后續(xù)能在 FPGA 上完成優(yōu)化。

Tiny YOLO 在 Darknet 上訓(xùn)練的截圖
要將模型部署到 FPGA,需要將神經(jīng)網(wǎng)絡(luò)操作轉(zhuǎn)換為硬件級描述。使用 Xilinx 的 Vitis HLS(高級綜合)可以將 Tiny YOLO v4 的 C++ 模型代碼的轉(zhuǎn)化為 Verilog RTL(寄存器傳輸級)代碼,從而將模型從軟件世界帶入硬件實現(xiàn)。
詳細(xì)步驟:

Tiny YOLO 模型在 Vivado HLS 中的層層轉(zhuǎn)化流程圖
1.Vivado 中的設(shè)置:
將 HLS 輸出的 RTL 文件導(dǎo)入 Vivado。
在 Vivado 中創(chuàng)建模塊設(shè)計,包括連接AXI 接口與 ZU3EG 的 ARM 核連接。
2.I/O 約束與時序:
定義 FPGA 的 I/O 引腳約束,以匹配 ZU3EG 板的特定管腳配置。配置時鐘約束以滿足合適的數(shù)據(jù)速率(如視頻數(shù)據(jù) 100-200 MHz)。
進(jìn)行時序分析,確保延遲和響應(yīng)速度達(dá)到實時要求。
3.生成比特流并下載到 ZU3EG:
生成的比特流可以直接通過 JTAG 或以太網(wǎng)接口下載到 ZU3EG。

將 Tiny YOLO 處理模塊連接到 米爾ZU3EG開發(fā)板 的外設(shè)和接口

Tiny YOLO 模型在 ZU3EG 上顯示檢測結(jié)果的實時輸出,視頻幀中標(biāo)注了檢測到的對象

不同優(yōu)化配置對資源使用的影響

米爾MYC-CZU3EG/4EV/5EV-V2核心板及開發(fā)板
在MYIR 的 ZU3EG 開發(fā)平臺上提供了一種高效的解決方案。利用 FPGA 獨特的靈活性和低功耗優(yōu)勢,助力未來 AIoT 設(shè)備的普及和智能升級。
關(guān)注米爾電子公眾號,后臺回復(fù)FPGA,獲取完整Tiny Yolo V4教程。

米爾電子最新“明星產(chǎn)品”速報






