基于遥感图像的森林过火区域估计与严重程度评估数据集,提供过火前后的哨兵1和哨兵2图像,并提供过火区域mask图,共14GB数据。
如何构建和使用基于遥感图像的森林过火区域估计与严重程度评估数据集的详细步骤和代码。我们将使用Python和深度学习框架(如PyTorch)来实现这一任务。
项目结构
深色版本
ForestFireDetection/
├── data/
│ ├── sentinel1/
│ │ ├── pre_fire/
│ │ └── post_fire/
│ ├── sentinel2/
│ │ ├── pre_fire/
│ │ └── post_fire/
│ ├── masks/
│ └── metadata.csv
├── models/
│ └── unet/
├── utils/
│ ├── data_loader.py
│ ├── metrics.py
│ └── plot.py
├── main.py
├── train.py
├── infer.py
└── README.md
- 数据集准备
数据集格式
sentinel1/:包含哨兵1卫星的过火前后图像。
sentinel2/:包含哨兵2卫星的过火前后图像。
masks/:包含过火区域的掩码图。
metadata.csv:包含图像的元数据信息,如图像路径、过火区域面积等。
数据集目录结构
深色版本
data/
├── sentinel1/
│ ├── pre_fire/
│ └── post_fire/
├── sentinel2/
│ ├── pre_fire/
│ └── post_fire/
├── masks/
└── metadata.csv - 安装依赖
确保安装了必要的依赖项:
bash
深色版本
pip install torch torchvision pandas numpy matplotlib scikit-image
3. 数据加载
编写一个数据加载脚本utils/data_loader.py:
python
深色版本
import os
import pandas as pd
import numpy as np
import torch
from torch.utils.data import Dataset, DataLoader
from skimage import io
class ForestFireDataset(Dataset):
def init(self, csv_file, root_dir, transform=None):
self.metadata = pd.read_csv(csv_file)
self.root_dir = root_dir
self.transform = transform
def __len__(self):
return len(self.metadata)
def __getitem__(self, idx):
if torch.is_tensor(idx):
idx = idx.tolist()
img_name = os.path.join(self.root_dir, self.metadata.iloc[idx, 0])
mask_name = os.path.join(self.root_dir, self.metadata.ilo