主流 6TOPS 国产硬件:RK3588(INT8 6TOPS)、RK3576(INT8 6TOPS)工业边缘盒子,无风扇工业机身、Ubuntu20.04/22.04 系统、双千兆网口、MIPI/USB 摄像头接入,适配工地安全帽、工业缺陷、车辆识别等落地场景。

整体链路:PC 训练 PyTorch (.pt)→导出 ONNX→主机量化转硬件专属模型→盒子端 SDK 部署→图片 / USB 摄像头实时推理→业务二次开发。
一、前期软硬件清单
1. 硬件
1. 6TOPS 国产 AI 盒子(RK3588/RK3576,8GB LPDDR4 标配)
2. 调试 PC(Ubuntu20.04 x86_64,模型转换主机)
3. USB3.0 摄像头 / 工业 MIPI 相机、千兆网线、5V3A 电源
2. 软件工具
环节 | 工具 | 用途 |
模型训练 | PyTorch+Ultralytics YOLOv8/v5 | 训练自定义数据集,输出 [best.pt](best.pt) |
模型导出 | onnxruntime、onnx-simplifier | pt→onnx、算子简化排错 |
模型量化 | RKNN-Toolkit2(瑞芯微) | onnx→.rknn(NPU 专用模型) |
盒子推理 | rknn_api-lite2、OpenCV4.5+ | ARM64 端 NPU 推理开发 |
二、阶段 1:PC 端 YOLO 模型训练 + PT 转 ONNX(Ubuntu 主机)
1. 环境搭建
# 新建虚拟环境
python3 -m venv yolo-env
source yolo-env/bin/activate
# 安装YOLO依赖
pip install ultralytics torch==2.0.1 onnx onnx-simplifier onnxruntime
# 拉取YOLO源码
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
2. 模型训练(自定义数据集可选,新手用官方预训练权重)
# 预训练yolov8s.pt,640*640输入
yolo train data=coco128.yaml model=yolov8s.pt epochs=50 imgsz=640
# 训练完成在runs/train/weights/生成best.pt
[3.PT](3.PT) 导出 ONNX(关键避坑:固定尺寸、关闭动态轴,适配国产 NPU)
# 导出固定尺寸ONNX(opset17,国产NPU兼容性最优)
yolo export model=runs/train/weights/best.pt format=onnx imgsz=640 opset=17 dynamic=False simplify=True
输出:best.onnx;用 onnxruntime 校验 ONNX 有效性
import onnxruntime
sess=onnxruntime.InferenceSession("best.onnx")
print("输入节点:",[i.name for i in sess.get_inputs()])
print("输出节点:",[o.name for o in sess.get_outputs()])
报错处理:ONNX 算子不兼容→onnx-simplifier精简模型、移除无用算子。
三、阶段 2:RKNN-Toolkit2 量化:ONNX→RKNN(6TOPS NPU 专用模型,主机操作)
1. 安装 RKNN 转换工具(瑞芯微 6TOPS 芯片标配)
pip install rknn-toolkit2==1.6.0
2. 量化转换 Python 脚本(INT8 量化,6TOPS 最优平衡速度 & 精度)
from rknn.api import RKNN
# 初始化RKNN对象
rknn = RKNN(verbose=True)
# 1.配置预处理参数(YOLO固定BGR→RGB、归一化)
rknn.config(mean_values=[[0,0,0]], std_values=[[255,255,255]], target_platform="rk3588") #rk3576改target_platform="rk3576"
# 2.载入ONNX
rknn.load_onnx(model="best.onnx")
# 3.模型构建
rknn.build(do_quantization=True, dataset="./calib.txt") #calib.txt放20~50张校准图片路径
# 4.保存NPU模型
rknn.export_rknn("yolo6t.rknn")
rknn.release()
说明:do_quantization=True开启 INT8 量化,6TOPS 盒子 yolov8s 量化后推理 25~40FPS (640P);False 为 FP16,速度减半、精度更高。
输出:yolo6t.rknn,拷贝至 RK3588/3576 算力盒子。
四、阶段 3:国产 6TOPS 盒子 ARM64 环境部署(盒子 Ubuntu 系统)
1. 盒子基础环境配置(SSH 远程登录盒子)
# 更新源+安装依赖
sudo apt update && sudo apt install gcc g++ cmake libopencv-dev git python3-pip
# 安装ARM版RKNN-LITE推理库
pip install rknn-toolkit-lite2
2. 盒子 Python 极简推理(图片推理,快速验证 NPU 加速)
from rknn.api import RKNNLite
import cv2
rknn_lite = RKNNLite()
# 加载rknn模型到NPU,RK3588三核NPU全启用
ret = rknn_lite.load_rknn("yolo6t.rknn")
ret = rknn_lite.init_runtime(core_mask=RKNNLite.NPU_CORE_0_1_2) #6TOPS三NPU全开
# 读取图片预处理
img=cv2.imread("test.jpg")
img=cv2.resize(img,(640,640))
# NPU推理
output = rknn_lite.inference(inputs=[img])
# 后处理:解析检测框、置信度、类别(YOLO官方后处理代码)
rknn_lite.release()
实测性能(RK3588 6TOPS INT8):yolov8s-640 单帧**26\32ms,30FPS+**;yolov5s 可达 35FPS,CPU 推理仅 3\5FPS,NPU 加速提升 6~10 倍。
3.USB 摄像头实时视频流部署(工程落地)
依托 OpenCV 捕获 USB 摄像头,循环预处理→NPU 推理→画面画框输出,核心伪代码:
cap=cv2.VideoCapture(0) #0=USB摄像头
while cap.isOpened():
ret,frame=cap.read()
img=cv2.resize(frame,(640,640))
pred=rknn_lite.inference([img])
# 后处理绘制检测框
cv2.imshow("6TOPS-YOLO",frame)
cv2.waitKey(1)
五、阶段 4:C++ 工程编译部署(量产首选,速度优于 Python30%+)
1. 拉取瑞芯微官方 rknpu2 示例:git clone https://github.com/rockchip-linux/rknpu2
2. 进入examples/rknn_yolov8_demo,替换 demo 内model/yolov8.rknn为自制yolo6t.rknn
3. 本地 ARM 编译:
bash build-linux.sh
# 运行
export LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH
./rknn_yolov8_demo model/yolo6t.rknn test.jpg
C++ 实测:yolov8s 640P18~22ms / 帧,45FPS+,工业视频流首选方案。
六、6TOPS 盒子优化实战(提速 & 保精度落地技巧)
1. NPU 调度优化:RK3588 三 NPU 全启用NPU_CORE_0_1_2,禁用单核运行,算力拉满 6TOPS;RK3576 同理三核全开。
2. 模型精简:YOLOn/s 轻量化模型优先部署,大分辨率 (1280) 拆分多图推理,避免内存溢出。
3. 量化优化:校准数据集≥30 张实景图,减少 INT8 量化精度损失;高精度场景采用 FP16 非量化。
4. 硬件解码:盒子内置 VPU 硬件 H.265 解码,多路 IPC 摄像头(4 路 1080P)走硬解,CPU 占用降低 70%。
七、高频踩坑避坑清单
1. ONNX 导出动态维度→NPU 转换失败:导出强制dynamic=False固定 640*640 尺寸。
2. rknn 加载报错、算子缺失:升级 RKNN-Toolkit2 至 1.6+,onnx-simplifier 简化模型。
3. 盒子运行找不到 rknn 库:export LD_LIBRARY_PATH=./lib临时指定库路径,写入 /etc/profile 永久配置。
4. 推理帧率低:确认core_mask开启全部 NPU 核心,未跑在 CPU。
八、落地应用场景
6TOPS 国产盒子适配:智慧工地安全帽 / 反光衣检测、产线零件缺陷检测、园区人车抓拍、充电桩烟火识别、车载边缘视觉,单盒可带 2~4 路 1080P 摄像头实时 AI 分析。
需求留言: