YOLO Vision 2026:

Die wichtigsten Schritte in einem Computer-Vision-Projekt verstehen#

Der Aufbau eines Computer-Vision-Projekts bedeutet, eine klare Abfolge von Phasen zu durchlaufen: Definition deiner Ziele, Sammeln und Annotieren von Daten, Training und Evaluierung eines Modells sowie dessen Bereitstellung und Wartung in der Produktion. Dieser Leitfaden führt dich Schritt für Schritt durch diesen Prozess und erklärt, warum jeder Punkt wichtig ist, damit du dein eigenes Projekt sicher planen und ausführen kannst.

Computer vision ist ein Teilbereich der artificial intelligence (KI), der Computern hilft, die Welt wie Menschen zu sehen und zu verstehen. Sie verarbeitet und analysiert Bilder oder Videos, um Informationen zu extrahieren, Muster zu erkennen und auf Basis dieser Daten Entscheidungen zu treffen.



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

Techniken der Computer Vision wie object detection, image classification und instance segmentation lassen sich in verschiedensten Branchen einsetzen – vom autonomous driving bis hin zur medical imaging, um wertvolle Erkenntnisse zu gewinnen.

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

Bevor wir die Details jedes Schritts in einem Computer-Vision-Projekt besprechen, lass uns den Gesamtprozess betrachten. Wenn du heute ein Computer-Vision-Projekt starten würdest, würdest du die folgenden Schritte unternehmen:

Computer Vision Project Steps Overview

Jetzt, da wir wissen, was uns erwartet, lass uns direkt in die Schritte eintauchen und dein Projekt voranbringen.

Schritt 1: Die Ziele deines Projekts definieren#

Der erste Schritt in jedem Computer-Vision-Projekt ist die klare Definition des Problems, das du lösen möchtest. Das Endziel zu kennen hilft dir dabei, eine Lösung aufzubauen. Das gilt besonders für Computer Vision, da das Ziel deines Projekts direkt beeinflusst, auf welche Computer-Vision-Aufgabe du dich konzentrieren musst.

Hier sind einige Beispiele für Projektziele und die Computer-Vision-Aufgaben, die verwendet werden können, um diese Ziele zu erreichen:

  • Ziel: Entwicklung eines Systems, das den Verkehrsfluss verschiedener Fahrzeugtypen auf Autobahnen überwachen und steuern kann, um das Verkehrsmanagement und die Sicherheit zu verbessern.

    • Computer-Vision-Aufgabe: Die Objekterkennung ist 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 sorgt so für eine schnellere Analyse in Echtzeit.
  • Ziel: Entwicklung eines Tools, das Radiologen unterstützt, indem es präzise, pixelgenaue Umrisse von Tumoren in medizinischen Bildscans liefert.

    • Computer-Vision-Aufgabe: Bildsegmentierung ist für die medizinische Bildgebung geeignet, da sie genaue und detaillierte Grenzen von Tumoren liefert, die für die Beurteilung von Größe, Form und Behandlungsplanung entscheidend sind.
  • Ziel: Erstellung eines digitalen Systems, das verschiedene Dokumente (z. B. Rechnungen, Quittungen, rechtliche Unterlagen) kategorisiert, um die organisatorische Effizienz und das Auffinden von Dokumenten zu verbessern.

    • Computer Vision Task: Image classification ist hier ideal, da sie ein Dokument nach dem anderen verarbeitet, ohne dass die Position des Dokuments im Bild berücksichtigt werden muss. Dieser Ansatz vereinfacht und beschleunigt den Sortierprozess.

Auswahl des richtigen Modells und des Trainingsansatzes#

Nachdem du das Projektziel und geeignete Computer-Vision-Aufgaben verstanden hast, ist selecting the right model und der passende Trainingsansatz ein wesentlicher Bestandteil der Zieldefinition.

