繼前幾期電子發(fā)燒友用戶為我們帶來了關(guān)于HZHY-AI300G的精彩測評后,本期我們再次為大家分享一份新的產(chǎn)品測評。本次測評涵蓋了更多產(chǎn)品性能的細節(jié)與實際操作反饋,希望能為廣大愛好者提供新的啟發(fā)和參考。以下是完整測評內(nèi)容,歡迎大家持續(xù)關(guān)注并積極交流討論!
感謝電子發(fā)燒友和北京合眾恒躍科技有限公司提供的評測機會。
HZHY-AI300G工業(yè)級國產(chǎn)化智盒,采用RK3588工業(yè)級芯片組適應(yīng)-40℃-85℃工業(yè)級寬溫網(wǎng)關(guān)。
以前測試過其他廠家的RK3568產(chǎn)品,對瑞芯微的工具也比較了解。
項目計劃
此次評測的項目計劃:
1.根據(jù)文檔,學(xué)習(xí)RK3588的AI開發(fā)環(huán)境和相關(guān)的程序框架。
2.利用RKNN框架進行視頻識別的模型構(gòu)建工作。
3.利用該開發(fā)板的接口實現(xiàn)WiFi和RS485傳感器的連接工作,構(gòu)建工業(yè)互聯(lián)網(wǎng)關(guān)。
4.將所接收到的數(shù)據(jù)上傳至MQTT服務(wù)器平臺。
外觀介紹
周末就拿到了開發(fā)板,非常的小巧,和實驗室使用的工業(yè)網(wǎng)關(guān)做個對比,簡直是美女和野獸的區(qū)別。
產(chǎn)品配了兩根天線,短的是WiFi的,長的是4G的。
作為一款在復(fù)雜工況中使用的產(chǎn)品,4G模塊還是非常有用的。
文字資料
在合眾恒躍的網(wǎng)站上可以看到基本的資料:RK3588-文檔教程README--ShowDoc
產(chǎn)品的接口非常豐富,包括兩個網(wǎng)口、兩個USB口、一個調(diào)試口、一個OTG口、TF卡和SIM卡的接口。
產(chǎn)品還提供了GPIO、2個RS485、1個RS232接口,采用的是插拔式的PCB接線座,非常方便使用。
合眾恒躍在B站上提供了很多學(xué)習(xí)視頻,這點還是值得稱道的。
內(nèi)容主要包括:
AI 300G的環(huán)境構(gòu)建和外設(shè)測試;
RK3588,包括RKNN開發(fā)工具的介紹;
RK35588項目實戰(zhàn),包括OCR識別、YOLOv8目標識別、人臉識別等。
廠商還提供了Linux入門的教程, 這對新手非常友好。我以前接觸過一些工程師,他們以前有MCU經(jīng)驗,但是初試學(xué)習(xí)Linux還是有些困難的。做RK3588的產(chǎn)品的廠商目前很多,合眾恒躍還是給人不錯的第一印象。
例程測試
HZHY-AI300G智能盒默認的系統(tǒng)是Ubuntu,這樣非常方便使用,接上USB鍵盤和鼠標就像使用電腦一樣。
廠商在百度盤中提供了測試例程,今天就來簡單的測試一下。
RTC測試
廠商提供的例程是針對交叉編譯環(huán)境的,要在本地編譯,修改修改一下Makefile。
將原來的代碼中的CC注釋掉:
1.#CC=/home/hzhy/HZHY/RK3568/rk356x_
linux_sdk/buildroot/output/rockchip_rk3568/
host/bin/aarch64-buildroot-linux-gnu-gcc
2.CC=/home/hzhy/HZHY/RK3568/
3568_demo/HZ-EVM-RK3568-GCC/bin/aarch64-buildroot-linux-gnu-gcc
3.
4.APP_SRC_DIR = ./src
5.APP_INC_DIR = ./inc
改為:
1.rockchip_rk3568/host/bin/aarch64-
buildroot-linux-gnu-gcc#
2.CC=/home/hzhy/HZHY/RK3568/
3568_demo/HZ-EVM-RK3568-GCC/bin/aarch64-buildroot-linux-gnu-gcc
3.
4.APP_SRC_DIR = ./src
5.APP_INC_DIR = ./inc
然后Make就可以得到可執(zhí)行文件了。開發(fā)板的RTC設(shè)備為/dev/rtc或/dev/rtc0。默認的設(shè)備訪問權(quán)限是只有root用戶可以讀寫,所以使用sudo chmod 666 /dev/rtc將設(shè)備修改為人人可以讀寫。然后運行./rtc_demo rtc -r就可以讀出RTC數(shù)據(jù)了。
UART測試
我在后面會用到RS485,所以也簡單的運行了一下UART的程序程序。
從程序的結(jié)果可以看出,系統(tǒng)中有4個USB串口,這是4G模塊所使用的,可以通過串口給模塊發(fā)指令,進行上網(wǎng)操作;另外三個串口,ttyS0應(yīng)該是RS232,而ttyS7和ttyS8應(yīng)該是RS485接口。后面,我會專門測試串口的使用。
Neuron工業(yè)協(xié)議網(wǎng)關(guān)軟件
Neuron早先是開源軟件,核心部分和MODBUS、MQTT插件都免費。現(xiàn)在NeuronEx是最新版本,已經(jīng)不開源了。
1
軟件安裝
Neuron是可以直接用現(xiàn)成的deb軟件包安裝的。廠商提供的x86和ARM架構(gòu)的不同軟件包。
根據(jù)不同版本及架構(gòu)下載安裝包,例如:
1.wget https://www.emqx.com/zh/downloads/
neuron/2.6.8/neuron-2.6.8-linux-amd64.deb
2.sudo apt install neuron-2.6.8-linux-amd64.deb
安裝后的版本,Neuron 提供了 30 個點(30 個連接和 30 個數(shù)據(jù)標簽)的免費額度??稍诓话惭b EMQ 許可證的情況下,運行這些商業(yè)模塊。超出免費額度后,則必須安裝有效的試用版或官方 EMQ 許可證。
2
軟件運行
3
軟件運行
在南向設(shè)備中選擇新建設(shè)備,創(chuàng)建一個名為RS485的設(shè)備,設(shè)備類型選擇Modbus-RTU。
在創(chuàng)建設(shè)備的頁面,物理鏈路選擇為Serial,串口設(shè)備設(shè)置為/dev/ttyS8。
4
創(chuàng)建要監(jiān)視的數(shù)據(jù)點位
完成南向插件的添加和配置后,要建立設(shè)備與 Neuron 之間的通信,首先應(yīng)為南向驅(qū)動程序添加組和點位。點擊RS485設(shè)備,添加一個名為 Data 的數(shù)據(jù)組 。
點位是分配給一條信息的非分層唯一關(guān)鍵字,其中定義了設(shè)備中的數(shù)據(jù)存儲位置和數(shù)據(jù)操作屬性,還包含有關(guān)數(shù)據(jù)的一些元數(shù)據(jù)信息,如比例因子、精確度和讀/寫屬性等。我使用的溫濕度傳感器有兩個點位:溫度和濕度。點位將被分配到組中。同一個組的數(shù)據(jù)以相同的頻率進行采集以及上報。創(chuàng)建好組和點位,即可從數(shù)據(jù)監(jiān)控中獲取點位的實時值。
我選用的傳感器是冀歐速傳感器,它的產(chǎn)品采用的是MODBUS協(xié)議。MODBUS是一個非常老的協(xié)議,1979年成為事實上的國際標準,目前有個國際組織進行維護:The Modbus Organization。
RS485接口產(chǎn)品中使用的是MODBUS over Serial Line協(xié)議,或者稱為MODBUS RTU協(xié)議,其官方文檔定義:Specification and Implementation Guide for MODBUS over serial line
協(xié)議的基本格式非常簡單,有地址域、功能碼、數(shù)據(jù)和CRC校驗組成。
冀歐速傳感器的查詢命令如下,這里功能碼0x03就是用來查詢數(shù)據(jù)的。
對數(shù)據(jù)簡單解釋一下:
濕度數(shù)據(jù)0x164,就是10進制的356,對應(yīng)著35.6% RH
溫度數(shù)據(jù)0xFFDD,就是-35的補碼,對應(yīng)-3.5℃。
在組列表頁,點擊組名稱進入點位列表頁,添加需要采集的設(shè)備點位,包括點位地址,點位屬性,數(shù)據(jù)類型等。我們添加兩個點位:
溫度:read屬性,INT16類型,地址:1!40001,乘系數(shù)值為 0.1
濕度:read屬性,INT16類型,地址:1!40002,乘系數(shù)值為 0.1
其中,其中Read屬性用于讀取數(shù)據(jù),1 代表 Modbus 模擬器中設(shè)置的點位站點號,40001 代表點位寄存器地址,400001是第一個保持寄存器,設(shè)備值 * 乘系數(shù) = 顯示值`。
5
數(shù)據(jù)查看
在南向設(shè)備中,可以看到RS485設(shè)備的運行狀態(tài)。
在數(shù)據(jù)監(jiān)控頁面就可以看到溫濕度傳感器傳過來的信息。
至此,我們完成了南向設(shè)備的添加工作。
前面介紹了如何在HZHY-AI300G智能盒創(chuàng)建南向設(shè)備,有了南向設(shè)備就可以實現(xiàn)數(shù)據(jù)采集,但是還需要建立北向設(shè)備才能將數(shù)據(jù)發(fā)送到MQTT服務(wù)器上。在介紹北向設(shè)備之前,先介紹如何在華為IoTDA平臺上建立設(shè)備。
華為IoTDA平臺
華為云設(shè)備接入IoTDA指的是設(shè)備接入服務(wù)(IoT Device Access),是華為云的物聯(lián)網(wǎng)平臺提供海量設(shè)備連接上云、設(shè)備和云端雙向消息通信、批量設(shè)備管理、遠程控制和監(jiān)控、OTA升級、設(shè)備聯(lián)動規(guī)則等能力,并可將設(shè)備數(shù)據(jù)靈活流轉(zhuǎn)到華為云其他服務(wù),幫助物聯(lián)網(wǎng)行業(yè)用戶快速完成設(shè)備聯(lián)網(wǎng)及行業(yè)應(yīng)用集成。
首先進入華為云IoTDA網(wǎng)站:華為云物聯(lián)網(wǎng)平臺_華為云IoT平臺_IoT_設(shè)備接入-華為云,點擊控制臺按鈕進行登錄。控制臺界面如下圖:
注冊IoTDA實例
在控制臺界面處點擊左上角三條橫線,會出現(xiàn)菜單;
選擇“IoT物聯(lián)網(wǎng)”——“設(shè)備接入IoTDA”;
在左側(cè)欄目中選擇IoTDA實例,在標準版處選擇購買實例;
每位用戶都有一次免費的使用機會,在其中選擇免費單元即可。
創(chuàng)建產(chǎn)品
1.在左欄中選擇 產(chǎn)品→創(chuàng)建產(chǎn)品;
2.填寫產(chǎn)品名稱、協(xié)議類型(MQTT)和數(shù)據(jù)格式(JSON);
3.設(shè)備類型選擇調(diào)整為“自定義類型”,設(shè)備類型隨意填寫;
4.創(chuàng)建完產(chǎn)品進入產(chǎn)品詳情界面,隨后可以為產(chǎn)品定義物模型,添加物模型中的服務(wù),并添加相應(yīng)的功能屬性。不過Neuron的MQTT插件不支持華為物模型的數(shù)據(jù)格式,除非專門寫一個北向插件,否則Neuron發(fā)送的數(shù)據(jù)可以被華為云接收處理,但是不能顯示為華為物模型,所以我們省略物模型的構(gòu)建。
添加設(shè)備
選擇左欄中的“設(shè)備→所有設(shè)備” 注冊新設(shè)備,為后面Neuron的數(shù)據(jù)上傳做準備。
接下來介紹一下如何建立北向應(yīng)用將采集到的數(shù)據(jù)發(fā)送到華為云物聯(lián)網(wǎng)服務(wù)器上。
Neuron的北向應(yīng)用
Neuron 是運行在物聯(lián)網(wǎng)邊緣網(wǎng)關(guān)硬件上的工業(yè)協(xié)議網(wǎng)關(guān)軟件,通過將來自繁雜多樣工業(yè)設(shè)備的不同協(xié)議類型數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一標準的物聯(lián)網(wǎng) MQTT 消息,實現(xiàn)設(shè)備與工業(yè)物聯(lián)網(wǎng)系統(tǒng)之間、設(shè)備彼此之間的互聯(lián)互通,進行遠程的直接控制和信息獲取。Neuron 支持同時為多個不同通訊協(xié)議設(shè)備、數(shù)十種工業(yè)協(xié)議進行一站式接入及 MQTT協(xié)議轉(zhuǎn)換。北向插件用于連接到IOT平臺或邊緣流處理引擎,北向插件和南向插件組合使用實現(xiàn)數(shù)據(jù)采集和數(shù)據(jù)傳遞。
創(chuàng)建北向節(jié)點
在Neuron控制臺創(chuàng)建北向 MQTT 節(jié)點,連接并將點位數(shù)值上傳到 MQTT Broker,此處是華為IoTDA平臺。
在配置 -> 北向應(yīng)用,點擊 添加應(yīng)用 添加 MQTT 客戶端節(jié)點:
名稱:此應(yīng)用節(jié)點名稱,例如,HuaweiIoT;
插件:選擇 MQTT 插件。
點擊創(chuàng)建后,將跳轉(zhuǎn)至應(yīng)用配置頁面,我們將在這里配置 Neuron 與北向應(yīng)用建立連接所需的參數(shù)。您也可點擊設(shè)備卡片上的設(shè)備配置圖標進入應(yīng)用配置界面。
設(shè)置MQTT連接參數(shù)
點擊應(yīng)用卡片上的 應(yīng)用配置 按鍵進入應(yīng)用配置界面設(shè)置 MQTT 連接。
上述參數(shù)可以在云平臺的左欄中 “設(shè)備→所有設(shè)備“,然后選定要使用的設(shè)備,進入設(shè)備詳情后,選擇”MQTT連接參數(shù):查看” 中找到。我選擇非SSL模式,這里的端口信息一定要選擇1883。如果要使用SSL,則端口為8883,則在服務(wù)器和Neuron中都需要配置CA證書。
在Neuron中點擊提交,完成北向應(yīng)用的配置,應(yīng)用卡片自動進入 運行中 的工作狀態(tài)。如果連接狀態(tài)顯示為斷開,請檢查網(wǎng)絡(luò)狀態(tài)或者MQTT連接參數(shù)是否正確。
訂閱南向設(shè)備的數(shù)據(jù)
采集點位是以組為單位進行數(shù)據(jù)上傳的,訂閱選擇要上傳的點位組。
在設(shè)備卡片或設(shè)備列,可點擊數(shù)據(jù)統(tǒng)計圖表查看及應(yīng)用運行情況、接收和發(fā)送的數(shù)據(jù)情況。
在華為云上查看上傳數(shù)據(jù)
如果Neuron中設(shè)備狀態(tài)顯示為已連接,就意味數(shù)據(jù)被成功發(fā)送到華為云上了。
登錄華為云的控制臺,在左欄中點擊“監(jiān)控運維→在線調(diào)試/消息跟蹤→選擇設(shè)備” 選中目標設(shè)備后返回點擊IoT平臺即可查看到相關(guān)日志。
數(shù)據(jù)也可以導(dǎo)出為Excel文件供進一步分析。數(shù)據(jù)也可以轉(zhuǎn)發(fā)給華為的數(shù)據(jù)庫,然后利用數(shù)據(jù)大屏進行可視化分析。這些內(nèi)容超出了本次測評的范圍,就不詳細介紹了。前面已經(jīng)展示了AI300G智能盒轉(zhuǎn)為工業(yè)網(wǎng)關(guān)的能力,接下來我們將測試RK3588的NPU推理能力。
首先,需要安裝RKNN相關(guān)工具和Python的環(huán)境。
安裝RKNN工具
瑞芯微提供的NPU相關(guān)工具包括RKNN-Toolkit2、RKNN Toolkit Lite2。
RKNN-Toolkit2是為用戶提供在 PC、 Rockchip NPU平臺上進行模型轉(zhuǎn)換、 推理和性能評估的開發(fā)套件, 用戶通過該工具提供的 Python接口可以便捷地完成以下功能:
1.模型轉(zhuǎn)換: 支持 Caffe、 TensorFlow、 TensorFlow Lite、 ONNX、 DarkNet、 PyTorch等模型轉(zhuǎn)為 RKNN模型, 并支持 RKNN模型導(dǎo)入導(dǎo)出, RKNN模型能夠在 Rockchip NPU平臺 上加載使用。
2.量化功能: 支持將浮點模型量化為定點模型, 目前支持的量化方法為非對稱量化( asymmetric_quantized-8及asymmetric_quantized-16) , 并 支 持 混 合 量 化 功 能 。
3.模型推理: 能夠在 PC上模擬 Rockchip NPU運行 RKNN模型并獲取推理結(jié)果; 或?qū)?RKNN模型分發(fā)到指定的 NPU設(shè)備上進行推理并獲取推理結(jié)果。
4.性能評估: 將 RKNN模型分發(fā)到指定 NPU設(shè)備上運行, 以評估模型在實際設(shè)備上運行時的性能。
5.內(nèi)存評估: 評估模型運行時的內(nèi)存的占用情況。 使用該功能時, 必須將 **RKNN 模型分發(fā) 到 NPU設(shè)備中運行, 并調(diào)用相關(guān)接口獲取內(nèi)存使用信息。
6.量化精度分析: 該功能將給出模型量化前后每一層推理結(jié)果與浮點模型推理結(jié)果的余弦距離, 以便于分析量化誤差是如何出現(xiàn)的, 為提高量化模型的精度提供思路。
RKNN Toolkit Lite2為 Rockchip NPU平臺提供 Python編程接口,幫助用戶部署 RKNN模型,加速 AI應(yīng)用的落地。我們在開發(fā)板上一般只需要安裝RKNN Toolkit Lite2,而RKNN-Toolkit2通常是安裝在電腦上的。
安裝pip3
AI-300G采用的是Ubuntu系統(tǒng),默認是安裝了Python 3.8,但是沒有安裝RKNN相關(guān)的工具。開發(fā)板上沒有pip3,所以需要先安裝一個:
sudo apt install python3-pip
安裝RKNN Toolkit Lite2
然后從https://github.com/airockchip/rknn-toolkit2/tree/master/rknn-toolkit-lite2/packages下載所需要rknn_toolkit_lite2的安裝包,對于我的配置,就是rknn_toolkit_lite2-2.0.0b0-cp38-cp38-linux_aarch64.whl文件。
使用pip進行安裝:
pip install rknn_toolkit_lite2-2.0.0b0-cp38-cp38-linux_aarch64.whl
另外,安裝一下OpenCV,方便進行圖像處理:
pip install -i https://mirror.baidu.com/pypi/simple opencv_contrib_python
安裝RKNPU2運行庫
瑞芯微的NPU運行還需要RKNPU2運行庫支持。首先從https://github.com/airockchip/rknn-toolkit2/tree/master/rknpu2/runtime/Linux下載所需要的RKNN Server和RKNPU2 Runtime庫。注意:不要使用廠商提供的百度盤里面的庫文件,那些文件版本太低了。 瑞芯微的NPU相關(guān)工具迭代速度相當快,要注意模型、工具之間的版本匹配。
至此,運行Python NPU推理程序的開發(fā)環(huán)境就準備好了。環(huán)境準備好之后,接下來利用瑞芯微的NPU進行道路視頻中的車輛識別,根據(jù)識別到的車輛的數(shù)量估計道路的流量情況,實現(xiàn)智慧交通中的流量監(jiān)控功能。
YOLOv8的RKNN模型
我們使用YOLOv8框架進行目標的檢測。YOLOv8(You Only Look Once version 8)是一個深度學(xué)習(xí)框架,用于實現(xiàn)實時對象檢測。YOLOv8 繼承了前代模型的優(yōu)點,并在此基礎(chǔ)上進行了多項改進,包括更復(fù)雜的網(wǎng)絡(luò)架構(gòu)、更優(yōu)化的訓(xùn)練流程和更強大的特征提取能力。
瑞芯微在其Github倉庫中提供了大量已經(jīng)優(yōu)化和測試驗證過的模型,其中就包括YOLOv8:
https://github.com/airockchip/rknn_model
_zoo/blob/main/examples/yolov8/
README.md。
瑞芯微提供的模型是一個優(yōu)化后的模型,與官方原始模型不同。以yolov8n.onnx為例來展示它們之間的差異。
1、它們輸出信息的對比如下。左邊是官方原始模型的輸出,右邊是優(yōu)化后的模型輸出。如圖所示,原始模型的輸出被分為三個部分。例如,在輸出集合([1,64,80,80],[1,80,80,80],[1,1,80,80])中,[1,64,80,80]是邊界框的坐標,[1,80,80,80]是對應(yīng)于80個類別的邊界框置信度,而[1,1,80,80]是80個類別置信度的總和。
請注意,這里的解釋是基于常見目標檢測模型(如YOLO系列)的輸出格式,具體細節(jié)(如維度含義)可能因模型版本或?qū)崿F(xiàn)而異。但一般來說,上述解釋提供了關(guān)于YOLO類模型輸出結(jié)構(gòu)的通用理解。
2、以輸出集合([1,64,80,80],[1,80,80,80],[1,1,80,80])為例,瑞芯微在模型中移除了兩個卷積節(jié)點之后的子圖,保留了這兩個卷積的輸出([1,64,80,80],[1,80,80,80]),并增加了一個reducesum+clip分支來計算80個類別置信度的總和([1,1,80,80])。
這里的“reducesum”操作通常用于對某個維度上的元素進行求和,而“clip”操作用于限制求和結(jié)果的取值范圍,以避免數(shù)值溢出或保持數(shù)值在特定范圍內(nèi)。
瑞芯微提供的YOLOv8模型的訓(xùn)練方法和官方的完全相同,只是在導(dǎo)出的時候做了一些修改,有關(guān)導(dǎo)出 RKNPU 適配模型說明請見:https://github.com/airockchip/ultralytics_
yolov8/blob/main/RKOPT_README.zh-CN.md。
程序的部署
YOLOv8程序在RK3588上的部署,我們參考了風(fēng)箏2100的博文https://blog.csdn.net/weixin_42206548
/article/details/138507491,在此表示感謝。
和RKNN_model_zoo 中的examples 提供的YOLOv8 的相關(guān) demo,該程序有兩點改進:
1.借助rknn-multi-threaded使用多線程推理提高NPU的占用率,參考:
https://blog.csdn.net/2401_84011132/
article/details/137803348
2.優(yōu)化了Python 后處理部分去除PyTorch 依賴,將后處理耗時從幾百毫秒降低到了幾十毫秒。
在 main.py 文件中,可以修改模型、線程數(shù),還可以修改成實時推理攝像頭。
1.# 推理視頻文件
2.cap = cv2.VideoCapture('./720p60hz.mp4')
3.
4.# 推理實時攝像頭
5.cap = cv2.VideoCapture(0)
6.cap.set(cv2.CAP_PROP_FRAME_
WIDTH,640)cap.set(cv2.CAP_PROP_
FRAME_HEIGHT,480)
程序啟動后會顯示RNKK的相關(guān)信息:
1.python3 main.py
2.I RKNN: [1932.433] RKNN Runtime Information, librknnrt version: 2.0.0b0 (35a6907d79@2024-03-24T1014)
3.I RKNN: [1932.433] RKNN Driver Information, version: 0.9.3
4.I RKNN: [1932.434] RKNN Model Information, version: 6, toolkit version: 1.6.0+81f21f4d(compiler version: 1.6.0 (585b3edcf@2023-12-11T0756)), target: RKNPU v2, target platform: rk3588, framework name: ONNX, framework layout: NCHW, model inference type: static_shape
5./rknnModel/yolov8s.rknn done
6.I RKNN: [1932.644] RKNN Runtime Information, librknnrt version: 2.0.0b0 (35a6907d79@2024-03-24T1014)
7.I RKNN: [1932.644] RKNN Driver Information, version: 0.9.3
8.I RKNN: [1932.644] RKNN Model Information, version: 6, toolkit version: 1.6.0+81f21f4d(compiler version: 1.6.0 (585b3edcf@2023-12-11T0756)), target: RKNPU v2, target platform: rk3588, framework name: ONNX, framework layout: NCHW, model inference type: static_shape
9./rknnModel/yolov8s.rknn done
10.I RKNN: [1932.770] RKNN Runtime Information, librknnrt version: 2.0.0b0 (35a6907d79@2024-03-24T1014)
11.I RKNN: [1932.770] RKNN Driver Information, version: 0.9.3
12.I RKNN: [1932.771] RKNN Model Information, version: 6, toolkit version: 1.6.0+81f21f4d(compiler version: 1.6.0 (585b3edcf@2023-12-11T0756)), target: RKNPU v2, target platform: rk3588, framework name: ONNX, framework layout: NCHW, model inference type: static_shape
13../rknnModel/yolov8s.rknn done
流量統(tǒng)計
我們在每幀推理結(jié)束后,統(tǒng)計其中"car"、"motorbike "、 "bus"和"truck"對象的數(shù)量,作為流量統(tǒng)計的依據(jù)。
為了避免上傳到云服務(wù)器的數(shù)據(jù)過多,每30幀上傳一次數(shù)據(jù)。我的程序已經(jīng)可以在開發(fā)板上實時運行,并顯示車輛檢測結(jié)果。
完成了車輛檢測工作,我們將數(shù)據(jù)通過MQTT協(xié)議上傳到華為IoTDA服務(wù)器。
華為IoTDA建立產(chǎn)品和設(shè)備
華為IoTDA的用法前面已經(jīng)介紹了,這里就簡單描述一下步驟。先在華為云中創(chuàng)建一個產(chǎn)品。
然后在該產(chǎn)品的物模型中,添加5個屬性,即合計、轎車、卡車、摩托車和客車。
再在產(chǎn)品中創(chuàng)建一個設(shè)備用于MQTT接入。
Python程序編寫MQTT客戶端
pip install paho.mqtt程序中使用了paho.mqtt庫,所以先需要安裝該庫文件:
1.pip install paho.mqtt
每30幀發(fā)送一次數(shù)據(jù)到服務(wù)器,發(fā)送數(shù)據(jù)的函數(shù)定義如下:
運行程序,從華為云的控制臺,我們就可以看到上傳的數(shù)據(jù)了。
程序下載
完整的程序可以從這里下載:*附件:hzhy-ai300g.zip
說明:其中MQTT的參數(shù)被用XXXX代替了,需要用真實的華為云接入?yún)?shù)代替。測試用的720p60hz.mp4和RKNN模型文件太大了,需要的同學(xué)請到publish / rknn3588-yolov8 · GitLab (bwbot.org)下載。
至此,我們這次評測就完全結(jié)束了,歡迎大家留言提出寶貴的意見。
目前電子發(fā)燒友上產(chǎn)品使用測評正在進行中,歡迎大家積極反饋,正是有了你們的支持,我們才能不斷進步,為用戶帶來更加優(yōu)質(zhì)的智能產(chǎn)品體驗。
-
芯片
+關(guān)注
關(guān)注
459文章
51988瀏覽量
434290 -
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
5072瀏覽量
52299 -
工業(yè)互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
28文章
4351瀏覽量
94764 -
RK3588
+關(guān)注
關(guān)注
7文章
396瀏覽量
5436
發(fā)布評論請先 登錄
《RK3588核心板:AIoT邊緣計算的革命性引擎,能否解鎖智能物聯(lián)新范式?》
工業(yè)網(wǎng)關(guān):工業(yè)互聯(lián)網(wǎng)的基石與智能轉(zhuǎn)型引擎

RK3588主板:多元場景的硬核“芯”力量

迅為iTOP-RK3588開發(fā)板商業(yè)級/工業(yè)級/國產(chǎn)化/國產(chǎn)化工業(yè)級/郵票孔版本以及LPDDR5版本性能首選
工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)的應(yīng)用場景有哪些

實測分享,瑞芯微RK3588八核國產(chǎn)處理器性能測評!確實“遙遙領(lǐng)先”!
【HZHY-AI300G智能盒試用連載體驗】+ 智能工業(yè)互聯(lián)網(wǎng)網(wǎng)關(guān)
盛顯科技RK3588核心板:高性能工業(yè)計算的新紀元

工業(yè)互聯(lián)網(wǎng)關(guān)鍵技術(shù)的三大功能要素
工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)是什么?工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)的工作原理

工業(yè)互聯(lián)網(wǎng)網(wǎng)關(guān)有什么功能

基于RK3588核心板的AI邊緣計算網(wǎng)關(guān)設(shè)計方案

評論