NSF Research Progress Summary - Complex Systems Project 1 (Floor Plans)

Sponsor Organization: the National Science Foundation

Supervising Faculty: Dr. Luis Rocha

Collaborators: Yingnan Ju

1. Complete: Detect Walls from Floor Plans In the image of the floor plan, walls exist as lines. Traditionally, Hough transform  is applied to detect lines from images. There are two main types of Hough transform. Classic Hough and Probabilistic Hough. Here is a simple comparison between these two kinds of Hough Transform:

Classic Hough algorithm gives better result of the lines but it doesn’t give the length of the line. Probabilistic Hough can roughly describe the shape of the wall but it split each wall into too many small pieces. Therefore, we finally applied LSD, a linear-time Line Segment Detector, to get more accurate result as shown also in the table above. The detail of LSD can be found in this paper.

 Project Screenshot: Taken from Pitturi e Pompei : pitture e mosaici

Project Screenshot: Taken from Pitturi e Pompei : pitture e mosaici

2. Completed: Extract Walls from Floor Plans

No matter which method we use to detect walls, there are still many other non-wall elements in the image, like numbers, letters, shadows, and thin lines (stairs, fountains and windows), which will be false positives of walls in the image to lower the accuracy. Therefore, extra processings need to be done to filter these non-wall elements before the wall detection part. The main methods are:

  • Color threshold: filter gray shadows

  • Morphological Dilation and Erosion: filter thin lines

  • Morphological small object removal: filter numbers and letters

 Project Screenshot: Source Images from Pitturi e Pompei : pitture e mosaici

Project Screenshot: Source Images from Pitturi e Pompei : pitture e mosaici

3. Complete: Detect Walls in Floor Plans

 Project Screenshot: Source Images from Pitturi e Pompei : pitture e mosaici

Project Screenshot: Source Images from Pitturi e Pompei : pitture e mosaici

4. Complete: Automatically Extrude Walls

After detection and extraction of walls, we can describe walls with four or five parameters. We export the data of walls to csv file with five necessary columns and other optional columns:

start_x, start_y, end_x, end_y, width, option 1, optional 2, ...

Then the csv file can be imported to other software for further processing. For example, we import the csv file into Unity to build 3D models of walls and then the model can be applied in AR/VR application for a tour to ancient Rome.

 Project Screenshot: Source Images from Pitturi e Pompei : pitture e mosaici

Project Screenshot: Source Images from Pitturi e Pompei : pitture e mosaici