yolov11 部署瑞芯微rk3588、RKNN部署工程难度小、模型推理速度快

   yolov8还没玩溜,yolov11又来了,那么部署也又来了。

特别说明:如有侵权告知删除,谢谢。

完整代码:包括onnx转rknn和测试代码、rknn板端部署C++代码
【onnx转rknn和测试代码】
【rknn板端部署C++代码】

1 模型训练

  yolov11训练官方开源的已经非常详细了,参考官方代码。

2 导出 yolov11 onnx

   导出onnx修改以下几处。

第一处:修改导出onnx的检测头

python 复制代码
        # 导出 onnx 增加
        y = []
        for i in range(self.nl):
            t1 = self.cv2[i](x[i])
            t2 = self.cv3[i](x[i])
            y.append(t1)
            y.append(t2)
        return y

第二处:增加保存onnx代码

python 复制代码
        print("===========  onnx =========== ")
        import torch
        dummy_input = torch.randn(1, 3, 640, 640)
        input_names = ["data"]
        output_names = ["reg1", "cls1", "reg2", "cls2", "reg3", "cls3"]
        torch.onnx.export(self.model, dummy_input, "/root/zhangqian/ultralytics-main/yolov11n_80class_ZQ.onnx",
                          verbose=False, input_names=input_names, output_names=output_names, opset_version=11)
        print("======================== convert onnx Finished! .... ")

修改完以上两处,运行以下代码:

python 复制代码
from ultralytics import YOLO
model = YOLO(model='yolov11n.pt')  # load a pretrained model (recommended for training)
results = model(task='detect', source='./test.jpg', save=True)  # predict on an image

特别说明: 修改完以上两处后运行会报错,但不影响onnx的生成;生成onnx后强烈建议用from onnxsim import simplify 处理一下再转rknn。

3 测试onnx效果

pytorch效果

onnx效果(测试onnx代码链接

4 onnx转rknn

onnx转rknn代码链接

转rknn后仿真结果

5 rk3588板子测试yolov11模型

使用的 rknn_toolkit 版本:rknn_toolkit2-2.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

C++代码中的库和工具链的版本注意对应适配。

1)编译

复制代码
cd examples/rknn_yolov11_demo_dfl_open

bash build-linux_RK3588.sh

2)运行

复制代码
cd install/rknn_yolo_demo_Linux

./rknn_yolo_demo 

注意:修改模型、测试图像、保存图像的路径,修改文件为src下的main.cc

复制代码
int main(int argc, char **argv)
{
    char model_path[256] = "/home/zhangqian/rknn/examples/rknn_yolov11_demo_dfl_open/model/RK3588/yolov11n_80class_ZQ.rknn";
    char image_path[256] = "/home/zhangqian/rknn/examples/rknn_yolov11_demo_dfl_open/test.jpg";
    char save_image_path[256] = "/home/zhangqian/rknn/examples/rknn_yolov11_demo_dfl_open/test_result.jpg";

    detect(model_path, image_path, save_image_path);
    return 0;
}

3)板端效果和时耗

相关推荐
大鱼>3 天前
地平线BPU部署实战:YOLOv8在J5/X3上的算法适配与性能优化
算法·yolo·性能优化
stsdddd4 天前
YOLO系列目标检测数据集大全【第二十九期】
yolo·目标检测·目标跟踪
大鱼>4 天前
YOLO边缘部署深度指南:从YOLOv8n到NPU加速的全链路优化
yolo·aiot
AI棒棒牛4 天前
第 03 讲《监督学习:数据、标签、Loss与训练循环》
人工智能·学习·yolo·目标检测·yolo26
FL16238631294 天前
国内快递面单识别检测数据集VOC+YOLO格式422张6类别
人工智能·yolo·机器学习
stsdddd4 天前
YOLO系列目标检测数据集大全【第三十期】
yolo·目标检测·目标跟踪
YOLO数据集集合4 天前
无人机航拍地质灾害智能识别 山体滑坡实例分割数据集落地实战 | 泥石流监测 道路险情封堵 深度学习模型训练方案10296期
人工智能·深度学习·yolo·目标检测·无人机
音沐mu.4 天前
【73】墙壁建筑缺陷数据集(有v5/v8模型)/YOLO墙壁建筑缺陷检测
yolo·目标检测·目标检测数据集·墙壁建筑缺陷数据集·墙壁建筑缺陷检测
前网易架构师-高司机4 天前
带标注的辣椒病叶数据集,识别率95.9%,可识别三种病害和健康叶子,9916张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·病害·叶病·病叶·辣椒
动物园猫4 天前
直升机停机坪目标检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·目标检测