cqu20160901 / yolov8_rknn_Cplusplus

yolov8 瑞芯微 rknn 板端 C++部署。
BSD 3-Clause "New" or "Revised" License
94 stars 17 forks source link

yolov8_rknn_Cplusplus

yolov8 瑞芯微 rknn 板端 C++部署,使用平台 rk3588。模型转换参考 onnx转rknn , 仿真参考PC仿真

编译和运行

1)编译

cd examples/rknn_yolov8_demo_open

bash build-linux_RK3588.sh

2)运行

cd install/rknn_yolov8_demo_Linux

./rknn_yolov8_demo

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


int main(int argc, char **argv)
{
    char model_path[256] = "/home/zhangqian/rknn/rknpu2_1.4.0/examples/rknn_yolov8_demo_open/model/RK3588/yolov8n_ZQ.rknn";
    char image_path[256] = "/home/zhangqian/rknn/rknpu2_1.4.0/examples/rknn_yolov8_demo_open/test.jpg";
    char save_image_path[256] = "/home/zhangqian/rknn/rknpu2_1.4.0/examples/rknn_yolov8_demo_open/test_result.jpg";

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

测试效果

冒号“:”前的数子是coco的80类对应的类别,后面的浮点数是目标得分。(类别:得分)

images

(注:图片来源coco128)

说明:推理测试预处理没有考虑等比率缩放,激活函数 SiLU 用 Relu 进行了替换。由于使用的是coco128的128张图片数据进行训练的,且迭代的次数不多,效果并不是很好,仅供测试流程用。换其他图片测试检测不到属于正常现象,最好选择coco128中的图像进行测试。

把板端模型推理和后处理时耗也附上,供参考,使用的芯片rk3588。 image

2024年1月12日对后处理进行了优化,后处理时耗有所降低。 image

相关参考链接

【yolov8 瑞芯微RKNN和地平线Horizon芯片仿真测试部署】

【yolov8 瑞芯微 RKNN 的 C++部署】