Update README.md
Browse files
README.md
CHANGED
|
@@ -16,7 +16,6 @@ The goal of this project was not only to train a model, but to understand how da
|
|
| 16 |
- Supporting transportation or urban planning research
|
| 17 |
- Analyzing cyclist environments and road conditions
|
| 18 |
|
| 19 |
-
This model is best suited for **research and learning purposes**, not real-world deployment.
|
| 20 |
|
| 21 |
---
|
| 22 |
|
|
@@ -25,6 +24,7 @@ This model is best suited for **research and learning purposes**, not real-world
|
|
| 25 |
### Dataset Source
|
| 26 |
|
| 27 |
Roboflow Universe – Bike Lane Computer Vision Dataset
|
|
|
|
| 28 |
|
| 29 |
---
|
| 30 |
|
|
@@ -53,7 +53,7 @@ This dataset shows **strong class imbalance**, where some classes appear very fr
|
|
| 53 |
### Annotation Process
|
| 54 |
|
| 55 |
The dataset included pre-existing YOLO-format bounding box annotations.
|
| 56 |
-
Although the dataset was pre-annotated, I reviewed samples to check for consistency and quality. I observed that some classes
|
| 57 |
|
| 58 |
I reviewed a subset of images to validate annotation quality, focusing on:
|
| 59 |
- alignment of bounding boxes
|
|
@@ -61,7 +61,7 @@ I reviewed a subset of images to validate annotation quality, focusing on:
|
|
| 61 |
|
| 62 |
No major corrections were made. This allowed me to focus on model training and evaluation, but it also represents a limitation since annotation quality was not significantly improved.
|
| 63 |
|
| 64 |
-
This project therefore emphasizes **evaluation and understanding of model performance** rather than dataset refinement.
|
| 65 |
|
| 66 |
---
|
| 67 |
|
|
@@ -115,13 +115,14 @@ Training was performed in Google Colab using an RTX 3070. Training took approxim
|
|
| 115 |
- Recall: ~0.38
|
| 116 |
- mAP50: ~0.48
|
| 117 |
|
| 118 |
-
|
| 119 |
|
| 120 |
This means:
|
| 121 |
- The model is usually correct when it makes predictions
|
| 122 |
-
-
|
| 123 |
|
| 124 |
Performance varied significantly across classes. Common classes such as "Vehicle" achieved higher precision and recall, while underrepresented classes like "Bicycle" and "Car" performed poorly due to limited training samples.
|
|
|
|
| 125 |
|
| 126 |
---
|
| 127 |
|
|
@@ -145,7 +146,7 @@ The confusion matrix highlights where the model struggles, particularly between
|
|
| 145 |
|
| 146 |

