Corrosion & Rust Segmentation Model (YOLOv11 & YOLOv8)
This repository contains AI models trained to detect and segment corrosion on metal surfaces in real-time. These models identify the exact shape and boundaries of the rusted areas (Instance Segmentation) and categorize rust levels.
Additionally, the model is trained to detect specific metal objects such as:
- Cars
- Screws
- Pipes
- Metal Plates
Model Details
The project compares two different YOLO architectures to find the best balance between speed and accuracy. The training logs confirm that YOLOv11 provides superior segmentation accuracy compared to the older YOLOv8 version.
| Model Version | Architecture | Status | Use Case |
|---|---|---|---|
| Basic_YOLO11_v1.pt | YOLOv11-Seg | High Accuracy | High accuracy segmentation. Best performance at Epoch 104. |
| Lite_YOLO8_v1.pt | YOLOv8-Seg | Performance/Legacy | Baseline model for performance comparison. |
Performance Metrics
Models were evaluated on the validation set provided by Roboflow. YOLOv11 achieved a 21% relative improvement in detection accuracy over the baseline.
| Model | mAP@0.5 (Mask) | mAP@0.5-0.95 | Precision | Recall |
|---|---|---|---|---|
| YOLOv11 | 0.56 | 0.38 | 0.49 | 0.60 |
| YOLOv8 | 0.46 | 0.33 | ~0.45 | ~0.55 |
- mAP@0.5 (Mask): The primary metric for segmentation accuracy. YOLOv11 reached 0.56, significantly outperforming YOLOv8 (0.46).
- Segmentation: The models output pixel-level masks for corrosion, allowing for precise area calculation (corrosion percentage).
Usage
You can use these models directly with the Ultralytics library for segmentation:
from ultralytics import YOLO
# Load the best model
model = YOLO("Basic_YOLO11_v1.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Show results
results[0].show()
- Downloads last month
- 67
Model tree for Decizez/yolov-corrosion-detection
Base model
Ultralytics/YOLO11