karnikram / rp-vio

[IROS-21] RP-VIO: Robust Plane-based Visual-Inertial Odometry for Dynamic Environments (Code & Dataset)
https://karnikram.info/rp-vio
GNU General Public License v3.0
207 stars 35 forks source link

plane segmentation #10

Open ZhouXiner opened 3 years ago

ZhouXiner commented 3 years ago

Hi, I try to use the plane segmentation in the ADVIO dataset you provides, however it cant perforn like the mask you provide after CRF interface. I use the pretrained model you provide. and the raw image has resized already. But this stiil some hard code in interface.py like plane_num. I dont know what I did wrong, could pls help me?

sudarshan-s-harithas commented 3 years ago

Hi, I hope you have followed the instructions as given in the README, please give us some more information and context as to how you executed/modified the programs. The CRF inference improves the output detection of the plane-segmentation model and the num_plane is the maximum number of planes that can be detected by the model in a single image, our model has been trained with num_plane =3 (if you would like to detect more planes re-train the model by changing this value). refer to the papers PlaneRecover and RPVIO for the theory.

Thank You

ZhouXiner commented 3 years ago

Thanks for reply, I think I follow the steps in README.

  1. extract the raw images from bag and resize it to (320,192)
  2. all the image names are genrated in test.txt forrunning inference.py. The test.txt are sth like 0.516478.jpg 0.533146.jpg .... 3.I run the inference.py like this python inference.py --dataset={0} --output_dir={1} --test_list={2} --use_preprocessed=False".format(path,output,test_list) path: the resized image folder test_list: the test.txt mentioned in 2 The context I changed in inference.py is a. change the test image name loading to suit the test.txt: test_files_list.append(FLAGS.dataset_dir + '/' + t_split[0] ) b. change the ckpt_file default value to ~/rp-vio-ws/src/rp-vio/plane_segmentation/pretrained_model/model since the former model isn't exists
  3. run the crf_inference.py and resize the output image to raw size. Thanks for answering again!
sudarshan-s-harithas commented 3 years ago

the procedure seems right, can you please share a few of the results that you have obtained?

ZhouXiner commented 3 years ago

https://1drv.ms/u/s!AgIBb31yefjshBkdTyttCYSzMy5-?e=sNQ7We

This is some masks I generate, Thanks

sudarshan-s-harithas commented 3 years ago

Are these detections the output of the CRF? or the Plane segmentation model

ZhouXiner commented 3 years ago

Sorry for delay, a busy day... The results are sementation model, the CRF results is just similiar like this. For example the images of full floor are just segmented partly. I will send you the related CRF results when I use my PC. Forgive me. Thank you very much.

ZhouXiner commented 3 years ago

https://1drv.ms/u/s!AgIBb31yefjshEG4L2eGruYLfo4v?e=3ingrZ This is the more detailed masks. Thanks a lot