Case Study · Computer vision for Badenova

SewerScan: AI sewer inspection for Badenova

AI-assisted sewer inspection for Badenova: a pretrained YOLO model tested on real inspection data, and a review cockpit with a geo map and Kanban board.

SewerScan dashboard with maintenance priorities, damage class distribution and a map of the findings
Screenshot from the prototype.

STARTING POINT

Problem

Sewer inspection is manual work: a technician reviews every frame of every inspection video, and it can take up to seven days before a critical finding reaches the right desk.

HOW IT WORKS

Solution & architecture

Solution

The model flags, the inspector decides

A pretrained YOLO model walks through the inspection video frame by frame and flags suspects: cracks, joint faults, connections, root intrusion and deposits. The review cockpit shows inspectors only those frames — sorted by urgency, placed on a map, each with a confidence score. Confirming or rejecting is always a human call; the model releases nothing. I built this with two other developers, 143 of the 192 commits are mine.

  • Kanban board with open, confirmed and rejected columns
  • Geo map showing the status of every order
  • Every finding carries its timestamp in the video and a confidence score
SewerScan review board with the Kanban columns open, confirmed and rejected, finding frames and AI confidence

Result

Measured, not estimated

Against manual review we measured a 90 % time saving. Testing ran against held-back images: 138 labelled frames the model had never seen, plus frames with no damage at all — otherwise every model looks good. Two variants adapted to Badenova stayed below the threshold set beforehand and were discarded, so the prototype runs the unchanged base model with cautiously set limits. The jury scored the result 4.4 out of 5.

  • Metrics per damage class, not a single overall score
  • Threshold fixed in advance, not adjusted to the result afterwards
  • Outcome: the unchanged base model, with cautiously set limits

ARCHITECTURE

Check first, then deploy

SewerScan model-development diagram: A pretrained base model is adapted to Badenova through two fine-tune candidates and tested on 138 labelled images plus separate clean and background frames. Both candidates are rejected, so the base model remains in use.
SewerScan operation diagram: AI flags suspect areas in inspection video, the cockpit prioritises findings, and a human confirms or rejects every finding.
Schematic illustration, not a screenshot.

Results

measured time saved on review
90 %measured time saved on review
damage classes detected
5damage classes detected
images in the eval set, negative examples included
138images in the eval set, negative examples included
jury score
4.4/5jury score

EVIDENCE & SCOPE

What is evidenced — and where the claim ends

These four fields separate my contribution, the project context, the measurement basis and the limits of the results.

My contribution
Fullstack and ML development in a team of three. I authored 143 of the repository's 192 commits; the implementation included model integration and the review cockpit with its map, Kanban workflow and human approval step.
Team & context
SewerScan was built with two other developers at the Badenova hackathon and remained a prototype. Badenova hosted the event and supplied the inspection data — that is neither product approval nor an endorsement.
Measurement basis
Evaluation used 138 held-back, labelled images including negative examples. Two adapted variants missed the threshold fixed in advance, so the unchanged base model was used. A 90 % time saving was measured against the tested manual review process; the jury scored the project 4.4/5.
Limitations
These results come from a hackathon prototype and do not evidence production operation. The 90 % applies to the tested review workflow; no general detection rate or transferability to other sewer networks is claimed. Every finding remains under human control.
Christopher Böbel pitching SewerScan at the Badenova hackathon
Pitching at the Badenova hackathon.

BUILT WITH

Tech stack

  • Python
  • PyTorch
  • YOLO
  • FastAPI
  • Next.js

Does this match what you have in mind?

I build systems that are meant to run in production, not just to demo. If that matches what you have in mind, get in touch.

All case studies