Skip to main content

Defect detection on photos

The defect-detection model scans field photos and returns bounding boxes around detected defects: cracks, corrosion, exposed rebar, vegetation encroachment, surface damage. It runs on YOLOv8n, ONNX-exported, in the local AI worker (no cloud GPU required for this model).

Current accuracy: mAP50 0.541 on a mixed field-photo corpus. Tier: Live for the cracks / corrosion / vegetation classes.

Run defect detection on a survey

  1. Open the survey containing the photos.
  2. Click the Defects tab.
  3. Click Run defect detection.
  4. The estimated credit cost appears (1 credit per ~10 MP of imagery). Confirm.

The job runs asynchronously. When complete, the photos in the survey show coloured boxes around detected defects.

Run on a single photo

If you only want to test one photo:

  1. Open the photo in the survey viewer.
  2. Click the AI icon.
  3. Pick Detect defects.
  4. Confirm credit cost.

Results appear inline on the photo.

Read the result

Each detection has:

  • A class label (crack / corrosion / vegetation / etc.).
  • A confidence score between 0 and 1 (the model's certainty).
  • A bounding box drawn on the photo.

Hover any box for class + confidence. Click a box to open the detection in the detail pane.

By default, the viewer shows detections with confidence ≥ 0.4. Use the Confidence threshold slider to show more or fewer.

Accept or reject a detection

Each detection in the detail pane has Accept / Reject controls:

  • Accept: marks the detection as correct. Optionally promote it to a feature in your asset register (creates a row in the relevant feature class, e.g. a "bridge defect" feature with the photo and coordinates attached).
  • Reject: marks the detection as a false positive. Optionally add a one-line reason ("not a crack — it's a paint line").

Accept / reject feedback is logged per-detection. After enough feedback accumulates, the model fine-tunes on your data and becomes more accurate for your specific assets.

Promote a detection to a work order

If a detection warrants a follow-up inspection or repair:

  1. Open the detection.
  2. Click Create work order.
  3. The work order is pre-populated with the photo, coordinates, and the detection's class + confidence.
  4. Pick assignee, priority, due date.
  5. Click Save.

The work order appears in the assignee's queue.

Limitations

  • The model was trained on outdoor structural assets in temperate climates. Performance on indoor inspections, painted surfaces with deliberate markings, and water-immersed assets is lower.
  • Detection of fine cracks (< 1 mm) depends heavily on photo resolution and lighting. Re-shoot in better conditions if confidence is consistently low.
  • The model does not classify defect severity. Severity is something a human inspector adds in the form attached to the detection.

If your vertical needs a defect class that is not in the current model, talk to us about a fine-tune.

Roadmap

We are working on raising mAP50 from 0.541 to 0.65+ with a larger backbone and more training data. Per-vertical fine-tunes on customer accept / reject feedback are the production path beyond the public-corpus baseline.

What next?