google / nerfies

This is the code for Deformable Neural Radiance Fields, a.k.a. Nerfies.
https://nerfies.github.io
Apache License 2.0
1.59k stars 215 forks source link

Jacobian computation #36

Closed longbowzhang closed 2 years ago

longbowzhang commented 2 years ago

Hi,

I have a question w.r.t the computation of Jacobian matrix in warping.py. For each input point, the network predicts the SE(3) transformation which is then used to warp the point to a new position.

In my opinion, the Jacobian of the new position w.r.t the input point position is essentially the rotation part of the SE(3). Therefore, since you already have the analytical Jacobian, I am wondering whether it is necessary to call Jax to compute it again as shown https://github.com/google/nerfies/blob/04623e4474bde3459e2f7f2b5c9174d9e0faa7b1/nerfies/warping.py#L387


Updated: I made a stupid mistake by ignoring the fact that the predicted SE(3) also depends on the input point. Thus, the Jacobian definitely is not equal to the rotation part of the SE(3).