Comments (1)
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)
- Windows support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from facefit.