野火鲁班猫教程关于yolo3在RK3588上的部署(开发日志)
野火鲁班猫教程关于yolo3在RK3588上的部署
本文参考链接:
准备一:conda的安装
参考链接:conda安装
版本选择最新即可,另外安装上需要注意的两点是:
bash Miniconda3-py39_4.10.3-Linux-x86_64.sh
source ~/.bashrc
否则将无法正常安装。
部署流程
安装相关环境,使用conda创建虚拟环境,可以参考下前面环境搭建章节:
使用conda创建一个名为yolov3的环境,并指定python版本
conda create -n yolov3 python=3.8
进入环境
conda activate yolov3
获取ultralytics yolov3源码,安装相关环境:
获取程序
git clone https://github.com/ultralytics/yolov3 -b archive
切换到yolov3目录
cd yolov3
注意:pip换源
pip3 config set global.index-url https://mirror.baidu.com/pypi/simple
安装相关软件库,
pip install -r requirements.txt
默认会安装pytorch,支持gpu等,可以自行到Pytorch官网https://pytorch.org/get-started/previous-versions/查看命令安装,下面命令示例是安装cuda11.6的版本:
pip install torch==1.13.0+cu116 torchvision==0.14.0+cu116 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu116
pytorch和nmupy建议按requirements.txt中的要求安装,如果安装高版本可能有很多小问题(可以从网上搜索到答案)。
目标检测测试
野火教程如下:
# 获取darknet权重文件,yolov3-tiny是轻量级的yolov3,,yolov3-spp是添加了spp网络的权重文件
wget -c https://pjreddie.com/media/files/yolov3.weights
wget -c https://pjreddie.com/media/files/yolov3-tiny.weights
wget -c https://pjreddie.com/media/files/yolov3-spp.weights
# 或者获取pytorch 权重文件
# darknet53 weights (first 75 layers only)
# wget -c https://pjreddie.com/media/files/darknet53.conv.74
# 或者通过工程的download_yolov3_weights.sh获取权重
执行目标检测程序,–weights指定权重文件,这里测试yolov3.weights;–cfg指定配置文件,不指定时默认是cfg/yolov3-spp.cfg, 这里测试是cfg/yolov3.cfg;–source指定需要检测的图片路径,或者指定图片文件夹路径。
测试单张图片推理
python3 detect.py --source data/samples/bus.jpg --weights weights/yolov3.weights --cfg cfg/yolov3.cfg
多张图片推理,推理工程目录data/samples下的所有图片
python3 detect.py --source data/samples --weights weights/yolov3.weights --cfg cfg/yolov3.cfg
但是实际测试发现报错,仔细阅读报错原因可知权重文件没有找到,我们发现我们找的权重文件是放在weights文件夹中的,仔细看之前的步骤,发现实际上是因为我们下载权重文件的时候是在yolo3文件夹中,我们可以cd weights再下载一遍权重文件,或者把我们需要用到的权重文件yolov3.weights 直接copy到weights文件夹中也可以。
再次运行之后发现问题解决,成功输出图片在output文件夹中。
稍后再搞搞yolo3的训练