0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

后摩爾時(shí)代的創(chuàng)新:在米爾FPGA上實(shí)現(xiàn)Tiny YOLO V4,助力AIoT應(yīng)用

米爾電子 ? 2024-11-22 01:00 ? 次閱讀

學(xué)習(xí)如何在 MYIR 的 ZU3EG FPGA 開發(fā)板上部署 Tiny YOLO v4,對(duì)比 FPGA、GPU、CPU 的性能,助力 AIoT 邊緣計(jì)算應(yīng)用。

一、為什么選擇 FPGA:應(yīng)對(duì) 7nm 制程與 AI 限制

在全球半導(dǎo)體制程限制和高端 GPU 受限的大環(huán)境下,F(xiàn)PGA 成為了中國(guó)企業(yè)發(fā)展的重要路徑之一。它可支持靈活的 AIoT 應(yīng)用,其靈活性與可編程性使其可以在國(guó)內(nèi)成熟的 28nm 工藝甚至更低節(jié)點(diǎn)的制程下實(shí)現(xiàn)高效的硬件加速。

米爾的 ZU3EG 開發(fā)板憑借其可重構(gòu)架構(gòu)為 AI 和計(jì)算密集型任務(wù)提供了支持,同時(shí)避免了 7nm 工藝對(duì)國(guó)產(chǎn)芯片設(shè)計(jì)的制約。通過在 ZU3EG 上部署 Tiny YOLO V4,我們可以為智能家居、智慧城市等 AIoT 應(yīng)用提供高效的解決方案。

1fd53440-a82a-11ef-8084-92fbcf53809c.png1ff59190-a82a-11ef-8084-92fbcf53809c.png

CPU GPU FPGA 架構(gòu)對(duì)比

二、了解 Tiny YOLO 模型及其適用性

YOLO(You Only Look Once)是一種實(shí)時(shí)物體檢測(cè)模型,它通過一次性掃描整個(gè)圖像,實(shí)現(xiàn)高效的對(duì)象識(shí)別。

而其簡(jiǎn)化版 Tiny YOLO V4 更適合嵌入式設(shè)備,具有較少的層數(shù)和參數(shù)。其輕量化特性更適合在資源受限的設(shè)備上運(yùn)行,尤其在低功耗、實(shí)時(shí)檢測(cè)的邊緣計(jì)算設(shè)備中表現(xiàn)出色。

相比傳統(tǒng) GPU,F(xiàn)PGA 能在小面積和低功耗下實(shí)現(xiàn)類似的推理性能,非常契合 AIoT 應(yīng)用。像米爾 ZU3EG 這樣的 FPGA 開發(fā)板,通過底板和豐富接口的載板設(shè)計(jì),非常適合高效的嵌入式低功耗數(shù)據(jù)處理。

20207e64-a82a-11ef-8084-92fbcf53809c.png

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

204930fc-a82a-11ef-8084-92fbcf53809c.png

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

(通過優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù),保持較高檢測(cè)精度的同時(shí),降低模型的計(jì)算量和內(nèi)存占用)

三、獲取數(shù)據(jù)集和模型

下載開源訓(xùn)練集或預(yù)訓(xùn)練模型。為了確保兼容性,建議將模型轉(zhuǎn)換為 ONNX 格式,以便后續(xù)能在 FPGA 上完成優(yōu)化。

1.下載 Tiny YOLO V4 模型:從Darknet 的 GitHub 倉(cāng)庫(kù)獲取 Tiny YOLO 的預(yù)訓(xùn)練權(quán)重,或者在 COCO 等數(shù)據(jù)集上自行訓(xùn)練模型。自定義的模型適用于特定應(yīng)用場(chǎng)景(如車輛檢測(cè)、人臉檢測(cè)等)。

2.數(shù)據(jù)準(zhǔn)備:若要自定義模型,可使用 LabelImg 等工具對(duì)數(shù)據(jù)集進(jìn)行標(biāo)注,將數(shù)據(jù)轉(zhuǎn)為 YOLO 格式。之后,可將 YOLO 格式轉(zhuǎn)換為 ONNX 格式,以便兼容 FPGA 優(yōu)化工具鏈。

206cb2fc-a82a-11ef-8084-92fbcf53809c.png

Tiny YOLO 在 Darknet 上訓(xùn)練的截圖

四、通過 Vivado HLS 為 FPGA 準(zhǔn)備模型

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

詳細(xì)步驟

1.模型層映射和優(yōu)化

  • 將 YOLO 的每一層(如卷積層、池化層)映射為硬件友好的 C/C++ 結(jié)構(gòu)。例如,將卷積映射為乘累加(MAC)數(shù)組,通過流水線實(shí)現(xiàn)并行化。

2.算子加速與指令優(yōu)化

  • 流水線(Pipelining):利用流水線來處理多項(xiàng)操作并行,減少延遲。

  • 循環(huán)展開(Loop Unrolling):展開循環(huán),以每周期處理更多數(shù)據(jù),尤其在卷積操作中有效。

  • 設(shè)置 DATAFLOW指令,使層間獨(dú)立處理。

3.量化與位寬調(diào)整

  • 將激活值和權(quán)重量化為定點(diǎn)精度(例如 INT8),而非浮點(diǎn)數(shù)。這在維持準(zhǔn)確度的同時(shí)顯著降低計(jì)算量,尤其適合 FPGA 的固定點(diǎn)運(yùn)算支持。
209fc19c-a82a-11ef-8084-92fbcf53809c.png

Tiny YOLO 模型在 Vivado HLS 中的層層轉(zhuǎn)化流程圖

五、使用 Vivado 綜合與部署 Verilog 到 米爾的ZU3EG FPGA開發(fā)板

當(dāng) HLS 生成的 RTL 代碼準(zhǔn)備就緒后,可以使用 Vivado 將模型部署到 FPGA。

1.Vivado 中的設(shè)置

將 HLS 輸出的 RTL 文件導(dǎo)入 Vivado。

在 Vivado 中創(chuàng)建模塊設(shè)計(jì),包括連接AXI 接口與 ZU3EG 的 ARM 核連接。

2.I/O 約束與時(shí)序

定義 FPGA 的 I/O 引腳約束,以匹配 ZU3EG 板的特定管腳配置。配置時(shí)鐘約束以滿足合適的數(shù)據(jù)速率(如視頻數(shù)據(jù) 100-200 MHz)。

進(jìn)行時(shí)序分析,確保延遲和響應(yīng)速度達(dá)到實(shí)時(shí)要求。

3.生成比特流并下載到 ZU3EG

生成的比特流可以直接通過 JTAG 或以太網(wǎng)接口下載到 ZU3EG。

20e78144-a82a-11ef-8084-92fbcf53809c.png

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

六、在 FPGA 上測(cè)試并運(yùn)行推理

現(xiàn)在 Tiny YOLO 已部署,可以驗(yàn)證其實(shí)時(shí)對(duì)象檢測(cè)性能。

1.數(shù)據(jù)采集

  • 通過連接的相機(jī)模塊捕捉圖像或視頻幀,或者使用存儲(chǔ)的測(cè)試視頻。

  • 使用 ZU3EG 的 ARM 核上的 OpenCV 對(duì)幀進(jìn)行預(yù)處理,再將它們傳入 FPGA 預(yù)處理后進(jìn)行推理。

2.后處理與顯示

  • 模型檢測(cè)對(duì)象后,輸出邊框和類別標(biāo)簽。使用 OpenCV 將邊框映射回原始幀,并在每個(gè)檢測(cè)到的對(duì)象周圍顯示類別和置信度。

3.性能測(cè)試

  • 測(cè)量幀速率(FPS)和檢測(cè)準(zhǔn)確度。微調(diào)量化位寬或數(shù)據(jù)流參數(shù),以優(yōu)化實(shí)時(shí)需求。
2109e676-a82a-11ef-8084-92fbcf53809c.png

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

七、性能優(yōu)化與調(diào)試技巧

為提高性能,可以進(jìn)行以下調(diào)整:

  • 內(nèi)存訪問:設(shè)計(jì)數(shù)據(jù)存儲(chǔ)方式,最大限度利用緩存并減少數(shù)據(jù)傳輸,降低內(nèi)存瓶頸。

  • 降低延遲:重新評(píng)估關(guān)鍵路徑延遲。若延遲過高,調(diào)整 Vitis HLS 中的流水線深度,并驗(yàn)證層間的數(shù)據(jù)依賴性。

  • 量化改進(jìn):嘗試 INT8 量化。Xilinx 的 Vitis AI 可幫助微調(diào)量化參數(shù),以平衡準(zhǔn)確性與速度。

2148355c-a82a-11ef-8084-92fbcf53809c.png

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

215bf43e-a82a-11ef-8084-92fbcf53809c.png

米爾MYC-CZU3EG/4EV/5EV-V2核心板及開發(fā)板

在MYIR 的 ZU3EG 開發(fā)平臺(tái)上提供了一種高效的解決方案。利用 FPGA 獨(dú)特的靈活性和低功耗優(yōu)勢(shì),助力未來 AIoT 設(shè)備的普及和智能升級(jí)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603315
  • AIoT
    +關(guān)注

    關(guān)注

    8

    文章

    1408

    瀏覽量

    30683
  • 米爾電子
    +關(guān)注

    關(guān)注

    0

    文章

    110

    瀏覽量

    451
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    助力AIoT應(yīng)用:米爾FPGA開發(fā)板實(shí)現(xiàn)Tiny YOLO V4

    學(xué)習(xí)如何在 MYIR 的 ZU3EG FPGA 開發(fā)板上部署 Tiny YOLO v4,對(duì)比 FPGA、GPU、CPU 的性能,
    發(fā)表于 12-06 17:18

    《DNK210使用指南 -CanMV版 V1.0》第四十一章 YOLO2物體檢測(cè)實(shí)驗(yàn)

    YOLO2網(wǎng)絡(luò)的物體檢測(cè)應(yīng)用在CanMV實(shí)現(xiàn)。本章分為如下幾個(gè)小節(jié):41.1 maix.KPU模塊介紹41.2 硬件設(shè)計(jì)41.3 程序設(shè)計(jì)41.4 運(yùn)行驗(yàn)證 41.1 maix.KPU模塊介紹
    發(fā)表于 11-14 09:22

    《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手檢測(cè)實(shí)驗(yàn)

    中進(jìn)行運(yùn)算,然后再進(jìn)行YOLO2網(wǎng)絡(luò)運(yùn)算,最后便得到網(wǎng)絡(luò)識(shí)別出人手輸入圖像的一些信息,將這些信息繪制到圖像
    發(fā)表于 11-14 09:20

    《DNK210使用指南 -CanMV版 V1.0》第三十九章 YOLO2人臉檢測(cè)實(shí)驗(yàn)

    KPU中進(jìn)行運(yùn)算,然后再進(jìn)行YOLO2網(wǎng)絡(luò)運(yùn)算,最后便得到網(wǎng)絡(luò)識(shí)別出人臉輸入圖像的一些信息,將這些信息繪制到圖像
    發(fā)表于 11-13 09:37

    米爾-Xilinx XC7A100T FPGA開發(fā)板試用】+01.開箱(zmj)

    】資料:米爾-Xilinx XC7A100T FPGA開發(fā)板 【圖】資料:米爾-紫光同創(chuàng)PG2L100H國(guó)產(chǎn)FPGA開發(fā)板 3.硬件電狀
    發(fā)表于 11-12 15:45

    摩爾斯微電子榮獲2024年WBA行業(yè)大獎(jiǎng)最佳Wi-Fi創(chuàng)新獎(jiǎng)等多項(xiàng)殊榮

    1000倍。頒獎(jiǎng)評(píng)委們?cè)u(píng)價(jià)道:“摩爾斯微電子穩(wěn)定、低功耗的物聯(lián)網(wǎng)連接方面的開創(chuàng)性工作,使其穩(wěn)居行業(yè)領(lǐng)先地位。該公司正在真正推動(dòng)創(chuàng)新,這將對(duì)物聯(lián)網(wǎng)的未來起到關(guān)鍵作用,并重新定義下一代Wi-Fi。”顛覆性
    發(fā)表于 11-01 14:41

    高密度互連,引爆摩爾技術(shù)革命

    領(lǐng)域中正成為新的創(chuàng)新焦點(diǎn),引領(lǐng)著超集成高密度互連技術(shù)的飛躍。通過持續(xù)的技術(shù)創(chuàng)新實(shí)現(xiàn)高密度互連,將是推動(dòng)先進(jìn)封裝技術(shù)在后摩爾時(shí)代跨越發(fā)展的關(guān)鍵所在。
    的頭像 發(fā)表于 10-18 17:57 ?276次閱讀
    高密度互連,引爆<b class='flag-5'>后</b><b class='flag-5'>摩爾</b>技術(shù)革命

    使用OpenVINO C# API部署YOLO-World實(shí)現(xiàn)實(shí)時(shí)開放詞匯對(duì)象檢測(cè)

    YOLO-World是一個(gè)融合了實(shí)時(shí)目標(biāo)檢測(cè)與增強(qiáng)現(xiàn)實(shí)(AR)技術(shù)的創(chuàng)新平臺(tái),旨在將現(xiàn)實(shí)世界與數(shù)字世界無縫對(duì)接。該平臺(tái)以YOLO(You Only Look Once)算法為核心,實(shí)現(xiàn)
    的頭像 發(fā)表于 08-30 16:27 ?651次閱讀
    使用OpenVINO C# API部署<b class='flag-5'>YOLO</b>-World<b class='flag-5'>實(shí)現(xiàn)</b>實(shí)時(shí)開放詞匯對(duì)象檢測(cè)

    特斯拉正積極測(cè)試其V4超級(jí)充電樁

    近日,特斯拉快速充電技術(shù)領(lǐng)域的最新動(dòng)態(tài)引發(fā)了廣泛關(guān)注。據(jù)悉,特斯拉正積極測(cè)試其現(xiàn)有的V4超級(jí)充電樁(基于V3充電柜構(gòu)建)的潛力,旨在突破300千瓦的充電功率上限,這一舉措標(biāo)志著特斯拉
    的頭像 發(fā)表于 08-06 16:52 ?824次閱讀

    FPGA集群實(shí)現(xiàn)高級(jí)并行編程

    今天我們看的這篇論文介紹了FPGA集群實(shí)現(xiàn)高級(jí)并行編程的研究,其主要目標(biāo)是為非FPGA專家提供一個(gè)成熟且易于使用的環(huán)境,以便在多個(gè)并行
    的頭像 發(fā)表于 07-24 14:54 ?1263次閱讀

    “自我實(shí)現(xiàn)的預(yù)言”摩爾定律,如何繼續(xù)引領(lǐng)創(chuàng)新

    未來的自己制定了一個(gè)遠(yuǎn)大但切實(shí)可行的目標(biāo)一樣, 摩爾定律是半導(dǎo)體行業(yè)的自我實(shí)現(xiàn) 。雖然被譽(yù)為技術(shù)創(chuàng)新的“黃金法則”,但一些事情尚未廣為人知……. 1.?戈登·摩爾完善過
    的頭像 發(fā)表于 07-05 15:02 ?275次閱讀

    X-CUBE-CRYPTOLIB V4庫(kù)文件無法添加,鏈接錯(cuò)誤的原因?

    看官方介紹,V4版本的靜態(tài)庫(kù)是支持多個(gè)編譯器的,芯片是stm32h743,我用的是arm-none-eabi-gcc,版本是gcc version 13.2.1 20231009 (Arm GNU
    發(fā)表于 05-31 07:54

    STM32 x 米爾共同推動(dòng)工業(yè)行業(yè)應(yīng)用創(chuàng)新

    STM32 x 米爾共同推動(dòng)工業(yè)行業(yè)應(yīng)用創(chuàng)新
    的頭像 發(fā)表于 05-30 08:01 ?585次閱讀
    STM32 x <b class='flag-5'>米爾</b>共同推動(dòng)工業(yè)行業(yè)應(yīng)用<b class='flag-5'>創(chuàng)新</b>

    米爾-芯馳D9360商顯板試用評(píng)測(cè)】使用ffmpeg實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控

    ,解壓,直接上傳給開發(fā)板。 2、插上攝像頭,查看攝像頭的編號(hào): 3、win11安裝好esadarwin,并開啟服務(wù),配置文件中,我
    發(fā)表于 04-11 13:07

    高精度納米級(jí)壓電位移平臺(tái)“PIEZOCONCEPT”!

    高精度納米級(jí)壓電位移平臺(tái)“PIEZOCONCEPT”半導(dǎo)體界摩爾時(shí)代的手術(shù)刀!第三代半導(dǎo)體是摩爾時(shí)代實(shí)現(xiàn)芯片性能突破的核心技術(shù)之一,優(yōu)越
    的頭像 發(fā)表于 01-26 08:16 ?747次閱讀
    高精度納米級(jí)壓電位移平臺(tái)“PIEZOCONCEPT”!