Je nach Zielsetzung entscheidest du dich möglicherweise zuerst für ein Modell oder erst, nachdem du gesehen hast, welche Daten du in Schritt 2 sammeln kannst. Angenommen, dein Projekt hängt stark von der Verfügbarkeit bestimmter Datentypen ab. In diesem Fall ist es möglicherweise praktischer, zuerst die Daten zu sammeln und zu analysieren, bevor du ein Modell auswählst. Wenn du hingegen ein klares Verständnis der Modellanforderungen hast, kannst du zuerst das Modell auswählen und dann Daten sammeln, die diesen Spezifikationen entsprechen.

Die Wahl zwischen dem Training von Grund auf oder der Verwendung von transfer learning beeinflusst, wie du deine Daten vorbereitest. Das Training von Grund auf erfordert einen diversen Datensatz, um das Verständnis des Modells von Grund auf aufzubauen. Transfer Learning hingegen ermöglicht es dir, ein vortrainiertes Modell zu verwenden und es mit einem kleineren, spezifischeren Datensatz anzupassen. Außerdem bestimmt die Wahl eines spezifischen Trainingsmodells, wie du deine Daten vorbereiten musst, beispielsweise durch Größenanpassung von Bildern oder Hinzufügen von Annotationen gemäß den spezifischen Anforderungen des Modells.

Training From Scratch Vs. Using Transfer Learning

Berücksichtige bei der Auswahl eines Modells die Bereitstellung

Berücksichtige das deployment target eines Modells, um Kompatibilität und Leistung sicherzustellen. Beispielsweise sind schlanke Modelle dank ihrer Effizienz auf ressourcenbeschränkten Geräten ideal für edge computing.

Um mehr zu erfahren, lies unseren Leitfaden zu defining your project's goals and selecting the right model.

Bevor du mit der praktischen Arbeit an einem Computer-Vision-Projekt beginnst, ist es wichtig, ein klares Verständnis dieser Details zu haben. Überprüfe noch einmal, ob du Folgendes berücksichtigt hast, bevor du mit Schritt 2 fortfährst:

  • Definiere klar das Problem, das du zu lösen versuchst.
  • Bestimme das Endziel deines Projekts.
  • Identifiziere die spezifische Computer-Vision-Aufgabe, die benötigt wird (z. B. Objekterkennung, Bildklassifizierung, Bildsegmentierung).
  • Entscheide, ob du ein Modell von Grund auf trainieren oder Transfer Learning verwenden möchtest.
  • Wähle das geeignete Modell für deine Aufgabe und deine Deployment-Anforderungen.

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 Fotos machen oder bereits existierende Datensätze verwenden. Hier sind einige hervorragende Ressourcen zum Herunterladen hochwertiger Datensätze: Google Dataset Search Engine, UC Irvine Machine Learning Repository und Kaggle Datasets.

Einige Bibliotheken wie Ultralytics bieten built-in support for various datasets, was den Einstieg in hochwertige Daten erleichtert. Diese Bibliotheken enthalten oft Hilfsprogramme zur nahtlosen Verwendung beliebiger Datensätze, wodurch du in den Anfangsphasen deines Projekts viel Zeit und Mühe sparen kannst.

Wenn du dich jedoch entscheidest, Bilder zu sammeln oder eigene Fotos aufzunehmen, musst du deine Daten annotieren. Data annotation ist der Prozess des Labelns deiner Daten, um deinem Modell Wissen zu vermitteln. Die Art der Datenannotation hängt von deiner spezifischen Computer-Vision-Technik ab. Hier sind einige Beispiele:

  • Bildklassifizierung: Du kennzeichnest das gesamte Bild als eine einzige Klasse.
  • Object Detection: Du zeichnest Bounding Boxes um jedes Objekt im Bild und beschriftest jede Box.
  • Image Segmentation: Du beschriftest jedes Pixel im Bild entsprechend dem Objekt, zu dem es gehört, und erstellst so detaillierte Objektgrenzen.

Bounding box, polygon, and keypoint annotations

Data collection and annotation können eine zeitaufwändige manuelle Arbeit sein. Ein dediziertes Annotationstool beschleunigt dies: Die Ultralytics Platform bietet einen integrierten annotation editor mit SAM-powered smart annotation für Detektions-, Segmentierungs- und OBB-Daten, wodurch Labels direkt im YOLO-Format gespeichert werden.

Schritt 3: Datenaugmentierung und Aufteilung deines Datensatzes#

Nach dem Sammeln und Annotieren deiner Bilddaten ist es wichtig, deinen Datensatz vor der data augmentation in Trainings-, Validierungs- und Testsets zu unterteilen. Die Aufteilung des Datensatzes vor der Augmentation ist entscheidend, um dein Modell an originalen, unveränderten Daten zu testen und zu validieren. Dies hilft dabei, genau zu bewerten, wie gut das Modell auf neue, unbekannte Daten verallgemeinert.

So teilst du deine Daten auf:

  • Trainingsset: Es ist der größte Teil deiner Daten, normalerweise 70-80 % des Gesamtumfangs, und wird zum Training deines Modells verwendet.
  • Validation Set: Normalerweise etwa 10-15 % deiner Daten; dieses Set wird verwendet, um Hyperparameter anzupassen und das Modell während des Trainings zu validieren, was hilft, overfitting zu verhindern.
  • Testset: Die verbleibenden 10-15 % deiner Daten werden als Testset zurückgehalten. Es wird verwendet, um die Leistung des Modells an ungesehenen Daten nach Abschluss des Trainings zu bewerten.

Nachdem du deine Daten aufgeteilt hast, kannst du eine Datenaugmentierung durchführen, indem du Transformationen wie Rotieren, Skalieren und Spiegeln von Bildern anwendest, um die Größe deines Datensatzes künstlich zu erhöhen. Datenaugmentierung macht dein Modell robuster gegenüber Variationen und verbessert seine Leistung bei ungesehenen Bildern.

Data augmentation examples

Bibliotheken wie OpenCV, Albumentations und TensorFlow bieten flexible Augmentationsfunktionen, die du nutzen kannst. Darüber hinaus verfügen einige Bibliotheken wie Ultralytics über built-in augmentation settings direkt in ihrer Modelltrainingsfunktion, was den Prozess vereinfacht.

Um deine Daten besser zu verstehen, kannst du Tools wie Matplotlib oder Seaborn verwenden, um die Bilder zu visualisieren und deren Verteilung sowie Eigenschaften zu analysieren. Die Visualisierung deiner Daten hilft dabei, Muster, Anomalien und die Wirksamkeit deiner Augmentierungstechniken zu erkennen. Die Registerkarte Charts der Ultralytics Platform kann viele dieser Erkenntnisse ganz ohne Code liefern, indem sie automatisch Aufteilungsverteilungen, Klassenanzahlen, Histogramme der Bildabmessungen und Heatmaps der Annotationspositionen für jeden hochgeladenen Datensatz generiert.

Durch das richtige understanding, splitting, and augmenting your data kannst du ein gut trainiertes, validiertes und getestetes Modell entwickeln, das in realen Anwendungen gute Leistungen erbringt.

Schritt 4: Modelltraining#

Sobald dein Datensatz für das Training bereit ist, kannst du dich darauf konzentrieren, die notwendige Umgebung einzurichten, deine Datensätze zu verwalten und dein Modell zu trainieren.

Zuerst musst du sicherstellen, dass deine Umgebung korrekt konfiguriert ist. Normalerweise umfasst dies Folgendes:

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

Danach kannst du deine Trainings- und Validierungsdatensätze in deine Umgebung laden. Normalisiere und präprozessiere die Daten durch Größenanpassung, Formatkonvertierung oder Augmentation. Konfiguriere nach der Auswahl deines Modells die Layer und lege Hyperparameter fest. Kompiliere das Modell, indem du die loss function, den Optimizer und die Leistungsmetriken festlegst.

