Ein Computer-Vision-Projekt von Soamee für einen Industriekunden, heute in Produktion an Montagelinien mit realen Maschinen. Eine Vertraulichkeitsvereinbarung verbietet uns, den Kunden zu nennen.
In Produktion und öffentliche Demo
Was diese Seite zeigt, ist ein Nachbau: Wir haben ihn mit einem öffentlichen Datensatz trainiert und ausgewertet. Die Bildschirme, Bilder und Kennzahlen unten stammen daher. Das System des Kunden läuft in Produktion an Montagelinien; wegen der Vertraulichkeitsvereinbarung können wir davon nichts zeigen.
Eine mögliche Konfiguration umfasst Vibrationsförderer, Förderband, Kameras für Kopf und Gewinde und einen SPS-gesteuerten pneumatischen Ausschleuser. Dies ist ein Beispiel für kompatible Maschinen, keine Angabe zu den Geräten des Kunden.
Die Bilder stammen aus dem M2 Screw Defect Detection Dataset, veröffentlicht von R. P. Prastio und R. W. Indrawan (Universität Airlangga) unter CC BY 4.0: 5.536 Fotos von M2-Schrauben, aufgenommen an einer optischen Prüfstation.
Die Herausforderung
In einer Schraubenfertigung wird meist stichprobenartig geprüft: Pro Los werden einige Teile entnommen und von Hand oder mit einer Lehre kontrolliert. Eine M2-Schraube hat zwei Millimeter Durchmesser, und ein Fehler an Gewinde oder Kopf ist ohne Lupe kaum zu sehen.
Der Datensatz fotografiert jede Schraube zweimal: den Kopf von oben vor schwarzem Hintergrund und das Gewinde seitlich im Durchlicht. Jedes Foto ist als OK oder NG (fehlerhaft) markiert. Auf den NG-Fotos sieht man Grate, plattgedrückte Gänge, verformte oder schlecht geprägte Köpfe und Flecken auf dem Metall.
Unser Lösungsansatz
Automatischer Zuschnitt
Im Originalfoto nimmt die Schraube nur einen kleinen Teil des Bildes ein. Verkleinert man das ganze Bild für ein neuronales Netz, verschwindet der Fehler. Deshalb sucht der erste Schritt die Schraube (den hellen Kopf auf schwarzem Grund oder die dunkle Silhouette vor dem Licht) und schneidet ein Quadrat um sie herum aus.
Ein Klassifikator pro Bereich
Wir haben zwei ResNet-18-Netze trainiert, eines für den Kopf und eines für das Gewinde, ausgehend von den öffentlichen ImageNet-Gewichten. Jedes lernt mit 1.700 Fotos und nutzt weitere 300, um während des Trainings die beste Version auszuwählen. Die Testfotos der Autoren (536 Kopf, 1.000 Gewinde) bleiben bis zum Schluss unangetastet.
Wohin das Modell geschaut hat
Ein Netz, das „NG” sagt, ohne zu erklären warum, lässt sich vor einem Qualitätsverantwortlichen schwer vertreten. Für jedes ausgesonderte Teil berechnen wir eine Grad-CAM-Karte, die den Bildbereich hervorhebt, der die Entscheidung am stärksten beeinflusst hat. Das Dashboard markiert ihn mit einem Rahmen. Es ist kein gemessener Fehlerumriss, sondern ein Hinweis für den Bediener, wo er hinschauen soll.

Architektur
Das Modell exportiert pro Charge eine JSON-Datei, die ein statisches Dashboard speist: geprüfte Fotos, ausgesonderte Teile nach Bereich, Modellentscheidungen im Vergleich zum echten Label und die Prüfgalerie, Fehler eingeschlossen.
Ergebnisse des öffentlichen Benchmarks
Bewertet mit den 1.536 Testfotos der Autoren:
| Bereich | Genauigkeit | Erkennt NG | NG-Präzision | Gutteile aussortiert | Fotos |
|---|---|---|---|---|---|
| Kopf | 95,9 % | 95,7 % | 96,4 % | 3,9 % | 536 |
| Gewinde | 91,8 % | 85,6 % | 97,7 % | 2,0 % | 1.000 |
Insgesamt liegt es bei 93,2 % der Fotos richtig und braucht 13 bis 22 ms pro Foto auf einem Laptop ohne GPU.
Der Kopf funktioniert gut: Von 279 fehlerhaften Schrauben rutschen 12 durch, von 257 guten sortiert es 10 aus. Das Gewinde ist schwieriger. Es sortiert sehr wenige gute Schrauben aus (10 von 500), lässt aber 72 von 500 fehlerhaften durch. In einer echten Linie ist das die Zahl, die sinken muss, auch wenn dafür ein paar gute Schrauben mehr aussortiert werden: Entscheidungsschwelle senken, eine zweite Ansicht des Gewindes ergänzen oder die Beleuchtung des Profils verbessern.
Die Prüfgalerie zeigt auch diese Fehler, mit dem echten Label neben dem Urteil des Modells.
Was darauf aufbaut
Das Modell ist der Kern, aber im Werk arbeitet man über Bildschirme damit. Diese drei laufen mit den Ergebnissen der Testcharge.

Bedienerplatz. Das Urteil ist aus zwei Metern lesbar, zusammen mit dem Bereich, auf den das Modell geschaut hat, und seiner Konfidenz. Der Bediener bestätigt den Ausschuss mit einer Taste oder schickt das Teil zur Prüfung, wenn er es für gut hält. Die Qualitätssicherung bekommt einen Hinweis, wenn der Anteil fehlerhafter Teile, die als gut durchgehen, das akzeptable Maß übersteigt, wie die 14,4 % beim Gewinde in dieser Charge.

Prüfung und Nachtraining. Teile mit geringer Konfidenz und Fehler des Modells landen in einer Warteschlange, die die Qualitätssicherung prüft: in dieser Charge 104 Fotos, 82 Gewinde und 22 Kopf. Damit wird eine neue Version trainiert, die die Version in der Linie nur ersetzt, wenn sie im selben Test besser abschneidet.

Qualität nach Bereich. Genauigkeit und Ausschuss für Kopf und Gewinde, die Aufschlüsselung der Modellentscheidungen und die konkreten Fehler zum Nachprüfen. Der nächste Schritt ist, den Ausschuss an die SPS der Linie zu koppeln und NOK-Teile an MES und ERP zu melden. Diese SPS-Anbindung haben wir bereits in einem Projekt in Produktion, das wir aus Vertraulichkeitsgründen nicht veröffentlichen können.
Bevor es in eine andere Umgebung geht
- Fotos aus der Linie des Kunden: mit seiner Kamera, seiner Beleuchtung und seinen Fehlern. Ein Modell, das mit Fotos einer anderen Station trainiert wurde, lässt sich nicht einfach übernehmen.
- Eine mit der Qualitätssicherung abgestimmte Schwelle: was ein fehlerhaftes Teil beim Kunden kostet im Vergleich zu einem aussortierten Gutteil. Daraus ergibt sich der Schnittpunkt.
- Linienintegration: Kameraauslösung synchron zum Förderband und ein Signal an die SPS, um Ausschussteile auszuschleusen.
Wir beginnen immer mit einer Machbarkeitsphase im Werk: einige Wochen lang echte Teile fotografieren, bevor wir uns auf Erkennungsraten festlegen.
Tech-Stack
| Baustein | Technologie |
|---|---|
| Zuschnitt | Python, OpenCV |
| Klassifikation | PyTorch, nachtrainiertes ResNet-18 (Kopf und Gewinde) |
| Erklärung | Grad-CAM |
| Bewertung | Testfotos der Autoren, nicht im Training verwendet |
| Dashboard | Statisches HTML, Chart.js |
Fotos: M2 Screw Defect Detection Dataset, R. P. Prastio und R. W. Indrawan, Universität Airlangga (2026), doi:10.17632/2y6mcsyrpy.2, CC BY 4.0. Für Training und Galerie zugeschnitten.
Wie wir arbeiten
Jedes Projekt folgt unserem handwerklichen Prozess, angepasst an die spezifischen Bedürfnisse jedes Kunden.
Discovery & Anforderungen
Tiefgehende Analyse von Geschäft, Nutzern und Zielen. Ideation-Workshops, Marktforschung und MVP-Umfangsdefinition.
Design & Architektur
Wireframes, interaktive Prototypen und technische Architektur. Kundenvalidierung vor dem Schreiben von Code.
Entwicklung & Testing
2-Wochen-Sprints mit Demos. CI/CD, Code-Review und kontinuierliches Testing. Feedback in jeder Iteration.
Auslieferung & Weiterentwicklung
Produktionsbereitstellung, Monitoring und Support. Post-Launch-Metriken und Roadmap für kontinuierliche Verbesserung.