http://alilang188.cn 2025-10-30 15:52 來(lái)源:米爾電子
在人工智能與邊緣計(jì)算深度融合的今天,將AI模型高效部署于終端設(shè)備已成為產(chǎn)業(yè)智能化的關(guān)鍵。本文將分享基于米爾MYD-LR3576邊緣計(jì)算盒子部署菜品識(shí)別安卓Demo的實(shí)戰(zhàn)經(jīng)驗(yàn)。該設(shè)備憑借其內(nèi)置的強(qiáng)勁瑞芯微RK3576芯片,為視覺(jué)識(shí)別模型提供了充沛的本地AI算力,成功將“智慧識(shí)菜”的能力濃縮于方寸之間,充分證明了其作為邊緣AI應(yīng)用堅(jiān)實(shí)載體的卓越性能與可靠性。
實(shí)機(jī)演示效果

本地部署,實(shí)時(shí)推理。在這段實(shí)機(jī)視頻中,MYD-LR3576正同步運(yùn)行YOLOv11s(目標(biāo)檢測(cè))與PPLCNetV2(特征提?。┠P汀F湫阅芎诵脑谟冢簝蓚€(gè)模型的NPU推理時(shí)間均被壓縮至驚人的20ms/幀,為高性能邊緣AI應(yīng)用提供了堅(jiān)實(shí)底座。
本文以米爾電子的MYD-LR3576邊緣計(jì)算盒子為例,講解如何在Android平臺(tái)部署yolo11s、PPLCNETV2模型實(shí)現(xiàn)實(shí)時(shí)菜品識(shí)別。為開(kāi)發(fā)者與研究者提供一份兼具實(shí)踐參考與技術(shù)洞察的模型端到端的部署指南。

MYD-LR3576邊緣計(jì)算盒(搭載米爾基于RK3576核心板)
1. 基本介紹
1.1 邊緣計(jì)算盒
米爾MYD-LR3576-B邊緣計(jì)算盒是一款基于瑞芯微RK3576處理器設(shè)計(jì)的高性能嵌入式AI設(shè)備。 該處理器集成八核CPU架構(gòu)(4×Cortex-A72 + 4×Cortex-A53)與算力達(dá)6 TOPS的NPU(2核心),具備強(qiáng)大的邊緣端AI推理能力。
產(chǎn)品標(biāo)配8GB LPDDR4X內(nèi)存與64GB eMMC存儲(chǔ),支持雙千兆網(wǎng)口、WiFi 6、多路USB 3.0及4K顯示輸出,提供完整的Debian/Linux軟件開(kāi)發(fā)環(huán)境。


憑借其高性能NPU與豐富接口,該設(shè)備可高效支撐計(jì)算機(jī)視覺(jué)、智能分析等邊緣AI場(chǎng)景,為菜品識(shí)別、工業(yè)質(zhì)檢等應(yīng)用提供穩(wěn)定可靠的硬件平臺(tái)。
1.2 RKNN-Toolkit2 SDK
要將YOLOv11s、PPLCNetV2等主流AI模型高效地部署在MYD-LR3576-B這樣的邊緣設(shè)備上,并充分發(fā)揮其NPU的算力,離不開(kāi)一個(gè)關(guān)鍵的軟件工具鏈——RKNN-Toolkit2。這是由瑞芯微官方提供的核心SDK,專為其RK系列芯片的NPU(神經(jīng)網(wǎng)絡(luò)處理單元)設(shè)計(jì)。
GitHub倉(cāng)庫(kù): https://github.com/airockchip/rknn-toolkit2
1.2.1 RKNN-Toolkit2 是什么?
RKNN-Toolkit2是一個(gè)功能完整的模型轉(zhuǎn)換、推理和性能評(píng)估工具包。它的核心作用在于充當(dāng)一個(gè)“翻譯官”和“優(yōu)化器”,將開(kāi)發(fā)者們?cè)谥髁魃疃葘W(xué)習(xí)框架(如PyTorch, TensorFlow, ONNX等)上訓(xùn)練好的模型,轉(zhuǎn)換成可以在瑞芯微NPU上高效運(yùn)行的專用格式——RKNN模型。
1.2.2 核心功能與工作流程
該工具鏈為AI模型在邊緣端的部署提供了全流程支持:
1. 模型轉(zhuǎn)換
2. 仿真推理與精度分析
3. 性能評(píng)估
4. 跨平臺(tái)部署支持
1.2.3 與MYD-LR3576的完美協(xié)同
在本文的菜品識(shí)別Demo中,正是利用了RKNN-Toolkit2的強(qiáng)大能力:
總結(jié)而言,RKNN-Toolkit2是釋放MYD-LR3576-B內(nèi)部6 TOPS NPU潛力的鑰匙。 它大大降低了開(kāi)發(fā)者將AI模型部署到瑞芯微邊緣計(jì)算平臺(tái)的技術(shù)門(mén)檻和開(kāi)發(fā)周期,使得構(gòu)建像實(shí)時(shí)菜品識(shí)別這樣的高性能AI應(yīng)用變得簡(jiǎn)單而高效。
1.3 RKNN Model Zoo
RKNN Model Zoo 是一個(gè)專為瑞芯微NPU打造的 “模型商店” 或 “開(kāi)箱即用模型庫(kù)” 。該項(xiàng)目收集了大量經(jīng)典的、高性能的深度學(xué)習(xí)模型,并已經(jīng)過(guò)預(yù)轉(zhuǎn)換和調(diào)優(yōu),直接提供了現(xiàn)成的 RKNN格式模型文件,同時(shí)附帶了完整的示例代碼。
Github地址:https://github.com/airockchip/rknn_model_zoo
RKNN Model Zoo優(yōu)點(diǎn):
2. 搭建環(huán)境
2.1 刷入Android系統(tǒng)
米爾的MYD-LR3576邊緣盒子默認(rèn)是Linux系統(tǒng),在我們的場(chǎng)景中,需要先刷機(jī)為Android系統(tǒng)。
2.1.1 獲取資料
登錄米爾開(kāi)發(fā)者中心(https://dev.myir.cn/auth/login.html),在開(kāi)發(fā)者平臺(tái)注冊(cè)綁定產(chǎn)品信息,在包裝盒側(cè)面會(huì)有一個(gè)產(chǎn)品型號(hào)系列號(hào),可通過(guò)微信掃碼綁定。 綁定成功后,依次點(diǎn)擊我的產(chǎn)品->軟件資料->Android14操作系統(tǒng):

然后復(fù)制提取碼后點(diǎn)擊“阿里云盤(pán)”字樣即可打開(kāi)米爾提供的所有相關(guān)資料文件。如:
01-Docs(ZH)/MYD-LR3576-GK Android 軟件開(kāi)發(fā)指南-V1.0.pdf
02-Images/myir-image-lr3576-android14.zip
03-Tools
是我們需要的文件,分別是軟件開(kāi)發(fā)指南、安卓系統(tǒng)鏡像文件以及工具,下載上述文件。
2.1.2 鏡像燒錄
在軟件開(kāi)發(fā)指南中的第四章有詳細(xì)的鏡像編譯步驟,開(kāi)發(fā)者可以根據(jù)情況自行編譯鏡像,方便進(jìn)行自定義。本文直接使用了資料中已經(jīng)編譯好的Android鏡像進(jìn)行燒錄。
1. 安裝驅(qū)動(dòng)
驅(qū)動(dòng)安裝工具壓縮包位于 03-Tools/DriverAssitant 目錄下,解壓運(yùn)行 DriverAssitant工具,出現(xiàn)以下界面,首先點(diǎn)擊卸載驅(qū)動(dòng),然后點(diǎn)擊驅(qū)動(dòng)安裝:


2. 燒錄鏡像到EMMC
RKDevTool是瑞芯微提供的適用于 RK 系列芯片的 windows 下的便捷開(kāi)發(fā)工具,為開(kāi)發(fā)人員提供了固件燒錄/鏡像燒錄|設(shè)備擦除|設(shè)備切換/固件解包等功能。

2.2 準(zhǔn)備RKNN-Toolkit2環(huán)境
❝
注意:這里的操作是在另外一臺(tái)電腦上操作,并且已經(jīng)配置了python環(huán)境或Conda環(huán)境。為模型轉(zhuǎn)換、量化以及測(cè)試提供基礎(chǔ)環(huán)境。
1. 可以直接通過(guò)網(wǎng)絡(luò)安裝:
pip install rknn-toolkit2 -i https://pypi.org/simple
# 如果已安裝 RKNN-Toolkit2,可通過(guò)以下命令升級(jí) RKNN-Toolkit2
pip install rknn-toolkit2 -i https://pypi.org/simple --upgrade
2. 通過(guò)本地 wheel 包安裝
首先克隆RKNN-Toolkit2項(xiàng)目文件:
git clone https://github.com/airockchip/rknn-toolkit2.git -d 1
或者手動(dòng)下載下面涉及到的文件。
然后進(jìn)入項(xiàng)目根目錄后:
# 請(qǐng)根據(jù)不同的 python 版本及處理器架構(gòu),選擇不同的 requirements 文件:
# 其中 cpxx 是 python 版本號(hào)
pip install -r packages/arm64/arm64_requirements_cpxx.txt
# 安裝 RKNN-Toolkit2
# 請(qǐng)根據(jù)不同的 python 版本及處理器架構(gòu),選擇不同的 wheel 安裝包文件:
# 其中 x.x.x 是 RKNN-Toolkit2 版本號(hào),cpxx 是 python 版本號(hào)
pip install packages/arm64/rknn_toolkit2-2.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3. 模型轉(zhuǎn)換
rknn_model_zoo中包含了很多官方已經(jīng)適配的模型,包括模型訓(xùn)練以及模型轉(zhuǎn)換腳本。
3.1 yolo11模型轉(zhuǎn)換
rknn_model_zoo中已經(jīng)包含了yolo全系列模型,因此yolo11模型的轉(zhuǎn)換非常簡(jiǎn)單,我們直接將訓(xùn)練好的模型(通常是.pt格式)先轉(zhuǎn)為onnx格式。該轉(zhuǎn)換過(guò)程通常建議在與訓(xùn)練模型相同的環(huán)境中進(jìn)行,如何進(jìn)行yolo11的模型訓(xùn)練不是本文重點(diǎn),可參考: https://github.com/airockchip/ultralytics_yolo11 進(jìn)行訓(xùn)練。 轉(zhuǎn)換命令:
# 調(diào)整 ./ultralytics/cfg/default.yaml 中 model 文件路徑,默認(rèn)為 yolo11n.pt
# 在 ultralytics_yolo11 的項(xiàng)目根目錄執(zhí)行
export PYTHONPATH=./
python ./ultralytics/engine/exporter.py
執(zhí)行完畢后,會(huì)生成 ONNX 模型。假如原始模型為 yolo11s.pt,則生成 yolo11s.onnx 模型。 然后進(jìn)入rknn_model_zoo項(xiàng)目根目錄,再依次進(jìn)入examples/yolo11/python路徑下,有一個(gè)python轉(zhuǎn)換腳本:convert.py,可通過(guò)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]
根據(jù)文檔可知,腳本的第一個(gè)參數(shù)是要被轉(zhuǎn)換的onnx模型路徑,第二個(gè)參數(shù)是平臺(tái),即SOC型號(hào),第三個(gè)參數(shù)是量化相關(guān),我們的平臺(tái)是rk3576,如果量化則選i8,不量化則選fp。我們這里選擇量化:
❝
⚠️ 選擇量化需要準(zhǔn)備校準(zhǔn)數(shù)據(jù),讀取的數(shù)據(jù)路徑在腳本中已經(jīng)固定為../../../datasets/COCO/coco_subset_20.txt,這里需要修改為我們自己的數(shù)據(jù),數(shù)量建議至少20張。
python convert.py onnx模型路徑/yolo11s.onnx rk3576 i8
轉(zhuǎn)換成功后可看到:

