ethz-asl / segmap

A map representation based on 3D segments
BSD 3-Clause "New" or "Revised" License
1.06k stars 394 forks source link

How many classifications does segmatch extract? #68

Closed hyx007 closed 6 years ago

hyx007 commented 6 years ago

Hi, I find that in the random_forest_eigen_25trees.xml file it only has 2 classifications, but when I read the wiki(https://github.com/ethz-asl/segmatch/wiki) it seems has at least 4 classifications, such as tree,wall,trailer,car. I don't know why? And I train a classifier with 5 classifications, and change the predict_prob() to predict() because I think predict_prob() only supports binary classifications, when I run the kitti_localization.launch and change random_forest_eigen_25trees.xml to my own .xml file, I still get the error "OpenCV Error: Bad argument (the input sample must be 1d floating-point vector with the same number of elements as the total number of variables used for training) in predict, file /home/nv/opencv-2.4.9/modules/ml/src/tree.cpp, line 3622 terminate called after throwing an instance of 'cv::Exception' what(): /home/nv/opencv-2.4.9/modules/ml/src/tree.cpp:3622: error: (-5) the input sample must be 1d floating-point vector with the same number of elements as the total number of variables used for training in function predict" How to use my own classification file with segmatch? Thanks a lot!

lykhahaha commented 6 years ago

HI, @YuxiHuang1 ,thank you for your work, where can we get the train data from?

rdube commented 6 years ago

Hi @YuxiHuang1 you you for your interest in our library! We used predict_prob() to predict the probability of two segments belonging to the same object or environment part and use this information to localize. I believe that you understood that we were doing semantic classification - we are not but that might come in a future version..

If your goal is to do localization, I suggest you look into the eigenvalue based descriptor. The random forest will be deprecated in the next version of segmatch as we introduce another descriptor. Hope that helps!

hyx007 commented 6 years ago

Hi,@githublyk,I used my own pointcloud data to train the random forest tree.

hyx007 commented 6 years ago

Thanks @rdube ,I think the random forest method can be replaced by deep learning,looking forward to your next version!

Zhongwei-Luo commented 3 years ago

Hi @YuxiHuang1 you you for your interest in our library! We used predict_prob() to predict the probability of two segments belonging to the same object or environment part and use this information to localize. I believe that you understood that we were doing semantic classification - we are not but that might come in a future version..

If your goal is to do localization, I suggest you look into the eigenvalue based descriptor. The random forest will be deprecated in the next version of segmatch as we introduce another descriptor. Hope that helps!

hi,could you plz share the segmatch code which have randon forest? i want to do comparsion in my paper ,thanks! :)