Mask2former数据集
时间: 2025-06-28 19:23:20 浏览: 26
### Mask2Former 相关的数据集
对于Mask2Former模型而言,所涉及的数据集通常需满足特定格式要求以便于实例分割和语义分割任务的有效执行。具体来说,在准备用于Mask2Former训练的数据集中,不仅要有图像文件,还应包含对应的掩码(mask)信息以及可能的深度图(dem),这些构成了完整的输入样本[^1]。
#### COCO 数据集
COCO(Common Objects in Context)是一个广泛应用于目标检测、分割等领域的大规模数据集。为了适应Mask2Former的需求,该数据集被进一步处理成既含有实例级标注又具备像素级别的类别标签形式,从而支持更复杂的视觉理解任务。通过调整`datasets/prepare_ade20k_sem_seg.py`脚本可以生成适合Mask2Former框架下操作的标准数据结构[^2]。
#### Bijie Landslide Dataset
这是一个专注于滑坡灾害识别的研究型数据集合,由武汉大学基于Triplesat卫星影像构建而成。它特别适用于研究地质灾害中的变化监测等问题。此数据集内含770组带有滑坡特征的信息(包括图片、掩膜、高程模型DEM及其边界坐标),另有2003条无滑坡现象的相关记录可供对比分析。由于其独特的应用场景,使得这个数据源成为测试Mask2Former在特殊领域表现的理想选择之一[^3]。
```python
import os
from mask2former.data.datasets.builtin import register_builtin_datasets
# 注册内置数据集, 如COCO等
register_builtin_datasets()
# 对于自定义数据集如Bijie Landslide Dataset,则需要额外注册
def register_landslide_dataset():
from detectron2.data import MetadataCatalog, DatasetCatalog
# 假设路径为本地存储位置
DATASET_PATH = "/path/to/Bijie_Landslide_Dataset"
def get_bijie_dicts(img_dir):
json_file = os.path.join(DATASET_PATH, "annotations.json")
with open(json_file) as f:
dataset_dicts = json.load(f)
for i in range(len(dataset_dicts)):
record = {}
filename = os.path.join(img_dir, dataset_dicts[i]["file_name"])
height, width = cv2.imread(filename).shape[:2]
record["file_name"] = filename
record["height"] = height
record["width"] = width
annos = dataset_dicts[i].get("annotations", [])
objs = []
for anno in annos:
obj = {
"bbox": anno['bbox'],
"category_id": anno['category_id'] - 1,
"segmentation": anno.get('segmentation', None),
...
}
objs.append(obj)
record["annotations"] = objs
yield record
img_dirs = ["train/images", "val/images"]
names = ["bijie_train", "bijie_val"]
for d, name in zip(img_dirs, names):
DatasetCatalog.register(name, lambda d=d: get_bijie_dicts(os.path.join(DATASET_PATH, d)))
MetadataCatalog.get(name).set(
thing_classes=["landslide"], # 或者更多分类依据实际情况设定
evaluator_type="coco",
ignore_label=255,
image_root=os.path.join(DATASET_PATH, d.split("/")[0]),
json_file=os.path.join(DATASET_PATH, "annotations.json"),
)
register_landslide_dataset()
```
阅读全文
相关推荐




















