YOLOv5 (1) 训练环境搭建

YOLOv5在Ubuntu 22.04系统的环境搭建
部署运行你感兴趣的模型镜像

最近在研究车辆老化测试,发现在检测过程中强依赖于人工记录,所以为了高效自动化检测,减少人工依赖、高精度识别,适应复杂场景、多任务检测,提高效率
我想到使用 YOLOv5 来分析车辆老化测试(如开关车门)和车座舱域变化(如座椅调整、内饰件装配、车机页面变化)

优势:

  • 实时性:YOLOv5 是一种单阶段目标检测算法,推理速度快(在嵌入式设备上可达 30 FPS),能够实时监控车门开关状态或座舱内物体变化。

  • 减少人工复核:传统人工检查效率低且易疲劳,YOLOv5 可自动识别车门是否完全闭合、座椅位置是否正确,提高检测一致性。

  • 适应光照变化:YOLOv5 结合数据增强(如直方图均衡化)可应对老化测试中不同光照条件下的检测需求。

  • 边缘计算兼容性:YOLOv5 可在低功耗设备上运行(功耗仅 15W),适合车载环境部署,模型轻量化(如 YOLOv5s 仅 13.6MB)使其适合资源受限的 ECU 或车载计算机。

  • 同时检测多个目标:可训练单一模型识别 车门状态座椅位置内饰件装配 等多个目标,减少系统复杂度。例如,吉林大学的智能温控系统使用 YOLOv5 同时检测乘客衣着和座椅状态。

  • 适应新需求:通过调整数据集(如增加老化磨损样本),模型可适应长期老化监测需求。

基于 ubuntu 22.04 系统部署环境:

安装 Conda 虚拟环境和相关依赖

1.安装系统依赖:

①安装 wget 工具

apt-get install wget


②使用阿里云镜像源(适用于 Ubuntu 22.04)

sed -i 's|http://.*archive.ubuntu.com|https://mirrors.aliyun.com|g' /etc/apt/sources.list

sed -i 's|http://.*security.ubuntu.com|https://mirrors.aliyun.com|g' /etc/apt/sources.list

③安装依赖

apt-get update && apt-get install -y \

    libxslt1-dev zlib1g-dev libglib2.0-0 \

    libsm6 libgl1-mesa-glx libprotobuf-dev \

    gcc g++ libssl-dev python3-dev libhdf5-dev

2.安装 Miniconda

①下载 miniconda,清华镜像源

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

②安装后必须初始化:

bash Miniconda3-latest-Linux-x86_64.sh -b -u -p $HOME/miniconda

source $HOME/miniconda/bin/activate

【参数解释】

-u 参数确保文件权限正确(避免 conda 命令报权限错误)

③禁止 conda 自动激活 base 环境(避免干扰):

conda config --set auto_activate false

3.创建指定 python 版本的虚拟环境

①需要先接受Anaconda仓库的服务条款(Terms of Service),这是Anaconda在2020年后引入的新要求:

conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main

conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r

②删除旧环境(避免残留)

conda remove -n myenv --all -y

③创建新环境(严格指定python=3.8)

conda create -n rknn python=3.8 -y

④激活

conda activate rknn

⑤验证Python版本

python --version  # 必须显示Python 3.8.x

⑥验证环境

conda info --envs

输出中应该包含 rknn

4.安装环境依赖文件

①安装 protobuf、onnx、onnxruntime、PyTorch,用于 ONNX 模型的导出与推理

pip install protobuf==4.25.4 --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple

pip install onnx==1.17.0 --no-deps --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple

pip install onnxruntime==1.19.2 --no-deps --no-cache-dir -i  https://mirrors.aliyun.com/pypi/simple

pip install torch==2.4.0 --no-deps --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple

②安装 PyTorch 的视觉工具包,包含图像处理等功能

pip install torchvision==0.19.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

用于确保镜像源安装成功

pip install onnxruntime==1.19.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

④下载 YOLOv5 v6.0 源码

git clone -b v6.0 https://github.com/ultralytics/yolov5

下载预训练模型 yolov5s.pt

wget https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5s.pt

⑥安装图像处理(OpenCV)、数据处理(pandas/numpy)、网络请求(requests)、配置读取(pyyaml)、可视化(matplotlib/seaborn)相关包

pip install opencv-python

pip install requests

pip install pandas

pip install pyyaml

pip install pandas numpy matplotlib seaborn

⑦将 YOLOv5 模型(pt文件)转换为 onnx 格式

python export.py \

  --weights yolov5s.pt \

  --include onnx \

  --imgsz 640 \

  --opset 12 \

  --simplify \

  --device cpu

【参数解释】

  --weights yolov5s.pt  指定预训练的 YOLOv5 模型权重文件

  --include onnx  导出为 ONNX 格式

  --imgsz 640  YOLOv5 默认输入尺寸为 640x640,可通过修改 export.py 代码支持可变尺寸

  --opset 12  ONNX 算子集版本,版本过低可能导致某些算子不支持

  --simplify  优化模型结构,移除冗余节点(如 Identity),模型体积减小约 10%~30%,推理速度可能提升

  --device cpu  指定模型导出时的计算设备

⑧验证

python -c "import onnx; onnx.checker.check_model(onnx.load('yolov5s.onnx')); print('✓ ONNX 验证通过')"

⑨检查版本

pip list | grep -E "torch|protobuf|onnx|ultralytics"

到这里环境部署就结束了,后续的训练以及导出模型看下一章节吧

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值