This is the implementation for Hierarchical Graph Convolutional Networks for Action Quality Assessment, which has been accepted by IEEE TCSVT. The framework overview is as follows:
We propose a hierarchical graph convolutional network (HGCN) that corrects semantic information confusion, constructs meaningful scenes from consecutive shots, and performs sequential action aggregation to enhance discriminative features and improve assessment performance in action quality assessment.- We provide the dependency file of our experimental environment, one can install all dependencies by creating a new anaconda virtual environment and running:
pip install -r requirements.txt
- torch_videovision
pip install git+https://github.com/hassony2/torch_videovision
- MTL-AQA: Download the dataset from the repository. The data structure is:
$DATASET_ROOT
├── MTL-AQA/
├── new
├── new_total_frames_256s
├── 01
...
└── 09
├── info
├── final_annotations_dict_with_dive_number
├── test_split_0.pkl
└── train_split_0.pkl
└── model_rgb.pth
- AQA-7: Download AQA-7 Dataset using the following commands:
mkdir AQA-Seven & cd AQA-Seven
wget https://rtis.oit.unlv.edu/datasets/AQA-7.zip
unzip AQA-7.zip
The data structure is:
$DATASET_ROOT
├── Seven/
├── diving-out
├── 001
├── img_00001.jpg
...
...
└── 370
├── gym_vault-out
├── 001
├── img_00001.jpg
...
...
└── Split_4
├── split_4_test_list.mat
└── split_4_train_list.mat
- JIGSAWS: Download the dataset from the website.
The command helper is:
usage: main.py [-h] [--benchmark {MTL,Seven,JIGSAWS}] [--exp_name EXP_NAME]
[--fix_bn FIX_BN] [--resume RESUME] [--ckpts CKPTS]
[--class_idx {1,2,3,4,5,6}] [--use_gpu USE_GPU]
[--device DEVICE] [--seed SEED] [--model MODEL] [--phase PHASE]
[--config CONFIG] [--weight_decay WEIGHT_DECAY]
[--base_lr BASE_LR] [--fold FOLD] [--bs_train BS_TRAIN]
[--bs_test BS_TEST] [--num_groups NUM_GROUPS]
One can use the following command to train the model from scratch:
python main.py --benchmark MTL/Seven --phase train \
--model models.hgcn --device 01 --exp_name default \
--num_groups 1/2/4/8 --ckpts weights/MTL.pth
We provide the pretrained model at Google drive. Please download it into the ./weights
folder. One can use the following command to run the example code:
python main.py --benchmark MTL --phase test \
--model models.hgcn --device 01 \
--num_groups 8 --ckpts weights/MTL-group8.pth
If you find our work useful in your research, please consider citing:
@article{zhou23hierarchical,
author={Zhou, Kanglei and Ma, Yue and Shum, Hubert P. H. and Liang, Xiaohui},
journal={IEEE Transactions on Circuits and Systems for Video Technology},
title={Hierarchical Graph Convolutional Networks for Action Quality Assessment},
year={2023},
doi={10.1109/TCSVT.2023.3281413},
issn={1051-8215},
publisher={IEEE},
}
For any questions, feel free to contact me via [email protected]
.