Fehlende persönliche Schutzausrüstung erkennen: Ultralytics YOLO mit Construction-PPE trainieren
Sieh dir an, wie Construction-PPE fehlende Helme, Warnwesten und Handschuhe kennzeichnet. Trainiere anschließend Ultralytics YOLO, um fehlende persönliche Schutzausrüstung mit den Kameras auf deiner Baustelle zu erkennen.
Paula Derrenger12 Min. Lesezeit
Damit fehlende persönliche Schutzausrüstung zuverlässig erkannt wird, kennzeichne nur, was die Kamera sehen kann. Im neuen Ultralytics-Datensatz Construction-PPE gilt ein Kopf, der hinter einem Stahlträger verborgen ist, nicht als Kopf ohne Helm. Nur ein tatsächlich sichtbarer Kopf ohne Helm erhält eine no_helmet-Box; ein verdeckter oder außerhalb des Bildausschnitts liegender Kopf erhält überhaupt keine Kennzeichnung für fehlende Ausrüstung.
Wir haben den Datensatz am 3. November 2026 in Ultralytics 8.4.200 veröffentlicht: 1.000 Bilder, 12 Klassen und 14.863 überprüfte Begrenzungsrahmen für Personen, Gabelstapler, Schutzausrüstung und sichtbar fehlende Ausrüstung. Bilder und Annotationen stehen unter der Lizenz CC BY 4.0. Zu den Klassen gehören eine eigene Klasse no_vest und eine Klasse forklift. Das Ultralytics-Team hat die Annotationen überprüft. Dieser Leitfaden beschreibt den Inhalt des Datensatzes, die Regeln zur Kennzeichnung fehlender persönlicher Schutzausrüstung sowie das Training, die Validierung und den Einsatz eines Ultralytics YOLO26-Modells damit.
Construction-PPE ist ein überprüfter Datensatz zur Erkennung persönlicher Schutzausrüstung mit 12 Klassen#
Construction-PPE ist ein eigens erstellter Datensatz zur Objekterkennung auf Baustellen und in Industrieanlagen. Das Ultralytics-Team hat ihn im November 2026 erstellt und als Open Source veröffentlicht. Die Bilder zeigen Baustellen, Werkstätten, Lagerhallen, Ladebereiche und Wartungsarbeiten aus verschiedenen Perspektiven und bei unterschiedlichen Lichtverhältnissen. Sie zeigen außerdem unterschiedliche Anordnungen von Arbeitskräften und den Einsatz von Gabelstaplern. Der Datensatz soll einem Detektor sowohl das Aussehen von Schutzausrüstung als auch deren sichtbares Fehlen vermitteln.
Die wichtigsten Fakten vor dem Training findest du in der Dokumentation zum Datensatz Construction-PPE:
- Umfang: 1.000 Bilder und 14.863 Begrenzungsrahmen in 12 Klassen
- Aufteilung: feste Aufteilung in 800 Trainings- und 200 Validierungsbilder, ohne separaten Testsatz
- Format: Begrenzungsrahmen im Ultralytics-YOLO-Format, direkt trainingsbereit und ohne Konvertierung
- Bilder: von Menschen aufgenommene und generierte Bilder im Quer- und Hochformat sowie im quadratischen Format, mit unterschiedlichen Auflösungen
- Annotation: Expertenannotation durch Menschen in Kombination mit automatischer KI-Annotation, abgeschlossen im November 2026 durch das Ultralytics-Team
- Lizenz: Bilder und Annotationen stehen unter Creative Commons Namensnennung 4.0 International. Die Lizenz erlaubt die kommerzielle Nutzung mit Namensnennung.
Generierte Bilder sind keine Fotografien realer Ereignisse. Deshalb muss jedes Modell, das mit diesem Datensatz trainiert wurde, abschließend anhand von Aufnahmen deiner eigenen Kameras getestet werden.
Du kannst alle Bilder und Annotationen auf der Ultralytics Platform durchsehen, den Datensatz in deinen Arbeitsbereich kopieren oder direkt damit trainieren.

Zu jeder Klasse für Schutzausrüstung gibt es eine passende Klasse für fehlende Ausrüstung#
Die 12 Klassen sind in drei Gruppen unterteilt: fünf Klassen für Ausrüstung, fünf Klassen für fehlende Ausrüstung und zwei Klassen für Personen und Fahrzeuge auf einer Baustelle. Die IDs unten entsprechen den Annotationen und construction-ppe.yaml:
| ID | Klasse | Was mit einem Begrenzungsrahmen markiert wird |
|---|---|---|
| 0 | helmet | Schutzhelm oder Bauhelm |
| 1 | gloves | Arbeitshandschuhe |
| 2 | vest | Warnweste, -jacke oder -hemd |
| 3 | boots | Sicherheitsschuhe oder Schutzstiefel |
| 4 | goggles | Schutzbrille |
| 5 | Person | Person |
| 6 | no_helmet | Sichtbarer Kopf ohne Helm |
| 7 | no_goggle | Sichtbarer Augenbereich ohne Schutzbrille |
| 8 | no_gloves | Sichtbare Hand ohne Handschuh |
| 9 | no_boots | Sichtbarer Fuß oder sichtbarer Schuh ohne Sicherheitsschuhwerk |
| 10 | forklift | Gabelstapler |
| 11 | no_vest | Sichtbarer Oberkörper ohne Warnkleidung |
Zu jeder Ausrüstungsklasse gibt es eine entsprechende Klasse für „fehlende“ Ausrüstung. Durch diese Zuordnung erhält das Modell direkte Beispiele dafür, wie fehlende Ausrüstung aussieht. So kann es einen unbedeckten Kopf oder einen Oberkörper ohne Warnweste als eigene Erkennung markieren, statt dass dein Code das Fehlen anhand eines nicht vorhandenen Begrenzungsrahmens ableiten muss.

Kennzeichnungen für fehlende persönliche Schutzausrüstung beziehen sich auf sichtbare Körperteile, nicht auf Vermutungen#
Klassen für fehlende Ausrüstung brauchen eine genaue Definition. Würden Annotierende jeden Kopf markieren, bei dem sie keinen Helm sehen können – auch Köpfe, die hinter Trägern verborgen oder am Bildrand abgeschnitten sind –, würde das Modell lernen, dass eine Verdeckung selbst einen Verstoß bedeutet.
Construction-PPE wendet für alle fünf Klassen fehlender Ausrüstung dieselbe Regel an: Ein Begrenzungsrahmen für fehlende Ausrüstung markiert den sichtbaren Körperbereich, an dem die Ausrüstung sein sollte. Ein verdecktes oder außerhalb des Bildausschnitts liegendes Körperteil allein belegt nicht, dass Ausrüstung fehlt. Konkret bedeutet das:
- Ein
no_helmet-Begrenzungsrahmen wird um einen sichtbaren Kopf ohne Helm gezogen. - Ein
no_gloves-Begrenzungsrahmen wird um eine sichtbare unbehandschuhte Hand gezogen, nicht um eine Hand, die sich hinter einem Werkzeugkasten befindet. - Ein
no_vest-Begrenzungsrahmen wird um einen sichtbaren Oberkörper ohne Warnkleidung gezogen. - Ein
no_boots-Begrenzungsrahmen wird um einen sichtbaren Fuß oder Schuh gezogen, der kein Sicherheitsschuhwerk ist. - Ein
no_goggle-Begrenzungsrahmen wird um einen sichtbaren Augenbereich ohne Schutzbrille gezogen. - Bei Ausrüstungsklassen wird der sichtbare Gegenstand selbst mit einem Begrenzungsrahmen markiert. Eine Warnweste erhält also einen eigenen Rahmen, ebenso wie die Person, die sie trägt.

Links ist der Kopf der Arbeitskraft hinter der getragenen Sperrholzplatte verborgen. Deshalb sagen die Kennzeichnungen nichts darüber aus, ob ein Helm getragen wird. Rechts erhalten ein sichtbarer unbedeckter Kopf und ein sichtbarer Oberkörper ohne Warnkleidung jeweils einen Begrenzungsrahmen für fehlende Ausrüstung.
Das ist auch über diesen Datensatz hinaus für die Datenkennzeichnung wichtig. Wenn du Construction-PPE um Bilder deiner eigenen Kameras erweiterst, kennzeichne sie nach derselben Regel. Andernfalls erhält das Modell zwei widersprüchliche Antworten auf dieselbe Frage. In unserer Academy-Lektion zu den bewährten Verfahren für Annotationen erfährst du, wie du solche Regeln in einem Kennzeichnungsleitfaden festhältst und warum eine Überprüfung durch Menschen Fälle aufdeckt, die der Automatisierung entgehen.
Gabelstapler und no_vest erfassen gemeinsam Fahrzeugbereiche#
Viele Baustellenregeln betreffen das gemeinsame Arbeiten von Menschen und Fahrzeugen, nicht nur fehlende Ausrüstung. Die Klasse forklift erfasst Fahrzeuge und Arbeitskräfte mit demselben Detektor. So kann ein einziges YOLO26-Modell in einem Durchlauf einen Gabelstapler, die Personen in seiner Nähe und sichtbare Oberkörper ohne Warnkleidung erkennen.
Mit einer eigenen Klasse no_vest kann ein mit Construction-PPE trainiertes Modell in einem Durchlauf Begrenzungsrahmen für forklift, Person und no_vest in einer Ladezone zurückgeben.

Diese Begrenzungsrahmen zu einem Ereignis zu verknüpfen, ist Aufgabe der Anwendungslogik: Sie ordnet jeden Begrenzungsrahmen no_vest der richtigen Person zu, legt fest, was als „in der Nähe“ des Gabelstaplers gilt, und bestimmt, wie lange ein Zustand bestehen muss. Wenn du die Entfernung messen möchtest, berechnet der Leitfaden zur Entfernungsberechnung den Pixelabstand zwischen den Mittelpunkten ausgewählter Begrenzungsrahmen. Für Entfernungen in der realen Welt ist eine Kamerakalibrierung erforderlich.
YOLO26 mit Construction-PPE in wenigen Zeilen trainieren#
Beginne mit dem Ultralytics-Python-Paket. YOLO lädt das Datensatzarchiv beim ersten Einsatz herunter und entpackt es.
from ultralytics import YOLO
# Mit einem auf COCO vortrainierten YOLO26-Nano-Modell beginnen
model = YOLO("yolo26n.pt")
# Mit dem Construction-PPE-Archiv trainieren
model.train(
data="https://github.com/ultralytics/assets/releases/download/v0.0.0/construction-ppe.zip",
epochs=100,
imgsz=640,
)Das entsprechende CLI-Kommando ist eine Zeile lang:
yolo detect train model=yolo26n.pt data=https://github.com/ultralytics/assets/releases/download/v0.0.0/construction-ppe.zip epochs=100 imgsz=640Das Modell YOLO26n eignet sich gut für einen ersten Test der Verarbeitungskette. Handschuhe, Schutzbrillen und Stiefel sind aus der Entfernung von Baustellenkameras kleine Objekte. Vergleiche daher zunächst eine größere Modellvariante wie YOLO26s oder YOLO26m, bevor du dich festlegst. Die Trainingsdokumentation behandelt Bildgröße, Stapelgröße und alle weiteren Argumente. Ultralytics stellt außerdem ein Colab-Notebook für Construction-PPE bereit, falls du lieber eine kostenlose GPU im Browser nutzen möchtest.
Kein Code? Trainiere das Modell auf der Ultralytics Platform#
Öffne den Datensatz Construction-PPE auf der Ultralytics Platform und starte das Cloud-Training mit einem YOLO26-Modell. Lege Epochen, Bildgröße und GPU direkt im Browser fest. Die Platform zeichnet Verlustkurven, Präzision, Trefferquote und mAP für jede Epoche auf und ermöglicht den direkten Vergleich mehrerer Trainingsläufe. Um Bilder deiner eigenen Kameras hinzuzufügen, kopiere den Datensatz über Explore (siehe den Leitfaden zu Explore auf der Ultralytics Platform), lade deine Bilder hoch und kennzeichne sie im Annotationseditor. Dort kann Smart Annotation Begrenzungsrahmen als Entwurf für deine Überprüfung erstellen.
Bewerte das Modell für jede Klasse einzeln, nicht anhand eines einzigen Durchschnittswerts#
Ein einzelner mAP-Wert zeigt nicht, was ein Sicherheitsteam wissen muss. Ein Modell kann insgesamt gut abschneiden, weil es Personen, Helme und Warnwesten zuverlässig erkennt, aber die meisten Fälle von no_gloves oder no_goggle übersieht. Validiere das Modell anhand von Metriken für jede Klasse:
from ultralytics import YOLO
model = YOLO("runs/detect/train/weights/best.pt")
metrics = model.val() # uses the dataset's 200-image validation split
print(f"mAP50: {metrics.box.map50:.3f} mAP50-95: {metrics.box.map:.3f}")
for c in metrics.box.ap_class_index:
print(f"{model.names[c]:>10} mAP50-95: {metrics.box.maps[c]:.3f}")Sieh dir zuerst die Zeilen für fehlende Ausrüstung an und öffne die bei der Validierung gespeicherte Konfusionsmatrix. Wenn helmet und no_helmet verwechselt werden oder eine Klasse für fehlende Ausrüstung nur selten erkannt wird, überprüfe die übersehenen Bilder und die Anzahl der Instanzen dieser Klasse im Trainingssatz, bevor du etwas anderes änderst. Der Leitfaden zu YOLO-Leistungsmetriken erklärt, wie du die einzelnen Diagramme liest.
Die 200 Validierungsbilder stammen aus derselben Bildersammlung wie die Trainingsdaten. Bevor du das Modell einsetzt, sammle einen unabhängigen Datensatz mit Bildern der Kameras, die du tatsächlich verwenden wirst, und validiere das Modell auch damit. Nutze diesen Datensatz, um die Leistung auf deiner Baustelle zu messen.
Erkennungen fehlender persönlicher Schutzausrüstung in überprüfbare Ereignisse umwandeln#
Da fehlende Ausrüstung eine eigene Klasse ist, kann eine erste Prüfregel kurz ausfallen: Markiere jedes Bild, das einen Begrenzungsrahmen für fehlende persönliche Schutzausrüstung oberhalb eines Konfidenzschwellenwerts enthält.
from ultralytics import YOLO
MISSING = {"no_helmet", "no_goggle", "no_gloves", "no_boots", "no_vest"}
model = YOLO("runs/detect/train/weights/best.pt")
for r in model.predict("site_camera_frame.jpg", conf=0.4):
for cls, conf in zip(r.boxes.cls.int().tolist(), r.boxes.conf.tolist()):
if r.names[cls] in MISSING:
print(f"Review: {r.names[cls]} ({conf:.2f})")Bei Videos ersetzt du predict durch track. Die Objektverfolgung weist Erkennungen über mehrere Bilder hinweg IDs zu. Deine Anwendung ordnet dann jeden Begrenzungsrahmen für fehlende persönliche Schutzausrüstung einer Personenverfolgung zu, zum Beispiel indem sie prüft, welcher Begrenzungsrahmen Person ihn enthält. Anschließend wendet sie Regeln für die Dauer und Erfassung von Ereignissen an, sodass Prüfende ein einzelnes Ereignis statt einer Folge von Bildern sehen:
Seit Ultralytics 8.4.202 verwenden gespeicherte Vorhersagen aus RTSP-Streams und Webcams die jeweilige Bildrate des Streams. Dadurch werden aufgezeichnete Clips mit der richtigen Geschwindigkeit wiedergegeben. Sobald das Modell bereit ist, kannst du es für dein Edge-Gerät nach ONNX, TensorRT, OpenVINO oder in ein anderes Format exportieren oder es über die Platform bereitstellen und an einen dedizierten Endpunkt anbinden.
Ein Detektor meldet, was die Kamera sehen kann. Er kann nicht beurteilen, ob ein Helm zertifiziert oder eine Warnweste beschädigt ist. Leite seine Ereignisse daher an eine Person weiter, die das beurteilen kann.
Für wen eignet sich Construction-PPE?#
Nutze Construction-PPE als Ausgangspunkt, um die fünf Arten persönlicher Schutzausrüstung und ihr Fehlen auf Baustellen, in Werkstätten, Lagerhallen oder Ladebereichen zu erkennen. Der Datensatz eignet sich, wenn du Folgendes brauchst:
- Erkennung fehlender Ausrüstung statt bloßer Erkennung vorhandener Ausrüstung. Fünf eigene Klassen für fehlende Ausrüstung, die nach einer einheitlichen Regel für sichtbare Körperteile gekennzeichnet wurden, liefern dem Modell direkte Beispiele für fehlende Ausrüstung.
- Erkennung von Fahrzeugen und Fußgängern mit einem Modell. Zusammen decken
forklift,Personundno_vestden Anwendungsfall einer Ladezone ab. - Klare Datensatzlizenz und trainingsfertige Kennzeichnungen. Die Bilder und Annotationen stehen unter CC BY 4.0, was die kommerzielle Nutzung mit Namensnennung erlaubt. Die Kennzeichnungen im YOLO-Format können ohne Konvertierung zum Training mit YOLO26 verwendet werden. Für die YOLO-Modelle, die du damit trainierst, gilt eine separate Lizenz; siehe die entsprechende Frage weiter unten.
Wenn dein Projekt nur Helme und Warnwesten in großem Umfang erkennen soll, findest du auf der Ultralytics Platform auch den Datensatz Safety Helmet and Reflective Jacket mit 10.138 Bildern und 2 Klassen. Für reine Helmerkennung umfasst Safety Helmet Detection 5.000 Bilder mit den Kennzeichnungen head, helmet und person. Den gesamten Arbeitsablauf für Baustellen – von der Festlegung der ersten Regel bis zur Überwachung eines Einsatzes – beschreibt unser Leitfaden zur Erkennung persönlicher Schutzausrüstung und Arbeitssicherheit mit Ultralytics.
Häufig gestellte Fragen
Trainiere mit eigenen Klassen für fehlende Ausrüstung, zum Beispiel
no_helmetundno_vest. Kennzeichne sie nur, wenn das betreffende Körperteil sichtbar ist, und überprüfe ihre klassenbezogenen Metriken anhand von Bildern deiner eigenen Kameras, bevor du dich auf Warnmeldungen verlässt. Construction-PPE enthält fünf solcher Klassen mit einheitlichen Regeln zur Sichtbarkeit.Das hängt von den benötigten Klassen ab. Ultralytics Construction-PPE umfasst 12 Klassen, darunter fünf Klassen für fehlende Ausrüstung,
forkliftundPerson, verteilt auf 1.000 überprüfte Bilder unter CC BY 4.0. Für Helme und Warnwesten bietet Safety Helmet and Reflective Jacket auf der Ultralytics Platform mehr Bilder; Safety Helmet Detection deckt nur Helme ab. Für den Einsatz auf deiner Baustelle solltest du in jedem Fall Bilder deiner eigenen Kameras hinzufügen.Die im November 2026 veröffentlichte Version umfasst 1.000 Bilder, 14.863 Begrenzungsrahmen und 12 Klassen. Die Aufteilung besteht aus 800 Trainings- und 200 Validierungsbildern. Die Klassen sind helmet, gloves, vest, boots, goggles, Person, no_helmet, no_goggle, no_gloves, no_boots, forklift und no_vest.
Installiere oder aktualisiere das Paket
ultralytics, ladeyolo26n.ptund rufemodel.train()mit der URL des Construction-PPE-Archivs alsdataauf, zum Beispiel mitepochs=100undimgsz=640. Du kannst das Modell auch ohne Code mit dem Cloud-Training auf der Ultralytics Platform trainieren.Eigene Klassen für fehlende Ausrüstung liefern dem Modell direkte Beispiele dafür, wie fehlende Ausrüstung aussieht. So kann es einen sichtbaren unbedeckten Kopf als eigenständiges Objekt erkennen. Eine einfache Regel wie „kein Helmbegrenzungsrahmen innerhalb des Personenbegrenzungsrahmens“ kann einen verborgenen Kopf für unbedeckt halten, wenn die Sichtbarkeit nicht ebenfalls geprüft wird. Construction-PPE kennzeichnet fehlende Ausrüstung nur, wenn das betreffende Körperteil sichtbar ist. Das unterstützt den ersten Ansatz.
Ja. Die Bilder und Annotationen stehen unter der Lizenz Creative Commons Namensnennung 4.0 International. Sie erlaubt das Teilen und Bearbeiten, auch für kommerzielle Zwecke, sofern die Urheberschaft genannt wird. Nenne das Ultralytics-Team als Urheber, verlinke den Datensatz und die Lizenz und gib an, ob du Änderungen vorgenommen hast. Das gilt nur für den Datensatz: Für die Ultralytics-YOLO-Modelle, die du damit trainierst, gelten separate Lizenzen (siehe die nächste Frage).
Alle mit Ultralytics YOLO trainierten Modelle unterliegen standardmäßig AGPL-3.0, auch Modelle, die mit Construction-PPE trainiert wurden. Für die Nutzung von Ultralytics-YOLO-Code oder -Modellen musst du entweder dein gesamtes Projekt unter AGPL-3.0 als Open Source veröffentlichen oder eine Ultralytics Enterprise License erwerben. Das gilt auch für die interne Nutzung und Forschung und Entwicklung (R&D). Wenn du dein Projekt privat halten möchtest, benötigst du eine Enterprise License.
Verfasst von
Kommentare
Stelle eine Frage, teile deine Ergebnisse oder hilf anderen.










