| .. | ||
| samples | ||
| 01_download_dataset.py | ||
| 02_train.bat | ||
| 03_export_onnx.bat | ||
| 04_convert_rknn.py | ||
| data.yaml.template | ||
| README.md | ||
鞋子检测模型训练指南
方案:640x640 单模型(部署时用2窗口)
训练阶段:
- 输入:640x640 完整图片
- 模型:YOLOv8s
- 输出:640x640 模型文件
部署阶段(pipeline配置):
- 原图 1920x1080
- 分成 2 个 960x1080 窗口
- 每个窗口 resize 到 640x640 送入模型
- 合并检测结果
目录结构
train/
├── README.md # 本文件
├── 01_download_dataset.py # 下载 Construction-PPE 数据集
├── 02_train.bat # Windows 一键训练脚本
├── 03_export_onnx.bat # 导出 ONNX 脚本
├── 04_convert_rknn.py # 转换为 RKNN 脚本
├── data.yaml.template # 数据集配置文件
└── samples/ # 示例图片
├── calibration/
├── test_images/
└── README.md
快速开始
1. 下载数据集
cd train
python 01_download_dataset.py --source ultralytics
或手动下载:
wget https://github.com/ultralytics/assets/releases/download/v0.0.0/construction-ppe.zip
unzip construction-ppe.zip -d datasets/construction-ppe/
2. 准备配置
cp data.yaml.template datasets/construction-ppe/data.yaml
3. 训练(640x640)
02_train.bat
或手动:
yolo detect train \
data=datasets/construction-ppe/data.yaml \
model=yolov8s.pt \
epochs=150 \
imgsz=640 \
batch=16 \
device=0
训练参数:
- 模型:YOLOv8s(速度和精度平衡)
- 输入:640x640
- 预计时间:30-60分钟
4. 导出 ONNX
03_export_onnx.bat
5. 转换为 RKNN
在 Ubuntu PC 上:
python 04_convert_rknn.py runs/detect/train/weights/best.onnx -o shoe_detector_640.rknn -t rk3588
6. 部署(2窗口配置)
复制到 RK3588:
scp shoe_detector_640.rknn orangepi@<rk3588_ip>:/home/orangepi/apps/OrangePi3588Media/models/
Pipeline 配置(部署阶段用2窗口):
{
"id": "pre_shoe",
"type": "preprocess",
"windows": [
{"x": 0, "y": 0, "w": 960, "h": 1080},
{"x": 960, "y": 0, "w": 960, "h": 1080}
],
"dst_w": 640,
"dst_h": 640
}
类别说明(Construction-PPE)
使用原始11类:
- 0: helmet
- 1: gloves
- 2: vest
- 3: boots ← 主要关注
- 4: goggles
- 5: none
- 6: Person
- 7: no_helmet
- 8: no_goggle
- 9: no_gloves
- 10: no_boots