Skip to content
Showcase/ADE20K: Scene Parsing and Semantic Segmentation Dataset
advancedimage

ADE20K: Scene Parsing and Semantic Segmentation Dataset

ADE20K is a scene parsing dataset from MIT CSAIL (Zhou et al., CVPR 2017) with dense pixel labels for objects, stuff, and parts. This Potato config adapts it to an image-level category-tagging task over a curated subset of common ADE20K categories.

About this dataset

ADE20K is a scene parsing and semantic segmentation dataset built by Bolei Zhou and colleagues at MIT CSAIL and presented at CVPR 2017. Every image is densely labeled at the pixel level, covering objects, background stuff, and the parts that make up each object.

The full dataset contains 25,210 images: 20,210 for training, 2,000 for validation, and 3,000 for testing. Across these images annotators marked 434,826 object instances and 175,961 part instances, with an average of 19.5 instances and 10.5 object classes per image.

The annotations span 2,693 object and stuff classes plus 476 part classes, with parts attached to a large share of object instances. The widely used SceneParse150 benchmark narrows this to 150 frequent classes (115 objects and 35 stuff categories), which cover 92.75% of all annotated pixels and serve as the standard semantic segmentation evaluation set.

The Potato config below reproduces this labeling task. Annotators select which of the 150 scene categories appear in an image and assign a primary scene label, mirroring the object-plus-stuff taxonomy that drives ADE20K's pixel-level segmentation.

Total images
25,210
Train / val split
20,210 / 2,000
Object + stuff classes
2,693
Part classes
476
SceneParse150 benchmark
150 classes
Object instances
434,826
Labels:outdoornatureurbanpeopleanimal+

Configuration Fileconfig.yaml

This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.

yaml
# ADE20K Semantic Segmentation Configuration
# Based on Zhou et al., CVPR 2017

annotation_task_name: "ADE20K Scene Parsing"
task_dir: "."

data_files:
  - "sample-data.json"

item_properties:
  id_key: "id"
  text_key: "image_url"
  context_key: "context"

user_config:
  allow_all_users: true

annotation_schemes:
  - annotation_type: "multiselect"
    name: "building_elements"
    description: "Select visible building/structure elements"
    labels:
      - name: "wall"
        tooltip: "Walls"
      - name: "floor"
        tooltip: "Floor surfaces"
      - name: "ceiling"
        tooltip: "Ceilings"
      - name: "door"
        tooltip: "Doors"
      - name: "window"
        tooltip: "Windows"
      - name: "stairs"
        tooltip: "Stairs, steps"

  - annotation_type: "multiselect"
    name: "furniture"
    description: "Select visible furniture"
    labels:
      - name: "chair"
        tooltip: "Chairs, seats"
      - name: "table"
        tooltip: "Tables"
      - name: "bed"
        tooltip: "Beds"
      - name: "sofa"
        tooltip: "Sofas, couches"
      - name: "cabinet"
        tooltip: "Cabinets, shelves"
      - name: "desk"
        tooltip: "Desks"

  - annotation_type: "multiselect"
    name: "nature"
    description: "Select visible nature elements"
    labels:
      - name: "tree"
        tooltip: "Trees"
      - name: "grass"
        tooltip: "Grass"
      - name: "plant"
        tooltip: "Plants, flowers"
      - name: "sky"
        tooltip: "Sky"
      - name: "water"
        tooltip: "Water bodies"
      - name: "mountain"
        tooltip: "Mountains, hills"

  - annotation_type: "multiselect"
    name: "objects"
    description: "Select visible objects"
    labels:
      - name: "lamp"
        tooltip: "Lamps, lights"
      - name: "painting"
        tooltip: "Paintings, artwork"
      - name: "curtain"
        tooltip: "Curtains, drapes"
      - name: "rug"
        tooltip: "Rugs, carpets"
      - name: "mirror"
        tooltip: "Mirrors"
      - name: "clock"
        tooltip: "Clocks"

  - annotation_type: "radio"
    name: "scene_type"
    description: "What type of scene is this?"
    labels:
      - name: "indoor"
        tooltip: "Indoor scene"
      - name: "outdoor"
        tooltip: "Outdoor scene"
      - name: "mixed"
        tooltip: "Mixed indoor/outdoor"

interface_config:
  item_display_format: "<img src='{{text}}' style='max-width:100%; max-height:500px;'/><br/><small>{{context}}</small>"

output_annotation_format: "json"
output_annotation_dir: "annotations"

Sample Datasample-data.json

json
[
  {
    "id": "ade_001",
    "image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Schloss_Neuschwanstein_2013.jpg/1200px-Schloss_Neuschwanstein_2013.jpg",
    "context": "Parse this scene by identifying all visible objects, structures, and nature elements."
  },
  {
    "id": "ade_002",
    "image_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Camponotus_flavomarginatus_ant.jpg/1200px-Camponotus_flavomarginatus_ant.jpg",
    "context": "Annotate all semantic categories visible in this scene."
  }
]

// ... and 1 more items

Get This Design

View on GitHub

Clone or download from the repository

Quick start:

git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/image/segmentation/ade20k
potato start config.yaml

Dataset & paper

Zhou et al., CVPR 2017

Citation (BibTeX)

bibtex
@inproceedings{zhou2017scene,
    title = "Scene Parsing through {ADE20K} Dataset",
    author = "Zhou, Bolei and Zhao, Hang and Puig, Xavier and Fidler, Sanja and Barriuso, Adela and Torralba, Antonio",
    booktitle = "Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)",
    pages = "633--641",
    year = "2017",
    url = "https://openaccess.thecvf.com/content_cvpr_2017/html/Zhou_Scene_Parsing_Through_CVPR_2017_paper.html"
}

Details

Annotation Types

multiselectradio

Domain

Computer VisionScene Parsing

Use Cases

Semantic SegmentationScene UnderstandingPart Parsing

Tags

ade20ksegmentationscene-parsingcvpr2017mit

Found an issue or want to improve this design?

Open an Issue