前言
最近有关于3DMM的内容,博主也只是看了个大概,并没有深入了解算法的实现原理和过程。昨天实习生问关于黄金标准算法的推导,博主也就参考一些资料熟悉了这个算法的实现过程。不太了解使用这个算法的前因后果的可参考here,另外,过程中发现一本书关于计算机视觉中的多视图几何(Multiple View Geometry in Computer Vision)的。
算法目标
前因请参考here,这里该算法是为了估计二维和三维坐标点之间的对应关系,通过这个仿射变换关系可以分解推导出缩放因子、旋转矩阵和平移矩阵。
人脸模型的三维点以及对应图像中的二维点之间存在映射关系,这个关系可以由一个3*4的仿射变换矩阵进行表示。其中,需要注意的是这里的坐标点都进行了归一化,比原来多了一维,即X2d=(Xi, Yi, 1)T和X3d=(Xi, Yi, Zi, 1)T。
P即是需要求解的放射变换矩阵,作用在三维坐标点上可以得到对应二维点的坐标。这里使用黄金标准算法来求解该放射变换矩阵。
算法原理
请参考书籍Multiple View Geometry in Computer Vision的相应章节。
推导过程
博主在理解算法原理的过程中,发现算法涉及的几个方面:
1. 手推算法;
2. 不同维度的坐标系的归一化问题;
3. 如何求解任何一个矩阵的逆矩阵或者伪逆矩阵;
4. 得到仿射矩阵之后如何进行分解,得到缩放系数、旋转矩阵和位移矩阵,以及原因。
人的情绪起落是与他对事实的感知成反比的,你对事实了解得越少,就越容易动感情。
参考
2. Multiple View Geometry in Computer Vision.pdf;
完