Bibliotheken wie Ultralytics vereinfachen den Trainingsprozess. Du kannst das start training mit minimalem Code starten, indem du Daten in das Modell einspeist. Diese Bibliotheken handhaben Gewichtsanpassungen, backpropagation und Validierung automatisch. Sie bieten zudem Tools zur Überwachung des Fortschritts und zur einfachen Anpassung von Hyperparametern. Speichere das Modell und seine Gewichte nach dem Training mit wenigen Befehlen.

Es ist wichtig zu beachten, dass ein ordnungsgemäßes Dataset-Management für ein effizientes Training unerlässlich ist. Verwende die Versionskontrolle für Datensätze, um Änderungen nachzuverfolgen und die Reproduzierbarkeit sicherzustellen. Tools wie DVC (Data Version Control) können bei der Verwaltung großer Datensätze helfen.

Schritt 5: Modellevaluierung und Feinabstimmung#

Es ist wichtig, die Leistung deines Modells mithilfe verschiedener Metriken zu bewerten und es zu verfeinern, um die accuracy zu verbessern. Evaluating hilft dabei, Bereiche zu identifizieren, in denen das Modell glänzt und wo es möglicherweise Verbesserungen benötigt. Fine-tuning stellt sicher, dass das Modell für bestmögliche Leistung optimiert ist.

  • Performance Metrics: Verwende Metriken wie Accuracy, precision, recall und den F1-Score, um die Leistung deines Modells zu bewerten. Diese Metriken liefern Einblicke in die Qualität der Vorhersagen deines Modells.
  • Hyperparameter Tuning: Passe Hyperparameter an, um die Modellleistung zu optimieren. Techniken wie Rastersuche (Grid Search) oder Zufallssuche (Random Search) können helfen, die besten Hyperparameterwerte zu finden.
  • Fine-Tuning: Nimm kleine Anpassungen an der Modellarchitektur oder dem Trainingsprozess vor, um die Leistung zu verbessern. Dies kann das Optimieren von learning rates, batch sizes oder anderen Modellparametern umfassen.

Für ein tieferes Verständnis von Modellbewertungs- und Fine-Tuning-Techniken schaue dir unseren model evaluation insights guide an.

Schritt 6: Modelltest#

Modelltests bestätigen, dass dein Modell auf vollständig unbekannten Daten gut funktioniert, und verifizieren seine Einsatzbereitschaft. Der Unterschied zwischen Modelltests und Modellevaluierung besteht darin, dass sich das Testen auf die Überprüfung der Leistung des endgültigen Modells konzentriert, anstatt es iterativ zu verbessern.

Es ist wichtig, häufig auftretende Probleme gründlich zu testen und zu debuggen. Teste dein Modell mit einem separaten Testdatensatz, der während des Trainings oder der Validierung nicht verwendet wurde. Dieser Datensatz sollte reale Szenarien widerspiegeln, um sicherzustellen, dass die Leistung des Modells konsistent und zuverlässig ist.

Behebe außerdem häufige Probleme wie Overfitting, underfitting und Data Leakage. Verwende Techniken wie cross-validation und anomaly detection, um diese Probleme zu identifizieren und zu beheben. Umfassende Teststrategien findest du in unserem model testing guide.

Schritt 7: Modell-Deployment#

Sobald dein Modell gründlich getestet wurde, ist es an der Zeit, es zu deployen. Model deployment umfasst die Bereitstellung deines Modells für die Nutzung in einer Produktionsumgebung. Hier sind die Schritte zum Deployen eines Computer-Vision-Modells:

  • Einrichten der Umgebung: Konfiguriere die notwendige Infrastruktur für deine gewählte Deployment-Option, sei es Cloud-basiert (AWS, Google Cloud, Azure) oder Edge-basiert (lokale Geräte, IoT).
  • Exporting the Model: Exporteure dein Modell in das entsprechende Format (z. B. ONNX, TensorRT, CoreML für YOLO26), um die Kompatibilität mit deiner Deployment-Plattform sicherzustellen.
  • Bereitstellen des Modells: Bereitstellen des Modells durch Einrichten von APIs oder Endpunkten und Integration in deine Anwendung.
  • Sicherstellung der Skalierbarkeit: Implementiere Load Balancer, Auto-Scaling-Gruppen und Überwachungstools, um Ressourcen zu verwalten und steigende Daten- und Benutzeranfragen zu bewältigen.

Ausführlichere Anleitungen zu Deployment-Strategien und Best Practices findest du in unserem model deployment practices guide. Die Ultralytics Platform bietet zudem verwaltete deployment endpoints mit automatischer Skalierung über 42 globale Regionen hinweg, wodurch die Infrastruktureinrichtung automatisch erfolgt.

Schritt 8: Überwachung, Wartung und Dokumentation#

Sobald dein Modell bereitgestellt ist, ist es wichtig, seine Leistung kontinuierlich zu überwachen, es zu warten, um Probleme zu beheben, und den gesamten Prozess für zukünftige Referenzen und Verbesserungen zu dokumentieren.

Überwachungstools können dir helfen, wichtige Leistungsindikatoren (KPIs) zu verfolgen und Anomalien oder Genauigkeitsabfälle zu erkennen. Durch die Überwachung des Modells kannst du auf Modell-Drift aufmerksam werden, bei dem die Leistung des Modells im Laufe der Zeit aufgrund von Änderungen in den Eingabedaten abnimmt. Trainiere das Modell regelmäßig mit aktualisierten Daten nach, um Genauigkeit und Relevanz zu erhalten.

Model monitoring and maintenance lifecycle

Neben Monitoring und Wartung ist auch die Dokumentation von entscheidender Bedeutung. Dokumentiere den gesamten Prozess sorgfältig, einschließlich Modellarchitektur, Trainingsverfahren, Hyperparametern, Datenvorbereitungsschritten und allen während des Deployments und der Wartung vorgenommenen Änderungen. Eine gute Dokumentation gewährleistet die Reproduzierbarkeit und erleichtert zukünftige Updates oder die Fehlerbehebung. Durch effektives monitoring, maintaining, and documenting your model kannst du sicherstellen, dass es während seines gesamten Lebenszyklus genau, zuverlässig und einfach zu verwalten bleibt.

Engagement in der Community#

Die Verbindung mit einer Gemeinschaft von Computer-Vision-Enthusiasten kann dir helfen, alle Probleme, denen du bei der Arbeit an deinem Computer-Vision-Projekt begegnest, mit Zuversicht anzugehen. Hier sind einige Möglichkeiten, effektiv zu lernen, Fehler zu beheben und dich zu vernetzen.

Community-Ressourcen#

  • GitHub Issues: Schau dir das YOLO26 GitHub repository an und nutze den Issues-Tab, um Fragen zu stellen, Bugs zu melden und neue Features vorzuschlagen. Die aktive Community und die Maintainer helfen bei spezifischen Problemen gerne weiter.
  • Ultralytics Discord Server: Tritt dem Ultralytics Discord server bei, um dich mit anderen Nutzern und Entwicklern auszutauschen, Unterstützung zu erhalten und Erkenntnisse zu teilen.

Offizielle Dokumentation#

  • Ultralytics YOLO26 Documentation: Entdecke die official YOLO26 documentation für detaillierte Leitfäden mit hilfreichen Tipps zu verschiedenen Computer-Vision-Aufgaben und Projekten.

Die Nutzung dieser Ressourcen wird dir helfen, Herausforderungen zu meistern und mit den neuesten Trends und Best Practices in der Computer-Vision-Community auf dem Laufenden zu bleiben.

Nächste Schritte#

Du hast nun einen Leitfaden für jede Phase eines Computer-Vision-Projekt, von der Zieldefinition bis zur Überwachung eines deployten Modells. Setze ihn in die Praxis um, indem du training your first YOLO model durchführst, oder vertiefe dich über die oben verlinkten Guides in jede einzelne Phase. Um die gesamte Pipeline ohne Code auszuführen, entdecke die Ultralytics Platform.

FAQ#

Wie wähle ich die richtige Computer-Vision-Aufgabe für mein Projekt aus?#

Die Wahl der richtigen Computer-Vision-Aufgabe hängt vom Endziel deines Projekts ab. Wenn du beispielsweise den Verkehr überwachen möchtest, ist object detection geeignet, da sie mehrere Fahrzeugtypen in Echtzeit lokalisieren und identifizieren kann. Für die medizinische Bildgebung ist image segmentation ideal, um detaillierte Tumorränder bereitzustellen und so bei Diagnose und Behandlungsplanung zu helfen. Erfahre mehr über spezifische Aufgaben wie object detection, instance segmentation, semantic segmentation und image classification.

Warum ist Datenannotation in Computer-Vision-Projekten entscheidend?#

Datenannotation ist wichtig, um deinem Modell beizubringen, Muster zu erkennen. Die Art der Annotation variiert je nach Aufgabe:

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

Der integrierte annotation editor in der Ultralytics Platform kann bei diesem Prozess helfen. Weitere Details findest du in unserem data collection and annotation guide.

Welche Schritte sollte ich befolgen, um meinen Datensatz effektiv zu augmentieren und aufzuteilen?#

Die Aufteilung deines Datensatzes vor der Augmentierung hilft dabei, die Modellleistung an originalen, unveränderten Daten zu validieren. Befolge diese Schritte:

  • Trainingsset: 70-80 % deiner Daten.
  • Validation Set: 10–15 % für hyperparameter tuning.
  • Testset: Verbleibende 10-15 % für die abschließende Bewertung.

Wende nach der Aufteilung Datenaugmentierungstechniken wie Rotation, Skalierung und Spiegelung an, um die Diversität des Datensatzes zu erhöhen. Bibliotheken wie Albumentations und OpenCV können dabei helfen. Ultralytics bietet zudem built-in augmentation settings für mehr Bequemlichkeit.

Wie kann ich mein trainiertes Computer-Vision-Modell für die Bereitstellung exportieren?#

Exportiere dein trainiertes Modell mit der Methode export und wähle ein Format, das zu deinem Deployment-Ziel passt. Ultralytics unterstützt mehrere Formate, darunter ONNX, TensorRT und CoreML. Folge diesen Schritten, um dein YOLO26-Modell zu exportieren:

  • Verwende die Methode export mit dem gewünschten Format-Parameter.
  • Stelle sicher, dass das exportierte Modell den Spezifikationen deiner Bereitstellungsumgebung entspricht (z. B. Edge-Geräte, Cloud).

Weitere Informationen findest du im model export guide.

Was sind die Best Practices für die Überwachung und Wartung eines bereitgestellten Computer-Vision-Modells?#

Kontinuierliches Monitoring und die Wartung sind für den langfristigen Erfolg eines Modells unerlässlich. Implementiere Tools zur Verfolgung von Key Performance Indicators (KPIs) und zur Erkennung von Anomalien. Trainiere das Modell regelmäßig mit aktualisierten Daten neu, um Model Drift entgegenzuwirken. Dokumentiere den gesamten Prozess, einschließlich Modellarchitektur, Hyperparametern und Änderungen, um Reproduzierbarkeit und die einfache Durchführung zukünftiger Updates zu gewährleisten. Erfahre mehr in unserem monitoring and maintenance guide.

Kommentare