注意
点击 此处 下载完整的示例代码
准备 ADE20K 数据集。¶
ADE20K 是一个以场景为中心的数据集,包含 2 万张带有 150 个目标类别的标注图像。本教程将帮助您下载 ADE20K 并为后续实验进行设置。

提示
您需要 2.3 GB 可用磁盘空间来下载和提取此数据集。建议使用 SSD 硬盘以获得更快的速度。准备数据集所需的时间取决于您的互联网连接和磁盘速度。例如,在带有 EBS 的 AWS EC2 实例上大约需要 25 分钟。
准备数据集¶
我们将下载并解压以下文件
文件名 |
大小 |
---|---|
923 MB |
|
202 MB |
最简单的方法是运行此脚本
python ade20k.py
如果您已经下载并解压了上述文件,可以通过设置 --download-dir
指定文件夹名,以避免再次下载。例如
python ade20k.py --download-dir ~/ade_downloads
如何加载数据集¶
使用 GluonCV 的数据集工具加载 ADE20K 中的图像和标签非常简单
from gluoncv.data import ADE20KSegmentation
train_dataset = ADE20KSegmentation(split='train')
val_dataset = ADE20KSegmentation(split='val')
print('Training images:', len(train_dataset))
print('Validation images:', len(val_dataset))
输出
Training images: 20210
Validation images: 2000
获取第一个样本¶
import numpy as np
img, mask = val_dataset[0]
# get pallete for the mask
from gluoncv.utils.viz import get_color_pallete
mask = get_color_pallete(mask.asnumpy(), dataset='ade20k')
mask.save('mask.png')
可视化数据和标签¶
from matplotlib import pyplot as plt
import matplotlib.image as mpimg
# subplot 1 for img
fig = plt.figure()
fig.add_subplot(1,2,1)
plt.imshow(img.asnumpy().astype('uint8'))
# subplot 2 for the mask
mmask = mpimg.imread('mask.png')
fig.add_subplot(1,2,2)
plt.imshow(mmask)
# display
plt.show()

脚本总运行时间: ( 0 分钟 43.456 秒)