RankPose: Learning Generalised Feature with Rank Supervision for Head Pose Estimation
We address the challenging problem of RGB image-based head pose estimation. We first reformulate head pose representation learning to constrain it to a bounded space. Head pose represented as vector projection or vector angles shows helpful to improving. performance. Further, a ranking loss combined with MSE regression loss is proposed. The ranking loss supervises a neural network with paired samples of the same person and penalises incorrect ordering of pose prediction. Analysis on this new loss function suggests it contributes to a better local feature extractor, where features are generalised to Abstract Landmarks which are pose-related features instead of pose-irrelevant information such as identity, age, and lighting. Extensive experiments show that our method significantly outperforms the current state-of-the-art schemes on public datasets:
AFLW2000 and BIWI. Our model achieves significant improvements over previous SOTA
MAE on AFLW2000 and BIWI from 4.50 [11] to 3.66 and from 4.0 [24] to 3.71 respectively.
- pytorch >= 0.4.1
- albumentations
- opencv2
- yaml
pip3 install requirements.txt
Face Alignment Across Large Poses: A 3D Solution
300W-LP : The synthesized large-pose face images from 300W.
AFLW2000 :The fitted 3D faces of the first 2000 AFLW samples, which can be used for 3D face alignment evaluation.
BIWI Kinect :The dataset contains over 15K images of 20 people
git clone https://github.com/seathiefwang/RankPose.git
cd RankPose
CUDA_VISIBLE_DEVICES=0 python3 src/train.py config/headpose_resnet.yaml
CUDA_VISIBLE_DEVICES=0 python3 src/test.py
@InProceedings{Donggen_2020_BMVC_Workshops,
author = {Donggen Dai, Wangkit Wong, Zhuojun Chen},
title = {RankPose: Learning Generalised Feature with Rank Supervision for Head Pose Estimation},
month = {September},
year = {2020}
}