You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The CSF ground filter does not give consistent results when multithreading. i.e. between runs we get slightly different ground and non-ground classifications.
I've attached a CSV point cloud I used for testing that contains 500,000 points (trimble_500k.zip). For testing I'm running the CSF filter with the settings:
Out of 5 runs I got the following number of ground points.
1. 71,275
2. 71,276
3. 71,275
4. 71,275
5. 71,276
Setting the environment variable OMP_NUM_THREADS to 1 results in each run returning 71,274 ground points. I'd assume that this would be the correct result?
As a workaround we removed all #pragma omp parallel for statements from CSF (there is only a few). This resulted in seemingly consistent results between runs. I also didn't observe too much of a drop in performance which was surprising, even for a ~63 million point cloud.
The text was updated successfully, but these errors were encountered:
Hello,
Thank you for report this problem.
This can happen when omp parallel is enabled, because the sequence of parallel computing cannot be controlled, which causes the final shape of cloth to be different, thus the classification resutls will be different. However, this will not cause a serious problem.
The number of the points is not the major factor that influences the computing time, the extent of the point cloud and the cloth resolution are the most important factors.
The CSF ground filter does not give consistent results when multithreading. i.e. between runs we get slightly different ground and non-ground classifications.
I've attached a CSV point cloud I used for testing that contains 500,000 points (trimble_500k.zip). For testing I'm running the CSF filter with the settings:
Out of 5 runs I got the following number of ground points.
Setting the environment variable OMP_NUM_THREADS to 1 results in each run returning 71,274 ground points. I'd assume that this would be the correct result?
As a workaround we removed all
#pragma omp parallel for
statements from CSF (there is only a few). This resulted in seemingly consistent results between runs. I also didn't observe too much of a drop in performance which was surprising, even for a ~63 million point cloud.The text was updated successfully, but these errors were encountered: