Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten

Wie man Ultralytics YOLO trainiert, um Tiere in freier Wildbahn detect

Abirami Vina

5 Min. Lesezeit

15. April 2025

Lernen Sie, wie man YOLO trainiert, um Tiere in freier Wildbahn anhand des African Wildlife Dataset detect und das Modell zu verwenden, um Rückschlüsse auf ungesehene Bilder zu ziehen.

Die Tierwelt unseres Planeten ist unglaublich vielfältig, von summenden Bienen bis hin zu hoch aufragenden Elefanten, und die Erhaltung dieser Artenvielfalt ist der Schlüssel zur Aufrechterhaltung eines ausgewogenen Ökosystems. Die Naturschutzbemühungen werden jedoch aufgrund von Habitatverlust, Wilderei und Klimawandel immer schwieriger. All diese Faktoren wirken sich negativ auf die Wildtierpopulationen aus. 

Traditionelle Methoden der Tierüberwachung, wie die manuelle Analyse von Kamerafallenbildern und die Durchführung von Feldstudien, können langsam sein und viele Ressourcen erfordern. Diese Bemühungen reichen oft nicht aus, um große Gebiete und große Populationen effektiv abzudecken.

Um diese Einschränkungen zu überwinden, kann künstliche Intelligenz (KI) als wirkungsvolles Instrument für den Schutz von Wildtieren eingesetzt werden. Insbesondere Computer-Vision-Modelle wie Ultralytics YOLO11 können visuelle Daten wie Bilder und Videos analysieren, um die Identifizierung und Verfolgung von Tieren in Echtzeit zu automatisieren. 

Computer-Vision-Aufgaben wie Objekterkennung und Instanzsegmentierung, die von YOLO11 unterstützt werden, sind hier sehr nützlich. Durch die Analyse visueller Daten helfen uns diese Aufgaben, wichtige Daten zu sammeln, ökologische Muster zu erkennen und effektiver auf Umweltbedrohungen zu reagieren.

In diesem Artikel gehen wir durch den Prozess des Trainings von YOLO11 , um Tiere detect . Los geht's!

Erste Schritte mit Ultralytics YOLO11

Bevor wir in das Tutorial eintauchen, werfen wir einen Blick auf die verschiedenen Einrichtungsoptionen und Werkzeuge, die Sie zum Trainieren und Verwenden von YOLO11 benötigen. 

Das wichtigste Werkzeug, das Sie benötigen, ist das Python , das die Arbeit mit YOLO für Aufgaben wie Training, Erkennung von Objekten und Durchführung von Schlussfolgerungen erleichtert. Um das Ultralytics zu verwenden, müssen Sie eine Umgebung für die Ausführung Ihres Codes einrichten, und es gibt verschiedene Optionen, aus denen Sie wählen können.

Hier sind einige der beliebtesten Optionen zum Einrichten Ihrer Entwicklungsumgebung:

  • Befehlszeilenschnittstelle (CLI): Die CLI, auch bekannt als Terminal, ist ein textbasiertes Werkzeug, mit dem Sie durch die Eingabe von Befehlen mit Ihrem Computer interagieren können. Im Gegensatz zu grafischen Oberflächen (GUIs), bei denen Sie auf Schaltflächen klicken und eine Maus verwenden, müssen Sie bei der CLI Textanweisungen eingeben, um Programme auszuführen oder Aufgaben zu erledigen.
  • Jupyter Notebooks: Diese Notebooks ermöglichen es Ihnen, Code in kleinen Abschnitten, sogenannten Zellen, zu schreiben und auszuführen. Sie sind interaktiv, was bedeutet, dass Sie die Ausgabe Ihres Codes sofort sehen können, was das Testen und Debuggen erleichtert.
  • Google Colab: Google Colab ist eine Cloud-basierte Plattform, die wie Jupyter Notebooks funktioniert, aber kostenlosen Zugang zu leistungsstarken GPUs bietet. Es ist einfach einzurichten und Sie müssen nichts auf Ihrem Computer installieren.

Es gibt zwar noch weitere Optionen für die Einrichtung Ihrer Umgebung, die Sie in der offiziellen Ultralytics nachlesen können, aber die drei oben genannten Optionen erfordern nur sehr wenig Einrichtungsaufwand und sind einfach zu verwenden, so dass sie ideal für einen schnellen Einstieg sind. 

