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
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Decizez/yolov-corrosion-detection

Base model

Ultralytics/YOLO11
Finetuned
(121)
this model