日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

3dmm人脸配准/重建:gold standard algorithm

發布時間:2023/12/20 pytorch 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3dmm人脸配准/重建:gold standard algorithm 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在研究人臉重建,參考了github上引用量很高的face3d中的2_3dmm.py,因為要在自己的模型和數據上將3d人臉fit到2d,所以花了一點時間研究了里面fitting相關的代碼以及算法。face3d上3d landmark fit 到2d landmark主要是用了gold standard algorithm。這個算法是一系列知識點的集合,里面包含相機矩陣,仿射變換,DLT算法以及優化迭代等。在Multiple View Geometry in Computer Vision中gold standard algorithm用于兩幅2d圖像的配準以及3d到2d的映射,3dmm將其推廣到3d數據和2的數據的配準中。

參考資料:

書籍:?Multiple View Geometry in Computer Vision

https://www.csc.kth.se/~madry/courses/mvg10/Attachments/04_Presentation03_Ch7_Omid.pdfhttps://www.csc.kth.se/~madry/courses/mvg10/Attachments/04_Presentation03_Ch7_Omid.pdfhttps://www.ece.mcmaster.ca/~shirani/vision/hartley_ch7.pdfhttps://www.ece.mcmaster.ca/~shirani/vision/hartley_ch7.pdf

1.投影變換與仿射變換

3d物體從世界坐標投影到圖像坐標系的映射關系為:

其中,R為旋轉矩陣(rotation matrix),t為平移矩陣(translation matrix),s為縮放系數(scale)。

而仿射變換變化包括縮放(Scale、平移(transform)、旋轉(rotate)、反射(reflection, 反轉對稱)、錯切(shear mapping),因此上式可以用仿射變換寫為更一般化的形式:

?2. DLT 算法(The Direct Linear Transformation (DLT) algorithm)

在project transformation中,通過仿射變換將3d點和與相應的2d點匹配的算法為DLT,即直接線性變換,在3dmm中可以理解為3d landmark與2d landmark的對齊。

具體推導過程:

叉乘的結果為:?

由叉乘公式,

我們可得,

?

由于P中只有兩個公式線性無關,因此可以寫為,

且由于P3 = (0, 0, 0, 1),因此上式可進一步寫為,

由于是3d點的齊次坐標,有4個元素,最左邊整個矩陣大小為2x8(2行,8列),我們用A8表示,上式表示為,

通過偽逆矩陣,可以初步計算仿射變換矩陣,是的偽逆矩陣,

至此,DLT算法介紹完畢,通過DLT我們可以初始化3d到2d的仿射變換矩陣P。

3. Gold standard algorithm在3dmm人臉重建中的應用

與DLT相比較,gold standard algorithm是一種將數據標準化,并且迭代的優化算法。如果不改變shape和expression參數,可以理解為3d人臉模型與2d人臉的對齊。如果優化過程中加入shape和expression,改算法可用于人臉重建。

3.1 數據標準化

(1)首先,數據標準化是將2d 或3d的數據中心centroid移動至坐標原點;

(2)然后,將數據點到原點的平均距離標準化,其中2d點到原點的距離標準化為,3d點到原點的距離標準化為。

這個處理在gold standard algorithm甚至在DLT中都是必須的!

3.2 Loss function

gold standard algorithm是一個迭代的算法,它的目標是最小化預測點與實際點之間的幾何距離。

距離公式:其中上劃線代表經過數據標準化處理的量。

Loss function有多種距離計算公式可以選擇,在此不例舉。

3.3 Gold standard algorithm

目標:選取6個以上的點對,得到P的最大似然估計。(計算初始化的shape,expression參數,如全0或隨機數)

算法:

1) 初始化階段(線性處理)

? ? 1.數據標準化處理(normalization)

?

? ? ? ?使用3.1的算法,其中U, T分別為對3d點(3d landmark points)和2d(2d landmark points)點的進行normalizarion的矩陣,改矩陣為similarity transformation matrix,包含縮放和平移。

? ? 2.DLT算法(上文)

2)迭代優化P矩陣

將P矩陣,3dmm模型,(模型中的shape參數,expression參數(如果有))帶入計算新的3d landmark坐標,并計算3d landmark通過P矩陣變換后與2d人臉landmark之間的距離,

直到距離函數到指定誤差或指定迭代步數。

每次更新P, (shape parameters, expression parameters參數)。

3)Denormalize P matrix

還原P

在人臉任務中,還需將P還原出s, R, t矩陣。

output:

s, R, t, (shape 參數, expression參數(optional))

?代碼參考:

GitHub - YadiraF/face3d: Python tools for 3D face: 3DMM, Mesh processing(transform, camera, light, render), 3D face representations.Python tools for 3D face: 3DMM, Mesh processing(transform, camera, light, render), 3D face representations. - GitHub - YadiraF/face3d: Python tools for 3D face: 3DMM, Mesh processing(transform, camera, light, render), 3D face representations.https://github.com/YadiraF/face3d

總結

以上是生活随笔為你收集整理的3dmm人脸配准/重建:gold standard algorithm的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。