遇见数据集

爆炸物-人-火焰-发电站

收藏
魔搭社区2026-08-16 更新2026-08-16 收录
官方服务:

资源简介:

## 1. 目录结构 ``` VOCData/ ├── bomb/ # 爆炸物检测(VOC XML,6 类,数字编号) ├── bomb2/ # 弹药型号检测(VOC XML,16 类) ├── fire_smoke/ # 火焰/烟雾检测(VOC XML,2 类) ├── people/ # 行人检测(自定义 JSON,2 类) ├── power/ # 电厂检测(VOC XML,1 类) ├── video/ # 推理用的源视频(非标注数据集) └── README.md # 本文件 ``` 每个「任务目录」内部通常遵循如下约定(以 VOC XML 类为例): ``` <bomb2>/ ├── images/ # 原始图片(.jpg/.jpeg/...) ├── Annotations/ # VOC 标注(.xml,与图片同名) ├── labels/ # 生成的 YOLO 标签(.txt,与图片同名) ├── bomb2.txt # 主清单:images/ 下全部图片名(生成名字步骤产出) ├── train.txt # 训练集清单,每行 ./images/<name> ├── val.txt # 验证集清单 ├── test.txt # 测试集清单 └── make_label.py # 一键标注脚本(见第 4 节) ``` > 注:`bomb2.txt` 这个主清单文件名是历史遗留命名,fire_smoke / power 目录里也沿用了它, > 本质就是「该任务全部图片的清单」,并非仅属于 bomb2。 --- ## 2. 数据集汇总 | 任务 | 图片数 | 标注数 | 标注格式 | 类别(class_id 见第 5 节) | 标签工具 | |-------------|-------:|-------:|----------|--------------------------------------|-----------------------------------| | `bomb` | 1086 | 1086 | VOC XML | `1,2,3,5,6,7`(跳过 4) | 共享 `tools/make_labels.py`(voc) | | `bomb2` | 833 | 833 | VOC XML | 16 类弹药型号 | `bomb2/make_label.py` | | `fire_smoke`| 5749 | 5749 | VOC XML | `fire`, `smoke` | `fire_smoke/make_label.py` | | `people` | 989 | 989 | JSON | `1`, `2` | 共享 `tools/make_labels.py`(json) | | `power` | 2223 | 2223 | VOC XML | `PowerPlant` | `power/make_label.py` | | `video` | — | — | 视频 | —(推理输入,不在本仓训练) | — | 切分比例统一为 **训练 : 验证 : 测试 = 8 : 1 : 1**,随机种子 `seed=42`(可复现)。 各任务 train/val/test 实际数量: - bomb2:666 / 83 / 84 - fire_smoke:4599 / 574 / 576 - power:1778 / 222 / 223 --- ## 3. YOLO 标签格式 `labels/<image_id>.txt` 每行一个目标: ``` <class_id> <cx> <cy> <w> <h> ``` - `class_id`:从 0 开始的整数,对应第 5 节的类别顺序 - `cx, cy, w, h`:相对于图片宽高的归一化值,范围 `[0, 1]` - 一张图多个目标 → 多行;无目标的图 → 空文件(不写行) --- ## 4. 一键标注脚本 `make_label.py`(bomb2 / fire_smoke / power) 这三个任务各自有一份**独立副本**的 `make_label.py`,按顺序执行三步: 1. **生成名字** —— 扫描 `images/` 写出主清单 `bomb2.txt` 2. **分割数据集** —— 按 8:1:1 切分,写出 `train.txt` / `val.txt` / `test.txt` 3. **标签转化** —— 把 `Annotations/*.xml` 转成 `labels/*.txt`(VOC→YOLO) 所有「因数据集而异」的参数集中在脚本顶部的 `CONFIG` 字典,也可命令行覆盖。 ```bash cd VOCData/fire_smoke # 进入对应任务目录后运行 python make_label.py # 默认 8:1:1, seed=42 python make_label.py --split-ratio 0.8 0.1 0.1 --seed 7 python make_label.py --dry-run # 仅预览切分,不写文件 python make_label.py --no-convert # 只生成名字+切分,不转标签 ``` 常用可覆盖参数:`--data-root` `--images-dir` `--ann-dir` `--labels-dir` `--list-file` `--split-names` `--split-ratio` `--seed` `--classes` `--dry-run` `--no-convert`。 > ⚠️ **重跑会覆盖** 该目录下的 `bomb2.txt` / `train.txt` / `val.txt` / `test.txt` 与 `labels/`。 --- ## 5. 各类别明细 ### bomb2(16 类,class_id 顺序即下列下标) ``` 0 PF89S-80 1 GLD213_DL 2 GLD120_DL 3 82S 4 PP89S 5 PHL03S-300 6 PP87S-82 7 PHL81S-122 8 66S-152 9 70_QLD 10 52S-57 11 CJD 12 80_SSD 13 SBRD-90 14 2.5kg-I 15 HK-23 ``` ### fire_smoke(2 类) ``` 0 fire 1 smoke ``` > 个别标注把 `smoke` 误写成 `smog`,脚本已自动归并到 `smoke`,不会丢样本。 ### power(1 类) ``` 0 PowerPlant ``` ### bomb(6 类,XML 中以数字字符串标注,刻意跳过 4) ``` XML 名称: 1 2 3 5 6 7 ``` > bomb 不在 VOCData 内放独立 `make_label.py`,而是用共享工具生成(见第 6 节)。 ### people(2 类,自定义 JSON) ``` 1 行人类别 1 2 行人类别 2 ``` > 标注不是 VOC XML,而是 `people/json_det/<id>_det.json`,结构为 > `{name, size, objects:[{category, box2d:{x1,y1,x2,y2}, ...}]}`。 --- ## 6. bomb / people 的标签生成(共享通用工具) `bomb` 与 `people` 使用仓库根目录的共享工具 `tools/make_labels.py` (全参数化,支持 voc / json 两种格式),不在 VOCData 内各放一份。 其中 `bomb/make_labels.py` 是对该通用工具的薄封装(写死 bomb 默认值)。 ```bash # bomb(voc 格式) python tools/make_labels.py --data-root VOCData/bomb --format voc \ --classes 1 2 3 5 6 7 --list-file bomb_pic.txt # people(json 格式) python tools/make_labels.py --data-root VOCData/people --format json \ --classes 1 2 --list-source file --list-file people.txt ``` 具体参数以 `python tools/make_labels.py -h` 为准。 --- ## 7. 重要注意事项 1. **`make_label.py` 是按数据集硬编码类目的独立副本**,bomb2 / fire_smoke / power 三份互不相同。**切勿跨数据集套用**——曾因把 bomb2 的 16 类列表复制到 fire_smoke / power,导致所有标签被静默跳过、文件全空。改类目请只改对应那份脚本的 `CONFIG['classes']`。 2. **坐标修正**:VOC→YOLO 转换中中心点公式为 `(xmin+xmax)/2 / w`, 不要多加 `-1`(旧脚本曾有该 bug,已修正)。 3. **标注越界会自动裁剪**到图片边界(`xmax>width` 等情形)。 4. **空标注/解析失败**会被跳过并提示,不会中断整批转换。 5. `video/` 只放推理用的源视频,不参与训练数据集统计。

提供机构:
maas
创建时间:
2026-08-12
二维码
社区交流群
二维码
科研交流群
商业服务