Ultralytics YOLO27:

Die wichtigsten Schritte eines Computer-Vision-Projekts verstehen#

Beim Aufbau eines Computer-Vision-Projekts durchläufst du eine klare Abfolge von Phasen: Ziele definieren, Daten sammeln und annotieren, ein Modell trainieren und evaluieren sowie es in der Produktion bereitstellen und warten. Dieser Leitfaden führt dich Schritt für Schritt durch den Ablauf und erklärt, warum jeder Schritt wichtig ist, damit du dein eigenes Projekt sicher planen und durchführen kannst.

Computer Vision ist ein Teilgebiet der künstlichen Intelligenz (AI), das Computern hilft, die Welt ähnlich wie Menschen zu sehen und zu verstehen. Dabei werden Bilder oder Videos verarbeitet und analysiert, um Informationen zu extrahieren, Muster zu erkennen und auf Grundlage dieser Daten Entscheidungen zu treffen.



Watch: How to Do Computer Vision Projects | A Step-by-Step Guide

Computer-Vision-Techniken wie Objekterkennung, Bildklassifizierung und Instanzsegmentierung können in verschiedensten Branchen eingesetzt werden – vom autonomen Fahren bis zur medizinischen Bildgebung –, um wertvolle Erkenntnisse zu gewinnen.

Ein Überblick über ein Computer-Vision-Projekt#

Bevor wir die einzelnen Schritte eines Computer-Vision-Projekts im Detail betrachten, sehen wir uns zunächst den Gesamtprozess an. Wenn du heute ein Computer-Vision-Projekt starten würdest, würdest du die folgenden Schritte durchführen:

Computer Vision Project Steps Overview

Nachdem du nun weißt, was dich erwartet, sehen wir uns die einzelnen Schritte an und bringen dein Projekt voran.

Schritt 1: Ziele deines Projekts definieren#

Der erste Schritt jedes Computer-Vision-Projekts besteht darin, das zu lösende Problem klar zu definieren. Wenn du das Endziel kennst, kannst du mit dem Aufbau einer Lösung beginnen. Das gilt besonders für Computer Vision, da das Ziel deines Projekts direkt beeinflusst, auf welche Computer-Vision-Aufgabe du dich konzentrieren musst.

Hier findest du einige Beispiele für Projektziele und die Computer-Vision-Aufgaben, mit denen du diese Ziele erreichen kannst:

  • Ziel: Entwicklung eines Systems zur Überwachung und Steuerung des Verkehrsflusses verschiedener Fahrzeugtypen auf Autobahnen, um Verkehrsmanagement und Sicherheit zu verbessern.

    • Computer-Vision-Aufgabe: Die Objekterkennung eignet sich ideal für die Verkehrsüberwachung, da sie mehrere Fahrzeuge effizient lokalisiert und identifiziert. Sie ist weniger rechenintensiv als die Bildsegmentierung, die für diese Aufgabe unnötige Details liefert, und ermöglicht dadurch eine schnellere Analyse in Echtzeit.
  • Ziel: Entwicklung eines Werkzeugs, das Radiologen unterstützt, indem es präzise Umrisse von Tumoren auf Pixelebene in medizinischen Aufnahmen bereitstellt.

    • Computer-Vision-Aufgabe: Die Bildsegmentierung eignet sich für die medizinische Bildgebung, da sie genaue und detaillierte Tumorgrenzen liefert, die für die Beurteilung von Größe und Form sowie für die Behandlungsplanung entscheidend sind.
  • Ziel: Entwicklung eines digitalen Systems, das verschiedene Dokumente (z. B. Rechnungen, Belege und juristische Unterlagen) kategorisiert, um die organisatorische Effizienz und das Auffinden von Dokumenten zu verbessern.

    • Computer-Vision-Aufgabe: Die Bildklassifizierung eignet sich hier ideal, da sie jeweils ein Dokument verarbeitet, ohne dessen Position im Bild berücksichtigen zu müssen. Dieser Ansatz vereinfacht und beschleunigt den Sortiervorgang.

Das richtige Modell und den passenden Trainingsansatz auswählen#