|
| 147 |
|
| 148 |
-
The training curve shows steady learning, but performance plateaus due to dataset limitations.
|
| 149 |
|
| 150 |
---
|
| 151 |
|
|
@@ -155,11 +156,11 @@ The training curve shows steady learning, but performance plateaus due to datase
|
|
| 155 |
|
| 156 |
This image shows two types of errors made by the model.
|
| 157 |
|
| 158 |
-
In the first image, the model incorrectly detects a
|
| 159 |
|
| 160 |
-
The second model identifies a
|
| 161 |
|
| 162 |
-
These errors highlight an important limitation: the model relies heavily on visual similarity rather than deeper contextual understanding.
|
| 163 |
|
| 164 |
---
|
| 165 |
|
|
@@ -208,7 +209,7 @@ The model may perform poorly under:
|
|
| 208 |
|
| 209 |
### Additional Observations
|
| 210 |
|
| 211 |
-
The model sometimes misclassifies lane types
|
| 212 |
|
| 213 |
---
|
| 214 |
|
|
@@ -223,19 +224,19 @@ This model should **not** be used for:
|
|
| 223 |
|
| 224 |
### Sample Size Limitations
|
| 225 |
|
| 226 |
-
Some classes
|
| 227 |
|
| 228 |
---
|
| 229 |
|
| 230 |
## Final Reflection
|
| 231 |
|
| 232 |
-
|
| 233 |
|
| 234 |
Even with a strong model like YOLOv11, issues such as:
|
| 235 |
- class imbalance
|
| 236 |
- small dataset size
|
| 237 |
- annotation limitations
|
| 238 |
|
| 239 |
-
can significantly impact results.
|
| 240 |
|
| 241 |
-
|
|
|
|
| 16 |
- Supporting transportation or urban planning research
|
| 17 |
- Analyzing cyclist environments and road conditions
|
| 18 |
|
|
|
|
| 19 |
|
| 20 |
---
|
| 21 |
|
|
|
|
| 24 |
### Dataset Source
|
| 25 |
|
| 26 |
Roboflow Universe – Bike Lane Computer Vision Dataset
|
| 27 |
+
https://universe.roboflow.com/bike-lane/bike-lane
|
| 28 |
|
| 29 |
---
|
| 30 |
|
|
|
|
| 53 |
### Annotation Process
|
| 54 |
|
| 55 |
The dataset included pre-existing YOLO-format bounding box annotations.
|
| 56 |
+
Although the dataset was pre-annotated, I reviewed samples in order to check for consistency and quality. I observed that some classes such as "car" and "vehicle" overlap conceptually, which may introduce ambiguity during training. No major corrections were made, but this overlap influenced how results were interpreted.
|
| 57 |
|
| 58 |
I reviewed a subset of images to validate annotation quality, focusing on:
|
| 59 |
- alignment of bounding boxes
|
|
|
|
| 61 |
|
| 62 |
No major corrections were made. This allowed me to focus on model training and evaluation, but it also represents a limitation since annotation quality was not significantly improved.
|
| 63 |
|
| 64 |
+
This project therefore, emphasizes **evaluation and understanding of model performance** rather than dataset refinement which is something I wanted in this process.
|
| 65 |
|
| 66 |
---
|
| 67 |
|
|
|
|
| 115 |
- Recall: ~0.38
|
| 116 |
- mAP50: ~0.48
|
| 117 |
|
| 118 |
+
According to the results, these metrics show that the model is **highly precise but has low recall**.
|
| 119 |
|
| 120 |
This means:
|
| 121 |
- The model is usually correct when it makes predictions
|
| 122 |
+
- It misses many objects especially harder or less frequent ones
|
| 123 |
|
| 124 |
Performance varied significantly across classes. Common classes such as "Vehicle" achieved higher precision and recall, while underrepresented classes like "Bicycle" and "Car" performed poorly due to limited training samples.
|
| 125 |
+
This made it so that the performance differences across classes were influenced by class imbalance, with larger classes performing more reliably.
|
| 126 |
|
| 127 |
---
|
| 128 |
|
|
|
|
| 146 |
|
| 147 |

|
| 148 |
|
| 149 |
+
The training curve shows steady learning, but performance plateaus due to the dataset limitations.
|
| 150 |
|
| 151 |
---
|
| 152 |
|
|
|
|
| 156 |
|
| 157 |
This image shows two types of errors made by the model.
|
| 158 |
|
| 159 |
+
In the first image, the model incorrectly detects a vehicle where there is actually part of a building. This is likely because the building has visual features such as rectangular shapes and edges that resemble vehicles in the training data.
|
| 160 |
|
| 161 |
+
The second model identifies a bike lane where the road marking appears to be a bus lane. This suggests that the model has difficulty distinguishing between different types of lane markings, especially when they share similar visual patterns.
|
| 162 |
|
| 163 |
+
These errors highlight an important limitation: the model relies heavily on visual similarity rather than deeper contextual understanding. Since the dataset contains limited variation and strong class imbalance, the model may generalize incorrectly when encountering unfamiliar scenes.
|
| 164 |
|
| 165 |
---
|
| 166 |
|
|
|
|
| 209 |
|
| 210 |
### Additional Observations
|
| 211 |
|
| 212 |
+
The model sometimes misclassifies lane types such as solid vs shared lane, when markings are partially broken or unclear. This suggests the model relies heavily on strong visual patterns.
|
| 213 |
|
| 214 |
---
|
| 215 |
|
|
|
|
| 224 |
|
| 225 |
### Sample Size Limitations
|
| 226 |
|
| 227 |
+
Some classes like bicycles and car have extremely limited training data, making reliable detection difficult. This contributes directly to low recall.
|
| 228 |
|
| 229 |
---
|
| 230 |
|
| 231 |
## Final Reflection
|
| 232 |
|
| 233 |
+
I found that this project demonstrates that model performance is heavily dependent on dataset quality.
|
| 234 |
|
| 235 |
Even with a strong model like YOLOv11, issues such as:
|
| 236 |
- class imbalance
|
| 237 |
- small dataset size
|
| 238 |
- annotation limitations
|
| 239 |
|
| 240 |
+
It can significantly impact results.
|
| 241 |
|
| 242 |
+
In the end this project to me highlights the importance of **data quality, not just model choice**, in computer vision applications.
|