Git Product home page Git Product logo

Comments (1)

mishurov avatar mishurov commented on July 21, 2024

I will try as I get a time. I'm not sure about the resulting quality to be frank.

As you've seen the original PRNet's code, it initially uses convolutional network that guesses 3d locations of the point grid 256*256, then it filters out points which don't belong to the facial geometry. They have also a predefined set of triangle indices and based on that they build an output mesh.

They also mention, that the resulting geometry isn't very detailed.

I've made an additional branch, https://github.com/mishurov/facefit/tree/tflite it uses Google's neural network for TensorFlow Lite, https://ai.googleblog.com/2019/03/real-time-ar-self-expression-with.html I've extracted the model file from ARCore's APK file.

Unfortunately, as I'm aware, TFLite isn't supposed to work on desktop machines at all yet I've managed to compile it for Linux even with sse4 support and blas because they support x86 mobile emulators.

The geometry is fine, but the tracking is still unstable and jumpy in both branches. Google mentions in that article about "a windowed smoothing" but I couldn't figure out what they use, I tried moving average, Kalman filter and weighting proportionally to max delta distance, based on current and prev frame, yet I couldn't achieve that stability as on their gifs, my results are either with lags or wobbling.

P.S. If you were confused with skimage, I can explain what they do. Facial detector detects a rectangle containing a face, then they obtain with skimage a 2d similarity matrix which maps points on the original big frame to 256*256 square image containing the face to feed PRNet with that square image. After PRNet returns 3d points, they use inverse matrix to map x, y coordinates of 3d points back to the whole image.

from facefit.

Related Issues (2)

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.