Like many of us, AI researchers are trying to find some levity and even have a bit of fun in these often difficult times. Last week Shan Huang, a creative technologist at Google, released one of her side projects, Pose Animator. The delightful program can animate a 2D avatar in real time from a webcam video stream input and has garnered 3,700 GitHub stars since its release. Huang has also provided convenient web demos for anyone who wants to try it out online.
Pose Animator basically animates users’ poses and movements from either a camera feed or a static image, and can run on browsers in real time using TensorFlow.js. The generated animation characters can be customized by downloading and making changes on the provided sample skeleton SVG.
Julia Jaskólska, who draws for social media management company Buffer, recently used Pose Animator to animate one of her character illustrations dancing to the 2014 hit song Uptown Funk by Bruno Mars. “I’d never guess it could be so easy! Thanks @yemount for making our weekend!” tweeted Jaskólska.
Pose Animator borrows the computer graphics technique of skeleton-based animation — wherein a character’s surface representation (skin, or mesh) is animated by the behaviour of an underlying bone structure — and applies it to vector characters.
In the program, a surface is defined by the 2D vector paths in the input SVG files. For bone structure, Pose Animator provides a predefined bone hierarchy representation designed with the keypoints from PoseNet and FaceMesh, Huang explains on the project GitHub. The initial bone structure pose is specified in the input SVG file, along with the character illustration, while the real-time bone positions are updated by the recognition result from machine learning models.
The program currently supports single-pose, single-face detection; and has been tested on desktop Chrome and iOS Safari.
The Pose Animator demos are here, and further information, instructions and resources are available on the project GitHub.
Journalist: Yuan Yuan | Editor: Michael Sarazen