前言
最近有關於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;
完