tiagodc / TreeLS

R functions for processing individual tree TLS point clouds
GNU General Public License v3.0
82 stars 27 forks source link

TreeLS not identifying trees #24

Closed mansi-aggarwal-2504 closed 4 years ago

mansi-aggarwal-2504 commented 4 years ago

I have a las file where TreeLS detected around a 100 trees and segment their stems. After that, I analysed the false negatives (around 80) with the manually marked ground truth and generated a las file of a patch of around 4 trees out of all trees which the algorithm didn't detect. But when I input this small las file separately, the algorithm detected these 4 trees.

What might be the reason behind this that the algorithm didn't quite catch these trees before?

P.S. I am using hough transformation method intreeMapand stemPointsfunctions.

tiagodc commented 4 years ago

The hough transform algorithm is highly dependent on the point density across the entire point cloud, so it's almost certain it's gonna behave differently on different samples from the same cloud. Answering your question more directly, it's likely those trees are in a region of lower point density than the trees detected when you processed the entire cloud. One way to try to control this effect is to homogeneize the density before running treeMap, e.g. by running tlsSample with smp.voxelize. Other than that you should play around with the function's parameters and see what gives the best results for your use case.

mansi-aggarwal-2504 commented 4 years ago

That's correct. The point cloud is lower is the patch file. And I was looking for a way to contain that problem when I input the full dataset. I have set the parameters after considering different values of parameters but I have used tlsSample with smp.randomise I will give the smp.voxelise method a try. Thank you.