This project was conducted in collaboration with Autoliv to automate the labeling process of side-view car windows using image segmentation
-
It is recommended to use a Python virtual environment (venv) for libraries and packages
- To create a venv with necessary libraries and packages, run the following file:
/src/installation_setup.py
-
Create two empty folders in the root:
- checkpoints
- data
-
Add into checkpoints/ folder the models' checkpoint provided OneDrive
-
If you want to train the models (U-Net & YOLOv11) please download the images and labels from the GP22 dataset containing 1,480 pictures of cars with corresponding feature labels
(If you want to train the models, you need to first run the preprocess notebook
)
The following notebook contains the necessary steps to prepare the dataset for training. Steps included: Removing background
, Flipping cars
, Scaling cars
, Data augmentation
preprocessing
yolo_train_and_predict
- train the YOLO model and/or predict with the trained modelunet_train_and_predict
- train the U-Net model and/or predict with the trained model
output_in_cad
- will convert predicted masks to CAD format (.DXF)
The following notebooks are designed to evaluate the performance of both models using a set of 100 images and will find the best and worst prediction in the set.
-
evaluate_yolo
-
evaluate_unet
-
Metrics used:
-
Mean Hausdorff Distance
Mean IoU
Mean Dice
Mean Precision
Mean Recall
Mean MAE
Mean F1-Score