Indem Sie auf „Alle Cookies akzeptieren“ klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Website-Navigation zu verbessern, die Website-Nutzung zu analysieren und unsere Marketingbemühungen zu unterstützen. Mehr Infos
Cookie-Einstellungen
Indem Sie auf „Alle Cookies akzeptieren“ klicken, stimmen Sie der Speicherung von Cookies auf Ihrem Gerät zu, um die Website-Navigation zu verbessern, die Website-Nutzung zu analysieren und unsere Marketingbemühungen zu unterstützen. Mehr Infos
Erfahren Sie, wie Sie YOLO-Modelle trainieren, um Tiere in freier Wildbahn mithilfe des African Wildlife Datasets zu erkennen, und wie Sie das Modell verwenden, um Inferenz auf ungesehenen Bildern auszuführen.
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 Werkzeug im Naturschutz eingesetzt werden. Insbesondere können Computer Vision-Modelle wie Ultralytics YOLO11 visuelle Daten wie Bilder und Videos analysieren, um die Echtzeit-Identifizierung und -Verfolgung von Tieren 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 werden wir den Prozess des Trainings von YOLO11 zur Erkennung von Tieren durchgehen. Los geht's!
Erste Schritte mit Ultralytics YOLO11
Bevor wir in das Tutorial einsteigen, werfen wir einen Blick auf die verschiedenen Setup-Optionen und Tools, die Sie zum Trainieren und Verwenden von YOLO11 benötigen.
Das wichtigste Werkzeug, das Sie benötigen, ist das Ultralytics Python-Paket, das die Arbeit mit YOLO-Modellen für Aufgaben wie Training, Objekterkennung und Inferenz erleichtert. Um das Ultralytics-Paket zu verwenden, müssen Sie eine Umgebung einrichten, in der Sie Ihren Code ausführen können, und es stehen Ihnen verschiedene Optionen zur Auswahl.
Hier sind einige der beliebtesten Optionen zum Einrichten Ihrer Entwicklungsumgebung:
Befehlszeilenschnittstelle (CLI): Die CLI, auch bekannt als Terminal, ist ein textbasiertes Tool, mit dem Sie mit Ihrem Computer interagieren können, indem Sie Befehle eingeben. 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 Zugriff auf leistungsstarke GPUs bietet. Es ist einfach einzurichten, und Sie müssen nichts auf Ihrem Computer installieren.
Während es andere Optionen zum Einrichten Ihrer Umgebung gibt, die Sie in der offiziellen Ultralytics-Dokumentation finden, erfordern die drei oben genannten Optionen nur sehr wenig Einrichtung und sind einfach zu bedienen, wodurch sie ideal für einen schnellen Einstieg sind.
In diesem Tutorial zeigen wir Ihnen, wie Sie YOLO11 mit Google Colab, Jupyter Notebooks oder einer einfachen Python-Datei einrichten und trainieren können, 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 einen hochwertigen Datensatz mit gelabelten Bildern, um YOLO11 speziell für die Erkennung von Wildtieren zu trainieren. 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 werden wir das African Wildlife Dataset verwenden. 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 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 bietet eine YAML-Konfigurationsdatei, die Datensatzpfade, Klassen und andere Details definiert, was die Verwendung beim Trainieren von YOLO-Modellen vereinfacht.
Offene Lizenz: Dieser Datensatz wird unter der AGPL-3.0-Lizenz vertrieben, was Transparenz und Zusammenarbeit fördert.
Training von Ultralytics YOLO11 zur Tiererkennung
Nachdem wir nun den African Wildlife Datensatz untersucht haben, können wir mit dem Training eines YOLO11-Modells zur Erkennung von Tieren in Bildern beginnen. Der Prozess umfasst die Einrichtung der Entwicklungsumgebung, das Training des YOLO11-Modells und die Bewertung der Leistung des Modells.
Schritt 1: Einrichten der Umgebung
Um zu beginnen, bereiten wir eine Umgebung für das Training und Testen des Modells vor. Google Colab, Jupyter Notebooks oder eine einfache Python-Datei können je nach Ihren Vorlieben verwendet werden. Erstellen Sie entsprechend ein neues Google Colab Notebook, Jupyter Notebook oder eine Python-Datei.
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 einer GPU umstellen. In Google Colab können Sie im Menü zur Registerkarte "Laufzeit" navigieren, "Laufzeittyp ändern" auswählen und den Hardwarebeschleuniger auf eine GPU (vorzugsweise eine T4-GPU) einstellen. Dies ist wichtig, um die Trainingszeiten zu verkürzen.
Unabhängig von der verwendeten Umgebung müssen Sie als Nächstes das Ultralytics Python-Paket installieren. Wenn Sie eine Notebook-basierte Umgebung (Google Colab oder Jupyter) verwenden, führen Sie den folgenden Befehl mit einem Ausrufezeichen (!) am Anfang aus.
pip install ultralytics
Schritt 2: YOLO11 laden und den Datensatz vorbereiten
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 für allgemeine Objekterkennungsaufgaben vortrainiert ist. Dieses vortrainierte Modell bietet uns einen guten Ausgangspunkt, da es bereits gelernt hat, verschiedene Objekte zu erkennen.
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.
Das African Wildlife Dataset wird vom Ultralytics-Paket unterstützt und wird daher automatisch heruntergeladen, wenn Sie mit dem Training beginnen, wodurch Sie sich die Mühe der manuellen Einrichtung sparen.
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 anhand des African Wildlife Datasets zu erkennen, wenn der folgende Code-Schnipsel 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 Training Walkthrough
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:
Training Setup: Der erste Teil zeigt die Version von Ultralytics, PyTorch und der verwendeten Hardware (in diesem Fall CPU) zusammen mit der Trainingskonfiguration, einschließlich des Modells (yolo11n.pt), der Batch-Größ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: Es erwähnt den Optimierer (z. B. AdamW) und die Lernrate, 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.
Performance-Metriken: Nach jeder Epoche sehen Sie Performance-Metriken wie Präzision, Recall und mAP (Mean Average Precision). Diese Werte zeigen, wie genau das Modell Objekte erkennt und klassifiziert.
GPU-Speichernutzung: Wenn Sie eine GPU verwenden, zeigt die Ausgabe die Speichernutzung an, um die Hardwareauslastung zu verfolgen.
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 Leistungsmetriken des Modells überprüfen und validieren. In Google Colab können Sie zum Ordner "runs", dann zum Ordner "detect" und schließlich zum Ordner "train" navigieren, wo Sie Protokolle mit wichtigen Leistungsindikatoren finden.
Für Benutzer in einer Python-Umgebung werden die Trainingsergebnisse standardmäßig im Verzeichnis “runs/train/” innerhalb Ihres aktuellen Arbeitsverzeichnisses 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.
Wenn Sie die CLI verwenden, können Sie einfach auf diese Ergebnisse und Einstellungen 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 verfolgen den 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. Dies hilft Ihnen 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 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 Präzision (mAP): Diese Metrik misst die Gesamtgenauigkeit des Modells bei der Erkennung von Tieren über alle Klassen hinweg, indem die Präzisionswerte auf verschiedenen Recall-Levels 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.
Durchführen von Inferenz unter Verwendung Ihres benutzerdefinierten YOLO11-Modells
Nachdem wir YOLO11 trainiert und evaluiert haben, ist es an der Zeit, es zur Analyse von Bildern und zur Durchführung von Inferenzläufen zu verwenden. Sie können 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. Anschließend wird der Pfad zur besten Modelldatei ("best.pt"), die im Ergebnisverzeichnis gespeichert ist, definiert. Das benutzerdefinierte 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 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 runs/detect befindet. Für nachfolgende Tests werden neue Ordner wie "predict2", "predict3" usw. erstellt, um die Bilder zu speichern.
Abb. 4. Ausführen einer Inferenz mit dem feinabgestimmten YOLO11-Modell 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.
Das unten gezeigte Ausgabebild wird im entsprechenden Ordner gespeichert.
Abb. 5. Erkennung von Wildtieren mithilfe des feinabgestimmten YOLO11-Modells auf einem unbekannten Bild.
KI für den Schutz von Wildtieren: Anwendungen in der realen Welt
Modelle wie YOLO11 können Tiere automatisch erkennen und verfolgen, was eine Vielzahl praktischer Anwendungen ermöglicht. Hier ist ein Einblick in einige der wichtigsten Bereiche, in denen Vision AI zur Unterstützung von Naturschutzmaßnahmen eingesetzt werden kann:
Artenüberwachung: Vision AI 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 Kamerabenachrichtigungen: In abgelegenen Gebieten kann Computer Vision verwendet werden, um Tiere kontinuierlich zu klassifizieren und Echtzeit-Benachrichtigungen zu senden, sodass Naturschutzbehö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.
Wildereiprävention: Vision AI kann genutzt werden, um unbefugte menschliche Anwesenheit und Anzeichen von Wilderei zu erkennen 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 im Naturschutz spielen, indem sie die Tiererkennung und -verfolgung automatisieren. Mit Vision AI können wir große Mengen an Bildern und Videos aus verschiedenen Quellen verarbeiten und so genaue Wildtierbestandsaufnahmen durchführen.
Insbesondere Ultralytics YOLO11 ist eine ausgezeichnete Wahl für die Objekterkennung in Echtzeit und eignet sich daher perfekt für Aufgaben wie Anti-Wilderei-Überwachung, Verhaltensanalyse und Ökosystemüberwachung. Durch die Integration von KI-gestützten Modellen in Naturschutzbemühungen können wir Arten besser schützen, die Verfolgung der Artenvielfalt verbessern und fundiertere Entscheidungen zum Schutz gefährdeter Wildtiere treffen.