lingtengqiu / Open-PIFuhd

This is an implementation of PIFuHD based on PyTorch
MIT License
349 stars 39 forks source link

关于calib矩阵的一些问题 #15

Open Andyen512 opened 2 years ago

Andyen512 commented 2 years ago

您好,最近刚入门这个方向,在看PIFu的时候发现了您的仓库,有一些相关的问题想请教一下: (1)在PIFu的TrainDataset.py中,从生成的PARAM中提取出了ortho_ratio、scale、center参数,并利用这些参数计算得到了scale_intrinsic、uv_intrinsic,并最终算出了calib这样一个变换矩阵,但我并不是很懂calib的含义以及这个变换的过程,请您指点一下,或是能否给一些参考链接我去学习一下。 (2)第二个问题与(1)也有些相关,是在HGPIFuNet.py中,为什么某一个三维坐标值通过calib矩阵做投影之后,得到的z坐标值就是对应该点的深度值? 希望得到您的回复。

lanlan17 commented 2 years ago

您好,最近刚入门这个方向,在看PIFu的时候发现了您的仓库,有一些相关的问题想请教一下: (1)在PIFu的TrainDataset.py中,从生成的PARAM中提取出了ortho_ratio、scale、center参数,并利用这些参数计算得到了scale_intrinsic、uv_intrinsic,并最终算出了calib这样一个变换矩阵,但我并不是很懂calib的含义以及这个变换的过程,请您指点一下,或是能否给一些参考链接我去学习一下。 (2)第二个问题与(1)也有些相关,是在HGPIFuNet.py中,为什么某一个三维坐标值通过calib矩阵做投影之后,得到的z坐标值就是对应该点的深度值? 希望得到您的回复。

您好,我也有这方面的问题,请问您弄明白了吗

lingtengqiu commented 1 year ago

PIFuhd 实际上用的是正交投影,他是orthogonal, 具体你们可以看下相机矩阵和 空间点的关. 他通过投影矩阵后他的 x,y 对应的是image 的uv 坐标,他的Z是他定义的某个空间中的深度. 你们也可以看看pytorch3d 中定义的world 坐标系到ndc 坐标系的关系, 其实是类似的.

lingtengqiu commented 1 year ago

您好,最近刚入门这个方向,在看PIFu的时候发现了您的仓库,有一些相关的问题想请教一下: (1)在PIFu的TrainDataset.py中,从生成的PARAM中提取出了ortho_ratio、scale、center参数,并利用这些参数计算得到了scale_intrinsic、uv_intrinsic,并最终算出了calib这样一个变换矩阵,但我并不是很懂calib的含义以及这个变换的过程,请您指点一下,或是能否给一些参考链接我去学习一下。 (2)第二个问题与(1)也有些相关,是在HGPIFuNet.py中,为什么某一个三维坐标值通过calib矩阵做投影之后,得到的z坐标值就是对应该点的深度值? 希望得到您的回复。

https://zhuanlan.zhihu.com/p/389653208