How Snapchat’s filters work
Articles,  Blog

How Snapchat’s filters work


JOE: Hey Joss, I have a question for you. Do you know how these Snapchat filters work? like behind the scenes? JOSS: Hmm, I have no idea. JOE: Well do you think you can find out? JOSS: You got it! These are what Snapchat calls their
lenses, but everyone else calls filters. They are very silly but the engineering
behind them is serious. JOSS: Oh my god. The technology came from a Ukrainian startup called Looksery which Snapchat acquired in
September 2015 for a $150 million dollars. That’s reportedly the
largest tech acquisition in Ukrainian history. Their augmented reality filters tap into the large and rapidly growing field of “computer vision” — those are applications that use pixel
data from a camera in order to identify objects and interpret 3D space. Computer
vision is how you can deposit checks, with your phone, it’s how Facebook knows who’s in your
photos, how self-driving cars can avoid running over people and how you can give
yourself a doggy nose. So how to snapchat filters work? They
wouldn’t let us talk to any of the Looksery engineers but their patents are
online. The first step is detection. How does the
computer know which part of an image is a face? This is something that human brains are
fantastic at. Too good even. But this is what a photo looks like to a
computer. If all you have is the data for the color value of each individual pixel,
how do you find a face? Well the key is looking for areas of
contrast, between light and dark parts of the image. The pioneering facial
detection tool is called the Viola-Jones algorithm. It works by repeatedly scanning through
the image data calculating the difference between the grayscale pixel
values underneath the white boxes and the black boxes. For instance, the bridge
of the nose is usually lighter than the surrounding area on both sides, the eye sockets are darker than the
forehead, and the middle of the forehead is lighter than the size of it. These are crude test for facial features,
but if they find enough matches in one area of the image, it concludes that there is a face there.
This kind of algorithm won’t find your face if you’re really tilted or facing
sideways, but they’re really accurate for frontal faces, and it’s how digital cameras have been putting boxes around faces for years. But in order to apply
this virtual lipstick, the app needs to do more than just detect my face. It has to locate my facial features. According to the patents. It does this
with an “active shape model” — a statistical model of a face shape that’s been
trained by people manually marking the borders of facial features on hundreds,
sometimes thousands of sample images. The algorithm takes an average face from
that trained data and aligns it with the image from your phone’s camera, scaling
it and rotating it according to where it already knows your face is located. But it’s not a perfect fit so the model
analyzes the pixel data around each of the points, looking for edges defined by brightness
and darkness. From the training images, the model has a template for what the
bottom of your lips should look like, for example, so it looks for that pattern in
your image and adjust the point to match it. Because some of these individual
guesses might be wrong, the model can correct and smooth them by taking into account the locations of all the other points. Once it locates your
facial features, those points are used as coordinates to create a mesh. That’s a 3D mask that can move, rotate,
and scale along with your face as the video data comes in for every frame and
once they’ve got that, they can do a lot with it. They can deform the mask to change your face shape, change your eye color, add accessories, and set animations to
trigger when you open your mouth or move your eyebrows. And like the IOS app Face Swap Live,
Snapchat can switch your face with a friend’s, although that involves a bunch
more data. The main components of this technology
are not new. What’s new is the ability to run them in real time, from a mobile
device. That level of processing speed is a pretty recent development. So why go through all this trouble just
to give people a virtual flower crown? Well Snapchats sees a revenue
opportunity here. In a world that’s flooded with advertisements, maybe the best hope that brands have to
get us to look at their ads… is to put them on our faces. Facial detection has a creepy side too,
particularly when it’s used to identify you by name. Both the FBI and private companies like
Facebook and Google are massing huge databases of faces and there’s currently
no federal law regulating it. So some privacy advocates have come up
with ways to camouflage your face from facial detection algorithms. It’s actually illegal in a lot of places
to wear a face mask in public, so this project by artist Adam Harvey
suggest some things that you can do with your hair and your makeup that can, for
now, make your face Invisible to computers.

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *