jeeliz / jeelizWeboji

JavaScript/WebGL real-time face tracking and expression detection library. Build your own emoticons animated in real time in the browser! SVG and THREE.js integration demos are provided.
https://jeeliz.com
Apache License 2.0
1.07k stars 149 forks source link

Face detection bug #66

Closed bastien-teix closed 3 years ago

bastien-teix commented 3 years ago

Problem

Hello !
I'm using JeelizWeboji and I have some bugs with the face detection. Sometimes (it's rare) the weboji does not bug and it reproduces well what we do on the webcam.
But many times, the weboji close one or the two eyes (open & close quickly) while your eyes are open (even if you are looking at the screen).
Same thing with the mouth, your mouth is close but the weboji have the mouth open (open & close quickly).
It looks like it couldn't detecting well you face...

Here is a video where I'm just looking at the screen without doing anything :
https://user-images.githubusercontent.com/25428670/132245415-2c72a468-8ba0-4871-8708-d54431234550.mp4

Questions

Do you have any explaination or solutions ?
Can you explain me, how the face detection works ? (I think I saw a doc about it but I can't find it anymore)

Hardware

Note : We already tried to have a light behind the webcam (so facing us), it's a bit better but we still have the problem...

xavierjs commented 3 years ago

Hi,

I cannot debug this without having the video input too (your face). I need 2 videos: the output rendering and the input video both, and the input video alone. You are only showing the output rendering.

The input video should be in a good quality. Backlight, face too much zoomed out, viewing angle, low lighting can deteriorate the quality. In kiosk mode, I strongly encourage to have light sticks around the screen to enlight the face, avoid backlights and remove shadows. Having a light is good but you need good lights, like in photography. Not strong and extensive.

Face detection is not open sourced in this library. I can work to optimize and disable some morphs, but I will charge for this. Please contact me at xavier@webar.rocks to get more information.

Best regards, Xavier

xavierjs commented 3 years ago

I have tuned more accurately the stabilization of the values returned by the neural network to have less jittering in the last commit. I hope it will make it work better.