Skip to content

ZhouKanglei/HGCN_AQA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HGCN

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.

Paper address | Project page

Requirements

  • 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

Datasets

  • 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 http://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.

Training and Evaluation

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]

Training from scratch

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

Evaluation using the pretrained model

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

Citation

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},
}

Contact

For any questions, feel free to contact me via [email protected].

About

Implementation of HGCN for AQA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages