Hi guys,
I am new to Python and AI Visualization. I am running a project, to identify & annotate different window types. But I have a problem. The scenario is:
There are window types named: Awning window and Fix window. There is also a window frame contains both Awning window and Fix window. Let’s name it Combined window. The problem is when I run workflow to annotate these three types, those three types are overlapping. The question is how to annotate these three types using the format:
• Awning → Awning
• Fix → Fix
• Combined → Awning + Fix (All types in the frame and connect them with +), but not showing Awning and Fix.
This is current result and what I wanted:
How can I realize this in Roboflow? If it is not possible, can anyone help compose a Python snippet please?
Any help will be appreciated 
Regards,
Ivy
Hey! Interesting problem you have there! I’ll throw a couple thoughts out, but also if you are able to share a link to your dataset with annotations that might help people better troubleshoot.
So first off are some dataset/model adjustments. One thing to check - be sure the annotations for a combined window are only that. That is, you have not also labeled the awning and fix portions of that combined window. If they overlap in the data, the model will overlap them when detecting.
You also want to make sure you have a large enough data set so each class can be properly recognized (augmentations can help here as well.) That way it sees awning or fix as standalone.
And then another thing to try when it comes to the model - bounding boxes for awning and fix windows that are NOT tight to the object. Normally you want a tight bounding box, but in your sample image it appears an awning or fix window might always be standalone and not touching other lines. If that holds, then capturing white space around those two might help it ignore them in the combined situation.
If those model ideas are not helpful or it’s not practical to make those adjustments to the annotations or model, your next step would likely be python code finding IoU (Intersection over Union) for the first two classes and Combined. That is, you pick a threshold like 80% and if that much of the awning overlaps with a Combined detection, you ignore the awning detection (and same with fix).
Share your thoughts on all that and we’ll see what else people can offer up (including maybe some Python code.)
1 Like
Thank you very much for your suggestions. I’ll follow your advice:
- Prepare a larger dataset for training — I currently have fewer than 100 images, which is not sufficient.
- Ensure there is white space around each window type, rather than using tight bounding boxes.
- Avoid labeling individual sections of combination windows (which I’ve already been doing
).
Once I’ve implemented steps 1–3, I’ll proceed with testing the Python code for the project.
I’m still working on gathering enough architectural drawings to build the dataset. I’ll share an update if I continue to encounter issues.
Thanks again for your help!
1 Like