Computer vision has many applications when working with floor plan data. For example, you can train a model to analyze construction blueprints and identify the electrical requirements in a given plan. You can also train a model to track layout trends of residential floor plans to be used in tandem with market data. Whatever your use case may be, floor plan images can be highly detailed and require intricate annotations to properly label.

When labeling floor plan data there are several considerations to keep in mind, from labeling occluded images to properly managing your ontology. In this guide, we are going to discuss how to label floor plan data to curate a high quality dataset that we can use in training a computer vision model. With that, let’s get started!

Label with tight bounding boxes

Computer vision models are built to recognize patterns of pixels corresponding to the objects we have trained them on. With floor plan data, it is critical that we tightly label the objects of interest so that we teach the computer vision model to recognize the precise pixels that we are working with. When labeling windows for example, it is crucial that the annotation begin right when the wall ends and that no pixels from the walls are included in the window annotations.

Label any occluded objects

It is a best practice to label objects when they are occluded as if they were fully visible. Objects are considered occluded when they are partially blocked by another object or out of view. In this example, we want to label the full dimensions of the chairs, even if they are covered by the conference table. 

Use appropriate class names

If you are looking to capture multiple attributes of an object, the naming convention of your classes will play a key role in making your data usable.

For example, let’s say you are labeling king sized beds as bed_king and queen sized beds as bed_queen. These classes will allow us to train a model to identify beds that are king sized and queen sized.

However, if you just want to train a model to identify beds irrespective of their size, you can merge the classes via the preprocessing step Modify Classes to override both classes names to bed.

Ensure your training data is similar to the data you will be capturing in deployment

For a computer vision model to perform well in production, it must be used on visual inputs similar to the data it was trained on. For example, if you are planning on deploying a model to capture office building floor plans but the model was trained on residential floor plans, the model will not perform as well as it could.

For additional considerations when annotating computer vision data more broadly, explore our guide on labeling best practices

Curate Datasets with Roboflow’s Professional Labelers

Through Roboflow’s Outsource Labeling service, you can work directly with professional labelers to annotate projects of all sizes. Roboflow manages workforces of experts who are trained in using Roboflow’s platform to curate datasets faster and cheaper. 

The first step in getting started with Outsource Labeling is to fill out the intake form with your project’s details and requirements. From there, you will be connected with a team of labelers to directly work with on your labeling project(s).

When working with professional labelers, clearly documenting your instructions is an essential part of the process. We often see that the most successful labeling projects are the ones in which well documented instructions are provided upfront, a period of initial feedback takes place with the labelers regarding an initial batch of images, and then the labeling volume is significantly ramped up. Read our guide to writing labeling instructions for more information about how to write informative instructions.

As part of the Outsource Labeling service, you will also be working with a member of the Roboflow team to help guide your labeling strategy and project management to ensure you are curating the highest quality dataset possible.