avm_69
avm_69

Reputation: 183

Detect group of points further to the rest

I have a set of points from a laser recognition of a sewer. This sewer has a hole in it.

The main goal is to detect this hole and decide whether it's clean or not. One way to detect it is to find the hole and see if it is a circle (in which case it is clean) or a circle with the upper or bottom side straight (in which case it is dirty).

There may be several solutions to obtain my main goal. I think that detecting this set of points that generate the hole and projecting them could be a good solution. If there is a better approach I would appreciate any suggestion.

I attach two images of the point cloud, which could be of help to understand where is the hole. The first image shows some points at the right. Those points are the ones that the laser detects further inside the hole. In the second image you can see the hole and those points from other perspective.

enter image description here enter image description here

Thank you, Alex.

Upvotes: 2

Views: 272

Answers (1)

user1196549
user1196549

Reputation:

A suggestion (untried): select the points that belong to a single side of the sewer and project them onto the plane of that side to obtain a 2D data set.

Then use the largest empty circle algorithm. If there are no spurious points inside the hole, a large radius will result. (See https://en.wikipedia.org/wiki/Largest_empty_sphere, 2D case.)

Upvotes: 1

Related Questions