OPi 5Plus的SoC為Rockchip RK3588八核(4個(gè)Cortex-A76+4個(gè)Cortex-A55)架構(gòu)的64位處理器,主頻達(dá) 2.4GHz并帶有Mali-G610 GPU,除此之外的亮點(diǎn)還包括了一個(gè) 6 TOPS算力的NPU,支持TensorFlow、PyTorch等常見(jiàn)框架轉(zhuǎn)換,使其能夠作為處理AI影像的邊緣裝置。開(kāi)發(fā)板上的周邊也相當(dāng)豐富,包含2 Ports 2.5Gb Ethernet、3 Ports HDMI (2out + 1in)、5 Ports USB、M.2 E-Key等高速接口。從硬件數(shù)據(jù)看來(lái)相較樹(shù)莓派而言可說(shuō)是全面性的碾壓,那么實(shí)際使用如何,一起往下看看!
怎么玩?
OPi 5 Plus支持多種操作系統(tǒng),包含 Ubuntu、Debian、Android與官方自研的 Orange Pi OS等, 各位可以自行挑選喜歡的image映像下載后燒錄到SD Card啟動(dòng)。筆者這里選擇兼容性較好的Ubuntu,同時(shí)得利于Open Source的優(yōu)勢(shì),安裝的是非官方的Ubuntu 22.04社群版本。燒錄完SD Card放入OPi 5 Plus再接上熒幕鍵盤(pán)網(wǎng)絡(luò)線等,上電后后經(jīng)過(guò)初始化設(shè)定即可以看到GNOME的桌面界面以及那只可愛(ài)的幸運(yùn)水母。
就如同樹(shù)莓派一樣,當(dāng)操作系統(tǒng)安裝完成后就能夠當(dāng)作一般個(gè)人計(jì)算機(jī)使用,或是作為多媒體應(yīng)用,甚至是搭載到移動(dòng)載具上都行。由于使用的是 Ubuntu系統(tǒng),軟件套件支持性也相當(dāng)豐富。筆者實(shí)際使用 Chromium瀏覽器開(kāi)啟YouTube 4K串流進(jìn)行測(cè)試,順暢度可以說(shuō)是明顯比樹(shù)莓派好上許多,也沒(méi)有任何影格丟失(frame drop)的現(xiàn)象!
神經(jīng)網(wǎng)絡(luò)運(yùn)算單元 NPU
憑借著 RK3588處理器的強(qiáng)大效能,若使用OPi 5 Plus只是做 CPU運(yùn)算就稍微可惜了,筆者本篇的最主要目的就是要體驗(yàn)Rockchip的NPU執(zhí)行AI應(yīng)用的效能如何。官方在 github上有提供對(duì)應(yīng)RK3588 NPU的Library與范例程序rknpu2, 可以直接在OPi 5 Plus安裝并呼叫 NPU執(zhí)行,以下記錄安裝過(guò)程供各位參考。由于范例程序?yàn)?a href="http://www.nxhydt.com/tags/C++/" target="_blank">C++語(yǔ)言需要進(jìn)行編譯,先執(zhí)行系統(tǒng)更新并安裝必要套件:
從 GitHub下載Repo:
范例程序包含 API的使用與mobilenet及YOLOv5,選擇YOLOv5范例進(jìn)行編譯:
執(zhí)行范例,帶入官方預(yù)訓(xùn)練的 YOLOv5模型檔 “yolov5s-640-640.rknn” 與推論圖片 “bus.jpg”:
完成后會(huì)產(chǎn)生輸出檔案 “out.jpg”,開(kāi)啟后看到如下圖示,主要物件接有被偵測(cè)并標(biāo)記出來(lái):
(OPi5Plus執(zhí)行 YOLOv5圖片推論結(jié)果)
若是第一次執(zhí)行系統(tǒng)可能沒(méi)有安裝 RKNN的runtime library,會(huì)出現(xiàn)找不到.so動(dòng)態(tài)連結(jié)Library導(dǎo)致執(zhí)行失敗,可以將此檔案庫(kù)提供的library復(fù)制到系統(tǒng)路徑:
YOLOv5實(shí)時(shí)影像推論
官方的范例并沒(méi)有提供從 Webcam擷取影像進(jìn)行推論的范例,但大家可以參考社群上這一篇教學(xué)的內(nèi)容進(jìn)行實(shí)作。準(zhǔn)備好一個(gè) UVC Webcam插上OPi 5 Plus的 USB孔,輸入指令安裝openCV相依套件:
移動(dòng)到 rknpu2 YOLOv5范例的路徑:
下載社群 Maker提供的CMakeList.txt并復(fù)制到此目錄下;下載社群Maker提供的main.cc并復(fù)制到src目錄下。再次編譯程序碼:
完成后動(dòng)到安裝路徑執(zhí)行范例程序,輸入下方指令執(zhí)行。指令帶入第三個(gè)參數(shù) “2” 代表使用/dev/Video2的裝置,“1280” 代表影像的寬度,“720” 則代表影像的高度,可以依各位實(shí)際的情況調(diào)整。
實(shí)際測(cè)試的結(jié)果在 1280×720 HD影像下的推論有10 FPS,若是將分辨率改為640×480則可以達(dá)到接近20 FPS。但從log看來(lái)執(zhí)行推論的過(guò)程約只耗費(fèi)20ms左右,其余的時(shí)間則是耗費(fèi)在影像的處理與顯示上了,效能可說(shuō)是相當(dāng)不賴。
模型轉(zhuǎn)換工具 RKNN-Toolkit2
上述的推論范例使用官方預(yù)訓(xùn)練的 RKNN模型檔,若是想要自行將不同框架的模型轉(zhuǎn)成RKNN在OPi 5 Plus上推論,就必須透過(guò)官方提供的 RKNN-Toolkit2這個(gè)工具。此工具必須要在x86的PC上執(zhí)行,作業(yè)系統(tǒng)要求為Ubuntu 18.04以上,Python 3.6以上,筆者的測(cè)試環(huán)境為Ubuntu 22.04,Python 3.10。 第一步也是要安裝必要套件:
建立 python虛擬環(huán)境:
下載 RKNN-toolkit2:
安裝相依套件:
安裝 RKNN-Toolkit2 Python模塊:
至此套件已安裝完成,在此 toolkit中也有提供一些范例來(lái)轉(zhuǎn)換pytorch、TensorFlow、Caffe、ONNX等不同框架的模型,可以進(jìn)入到各范例中執(zhí)行模型轉(zhuǎn)換,舉例而言要執(zhí)行TensrFlow的轉(zhuǎn)換范例可以輸入以下指令:
這個(gè)指令會(huì)把目錄下的 “ssd_mobilenet_v1_coco_2017_11_17.pb”TensorFlow預(yù)訓(xùn)練模型轉(zhuǎn)換成NPU可執(zhí)行的模型 “ssd_mobilenet_v1_coco.rknn”,并且會(huì)讀取目錄中的 “road.bmp” 檔案進(jìn)行推論測(cè)試。完成后即可把RKNN模型傳送到Rockchip的單板計(jì)算機(jī)上執(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í)行。簡(jiǎn)易流程如下:
·在 Teachable Machine訓(xùn)練模型,并匯出為T(mén)F.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)換模型,筆者也同時(shí)將test.py測(cè)試推論的圖檔改為訓(xùn)練資料圖檔,輸出結(jié)果如下圖,可以明確分類(lèi)出圖像。
·將 rknn檔案復(fù)制起來(lái),并傳送到OPi 5 Plus
·執(zhí)行OPi 5 Plus的推論測(cè)試,結(jié)果如下圖,可以正確的分類(lèi)圖片。
如此一來(lái)可以輕松地將 Teachable Machine客制化訓(xùn)練的模型放到OPi 5 Plus上執(zhí)行了!
小結(jié)——展望未來(lái)想象空間更大
整體而言,Orange Pi 5 Plus適合作為智慧機(jī)上盒、智慧顯示、NVR等相關(guān)應(yīng)用,具備雙GbE網(wǎng)口與多路影像輸出輸入是其特色。除此之外Rockchip的產(chǎn)品線近期已陸續(xù)搭載了NPU,讓對(duì)應(yīng)的單板計(jì)算機(jī)更具備競(jìng)爭(zhēng)力,除了 CPU核心效能本身就還不錯(cuò)之外,還足以處理輕度物件偵測(cè)與影像分類(lèi)等AI應(yīng)用。唯獨(dú)在 NPU工具的使用上還是稍微卡手了一些,Python文件說(shuō)明也未齊全,這將直接影響Maker玩家投入開(kāi)發(fā)的意愿程度。未來(lái)若能提供更人性化、更合宜的NPU開(kāi)發(fā)者工具,再加上處理器本身的優(yōu)異性能,可能將對(duì)邊緣運(yùn)算的市場(chǎng)造成一股破壞性的浪潮。
(以上素材來(lái)源于Felix)
-
Orange
+關(guān)注
關(guān)注
0文章
82瀏覽量
19644 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
4949瀏覽量
97207 -
NPU
+關(guān)注
關(guān)注
2文章
270瀏覽量
18549 -
RK3588
+關(guān)注
關(guān)注
6文章
313瀏覽量
4228
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論