Typical indoor spaces often contain many flat features such as walls, floors, ceilings, tabletops, etc … as such we developed a basic plane extraction algorithm.

We apply a region growing approach on a single sweep using both point position and normal estimates. To constrain each region to a plane we start with a seed plane estimate that is iteratively updated as new points are added to the region. Points are no longer added to the plane if they exceed specified normal and plane residual thresholds with respect to the seed plane.

Normals Map
Planar Regions Map
Points by Colored by Region
Top Down View

Plane primitives may be useful for a number of tasks from registration between sweeps to refining edge and corner estimates to identifying higher level representations of indoor spaces.