ARKit to FACS: Blendshape Cheat Sheet

ARKit to FACS Cheat Sheet

Welcome to the ARKit to FACS Cheat Sheet! Here you will find breakdowns of how to translate ARKit face shapes into their Facial Action Coding System (FACS) equivalents. Due to the difficulties in distinguishing similar FACS shapes as well as the lack of clear explanations in the Apple’s devkit, there are many mistranslations of ARKit-to-FACS out there. Beware. This guide is meant to clear up confusion and undo common misconceptions!

Scroll down to jump right into the Cheat Sheet.

Difficulties With AR Development Toolkits

If you or your team are using open-source face tracking kits to:

  • animate faces
  • overlay virtual content
  • create expression-based events
  • ย 

. . . figuring out what’s what can be challenging – especially if you or your team do not have a strong background in:

  • facial expressions
  • face tracking
  • the Facial Action Coding System (FACS)
  • ย 

Vaguely-defined Terms

Face tracking software development kits (SDKs) can be confusing for a number of reasons. A large contributor to this confusion is the lack of detailed documentation available for users.

Human facial expressions are complex and rich with nuance. Understanding how to identify and break down expressions is not always simple or intuitive. Despite this reality, face tracking kits often only provide minimalist definitions for the expression shapes in their libraries.

Minimally-defined expression shapes:

    • create room for user misinterpretation.
    • increase user’s likelihood to confuse similar-looking shapes.
    • limit the user’s potential to effectively use the product.

Getting Around the Ambiguity

Expression shapes in most face tracking products (despite their names) are primarily FACS-based. For those who may be skeptical: FACS is derived from anatomy; so unless a face kit has completely annihilated the foundations of human facial anatomy, all shapes will have FACS equivalents.
If you wish to foster a better understanding of the face tracking products you are using, you should familiarize yourself with FACS.

FACS naming is standardized. FACS is consistent. Each FACS shape has a detailed, well-defined, and heavily researched description. If you are well-versed in FACS, you can equip yourself with the tools you need to compensate for the ambiguity of most expression libraries.

Whether or not you are FACS-savvy, if you want a clearer breakdown of ARKit facial expression shapes, this is the document for you ๐Ÿ™‚

The Guide

QUICK TABLE

ARKit label

corresponding FACS name(s)

corresponding muscle(s)

reference

browInnerUp

AU 1 – inner brow raiser

frontalis, medial portion

woman raising her inner eyebrow

browOuter (left & right)

AU2 – outer brow raiser

frontalis, lateral portion

woman raising the outer peaks of her eyebrows

browDown (left & right)

AU4 – brow lowerer

corrrugator supercilii, depressor supericilii, procerus

woman furrowing her eyebrows looking angry

eyeWide (left & right)

AU5 – upper lid raiser

levator palpebrae superioris

closeup of woman widening her eyes

cheekSquint (left & right)

AU6 – cheek raiser

orbicularis oculi, orbital portion

woman smiling with her eyes

eyeSquint (left & right)

AU7 – lid tightener

orbicularis oculi, palpebral portion

closeup of woman narrowing her eyes

eyeBlink (left & right)

AU45 – blink

relaxation of levator palpebrae superioris & contraction of the palpebral portion of orbicularis oculi

AU45 - blink - orbicularis oculi - GIF - animated - Facial Action Coding System - FACS

eyeLookUp (left & right)

M63ย  – eyes up

superior rectus & inferior oblique**

eyeLookUp - ARKit reference

eyeLookDown (left & right)

M64 – eyes down

inferior rectus & superior oblique**

eyelookdown ARkit reference

eyeLookIn (left & right)

AU66 – crosseye (when applied to both eyes at once); otherwise, eyeLookInLeft must be paired with eyeLookOutRight for rightward gaze (FACS M62), while eyeLookInRight must be paired with eyeLookOutLeft for leftward gaze (FACS M61)

medial rectus**

eyelookinleft + eyelookinright - crosseye reference

crosseyeย 

eyelookinleft + eyelookoutright - rightward gaze

rightward gazeย 

eyeLookOut (left & right)

AU65 – walleye (when applied to both eyes at once); see above for leftward vs. rightward gaze

lateral rectus**

walleye reference FACS outward gaze

walleye

NOTE: I couldn’t do walleye for real, so I Photoshopped my screen-right eye. Don’t use this one as any sort of legit reference lol. (You can see the inner eye orbit unnaturally shift.)

eyelookinright + eyelookoutleft - leftward gaze ARKit

leftward gaze

