Pamphlett / Outram

[ICRA 2024] Outram: One-shot Global Localization via Triangulated Scene Graph and Global Outlier Pruning
Apache License 2.0
112 stars 5 forks source link

semantic_cluster_map data #6

Closed Hfx-J closed 2 months ago

Hfx-J commented 2 months ago

Hello, we would like to verify the effectiveness of your project on the MulRan dataset. Could you provide the corresponding semantic_cluster_map section to ensure the accuracy of the data?

Pamphlett commented 2 months ago

Hi,

Thanks for your interest. Please refer to this link for the cluster maps for MulRan.

Be sure to use the same label map to ensure the performance, we are using a different one from SPVNAS (Please refer here). To gain better performance, it is desirable to be consistent in the label for the single scan and the map. So in your case, the best way is to generate your own cluster map based on your single scans (just a simple DBScan).

As a side note, the GT pose of MulRan is known to suffer from some inaccuracies. Please be aware when you evaluate.

Hope it helps.

Hfx-J commented 2 months ago

Hello, I would like to ask if we need to modify some parameters of the program when using the MulRan dataset? Because the effects we achieved are very poor, here is the content of the YAML file.

######################### clustering param #########################
car_param:
  use_car: true
  use_DCVC: false
  DCVC_min_num: 30
  class_num: 0
  min_dist: 0.3
  min_num: 100
  max_num: 500000

trunk_param:
  use_trunk: true
  use_DCVC: false
  DCVC_min_num: 5
  class_num: 15
  min_dist: 0.5
  min_num: 15
  max_num: 100000

pole_param:
  use_pole: true
  use_DCVC: false
  DCVC_min_num: 5
  class_num: 17
  min_dist: 0.5
  min_num: 15
  max_num: 100000

DCVC_param:
  startR: 0.35    # Surface voxel initial polar diameter resolution
  deltaR: 0.0004  # Pole diameter increment
  deltaP: 1.2     # Pitch angle increment
  deltaA: 1.2     # Azimuth increment
  minSeg: 300      # After splitting, how many points are at least one category, and categories smaller than this number will be filtered out

######################### registration param #########################
solving_w_cov: false
noise_level: 0.5
distribution_noise_level: 10

######################### control param #########################
step_stop: false
begin_index: 0
eva_frame_num: 20

enable_visualization: true
use_semantic: true 
solving_all2all: false
dsample: true
gen_cluster_map: false

######################### data base param #########################
scan_path: /test_data/bin
label_path: /test_data/label
gt_file_path: /test_data/pose.txt
# MCD
# calibration_matrix:
#   data: [0.9999346552051229, 0.003477624535771754, -0.010889970036688295, -0.060649229060416594,
#          0.003587143302461965, -0.9999430279821171, 0.010053516443599904, -0.012837544242408117,
#          -0.010854387257665576, -0.01009192338171122, -0.999890161647627, -0.020492606896077407]
# MulRan
calibration_matrix:
  data: [-0.99998295, 0.00583984, -0.00000524, 1.70430303,
         -0.00583984,-0.99998295, 0.00000175, -0.01105054,
         -0.00000523, 0.00000178, 1.0,        -1.80469106]

viz_map_file_path: /test_data/GlobalFullMapSpar.pcd

cluster_map_path: /test_data/semantic_cluster_map/cluster_map.pcd
cluster_map_cov_file_path: /test_data/semantic_cluster_map/covariances.bin

######################### std param ##########################
# pre process
ds_size: 0.25
maximum_corner_num: 100

# key points
plane_detection_thre: 0.01
plane_merge_normal_thre: 0.2
voxel_size: 2.0
voxel_init_num: 10
proj_image_resolution: 0.5
proj_dis_min: 0
proj_dis_max: 5
corner_thre: 10

# std descriptor
descriptor_near_num: 10
descriptor_min_len: 0.5
descriptor_max_len: 50
non_max_suppression_radius: 2
std_side_resolution: 1

# candidate search
skip_near_num: 100
candidate_num: 50
sub_frame_num: 1
vertex_diff_threshold: 0.2
rough_dis_threshold: 0.03
normal_threshold: 0.2
dis_threshold: 0.3
icp_threshold: 0.4
Pamphlett commented 2 months ago

Hello,

What algorithm did you employ to produce the semantic label?

Hfx-J commented 2 months ago

你好,你使用什么算法来产生语义标签?

spvnas

Hfx-J commented 2 months ago

I've noticed that the semantic clustering maps of the loaded DCC sequences are very sparse, fewer than what I see in pclviewer. Could this be one of the reasons?

Hfx-J commented 2 months ago

Hello, I finally understand the issue with semantics you mentioned. After modifying the semantic annotations, I got the correct results. Thank you very much for your help. Also, I apologize for any inconvenience caused by my oversight.