Source: https://zsc.github.io/megvii-pku-dl-course/slides/Lecture%2012_%20Shape%20from%20X.pdf