Author: Olivier D. Faugeras