pose_refine icon indicating copy to clipboard operation
pose_refine copied to clipboard

Multiple ICPs

Open aditya2592 opened this issue 6 years ago • 6 comments

Hi,

I wanted to understand how to you use the code to do multiple ICPs at once. I tried to look at test.cpp but that seems to be doing one ICP if I am not wrong

aditya2592 avatar Oct 04 '19 19:10 aditya2592

That's right for one ICP. Unlike rendering multiple poses, multiple ICPs may have different number of points, so I decided to use cuda per thread stream. A simple usage can be found here.

meiqua avatar Oct 05 '19 04:10 meiqua

Thanks. If I want to run the code on a dataset of images, will the function process_batch in this file be the best one to refer to?

aditya2592 avatar Oct 05 '19 04:10 aditya2592

process_batch here is a test for multiple initial poses ICP around one targeted pose so we can jump out of the local minimum a little bit. You can refer to it if having similar problems.

meiqua avatar Oct 06 '19 04:10 meiqua

What is the use of the below flag?

#ifdef USE_PROJ

aditya2592 avatar Oct 17 '19 22:10 aditya2592

switch between projective or nearest neighbor association

meiqua avatar Oct 26 '19 02:10 meiqua

Thanks. If I want to run the code on a dataset of images, will the function process_batch in this file be the best one to refer to?

Hi! Mat K = (Mat_(3,3) << 572.4114, 0.0, 325.2611, 0.0, 573.57043, 242.04899, 0.0, 0.0, 1.0); Mat R_ren = (Mat_(3,3) << 0.34768538, 0.93761126, 0.00000000, 0.70540612, -0.26157897, -0.65877056, -0.61767070, 0.22904489, -0.75234390); Mat t_ren = (Mat_(3,1) << 0.0, 0.0, 300.0); Mat t_ren2 = (Mat_(3,1) << 20.0, 20.0, 320.0);

Mat K = (Mat_(3,3) << 572.4114, 0.0, 325.2611, 0.0, 573.57043, 242.04899, 0.0, 0.0, 1.0); Mat R_ren = (Mat_(3,3) << 0.04994138, 0.98619508, -0.15787705, 0.72859222, -0.14409367, -0.66961957, -0.68312458, -0.08158627, -0.7257303 ); Mat t_ren = (Mat_(3,1) << 74.90934988, -156.41012715, 1051.41730131);

Mat K = (Mat_(3,3) << 572.4114, 0.0, 325.2611, 0.0, 573.57043, 242.04899, 0.0, 0.0, 1.0); Mat R_ren = (Mat_(3,3) << 0.04994138, 0.98619508, -0.15787705, 0.72859222, -0.14409367, -0.66961957, -0.68312458, -0.08158627, -0.7257303 ); Mat t_ren = (Mat_(3,1) << 74.90934988, -156.41012715, 1051.41730131);

How did you get these initial data matrices?

Are these the camera's internal parameter matrix and external parameter rotation matrix and translation matrix?

wly2020-robot avatar Sep 02 '21 07:09 wly2020-robot