Home

Awesome

FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessment

Created by Jinglin Xu*, Yongming Rao*, Xumin Yu, Guangyi Chen, Jie Zhou, Jiwen Lu

This repository contains the FineDiving dataset and PyTorch implementation for Temporal Segmentation Attention. (CVPR 2022, Oral)

[Project Page] [arXiv]

Dataset

Lexicon

We construct a fine-grained video dataset organized by both semantic and temporal structures, where each structure contains two-level annotations.

Annotation

Given a raw diving video, the annotator utilizes our defined lexicon to label each action and its procedure. We accomplish two annotation stages from coarse- to fine-grained. The coarse-grained stage is to label the action type for each action instance and its temporal boundary accompanied with the official score. The fine-grained stage is to label the sub-action type for each step in the action procedure and record the starting frame of each step, utilizing an effective Annotation Toolbox.

The annotation information is saved in FineDiving_coarse_annotation.pkl and FineDiving_fine-grained_annotation.pkl.

Field NameTypeDescriptionField NameTypeDescription
action_typestringDescription of the action type.sub-action_typesdictDescription of the sub-action type.
(x, y)stringInstance ID.judge_scoreslistJudge scores.
dive_scorefloatDiving score of the action instance.frames_labelsarrayStep-level labels of the frames.
difficultyfloatDifficulty of the action type.steps_transit_framesarrayFrame index of step transitions.
start_frameintStart frame of the action instance.end_frameintEnd frame of the action instance.

Statistics

The FineDiving dataset consists of 3000 video samples, covering 52 action types, 29 sub-action types, and 23 difficulty degree types.

Download

To download the FineDiving dataset, please sign the Release Agreement and send it to Dr. Xu (xujinglinlove@gmail.com). By sending the application, you are agreeing and acknowledging that you have read and understand the notice. We will reply with the file and the corresponding guidelines right after we receive your request!

After downloading the dataset, put the annotation files (FineDiving_coarse_annotation.pkl, FineDiving_fine-grained_annotation.pkl, Sub_action_Types_Table.pkl, and fine-grained_annotation_aqa.pkl) and train_test_split files (train_split.pkl and test_split.pkl) into the FineDiving/Annotations/ folder.

Code for Temporal Segmentation Attention (TSA)

Requirement

pip install git+https://github.com/hassony2/torch_videovision

Data Preperation

video_dir = "./FINADiving"           # the path to untrimmed videos (.mp4)
base_dir = "./FINADiving_jpgs"       # the path to untrimmed video frames (.jpgs)
save_dir = "./FINADiving_jpgs_256"   # the path to resized untrimmed video frames (used in our approach) 
$DATASET_ROOT
├── FineDiving
|  ├── FINADivingWorldCup2021_Men3m_final_r1
|     ├── 0
|        ├── 00489.jpg
|        ...
|        └── 00592.jpg
|     ...
|     └── 11
|        ├── 14425.jpg
|        ...
|        └── 14542.jpg
|  ...
|  └── FullMenSynchronised10mPlatform_Tokyo2020Replays_2
|     ├── 0
|     ...
|     └── 16 
└──

Pretrain Model

The Kinetics pretrained I3D downloaded from the reposity kinetics_i3d_pytorch

model_rgb.pth

Experimental Setting

FineDiving_TSA.yaml

Training and Evaluation

# train a model on FineDiving
bash train.sh TSA FineDiving 0,1

# resume the training process on FineDiving
bash train.sh TSA FineDiving 0,1 --resume

# test a trained model on FineDiving
bash test.sh TSA FineDiving 0,1 ./experiments/TSA/FineDiving/default/last.pth
# last.pth is obtained by train.sh and saved at "experiments/TSA/FineDiving/default/"

Code for Spatial-Temporal Segmentation Attention (STSA)

Coming soon...

Reference

@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={CVPR},
  pages={2949--2958},
  year={2022}
}

Contact: xujinglinlove@gmail.com