中國自動化學會專家谘詢工作委員會指定宣傳媒體
新聞詳情

米爾RK3576邊緣計算盒精準驅動菜品識別模型性能強悍

http://www.kadhoai.com.cn 2026-04-07 08:54:01 來源:米爾電子

在人工智能與邊緣計算深度融合的今天,將AI模型高效部署於終端設備已成為產業智能化的關鍵。本文將分享基於米爾MYD-LR3576邊緣計算盒子部署菜品識別安卓Demo的實戰經驗。該設備憑借其內置的強勁瑞芯微RK3576芯片,為視覺識別模型提供了充沛的本地AI算力,成功將“智慧識菜”的能力濃縮於方寸之間,充分證明了其作為邊緣AI應用堅實載體的卓越性能與可靠性。

實機演示效果

本地部署,實時推理。在這段實機視頻中,MYD-LR3576正同步運行YOLOv11s(目標檢測)與PPLCNetV2(特征提取)模型。其性能核心在於:兩個模型的NPU推理時間均被壓縮至驚人的20ms/幀,為高性能邊緣AI應用提供了堅實底座。

本文以米爾電子的MYD-LR3576邊緣計算盒子為例,講解如何在Android平台部署yolo11s、PPLCNETV2模型實現實時菜品識別。為開發者與研究者提供一份兼具實踐參考與技術洞察的模型端到端的部署指南。

MYD-LR3576邊緣計算盒(搭載米爾基於RK3576核心板)

1. 基本介紹

1.1 邊緣計算盒

米爾MYD-LR3576-B邊緣計算盒是一款基於瑞芯微RK3576處理器設計的高性能嵌入式AI設備。 該處理器集成八核CPU架構(4×Cortex-A72 + 4×Cortex-A53)與算力達6 TOPS的NPU(2核心),具備強大的邊緣端AI推理能力。

產品標配8GB LPDDR4X內存與64GB eMMC存儲,支持雙千兆網口、WiFi 6、多路USB 3.0及4K顯示輸出,提供完整的Debian/Linux軟件開發環境。

憑借其高性能NPU與豐富接口,該設備可高效支撐計算機視覺、智能分析等邊緣AI場景,為菜品識別、工業質檢等應用提供穩定可靠的硬件平台。

1.2 RKNN-Toolkit2 SDK

要將YOLOv11s、PPLCNetV2等主流AI模型高效地部署在MYD-LR3576-B這樣的邊緣設備上,並充分發揮其NPU的算力,離不開一個關鍵的軟件工具鏈——RKNN-Toolkit2。這是由瑞芯微官方提供的核心SDK,專為其RK係列芯片的NPU(神經網絡處理單元)設計。

GitHub倉庫: https://github.com/airockchip/rknn-toolkit2

1.2.1 RKNN-Toolkit2 是什麼?

RKNN-Toolkit2是一個功能完整的模型轉換、推理和性能評估工具包。它的核心作用在於充當一個“翻譯官”和“優化器”,將開發者們在主流深度學習框架(如PyTorch, TensorFlow, ONNX等)上訓練好的模型,轉換成可以在瑞芯微NPU上高效運行的專用格式——RKNN模型。

1.2.2 核心功能與工作流程

該工具鏈為AI模型在邊緣端的部署提供了全流程支持:

1. 模型轉換

  • 支持多框架輸入: 可直接加載PyTorch(.pt)、TensorFlow(.pb)、ONNX(.onnx)等格式的模型。
  • 量化優化: 支持將FP32模型量化為INT8或INT16精度,在保證精度的同時,大幅減小模型體積、提升推理速度、降低功耗。這正是實現20ms超快推理的關鍵步驟之一。
  • 模型優化: 工具會自動對模型圖結構進行編譯和優化,使其適配RKNPU的硬件架構,提取最大性能。

2. 仿真推理與精度分析

  • 在模型部署到物理設備(如MYD-LR3576-B)之前,可以在PC上進行仿真推理,驗證模型轉換後的正確性和精度,極大方便了前期的調試工作。

3. 性能評估

  • 提供模型性能分析工具,可以評估模型在NPU上的理論推理時間和內存占用,幫助開發者進行模型選型和優化。

4. 跨平台部署支持

  • 除了Python環境下的開發工具,RKNN-Toolkit2還提供了C/C++版本的運行時庫(RKNN API)。這使得開發者可以輕鬆地將優化後的RKNN模型集成到最終的生產環境中,無論是Linux、Android還是Debian係統(正如MYD-LR3576-B所搭載的),都能實現高效、低延遲的推理。

1.2.3 與MYD-LR3576的完美協同

在本文的菜品識別Demo中,正是利用了RKNN-Toolkit2的強大能力:

  • 步驟一: 在PC端將預訓練好的YOLOv11s(目標檢測)和PPLCNetV2(圖像分類)模型通過該工具鏈轉換為.rknn格式文件。
  • 步驟二: 將轉換好的RKNN模型文件與調用RKNN Runtime的應用程序一同部署到MYD-LR3576邊緣計算盒上。
  • 步驟三: 應用程序通過RKNN Runtime API加載模型,調用NPU執行計算,最終實現了雙模型協同、單次推理均僅20ms的卓越性能。

總結而言,RKNN-Toolkit2是釋放MYD-LR3576-B內部6 TOPS NPU潛力的鑰匙。 它大大降低了開發者將AI模型部署到瑞芯微邊緣計算平台的技術門檻和開發周期,使得構建像實時菜品識別這樣的高性能AI應用變得簡單而高效。

1.3 RKNN Model Zoo

RKNN Model Zoo 是一個專為瑞芯微NPU打造的 “模型商店” 或 “開箱即用模型庫” 。該項目收集了大量經典的、高性能的深度學習模型,並已經過預轉換和調優,直接提供了現成的 RKNN格式模型文件,同時附帶了完整的示例代碼。

Github地址:https://github.com/airockchip/rknn_model_zoo

RKNN Model Zoo優點:

  • 開箱即用的體驗: 開發者無需從頭開始進行模型訓練和複雜的轉換調試,可以直接下載所需的RKNN模型文件,利用提供的示例代碼在MYD-LR3576等設備上快速運行起來,立即看到效果,極大地縮短了概念驗證(PoC)的周期。
  • 官方性能保證: 倉庫中的模型都提供了詳細的性能基準數據,包括在特定RK芯片上的推理速度和精度。這為開發者選型提供了權威參考,確保模型在目標設備上能夠達到預期的性能。
  • 最佳實踐範例: 每個模型都附帶完整的C++和Python示例代碼,清晰地展示了如何加載RKNN模型、進行數據預處理、執行推理以及解析輸出結果。這對於學習如何在自己的應用程序中集成和調用RKNN模型而言,是極具價值的學習資料。

2. 搭建環境

2.1 刷入Android係統

米爾的MYD-LR3576邊緣盒子默認是Linux係統,在我們的場景中,需要先刷機為Android係統。

2.1.1 獲取資料

