weigao95 / surfelwarp

SurfelWarp: Efficient Non-Volumetric Dynamic Reconstruction
https://sites.google.com/view/surfelwarp/home
BSD 3-Clause "New" or "Revised" License
276 stars 71 forks source link

Passing saved poses instead of computing them yields different results #49

Closed mihaibujanca closed 4 years ago

mihaibujanca commented 4 years ago

I am running a couple of tests on the code and tried saving the poses to a file and passing them as an additional parameter to ProcessNextFrameWithReinit. I've commented out

m_rigid_solver->SetInputMaps(solver_maps, observation, m_camera.GetWorld2Camera());
const mat34 solved_world2camera = m_rigid_solver->Solve();

and instead passed the precomputed pose to the camera.

I was wondering if there is any reason calling the rigid solver methods might be necessary.

I am still investigating the issue, but at some point I'm getting surfelwarp/core/geometry/WarpFieldUpdater.cpp:162: Invalid wight in node KNN

mihaibujanca commented 4 years ago

This was due to the way Eigen was copying the precomputed poses, my bad