Wie man Ultralytics YOLO-Modelle zur Erkennung von Tieren in freier Wildbahn trainiert
Lerne, wie du YOLO-Modelle trainierst, um Tiere in freier Wildbahn mithilfe des African-Wildlife-Datasets zu erkennen, und verwende das Modell, um Inferenz auf ungesehenen Bildern auszuführen.

Die Tierwelt unseres Planeten ist unglaublich vielfältig, von summenden Bienen bis hin zu riesigen Elefanten, und der Erhalt dieser Artenvielfalt ist der Schlüssel zur Aufrechterhaltung eines ausgewogenen Ökosystems. Naturschutzbemühungen werden jedoch aufgrund von Lebensraumverlust, Wilderei und Klimawandel zunehmend schwieriger. All diese Faktoren beeinträchtigen die Tierpopulationen negativ.
Herkömmliche Methoden zur Tierüberwachung, wie die manuelle Analyse von Kamerafallenbildern und die Durchführung von Feldstudien, können langsam sein und erfordern viele Ressourcen. Diese Bemühungen decken große Gebiete und Populationen oft nicht effektiv ab.
Um diese Einschränkungen zu überwinden, kann künstliche Intelligenz (KI) als wirkungsvolles Werkzeug im Naturschutz eingesetzt werden. Insbesondere Computervisionsmodelle wie Ultralytics YOLO11 können visuelle Daten wie Bilder und Videos analysieren, um die Echtzeit-Identifizierung und -Verfolgung von Tieren zu automatisieren.
Computervisionsaufgaben wie Objekterkennung und Instanzsegmentierung, die von YOLO11 unterstützt werden, sind hier sehr nützlich. Durch die Analyse visueller Daten helfen uns diese Aufgaben dabei, wichtige Daten zu sammeln, ökologische Muster zu identifizieren und effektiver auf Umweltbedrohungen zu reagieren.
In diesem Artikel führen wir dich durch den Prozess des Trainings von YOLO11 zur Erkennung von Tieren. Fangen wir an!
Link to this sectionErste Schritte mit Ultralytics YOLO11#
Bevor wir in das Tutorial eintauchen, schauen wir uns die verschiedenen Einrichtungsoptionen und Werkzeuge an, die du zum Trainieren und Verwenden von YOLO11 benötigst.
Das wichtigste Werkzeug, das du brauchst, ist das Ultralytics Python-Paket, das die Arbeit mit YOLO-Modellen für Aufgaben wie Training, Objekterkennung und die Durchführung von Inferenz einfach macht. Um das Ultralytics-Paket zu nutzen, musst du eine Umgebung einrichten, in der du deinen Code ausführen kannst, und dafür gibt es verschiedene Optionen, aus denen du wählen kannst.
Hier sind einige der beliebtesten Optionen für die Einrichtung deiner Entwicklungsumgebung:
- Befehlszeilenschnittstelle (CLI): Die CLI, auch als Terminal bekannt, ist ein textbasiertes Werkzeug, mit dem du durch Eingabe von Befehlen mit deinem Computer interagieren kannst. Im Gegensatz zu grafischen Oberflächen (GUIs), bei denen du auf Schaltflächen klickst und eine Maus benutzt, erfordert die CLI, dass du Textanweisungen eingibst, um Programme zu starten oder Aufgaben auszuführen.
- Jupyter Notebooks: Diese Notizbücher ermöglichen es dir, Code in kleinen Abschnitten, sogenannten Zellen, zu schreiben und auszuführen. Es ist interaktiv, was bedeutet, dass du die Ausgabe deines Codes sofort sehen kannst, was das Testen und Debuggen erleichtert.
- Google Colab: Google Colab ist eine cloudbasierte Plattform, die wie Jupyter Notebooks funktioniert, aber kostenlosen Zugriff auf leistungsstarke GPUs bietet. Es ist einfach einzurichten und du musst nichts auf deinem Computer installieren.
Obwohl es weitere Optionen für die Einrichtung deiner Umgebung gibt, die du in der offiziellen Ultralytics-Dokumentation erkunden kannst, erfordern die drei oben genannten Optionen sehr wenig Vorbereitung und sind einfach zu verwenden, was sie ideal für einen schnellen Start macht.
In diesem Tutorial zeigen wir, wie man YOLO11 mit Google Colab, Jupyter Notebooks oder einer einfachen Python-Datei einrichtet und trainiert, da die Schritte in all diesen Umgebungen sehr ähnlich sind.
Link to this sectionDas African Wildlife Dataset verstehen#
Nachdem du eine Entwicklungsumgebung ausgewählt hast, benötigen wir für das Training von YOLO11 zur spezifischen Erkennung von 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 Tutorial verwenden wir das African Wildlife Dataset. Es wird vom Ultralytics Python-Paket unterstützt und wurde speziell für die Erkennung von Tieren entwickelt, die häufig in afrikanischen Ökosystemen vorkommen. Es enthält annotierte Bilder von vier Schlüsselarten: Büffel, Elefanten, Nashörner und Zebras.

