meyerls / pc-skeletor

Skeletonization of 3D Point Clouds
MIT License
153 stars 18 forks source link

LBC Topology having a outlier #33

Open captainvoldemort opened 2 months ago

captainvoldemort commented 2 months ago

Upon extracting the topology from lbc.topology I am getting a extreme outlier as shown in the image below, the coordinate frame is the origin, the line market by blue is the outlier edge of the topology and red region is where the actual point cloud is situated, is there any point in the codebase which is explicitly stating the outlier coordinate?

Untitled

Zoomed in on the point cloud location:

Screenshot 2024-09-13 100847

Point cloud:

Screenshot 2024-09-13 100951

Thanks in advance!

graper123 commented 1 week ago

Hello, I also encountered the same problem as you. I encountered an extremely outrageous outlier in the shrinkage result of the tree point cloud. I don't know where the problem occurred in the shrinkage algorithm. Have you solved the problem?

graper123 commented 1 week ago

微信图片_20241127104957

graper123 commented 1 week ago

Almost all the tree point clouds I tested have outliers. What is the reason for this? Thank you in advance for the author's (or everyone's) response!

graper123 commented 1 week ago

Upon extracting the topology from lbc.topology I am getting a extreme outlier as shown in the image below, the coordinate frame is the origin, the line market by blue is the outlier edge of the topology and red region is where the actual point cloud is situated, is there any point in the codebase which is explicitly stating the outlier coordinate?

Untitled

Zoomed in on the point cloud location:

Screenshot 2024-09-13 100847

Point cloud:

Screenshot 2024-09-13 100951

Thanks in advance!

Hello, I also encountered the same problem as you. I encountered an extremely outrageous outlier in the shrinkage result of the tree point cloud. I don't know where the problem occurred in the shrinkage algorithm. Have you solved the problem?

captainvoldemort commented 6 days ago

@graper123 In my use case I was able to deal with the problem by normalizing the point cloud to a specific plane. Specifically, I had changed all the z coordinates from the point cloud with min(z). This might not be useful in your case. Another approach that I thought of was to somehow ignore the outlier based on some distance based logic. Or it might even be solved after tuning the parameters in the LBC algorithm . Thanks and please let me know if it works for you!

graper123 commented 5 days ago

@graper123 In my use case I was able to deal with the problem by normalizing the point cloud to a specific plane. Specifically, I had changed all the z coordinates from the point cloud with min(z). This might not be useful in your case. Another approach that I thought of was to somehow ignore the outlier based on some distance based logic. Or it might even be solved after tuning the parameters in the LBC algorithm . Thanks and please let me know if it works for you!

First of all, thank you for your reply. In my case, I tried to remove outliers based on radius and statistics, but the effect is still not good. I am really curious about this optimization algorithm. Why does the shrinkage based on Laplace lead to such exaggerated outliers? I wonder if the author has problems in the process of implementing the code? By the way, in the original paper, the optimization equation is a quadratic energy expression. In the original code, it seems that it only implements the content of contraction (maybe I don't fully understand the code)). Finally, when I debugged, I found that outliers were generated at the 3rd-4th iteration. I was confused about why this result was generated.

Glad to hear from you