登錄米爾開發者中心(https://dev.myir.cn/auth/login.html),在開發者平台注冊綁定產品信息,在包裝盒側麵會有一個產品型號係列號,可通過微信掃碼綁定。 綁定成功後,依次點擊我的產品->軟件資料->Android14操作係統:

然後複製提取碼後點擊“阿裏雲盤”字樣即可打開米爾提供的所有相關資料文件。如:

01-Docs(ZH)/MYD-LR3576-GK Android 軟件開發指南-V1.0.pdf
02-Images/myir-image-lr3576-android14.zip
03-Tools

是我們需要的文件,分別是軟件開發指南、安卓係統鏡像文件以及工具,下載上述文件。

2.1.2 鏡像燒錄

在(zai)軟(ruan)件(jian)開(kai)發(fa)指(zhi)南(nan)中(zhong)的(de)第(di)四(si)章(zhang)有(you)詳(xiang)細(xi)的(de)鏡(jing)像(xiang)編(bian)譯(yi)步(bu)驟(zhou),開(kai)發(fa)者(zhe)可(ke)以(yi)根(gen)據(ju)情(qing)況(kuang)自(zi)行(xing)編(bian)譯(yi)鏡(jing)像(xiang),方(fang)便(bian)進(jin)行(xing)自(zi)定(ding)義(yi)。本(ben)文(wen)直(zhi)接(jie)使(shi)用(yong)了(le)資(zi)料(liao)中(zhong)已(yi)經(jing)編(bian)譯(yi)好(hao)的(de)Android鏡像進行燒錄。

1. 安裝驅動

驅動安裝工具壓縮包位於 03-Tools/DriverAssitant 目錄下,解壓運行 DriverAssitant工具,出現以下界麵,首先點擊卸載驅動,然後點擊驅動安裝:

2. 燒錄鏡像到EMMC

RKDevTool是瑞芯微提供的適用於 RK 係列芯片的 windows 下的便捷開發工具,為開發人員提供了固件燒錄/鏡像燒錄|設備擦除|設備切換/固件解包等功能。

  1. 首先登陸邊緣盒子,使用Type-C線將邊緣盒子的DEBUG(電源接口旁寫著Type-C字樣)口連接到windows電腦;然後打開設備管理器,配置COM口參數:
  • 波特率:115200
  • 數據位:8
  • 停止位:1
  • 校驗位:無
  • 流控:無
  • 打開串口終端軟件填入上述參數,然後給盒子上電,即可進入係統;
  1. 進入係統後在終端輸入reboot loader即可進入loader模式;
  2. 打開工具文件夾下的RKDevTool(沒有解壓請解壓),雙擊RKDevTool.exe,會看到提示:發現一個LOADER設備;
  3. 此時點擊升級固件->固件,選擇剛剛下載的Android鏡像文件(剛下載的為zip文件,解壓出裏麵的鏡像文件),然後點擊升級按鈕並等待完成:

  1. 此時已經完成Android係統的燒錄。

2.2 準備RKNN-Toolkit2環境

注意:這裏的操作是在另外一台電腦上操作,並且已經配置了python環境或Conda環境。為模型轉換、量化以及測試提供基礎環境。

1. 可以直接通過網絡安裝:

pip install rknn-toolkit2 -i https://pypi.org/simple
# 如果已安裝 RKNN-Toolkit2,可通過以下命令升級 RKNN-Toolkit2
pip install rknn-toolkit2 -i https://pypi.org/simple --upgrade

2. 通過本地 wheel 包安裝

首先克隆RKNN-Toolkit2項目文件:

git clone https://github.com/airockchip/rknn-toolkit2.git -d 1

或者手動下載下麵涉及到的文件。

然後進入項目根目錄後:

# 請根據不同的 python 版本及處理器架構,選擇不同的 requirements 文件:
# 其中 cpxx 是 python 版本號
pip install -r packages/arm64/arm64_requirements_cpxx.txt

# 安裝 RKNN-Toolkit2
# 請根據不同的 python 版本及處理器架構,選擇不同的 wheel 安裝包文件:
# 其中 x.x.x 是 RKNN-Toolkit2 版本號,cpxx 是 python 版本號
pip install packages/arm64/rknn_toolkit2-2.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

3. 模型轉換

rknn_model_zoo中包含了很多官方已經適配的模型,包括模型訓練以及模型轉換腳本。

3.1 yolo11模型轉換

rknn_model_zoo中已經包含了yolo全係列模型,因此yolo11模型的轉換非常簡單,我們直接將訓練好的模型(通常是.pt格式)先轉為onnx格式。該轉換過程通常建議在與訓練模型相同的環境中進行,如何進行yolo11的模型訓練不是本文重點,可參考: https://github.com/airockchip/ultralytics_yolo11 進行訓練。 轉換命令:

# 調整 ./ultralytics/cfg/default.yaml 中 model 文件路徑,默認為 yolo11n.pt
# 在 ultralytics_yolo11 的項目根目錄執行
export PYTHONPATH=./
python ./ultralytics/engine/exporter.py

執行完畢後,會生成 ONNX 模型。假如原始模型為 yolo11s.pt,則生成 yolo11s.onnx 模型。 然後進入rknn_model_zoo項目根目錄,再依次進入examples/yolo11/python路徑下,有一個python轉換腳本:convert.py,可通過python convert.py 查看腳本幫助文檔:

python convert.py
Usage: python3 convert.py onnx_model_path [platform] [dtype(optional)] [output_rknn_path(optional)]
       platform choose from [rk3562, rk3566, rk3568, rk3576, rk3588, rv1126b, rv1109, rv1126, rk1808]
       dtype choose from [i8, fp] for [rk3562, rk3566, rk3568, rk3576, rk3588, rv1126b]
       dtype choose from [u8, fp] for [rv1109, rv1126, rk1808]

根據文檔可知,腳本的第一個參數是要被轉換的onnx模型路徑,第二個參數是平台,即SOC型號,第三個參數是量化相關,我們的平台是rk3576,如果量化則選i8,不量化則選fp。我們這裏選擇量化:

選擇量化需要準備校準數據,讀取的數據路徑在腳本中已經固定為../../../datasets/COCO/coco_subset_20.txt,這裏需要修改為我們自己的數據,數量建議至少20張。

python convert.py onnx模型路徑/yolo11s.onnx rk3576 i8

轉換成功後可看到:

腳本默認將轉換後的模型存儲在../model中。

3.2 PPLCNETV2模型轉換

PPLCNETV2網絡是Paddle提供的,因此需要使用paddle2onnx工具,先將paddle格式轉為onnx格式:

paddle2onnx \
  --model_dir models/ \
  --model_filename inference.pdmodel \
  --params_filename inference.pdiparams \
  --save_file paddle_feature_one_batch.onnx \
  --opset_version 11 \
  -isd "{'x':[ 1, 3, 320, 320 ]}"

由於RKNN官方沒有PPLCNET模型的Demo,因此我們需要自己根據模型轉換的API文檔編寫rknn模型的轉換腳本,可複製一份Yolo11的轉換腳本進行修改,重點修改模型的輸入輸出形狀、歸一化參數等。然後參考yolo11的轉換命令進行轉換。

4. 菜品識別案例

本章將詳細介紹基於米爾MYD-LR3576邊緣計算盒開發的菜品識別安卓Demo應用。該案例完整展示了從特征庫構建到實時識別的全流程,充分體現了設備在端側AI應用中的實用性與高性能。

4.1 特征注冊

特征注冊是構建可擴展菜品識別係統的關鍵第一步,其目的是為係統創建一個本地的、可定製的菜品特征庫。

  • 操作流程: 用戶在Demo界麵點擊“特征注冊”按鈕後選擇一個事先準備好的文件夾。該文件夾內部包含多個子文件夾,每個子文件夾代表一道唯一的菜品,並以菜品名稱命名(例如:“紅燒肉”、“清蒸鱸魚”)。子文件夾內則包含該菜品從不同角度、在不同光照條件下拍攝的若幹張圖片。
  • 技術實現: Demo應用會遍曆整個文件夾結構。對於每一張圖片,係統會調用內置的PPLCNetV2特征提取模型進行特征提取。該模型會將輸入的菜品圖片轉換成一個高維、緊湊的特征向量(也就是老生常談的特征嵌入)。最(zui)後(hou),係(xi)統(tong)將(jiang)每(mei)道(dao)菜(cai)所(suo)有(you)圖(tu)片(pian)的(de)特(te)征(zheng)向(xiang)量(liang)與(yu)其(qi)名(ming)稱(cheng)關(guan)聯(lian)起(qi)來(lai),使(shi)用(yong)向(xiang)量(liang)數(shu)據(ju)庫(ku)存(cun)儲(chu)於(yu)設(she)備(bei)本(ben)地(di),形(xing)成(cheng)一(yi)個(ge)結(jie)構(gou)化(hua)且(qie)高(gao)效(xiao)查(zha)詢(xun)的(de)特(te)征(zheng)數(shu)據(ju)庫(ku)。

該設計的優勢在於:用戶無需重新訓練龐大的深度學習模型,僅需提供數十張示例圖片,即可快速、靈活地擴充或修改係統所能識別的菜品庫,極大地提升了應用的實用性和適應性。

4.2 菜品識別

Demo提供了三種識別模式,以適應不同場景下的需求:

4.2.1 拍照識別

用戶可以直接調用設備攝像頭,現場對菜品進行拍照。拍完後,係統立即對照片進行識別,並繪製識別結果。

4.2.2 本地圖片識別

用戶可以從手機相冊中選擇已有的菜品圖片進行識別。

4.2.3 實時視頻流識別

Demo啟動設備攝像頭並開啟實時預覽,視頻流中的每一幀都會被送入識別流水線。係統能夠連續、不間斷地進行識別,並將結果實時覆蓋顯示在視頻畫麵上,提供流暢的“所見即所識”體驗。

4.3 識別流水線與性能表現

無論采用哪種識別模式,其核心的識別流水線是相同的,並且都得益於MYD-LR3576強大的NPU算力:

1. 目標檢測: 當一張圖片或視頻幀輸入後,首先由 YOLOv11s模型進行推理。它的任務是精準定位圖片中菜品所在的位置,並輸出其邊界框,為後續處理劃定了關鍵區域。

2. 特征提取: 係統將YOLOv11s檢測出的菜品區域裁剪出來,並送入 PPLCNetV2特征提取模型中,生成該區域的特征向量。

3. 特征比對: 最後,係統將這個新生成的特征向量與特征注冊階段建立的數據庫中的所有已知特征向量進行相似度計算(通常使用餘弦相似度)。找出相似度最高的已知菜品,並將其名稱作為識別結果輸出。

性能亮點: 在MYD-LR3576上,經過RKNN-Toolkit2優化後,YOLOv11s和PPLCNetV2這兩個模型在NPU上的單次推理時間均穩定在20ms左右,這確保了即使在最耗費資源的實時視頻流模式下,係統也能保持較流暢的識別幀率。

4.4 準確率評估功能

為了量化識別係統的可靠性,Demohaineizhilezhunquelvpinggugongneng。yonghukeyixuanzeyigebaohanyibiaozhutupiandeceshiji,xitonghuizidongyunxingpiliangshibie,bingjiangshibiejieguoyuzhenshibiaoqianjinxingbidui,zuizhongshengchengyifenbaohanzhunquelvdengguanjianzhibiaodepinggubaogao,weimoxingyouhuahetezhengkuwanshantigongleshujuyiju。

4.5 案例總結

該菜品識別Demo僅實現了基礎功能,且沒有做針對性優化,如所有操作都是同步進行,即攝像頭數據獲取或讀取本地圖像->格式轉換->色彩空間轉換->預處理->模型推理->結果後處理這一整套流程都是同步進行,且模型推理時僅使用了一個NPU核心(共兩個),如果使用NPU進行圖像處理並配合圖像隊列異步處理以及充分利用NPU核心,其性能可以達到15-20幀。即便Demo沒有針對優化,RK3576的性能同樣足夠支撐端側複雜AI流水線的能力。從高效的特征注冊到實時的多模型推理,其強勁的NPU算力是實現所有功能流暢運行的基石,為智慧餐飲等領域提供了可靠的硬件解決方案。

MYD-LR3576-B邊緣計算盒:

產品鏈接:https://www.myir.cn/shows/138/24.html

天貓鏈接:https://detail.tmall.com/item.htm?id=886580845138

版權所有 工控網 Copyright©2026 Gkong.com, All Rights Reserved