Skip to main content
Back to case studies Confidential client

Dent detection on vehicles with machine vision

Computer vision for dent detection with 92% detection precision. Confidential client, in production; demo built on a public dataset.

Computer Vision Machine vision Python PyTorch Insurance Automotive
92%
Detection precision
64.2%
Public test recall
74.5%
Public test precision
224
Real test photos
Confidential client - Project overview

A computer vision project developed by Soamee for an industrial client, now in production on assembly lines with real machinery. A confidentiality agreement prevents us from naming the client.

In production, and the public demo

What you see on this page is a replica: we trained and evaluated it on a public dataset. The screens, images and metrics below come from that dataset. The client’s system runs in production on assembly lines and, under the confidentiality agreement, we cannot show anything from it.

The project achieves 92% detection precision, and recognition in the project’s own tests is also around 90%. These figures relate to the project, not the public benchmark reproduced in the demo; it does not measure the proportion of dents found (recall).

One possible setup is a bodywork inspection station with a conveyor, industrial cameras and controlled LED lighting. This is an example of compatible machinery, not an identification of the client’s equipment.

The images come from the Minor Dent Detection Dataset, published by M. D. Z. Baig and M. Kamal under CC BY 4.0: 2,241 photos of dents taken by the authors in workshops, car parks and streets, mostly hail damage.

The challenge

Checking a car’s bodywork happens thousands of times a day: an insurance adjuster, a rental car coming back, a used car being valued. Almost always a person looks at the car or at a few photos, and small dents are the ones that slip through, because they barely change the reflection on the panel.

The system’s goal is to locate every dent in a photo and mark it with a box, so the reviewer goes straight to the damage and misses none.

How we solved it

Object detector

We started from a Faster R-CNN with MobileNetV3, originally trained on the COCO dataset, and fine-tuned it with 1,564 dent photos. Another 449 are used to pick the best version and the confidence threshold. The authors’ 224 test photos are not used until the final evaluation.

Several passes per photo

A small dent can go unnoticed in one reading and show up in another. So each photo is analysed twice, as is and flipped, and the boxes from both passes are merged. This step alone, with no retraining, raises test AP50 from 0.60 to 0.64 and F1 from 0.64 to 0.69.

Comparison with reality

In the inspector each photo carries two marks: dashed, the dent the dataset authors marked; solid, the one the model detected, with its confidence. You can see at a glance when it gets it right, when it misses something and when it sees damage that isn’t there. The dashboard is a full claims app over the 224 test photos: an overview with what to review first, the inspection list with filters and search, the detail of each photo, the model’s performance curve and a sensitivity setting that recalculates every screen. At sensitivity 0.20 it finds 69.7% of dents at 58.6% precision; at 0.90, 34.7% at 85.7%.

Inspection detail

Inspection list with filters

Model precision-recall curve

Architecture

Architecture of the dent detection system

Public benchmark results

Evaluated on the authors’ 224 test photos, with 346 dents. A detection counts as correct if it overlaps the marked dent by at least 50%:

MetricTest
Dents found (recall)64.2% (222 of 346)
Correct among marked (precision)74.5% (76 false alarms)
AP500.64
Time per photo86 ms on a laptop

Size makes the difference:

Dent sizeFound
Large (over 200 px)66 of 79 (83.5%)
Medium (100 to 200 px)92 of 135 (68.1%)
Small (under 100 px)64 of 132 (48.5%)

Large and medium dents it finds comfortably. Small ones, especially hail dents in areas with reflections, are the weak spot: it misses one in two. It is a well-known detection problem with two clear fixes: photos with more resolution or taken closer to the panel, and a bigger model trained on a GPU. The demo model was trained on a laptop.

Before taking it to another environment

  • Photos from the real use case: an adjuster’s phone photos look nothing like those from an inspection booth with controlled lighting. The model is tuned on the photos it will see.
  • More damage types: scratches, broken lights and glass, chipped paint. Each needs its own labelled examples.
  • Integration: with the claims app, the fleet management system or the tool that prices the repair.

Tech stack

ComponentTechnology
DetectionPyTorch, fine-tuned Faster R-CNN MobileNetV3-FPN
Several passesOriginal and flipped photo, weighted box fusion
EvaluationAuthors’ test photos, unused in training
DashboardStatic HTML, Chart.js

Photos: Minor Dent Detection Dataset, M. D. Z. Baig and M. Kamal (2025), doi:10.5281/zenodo.16934368, CC BY 4.0.

Methodology

How we work

Every project follows our artisan process, adapted to each client's specific needs.

01

Discovery & Requirements

Deep dive into business, users and objectives. Ideation workshops, market research and MVP scope definition.

02

Design & Architecture

Wireframes, interactive prototypes and technical architecture. Client validation before writing code.

03

Development & Testing

2-week sprints with demos. CI/CD, code review and continuous testing. Feedback every iteration.

04

Delivery & Evolution

Production deploy, monitoring and support. Post-launch metrics and continuous improvement roadmap.

Ready to build something amazing?

Let's talk about how we can help your company achieve results like these.

Machine vision for car dent detection

Tell us your challenge. We'll propose a solution.

No commitment. We reply within 24 hours, and within 48 hours you have a proposal with scope, timeline and budget. No fine print.

Book a free call →