腳本默認(rèn)將轉(zhuǎn)換后的模型存儲(chǔ)在../model中。
3.2 PPLCNETV2模型轉(zhuǎn)換
PPLCNETV2網(wǎng)絡(luò)是Paddle提供的,因此需要使用paddle2onnx工具,先將paddle格式轉(zhuǎn)為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官方?jīng)]有PPLCNET模型的Demo,因此我們需要自己根據(jù)模型轉(zhuǎn)換的API文檔編寫(xiě)rknn模型的轉(zhuǎn)換腳本,可復(fù)制一份Yolo11的轉(zhuǎn)換腳本進(jìn)行修改,重點(diǎn)修改模型的輸入輸出形狀、歸一化參數(shù)等。然后參考yolo11的轉(zhuǎn)換命令進(jìn)行轉(zhuǎn)換。
4. 菜品識(shí)別案例
本章將詳細(xì)介紹基于米爾MYD-LR3576邊緣計(jì)算盒開(kāi)發(fā)的菜品識(shí)別安卓Demo應(yīng)用。該案例完整展示了從特征庫(kù)構(gòu)建到實(shí)時(shí)識(shí)別的全流程,充分體現(xiàn)了設(shè)備在端側(cè)AI應(yīng)用中的實(shí)用性與高性能。
4.1 特征注冊(cè)
特征注冊(cè)是構(gòu)建可擴(kuò)展菜品識(shí)別系統(tǒng)的關(guān)鍵第一步,其目的是為系統(tǒng)創(chuàng)建一個(gè)本地的、可定制的菜品特征庫(kù)。
該設(shè)計(jì)的優(yōu)勢(shì)在于:用戶無(wú)需重新訓(xùn)練龐大的深度學(xué)習(xí)模型,僅需提供數(shù)十張示例圖片,即可快速、靈活地?cái)U(kuò)充或修改系統(tǒng)所能識(shí)別的菜品庫(kù),極大地提升了應(yīng)用的實(shí)用性和適應(yīng)性。
4.2 菜品識(shí)別
Demo提供了三種識(shí)別模式,以適應(yīng)不同場(chǎng)景下的需求:
4.2.1 拍照識(shí)別

用戶可以直接調(diào)用設(shè)備攝像頭,現(xiàn)場(chǎng)對(duì)菜品進(jìn)行拍照。拍完后,系統(tǒng)立即對(duì)照片進(jìn)行識(shí)別,并繪制識(shí)別結(jié)果。
4.2.2 本地圖片識(shí)別

用戶可以從手機(jī)相冊(cè)中選擇已有的菜品圖片進(jìn)行識(shí)別。
4.2.3 實(shí)時(shí)視頻流識(shí)別

Demo啟動(dòng)設(shè)備攝像頭并開(kāi)啟實(shí)時(shí)預(yù)覽,視頻流中的每一幀都會(huì)被送入識(shí)別流水線。系統(tǒng)能夠連續(xù)、不間斷地進(jìn)行識(shí)別,并將結(jié)果實(shí)時(shí)覆蓋顯示在視頻畫(huà)面上,提供流暢的“所見(jiàn)即所識(shí)”體驗(yàn)。
4.3 識(shí)別流水線與性能表現(xiàn)
無(wú)論采用哪種識(shí)別模式,其核心的識(shí)別流水線是相同的,并且都得益于MYD-LR3576強(qiáng)大的NPU算力:
1. 目標(biāo)檢測(cè): 當(dāng)一張圖片或視頻幀輸入后,首先由 YOLOv11s模型進(jìn)行推理。它的任務(wù)是精準(zhǔn)定位圖片中菜品所在的位置,并輸出其邊界框,為后續(xù)處理劃定了關(guān)鍵區(qū)域。
2. 特征提?。?/strong> 系統(tǒng)將YOLOv11s檢測(cè)出的菜品區(qū)域裁剪出來(lái),并送入 PPLCNetV2特征提取模型中,生成該區(qū)域的特征向量。
3. 特征比對(duì): 最后,系統(tǒng)將這個(gè)新生成的特征向量與特征注冊(cè)階段建立的數(shù)據(jù)庫(kù)中的所有已知特征向量進(jìn)行相似度計(jì)算(通常使用余弦相似度)。找出相似度最高的已知菜品,并將其名稱作為識(shí)別結(jié)果輸出。
性能亮點(diǎn): 在MYD-LR3576上,經(jīng)過(guò)RKNN-Toolkit2優(yōu)化后,YOLOv11s和PPLCNetV2這兩個(gè)模型在NPU上的單次推理時(shí)間均穩(wěn)定在20ms左右,這確保了即使在最耗費(fèi)資源的實(shí)時(shí)視頻流模式下,系統(tǒng)也能保持較流暢的識(shí)別幀率。
4.4 準(zhǔn)確率評(píng)估功能
為了量化識(shí)別系統(tǒng)的可靠性,Demo還內(nèi)置了準(zhǔn)確率評(píng)估功能。用戶可以選擇一個(gè)包含已標(biāo)注圖片的測(cè)試集,系統(tǒng)會(huì)自動(dòng)運(yùn)行批量識(shí)別,并將識(shí)別結(jié)果與真實(shí)標(biāo)簽進(jìn)行比對(duì),最終生成一份包含準(zhǔn)確率等關(guān)鍵指標(biāo)的評(píng)估報(bào)告,為模型優(yōu)化和特征庫(kù)完善提供了數(shù)據(jù)依據(jù)。
4.5 案例總結(jié)
該菜品識(shí)別Demo僅實(shí)現(xiàn)了基礎(chǔ)功能,且沒(méi)有做針對(duì)性優(yōu)化,如所有操作都是同步進(jìn)行,即攝像頭數(shù)據(jù)獲取或讀取本地圖像->格式轉(zhuǎn)換->色彩空間轉(zhuǎn)換->預(yù)處理->模型推理->結(jié)果后處理這一整套流程都是同步進(jìn)行,且模型推理時(shí)僅使用了一個(gè)NPU核心(共兩個(gè)),如果使用NPU進(jìn)行圖像處理并配合圖像隊(duì)列異步處理以及充分利用NPU核心,其性能可以達(dá)到15-20幀。即便Demo沒(méi)有針對(duì)優(yōu)化,RK3576的性能同樣足夠支撐端側(cè)復(fù)雜AI流水線的能力。從高效的特征注冊(cè)到實(shí)時(shí)的多模型推理,其強(qiáng)勁的NPU算力是實(shí)現(xiàn)所有功能流暢運(yùn)行的基石,為智慧餐飲等領(lǐng)域提供了可靠的硬件解決方案。
MYD-LR3576-B邊緣計(jì)算盒:

產(chǎn)品鏈接:https://www.myir.cn/shows/138/24.html
天貓鏈接:https://detail.tmall.com/item.htm?id=886580845138