Abb. 1. Ein Einblick in das African Wildlife Dataset.
Hier sind einige Hauptmerkmale des African Wildlife Datasets:
- Umfang: 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 den Test. Diese Aufteilung stellt sicher, dass das Modell effektiv lernt und gründlich evaluiert wird.
- Nahtlose Integration: Ultralytics stellt eine YAML-Konfigurationsdatei bereit, die Datensatzpfade, Klassen und andere Details definiert, was die Verwendung beim Training von YOLO-Modellen einfach macht.
- Offene Lizenz: Dieser Datensatz wird unter der AGPL-3.0-Lizenz vertrieben, was Transparenz und Zusammenarbeit fördert.
Link to this sectionTraining von Ultralytics YOLO11 zur Tiererkennung#
Nachdem wir nun das African Wildlife Dataset erkundet haben, können wir mit dem Training eines YOLO11-Modells beginnen, um Tiere in Bildern zu erkennen. Der Prozess umfasst die Einrichtung der Entwicklungsumgebung, das Training des YOLO11-Modells und die Bewertung der Leistung des Modells.
Link to this sectionSchritt 1: Einrichtung der Umgebung#
Zu Beginn bereiten wir eine Umgebung für das Training und Testen des Modells vor. Je nach Vorliebe können Google Colab, Jupyter Notebooks oder eine einfache Python-Datei verwendet werden. Erstelle entsprechend ein neues Google Colab-Notizbuch, ein Jupyter Notebook oder eine Python-Datei.
Wenn du Google Colab verwendest, läuft die Umgebung standardmäßig auf einer CPU (Zentraleinheit), was das Training verlangsamen kann. Um den Prozess zu beschleunigen, insbesondere bei größeren Modellen, kannst du die Laufzeit auf die Verwendung einer GPU umstellen. In Google Colab kannst du im Menü zum Tab "Laufzeit" navigieren, "Laufzeittyp ändern" wä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 musst du, unabhängig davon, welche Umgebung du verwendest, das Ultralytics Python-Paket installieren. Wenn du eine Notebook-basierte Umgebung (Google Colab oder Jupyter) verwendest, führe den folgenden Befehl mit einem Ausrufezeichen (!) am Anfang aus.
pip install ultralyticsLink to this sectionSchritt 2: Laden von YOLO11 und Vorbereitung des Datensatzes#
Sobald das Ultralytics-Paket installiert ist, besteht der nächste Schritt darin, das YOLO11-Modell zu laden und den Datensatz für das Training vorzubereiten. Zuerst laden wir das YOLO11-Modell, das bereits auf allgemeine Objekterkennungsaufgaben vortrainiert ist. Dieses vortrainierte Modell bietet uns einen guten Ausgangspunkt, da es bereits gelernt hat, verschiedene Objekte zu erkennen.
Dann spezifizieren wir den Datensatz mithilfe einer YAML-Datei, die Informationen über die Bilder und Labels enthält. Diese Datei teilt dem Modell mit, wo es den Datensatz finden kann und welche Objekte es lernen soll zu erkennen.
Das African Wildlife Dataset wird vom Ultralytics-Paket unterstützt und daher automatisch heruntergeladen, wenn du das Training startest, sodass du es nicht manuell einrichten musst.
Sobald der Datensatz bereit ist, beginnt das Training des Modells. Das Modell wird den Datensatz mehrmals durchlaufen, ein Prozess, der als Training über mehrere Epochen bezeichnet wird, um seine Fähigkeit zur Erkennung von Tieren in den Bildern zu verbessern. Während dieses Prozesses werden die Bilder zur Verarbeitung auf eine einheitliche Größe skaliert, und das Modell arbeitet mit einer festgelegten Anzahl von Bildern gleichzeitig, dem sogenannten Batch. Dies hilft dem Modell, effizienter zu lernen.
Kurz gesagt, das Modell wird geladen, der Datensatz automatisch heruntergeladen und das Training startet, um Tiere basierend auf dem African Wildlife Dataset zu erkennen, sobald der unten stehende Code-Schnipsel ausgeführt wird.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)Link to this sectionSchritt 3: Schritt-für-Schritt-Anleitung zum YOLO11-Training#
Sobald der obige Code-Schnipsel ausgeführt wird, beginnt das Modell mit dem Training basierend auf den von uns festgelegten Einstellungen. Wir haben dem Modell durch den Code mitgeteilt, dass es die Trainingsbilder 30 Mal durchlaufen soll. Das bedeutet, dass das Modell alle Bilder im Datensatz 30 Mal betrachtet und jedes Mal ein bisschen mehr lernt.
Stell dir vor, du versuchst zu lernen, wie man ein Tier zeichnet. Beim ersten Mal sieht es vielleicht nicht gut aus, aber nach dem Üben wirst du immer besser. Jedes Mal, wenn du es erneut versuchst, lernst du aus dem, was schiefgelaufen ist, und korrigierst es. Genau das macht jede Epoche für das Modell – es betrachtet die Bilder, macht Fehler, lernt aus ihnen und wird jedes Mal besser darin, Tiere zu erkennen.
Wenn der Trainingscode erfolgreich läuft, siehst du während des Trainingsverlaufs die folgende Ausgabe:
- Trainingseinrichtung: Der erste Teil zeigt die Version von Ultralytics, PyTorch und die verwendete Hardware (in diesem Fall CPU), zusammen mit der Trainingskonfiguration, einschließlich Modell (yolo11n.pt), Batch-Größe, Epochen und Bildgröße.
- Modellzusammenfassung: Sie liefert Informationen zur Komplexität des Modells, wie die Anzahl der Ebenen und Parameter, und zeigt, wie groß das Modell ist.
- Optimierer und Lernrate: Es wird der Optimierer (z. B. AdamW) und die Lernrate erwähnt, die steuern, wie das Modell seine Parameter während des Trainings anpasst.
- Datensatz-Scan: Das Modell scannt den Datensatz und zeigt an, 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 aktualisiert sich nach jeder Epoche (Trainingszyklus) und zeigt den Fortschritt des Trainings zusammen mit wichtigen Verlustwerten (box_loss, cls_loss, dfl_loss) an, die angeben, wie gut das Modell lernt.
- Leistungsmetriken: Nach jeder Epoche siehst du Leistungsmetriken wie Präzision, Recall und mAP (Mean Average Precision). Diese Werte zeigen, wie genau das Modell Objekte erkennt und klassifiziert.
- GPU-Speicherauslastung: Wenn du eine GPU verwendest, zeigt die Ausgabe die Speicherauslastung an, um die Hardwarenutzung zu verfolgen.

Abb. 2. Die Ausgabe, die du während des laufenden Modelltrainings sehen wirst.
Link to this sectionSchritt 4: Bewertung der Leistung des benutzerdefinierten Modells#
Nach Abschluss des Trainingsprozesses kannst du die Leistungsmetriken des Modells überprüfen und validieren. In Google Colab kannst du zum Ordner "runs", dann zum Ordner "detect" und schließlich zum Ordner "train" navigieren, wo du Protokolle findest, die wichtige Leistungsindikatoren anzeigen.
Für Benutzer in einer Python-Umgebung werden die Trainingsergebnisse standardmäßig im Verzeichnis „runs/train/“ innerhalb deines aktuellen Arbeitsverzeichnisses gespeichert. Jeder Trainingsdurchlauf erstellt ein neues Unterverzeichnis (z. B. runs/train/exp, runs/train/exp2 usw.), in dem du die Protokolle und andere Ausgaben im Zusammenhang mit dem Training findest.
Wenn du die CLI verwendest, kannst du diese Ergebnisse und Einstellungen einfach über den Befehl „yolo settings“ abrufen, mit dem du die Pfade und andere Konfigurationen im Zusammenhang mit den Trainingsprotokollen und Experimentdetails anzeigen oder ändern kannst.
Unter den Protokollen findest du auch einige Grafiken, die du dir ansehen kannst, um zu sehen, wie gut der Trainingsprozess des Modells verlaufen ist. Diese Grafiken, die nach Abschluss des Trainings erstellt werden, zeigen, ob sich das Modell im Laufe der Zeit verbessert hat, indem es weniger Fehler machte und genauer wurde.
Sie verfolgen den Fortschritt des Modells und zeigen, wie der Verlust (der Unterschied zwischen den Vorhersagen des Modells und den tatsächlichen Werten) abgenommen und die Genauigkeit während des Trainings zugenommen hat. Dies hilft dir zu verstehen, 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 Grafiken, die du zur Bewertung deines Modells analysieren kannst.
Link to this sectionWichtige Leistungsbewertungsmetriken#
Hier ist außerdem ein genauerer Blick auf einige der Metriken, die du zur Bewertung der Modellleistung verwenden kannst:
- Mean Average Precision (mAP): Diese Metrik misst die Gesamtgenauigkeit des Modells bei der Erkennung von Tieren über alle Klassen hinweg, indem die Präzisionswerte auf verschiedenen Recall-Ebenen gemittelt werden.
- Präzision: Dies stellt den Prozentsatz der korrekten Erkennungen dar, berechnet durch Division der Anzahl der korrekt positiven Erkennungen durch die Gesamtzahl der durchgeführten Erkennungen.
- Recall: Er gibt den Prozentsatz der tatsächlichen Tiere in den Bildern an, die vom Modell korrekt identifiziert wurden, was seine Fähigkeit widerspiegelt, alle relevanten Instanzen zu erfassen.
Diese Bewertungsmetriken können dabei helfen, das Modell feinabzustimmen, um die Genauigkeit zu verbessern, bevor es in realen Anwendungen eingesetzt wird.
Link to this sectionDurchführung von Inferenzen mit deinem trainierten YOLO11-Modell#
Nachdem wir YOLO11 trainiert und bewertet haben, ist es an der Zeit, es zur Analyse von Bildern zu verwenden und Inferenzen auszuführen. Du kannst die Testbilder aus dem Datensatz oder neue Bilder aus verschiedenen Quellen verwenden.
Wir verwenden den folgenden Code-Schnipsel, um das Modell auf einem Bild im Testdatensatz auszuführen. Er importiert die notwendigen Module aus der Ultralytics-Bibliothek. Dann definiert er den Pfad zur Datei mit den besten Modellgewichten ("best.pt"), die im Verzeichnis der Ergebnisse gespeichert ist. Das trainierte YOLO11-Modell wird mit diesen Gewichten geladen.
Danach wird der Pfad zu einem Bild aus dem African Wildlife-Testdatensatz festgelegt. Das Modell wird auf dieses Bild für die Objekterkennung angewendet, die Ergebnisse werden generiert und die Ausgabe (wie erkannte Objekte oder Anmerkungen) wird gespeichert.
from ultralytics import YOLO, settings
best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_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" im Verzeichnis runs/detect gespeichert. 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-Modell auf einem Testbild.
Um Bilder aus verschiedenen Quellen zu testen, kannst du den unten stehenden Code verwenden. Wir haben ein Bild von Pexels verwendet. Du kannst dasselbe Bild oder ein beliebiges anderes relevantes Bild verwenden.
from ultralytics import YOLO
best_model_path = results.save_dir / "weights/best.pt"
model = YOLO(best_model_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. Wildtiererkennung mit dem feinabgestimmten YOLO11-Modell auf einem unbekannten Bild.
Link to this sectionKI für den Naturschutz: Reale Anwendungen#
Modelle wie YOLO11 können Tiere automatisch erkennen und verfolgen, was eine Vielzahl praktischer Anwendungen ermöglicht. Hier ist ein Einblick in einige der Schlüsselbereiche, in denen Vision-KI eingesetzt werden kann, um Naturschutzbemühungen zu unterstützen:
- Artenüberwachung: Vision-KI kann verwendet werden, um visuelle Daten wie Bilder und Videos zu verarbeiten, um Arten genau zu identifizieren, Populationen zu zählen und ihre Bewegungen im Laufe der Zeit zu verfolgen.
- Smarte Kamera-Warnungen: In abgelegenen Gebieten kann Computervision verwendet werden, um Tiere kontinuierlich zu klassifizieren und Echtzeitwarnungen zu senden, wodurch Wildschutzbehörden schnell auf Bedrohungen wie ungewöhnliches Tierverhalten oder Mensch-Tier-Konflikte 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-KI kann genutzt werden, um unbefugte menschliche Präsenz und Anzeichen von Wilderei zu erkennen, während gleichzeitig maschinelles Lernen und historische Daten genutzt werden, um Risiko-Hotspots zu identifizieren.
Link to this sectionWichtige Erkenntnisse#
Computervisionsmodelle wie YOLO11 können eine Schlüsselrolle im Naturschutz spielen, indem sie die Erkennung und Verfolgung von Tieren automatisieren. Mit Vision-KI können wir große Mengen an Bildern und Videos aus verschiedenen Quellen verarbeiten, was genaue Wildtierbewertungen ermöglicht.
Insbesondere Ultralytics YOLO11 ist eine großartige Wahl für die Objekterkennung in Echtzeit und damit perfekt geeignet für Aufgaben wie die Überwachung gegen Wilderei, Verhaltensanalysen und Ökosystemüberwachung. Durch die Einbindung KI-gesteuerter Modelle in Naturschutzbemühungen können wir Arten besser schützen, die Überwachung der Artenvielfalt verbessern und fundiertere Entscheidungen zum Schutz gefährdeter Tiere treffen.
Tritt unserer Community bei und erkunde das GitHub-Repository, um mehr über Computervision zu erfahren. Entdecke weitere Anwendungen im Zusammenhang mit KI im Gesundheitswesen und Computervision in der Fertigung auf unseren Lösungsseiten. Schau dir die Ultralytics-Lizenzoptionen an, um mit Vision-KI zu beginnen.