In diesem Tutorial zeigen wir, wie man YOLO11 mit Google Colab, Jupyter Notebooks oder einer einfachen Python einrichtet und trainiert, da die Schritte in all diesen Umgebungen sehr ähnlich sind.

Das Verständnis des African Wildlife Datasets

Nach der Auswahl einer Entwicklungsumgebung benötigen wir zum Trainieren von YOLO11 für die detect Wildtieren einen hochwertigen Datensatz mit beschrifteten Bildern. Jedes Bild sollte deutlich zeigen, wo sich die Tiere befinden und um welche Art es sich handelt, damit das Modell durch überwachtes Lernen lernen kann, sie zu erkennen.

In diesem Lernprogramm verwenden wir den African Wildlife Dataset. Er wird vomPython unterstützt und ist speziell für die Erkennung von Tieren konzipiert, die in afrikanischen Ökosystemen häufig vorkommen. Er enthält kommentierte Bilder von vier wichtigen Arten: Büffel, Elefanten, Nashörner und Zebras.

Abb. 1. Ein Einblick in den African Wildlife Dataset.

Hier sind einige der wichtigsten Merkmale des African Wildlife Datasets:

  • Skalierung: Der Datensatz besteht aus 1504 Bildern, die in drei Teilmengen unterteilt sind: 1052 für das Training, 225 für die Validierung und 227 für das Testen. Diese Aufteilung stellt sicher, dass das Modell effektiv lernt und gründlich evaluiert wird.

  • Nahtlose Integration: Ultralytics stellt eine YAML-Konfigurationsdatei zur Verfügung, in der Datensatzpfade, Klassen und andere Details definiert sind, was die Verwendung beim Training von YOLO erleichtert.

  • Offene Lizenz: Dieser Datensatz wird unter der AGPL-3.0 verbreitet, um Transparenz und Zusammenarbeit zu fördern.

Schulung von Ultralytics YOLO11 zur Erkennung von Tieren

Nachdem wir nun den African Wildlife Dataset erkundet haben, können wir mit dem Training eines YOLO11 zur detect Tieren in Bildern beginnen. Der Prozess umfasst das Einrichten der Entwicklungsumgebung, das Trainieren des YOLO11 und das Auswerten der Leistung des Modells.

Schritt 1: Einrichten der Umgebung

Für den Anfang bereiten wir eine Umgebung zum Trainieren und Testen des Modells vor. Je nach Vorliebe können Google Colab, Jupyter Notebooks oder eine einfache Python verwendet werden. Erstellen Sie entsprechend ein neues Google Colab-Notizbuch, ein Jupyter-Notizbuch oder eine Python .

Wenn Sie Google Colab verwenden, läuft die Umgebung standardmäßig auf einer CPU (Central Processing Unit), was das Training verlangsamen kann. Um den Prozess zu beschleunigen, insbesondere bei größeren Modellen, können Sie die Laufzeit auf die Verwendung eines GPU umstellen. In Google Colab können Sie im Menü zur Registerkarte "Runtime" navigieren, "Change runtime type" auswählen und den Hardware-Beschleuniger auf eine GPU (vorzugsweise eine T4 GPU) einstellen. Dies ist wichtig, um die Trainingszeiten zu verkürzen.

Als Nächstes müssen Sie unabhängig von der von Ihnen verwendeten Umgebung dasPython installieren. Wenn Sie eine Notebook-basierte UmgebungGoogle Colab oder Jupyter) verwenden, führen Sie den folgenden Befehl mit einem Ausrufezeichen (!) am Anfang aus

pip install ultralytics

Schritt 2: Laden von YOLO11 und Vorbereitung des Datensatzes

Nach der Installation des Ultralytics ist der nächste Schritt das Laden des YOLO11 und die Vorbereitung des Datensatzes für das Training. Zunächst laden wir das YOLO11 , das bereits für allgemeine Objekterkennungsaufgaben trainiert wurde. Dieses bereits trainierte Modell bietet uns einen guten Ausgangspunkt, da es bereits gelernt hat, wie man verschiedene Objekte detect .

Anschließend legen wir den Datensatz mithilfe einer YAML-Datei fest, die Informationen über die Bilder und Beschriftungen enthält. Diese Datei teilt dem Modell mit, wo es den Datensatz findet und welche Objekte es erkennen soll. 

Der African Wildlife Dataset wird vom Ultralytics unterstützt, d. h. er wird automatisch heruntergeladen, wenn Sie das Training starten, so dass Sie ihn nicht manuell einrichten müssen.

Sobald der Datensatz fertig ist, beginnt das Modell mit dem Training. Das Modell durchläuft den Datensatz mehrmals, ein Prozess, der als Training über mehrere Epochen bezeichnet wird, um seine Fähigkeit zu verbessern, Tiere in den Bildern zu erkennen. Während dieses Prozesses werden die Bilder auf eine einheitliche Größe für die Verarbeitung skaliert, und das Modell arbeitet mit einer bestimmten Anzahl von Bildern gleichzeitig, die als Batch bezeichnet wird. Dies hilft dem Modell, effizienter zu lernen.

Kurz gesagt, das Modell wird geladen, der Datensatz wird automatisch heruntergeladen, und das Training beginnt, um Tiere auf der Grundlage des African Wildlife Dataset detect , wenn der unten stehende Codeausschnitt ausgeführt wird.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)

Schritt 3: YOLO11

Sobald der obige Code-Schnipsel ausgeführt wurde, beginnt das Modell mit dem Training basierend auf den Einstellungen, die wir ihm gegeben haben. Wir haben dem Modell durch den Code mitgeteilt, dass es die Trainingsbilder 30 Mal durchlaufen soll. Das bedeutet, dass sich das Modell alle Bilder im Datensatz 30 Mal ansieht und jedes Mal etwas mehr lernt.

Stellen Sie sich vor, Sie versuchen, das Zeichnen eines Tieres zu lernen. Wenn Sie das erste Mal zeichnen, sieht es vielleicht nicht gut aus, aber nachdem Sie immer wieder geübt haben, werden Sie besser. Jedes Mal, wenn Sie es erneut versuchen, lernen Sie aus dem, was schief gelaufen ist, und beheben es. Das ist es, was jede Epoche für das Modell tut - es betrachtet die Bilder, macht Fehler, lernt daraus und wird jedes Mal besser darin, Tiere zu erkennen.

Wenn der Trainingscode erfolgreich ausgeführt wird, sehen Sie die folgende Ausgabe, während das Training fortschreitet:

  • Trainingsaufbau: Der erste Teil zeigt die Version von Ultralytics, PyTorch und die verwendete HardwareCPU in diesem FallCPU ), zusammen mit der Trainingskonfiguration, einschließlich des Modells (yolo11n.pt), der Stapelgröße, der Epochen und der Bildgröße.
  • Modellzusammenfassung: Sie liefert Informationen über die Komplexität des Modells, wie z. B. die Anzahl der Schichten und Parameter, und zeigt, wie groß das Modell ist.
  • Optimierer und Lernrate: Hier werden der Optimierer (z. B. AdamW) und die Lernrate erwähnt, die steuern, wie das Modell seine Parameter während des Trainings anpasst.
  • Datensatz-Scanning: Das Modell scannt den Datensatz und zeigt, wie viele Bilder gültig und bereit für das Training sind. Es bestätigt, dass es keine Probleme mit dem Datensatz gibt.
  • Trainingsfortschritt: Die Ausgabe wird nach jeder Epoche (Trainingszyklus) aktualisiert und zeigt den Trainingsfortschritt zusammen mit den wichtigsten Verlustwerten (box_loss, cls_loss, dfl_loss), die angeben, wie gut das Modell lernt.
  • Leistungsmetriken: Nach jeder Epoche werden Leistungskennzahlen wie Präzision, Recall und mAP (mittlere durchschnittliche Präzision) angezeigt. Diese Werte zeigen, wie genau das Modell bei der Erkennung und Klassifizierung von Objekten ist.
  • GPU : Wenn Sie einen GPU verwenden, zeigt die Ausgabe die Speichernutzung an, um track Hardwareauslastung track .
Abb. 2. Die Ausgabe, die Sie während des Modelltrainings sehen werden.

Schritt 4: Evaluierung der Leistung des benutzerdefiniert trainierten Modells

Nach Abschluss des Trainingsprozesses können Sie die Leistungskennzahlen des Modells überprüfen und validieren. In Google Colab können Sie zum Ordner "runs", dann zum Ordnerdetect" und schließlich zum Ordner "train" navigieren, wo Sie die Protokolle mit den wichtigsten Leistungsindikatoren finden.

Für Benutzer in einer Python werden die Trainingsergebnisse standardmäßig im Verzeichnis "runs/train/" in Ihrem aktuellen Arbeitsverzeichnis gespeichert. Jeder Trainingslauf erstellt ein neues Unterverzeichnis (z. B. runs/train/exp, runs/train/exp2 usw.), in dem Sie die Protokolle und andere Ausgaben im Zusammenhang mit dem Training finden können.

Wenn Sie die CLI verwenden, können Sie auf diese Ergebnisse und Einstellungen leicht zugreifen, indem Sie den Befehl "yolo settings" verwenden, mit dem Sie die Pfade und andere Konfigurationen im Zusammenhang mit den Trainingsprotokollen und Experimentdetails anzeigen oder ändern können.

Unter den Protokollen finden Sie auch einige Diagramme, die Sie sich ansehen können, um zu sehen, wie gut der Modelltrainingsprozess verlaufen ist. Diese Diagramme, die nach Abschluss des Trainings erstellt werden, zeigen, ob sich das Modell im Laufe der Zeit verbessert hat, indem es weniger Fehler gemacht hat und genauer geworden ist. 

Sie track Fortschritt des Modells und zeigen, wie der Verlust (die Differenz zwischen den Vorhersagen des Modells und den tatsächlichen Werten) abnimmt und wie die Genauigkeit während des Trainings zunimmt. So können Sie nachvollziehen, wie gut das Modell gelernt hat, Tiere zu erkennen, und wie sehr es sich bis zum Ende des Trainings verbessert hat.

Abb. 3. Ein Beispiel für die Diagramme, die Sie zur Bewertung Ihres Modells analysieren können.

Wichtige Metriken zur Leistungsbewertung

Hier ist auch ein genauerer Blick auf einige der Metriken, mit denen Sie die Leistung des Modells bewerten können:

  • Mittlere durchschnittliche Genauigkeit (mAP): Diese Metrik misst die Gesamtgenauigkeit des Modells bei der Erkennung von Tieren über alle Klassen hinweg, indem die Präzisionswerte bei verschiedenen Recall-Werten gemittelt werden.
  • Präzision: Dies stellt den Prozentsatz der Erkennungen dar, die korrekt sind, berechnet durch Division der Anzahl der korrekt positiven Erkennungen durch die Gesamtzahl der vorgenommenen Erkennungen.
  • Recall (Trefferquote): Sie gibt den Prozentsatz der tatsächlichen Tiere in den Bildern an, die vom Modell korrekt identifiziert wurden, und spiegelt dessen Fähigkeit wider, alle relevanten Instanzen zu erfassen.

Diese Evaluationsmetriken können helfen, das Modell feinabzustimmen, um die Genauigkeit zu verbessern, bevor es in realen Anwendungen eingesetzt wird.

Ausführen von Schlussfolgerungen mit Ihrem individuell trainierten YOLO11

Nun, da wir YOLO11 trainiert und bewertet haben, ist es an der Zeit, es zur Analyse von Bildern und zur Durchführung von Schlussfolgerungen zu verwenden. Sie können die Testbilder aus dem Datensatz oder neue Bilder aus verschiedenen Quellen verwenden.

Wir verwenden den folgenden Codeausschnitt, um das Modell auf einem Bild im Testdatensatz auszuführen. Er importiert die erforderlichen Module aus der Ultralytics . Anschließend wird der Pfad zur Datei mit den besten Modellgewichten ("best.pt") definiert, die im Verzeichnis der Ergebnisse gespeichert ist. Das benutzerdefinierte YOLO11 wird mit diesen Gewichten geladen. 

Danach wird der Pfad zu einem Bild aus dem African Wildlife Testdatensatz festgelegt. Das Modell wird auf dieses Bild zur Objekterkennung angewendet, die Ergebnisse werden generiert und die Ausgabe (z. B. erkannte Objekte oder Annotationen) wird gespeichert.

from ultralytics import settings

best_model_path = results.save_dir / "weights/best.pt"

model = YOLO(best_path)

image_path = f"{settings['datasets_dir']}/african-wildlife/test/images/1 (168).jpg"

img_results = model(image_path, save=True) 

Das unten gezeigte Ausgabebild wird im Ordner "predict" gespeichert, der sich im Verzeichnis detect befindet. Für nachfolgende Tests werden neue Ordner wie "predict2", "predict3" usw. erstellt, um die Bilder zu speichern.

Abb. 4. Durchführung einer Inferenz mit dem feinabgestimmten YOLO11 auf einem Testbild.

Um Bilder aus verschiedenen Quellen zu testen, können Sie den folgenden Code verwenden. Wir haben ein Bild von Pexels verwendet. Sie können dasselbe Bild oder ein anderes relevantes Bild verwenden.

best_model_path = results.save_dir / "weights/best.pt"

model = YOLO(best_path)

img2_results = model("https://images.pexels.com/photos/18341011/pexels-photo-18341011/free-photo-of-elephant-and-zebras-in-savannah.png", save=True)

Das unten gezeigte Ausgabebild wird im entsprechenden Ordner gespeichert.

Abb. 5. Erkennung von Wildtieren mit dem fein abgestimmten YOLO11 auf einem ungesehenen Bild.

KI für den Schutz von Wildtieren: Anwendungen in der realen Welt

Modelle wie YOLO11 können Tiere automatisch detect und track , was eine Vielzahl von praktischen Anwendungen ermöglicht. Hier ein kleiner Einblick in einige der wichtigsten Bereiche, in denen Vision AI zur Unterstützung der Bemühungen zum Schutz der Tierwelt eingesetzt werden kann:

  • Überwachung von Arten: Mit Hilfe von KI können visuelle Daten wie Bilder und Videos verarbeitet werden, um Arten genau zu identifizieren, Populationen zu zählen und ihre Bewegungen im Laufe der Zeit track .
  • Intelligente Kamerawarnungen: In abgelegenen Gebieten kann die Computer Vision eingesetzt werden, um Tiere kontinuierlich classify und Echtzeitwarnungen zu senden, so dass Wildtierbehörden schnell auf Bedrohungen wie abnormales Tierverhalten oder Konflikte zwischen Mensch und Tier reagieren können.
  • Verhaltensanalyse: Durch die Überwachung von Migration, Fressgewohnheiten und sozialen Interaktionen können Vision-KI-Systeme umfassende Einblicke in die Dynamik zwischen den Arten liefern.
  • Prävention von Wilderei: Vision AI kann eingesetzt werden, um die Anwesenheit unbefugter Menschen und Anzeichen von Wilderei detect und gleichzeitig maschinelles Lernen und historische Daten zu nutzen, um Risiko-Hotspots zu lokalisieren.

Wesentliche Erkenntnisse

Computer-Vision-Modelle wie YOLO11 können eine Schlüsselrolle beim Schutz von Wildtieren spielen, indem sie die Erkennung und Verfolgung von Tieren automatisieren. Mit Vision AI können wir große Mengen an Bildern und Videos aus verschiedenen Quellen verarbeiten, was eine genaue Bewertung von Wildtieren ermöglicht. 

Ultralytics YOLO11 eignet sich besonders gut für die Objekterkennung in Echtzeit und ist damit die perfekte Lösung für Aufgaben wie die Überwachung von Wilderern, Verhaltensanalysen und die Überwachung von Ökosystemen. Durch die Einbeziehung von KI-gesteuerten Modellen in die Naturschutzbemühungen können wir Arten besser schützen, die Verfolgung der Artenvielfalt verbessern und fundiertere Entscheidungen zum Schutz gefährdeter Wildtiere treffen.

Werden Sie Mitglied unserer Community und erkunden Sie das GitHub-Repository, um mehr über Computer Vision zu erfahren. Entdecken Sie weitere Anwendungen im Zusammenhang mit KI im Gesundheitswesen und Computer Vision in der Fertigung auf unseren Lösungsseiten. Informieren Sie sich über die Ultralytics , um mit Vision AI zu beginnen.

Lasst uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise mit der Zukunft des maschinellen Lernens

Kostenlos starten