# 数据准备说明

提交版没有附带完整数据集。训练数据约 3 GB；D-Fire 镜像虽然标注为 CC0，但其中部分图片来自 HPWREN、FESB、FireNet 等上游来源，上游条款未逐一核实，因此不随作业包重新分发。

数据源和许可记录见本目录的 `dataset_info.md`，也可查阅 README 的“数据与模型的来源、许可”一节。正式报告中应说明该数据集包含野外、林区、城市和工业等场景，并非纯森林数据集。

## 图片检测

不下载数据集也可以启动 Streamlit 系统。进入“图片检测”页面后选择上传图片即可；演示截图在 `outputs/screenshots/system_image_detection.png`。

## 准备数据集

若需要本地项目样例、重新评估或训练，请从数据源下载并检查许可，再将压缩包放在项目目录的 `datasets/_downloads/` 下。解压后按下列方式整理：

```powershell
Expand-Archive -LiteralPath datasets\_downloads\smoke-fire-detection-yolo.zip `
  -DestinationPath datasets\_downloads\extracted

.\.venv\Scripts\python.exe src\prepare_dataset.py `
  --raw datasets\_downloads\extracted\data `
  --out datasets\forest_smoke `
  --group-by phash --max-group-size 200 --seed 42

.\.venv\Scripts\python.exe src\dataset_utils.py --check `
  --report outputs\reports\dataset_summary.json `
  --markdown outputs\reports\dataset_summary.md
```

整理后的目录应符合以下格式：

```text
datasets/forest_smoke/
├── images/{train,val,test}/
└── labels/{train,val,test}/
```

图片与标签同名；YOLO 标签每行是 `class_id x_center y_center width height`，坐标归一化到 0–1，类别 `0=smoke`、`1=fire`。空标签文件作为负样本保留。

原始视频编号已缺失，因此本项目按感知哈希近似分组，而非严格视频级划分；数据集有少量近似图跨集合风险。请以 `docs/dataset_guide.md` 和实际生成的 `outputs/reports/dataset_summary.md` 为准。
