Shape_detection_3 Runtime Complexity

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Shape_detection_3 Runtime Complexity

williamlai3a
Hi all,

I am running Region_growing to detect only plane on a 3.7 Million point
cloud.
I just call using .detect() so it uses the default parameters.

The detection function has been running for 5 days on single CPU and never
ending.
(I dunno how to make it utilize my CPU resource as it does not have
concurrent flag)

Are there any possibilities that the .detect() function comes to a dead
loop?
Or it is just taking very long time to end?
Would that be parameters problem? like min_points?

Any ways to make the algo run faster?

Thank you very much.



--
Sent from: http://cgal-discuss.949826.n4.nabble.com/

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss


Reply | Threaded
Open this post in threaded view
|

Re: Shape_detection_3 Runtime Complexity

Simon Giraudot-2
Hello,

Region Growing can be quite long as it implies neighbor queries on
pretty much all data points: if the cluster_epsilon parameter is very
large, then these neighbor queries can take a very long time. But 5 days
still seem like a crazy runtime to me: are you sure you are compiling in
Release mode? CGAL can be very slow without the compiler optimizations.

Apart from that, I would strongly advise tuning the parameters by hand,
especially cluster_epsilon. You can maybe use a factor of either:
- the average spacing:
https://doc.cgal.org/latest/Point_set_processing_3/group__PkgPointSetProcessingAlgorithms.html#gae7d0d1063bcebb7f8a1b0f90597c423b
- the global scale:
https://doc.cgal.org/latest/Point_set_processing_3/group__PkgPointSetProcessingAlgorithms.html#gafbe157053a3e1c4f545a99dc55a425cb

Also, I would make some trials on a small subset first (and check if the
output is what you expect) to avoid wasting hours or computation.

Note that in the most recent version of CGAL (4.12 beta), a callback
mechanism was introduced in Region Growing so that the user can know the
advancement of the algorithm while it's running:
https://www.cgal.org/2018/02/27/cgal412-beta1/

Best,

--
Simon Giraudot, PhD
R&D Engineer
GeometryFactory - http://geometryfactory.com/


Le 06/03/2018 à 08:03, williamlai3a a écrit :

> Hi all,
>
> I am running Region_growing to detect only plane on a 3.7 Million point
> cloud.
> I just call using .detect() so it uses the default parameters.
>
> The detection function has been running for 5 days on single CPU and never
> ending.
> (I dunno how to make it utilize my CPU resource as it does not have
> concurrent flag)
>
> Are there any possibilities that the .detect() function comes to a dead
> loop?
> Or it is just taking very long time to end?
> Would that be parameters problem? like min_points?
>
> Any ways to make the algo run faster?
>
> Thank you very much.
>
>
>
> --
> Sent from: http://cgal-discuss.949826.n4.nabble.com/
>


--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss