OPi 5Plus的SoC為Rockchip RK3588八核(4個Cortex-A76+4個Cortex-A55)架構(gòu)的64位處理器,主頻達 2.4GHz并帶有Mali-G610 GPU,除此之外的亮點還包括了一個 6 TOPS算力的NPU,支持TensorFlow、PyTorch等常見框架轉(zhuǎn)換,使其能夠作為處理AI影像的邊緣裝置。開發(fā)板上的周邊也相當豐富,包含2 Ports 2.5Gb Ethernet、3 Ports HDMI (2out + 1in)、5 Ports USB、M.2 E-Key等高速接口。從硬件數(shù)據(jù)看來相較樹莓派而言可說是全面性的碾壓,那么實際使用如何,一起往下看看!

怎么玩?
OPi 5 Plus支持多種操作系統(tǒng),包含 Ubuntu、Debian、Android與官方自研的 Orange Pi OS等, 各位可以自行挑選喜歡的image映像下載后燒錄到SD Card啟動。筆者這里選擇兼容性較好的Ubuntu,同時得利于Open Source的優(yōu)勢,安裝的是非官方的Ubuntu 22.04社群版本。燒錄完SD Card放入OPi 5 Plus再接上熒幕鍵盤網(wǎng)絡(luò)線等,上電后后經(jīng)過初始化設(shè)定即可以看到GNOME的桌面界面以及那只可愛的幸運水母。
就如同樹莓派一樣,當操作系統(tǒng)安裝完成后就能夠當作一般個人計算機使用,或是作為多媒體應(yīng)用,甚至是搭載到移動載具上都行。由于使用的是 Ubuntu系統(tǒng),軟件套件支持性也相當豐富。筆者實際使用 Chromium瀏覽器開啟YouTube 4K串流進行測試,順暢度可以說是明顯比樹莓派好上許多,也沒有任何影格丟失(frame drop)的現(xiàn)象!
神經(jīng)網(wǎng)絡(luò)運算單元 NPU
憑借著 RK3588處理器的強大效能,若使用OPi 5 Plus只是做 CPU運算就稍微可惜了,筆者本篇的最主要目的就是要體驗Rockchip的NPU執(zhí)行AI應(yīng)用的效能如何。官方在 github上有提供對應(yīng)RK3588 NPU的Library與范例程序rknpu2, 可以直接在OPi 5 Plus安裝并呼叫 NPU執(zhí)行,以下記錄安裝過程供各位參考。由于范例程序為C++語言需要進行編譯,先執(zhí)行系統(tǒng)更新并安裝必要套件:

從 GitHub下載Repo:

范例程序包含 API的使用與mobilenet及YOLOv5,選擇YOLOv5范例進行編譯:

執(zhí)行范例,帶入官方預(yù)訓(xùn)練的 YOLOv5模型檔 “yolov5s-640-640.rknn” 與推論圖片 “bus.jpg”:

完成后會產(chǎn)生輸出檔案 “out.jpg”,開啟后看到如下圖示,主要物件接有被偵測并標記出來:

(OPi5Plus執(zhí)行 YOLOv5圖片推論結(jié)果)
若是第一次執(zhí)行系統(tǒng)可能沒有安裝 RKNN的runtime library,會出現(xiàn)找不到.so動態(tài)連結(jié)Library導(dǎo)致執(zhí)行失敗,可以將此檔案庫提供的library復(fù)制到系統(tǒng)路徑:

YOLOv5實時影像推論
官方的范例并沒有提供從 Webcam擷取影像進行推論的范例,但大家可以參考社群上這一篇教學的內(nèi)容進行實作。準備好一個 UVC Webcam插上OPi 5 Plus的 USB孔,輸入指令安裝openCV相依套件:

移動到 rknpu2 YOLOv5范例的路徑:

下載社群 Maker提供的CMakeList.txt并復(fù)制到此目錄下;下載社群Maker提供的main.cc并復(fù)制到src目錄下。再次編譯程序碼:

完成后動到安裝路徑執(zhí)行范例程序,輸入下方指令執(zhí)行。指令帶入第三個參數(shù) “2” 代表使用/dev/Video2的裝置,“1280” 代表影像的寬度,“720” 則代表影像的高度,可以依各位實際的情況調(diào)整。


實際測試的結(jié)果在 1280×720 HD影像下的推論有10 FPS,若是將分辨率改為640×480則可以達到接近20 FPS。但從log看來執(zhí)行推論的過程約只耗費20ms左右,其余的時間則是耗費在影像的處理與顯示上了,效能可說是相當不賴。
模型轉(zhuǎn)換工具 RKNN-Toolkit2
上述的推論范例使用官方預(yù)訓(xùn)練的 RKNN模型檔,若是想要自行將不同框架的模型轉(zhuǎn)成RKNN在OPi 5 Plus上推論,就必須透過官方提供的 RKNN-Toolkit2這個工具。此工具必須要在x86的PC上執(zhí)行,作業(yè)系統(tǒng)要求為Ubuntu 18.04以上,Python 3.6以上,筆者的測試環(huán)境為Ubuntu 22.04,Python 3.10。 第一步也是要安裝必要套件:

建立 python虛擬環(huán)境:

下載 RKNN-toolkit2:

安裝相依套件:

安裝 RKNN-Toolkit2 Python模塊:

至此套件已安裝完成,在此 toolkit中也有提供一些范例來轉(zhuǎn)換pytorch、TensorFlow、Caffe、ONNX等不同框架的模型,可以進入到各范例中執(zhí)行模型轉(zhuǎn)換,舉例而言要執(zhí)行TensrFlow的轉(zhuǎn)換范例可以輸入以下指令:

這個指令會把目錄下的 “ssd_mobilenet_v1_coco_2017_11_17.pb”TensorFlow預(yù)訓(xùn)練模型轉(zhuǎn)換成NPU可執(zhí)行的模型 “ssd_mobilenet_v1_coco.rknn”,并且會讀取目錄中的 “road.bmp” 檔案進行推論測試。完成后即可把RKNN模型傳送到Rockchip的單板計算機上執(zhí)行了。

OPi 5 Plus執(zhí)行 Teachable Machine轉(zhuǎn)換后的RKNN模型
除了 RKNN Toolkit2內(nèi)建的范例外,筆者也成功地把Teachable Machine匯出的TF.lite模型轉(zhuǎn)換為RKNN模型并且在OPi 5 Plus上執(zhí)行。簡易流程如下:
·在 Teachable Machine訓(xùn)練模型,并匯出為TF.lite未量化格式
·將TF.lite模型傳送到執(zhí)行RKNN-toolkit2的Ubuntu PC。路徑為 “rknn-toolkit2/examples/tflite/mobilenet_v1/”
·修改 “test.py” 檔案,在呼叫 “rknn.config”API增加指定traget_platfrom為”rk3588”,并修改 “rknn_load_rflite”API所指定的model名稱為剛剛傳入的文件名稱,如下圖:

·執(zhí)行 python3 test.py轉(zhuǎn)換模型,筆者也同時將test.py測試推論的圖檔改為訓(xùn)練資料圖檔,輸出結(jié)果如下圖,可以明確分類出圖像。

·將 rknn檔案復(fù)制起來,并傳送到OPi 5 Plus
·執(zhí)行OPi 5 Plus的推論測試,結(jié)果如下圖,可以正確的分類圖片。

如此一來可以輕松地將 Teachable Machine客制化訓(xùn)練的模型放到OPi 5 Plus上執(zhí)行了!
小結(jié)——展望未來想象空間更大
整體而言,Orange Pi 5 Plus適合作為智慧機上盒、智慧顯示、NVR等相關(guān)應(yīng)用,具備雙GbE網(wǎng)口與多路影像輸出輸入是其特色。除此之外Rockchip的產(chǎn)品線近期已陸續(xù)搭載了NPU,讓對應(yīng)的單板計算機更具備競爭力,除了 CPU核心效能本身就還不錯之外,還足以處理輕度物件偵測與影像分類等AI應(yīng)用。唯獨在 NPU工具的使用上還是稍微卡手了一些,Python文件說明也未齊全,這將直接影響Maker玩家投入開發(fā)的意愿程度。未來若能提供更人性化、更合宜的NPU開發(fā)者工具,再加上處理器本身的優(yōu)異性能,可能將對邊緣運算的市場造成一股破壞性的浪潮。
(以上素材來源于Felix)
-
Orange
+關(guān)注
關(guān)注
0文章
83瀏覽量
19922 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5499瀏覽量
102165 -
NPU
+關(guān)注
關(guān)注
2文章
319瀏覽量
19497 -
RK3588
+關(guān)注
關(guān)注
7文章
403瀏覽量
5548
發(fā)布評論請先 登錄
輕松上手邊緣AI:MemryX MX3+結(jié)合Orange Pi 5 Plus的C/C++實戰(zhàn)指南

NPU性能深度評測:瑞芯微RK3588、RK3576、RK3568、RK3562

RK3588 EVB開發(fā)板原理圖講解【八】 RK3588 power Tree
Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器
Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器

迅為瑞芯微RK3588開發(fā)板深度剖析丨首選的性能
迅為RK3588開發(fā)板深度剖析丨首選的性能
RK3588 技術(shù)分享 | 在Android系統(tǒng)中使用NPU實現(xiàn)Yolov5分類檢測-迅為電子

評論