Closed btilmon closed 1 month ago
Got it working by getting correspondences first and then following this approach:
rotvec = torch.nn.Parameters(torch.zeros(3), requires_grad=True)
...
# In the optimization loop, keeping x and y 3D point clouds
R = roma.rotvec_to_rotmat(rotvec)
T = roma.Rigid(R, trans)
# Transformed point cloud
new = T.apply(x)
Hello, I am doing a very simple PyTorch test with the global alignment. I have two point clouds with significant overlap from a video and I would like to regress the relative pose between them with roma like dust3r did. The gradients seem incorrect on my data though and I cannot get an accurate alignment after several modifications. I am able to get a good alignment using Procrustes SVD method. The point clouds are unnormalized in metric units from a depth sensor. Do you perhaps have any recommendations on this code? I have confirmed learning rate and number of iterations are not a factor.