Link to this sectionDie wichtigsten Schritte in einem Computer-Vision-Projekt verstehen#
Link to this sectionEinführung#
Computer Vision ist ein Teilbereich der künstlichen Intelligenz (KI), der Computern hilft, die Welt so zu sehen und zu verstehen wie Menschen. Sie verarbeitet und analysiert Bilder oder Videos, um Informationen zu extrahieren, Muster zu erkennen und auf Basis dieser Daten Entscheidungen zu treffen.
Computer-Vision-Techniken wie Objekterkennung, Bildklassifizierung und Instanzsegmentierung können in verschiedenen Branchen eingesetzt werden, vom autonomen Fahren bis hin zur medizinischen Bildgebung, um wertvolle Erkenntnisse zu gewinnen.
Die Arbeit an eigenen Computer-Vision-Projekten ist eine großartige Möglichkeit, Computer Vision zu verstehen und mehr darüber zu erfahren. Ein Computer-Vision-Projekt kann jedoch aus vielen Schritten bestehen und anfangs verwirrend erscheinen. Am Ende dieses Leitfadens wirst du mit den Schritten vertraut sein, die ein Computer-Vision-Projekt umfasst. Wir gehen alles von Anfang bis Ende durch und erklären, warum jeder Teil wichtig ist.
Link to this sectionEin Ü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:
- Deine erste Priorität wäre es, die Anforderungen deines Projekts zu verstehen.
- Dann würdest du die Bilder sammeln und präzise kennzeichnen (labeln), die beim Training deines Modells helfen.
- Als Nächstes würdest du deine Daten bereinigen und Augmentierungstechniken anwenden, um sie für das Modelltraining vorzubereiten.
- Nach dem Modelltraining würdest du dein Modell gründlich testen und bewerten, um sicherzustellen, dass es unter verschiedenen Bedingungen konsistent funktioniert.
- Schließlich würdest du dein Modell in der realen Welt einsetzen und es basierend auf neuen Erkenntnissen und Feedback aktualisieren.
Jetzt, da wir wissen, was uns erwartet, lass uns direkt in die Schritte eintauchen und dein Projekt voranbringen.
Link to this sectionSchritt 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-Aufgabe: Bildklassifizierung ist hier ideal, da sie jeweils ein Dokument verarbeitet, ohne die Position des Dokuments im Bild berücksichtigen zu müssen. Dieser Ansatz vereinfacht und beschleunigt den Sortierprozess.
Link to this sectionSchritt 1.5: Auswahl des richtigen Modells und Trainingsansatzes#
Nachdem du das Projektziel und die geeigneten Computer-Vision-Aufgaben verstanden hast, ist ein wesentlicher Teil der Zieldefinition die Auswahl des richtigen Modells und des Trainingsansatzes.
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 Entscheidung zwischen einem Training von Grund auf oder der Verwendung von Transfer Learning beeinflusst, wie du deine Daten vorbereitest. Das Training von Grund auf erfordert einen vielfältigen Datensatz, um das Verständnis des Modells von Grund auf aufzubauen. Transfer Learning ermöglicht es dir hingegen, ein vortrainiertes Modell zu verwenden und es mit einem kleineren, spezifischeren Datensatz anzupassen. Außerdem bestimmt die Wahl eines bestimmten Modells für das Training, wie du deine Daten vorbereiten musst, z. B. durch das Ändern der Bildgröße oder das Hinzufügen von Annotationen gemäß den spezifischen Anforderungen des Modells.
Hinweis: Berücksichtige bei der Auswahl eines Modells dessen Deployment, um Kompatibilität und Leistung sicherzustellen. Leichtgewichtige Modelle sind aufgrund ihrer Effizienz auf ressourcenbeschränkten Geräten beispielsweise ideal für Edge Computing. Um mehr über die wichtigsten Punkte zur Definition deines Projekts zu erfahren, lies unseren Leitfaden zur Definition der Projektziele und zur Auswahl des richtigen Modells.
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.
Link to this sectionSchritt 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, deine eigenen Bilder machen oder bestehende Datensätze verwenden. Hier sind einige großartige Ressourcen 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, was den Einstieg in hochwertige Daten erleichtert. Diese Bibliotheken enthalten oft Dienstprogramme für die nahtlose Verwendung beliebter Datensätze, was dir in den Anfangsphasen deines Projekts viel Zeit und Mühe sparen kann.
Wenn du dich jedoch entscheidest, Bilder zu sammeln oder deine eigenen aufzunehmen, musst du deine Daten annotieren. Datenannotation ist der Prozess der Kennzeichnung deiner Daten, um deinem Modell Wissen zu vermitteln. Die Art der Datenannotation, mit der du arbeitest, hängt von deiner spezifischen Computer-Vision-Technik ab. Hier sind einige Beispiele:
- Bildklassifizierung: Du kennzeichnest das gesamte Bild als eine einzige Klasse.
- Objekterkennung: Du zeichnest Begrenzungsrahmen (BBoxes) um jedes Objekt im Bild und beschriftest jeden Rahmen.
- Bildsegmentierung: Du kennzeichnest jedes Pixel im Bild entsprechend dem Objekt, zu dem es gehört, und erstellst detaillierte Objektgrenzen.
Datensammlung und Annotation kann ein zeitaufwendiger manueller Aufwand sein. Annotationstools können helfen, diesen Prozess zu vereinfachen. Hier sind einige nützliche Open-Source-Annotationstools: Label Studio, CVAT und Labelme.
Link to this sectionSchritt 3: Datenaugmentierung und Aufteilung deines Datensatzes#
Nachdem du deine Bilddaten gesammelt und annotiert hast, ist es wichtig, deinen Datensatz zuerst in Trainings-, Validierungs- und Testsets aufzuteilen, bevor du eine Datenaugmentierung durchführst. Die Aufteilung deines Datensatzes vor der Augmentierung ist entscheidend, um dein Modell an originalen, unveränderten Daten zu testen und zu validieren. Dies hilft dabei, genau zu beurteilen, wie gut das Modell auf neue, ungesehene Daten generalisiert.
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.
- Validierungsset: Normalerweise etwa 10-15 % deiner Daten; dieses Set wird verwendet, um Hyperparameter abzustimmen 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.
Bibliotheken wie OpenCV, Albumentations und TensorFlow bieten flexible Augmentierungsfunktionen, die du verwenden kannst. Darüber hinaus verfügen einige Bibliotheken, wie z. B. Ultralytics, über integrierte Augmentierungseinstellungen direkt in ihrer Modelltrainingsfunktion, was den Prozess vereinfacht.
To understand your data better, you can use tools like Matplotlib or Seaborn to visualize the images and analyze their distribution and characteristics. Visualizing your data helps identify patterns, anomalies, and the effectiveness of your augmentation techniques. The Ultralytics Platform Charts tab can surface many of these insights without any code by automatically generating split distribution, class counts, image-dimension histograms, and annotation-position heatmaps for every uploaded dataset.
Indem du deine Daten ordnungsgemäß verstehst, aufteilst und augmentierst, kannst du ein gut trainiertes, validiertes und getestetes Modell entwickeln, das in realen Anwendungen gut funktioniert.
Link to this sectionSchritt 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.
Dann kannst du deine Trainings- und Validierungsdatensätze in deine Umgebung laden. Normalisiere und verarbeite die Daten durch Skalierung, Formatkonvertierung oder Augmentierung. Konfiguriere nach der Auswahl deines Modells die Ebenen und gib Hyperparameter an. Kompiliere das Modell, indem du die Verlustfunktion, den Optimierer und die Leistungsmetriken festlegst.
Bibliotheken wie Ultralytics vereinfachen den Trainingsprozess. Du kannst mit dem Training beginnen, indem du Daten mit minimalem Code in das Modell einspeist. Diese Bibliotheken übernehmen Gewichtungsanpassungen, Backpropagation und Validierung automatisch. Sie bieten auch Tools, um den Fortschritt zu überwachen und Hyperparameter einfach anzupassen. Speichere das Modell und seine Gewichte nach dem Training mit wenigen Befehlen.
Es ist wichtig zu bedenken, dass ein ordnungsgemäßes Datensatzmanagement für ein effizientes Training unerlässlich ist. Verwende 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.
Link to this sectionSchritt 5: Modellevaluierung und Modell-Fine-Tuning#
Es ist wichtig, die Leistung deines Modells anhand verschiedener Metriken zu bewerten und es zu verfeinern, um die Genauigkeit zu verbessern. Die Evaluierung hilft dabei, Bereiche zu identifizieren, in denen das Modell hervorragt und wo es möglicherweise verbessert werden muss. Fine-Tuning stellt sicher, dass das Modell für die bestmögliche Leistung optimiert ist.
- Leistungsmetriken: Verwende Metriken wie Genauigkeit (Accuracy), Präzision, Recall und F1-Score, um die Leistung deines Modells zu bewerten. Diese Metriken geben Einblicke in die Qualität der Vorhersagen deines Modells.
- Hyperparameter-Tuning: Passe Hyperparameter an, um die Modellleistung zu optimieren. Techniken wie Grid Search oder 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 steigern. Dies kann die Feinabstimmung von Lernraten, Batch-Größen oder anderen Modellparametern beinhalten.
Für ein tieferes Verständnis von Modellevaluierung und Fine-Tuning-Techniken, schau dir unseren Leitfaden zu Modellerkenntnissen an.
Link to this sectionSchritt 6: Modelltest#
In diesem Schritt kannst du sicherstellen, dass dein Modell bei völlig ungesehenen Daten gut funktioniert, was seine Einsatzbereitschaft bestätigt. Der Unterschied zwischen Modelltest und Modellevaluierung besteht darin, dass es sich darauf konzentriert, die Leistung des endgültigen Modells zu verifizieren, 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.
Gehe auch auf häufige Probleme wie Overfitting, Underfitting und Daten-Leakage ein. Verwende Techniken wie Kreuzvalidierung und Anomalieerkennung, um diese Probleme zu identifizieren und zu beheben. Für umfassende Teststrategien, siehe unseren Modelltest-Leitfaden.
Link to this sectionSchritt 7: Modell-Deployment#
Sobald dein Modell gründlich getestet wurde, ist es an der Zeit, es bereitzustellen. Modell-Deployment bedeutet, dein Modell für den Einsatz in einer Produktionsumgebung verfügbar zu machen. Hier sind die Schritte zur Bereitstellung 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).
- Exportieren des Modells: Exportiere 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.
Für detailliertere Anleitungen zu Deployment-Strategien und Best Practices, schau dir unseren Leitfaden zu Deployment-Praktiken an. Die Ultralytics Platform bietet auch verwaltete Deployment-Endpunkte mit Auto-Scaling über 43 globale Regionen, die die Infrastruktureinrichtung automatisch übernehmen.
Link to this sectionSchritt 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.
Neben Überwachung und Wartung ist auch die Dokumentation entscheidend. Dokumentiere den gesamten Prozess gründlich, einschließlich Modellarchitektur, Trainingsverfahren, Hyperparametern, Datenvorbereitungsschritten und allen Änderungen, die während der Bereitstellung und Wartung vorgenommen wurden. Eine gute Dokumentation stellt die Reproduzierbarkeit sicher und erleichtert zukünftige Updates oder Fehlerbehebungen. Durch das effektive Überwachen, Warten und Dokumentieren deines Modells kannst du sicherstellen, dass es über seinen Lebenszyklus hinweg genau, zuverlässig und einfach zu verwalten bleibt.
Link to this sectionEngagement 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.
Link to this sectionCommunity-Ressourcen#
- GitHub Issues: Schau dir das YOLO26 GitHub-Repository an und nutze den Issues-Tab, um Fragen zu stellen, Fehler zu melden und neue Funktionen vorzuschlagen. Die aktive Community und die Betreuer sind da, um bei spezifischen Problemen zu helfen.
- Ultralytics Discord-Server: Tritt dem Ultralytics Discord-Server bei, um mit anderen Benutzern und Entwicklern zu interagieren, Unterstützung zu erhalten und Erkenntnisse auszutauschen.
Link to this sectionOffizielle Dokumentation#
- Ultralytics YOLO26-Dokumentation: Erkunde die offizielle YOLO26-Dokumentation für detaillierte Anleitungen 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.
Link to this sectionNächste Schritte#
Ein Computer-Vision-Projekt in Angriff zu nehmen kann aufregend und lohnend sein. Indem du die Schritte in diesem Leitfaden befolgst, kannst du eine solide Grundlage für den Erfolg aufbauen. Jeder Schritt ist entscheidend für die Entwicklung einer Lösung, die deine Ziele erfüllt und in realen Szenarien gut funktioniert. Mit zunehmender Erfahrung wirst du fortgeschrittene Techniken und Tools entdecken, um deine Projekte zu verbessern.
Link to this sectionFAQ#
Link to this sectionWie 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 Objekterkennung geeignet, da sie mehrere Fahrzeugtypen in Echtzeit lokalisieren und identifizieren kann. Für die medizinische Bildgebung ist Bildsegmentierung ideal, um detaillierte Tumor-Grenzen bereitzustellen, was bei der Diagnose und Behandlungsplanung hilft. Erfahre mehr über spezifische Aufgaben wie Objekterkennung, Instanzsegmentierung, semantische Segmentierung und Bildklassifizierung.
Link to this sectionWarum 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.
Tools wie Label Studio, CVAT und Labelme können bei diesem Prozess helfen. Weitere Details findest du in unserem Leitfaden zur Datensammlung und Annotation.
Link to this sectionWelche 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.
- Validierungsset: 10-15 % für das Hyperparameter-Tuning.
- Testset: Verbleibende 10-15 % für die abschließende Bewertung.
Wende nach dem Aufteilen Datenerweiterungstechniken wie Rotation, Skalierung und Spiegelung an, um die Vielfalt deines Datensatzes zu erhöhen. Bibliotheken wie Albumentations und OpenCV können dabei helfen. Ultralytics bietet auch integrierte Erweiterungseinstellungen für mehr Komfort.
Link to this sectionWie kann ich mein trainiertes Computer-Vision-Modell für die Bereitstellung exportieren?#
Der Export deines Modells stellt die Kompatibilität mit verschiedenen Bereitstellungsplattformen sicher. Ultralytics bietet mehrere Formate an, darunter ONNX, TensorRT und CoreML. Um dein YOLO26-Modell zu exportieren, folge dieser Anleitung:
- Verwende die
export-Funktion mit dem gewünschten Formatparameter. - Stelle sicher, dass das exportierte Modell den Spezifikationen deiner Bereitstellungsumgebung entspricht (z. B. Edge-Geräte, Cloud).
Weitere Informationen findest du in der Anleitung zum Modell-Export.
Link to this sectionWas sind die Best Practices für die Überwachung und Wartung eines bereitgestellten Computer-Vision-Modells?#
Kontinuierliche Überwachung und Wartung sind entscheidend für den langfristigen Erfolg eines Modells. Implementiere Tools zur Verfolgung von Key Performance Indicators (KPIs) und zur Erkennung von Anomalien. Trainiere das Modell regelmäßig mit aktualisierten Daten nach, um einer Modell-Drift entgegenzuwirken. Dokumentiere den gesamten Prozess, einschließlich Modellarchitektur, Hyperparameter und Änderungen, um Reproduzierbarkeit und einfache zukünftige Updates zu gewährleisten. Erfahre mehr in unserem Leitfaden zur Überwachung und Wartung.