[request]Point Cloud Cleanup

To post any request/idea for new functionalities
jedfrechette
Posts: 46
Joined: Mon Jan 20, 2014 6:31 pm
Location: Albuquerque, NM
Contact:

Re: [request]Point Cloud Cleanup

Post by jedfrechette »

daniel wrote:Well indeed in this case you'll have to think the reverse way and segment "outside" (the removed points will all be "output" to a new cloud on completion of the process).
This doesn't really work either though because the initial polygon I draw has to be perfect. In most cases it is easier to refine a selection with multiple steps. For example, with overhanging mostly vertical objects like pedestrians I've found the easiest way to select them is in two steps. First from a top down view select the pedestrian and the small patch of ground they are standing on. Next rotate in to a side view and deselect the ground points. With the current 2D projection based selection tools the best I can do is try to find the perfect view, probably mostly from the side, where I can select only the pedestrian but no foreground or background objects. In practice that probably only works for very simple scenes.
Jed
daniel
Site Admin
Posts: 7710
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: [request]Point Cloud Cleanup

Post by daniel »

So basically you'd like to use the 'inside' segmentation mode (multiple times) and afterwards invert the current selection so as to make the pedestrian disappear (actually remove it from the cloud to go to another one) and the other points reappear, am I right?
Daniel, CloudCompare admin
jedfrechette
Posts: 46
Joined: Mon Jan 20, 2014 6:31 pm
Location: Albuquerque, NM
Contact:

Re: [request]Point Cloud Cleanup

Post by jedfrechette »

I really think Photoshop et al., have the UI for this type of multistep selection down pretty well. The examples below were done with GIMP's rectangle select tool because the handles it leaves on the selection made it easier to visualize the process without recording a video. Selections using various tools in Photoshop and Krita basically work the same way. A number of 3D apps, e.g. PolyWorks, MODO [1], and Blender (sort of), also follow similar conventions. I'm sure there are many more apps that could be added to that list but those are a few I'm familiar with off the top of my head.

I start with something else selected:

Image

By default drawing a new selection will replace the old selection:

Image

Switching to subtract mode allows me to remove points from the selection:

Image

Switching to add mode allows me to add back in points that were accidentally removed:

Image

I've never found much use for intersect but I'll include it for completeness:

Image

Note that in all these cases the user action is a single click-drag-release. There is no extra Select Inside/Outside step. Being able to invert a selection, essentially what Select Outside does, is certainly important but I don't think it is a common enough action that it deserves equal standing in the UI as Select Inside. I think the program should assume the user wants to Select Inside, and in cases where they want to Select Outside they will need to give an additional command.

[1] http://docs.luxology.com/modo/701/help/ ... Types.html
Jed
daniel
Site Admin
Posts: 7710
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: [request]Point Cloud Cleanup

Post by daniel »

Thanks that's quite interesting. To do this we'll have to use different colors for points inside or outside the selection (instead of hiding them as it is done now). I always wondered how to do this when the cloud already has colors (using only red or yellow may hinder the user's perception). Any idea is welcome!

And for the inside/outside thing, it came in fact from a study (can't remember where I read this, it was a long time ago ;) that showed that it all depends on the user: some people like to think by keeping points 'inside' but some will simply be more comfortable with the opposite way of thinking. Whether it's true or not is another story ;).
Daniel, CloudCompare admin
jedfrechette
Posts: 46
Joined: Mon Jan 20, 2014 6:31 pm
Location: Albuquerque, NM
Contact:

Re: [request]Point Cloud Cleanup

Post by jedfrechette »

daniel wrote:Thanks that's quite interesting. To do this we'll have to use different colors for points inside or outside the selection (instead of hiding them as it is done now). I always wondered how to do this when the cloud already has colors (using only red or yellow may hinder the user's perception). Any idea is welcome!
Yeah, coming up with a robust way to display selections for all possible point cloud colors might take a little thinking. PolyWorks handles this by coloring all selected points an opaque red, regardless of their original color. Actually they use a light red to dark red gradient based on point elevation, but in most cases it is barely noticeable.In practice this simplistic approach actually works pretty well.

Problems start to arise when you have large areas selected. Unlike unselected points, selected points don't receive any lighting based on their normals so they look flat and it becomes difficult to identify the 3D nature of the surface they are representing. I'm not sure why they don't light the selected points as it seems like doing so would be a big improvement.

The other time the solid color approach doesn't work well is when a synthetic color scheme, e.g. rainbow color map, is applied to the points resulting in some of the unselected points having the same color as selected points. Although this does cause issues on occasion, in practice, I've found it to be less of a problem than you might think. One way to avoid it though would be to invert the original color of the selected points so you are pretty much guaranteed sufficient contrast with their neighbors. This would also follow the convention used for highlighting text in most applications. The color inversion would probably need to happen before any lighting of the points, otherwise the shadows and highlights would also be inverted and that might be a little visually disturbing.
daniel wrote:And for the inside/outside thing, it came in fact from a study (can't remember where I read this, it was a long time ago ;) that showed that it all depends on the user: some people like to think by keeping points 'inside' but some will simply be more comfortable with the opposite way of thinking. Whether it's true or not is another story ;).
Interesting, thinking about this for myself, I think I switch back and forth depending on context. I tend to start by narrowing down my work area by iteratively excluding "outside" points. Once I have my work area defined though I tend to think more in terms of "this point IS a pedestrian" rather than "this point IS NOT a pedestrian". It's definitely not a hard distinction though and I will still do a IS NOT segmentation if that seems to make more sense.
Jed
PablerasBCN
Posts: 296
Joined: Sat Jan 20, 2018 1:57 pm

Re: [request]Point Cloud Cleanup

Post by PablerasBCN »

I miss a tool in segmentatio npanel similar to one in Microstation that selects the triangels/poligons by intersection. So in top view you trace a line and poligons intersecting that line get selected and you can delete theese. At this moment after meshing a mobile lidar cloud I've some gigantic triangles that I would like to delete and are difficult to get rid becaue they must fall within the poligon as it is right now.

Edit:
1) Intersection could also be an option for actual poligo tool without the need of ading line.
2) Max triangle lengh when meshing solves too big triangle issues.
Post Reply