AddArt Billboards

Street photos of advertising billboards, each annotated with the 4 corners of the display surface (top-left, top-right, bottom-right, bottom-left), a tight bounding box and a binary mask of the visible surface. Images with no billboard (hard negatives) are included.

Annotated samples: display-surface mask (red), corners TL โ†’ TR โ†’ BR โ†’ BL

The dataset was built for AddArt, an app that replaces billboard advertising with artworks in the camera view: the 4 corners give the homography used to warp the artwork onto the panel.

Split Images Negatives
train 594 21
validation 73 3
test 77 2
total 744 26

Loading

from datasets import load_dataset

ds = load_dataset("vogloblinsky/addart-billboards")
sample = ds["train"][0]
sample["image"]                 # PIL image
sample["panels"][0]["corners"]  # [[x, y] ร— 4], TL โ†’ TR โ†’ BR โ†’ BL

Masks are stored under masks/<split>/ and referenced by the mask_path column (relative to the repository root):

from huggingface_hub import hf_hub_download
from PIL import Image

path = hf_hub_download("vogloblinsky/addart-billboards", sample["mask_path"], repo_type="dataset")
mask = Image.open(path)

A COCO keypoints export (annotations_coco/<split>.json, one category with 4 keypoints, segmentation = the corner quadrilateral) is also provided for detection / pose frameworks.

Fields (metadata.jsonl)

Field Description
file_name image file, relative to the split folder
mask_path visible-surface mask (PNG, same size as the image), null for negatives
width, height image size in pixels
source phone_photo, phone_video_frame, openverse, wikimedia, openimages
is_negative true if the image contains no target billboard
negative_reason why the image is a negative (when set)
view_type frontal, slightly_oblique, strongly_oblique
vertical_angle neutral, low_angle, high_angle
panels list of annotated panels (0 or 1 in this release)
panels[].corners 4 [x, y] points in pixels of the provided image, clockwise from top-left
panels[].bbox [x, y, width, height], tight around the corners
panels[].visibility, panels[].occlusion visibility / occlusion of the panel
license, author, source_url per-image attribution (see Licensing)

Annotation protocol

  • Target: the display surface of the billboard, i.e. the area where the poster is shown, excluding the frame, the structure and the lighting.
  • Corners are placed on the display surface, clockwise from top-left as the image is displayed. An annotation is accepted only if the quadrilateral has a positive signed area in that order.
  • One panel per image: images with several equally prominent billboards were left out of this release.
  • Masks are generated from the corners and, where needed, manually edited to remove occluding objects (visible_surface).
  • Coordinates refer to the images exactly as distributed: phone photos have been rotated according to their EXIF orientation, then stripped of EXIF metadata.

All annotations were made by a single annotator with a dedicated web tool.

Splits

Splits are fixed and deterministic. Images that show the same scene are always in the same split: frames from the same video, phone photos taken less than 10 minutes apart, and near-duplicates detected by perceptual hash. Within each source, groups are distributed 80 / 10 / 10.

Sources

Source Images Description
Phone photos 150 street photos taken by the dataset author in the Rennes area, Brittany, France
Phone video frames 98 frames sampled from 6 videos shot by the dataset author in Rennes, France
Openverse 365 mostly Flickr, CC-licensed
Wikimedia Commons 87 category Billboards
Open Images V4 44 train subset, CC BY 2.0

Images whose origin could not be established, and images under NoDerivatives licenses, were excluded.

Licensing

  • Annotations (corners, boxes, masks, attributes): CC BY 4.0, ยฉ Vincent Ogloblinsky.
  • Photos and video frames by the author (source = phone_*): CC BY 4.0, ยฉ Vincent Ogloblinsky.
  • Third-party images keep their original license, given per image in the license, author and source_url columns and in attribution.csv. Any reuse must follow that license, including attribution and, for CC BY-SA images, share-alike.
License Images
CC BY 2.0 280
CC BY 4.0 248
CC BY-SA 2.0 119
CC BY-SA 4.0 38
CC BY-SA 3.0 19
Public Domain Mark 1.0 / public domain 21
CC0 1.0 13
other CC BY / CC BY-SA 6

Third-party images were resized; no other modification was made.

Takedown: if you are the author of an image and want it removed, open a discussion on this repository.

Limitations and biases

  • Small dataset (744 images), one annotated panel per image.
  • Geographic bias: all phone photos and video frames (248 images, 1/3 of the dataset) come from a single area (Rennes, Brittany, France), so French street furniture (bus shelters, sucettes / MUPI, 4ร—3 m panels) is over-represented. Web images (Openverse, Wikimedia, Open Images) come from various countries.
  • Web images over-represent frontal, well-lit, centred billboards; phone photos and video frames are closer to the target use (handheld, oblique, low-angle).
  • Video frames are strongly correlated within a video; count them as 6 scenes rather than 98 samples.
  • Advertisements visible in the images are the property of their respective owners; the dataset is intended for research on detecting the billboard surface, not the advertising content.

Citation

@misc{ogloblinsky2026addartbillboards,
  author = {Ogloblinsky, Vincent},
  title  = {AddArt Billboards: corner-annotated billboard dataset},
  year   = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/datasets/vogloblinsky/addart-billboards}}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support