Skip to content
Showcase/FineDiving: Procedure-aware Action Quality Assessment
advancedvideo

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
Frame 847 / 3200Running01:12 - 01:28Segments:WalkRunStandActionWalkRunStandWalkSceneOutdoorIndoorDrag to create and label temporal segments

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
# 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

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 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/video/action-recognition/finediving-procedure-aqa
potato start config.yaml

Dataset & paper

Xu et al., CVPR 2022

Citation (BibTeX)

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

video_annotationtext

Domain

Computer VisionVideo UnderstandingSports

Use Cases

Action Quality AssessmentTemporal Action SegmentationFine-grained Action Understanding

Tags

finedivingdivingaction-quality-assessmentprocedure-awarevideosportsfine-grained

Found an issue or want to improve this design?

Open an Issue