Giter Site home page Giter Site logo

saiteja-talluri / gsoc-opencv Goto Github PK

View Code? Open in Web Editor NEW
10.0 1.0 4.0 234.79 MB

Code written for OpenCV during GSoC 2019 related to Facial Landmark Detection

License: GNU General Public License v3.0

CMake 9.48% C++ 27.99% C 11.71% Makefile 45.67% Python 5.15%
facial-landmarks facial-keypoints opencv-library face

gsoc-opencv's Introduction

GSoC-OpenCV

Code written for OpenCV during GSoC 2019 related to Facial Landmark Detection

Facial Landmark Detector

Updates

  • [06/04/19] Submitted the Proposal for the GSoC 2019 to OpenCV in Facial Landmark Detection.
  • [07/05/19] Received the acceptance letter for the GSoC 2019 in Facial Landmark Detection project.
  • [27/06/19] End of the Community Bonding Phase and Start of the Coding Phase.
  • [02/06/19] Completed training the AAM model and added links to the model and the sample C++ code has been provided.
  • [07/06/19] Trained the Kazemi model but the model seemes to not work as efficiently as the LBF and AAM models. May be more training is required but due to RAM limitations could not verify.
  • [08/06/19] Added sample C++ code for LBF model and LBF seems to dominate the AAM model in both speed and accuracy.
  • [11/06/19] Went through the implementation of the 2D-and-3D face alignment and checked if the model can be added to openCV model zoo. [Pushed to second priority as fixing the python bindings to the working LBF and AAM models is more important.]
  • [15/06/19] Went through all the issues and pull requests related to the python bindings on facemark API and these are few which need to be highlighted.
    • The discussion for the issue in the python bindings started with this issue and many work arounds have been tried but many of them failed.
    • However Gusi Te proposed a method to fix the bindings and his pull request to opencv_contrib has been merged but his pull request to opencv failed as it was affecting a test file. This issue still persists as the pull to opencv failed.
    • The latest build of opencv_contrib has the same issue in the fit function and is still open to solve.
  • [17/06/19] There also have been some failed attempts to expose the training code of the Facemark API to the users in python. So I am working on these two things and hope it would get completed before the first evaluation. I was able to fix the fit fucntion but drawLandmarks gave a similar error (channels() == CV_MAT_CN(dtype)) may be of because of the fix, so I am looking into it.
  • [22/06/19] The python bindings for the fit function have been fixed and the changes have been merged into opencv_contrib:3.4 and soon will be merged into opencv_contrib:master as well. Exposing the training code is under process, owing to the inheritance of Kazemi from facemark and not from facemarkTrain, it is taking longer than expected time. However work is in place and proper code refactoring needs to be done before raising a PR. Expect a PR soon...

Planning and Schedule in Coding Phase

Date Progress Work Ahead
27th May to 3rd June, 2019
  • Completed training the AAM model and added links to the model and the sample C++ code has been provided.
  • Check the working of Kazemi Model and verify which of these models works the best, also have a look at the Adrian bulats 3D Face Alignment implementation.
4th June to 11th June, 2019
  • Trained the Kazemi model but the model seemes to not work as efficiently as the LBF and AAM models. May be more training is required but due to RAM limitations could not verify.
  • Added sample C++ code for LBF model and LBF seems to dominate the AAM model in both speed and accuracy.
  • Went through the implementation of the 2D-and-3D face alignment and checked if the model can be added to openCV model zoo. [Pushed to second priority as fixing the python bindings to the working LBF and AAM models is more important.]
  • Put the adrain bulats implementation as 2nd priority and start fixing the python bindings to the facemark API.
12th June to 18th June, 2019
  • Went through all the issues and pull requests related to the python bindings on facemark API and these are few which need to be highlighted.
    • The discussion for the issue in the python bindings started with this issue and many work arounds have been tried but many of them failed.
    • However Gusi Te proposed a method to fix the bindings and his pull request to opencv_contrib has been merged but his pull request to opencv failed as it was affecting a test file. This issue still persists as the pull to opencv failed.
    • The latest build of opencv_contrib has the same issue in the fit function and is still open to solve.
  • There also have been some failed attempts to expose the training code of the Facemark API to the users in python. So I am working on these two things and hope it would get completed before the first evaluation. I was able to fix the fit fucntion but drawLandmarks gave a similar error (channels() == CV_MAT_CN(dtype)) may be of because of the fix, so I am looking into it.
  • Fix the python bindings for the fit and the drawLandmarks functions in the facemark API
  • Expose the training implementation of the Facemark API to the python users and ensure this is done before the first evaluation.

gsoc-opencv's People

Contributors

saiteja-talluri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

gsoc-opencv's Issues

Train on different type of custom data

Is it possible to train the LBF or AAM on a dataset (say some landmark localization in biomedical images) with different number of landmarks (say 40)? I'm getting the following error in my case.

Wrong n_landmarks, currently only 29 and 68 landmark points are supported training random forest

Also with the case of 68 landmarks, the trained model is not doing well prediction on custom objects.

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.