最近在研究车辆老化测试,发现在检测过程中强依赖于人工记录,所以为了高效自动化检测,减少人工依赖、高精度识别,适应复杂场景、多任务检测,提高效率。
我想到使用 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"

到这里环境部署就结束了,后续的训练以及导出模型看下一章节吧
YOLOv5在Ubuntu 22.04系统的环境搭建
2580

被折叠的 条评论
为什么被折叠?



