TRECVID Shot Boundary Detection
Detect shot boundaries and classify transition types in broadcast video. Mark cuts, dissolves, fades, and other transitions between camera shots.
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# TRECVID Shot Boundary Detection Configuration
# Task: Detect and classify shot transitions in broadcast video
annotation_task_name: "Shot Boundary Detection"
task_dir: "."
data_files:
- data.json
item_properties:
id_key: "id"
text_key: "video_url"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
annotation_schemes:
- name: "shot_boundaries"
description: |
Mark every shot boundary and classify the transition type.
A shot is a continuous sequence from a single camera.
annotation_type: "video_annotation"
mode: "keyframe"
labels:
- name: "cut"
color: "#EF4444"
key_value: "c"
- name: "dissolve"
color: "#8B5CF6"
key_value: "d"
- name: "fade_in"
color: "#22C55E"
key_value: "i"
- name: "fade_out"
color: "#F97316"
key_value: "o"
- name: "wipe"
color: "#3B82F6"
key_value: "w"
- name: "other_gradual"
color: "#EC4899"
key_value: "g"
frame_stepping: true
show_timecode: true
video_fps: 30
allow_all_users: true
instances_per_annotator: 40
annotation_per_instance: 2
annotation_instructions: |
## Shot Boundary Detection Task
Mark every transition between camera shots.
### Transition Types:
- **Cut (c)**: Instantaneous change (most common)
- **Dissolve (d)**: Two shots overlap/blend
- **Fade In (i)**: From black to image
- **Fade Out (o)**: From image to black
- **Wipe (w)**: One shot pushes another off screen
- **Other Gradual (g)**: Any other gradual transition
### Guidelines:
- Mark at the FIRST frame of the new shot (for cuts)
- For gradual transitions, mark the midpoint
- Use frame stepping for accuracy
Sample Datasample-data.json
[
{
"id": "sbd_001",
"video_url": "https://example.com/videos/news_broadcast.mp4",
"source": "broadcast_news",
"duration_seconds": 180
},
{
"id": "sbd_002",
"video_url": "https://example.com/videos/documentary_clip.mp4",
"source": "documentary",
"duration_seconds": 240
}
]Get This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/video/boundary-detection/shot-boundary-detection potato start config.yaml
Dataset & paper
Smeaton, Over & Doherty, Computer Vision and Image Understanding 2010
Citation (BibTeX)
@article{smeaton2010video,
title={Video shot boundary detection: Seven years of TRECVid activity},
author={Smeaton, Alan F. and Over, Paul and Doherty, Aiden R.},
journal={Computer Vision and Image Understanding},
volume={114},
number={4},
pages={411--418},
year={2010},
publisher={Elsevier}
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
ActivityNet Captions: Dense Video Captioning Dataset
ActivityNet Captions pairs 20k untrimmed videos with 100k temporally localized sentence descriptions for dense-captioning research. This Potato config reproduces the segment-and-describe workflow.
ActivityNet: Temporal Action Localization Benchmark
ActivityNet is a large-scale video benchmark for human activity understanding, with untrimmed YouTube videos labeled across 200 daily activities. This Potato config reproduces its temporal localization annotation: marking start and end times of activity instances.
AVA: Atomic Visual Actions Dataset
AVA spatio-temporally localizes 80 atomic actions on people in movie clips, labeled at 1 Hz keyframes. This Potato config reproduces the box-and-action labeling task for video clips.