Update README.md
Browse files
README.md
CHANGED
|
@@ -5,6 +5,8 @@ By Dylan Dang
|
|
| 5 |
|
| 6 |
This project uses a **YOLOv11 object detection model** to identify bike lane infrastructure and related objects in urban street images.
|
| 7 |
|
|
|
|
|
|
|
| 8 |
The model detects features such as bike lane markings, shared lanes, cyclists, and vehicles using bounding boxes and class labels. It was fine-tuned from a pre-trained model rather than trained from scratch, which allows it to perform reasonably well even with a small dataset.
|
| 9 |
|
| 10 |
The goal of this project was not only to train a model, but to understand how dataset quality and structure affect performance in real-world computer vision tasks.
|
|
@@ -51,6 +53,7 @@ This dataset shows **strong class imbalance**, where some classes appear very fr
|
|
| 51 |
### Annotation Process
|
| 52 |
|
| 53 |
The dataset included pre-existing YOLO-format bounding box annotations.
|
|
|
|
| 54 |
|
| 55 |
I reviewed a subset of images to validate annotation quality, focusing on:
|
| 56 |
- alignment of bounding boxes
|
|
@@ -92,7 +95,8 @@ Default YOLO augmentations were applied during training:
|
|
| 92 |
|
| 93 |
The model was trained using the **Ultralytics YOLOv11 framework** in Google Colab.
|
| 94 |
|
| 95 |
-
Training
|
|
|
|
| 96 |
|
| 97 |
**Training Details:**
|
| 98 |
- Framework: YOLOv11 (Ultralytics)
|
|
@@ -117,6 +121,8 @@ This means:
|
|
| 117 |
- The model is usually correct when it makes predictions
|
| 118 |
- But it misses many objects, especially harder or less frequent ones
|
| 119 |
|
|
|
|
|
|
|
| 120 |
---
|
| 121 |
|
| 122 |
### Example Predictions
|
|
|
|
| 5 |
|
| 6 |
This project uses a **YOLOv11 object detection model** to identify bike lane infrastructure and related objects in urban street images.
|
| 7 |
|
| 8 |
+
YOLOv11 was chosen for its balance of speed and accuracy in real-time object detection tasks.
|
| 9 |
+
|
| 10 |
The model detects features such as bike lane markings, shared lanes, cyclists, and vehicles using bounding boxes and class labels. It was fine-tuned from a pre-trained model rather than trained from scratch, which allows it to perform reasonably well even with a small dataset.
|
| 11 |
|
| 12 |
The goal of this project was not only to train a model, but to understand how dataset quality and structure affect performance in real-world computer vision tasks.
|
|
|
|
| 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 (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
|
|
|
|
| 95 |
|
| 96 |
The model was trained using the **Ultralytics YOLOv11 framework** in Google Colab.
|
| 97 |
|
| 98 |
+
Training was performed in Google Colab using an RTX 3070. Training took approximately 5-10 minutes.
|
| 99 |
+
|
| 100 |
|
| 101 |
**Training Details:**
|
| 102 |
- Framework: YOLOv11 (Ultralytics)
|
|
|
|
| 121 |
- The model is usually correct when it makes predictions
|
| 122 |
- But 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 |
+
|
| 126 |
---
|
| 127 |
|
| 128 |
### Example Predictions
|