noseSneer (left & right)

AU9 – nose wrinkler

levator labii superioris alaeque nasi

AU9 - nose wrinkler - FACS - Facial Action Coding System - disgust reference

mouthUpper (left & right)

AU10 – upper lip raiser

levator labii superioris

AU10 - upper lip raiser - FACS - Facial Action Coding System

mouthSmile (left & right)

AU12 – lip corner puller

zygomaticus major

AU12 - lip corner puller - FACS - Facial Action Coding System

mouth (left & right)

See notes in Comprehensive Guide.

See notes in Comprehensive Guide.

mouthleft - ARKit reference

mouthDimple (left & right)

AU14 – dimpler

buccinator

AU14 - dimpler FACS

mouthFrown (left & right)

AU15 – lip corner depressor

depressor aguli oris

AU15 - lip corner depressor - FACS - Facial Action Coding System

mouthLowerDown (left & right)

AU16 – lower lip depressor

depressor labii inferioris

AU16 - lower lip depressor - FACS - Facial Action Coding System

mouthShrugUpper

AU17 – chin raiser – upper split

secondary effect from the mentalis

AU17 - chin raiser in FACS but mouthshrugupper in ARKit

CRITICAL NOTE: mouthShrugUpper is **CONTINGENT ON mouthShrugLower and is only applicable when the lips are already touching or WILL BE touching due to the intensity of mouthShrugLower.

I have confirmed this distinction with former members of FaceShift (the company who created the original face shapes that ARKit is derived from before Apple bought them out).

If you are using the ICT-FaceKit, they have misappropriated mouthShrugUpper as “upper lip raiser” and have mistranslated the actual “upper lip raiser” shapes, mouthUpperUp_L & mouthUpperUp_R as “nasolabial furrow deepener.”

mouthShrugLower

AU17 – chin raiser – lower split

mentalis

AU17 - chin raiser in FACS but mouthshruglower in ARKit

SEE NOTE ABOVE in mouthShrugUpper section.

cheekPuff

AD34 – puff

buccinator

cheekPuff - ARKit vs. AD34 - puff - FACS

mouthPucker

AU18 – lip pucker

incisivus labii superioris, incsivus labii inferioris

AU18 - lip pucker (kiss face) - FACS - Facial Action Coding System

mouthStretch (left & right)

AU20 – lip stretcher

risorius

closeup of woman's lower face stretching her lips

mouthFunnel

AU22 – lip funneler

orbicularis oris

AU22 - lip funneler - FACS - Facial Action Coding System

mouthPress (left & right)

AU24 – lip presser

orbicularis oris

AU24 - lip presser - FACS - Facial Action Coding System

mouthClose

AU8, but see notes in Comprehensive Guide.

orbicularis oris, but see notes in Comprehensive Guide.

ARKit mouth close reference AKA FACS AU8 - lips toward each other

mouthRoll (upper & lower)

AU28 – lips suck

orbicularis oris

AU28 - lips suck -orbicularis oris - FACS - Facial Action Coding System

jawOpen

AU26 – jaw drop or AU27 – mouth stretch

(AU26) relaxation of masseter, temporalis, and internal pterygoid muscles or (AU27) lateral pterygoid and the suprahyoid (anterior digastric, geniohyoid, and mylohyoid) muscles

AU26 - jaw drop - FACS - Facial Action Coding System

jaw (left & right)

AD30 – jaw sideways

pterygoids and temporalis

AD30 - jaw sideways - FACS - Facial Action Coding System

jawForward

AD29 – jaw thrust

pterygoids and masseter

AD29 - jaw thrust - FACS - Facial Action Coding System

** = Indicates an oversimplification of muscular correlates. For example, the muscles related to gaze are much more complex than “superior rectus = eyes look up.” Rather, theyย work together in a system of relativity. For the purposes of this guide, however, movements are matched with the most relevant and idealistic muscles.

OTHER NOTES

ARKit is missing some important actions for everyday expression and emotion. Missing FACS-official shapes include:

  • AU11 – nasolabial furrow deepener – zygomaticus minor
  • AU13 – sharp lip puller – levator anguli oris
  • AU23 – lip tightener – orbicularis oris
  • AU38 – nostril dilator – dilator naris
  • AU39 – nostril compressor – depressor septi & transverse nasalis

Other missing shapes:

ADDITIONAL RESOURCES

  • For more references and information on FACS (Facial Action Coding System), check out the FACS Cheat Sheet.

Designed for studios and teams

Let's talk.

facetheFACS@melindaozel.com