What it is
An interactive experience that makes the user cut their own commercial, using the webcam to detect whenever they blink.Visit experience
Get everyone up to date with ACOs new brand and products.
Let the user use their eyes to interact with the experience.
When the user blinks we make a cut to another video, and that way every visitor’s experience of the new ACO commercial will be a completely different one. The number of possibilites are astonishing, with 4,724*10882 possible variations of the video.
3 possible videos every frame (25 frames * 74 sec)
325*74 ≈ 4,724*10882 possibilites
How it works
After entering the experience, the user is prompted to engage in a physical manner by allowing the browser to gain access to the camera of the computer.
Once the camera has been engaged and the application has access to it the scan for the users eyes begin immediately.
This is where the fun begins. Through careful coding and countless hours of tweaking the camera we present the user a custom commercial, cut in real time based on when the user blinks.
Try it out
Live camera not working?
Browser not supported
This demo requires a webcam and a desktop browser with native webcam support.
The site runs a main thread, and two web workers. One worker handles the face detection; finding a square on the webcam canvas that contains your face. The other worker searches within that square to find the area where your eyes currently are, and communicates that back to the UI thread, which detects the actual blinks.
The face and eye recognition are the most expensive algorithms, and the blink detection is very cheap in comparison. When we started the project we were thinking about putting the blink detection in it’s own thread, but it was deemed unnecessary.
The algorithm we used for the face and eye tracking is the Viola-Jones object detection framework, that’s also used in OpenCV which we used in early testing. We took a great deal of inspiration from tracking.js and their implementation, but wrote most of the code to make it work with web workers.
The site has just been launched. We’ll update you later on the success.
It worked =^.^=