MarkusEich/cpf_segmentation

Puzzles about codes in segmentation.cpp

Opened this issue · 1 comments

Hi, recently, I have read your paper (Geometrically Consistent Plane Extraction for Dense Indoor 3D Maps Segmentation), and I have found the code you provided, it's really of great help to me, thank you.
I have some puzzles and have tried to send you an e-mail, but the e-mail was not sent successfully. Therefore, I'm here to post my puzzles.
As the main procedure is done in doSegmentation in segmentation.cpp, my puzzles are mainly caused by code of the function.

  1. In line 209, why min_num_supervoxel_per_plan is equal to config_.min_plane_area/(config_.seed_resolution*config_.seed_resolution/4/M_PI)
  2. From line 170 to line 172, the steps of Hough accumulator are defined as
    double step_theta = 1;double step_phi = 1;double step_rho = 0.025; are they empirically set? In my experiment, step_rho is set to 0.2, and I also set the other two steps as yours , however, as the bin effect, I don't obtain the desired result even two planes with 0.5 degree angle difference and 0.1 meter rho difference (the two planes don't vote to the same bin in Hough accumulator).
  3. Are the thresholds ( 0.8, 0.5, and 0.25)() set empirically?(line 245: float normal_dis = dotprod < 0.8 ? 100 : 1; line 295: dot_prod = dot_prod < 0.5 ? dot_prod : 1 - dot_prod; line 296: double angle_cost = 1 - exp(-dot_prod/0.25);)
  4. From line 254 to line 256, I'm puzzled about the way of processing plane_score and the reason of setting confidence_threshold to 0.1, I tried to find some information from your paper, but nowhere referred to this.
    Additionally, there are no label cost terms in the energy functions you constructed, I think this is probability because you treated the model selection as label cost, is this right?
    Hoping for your reply!

Hi, recently, I have read your paper (Geometrically Consistent Plane Extraction for Dense Indoor 3D Maps Segmentation), and I have found the code you provided, it's really of great help to me, thank you.
I have some puzzles and have tried to send you an e-mail, but the e-mail was not sent successfully. Therefore, I'm here to post my puzzles.
As the main procedure is done in doSegmentation in segmentation.cpp, my puzzles are mainly caused by code of the function.

  1. In line 209, why min_num_supervoxel_per_plan is equal to config_.min_plane_area/(config_.seed_resolution*config_.seed_resolution/4/M_PI)
  2. From line 170 to line 172, the steps of Hough accumulator are defined as
    double step_theta = 1;double step_phi = 1;double step_rho = 0.025; are they empirically set? In my experiment, step_rho is set to 0.2, and I also set the other two steps as yours , however, as the bin effect, I don't obtain the desired result even two planes with 0.5 degree angle difference and 0.1 meter rho difference (the two planes don't vote to the same bin in Hough accumulator).
  3. Are the thresholds ( 0.8, 0.5, and 0.25)() set empirically?(line 245: float normal_dis = dotprod < 0.8 ? 100 : 1; line 295: dot_prod = dot_prod < 0.5 ? dot_prod : 1 - dot_prod; line 296: double angle_cost = 1 - exp(-dot_prod/0.25);)
  4. From line 254 to line 256, I'm puzzled about the way of processing plane_score and the reason of setting confidence_threshold to 0.1, I tried to find some information from your paper, but nowhere referred to this.
    Additionally, there are no label cost terms in the energy functions you constructed, I think this is probability because you treated the model selection as label cost, is this right?
    Hoping for your reply!

Hi, Recently, I am beginning to study the 3D segmentation, but I don't know how to build this code in my computer, so could tell me how do you build this project and setup this code?(my email:wsw625@shu.edu.cn)