Skip to content

Repository for TAA-GCN: A temporally aware Adaptive Graph Convolutional Network for age estimation

Notifications You must be signed in to change notification settings

Powercoder64/TAA-GCN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repository for TAA-GCN: A temporally aware Adaptive Graph Convolutional Network for Age Estimation (Pattern Recognition Paper)

aaaa

Abstract: This paper proposes a novel age estimation algorithm, the Temporally-Aware Adaptive Graph Convolutional Network (TAA-GCN). Using a new representation based on graphs, the TAA-GCN utilizes skeletal, posture, clothing, and facial information to enrich the feature set associated with various ages. Such a novel graph representation has several advantages: First, reduced sensitivity to facial expression and other appearance variances; Second, robustness to partial occlusion and non-frontal-planar viewpoint, which is commonplace in real-world applications such as video surveillance. The TAA-GCN employs two novel components, (1) the Temporal Memory Module (TMM) to compute temporal dependencies in age; (2) Adaptive Graph Convolutional Layer (AGCL) to refine the graphs and accommodate the variance in appearance. The TAA-GCN outperforms the state-of-the-art methods on four public benchmarks, UTKFace, MORPHII, CACD, and FG-NET. Moreover, the TAA-GCN showed reliability in different camera viewpoints and reduced quality images.

Please look at our Pattern Recognition paper: Link to our paper

Installing dependencies:

Prerequisites:

  • PyTorch > 1.4
  • torchvision
  • pyyaml
  • argparse
  • numpy
  • h5py
  • opencv-python
  • imageio
  • scikit-learn
  • scikit-video

Create a new Conda environment:

conda create -n TAAGCN python=3.7
conda activate TAAGCN

Install the libraries:
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch
pip install PyYAML==5.2
pip install argparse
pip install h5py
pip install opencv-python
pip install imageio
pip install scikit-learn
pip install scikit-video

Copy/download the repository and go to the root of the source code.
Go to the torchlight folder and run the following:

cd TAA-GCN/torchlight
python setup.py install

Preparing data:

We provide you the download links for the data and the pre-trained models. The UTKFACE dataset includes both facial and body information. Download the data from here and download the model from here.

Please extract the .zip files and copy the downloaded data and model folders to the root of the source codes.

Fix the data and model paths in ./config/ddgcn/utk_skel_face.yaml accordingly.

Data structure:

The input data is a NxJXF dimensional vector, where N is the number of samples, J is the number of skeletal-facial keypoints, and F is the size of each keypoint. In our experiments, J=39 that includes 19 facial keypoints and 20 skeletal keypoints. F=1536 that includes tiled coordinates of each keypoint followed by the flatten image patch centered around each keypoint.

Running the models:

Fix the path for the config file in run and use the following to run the model:

sh run

References:

We appreciate the following reference:

Yan, Sijie et al. "Spatial temporal graph convolutional networks for skeleton-based action recognition." AAAI 2018.

Citation:

If you find this repository useful please cite us:

@article{korban2023TAAGCN,
  title={TAA-GCN: A temporally aware Adaptive Graph Convolutional Network for age estimation},
  author={Korban, Matthew and Youngs, Peter and Acton, Scott T},
  journal={Pattern Recognition},
  volume={134},
  pages={109066},
  year={2023},
  publisher={Elsevier}
}
Korban, Matthew, Peter Youngs, and Scott T. Acton. "TAA-GCN: A temporally aware Adaptive Graph Convolutional Network for age estimation." Pattern Recognition 134 (2023): 109066.

Currently, this repository only includes the data and model for the UTKFace dataset since it is the only public age dataset that includes both face and body. We might add the data and models for face-only datasets as well.

About

Repository for TAA-GCN: A temporally aware Adaptive Graph Convolutional Network for age estimation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages