Multi-task head pose estimation in-the-wild

Overview

PWC PWC PWC PWC

Multi-task head pose estimation in-the-wild

We provide C++ code in order to replicate the head-pose experiments in our paper https://ieeexplore.ieee.org/document/9303369

If you use this code for your own research, you must reference our PAMI paper:

Multi-task head pose estimation in-the-wild
Roberto Valle, José M. Buenaposada, Luis Baumela.
IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI 2020.
https://doi.org/10.1109/TPAMI.2020.3046323

Requisites

Installation

This repository must be located inside the following directory:

faces_framework
    └── alignment
        └── ert_simple
    └── multitask 
        └── bobetocalo_pami20

You need to have a C++ compiler (supporting C++11):

> mkdir release
> cd release
> cmake ..
> make -j$(nproc)
> cd ..

Usage

Use the --measure option to set the face alignment normalization.

Use the --database option to load the proper trained model.

> ./release/face_multitask_bobetocalo_pami20_test --measure pupils --database cofw
You might also like...
This repository contains codes of ICCV2021 paper: SO-Pose: Exploiting Self-Occlusion for Direct 6D Pose Estimation

SO-Pose This repository contains codes of ICCV2021 paper: SO-Pose: Exploiting Self-Occlusion for Direct 6D Pose Estimation This paper is basically an

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.
Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

Python scripts for performing 3D human pose estimation using the Mobile Human Pose model in ONNX.

This repo is about implementing different approaches of pose estimation and also is a sub-task of the smart hospital bed project :smile:

Pose-Estimation This repo is a sub-task of the smart hospital bed project which is about implementing the task of pose estimation 😄 Many thanks to th

[ECCV 2020] Reimplementation of 3DDFAv2, including face mesh, head pose, landmarks, and more.
[ECCV 2020] Reimplementation of 3DDFAv2, including face mesh, head pose, landmarks, and more.

Stable Head Pose Estimation and Landmark Regression via 3D Dense Face Reconstruction Reimplementation of (ECCV 2020) Towards Fast, Accurate and Stable

Re-implementation of the Noise Contrastive Estimation algorithm for pyTorch, following "Noise-contrastive estimation: A new estimation principle for unnormalized statistical models." (Gutmann and Hyvarinen, AISTATS 2010)

Noise Contrastive Estimation for pyTorch Overview This repository contains a re-implementation of the Noise Contrastive Estimation algorithm, implemen

3D Multi-Person Pose Estimation by Integrating Top-Down and Bottom-Up Networks
3D Multi-Person Pose Estimation by Integrating Top-Down and Bottom-Up Networks

3D Multi-Person Pose Estimation by Integrating Top-Down and Bottom-Up Networks Introduction This repository contains the code and models for the follo

PyTorch Implementation of Realtime Multi-Person Pose Estimation project.

PyTorch Realtime Multi-Person Pose Estimation This is a pytorch version of Realtime_Multi-Person_Pose_Estimation, origin code is here Realtime_Multi-P

[ICCV 2021] Encoder-decoder with Multi-level Attention for 3D Human Shape and Pose Estimation
[ICCV 2021] Encoder-decoder with Multi-level Attention for 3D Human Shape and Pose Estimation

MAED: Encoder-decoder with Multi-level Attention for 3D Human Shape and Pose Estimation Getting Started Our codes are implemented and tested with pyth

Code repo for realtime multi-person pose estimation in CVPR'17 (Oral)
Code repo for realtime multi-person pose estimation in CVPR'17 (Oral)

Realtime Multi-Person Pose Estimation By Zhe Cao, Tomas Simon, Shih-En Wei, Yaser Sheikh. Introduction Code repo for winning 2016 MSCOCO Keypoints Cha

