【work】yolov11训练与自动标注全过程(以吸烟检测为例子)
文章目录
- 🌕训练
-
- 🌙图片重命名
-
- ⭐图片命名格式
- ⭐把所有.jpg或者xml文件按顺序改为 smoke_000001.jpg这种形式
- 🌙把图片移动成 0_200, 201_400 ...
- 🌙xml转适用于yolo的txt格式
-
- ⭐1.xml_to_yolo_txt_thread_2025_10_7.md
- ⭐1.xml_to_yolo_txt_thread_2025_10_7.py
- 🌙数据划分
-
- ⭐2.split_data.md
- ⭐2.split_data.py
- 🌙生成train.txt和val.txt
- 🌙设置smoker.yaml
- 🌙训练yolvo11 train_smoker.py
- 🌕自动标注
-
- 🌙将yolov11的推理结果转xml
-
- ⭐box_result_to_xml_thread_2025_7_11_command.md
- ⭐box_result_to_xml_thread_2025_7_11.py
🌕🌙⭐
🌕训练
🌙图片重命名
⭐图片命名格式
选择 smoke_000001.jpg 而不是 smoke_1.jpg 是有几个很实际的原因,主要是为了稳定排序、可扩展性和兼容性。我帮你详细拆一下:
- 稳定的排序
如果用 smoke_1.jpg、smoke_2.jpg … smoke_10.jpg,很多文件管理器或脚本会按字符串顺序排序,而不是数字大小:
smoke_1.jpg
smoke_10.jpg
smoke_100.jpg
smoke_2.jpg ← 排在 smoke_100 后面,顺序乱了
如果用零填充的 smoke_000001.jpg,无论是文件管理器还是代码读取,都会保持正确的顺序:
smoke_000001.jpg
smoke_000002.jpg
…
smoke_000010.jpg
smoke_000100.jpg
⭐把所有.jpg或者xml文件按顺序改为 smoke_000001.jpg这种形式
import osdef rename_files(folder_path, prefix="smoke_", digits=6):"""批量重命名图片及其对应的 xml 文件,保持编号一致:param folder_path: 目标文件夹路径