Code Monkey home page Code Monkey logo

robust-facial-landmark's Introduction

Robust Facial Landmark Detection via a Fully-Convolutional Local-Global Context Network

  • Facial landmarks are used to localize and represent salient regions of the face, such as: Eyes, Eyebrows, Nose, Mouth, Jawline
  • Challenges: different shapes, poses, lighting conditions, occlusions, etc.
  • Uses of landmark detection: face alignment, head pose estimation, face swapping, blink detection and much more.
  • Following is an iPython Notebook implementation of paper:
  • Code is written in brainscript and also Python using Microsoft CNTK and for post-processing Matlab is used.
  • Code and other details can be found here.

Important notes from the paper

  • Fully convolutional NN are good at modeling local features, but it results to constrained receptive field (local context).
  • To overcome this there are many ways: cascades/pooling etc. This paper proposes a new approach to use channel-wise/kernel convolution and dilated convolution (global context) to achieve the same with better accuracy than several SOTA methods. It introduces global context into a fully-convolutional neural network directly.
  • Major Contributions:
    • Uses Kernel Convolution directly within the network
    • Uses Dilated Convolutions to increase receptive field
    • Doesn’t depend on prior face detections
    • Input image is directly mapped to heatmap based tensor allowing the network to be accurate and robust

To run the code

  • main.py is meant to be run on Google Colab with Python3 & GPU runtime
  • main.ipynb is to see working output of main.py

Our Work-Plan

  • Our plan is to port their code to python so that it can be run on Google Colab for our experimentation and then later make it production ready
  • Steps to be followed:
    1. Port CNTK neural network code to Keras
    2. Port Matlab post-processing code to Python
    3. Train the network using 300-W dataset
    4. Make it work for multiple-faces (images from wild)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.