online_learning icon indicating copy to clipboard operation
online_learning copied to clipboard

How do I use this package with a 64-line LIDAR?

Open tcjcxy30 opened this issue 5 years ago • 7 comments
trafficstars

Hi: Thank you for your work. This is what I need. I have a 64-line LIDAR but this package seems to only support 16-line LIDAR. What should I do to take my LIDAR data to use this package? Looking forward to your reply.

tcjcxy30 avatar Aug 12 '20 12:08 tcjcxy30

Hi, obviously you have more points to deal with. Since this "online learning" is actually a modular pipeline, you may need to consider "clustering" with your 64-line LIDAR first. To do so you could refer here: https://github.com/yzrobot/adaptive_clustering/blob/master/src/adaptive_clustering.cpp#L252. Alternatively, if real-time performance is affected, you may want to consider downsampling. The SVM part can remain unchanged for the time being, and improve when necessary. Cheers.

yzrobot avatar Aug 13 '20 13:08 yzrobot

downsampling c.f.https://github.com/yzrobot/adaptive_clustering/blob/devel/src/adaptive_clustering.cpp

yzrobot avatar Aug 13 '20 14:08 yzrobot

Hi: First, I use downsampling with "setLeafSize(0.04f, 0.04f, 0.04f)" at "adaptive_clustering.cpp" with setting "VLP-16", the human can be clustered with box. The pointcloud size from "7xxxx" to "2xxxx", and at about 17FPS on a laptop. Then, I use the same setting at "object3d_detector.cpp" and no boxes appear. So what are the problem I might run into here?

Carolbelieve avatar Aug 18 '20 07:08 Carolbelieve

Hi, Yan, @yzrobot, thank you for your project first. I have read your paper and check the code and find the probability models are abandoned in the line "if(svm_predict(svm_model_, svm_node_) != 1)". So I need to train a new svm model or tune the parameters?

Carolbelieve avatar Aug 18 '20 13:08 Carolbelieve

Hi, are you referring to here, if so:

- Function: double svm_predict(const struct svm_model *model,
                               const struct svm_node *x);

    This function does classification or regression on a test vector x
    given a model.

    For a classification model, the predicted class for x is returned.
    For a regression model, the function value of x calculated using
    the model is returned. For an one-class model, +1 or -1 is
    returned.

So the idea of the code is that, if it's 1 then we show the bounding-box, otherwise no. You don't need to train a new svm model, the code can handle it correctly.

yzrobot avatar Aug 24 '20 12:08 yzrobot

Hi: First, I use downsampling with "setLeafSize(0.04f, 0.04f, 0.04f)" at "adaptive_clustering.cpp" with setting "VLP-16", the human can be clustered with box. The pointcloud size from "7xxxx" to "2xxxx", and at about 17FPS on a laptop. Then, I use the same setting at "object3d_detector.cpp" and no boxes appear. So what are the problem I might run into here?

adaptive_clustering.cpp shows clusters, while object3d_detector.cpp shows humans (clustering + svm), so I guess that no cluster was recognized as human by svm.

yzrobot avatar Aug 24 '20 12:08 yzrobot

Hello, I am also working on a 64 line lidar. Did anyone actually manage to use this package to use with 64 line lidar. If so, can you share some valuable info or a link to the repo/

Thanks in advance

PranavShevkar avatar Jan 17 '24 09:01 PranavShevkar