Nachdem du das Projektziel und geeignete Computer-Vision-Aufgaben verstanden hast, gehört die Auswahl des richtigen Modells und Trainingsansatzes zu den wesentlichen Bestandteilen der Zieldefinition.

Je nach Ziel kannst du das Modell zuerst auswählen oder erst, nachdem du in Schritt 2 gesehen hast, welche Daten du sammeln kannst. Angenommen, dein Projekt hängt stark von der Verfügbarkeit bestimmter Datentypen ab. Dann kann es sinnvoller sein, zunächst die Daten zu sammeln und zu analysieren und erst danach ein Modell auszuwählen. Wenn du dagegen die Modellanforderungen genau kennst, kannst du zuerst das Modell auswählen und anschließend Daten sammeln, die diesen Vorgaben entsprechen.

Die Entscheidung, ob du von Grund auf trainierst oder Transfer Learning verwendest, wirkt sich darauf aus, wie du deine Daten vorbereitest. Das Training von Grund auf erfordert einen vielfältigen Datensatz, damit das Modell sein Verständnis vollständig neu aufbauen kann. Transfer Learning ermöglicht dir dagegen, ein vortrainiertes Modell zu verwenden und es mit einem kleineren, spezifischeren Datensatz anzupassen. Auch die Auswahl eines bestimmten Trainingsmodells legt fest, wie du deine Daten vorbereiten musst, etwa durch das Ändern der Bildgröße oder das Hinzufügen von Annotationen entsprechend den Anforderungen des Modells.

Training From Scratch Vs. Using Transfer Learning

Berücksichtige die Bereitstellung bei der Modellauswahl

Berücksichtige das Zielsystem für die Bereitstellung des Modells, um Kompatibilität und Leistung sicherzustellen. Leichtgewichtige Modelle eignen sich beispielsweise dank ihrer Effizienz auf ressourcenbeschränkten Geräten ideal für Edge Computing.

Weitere Informationen findest du in unserem Leitfaden zur Definition deiner Projektziele und Auswahl des richtigen Modells.

Bevor du mit der praktischen Arbeit an einem Computer-Vision-Projekt beginnst, solltest du diese Details genau verstehen. Überprüfe vor dem Übergang zu Schritt 2, ob du die folgenden Punkte berücksichtigt hast:

  • Definiere klar das Problem, das du lösen möchtest.
  • Lege das Endziel deines Projekts fest.
  • Bestimme die benötigte Computer-Vision-Aufgabe (z. B. Objekterkennung, Bildklassifizierung oder Bildsegmentierung).
  • Entscheide, ob du ein Modell von Grund auf trainierst oder Transfer Learning verwendest.
  • Wähle das passende Modell für deine Aufgabe und deine Anforderungen an die Bereitstellung aus.

Schritt 2: Datensammlung und Datenannotation#

Die Qualität deiner Computer-Vision-Modelle hängt von der Qualität deines Datensatzes ab. Du kannst Bilder aus dem Internet sammeln, eigene Aufnahmen erstellen oder bereits vorhandene Datensätze verwenden. Hier findest du einige gute Quellen zum Herunterladen hochwertiger Datensätze: Google Dataset Search Engine, UC Irvine Machine Learning Repository und Kaggle Datasets.

Einige Bibliotheken wie Ultralytics bieten integrierte Unterstützung für verschiedene Datensätze und erleichtern dadurch den Einstieg mit hochwertigen Daten. Solche Bibliotheken enthalten häufig Hilfsfunktionen, mit denen du beliebte Datensätze nahtlos verwenden kannst, was dir in den Anfangsphasen deines Projekts viel Zeit und Aufwand spart.

Wenn du jedoch Bilder sammelst oder eigene Aufnahmen erstellst, musst du deine Daten annotieren. Bei der Datenannotation werden deine Daten beschriftet, damit dein Modell daraus lernen kann. Welche Art der Datenannotation du verwendest, hängt von deiner konkreten Computer-Vision-Technik ab. Hier sind einige Beispiele:

  • Bildklassifizierung: Du beschriftest das gesamte Bild als eine einzige Klasse.
  • Objekterkennung: Du zeichnest um jedes Objekt im Bild eine Begrenzungsbox und beschriftest jede Box.
  • Bildsegmentierung: Du beschriftest jedes Pixel im Bild entsprechend dem Objekt, zu dem es gehört, und erzeugst so detaillierte Objektgrenzen.

Bounding box, polygon, and keypoint annotations

Datensammlung und Annotation können zeitaufwendig und manuell sein. Ein spezielles Annotationstool beschleunigt den Vorgang: Die Ultralytics Platform bietet einen integrierten Annotation-Editor mit intelligenter, von SAM unterstützter Annotation für Erkennungs-, Segmentierungs- und OBB-Daten und speichert Beschriftungen direkt im YOLO-Format.

Schritt 3: Datenerweiterung und Aufteilung deines Datensatzes#

Nachdem du deine Bilddaten gesammelt und annotiert hast, solltest du deinen Datensatz zunächst in Trainings-, Validierungs- und Testdaten aufteilen, bevor du eine Datenerweiterung durchführst. Die Aufteilung vor der Datenerweiterung ist entscheidend, damit du dein Modell mit unveränderten Originaldaten testen und validieren kannst. So lässt sich zuverlässig beurteilen, wie gut das Modell auf neue, bisher unbekannte Daten generalisiert.

So teilst du deine Daten auf:

  • Trainingsdaten: Sie bilden den größten Teil deiner Daten, normalerweise 70–80 % der Gesamtmenge, und werden zum Trainieren deines Modells verwendet.
  • Validierungsdaten: Sie machen normalerweise etwa 10–15 % deiner Daten aus und dienen dazu, Hyperparameter abzustimmen und das Modell während des Trainings zu validieren. So lässt sich Overfitting vermeiden.
  • Testdaten: Die verbleibenden 10–15 % deiner Daten werden als Testdaten zurückgehalten. Nach Abschluss des Trainings dienen sie dazu, die Leistung des Modells auf unbekannten Daten zu bewerten.

Nach der Aufteilung deiner Daten kannst du eine Datenerweiterung durchführen, indem du Bilder beispielsweise drehst, skalierst oder spiegelst, um die Größe deines Datensatzes künstlich zu erhöhen. Datenerweiterung macht dein Modell robuster gegenüber Variationen und verbessert seine Leistung bei unbekannten Bildern.

Data augmentation examples

Bibliotheken wie OpenCV, Albumentations und TensorFlow bieten flexible Funktionen zur Datenerweiterung. Einige Bibliotheken wie Ultralytics verfügen außerdem direkt in ihrer Trainingsfunktion über integrierte Einstellungen zur Datenerweiterung, wodurch der Vorgang vereinfacht wird.

Um deine Daten besser zu verstehen, kannst du Werkzeuge wie Matplotlib oder Seaborn verwenden, um die Bilder zu visualisieren und ihre Verteilung und Eigenschaften zu analysieren. Die Visualisierung deiner Daten hilft dir, Muster, Anomalien und die Wirksamkeit deiner Techniken zur Datenerweiterung zu erkennen. Der Tab Charts der Ultralytics Platform kann viele dieser Erkenntnisse ohne Code bereitstellen, indem er für jeden hochgeladenen Datensatz automatisch Verteilungen der Aufteilung, Klassenanzahlen, Histogramme der Bildabmessungen und Heatmaps der Annotationspositionen erzeugt.

Indem du deine Daten richtig verstehst, aufteilst und erweiterst, kannst du ein gut trainiertes, validiertes und getestetes Modell entwickeln, das in realen Anwendungen zuverlässig funktioniert.

Schritt 4: Modelltraining#

Sobald dein Datensatz für das Training bereit ist, kannst du dich auf die Einrichtung der erforderlichen Umgebung, die Verwaltung deiner Datensätze und das Training deines Modells konzentrieren.

Zunächst musst du sicherstellen, dass deine Umgebung korrekt konfiguriert ist. Typischerweise umfasst dies Folgendes:

  • Installation wichtiger Bibliotheken und Frameworks wie TensorFlow, PyTorch oder Ultralytics.
  • Wenn du eine GPU verwendest, helfen Bibliotheken wie CUDA und cuDNN dabei, die GPU-Beschleunigung zu aktivieren und den Trainingsprozess zu beschleunigen.

Anschließend kannst du deine Trainings- und Validierungsdatensätze in die Umgebung laden. Normalisiere und vorverarbeite die Daten durch Ändern der Bildgröße, Formatkonvertierung oder Datenerweiterung. Konfiguriere nach der Modellauswahl die Schichten und lege die Hyperparameter fest. Kompiliere das Modell, indem du die Verlustfunktion, den Optimierer und die Leistungsmetriken einstellst.

Bibliotheken wie Ultralytics vereinfachen den Trainingsprozess. Du kannst das Training mit minimalem Code starten, indem du Daten in das Modell einspeist. Diese Bibliotheken übernehmen automatisch die Anpassung der Gewichte, die Rückpropagation und die Validierung. Außerdem bieten sie Werkzeuge, mit denen du den Fortschritt überwachen und Hyperparameter einfach anpassen kannst. Speichere das Modell und seine Gewichte nach dem Training mit wenigen Befehlen.

Denke daran, dass eine ordnungsgemäße Datensatzverwaltung für effizientes Training entscheidend ist. Verwende Versionskontrolle für Datensätze, um Änderungen nachzuverfolgen und die Reproduzierbarkeit sicherzustellen. Werkzeuge wie DVC (Data Version Control) können dich bei der Verwaltung großer Datensätze unterstützen.

Schritt 5: Modellevaluierung und Feinabstimmung#

Es ist wichtig, die Leistung deines Modells anhand verschiedener Metriken zu bewerten und es zur Verbesserung der Genauigkeit weiterzuentwickeln. Die Evaluierung zeigt, in welchen Bereichen das Modell besonders gut funktioniert und wo Verbesserungen nötig sind. Die Feinabstimmung stellt sicher, dass das Modell für eine möglichst hohe Leistung optimiert ist.

  • Leistungsmetriken: Verwende Metriken wie Genauigkeit, Precision, Recall und F1-Score, um die Leistung deines Modells zu bewerten. Diese Metriken zeigen, wie zuverlässig dein Modell Vorhersagen trifft.
  • Hyperparameter-Optimierung: Passe Hyperparameter an, um die Modellleistung zu optimieren. Verfahren wie Gittersuche oder Zufallssuche können dabei helfen, die besten Hyperparameterwerte zu finden.
  • Feinabstimmung: Nimm kleine Änderungen an der Modellarchitektur oder am Trainingsprozess vor, um die Leistung zu verbessern. Dazu kann gehören, Lernraten, Batchgrößen oder andere Modellparameter anzupassen.

Eine ausführlichere Erklärung von Verfahren zur Modellevaluierung und Feinabstimmung findest du in unserem Leitfaden mit Erkenntnissen zur Modellevaluierung.

Schritt 6: Modelltest#

Der Modelltest bestätigt, dass dein Modell mit vollständig unbekannten Daten gut funktioniert, und überprüft damit seine Einsatzbereitschaft. Der Unterschied zwischen Modelltest und Modellevaluierung besteht darin, dass sich der Test auf die Überprüfung der Leistung des finalen Modells konzentriert, anstatt es iterativ zu verbessern.

Es ist wichtig, häufige Probleme, die auftreten können, gründlich zu testen und zu beheben. Teste dein Modell mit einem separaten Testdatensatz, der weder zum Training noch zur Validierung verwendet wurde. Dieser Datensatz sollte reale Szenarien abbilden, damit die Leistung des Modells konsistent und zuverlässig ist.

Behebe außerdem häufige Probleme wie Overfitting, Underfitting und Datenlecks. Verwende Verfahren wie Kreuzvalidierung und Anomalieerkennung, um diese Probleme zu erkennen und zu beheben. Umfassende Teststrategien findest du in unserem Leitfaden zum Modelltest.

Schritt 7: Modellbereitstellung#

Nachdem dein Modell gründlich getestet wurde, ist es Zeit, es bereitzustellen. Bei der Modellbereitstellung wird dein Modell in einer Produktionsumgebung zur Nutzung verfügbar gemacht. So stellst du ein Computer-Vision-Modell bereit:

  • Einrichten der Umgebung: Konfiguriere die erforderliche Infrastruktur für die gewählte Bereitstellungsoption, unabhängig davon, ob sie cloudbasiert (AWS, Google Cloud, Azure) oder Edge-basiert (lokale Geräte, IoT) ist.
  • Modell exportieren: Exportiere dein Modell in das passende Format (z. B. ONNX, TensorRT oder CoreML für YOLO26), um die Kompatibilität mit deiner Bereitstellungsplattform sicherzustellen.
  • Modell bereitstellen: Stelle das Modell bereit, indem du APIs oder Endpunkte einrichtest und es in deine Anwendung integrierst.
  • Skalierbarkeit sicherstellen: Implementiere Load-Balancer, Gruppen zur automatischen Skalierung und Überwachungswerkzeuge, um Ressourcen zu verwalten und steigende Datenmengen und Benutzeranfragen zu bewältigen.

Ausführlichere Hinweise zu Strategien und bewährten Verfahren für die Bereitstellung findest du in unserem Leitfaden zu bewährten Verfahren für die Modellbereitstellung. Die Ultralytics Platform bietet außerdem verwaltete Bereitstellungsendpunkte mit automatischer Skalierung über 42 globale Regionen und übernimmt die Einrichtung der Infrastruktur automatisch.

Schritt 8: Überwachung, Wartung und Dokumentation#

Sobald dein Modell bereitgestellt ist, solltest du seine Leistung kontinuierlich überwachen, es zur Behebung möglicher Probleme warten und den gesamten Prozess für künftige Anpassungen und Verbesserungen dokumentieren.

Überwachungswerkzeuge helfen dir, wichtige Leistungsindikatoren (KPIs) zu verfolgen und Anomalien oder Genauigkeitsverluste zu erkennen. Durch die Überwachung des Modells kannst du Modelldrift feststellen, bei der die Modellleistung aufgrund von Änderungen der Eingabedaten mit der Zeit abnimmt. Trainiere das Modell regelmäßig mit aktualisierten Daten nach, um Genauigkeit und Relevanz zu erhalten.

Model monitoring and maintenance lifecycle

Neben Überwachung und Wartung ist auch die Dokumentation entscheidend. Dokumentiere den gesamten Prozess gründlich, einschließlich Modellarchitektur, Trainingsverfahren, Hyperparametern, Datenvorverarbeitung und allen während der Bereitstellung und Wartung vorgenommenen Änderungen. Eine gute Dokumentation gewährleistet Reproduzierbarkeit und erleichtert künftige Aktualisierungen oder die Fehlersuche. Indem du dein Modell wirksam überwachst, wartest und dokumentierst, stellst du sicher, dass es während seines gesamten Lebenszyklus genau, zuverlässig und einfach zu verwalten bleibt.

Mit der Community in Kontakt treten#

Der Austausch mit einer Community von Computer-Vision-Enthusiasten kann dir helfen, Probleme bei der Arbeit an deinem Computer-Vision-Projekt sicher zu bewältigen. Hier findest du einige Möglichkeiten, effektiv zu lernen, Fehler zu beheben und Kontakte zu knüpfen.

Ressourcen der Community#

  • GitHub Issues: Sieh dir das YOLO26 GitHub-Repository an und nutze den Tab „Issues“, um Fragen zu stellen, Fehler zu melden und neue Funktionen vorzuschlagen. Die aktive Community und die Maintainer helfen dir bei konkreten Problemen.
  • Ultralytics Discord Server: Tritt dem Ultralytics Discord-Server bei, um dich mit anderen Benutzern und Entwicklern auszutauschen, Unterstützung zu erhalten und Erkenntnisse zu teilen.

Offizielle Dokumentation#

  • Ultralytics-YOLO26-Dokumentation: In der offiziellen YOLO26-Dokumentation findest du ausführliche Leitfäden mit hilfreichen Tipps zu verschiedenen Computer-Vision-Aufgaben und -Projekten.

Mit diesen Ressourcen kannst du Herausforderungen bewältigen und über die neuesten Trends und bewährten Verfahren in der Computer-Vision-Community auf dem Laufenden bleiben.

Nächste Schritte#

Du hast nun einen Fahrplan für alle Phasen eines Computer-Vision-Projekts – von der Zieldefinition bis zur Überwachung eines bereitgestellten Modells. Setze ihn in die Praxis um, indem du dein erstes YOLO-Modell trainierst, oder vertiefe dich anhand der oben verlinkten Leitfäden in eine einzelne Phase. Wenn du die gesamte Pipeline ohne Programmieraufwand ausführen möchtest, erkunde die Ultralytics Platform.

FAQ#

  • Die Wahl der richtigen Computer-Vision-Aufgabe hängt vom Endziel deines Projekts ab. Wenn du beispielsweise den Verkehr überwachen möchtest, eignet sich die Objekterkennung, da sie mehrere Fahrzeugtypen in Echtzeit lokalisieren und identifizieren kann. Für die medizinische Bildgebung ist die Bildsegmentierung ideal, da sie detaillierte Tumorgrenzen liefert und dadurch Diagnose und Behandlungsplanung unterstützt. Weitere Informationen zu bestimmten Aufgaben findest du unter Objekterkennung, Instanzsegmentierung, semantischer Segmentierung und Bildklassifizierung.

  • Datenannotation ist entscheidend, damit dein Modell lernt, Muster zu erkennen. Die Art der Annotation hängt von der jeweiligen Aufgabe ab:

    • Bildklassifizierung: Das gesamte Bild wird als eine einzige Klasse beschriftet.
    • Objekterkennung: Um die Objekte werden Begrenzungsboxen gezeichnet.
    • Bildsegmentierung: Jedes Pixel wird entsprechend dem Objekt beschriftet, zu dem es gehört.

    Der integrierte Annotation-Editor in der Ultralytics Platform kann dich bei diesem Prozess unterstützen. Weitere Informationen findest du in unserem Leitfaden zur Datensammlung und Annotation.

  • Wenn du deinen Datensatz vor der Augmentierung aufteilst, kannst du die Modellleistung anhand unveränderter Originaldaten validieren. Befolge dazu diese Schritte:

    • Trainingsdatensatz: 70–80 % deiner Daten.
    • Validierungsdatensatz: 10–15 % für die Hyperparameter-Abstimmung.
    • Testdatensatz: Die verbleibenden 10–15 % für die abschließende Bewertung.

    Wende nach der Aufteilung Techniken zur Datensatzanreicherung wie Rotation, Skalierung und Spiegelung an, um die Vielfalt des Datensatzes zu erhöhen. Bibliotheken wie Albumentations und OpenCV können dabei helfen. Ultralytics bietet außerdem integrierte Einstellungen zur Datensatzanreicherung.

  • Exportiere dein trainiertes Modell mit der Methode export und wähle ein Format, das zu deinem Ziel für die Bereitstellung passt. Ultralytics unterstützt mehrere Formate, darunter ONNX, TensorRT und CoreML. Befolge diese Schritte, um dein YOLO26-Modell zu exportieren:

    • Verwende die Methode export mit dem Parameter für das gewünschte Format.
    • Stelle sicher, dass das exportierte Modell die Anforderungen deiner Bereitstellungsumgebung erfüllt, zum Beispiel auf Edge-Geräten oder in der Cloud.

    Weitere Informationen findest du im Leitfaden zum Modelleexport.

  • Kontinuierliche Überwachung und Wartung sind entscheidend für den langfristigen Erfolg eines Modells. Implementiere Werkzeuge zur Erfassung von Leistungskennzahlen (KPIs) und zur Erkennung von Anomalien. Trainiere das Modell regelmäßig mit aktualisierten Daten neu, um dem Drift des Modells entgegenzuwirken. Dokumentiere den gesamten Prozess einschließlich der Modellarchitektur, der Hyperparameter und der Änderungen, um Reproduzierbarkeit zu gewährleisten und zukünftige Aktualisierungen zu erleichtern. Weitere Informationen findest du in unserem Leitfaden zur Überwachung und Wartung.

Kommentare