Instructions to use vineetsarpal/yolov11n-car-damage with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use vineetsarpal/yolov11n-car-damage with ultralytics:
from ultralytics import YOLOvv11 model = YOLOvv11.from_pretrained("vineetsarpal/yolov11n-car-damage") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
Upload folder using huggingface_hub
Browse files- .gitattributes +2 -0
- README.md +123 -3
- args.yaml +106 -0
- best.pt +3 -0
- confusion_matrix_normalized.png +3 -0
- results.png +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
confusion_matrix_normalized.png filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
results.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -1,3 +1,123 @@
|
|
| 1 |
-
---
|
| 2 |
-
license: apache-2.0
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
tags:
|
| 4 |
+
- object-detection
|
| 5 |
+
- ultralytics
|
| 6 |
+
- yolov11
|
| 7 |
+
- computer-vision
|
| 8 |
+
- car-damage
|
| 9 |
+
model_index:
|
| 10 |
+
- name: YOLOv11-Nano for Automobile Damage Detection
|
| 11 |
+
results:
|
| 12 |
+
- task:
|
| 13 |
+
type: object-detection
|
| 14 |
+
dataset:
|
| 15 |
+
type: Car-Damage-Detection
|
| 16 |
+
name: Roboflow Automobile Damage Detection Dataset
|
| 17 |
+
metrics:
|
| 18 |
+
- type: mAP@50
|
| 19 |
+
value: 0.797
|
| 20 |
+
name: mAP@50
|
| 21 |
+
- type: mAP@50-95
|
| 22 |
+
value: 0.552
|
| 23 |
+
name: mAP@50-95
|
| 24 |
+
---
|
| 25 |
+
|
| 26 |
+
# YOLOv11-Nano for Automobile Damage Detection
|
| 27 |
+
|
| 28 |
+
This repository contains a **YOLOv11-Nano** model fine-tuned for automated detection and classification of vehicular damage. This model is part of the **"Fender Bender AI"** project, aimed at reducing subjectivity in insurance claims and providing immediate repair estimates.
|
| 29 |
+
|
| 30 |
+
## Model Description
|
| 31 |
+
|
| 32 |
+
This model is a YOLOv11-Nano (the smallest variant of YOLOv11) trained to detect 14 distinct categories of car damage, including dents, scratches, and broken parts (e.g., headlights, windscreens). The nano variant was chosen for its balance of computational efficiency and detection accuracy, making it suitable for deployment in resource-constrained environments or for high-speed inference.
|
| 33 |
+
|
| 34 |
+
## Dataset
|
| 35 |
+
|
| 36 |
+
The model was trained on the [Automobile Damage Detection Dataset](https://universe.roboflow.com/automobile-damage-detection/automobile-damage-detection) from Roboflow Universe. This dataset comprises approximately 6,900 images annotated with bounding boxes for 14 damage categories.
|
| 37 |
+
|
| 38 |
+
### Damage Categories:
|
| 39 |
+
- `Front-windscreen-damage`
|
| 40 |
+
- `Headlight-damage`
|
| 41 |
+
- `Rear-windscreen-Damage`
|
| 42 |
+
- `Runningboard-Damage`
|
| 43 |
+
- `Sidemirror-Damage`
|
| 44 |
+
- `Taillight-Damage`
|
| 45 |
+
- `bonnet-dent`
|
| 46 |
+
- `boot-dent`
|
| 47 |
+
- `doorouter-dent`
|
| 48 |
+
- `fender-dent`
|
| 49 |
+
- `front-bumper-dent`
|
| 50 |
+
- `quaterpanel-dent`
|
| 51 |
+
- `rear-bumper-dent`
|
| 52 |
+
- `roof-dent`
|
| 53 |
+
|
| 54 |
+
## Training Procedure
|
| 55 |
+
|
| 56 |
+
- **Architecture:** YOLOv11-Nano
|
| 57 |
+
- **Input Image Size:** 640x640 pixels
|
| 58 |
+
- **Epochs:** 50
|
| 59 |
+
- **Batch Size:** 16
|
| 60 |
+
- **Device:** GPU (CUDA)
|
| 61 |
+
- **Framework:** `ultralytics`
|
| 62 |
+
- **Early Stopping:** Patience of 10 epochs
|
| 63 |
+
- **Data Augmentation:** Automatic augmentation (Mosaic, HSV manipulation, flipping) was applied during training.
|
| 64 |
+
|
| 65 |
+
## Evaluation Results
|
| 66 |
+
|
| 67 |
+
The model was evaluated on a validation set and achieved the following key metrics:
|
| 68 |
+
|
| 69 |
+
- **mAP@50:** 0.797
|
| 70 |
+
- **mAP@50-95:** 0.552
|
| 71 |
+
|
| 72 |
+
### Per-Class Performance:
|
| 73 |
+
- **Strong Performing Classes:**
|
| 74 |
+
- `Sidemirror-Damage`: 0.777 mAP@50-95
|
| 75 |
+
- `Rear-windscreen-Damage`: 0.726 mAP@50-95
|
| 76 |
+
- `front-bumper-dent`: 0.578 mAP@50-95
|
| 77 |
+
- **Underperforming Classes:**
|
| 78 |
+
- `boot-dent`: 0.190 (Outlier indicating potential issues with data representation or visual distinctiveness.)
|
| 79 |
+
- `Runningboard-Damage`: 0.400
|
| 80 |
+
- `fender-dent`: 0.472
|
| 81 |
+
|
| 82 |
+
For more detailed metrics and visualizations, please refer to the `results.png` and `confusion_matrix_normalized.png` files included in the repository.
|
| 83 |
+
|
| 84 |
+
### Confusion Matrix
|
| 85 |
+

|
| 86 |
+
|
| 87 |
+
## 🚀 How to Use
|
| 88 |
+
|
| 89 |
+
Yes, once uploaded to Hugging Face, you can load the model directly using the Hub ID.
|
| 90 |
+
|
| 91 |
+
### Load the model
|
| 92 |
+
|
| 93 |
+
```python
|
| 94 |
+
from ultralytics import YOLO
|
| 95 |
+
|
| 96 |
+
# Load directly from Hugging Face Hub
|
| 97 |
+
model = YOLO("vineetsarpal/yolov11n-car-damage")
|
| 98 |
+
```
|
| 99 |
+
|
| 100 |
+
### Make Predictions
|
| 101 |
+
|
| 102 |
+
```python
|
| 103 |
+
# Run inference on an image
|
| 104 |
+
results = model("path/to/your/image.jpg")
|
| 105 |
+
|
| 106 |
+
# Show results
|
| 107 |
+
for r in results:
|
| 108 |
+
r.show()
|
| 109 |
+
|
| 110 |
+
# Save results
|
| 111 |
+
for r in results:
|
| 112 |
+
r.save(filename="result.jpg")
|
| 113 |
+
```
|
| 114 |
+
|
| 115 |
+
## Limitations and Future Work
|
| 116 |
+
|
| 117 |
+
- **`boot-dent` performance:** The model struggles significantly with `boot-dent` detection. Future work should focus on enriching the dataset with more diverse `boot-dent` examples.
|
| 118 |
+
- **Generalization:** Further testing on a wider range of vehicle types and lighting conditions is needed for robust real-world performance.
|
| 119 |
+
|
| 120 |
+
## Acknowledgements
|
| 121 |
+
|
| 122 |
+
- [Roboflow](https://roboflow.com/) for hosting the dataset.
|
| 123 |
+
- [Ultralytics](https://ultralytics.com/) for the YOLO framework.
|
args.yaml
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
task: detect
|
| 2 |
+
mode: train
|
| 3 |
+
model: yolo11n.pt
|
| 4 |
+
data: /content/Automobile-Damage-Detection-4/data.yaml
|
| 5 |
+
epochs: 50
|
| 6 |
+
time: null
|
| 7 |
+
patience: 10
|
| 8 |
+
batch: 16
|
| 9 |
+
imgsz: 640
|
| 10 |
+
save: true
|
| 11 |
+
save_period: -1
|
| 12 |
+
cache: false
|
| 13 |
+
device: '0'
|
| 14 |
+
workers: 8
|
| 15 |
+
project: CarDamageResearch
|
| 16 |
+
name: v11_nano_base
|
| 17 |
+
exist_ok: false
|
| 18 |
+
pretrained: true
|
| 19 |
+
optimizer: auto
|
| 20 |
+
verbose: true
|
| 21 |
+
seed: 0
|
| 22 |
+
deterministic: true
|
| 23 |
+
single_cls: false
|
| 24 |
+
rect: false
|
| 25 |
+
cos_lr: false
|
| 26 |
+
close_mosaic: 10
|
| 27 |
+
resume: false
|
| 28 |
+
amp: true
|
| 29 |
+
fraction: 1.0
|
| 30 |
+
profile: false
|
| 31 |
+
freeze: null
|
| 32 |
+
multi_scale: false
|
| 33 |
+
compile: false
|
| 34 |
+
overlap_mask: true
|
| 35 |
+
mask_ratio: 4
|
| 36 |
+
dropout: 0.0
|
| 37 |
+
val: true
|
| 38 |
+
split: val
|
| 39 |
+
save_json: false
|
| 40 |
+
conf: null
|
| 41 |
+
iou: 0.7
|
| 42 |
+
max_det: 300
|
| 43 |
+
half: false
|
| 44 |
+
dnn: false
|
| 45 |
+
plots: true
|
| 46 |
+
source: null
|
| 47 |
+
vid_stride: 1
|
| 48 |
+
stream_buffer: false
|
| 49 |
+
visualize: false
|
| 50 |
+
augment: false
|
| 51 |
+
agnostic_nms: false
|
| 52 |
+
classes: null
|
| 53 |
+
retina_masks: false
|
| 54 |
+
embed: null
|
| 55 |
+
show: false
|
| 56 |
+
save_frames: false
|
| 57 |
+
save_txt: false
|
| 58 |
+
save_conf: false
|
| 59 |
+
save_crop: false
|
| 60 |
+
show_labels: true
|
| 61 |
+
show_conf: true
|
| 62 |
+
show_boxes: true
|
| 63 |
+
line_width: null
|
| 64 |
+
format: torchscript
|
| 65 |
+
keras: false
|
| 66 |
+
optimize: false
|
| 67 |
+
int8: false
|
| 68 |
+
dynamic: false
|
| 69 |
+
simplify: true
|
| 70 |
+
opset: null
|
| 71 |
+
workspace: null
|
| 72 |
+
nms: false
|
| 73 |
+
lr0: 0.01
|
| 74 |
+
lrf: 0.01
|
| 75 |
+
momentum: 0.937
|
| 76 |
+
weight_decay: 0.0005
|
| 77 |
+
warmup_epochs: 3.0
|
| 78 |
+
warmup_momentum: 0.8
|
| 79 |
+
warmup_bias_lr: 0.1
|
| 80 |
+
box: 7.5
|
| 81 |
+
cls: 0.5
|
| 82 |
+
dfl: 1.5
|
| 83 |
+
pose: 12.0
|
| 84 |
+
kobj: 1.0
|
| 85 |
+
nbs: 64
|
| 86 |
+
hsv_h: 0.015
|
| 87 |
+
hsv_s: 0.7
|
| 88 |
+
hsv_v: 0.4
|
| 89 |
+
degrees: 0.0
|
| 90 |
+
translate: 0.1
|
| 91 |
+
scale: 0.5
|
| 92 |
+
shear: 0.0
|
| 93 |
+
perspective: 0.0
|
| 94 |
+
flipud: 0.0
|
| 95 |
+
fliplr: 0.5
|
| 96 |
+
bgr: 0.0
|
| 97 |
+
mosaic: 1.0
|
| 98 |
+
mixup: 0.0
|
| 99 |
+
cutmix: 0.0
|
| 100 |
+
copy_paste: 0.0
|
| 101 |
+
copy_paste_mode: flip
|
| 102 |
+
auto_augment: randaugment
|
| 103 |
+
erasing: 0.4
|
| 104 |
+
cfg: null
|
| 105 |
+
tracker: botsort.yaml
|
| 106 |
+
save_dir: /content/CarDamageResearch/v11_nano_base
|
best.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cf3e55e63fd4564f68f78782be4e2608d26054753ba90762ab101dd22cdec962
|
| 3 |
+
size 5476762
|
confusion_matrix_normalized.png
ADDED
|
Git LFS Details
|
results.png
ADDED
|
Git LFS Details
|