traveller59 / second.pytorch

SECOND for KITTI/NuScenes object detection
MIT License
1.72k stars 722 forks source link

Train kitti without reduced point cloud #190

Open Kai303 opened 5 years ago

Kai303 commented 5 years ago

Hello @traveller59, Thanks for sharing your work! Could you please advise on the two questions:

  1. Is it possible to train kitti-like data without reduction of point cloud?
  2. How did you determine the values in the "filter_by_min_num_points" of the training config file?

I appreciate your time.

traveller59 commented 5 years ago
  1. no, because kitti only have front labels.
  2. you can count number of points in gt , then choose some value, this value is not important, you can just set them to zero.
Kai303 commented 5 years ago

Thank you very much for your prompt reply!

Kai303 commented 5 years ago

Hello @traveller59 ,

A further question please: if my data set has 360 degree labels and I replace the reduced point cloud files in the velodyne_reduced with the full binary point cloud, will the model be trained for objects in 360 degree scenes?

Thank you for your time.

josephshaaban commented 5 years ago

Hello @traveller59, I have the same issue, I want to predict on full range data (360 degree point cloud), but the model was trained for front view data like that in KITTI. Will I get a bad result? Shall retrain on full range lidar data and predict full range data via new trained model? What do you thought?

josephshaaban commented 5 years ago

Hello @Kai303 Yes, you can train model or even predict for object in 360 degree scene. All what you should to do is to change some values in config file that you use. Fortunately,@traveller59 presents a tool to do this changes inline. So, you can use change_detection_range from config_tool.py. And the usage will be as the following:

config_tool.change_detection_range(model_cfg, new_range=full_range_array)

Note1: the instruction shall be written after reading the config file, and model_cfg here refers to config.model.second Note2: for full_range_array, you must provide a list such as [-50, -50, 50, 50], as what Yan documented in config_tool.py

For more info and clarity, I suggest you to see simple-inference Jupyter Notebook.