facebookresearch / pifuhd

High-Resolution 3D Human Digitization from A Single Image.
Other
9.5k stars 1.44k forks source link

which space does the normal lie in? #98

Closed longbowzhang closed 3 years ago

longbowzhang commented 3 years ago

Hi, @shunsukesaito , sorry to bother you. In the paper, you mention that we predict the backside and frontal normals in image space. Thus what exactly does this image space mean?

When rendering the RenderPeople dataset to generate the GT dataset, I guess you have to store the original normals. Thus my question is you store (and of course predict) the normals in the model space (which in view independent) or in the camera space?

Meanwhile, shall we transform the normals by the transpose of inverse model-view matrix, which is different from that in the geo.vs and normal.vs?

Thank you very much in advance.

shunsukesaito commented 3 years ago

Normals are in camera space. So no need to apply additional transformation as long as rendered normals are computed in the camera space if I understand your question correctly.

longbowzhang commented 3 years ago

Hi @shunsukesaito, Thanks for your reply. But I still have one question. The normal transformation matrix you used, for example, in normal.vs and geo.vs, is image

However, according to https://stackoverflow.com/questions/21079623/how-to-calculate-the-normal-matrix, I guess you probably should use the transpose of inverse model-view matrix to transform the normal, right?