ade20k 街景图像【数据集】及其【论文出处】ADE20K数据集介绍 是一个包含超过25000张图像的语义分割数据集,这些图像被密集注释,覆盖室内和室外场景。
它由MIT发布,包含100个事物类别和50个物质类别, 用于训练和验证的图像数量分别为20210和2000。 ADE20K数据集的特点包括丰富的场景多样性和详细的语义标注,使得它成为训练和评估语义分割模型的重要资源。
数据集组成: ADE20K数据集分为训练集、验证集和测试集,其中训练集包含20,210张图像,验证集包含2,000张图像。测试集的图像将在稍后发布。 图像和注释: 每个图像都完全标注了对象和部分,这对于训练深度学习模型以进行像素级的语义分割至关重要。注释信息以PNG文件的形式提供,其中对象分割掩码包含有关对象类分割的信息,每个类分隔为实例。 应用领域: ADE20K数据集适用于计算机视觉和机器学习领域的研究,特别是在语义分割、场景解析等方面。
它为研究人员提供了一个标准化的数据集,以便评估算法的性能并促进该领域的研究进展。 特点: ADE20K数据集的图像涵盖了室内和室外场景,包括自然场景等,具有丰富的场景多样性。此外,数据集中的图像被标注了150个不同的类别,这些类别包括事物和物质,为训练和评估模型提供了丰富的语义信息
ADE20K 数据集介绍
数据集名称
ADE20K (Scene Parsing and Semantic Segmentation Dataset)
数据集概述
ADE20K 是一个广泛使用的语义分割数据集,由麻省理工学院(MIT)发布。该数据集包含超过25,000张图像,这些图像被密集注释,覆盖了室内和室外场景。ADE20K 旨在为语义分割任务提供丰富的场景多样性和详细的标注信息,是训练和评估语义分割模型的重要资源。
论文出处
数据集规格
- 总图像数量:超过25,000张
- 训练集:20,210张图像
- 验证集:2,000张图像
- 测试集:稍后发布
- 类别:涵盖150个不同的类别,包括100个事物类别和50个物质类别。
- 标注格式:
- PNG文件:每个图像都提供了像素级别的语义分割掩码,其中每个类分隔为实例。
- JSON文件:包含详细的注释信息,如对象的边界框、多边形等。
数据集结构
深色版本
ADE20K/
├── images/ # 存放原始图像文件
│ ├── training/ # 训练集图像
│ ├── validation/ # 验证集图像
└── annotations/ # 存放语义分割标签文件├── training/ # 训练集标签└── validation/ # 验证集标签
images/
目录下存放的是原始图像文件。annotations/
目录下存放的是对应的语义分割标签文件,以PNG格式存储。
数据集配置文件
在使用深度学习框架进行训练时,可以创建一个类似于以下的配置文件 data.yaml
:
# 训练集图像路径
train: path_to_your_train_images
# 验证集图像路径
val: path_to_your_val_images
# 测试集图像路径(如果有的话)
test: path_to_your_test_images# 类别数量
nc: 150
# 类别名称
names: ['wall', 'building', 'sky', 'floor', 'tree', 'ceiling', 'road', 'bed ', 'windowpane', 'grass','cabinet', 'sidewalk', 'person', 'earth', 'door', 'table', 'mountain', 'plant', 'curtain', 'chair',# ... 其他130个类别
]
标注统计
- 总计 (total):
- 训练集:20,210张图像
- 验证集:2,000张图像
使用说明
-
准备环境:
- 确保安装了必要的软件库以支持所选版本的语义分割模型。例如,对于PyTorch中的DeepLabV3+,可以使用以下命令安装依赖库:
pip install -r requirements.txt
- 确保安装了必要的软件库以支持所选版本的语义分割模型。例如,对于PyTorch中的DeepLabV3+,可以使用以下命令安装依赖库:
-
数据预处理:
- 将图像和标注文件分别放在相应的目录下。
- 修改配置文件中的路径以匹配你的数据集位置。
- 如果需要,可以使用脚本将PNG格式的标注文件转换为其他格式(如NumPy数组),或者反之。
-
修改配置文件:
- 更新配置文件以反映正确的数据路径。
- 如果使用特定版本的语义分割模型,还需要更新相应的模型配置文件(如
configs/deeplabv3plus.py
)。
-
开始训练:
- 使用提供的训练脚本启动模型训练过程。例如,对于DeepLabV3+,可以使用以下命令进行训练:
python train.py --config configs/deeplabv3plus.yaml
- 使用提供的训练脚本启动模型训练过程。例如,对于DeepLabV3+,可以使用以下命令进行训练:
-
性能评估:
- 训练完成后,使用验证集或测试集对模型进行评估,检查mIoU等指标是否达到预期水平。例如,对于DeepLabV3+,可以使用以下命令进行评估:
python eval.py --config configs/deeplabv3plus.yaml
- 训练完成后,使用验证集或测试集对模型进行评估,检查mIoU等指标是否达到预期水平。例如,对于DeepLabV3+,可以使用以下命令进行评估:
-
部署应用:
- 将训练好的模型应用于实际场景中,实现语义分割功能。例如,可以使用以下命令进行推理:
python infer.py --config configs/deeplabv3plus.yaml --image_path path_to_your_image
- 将训练好的模型应用于实际场景中,实现语义分割功能。例如,可以使用以下命令进行推理:
注意事项
- 数据增强:可以通过调整数据增强策略来进一步提高模型性能,例如随机裁剪、旋转、亮度对比度调整等。
- 超参数调整:根据实际情况调整学习率、批大小等超参数,以获得最佳训练效果。
- 硬件要求:建议使用GPU进行训练,以加快训练速度。如果没有足够的计算资源,可以考虑使用云服务提供商的GPU实例。
- 平衡数据:注意数据集中各类别之间的不平衡问题,可以通过过采样、欠采样或使用类别权重等方式来解决。
- 复杂背景:图像中的背景可能非常复杂,因此在训练时需要注意模型对这些特性的适应性。
- 多目标分割:在同一张图像中可能同时出现多个目标,确保模型能够正确区分并定位这些目标。
通过上述步骤,你可以成功地使用ADE20K数据集进行多种计算机视觉任务的研究和开发。该数据集是语义分割、场景解析等领域的重要基准之一,广泛应用于监督学习中的标签数据提供,支持语义分割、场景理解等多类任务。