# Yolov5DevPipeline **Repository Path**: zptian/yolov5-dev-pipeline ## Basic Information - **Project Name**: Yolov5DevPipeline - **Description**: yolov5模型训练和板端部署pipeline - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-02 - **Last Updated**: 2024-02-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: YOLOv5, Python, 部署, Cpp ## README # **Yolov5 develop pipeline** ## 简介 仓库内容包括yolov5模型开发的python代码以及在板端部署的C++代码。 最近涉及到使用yolov5做一些工作,整理了开发流程,分享出来。 C++部署通过两种方式: 1.onnxruntime版本,直接调cpu推理,适用任何板子; 2.rknn版本,适用于在瑞芯微板子部署,调用npu推理; ## 代码结构 ``` ├── Yolov5_Rknn_master #python模型开发代码 ├── Yolov5RknnCppDeploy #C++部署版本,rknn版本 ├── Yolov5OnnxCppDeploy #C++部署版本,onnx版本 ``` ## 开发流程 ### 1.模型开发 yolov5模型开发流程,参考[yolov5](https://github.com/ultralytics/yolov5)。 本仓库模型开发代码是瑞芯微提供的[yolov5-rknn](https://github.com/airockchip/yolov5),在原yolov5基础上进行了修改,方便导出适配瑞芯微官方C++后处理部署的rknn模型,而且对转换.rknn时进行PTQ量化进行了处理,具体导出onnx和转换.rknn参考[yolov5-rknn](https://github.com/airockchip/yolov5)。 最开始需求是在rk3588板子上部署,所以先尝试.rknn推理、后处理流程的跑通,之后onnx版本的部署也就使用了相同的后处理代码。应用该后处理代码,在导出onnx模型时,依赖rknn修改的模型结构,所以就贴了rknn的yolov5代码。 ### 2.onnx部署 onnxruntime运行需要对应的库,onnx官方平台下载即可https://github.com/microsoft/onnxruntime/tree/main,onnx c++ api参考:https://onnxruntime.ai/docs/api/c/index.html 图像处理当然少不了opencv,opencv安装记录:https://ypnhdgtftk.feishu.cn/wiki/MY5Lwv9JQizp7nktXaEcMIekn4e?fromScene=spaceOverview ### 3.rknn部署 rknn部署参考rknn官方教程,这里是记录:https://ypnhdgtftk.feishu.cn/wiki/VlA7wnLpmid5K4kBjqochbjNnuW?fromScene=spaceOverview