You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Which for small eye-webcam distances, this worked fine.
However, for larger distances, a small change in inter-eye distance (even by just changing head angle left-to-right) leads to a large change in estimated depth, seeing as we are inverting an ever-smaller number, which asymptotes to infinity where the pixel resolution gets smaller.
It is worth noting, that this is with downscaling my 19201080 webcam to 320240, but increasing this would mean PoseNet takes much longer to run, so I think at the moment, we should not include depth perception.
However, should ml5js support any eye-depth estimation, I will change my model.
The text was updated successfully, but these errors were encountered:
From some preliminary testing (i.e. moving my face around on the ml5js examples of facemesh and PoseNet for eye-tracking), facemesh appears to be a faster model for inference, despite its output size being much higher, which is why I initially discounted it.
It is slightly harder an API to use as it's just a raw array, there's no dictionary, but it'll be worth it for the depth estimation.
Below are the corresponding numbers to the vertex:
So you can use a dictionary of points, and it even has the desired predictions[0].annotations.midwayBetweenEyes[0] to give you an estimate of 2D eye-position and depth on the z-axis (as described in the paper), is only relative to the centre of mass of all the points, i.e. not an estimate of depth to the face.
It does however at least give us a better estimate for the parallax error of a highly-rotated face.
I attempted to implement a naive depth detection scheme, where we scale as the square of the distance between the eyes.
Which for small eye-webcam distances, this worked fine.
However, for larger distances, a small change in inter-eye distance (even by just changing head angle left-to-right) leads to a large change in estimated depth, seeing as we are inverting an ever-smaller number, which asymptotes to infinity where the pixel resolution gets smaller.
It is worth noting, that this is with downscaling my 19201080 webcam to 320240, but increasing this would mean PoseNet takes much longer to run, so I think at the moment, we should not include depth perception.
However, should ml5js support any eye-depth estimation, I will change my model.
The text was updated successfully, but these errors were encountered: