Seeking Guidance on Enhancing Door Detection in Architectural Floorplans with Directional Analysis

I am currently working on a challenging project involving the detection of doors in architectural floorplans. While I have successfully implemented a fine-tuned YOLO model for door detection from vectorized drawings in PDF floorplans, I am now faced with the task of determining the direction in which the detected doors open.

To provide a bit more context, my current solution involves leveraging a YOLO model trained specifically for door detection, and it has shown promising results in identifying the location of doors within floorplans. However, I am seeking assistance and insights on incorporating a solution that can accurately determine the direction in which each detected door opens, ideally in the form of a vector.

My first idea was to work with the data inside the PDF. Extracting the drawings in order to find the door arc, determine its center point and this, together with the arc start or end point should form the vector in which the door opens. However, the correct point from the arc may be either of the start or end, the only way of correctly determining it is to find the one that is closest to the door sheet, but in some floorplans, or even in different doors of the same one, the representation of a wall and a door sheet may look very similar and thus the correct point is hard to determine in this way.

My next idea, which I’m working on implementing at the moment, is to make the model learn the door direction alongside the detection. I’m thinking in incorporating a layer or having a separate model that can output the direction of the door using the detected area.

I would be immensely grateful for any insights, resources, or experiences you can share to help me overcome this challenge. If there are specific details or information you need to provide more targeted assistance, please feel free to ask.

Hi @rolurq - thanks for the good question!

My advice is to use a keypoint model here with two keypoints, open-side and close-side. This will make calculation of the vector easy. See attached screenshot.

If that doesn’t work, you might need to try a two-stage model, where you use your current model to detect doors, crop those predictions out, and then use a secondary model to detect the elements needed to determine the open direction (this is essentially “hack your own keypoint model”).

Thanks for your reply! We were considering a similar approach, however we were using a three point system with distinction on which one is on the door or the wall and the center, like the ones highlighted in the diagram.
Would using two points could reduce errors and provide better results?

Hey @rolurq

Just jumping in here to comment that in my opinion, I think the three point approach you suggested might work better, but there’s no definitive way to say unless you try. I imagine both approaches would work fine, but it’s best to experiment.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.