Open amiltonwong opened 8 years ago
Dear Milton,
The purpose of these variables is to realize when a new frame is ready for tracking. 'last_cont_frames' is the counter of the last frame tracked and 'cont_frames' is the counter of the last frame, either if it has already been tracked or not.
I am working on reorganizing the code and naming all the variables with 'understandable' names, so it should be easier to read in a near future...
Best,
Alejo.
Thanks Alejo :)
Hi, @alejocb ,
From line 314 to 318 in SemiDenseTracking.cpp, https://github.com/alejocb/dpptam/blob/master/src/SemiDenseTracking.cpp#L314
Does it mean initialization of tracking will be performed in case do_initialization_tracking > 0.5? When will the value of "do_initialization_tracking" be changed by the whole process?
Thanks in advance~ Milton
Hi Milton,
Yes, initialization of tracking (the jacobians have to be recalculated) is performed when do_initialization_tracking > 0.5.
do_initialization_tracking is set to 1 in the semidense mapping thread, when the depth of the new keyframe is calculated and then it is ready to be tracked.
Regards,
Alejo.
Thanks Alejo :)
Hi, @alejocb ,
I have several questions regarding to SemidenseTracking(.cpp/.h):
Q1: In data.yml, two variables are set by default, such as: local_maps_number:5 local_maps_close_number: 1 And they are also used in SemidenseTracking.cpp The variable "local_maps_number" means the tracker uses 5 local maps, but what are the meaning/usage for local_maps_close_number?
Q2: In SemidenseTracking.h, we could see : SemidenseTracking is extended from base class imagnes, but I couln't find it (implementation and declarison of class imagnes). Where's it (or this is a certain usage in C++? Please forgive I'm not an expert in C++ )?
Q3: In line 2133, https://github.com/alejocb/dpptam/blob/master/src/SemiDenseTracking.cpp#L2133 what's the meaning/usage for "check_repatead_points" variable?
Q4: https://github.com/alejocb/dpptam/blob/master/include/dpptam/SemiDenseTracking.h#L134 https://github.com/alejocb/dpptam/blob/master/include/dpptam/SemiDenseTracking.h#L88 For variable "points_map", does it mean points in the map? And the map is local map? For variable "points_map_inImage", What's the meaning of inImage, does it mean only those points related to current image? (I know that points_map is assigned to points_map_inImage in tracking initialization process)
Q5: https://github.com/alejocb/dpptam/blob/master/src/SemiDenseTracking.cpp#L393 cv::Mat points3D_cam_to_print; // Does it refer to the 3D points with respect to camera coordinate? And "cam_to_print", what does it mean?
Q6: https://github.com/alejocb/dpptam/blob/master/src/SemiDenseTracking.cpp#L419 what does "points_map[2]" refer to? Does it mean the pyramid_level == 2, which is the smallest resolution in the pyramid.
Thanks in advance~ Milton
Hi @amiltonwong , Sorry for the late response...
Q1
local_maps_number:5 local_maps_close_number: 1
local_maps_number are the potential past keyframes to be used in tracking. local_maps_close_number are the number of past keyframes used in tracking. They are selected from 'local_maps_number'.
Q2
Class 'imagenes' is defined in superpixel.h
Q3
check_repatead_points is to be sure that the system does not track the same 3D point twice. When I fuse two keyframes I make sure that the resulting 3D points are all different.
Q4
'points_map' are the 3D points tracked 'points_map_inImage' are the 3D points tracked that lie inside of the current image.
Q5
Q6
Best regards,
Alejo.
Q5
points3D_cam_to_print are just the 3D points that are going to be printed in the current frame for visualization.
Q6
Yes it means pyramid_level == 2, I just changed it in the code!
Best regards,
Alejo.
@alejocb, thank you so much for answering such many questions. THX :)
Hi Alejo, Thank you for sharing your codes. Dpptam is a great job and I'm also reading it for feather learn. :) Look forward to your new release of the regrouped codes. Lili
Dear @alejocb,
I am reading the code to further understand dpptam, so there may be some questions thrown by me in this period, hope you don't mind. :)
In SemidenseTracking.h, what's the meaning/usage for the following member variables:
int *cont_frames; //? Is that the count number of frames? int last_cont_frames; //??
Thanks in advance~ Milton