VUKOZ-OEL / 3d-forest-classic

software for analysis of Lidar data from forest environment.
GNU General Public License v3.0
84 stars 26 forks source link

Automatic Tree Segmentation Crashes #29

Open ThierryAM opened 2 years ago

ThierryAM commented 2 years ago

First of all, thank you of this great open source application.

I'm trying to use the 3D Forest application for Windows (version 0.52) to segment a large point cloud obtained from a TLS of a trees parcel. The point cloud is in a binary PCD format containing the 3D points with their intensity (X, Y, Z, I). Importation and separation of the terrain from the vegetation by octree went well, but the automatic tree segmentation crashes. I have try different parameter values, and point cloud sizes (from 47 million to 24 million of points), but the application keep crashing in most of the cases and I'm not able to test adequate parameter values. The application seems to crash in SegmentationOctree::setTreeElements(), but it's not easy to confirm, because the console disappears immediately.

To try to identify the problem, I have download (cloned) the code, but I was not able to resolve all the compilation problems. (I will open an issue for this compilation problem too).

acardoso85 commented 1 year ago

Hi, thank you very much for creating and maintaining this great application. I am having similar problem, related with the issue title.

I am trying to use 3D Forest application for Linux (ubuntu 22.4) to segment also a large point cloud from a forest parcel obtained with TLS. I was able to import the base cloud (.las), and also separate terrain from vegetation. In the automatic tree segmentation step, I set the parameters, the program start processing, until a moment that it closed. Here are the lines form the Terminal:

parametry - prefix: ID_ parametry - vegetace-rest: vegetation-rest parametry - input-vegetace: cloud_subtraction.pcd parametry - input-veliksot: 0.06 parametry - input-range: 0.75 parametry - input-multiplikator: 2 parametry - input-elementy: 150 parametry - input-typ: PCA parametry - input-distance from terrain: 1.8 thread vytvoren seg nastaveno connect nastaveno SegmentationOctree::createOctree() Tue May 9 15:38:06 2023 Segmentation::ccomputeDescriptor() Tue May 9 15:38:10 2023 intensityMin: 0 intensityMax: 66.6667 m_PCAValue: 50 SegmentationOctree::mergeClusters() Tue May 9 15:38:15 2023 SegmentationOctree::createComponents() Tue May 9 15:38:16 2023 SegmentationOctree::findNeighborElements() Tue May 9 15:38:16 2023 free(): double free detected in tcache 2 Abortado (`core' generado)

I probed with different point cloud and different set of parameters, and happened the same. The last two lines seem to be the error. I think the program crashes when it runs this function: findNeighborElements()

I wonder which could be the problem o some recomendation to solve? Thanks! Andrea

Loris-L commented 1 year ago

Hi @acardoso85 , have you tried to convert the base cloud from .las to .pcd and use that one for all steps in 3DForest?

acardoso85 commented 1 year ago

Hi @Loris-L , yes. I converted the .las to .pcd in Cloud compare. If I start project with .pcd file, when I start the automatic segmentation the program crash in the same step. parametry - prefix: ID parametry - vegetace-rest: vegetation-rest parametry - input-vegetace: Vegetation_octree_25.pcd parametry - input-veliksot: 0.05 parametry - input-range: 0.7 parametry - input-multiplikator: 2 parametry - input-elementy: 150 parametry - input-typ: PCA parametry - input-distance from terrain: 1.6 thread vytvoren seg nastaveno connect nastaveno SegmentationOctree::createOctree() Tue May 23 10:21:40 2023 Segmentation::ccomputeDescriptor() Tue May 23 10:21:43 2023 intensityMin: 0 intensityMax: 66.663 m_PCAValue: 46 SegmentationOctree::mergeClusters() Tue May 23 10:21:49 2023 SegmentationOctree::createComponents() Tue May 23 10:21:49 2023 SegmentationOctree::findNeighborElements() Tue May 23 10:21:49 2023 free(): double free detected in tcache 2 Abortado (`core' generado)

I will appreciated more suggestions, or any idea why it could be happened this. Thanks Andrea

Loris-L commented 1 year ago

@acardoso85 idk why 3D Forest crashes, but you could try to do the segmentation in Cloud Compare