-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
support for differentiable warping #7
Comments
Hi @jacobsn , Some questions:
|
re: Question 1: I wasn't actually writing any of the software; @kcbhatraju was writing the code. I know he mentioned having trouble pushing tensors in and had to resort to calling re: Question 2: yes, we are trying to learn rotations, and potentially FoVs. |
Currently, I don't fully understand the situation, but if there are some scripts or error logs to work off from, I could help out. PRs are always appreciated though. |
To someone who comes to this issue: A simple test in my project: (I only upload the pseudo code)
The result: |
@JiejiangWu, thanks for checking if it runs backprop. I guess the rotation matrices are treated as a transformation with frozen parameters. To differentiate using input rotation, the code would need to support |
Yes! To make the rotation parameters differentiable, the first thing is extractly to take a torch.tensor as rotation input. Besides, there are some more complex thing to do. To my understanding, the rotation is applied to change the index of sampling in convert process, while the index is not differentiable if the loss was defined in the pixel domain. It may need some tricky strategies, which can be described as differentiable/soft indexing. |
We were hoping to use this library for making differentiable perspective cutouts from panoramas.
We noticed two issues getting in the way:
equilib/equilib/equi2pers/torch.py
Line 24 in 3cd9be0
np
functions, such as:equilib/equilib/torch_utils/rotation.py
Line 110 in 3cd9be0
We are trying to decide if we should make the necessary changes. I wonder if this is something that's already in the works or if you would be interested in a pull request.
The text was updated successfully, but these errors were encountered: