Skip to content

Repository files navigation

MetaPKLot

A large-scale benchmark for vision-based parking lot management

2.26M labeled samples Β· 1.36M new annotations Β· 3 research challenges Β· COCO-style annotations

Paper DOI Open Access Annotations GitHub stars

πŸ“„ Paper Β β€’ πŸ€— Hugging Face β€’ Kaggle β€’ 🧠 Baselines & Models Β β€’Β  πŸ—‚οΈ Annotations Β β€’Β  πŸ› οΈ Tools


MetaPKLot dataset examples

About MetaPKLot

MetaPKLot is a large-scale, harmonized dataset and benchmark for vision-based parking lot management.

It extends and standardizes three widely used parking datasets β€” PKLot, CNRPark-EXT, and PLds β€” by introducing new annotations, revising existing parking-space annotations, and providing a unified experimental framework for evaluating parking-management systems under realistic cross-dataset conditions.

MetaPKLot adds 1,366,185 new annotations and revises approximately 900,000 existing annotations, resulting in 2,265,974 labeled samples.

The dataset introduces:

  • 570,326 new labeled parking spots
  • 795,859 vehicle segmentation polygons
  • Persistent identifiers for more than 32,000 vehicles
  • Standardized parking-space polygons
  • Parking-space occupancy labels
  • Vehicle instance segmentation masks
  • Timestamps and vehicle identities for dwell-time estimation
  • COCO-style JSON annotations
  • Standardized cross-dataset evaluation protocols

MetaPKLot was introduced in:

MetaPKLot – new challenges and protocols for vision-based parking lot management Neural Computing and Applications, 2026. https://doi.org/10.1007/s00521-026-12398-0


✨ Dataset at a glance

Property MetaPKLot
Source datasets PKLot, CNRPark-EXT, PLds
Total labeled samples 2,265,974
New annotations 1,366,185
New parking-spot labels 570,326
Vehicle segmentation polygons 795,859
Persistent vehicle identities 32,000+
Annotation format COCO-style JSON
Main tasks Occupancy, Dwell Time, Spot Extraction

🧠 Research Challenges

MetaPKLot defines three standardized challenges for vision-based parking lot management.

Challenge Goal Reference implementation
1. Parking Spot Occupancy Recognition Determine whether a predefined parking spot is empty or occupied classification
2. Parking Dwell Time Estimation Estimate how long a vehicle remains parked dwell_time
3. Parking Spot Extraction Automatically discover parking-space locations from images parking_spot_extraction

All baseline implementations, trained models, and experiment instructions are available in the companion repository:

➑️ DSBD-Research/MetaPKLot-Challenges

Important

Golden Rule

Experiments should follow a cross-dataset, leave-one-dataset-out evaluation.

Models must be trained without labeled samples from the target parking environment. With PKLot, CNRPark-EXT, and PLds, experiments should rotate the held-out test dataset while using the remaining datasets for training and validation.

This protocol is designed to measure generalization to unseen parking lots and camera configurations.


πŸ—‚οΈ Repository Structure

The repository contains the available images, annotations, dataset metadata, validation resources, and conversion tools.

MetaPKLot-Dataset/
β”‚
β”œβ”€β”€ PKLot/                       # PKLot images
β”œβ”€β”€ CNRPark-EXT/                 # CNRPark-EXT images
β”‚
β”œβ”€β”€ annotations/
β”‚   β”œβ”€β”€ original/
β”‚   β”‚   β”œβ”€β”€ cars/
β”‚   β”‚   β”‚   β”œβ”€β”€ PKLot/
β”‚   β”‚   β”‚   β”œβ”€β”€ CNRPark-EXT/
β”‚   β”‚   β”‚   └── PLds/
β”‚   β”‚   └── spots/
β”‚   β”‚       β”œβ”€β”€ PKLot/
β”‚   β”‚       β”œβ”€β”€ CNRPark-EXT/
β”‚   β”‚       └── PLds/
β”‚   β”‚
β”‚   └── cropped/
β”‚       β”œβ”€β”€ cars/
β”‚       └── spots/
β”‚
β”œβ”€β”€ non_representative_days/
β”œβ”€β”€ non_working_days/
β”œβ”€β”€ removed_images/
β”‚
β”œβ”€β”€ tools/
β”‚   β”œβ”€β”€ PLds/
β”‚   β”œβ”€β”€ ParkingSpacesMarker/
β”‚   └── Validators/
β”‚
β”œβ”€β”€ readme_images/
└── To-All-Who-Contributed.txt

