FineDiving: Procedure-aware Action Quality Assessment
Fine-grained diving action quality assessment. Annotators mark a dive and its consecutive sub-action steps on the timeline, then record the dive type, difficulty degree, and scores (Xu et al., CVPR 2022).
About this dataset
FineDiving is a fine-grained dataset for procedure-aware action quality assessment in competitive diving, introduced by Jinglin Xu, Yongming Rao, Xumin Yu, Guangyi Chen, Jie Zhou, and Jiwen Lu at CVPR 2022. It was built to score dives by understanding the procedure of the dive, not just its overall appearance.
The videos come from major diving competitions including the Olympics, World Cup, World Championships, and European Aquatics Championships. Each dive is annotated along two structures: a semantic structure giving the action type and the sub-action type of each consecutive step, and a temporal structure marking the start and end frames of the whole dive and of each step.
The dataset contains 3,000 video samples across 52 action types, 29 sub-action types, and 23 difficulty-degree types. Each instance also records the official judge scores, the resulting diving score, and the difficulty degree, which together support procedure-aware action quality assessment.
The Potato config below reproduces this annotation with a video segment scheme for the dive and its sub-action steps, plus fields for the action type, difficulty degree, and scores. Use it to build procedure-aware action-quality data for diving or other scored sports.
- Released
- CVPR 2022
- Sport
- Competitive diving
- Video samples
- 3,000
- Action types
- 52
- Sub-action types
- 29
- Difficulty degrees
- 23
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# FineDiving - Procedure-aware Action Quality Assessment
# Based on Xu, Rao, Yu, Chen, Zhou & Lu, CVPR 2022
# Dataset: https://github.com/xujinglin/FineDiving
#
# FineDiving is a fine-grained diving dataset for procedure-aware action
# quality assessment. Each dive is annotated with an action type and its
# consecutive sub-action steps (with temporal boundaries), plus the official
# judge scores, the resulting diving score, and the difficulty degree.
#
# This Potato config reproduces the annotation: mark the dive and each
# sub-action step on the timeline, record the action (dive) type and
# difficulty degree, and enter the execution and final scores.
annotation_task_name: "FineDiving - Procedure-aware Action Quality Assessment"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "video_url"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
annotation_schemes:
# Step 1: mark the dive and its consecutive sub-action steps
- name: "dive_steps"
description: "Mark the full dive, then each consecutive sub-action step (take-off, flight, entry)."
annotation_type: "video_annotation"
mode: "segment"
labels:
- name: "dive"
color: "#0EA5E9"
key_value: "d"
- name: "sub_action_step"
color: "#22C55E"
key_value: "s"
frame_stepping: true
show_timecode: true
playback_rate_control: true
video_fps: 25
# Step 2: action (dive) type
- annotation_type: text
name: dive_type
description: "Dive type / code (e.g. the FINA dive number and description)."
# Step 3: difficulty degree
- annotation_type: text
name: difficulty_degree
description: "Difficulty degree of the dive (as listed on the score sheet)."
# Step 4: execution and final scores
- annotation_type: text
name: execution_score
description: "Execution score (judges' raw scores or their average)."
- annotation_type: text
name: final_score
description: "Final diving score (execution scaled by difficulty degree)."
annotation_instructions: |
You will see a competitive diving clip. For each dive:
1. Mark the temporal boundary of the whole dive on the timeline.
2. Mark each consecutive sub-action step (for example take-off, flight, entry).
3. Record the dive type / code and the difficulty degree.
4. Enter the execution score and the final score.
FineDiving pairs the semantic steps of a dive with its scores so models can
reason about the procedure, not just the overall look of the dive.
html_layout: |
<div style="padding: 15px; max-width: 800px; margin: auto;">
<div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 10px 14px; margin-bottom: 12px; font-size: 13px; color: #075985;">
Diving clip {{clip_id}} — mark the dive steps and record the scores.
</div>
<video controls style="width: 100%; border-radius: 8px;" src="{{video_url}}"></video>
</div>
allow_all_users: true
instances_per_annotator: 40
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "finediving_001",
"clip_id": "OLY-M-3M-051",
"video_url": "https://example.com/finediving/clip_001.mp4",
"text": "Men's 3m springboard: forward dive group, pike position."
},
{
"id": "finediving_002",
"clip_id": "WC-W-10M-118",
"video_url": "https://example.com/finediving/clip_002.mp4",
"text": "Women's 10m platform: back dive group, tuck position."
}
]
// ... and 4 more itemsGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/video/action-recognition/finediving-procedure-aqa potato start config.yaml
Dataset & paper
Xu et al., CVPR 2022
Citation (BibTeX)
@inproceedings{xu2022finediving,
title={FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessment},
author={Xu, Jinglin and Rao, Yongming and Yu, Xumin and Chen, Guangyi and Zhou, Jie and Lu, Jiwen},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
pages={2949--2958},
year={2022}
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
Fis-V: Figure Skating Video Scoring
Automatic figure skating scoring as video regression. Annotators mark the technical elements and record the Total Element Score (TES) and Total Program Component Score (PCS) for a ladies' short program (Xu et al., IEEE TCSVT 2020).
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.
VSTAR Video-grounded Dialogue
Video-grounded dialogue annotation. Annotators watch videos and answer questions requiring situated understanding, write dialogue turns grounded in specific video moments, and mark relevant temporal segments.