AECVision is an object detection project for the construction industry. The main goal is to deliver good models for various problems like:
- Detection elements on plans to allow automatized tasks
- Speed up documentation analysis
- Create tools for future computer vision projects
Now project is base on YOLOv5 repo but in the future I will try other types of model architectures.
- Input image resolution 1280x1280
- Image file .jpg
- For tagging i use Label Studio
- Training model in Google Colab
Name | Classes | Model architecture | Number of training images [original/augmented] |
---|---|---|---|
traine_best | 12 Classes (see train_results/traine_best/labels.jpg) | YOLOv5m6 | 252 / 1204 |
The model was trained on clear plans and with annotation but remember that the best results you get without many symbols on construction plans.
By using screen_detection.py
2023-06-18.13-26-16.mp4
- Collect and tag more images (up to 500)
- Try to use Grayscale than RGB
- Change number of classes (maybe only 3? Wall, Window, Door)
- Evolve hyperparameters to get the best set (in YOLO)
- Use other model architecture (than YOLO)
- Think about switch from .jpg file to .png (avoid converting data lost)
- Think about how to add more "contexts" to the model (like: you are in the kitchen if there are stove and there probably will be table)
Walls are overrepresented because this is normal quantities in architectural plans.
Maybe in future, i need to create more plans with other categories to improve other classes detection.
- A small number of certain classes
- Conversion from pdf (default construction plans format) to jpg results in a loss of image quality
Contributions are always welcome! I look for help in tagging and improving models. Feel free to improve this project.
Thanks, YOLOv5 and Label Studio for your project and tutorials. Special thanks to my brother Marcin who help me with tagging.