GithubHelp home page GithubHelp logo

yolov5s_rknn_deploy's Introduction

知乎专栏:https://zhuanlan.zhihu.com/p/439927321
yolov5s在终端布署上效果还可以,本项目主要达成以下功能:将yolov5s.pt转成yolov5s.onnx,将yolov5s.onnx转成yolov5s.rknn,将yolov5s.rknn部署到rk3399或其他芯片的板子上。
项目地址如下:
https://gitee.com/Dreamdreams8/yolov5s_rknn_deploy/
https://github.com/Dreamdreams8/yolov5s_rknn_deploy
1、下载第三方库opencv:
链接:https://pan.baidu.com/s/1CvXOsnHHaZzxcMh_-x5Ffg 提取码:qkr7
将3rdparty_yolov5s_rknn_deploy/rknn_to_deploy_3rdparty/opencv放到rknn_to_deploy/examples/3rdparty/中
2、 安装RKNN-Toolkit 
1. 安装 Python3.6 和 pip3,也可以用conda创建一个虚拟环境
sudo apt-get install python3 python3-dev python3-pip
一般都是建议独立环境,用conda配置。没有conda的自行安装一个。
conda create -n rknn
conda activate rknn
2. 安装相关依赖
sudo apt-get install libxslt1-dev zlib1g zlib1g-dev libglib2.0-0 libsm6 \
libgl1-mesa-glx libprotobuf-dev gcc
3、安装python相关环境
cd onnx_to_rknn
pip install -r requirements-1.1.0.txt
4、安装rknn-toolkit
进入到3rdparty_yolov5s_rknn_deploy/onnx_to_rknn_3rdparty第三方库中
sudo pip3 install rknn_toolkit2*.whl
5、检查 RKNN-Toolkit 是否安装成功
rk@rk:~/rknn-toolkit2/package$ python3
>>> from rknn.api import RKNN
>>>
3、将yolov5s.pt转成yolov5s.onnx
cd yolov5s-to-onnx
1、安装依赖环境,跟上述环境有重叠的地方,一般不冲突
pip install -r yolov5_requirements.txt
2、将yolov5s的模型放到weights中
3、模型转换
python export.py --weights ./weights/yolov5s.pt --img-size 640 --batch 1 --rknn_mode
如果成果则会在weights中生成yolov5s.onnx
4、将yolov5s.onnx转成yolov5s.rknn
1、将生成的yolov5s.onnx放到onnx_to_rknn/examples/onnx/yolov5s中
cd onnx_to_rknn/examples/onnx/yolov5s
2、模型转换
python test.py
如果成功则会在目录下生成yolov5s.onnx,同时生成结果照片

5、将yolov5s.rknn部署到rk3399或其他芯片的板子上。
如果你代码直接在arm64平台上则不需要安装,如果在PC端要安装gcc跟g++版本
sudo apt-get install gcc-aarch64-linux-gnu
sudo apt-get install g++-aarch64-linux-gnu
将第4个步骤中生成的yolov5s-640-640.rknn拷贝到rknn_to_deploy/examples/yolov5s/model/中
进入到rknn_to_deploy/examples/yolov5s目录中
执行
bash build-linux.sh
如果成功则生成install跟build两个文件夹
将install文件放到板子上,执行
./yolov5s_demo
可以看到在model生成了out.jpg
走到这一步,恭喜你已经完成模型的布署。
参考来源:https://github.com/mrwangwg123/my-rknn-yolov5
参考来源:https://github.com/ultralytics/yolov5
参考来源:https://github.com/airockchip/yolov5

yolov5s_rknn_deploy's People

Contributors

dreamdreams8 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

yolov5s_rknn_deploy's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.