Submitted by EducationalLayer1051 t3_10fhgk7 in MachineLearning

I need to figure out a way to automatically create a 2D one-line drawing given a point cloud of a building.

I figure this is the rough workflow of that operation, but I need to define this workflow with a much higher resolution to acquire the right tools and talent for the project. Is this a suitable application for Machine Learning?

If you have any insight or ideas to share that would be very much appreciated, thanks!

https://preview.redd.it/4hv1ba5h0vca1.png?width=2160&format=png&auto=webp&v=enabled&s=623d97c0ab41f43cf76603a4a63305bf81939932

3

Comments

You must log in or register to comment.

londons_explorer t1_j4xknrt wrote

If you want to make the assumption that most buildings don't have any curves in their roofs...

Then take your point cloud, extract the largest polygons... There are classical algorithms for such things.

From the polygons, turning that into a plan should be quite straightforward.

While ML could be applied... I think you'll get better results quicker with classical methods.

3

Pavarottiy t1_j4yf6x8 wrote

Hough Transform would work fine in this given case. It is based on setting up a hypothesis and evaluating the points in a voting scheme.

After lines are acquired, one can project on a 2d image from a given viewpoint.

You can check this repo which also provides visualization: https://github.com/cdalitz/hough-3d-lines

2

EducationalLayer1051 OP t1_j5ltl0x wrote

I found a paper from the Lawrence Berkeley national laboratory referencing Hough Transform a few weeks ago! That led me to the same conclusion about projecting that geometry. But their example was a flat-roof commercial building so it only outlined the building. Based on what you know, do you think this method would be a good fit for typical residential roofs like the one I illustrated above? Thanks so much!

1

Pavarottiy t1_j5mhsjq wrote

Yes, it is a general line detection method, so any point cloud input with lines in it can be inputted. For 3d scans, point clouds have some sensor noise and a robust implementation/version of this method would be better suited. But in case of a perfect cad model like the example, even the one that I provided in my prev comment should work fine. Do you only want to detect lines, or planes and lines? For planes, there are plane fitting approaches and then, one can find intersection of planes (as an alternative to Hough).

1