Annotation bundles are distributed as compressed .tar.xz files. Once extracted, the annotations are stored as COCO-style JSON files.


πŸš€ Getting Started

Clone the repository using:

git clone --depth 1 https://github.com/DSBD-Research/MetaPKLot-Dataset.git
cd MetaPKLot-Dataset

The shallow clone (--depth 1) avoids downloading the complete Git history and is recommended if you only need the latest dataset version.

Extracting annotation files

For example:

tar -xf annotations/original/cars/PKLot/ufpr04_cars.tar.xz
tar -xf annotations/original/spots/PKLot/ufpr04_spots.tar.xz

πŸ“¦ Data Availability

MetaPKLot is built from PKLot, CNRPark-EXT, and PLds.

Dataset Images in this repository MetaPKLot annotations Notes
PKLot βœ… βœ… Distributed under the terms of the original PKLot dataset
CNRPark-EXT βœ… βœ… Distributed under the terms of the original CNRPark-EXT dataset
PLds ❌ βœ… Images must be requested from the original authors

PLds

The original PLds images are not redistributed in this repository.

Instructions for requesting and preparing PLds are available at:

tools/PLds


🏷️ Annotation Format

MetaPKLot annotations follow the general structure of the Microsoft COCO format, with additional fields required for parking-management applications.

Annotations are divided into two main types:

🚘 Vehicle annotations

Vehicle annotation files contain:

  • Instance segmentation polygons
  • Bounding boxes
  • Object area
  • Image identifiers
  • Persistent car_id
  • Dataset and subset metadata
  • Date and time information
  • Weather/climate metadata

The same physical vehicle appearing across multiple images can share the same car_id, enabling temporal analysis and parking dwell-time estimation.

MetaPKLot vehicle annotation example

Example vehicle annotation
{
  "categories": [
    {
      "supercategory": "vehicle",
      "name": "car",
      "id": 0
    }
  ],
  "images": [
    {
      "id": 0,
      "file_name": "UFPR04/Sunny/2012-12-07/2012-12-07_20_17_28.jpg",
      "width": 1280,
      "height": 720,
      "annotationsRectangle": [
        "upper_left_x",
        "upper_left_y",
        "width",
        "height"
      ],
      "date": [2012, 12, 7],
      "time": [20, 17, 28],
      "climate": 2,
      "dataset": "pklot",
      "subset": "ufpr04"
    }
  ],
  "annotations": [
    {
      "id": 0,
      "segmentation": [
        ["x1", "y1", "x2", "y2", "...", "xn", "yn"]
      ],
      "area": "area_in_pixels",
      "bbox": [
        "upper_left_x",
        "upper_left_y",
        "width",
        "height"
      ],
      "image_id": 0,
      "car_id": 500,
      "category_id": 0
    }
  ]
}

πŸ…ΏοΈ Parking-spot annotations

Parking-spot annotation files contain:

  • Parking-space polygons
  • Occupancy status
  • Associated car_id
  • Bounding boxes
  • Rotated rectangles for extracting normalized parking-space crops
  • Image, date, time, climate, dataset, and subset metadata

For parking spots:

category_id = 0  β†’ empty
category_id = 1  β†’ occupied

car_id = -1      β†’ no vehicle in the spot
car_id = -2      β†’ spot occupied by something other than a car

If a parking spot contains a vehicle, its car_id corresponds to the same vehicle identifier in the vehicle annotation file.

MetaPKLot parking spot annotation example

Example parking-spot annotation
{
  "categories": [
    {
      "id": 0,
      "name": "empty"
    },
    {
      "id": 1,
      "name": "occupied"
    }
  ],
  "annotations": [
    {
      "id": 0,
      "segmentation": [
        ["x1", "y1", "x2", "y2", "...", "xn", "yn"]
      ],
      "bbox": [
        "upper_left_x",
        "upper_left_y",
        "width",
        "height"
      ],
      "image_id": 1,
      "car_id": 500,
      "category_id": 1,
      "best_rotated_rect": [
        ["center_x", "center_y"],
        ["width", "height"],
        "angle"
      ]
    }
  ]
}

