example_based_facial_rigging_ARkit_blendshapes

Implementation of the Example-based facial rigging paper(https://lgg.epfl.ch/publications/2010/siggraph2010EBFR.pdf). Provided a set of generic blend shapes and a new face with a small number of scanned training poses (unconstrained expressions), the algorithm can progressively deform the generic blend shapes so that they can reproduce the training poses optimally during facial animation. In other words, the algorithm personalised the generic blend shapes to match the real expressions of any given face.

The meshes used in the data folder are only for demonstration purposes and originate from open source projects (target face mesh taken from https://github.com/ICT-VGL/ICT-FaceKit, source ARkit blend shapes and meshes taken from http://blog.kiteandlightning.la/iphone-x-facial-capture-apple-blendshapes/).

alt text

Dependencies

  • numpy
  • scipy
  • numba
  • qpsolvers
  • plotly
  • pickle
  • tqdm