nv-tlabs / GET3D

Other
4.17k stars 374 forks source link

About antialias_mask in your code #117

Closed zhao-yiqun closed 1 year ago

zhao-yiqun commented 1 year ago

Hi,

Thanks for your great work!

I noted that in your implement, you use nvdiffrast.antialias to get the antialias_mask antialias for supervision. Also I found that in the official documents of nvdiffrast, this is to obtain gradients w.r.t. vertex positions related to occlusion, visibility, and coverage. But at the initial stage of training, I try to debug the value of antialias_mask, and found that the value is located in ~[-0.1: 1.2], but the ground truth provided mask in [0, 1]. I wonder whether this will have influence to the optimization? Based on my understanding, the predicted value should also be in [0: 1], and this should also need the normalization to make it in [0: 1]?

Thanks in advance.

Bathsheba commented 1 year ago

Well that seems wrong, I definitely want the lower bounds of these masks to be 0. Thanks for the mention, clamping.

SteveJunGao commented 1 year ago

Hi @zhao-yiqun ,

That's a good point! We didn't see an issue when training with the antialiased masks (with negative values), as this is the major way to supervise the geometry.

It is worth trying to see whether the model will become stable if trained with clamping! I'm curious about the results!

zhao-yiqun commented 1 year ago

Thanks for reply! I will give it a try during spare time