Annotation rectangle

Some images contain an annotationsRectangle defining the region where annotations are guaranteed to be complete.

Objects outside this region should not be assumed to have been annotated.

File paths

Paths stored in the JSON files follow the POSIX path convention, for example:

root_directory/subdirectory/filename.extension

🧹 Dataset Curation and Corrections

MetaPKLot also includes corrections and quality-control information for the original datasets.

Known PKLot corrections include:

UFPR05/Sunny/2013-14-16
β†’ UFPR05/Sunny/2013-04-16

and:

PUCPR/Cloudy/2012-09-16
β†’ PUCPR/Cloudy/2012-10-16

Information about removed images is available under:

removed_images/

This includes corrupted PKLot images, CNRPark-EXT images with unsuitable lighting conditions, and PLds images excluded because of issues such as repeated timestamps or unexpected zoom.

Additional metadata for days that should not be used in specific experimental settings is available under:

non_representative_days/
non_working_days/

πŸ”¬ Baselines, Models, and Reproducibility

Reference implementations for all three MetaPKLot challenges are maintained separately:

The repository includes:

classification/             # Parking Spot Occupancy Recognition
dwell_time/                 # Parking Dwell Time Estimation
parking_spot_extraction/    # Parking Spot Extraction

Each challenge contains instructions for reproducing the corresponding experimental pipeline.


πŸ› οΈ Tools

Utility scripts and annotation tools are available under tools/.

tools/PLds

Instructions and scripts for obtaining and converting PLds data to the MetaPKLot organization.

tools/ParkingSpacesMarker

Resources for parking-space annotation and manipulation.

tools/Validators

Utilities for validating dataset annotations and structure.


πŸ“œ Licensing and Usage

MetaPKLot combines resources originating from datasets distributed under different terms. Therefore, a single license should not be assumed to apply to every file in this repository.

PKLot

The PKLot database is distributed under the:

Creative Commons Attribution 4.0 International License (CC BY 4.0)

https://creativecommons.org/licenses/by/4.0/

CNRPark-EXT

CNRPark-EXT is distributed under the:

Open Data Commons Open Database License (ODbL) v1.0

https://opendatacommons.org/licenses/odbl/1-0/

Original project:

http://cnrpark.it/

PLds

PLds images are not redistributed with MetaPKLot and must be obtained from the original dataset authors.

Please review the applicable original licenses and terms before redistributing or creating derivative versions of the data.


🀝 Acknowledgements

MetaPKLot builds upon the work of the researchers who originally created and released PKLot, CNRPark-EXT, and PLds.

We gratefully acknowledge their contributions to research on vision-based parking management.

We also thank everyone who contributed to the creation, annotation, validation, and maintenance of MetaPKLot. Additional acknowledgements are available in To-All-Who-Contributed.txt.

The research associated with MetaPKLot was supported by the Brazilian National Council for Scientific and Technological Development (CNPq) under Grant 405511/2022-1. The article processing charge for the associated publication was funded by CAPES β€” Brazil.


πŸ“– Citation

If MetaPKLot contributes to your research, please cite the following article:

Paulo Lisboa de Almeida, Jeovane Honorio Alves, Luan Marko Kujavski, Paulo Luza Alves, and Luiz Eduardo Oliveira. MetaPKLot – new challenges and protocols for vision-based parking lot management. Neural Computing and Applications, volume 38, Article 704, 2026.

πŸ“„ Paper: Springer / Neural Computing and Applications πŸ”— DOI: 10.1007/s00521-026-12398-0

BibTeX

@article{deAlmeida2026MetaPKLot,
  author  = {de Almeida, Paulo Lisboa and
             Alves, Jeovane Honorio and
             Kujavski, Luan Marko and
             Alves, Paulo Luza and
             Oliveira, Luiz Eduardo},
  title   = {{MetaPKLot -- new challenges and protocols for vision-based parking lot management}},
  journal = {Neural Computing and Applications},
  year    = {2026},
  volume  = {38},
  note    = {Article 704},
  doi     = {10.1007/s00521-026-12398-0},
  url     = {https://doi.org/10.1007/s00521-026-12398-0}
}