A head in a box with BlazeFace
Yesterday I showed how to track a head using BlazeFace. Today, I show how to display the head in a square canvas. You can run it on your own head: to start a demo!
This display style doesn’t require any WebGL.
I’m just using a 2D context and .drawImage
.
The output from BlazeFace tends to “jitter”. The predicted face will move around with noticeable noise. To account for this, I smooth the values using exponential smoothing (the simplest smoothing function I’m aware of). This smoothing is a tradeoff; it increases smoothness but also increases latency.
What should we do when the head is partially outside the image? I choose to make the unknown region transparent. Another valid choice would be to shift the bounding box to always be inside the image, even if it doesn’t cover the head properly.
With Vidrio
With generic competitor
More by Jim
- Your syntax highlighter is wrong
- Granddad died today
- The Three Ts of Time, Thought and Typing: measuring cost on the web
- I hate telephones
- The sorry state of OpenSSL usability
- The dots do matter: how to scam a Gmail user
- My parents are Flat-Earthers
- How Hacker News stays interesting
- Project C-43: the lost origins of asymmetric crypto
- The hacker hype cycle
- The inception bar: a new phishing method
- Time is running out to catch COVID-19
- A probabilistic pub quiz for nerds
- Smear phishing: a new Android vulnerability
Tagged #programming, #web, #ml. All content copyright James Fisher 2020. This post is not associated with my employer. Found an error? Edit this page.