Comments
  • Impossible to build

    Impossible to build

    I try to build this part of the repo (looks like main one https://github.com/bobetocalo/faces_framework does not build it automatically). I downloaded docker image of tensorflow 1.8.0 as it is quite old:

    docker run -it --rm --runtime=nvidia -v ~/MNN:/app tensorflow/tensorflow:1.8.0-gpu-py3 bash
    

    Built and installed opencv4 there (opencv3 does not want to build as compiler version is too high).

    # install opencv2 with all dependencies
    apt install libopencv-dev
    
    # get boost >1.64
    add-apt-repository ppa:mhier/libboost-latest
    
    apt-get update
    
    apt install libboost1.68-dev
    
    # 3.x does not build, too big version of gcc
    wget -O opencv.zip https://github.com/Itseez/opencv/archive/4.1.1.zip
    unzip opencv.zip
    
    cd opencv-4.1.1
    mkdir build 
    cd build
    
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D INSTALL_PYTHON_EXAMPLES=ON \
        -D INSTALL_C_EXAMPLES=OFF ..
    
    make -j4
    
    make install clean
    

    I made a replacement in project's CMakeLists.txt to use this version, haven't tested it though. Build went Ok.

    find_package(OpenCV 4 REQUIRED)
    

    Now I want to build this particular repo. I added tensorflow includes to CMakeLists:

    # get tf include dir:
    python3 -c 'import tensorflow as tf; print(tf.sysconfig.get_include())'
    

    Added to faces_framework/multitask/bobetocalo_pami20/CMakeLists.txt:

    include_directories(/usr/local/lib/python3.5/dist-packages/tensorflow/include)
    

    When I try to build, I face that it wants include files like tensorflow/cc/ops/standard_ops.h which are not included in standard tensorflow include. I downloaded tensorflow-1.8.0 source files as suggested here and used the directory from there:

    cd faces_framework/multitask/bobetocalo_pami20
    wget https://github.com/tensorflow/tensorflow/archive/refs/tags/v1.8.0.zip
    unzip v1.8.0.zip
    mv tensorflow-1.8.0/tensorflow .
    

    and added the lines to faces_framework/multitask/bobetocalo_pami20/CMakeLists.txt:

    include_directories(/usr/local/lib/python3.5/dist-packages/tensorflow/include)
    include_directories(/app/faces_framework/multitask/bobetocalo_pami20/tensorflow/cc/ops)
    include_directories(/app/faces_framework/multitask/bobetocalo_pami20)
    

    But I still fail with dependencies:

    [ 80%] Building CXX object CMakeFiles/face_multitask_bobetocalo_pami20_test.dir/src/FaceMultitaskMnnOr.cpp.o
    In file included from /app/faces_framework/multitask/bobetocalo_pami20/include/HonariChannelFeatures.hpp:22:0,
                     from /app/faces_framework/multitask/bobetocalo_pami20/include/ShapeCascade.hpp:19,
                     from /app/faces_framework/multitask/bobetocalo_pami20/include/FaceMultitaskMnnOr.hpp:17,
                     from /app/faces_framework/multitask/bobetocalo_pami20/src/FaceMultitaskMnnOr.cpp:11:
    /app/faces_framework/multitask/bobetocalo_pami20/tensorflow/cc/ops/standard_ops.h:19:41: fatal error: tensorflow/cc/ops/array_ops.h: No such file or directory
    compilation terminated.
    CMakeFiles/face_multitask_bobetocalo_pami20_test.dir/build.make:374: recipe for target 'CMakeFiles/face_multitask_bobetocalo_pami20_test.dir/src/FaceMultitaskMnnOr.cpp.o' failed
    

    As stated here https://github.com/tensorflow/tensorflow/issues/9253, array_ops.h is generated file, so I cannot have it normally, only "when building bazel targets that depend on it."

    How can I build your project?

    opened by hcl14 1
Owner
Roberto Valle
Computer vision and deep learning expert
Roberto Valle
Towards Multi-Camera 3D Human Pose Estimation in Wild Environment

PanopticStudio Toolbox This repository has a toolbox to download, process, and visualize the Panoptic Studio (Panoptic) data. Note: Sep-21-2020: Curre

null 335 Jan 9, 2023
Human head pose estimation using Keras over TensorFlow.

RealHePoNet: a robust single-stage ConvNet for head pose estimation in the wild.

Rafael Berral Soler 71 Jan 5, 2023
WHENet: Real-time Fine-Grained Estimation for Wide Range Head Pose

WHENet: Real-time Fine-Grained Estimation for Wide Range Head Pose Yijun Zhou and James Gregson - BMVC2020 Abstract: We present an end-to-end head-pos

null 368 Dec 26, 2022
Deep Learning Head Pose Estimation using PyTorch.

Hopenet is an accurate and easy to use head pose estimation network. Models have been trained on the 300W-LP dataset and have been tested on real data with good qualitative performance.

Nataniel Ruiz 1.3k Dec 26, 2022
Code for BMVC2021 "MOS: A Low Latency and Lightweight Framework for Face Detection, Landmark Localization, and Head Pose Estimation"

MOS-Multi-Task-Face-Detect Introduction This repo is the official implementation of "MOS: A Low Latency and Lightweight Framework for Face Detection,

null 104 Dec 8, 2022
Official Pytorch implementation of 6DRepNet: 6D Rotation representation for unconstrained head pose estimation.

6D Rotation Representation for Unconstrained Head Pose Estimation (Pytorch) Paper Thorsten Hempel and Ahmed A. Abdelrahman and Ayoub Al-Hamadi, "6D Ro

Thorsten Hempel 284 Dec 23, 2022
Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation

SimplePose Code and pre-trained models for our paper, “Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation”, a

Jia Li 256 Dec 24, 2022
SE3 Pose Interp - Interpolate camera pose or trajectory in SE3, pose interpolation, trajectory interpolation

SE3 Pose Interpolation Pose estimated from SLAM system are always discrete, and

Ran Cheng 4 Dec 15, 2022
Code for "Multi-View Multi-Person 3D Pose Estimation with Plane Sweep Stereo"

Multi-View Multi-Person 3D Pose Estimation with Plane Sweep Stereo This repository includes the source code for our CVPR 2021 paper on multi-view mult

Jiahao Lin 66 Jan 4, 2023
Repository for the paper "PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation", CVPR 2021.

PoseAug: A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation Code repository for the paper: PoseAug: A Differentiable Pose Augme

Pyjcsx 328 Dec 17, 2022