Lerne, wie du YOLO trainierst, um Tiere in der Wildnis zu erkennen, indem du den African Wildlife Dataset verwendest und das Modell nutzt, um Rückschlüsse auf ungesehene Bilder zu ziehen.
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 zum Erhalt eines ausgewogenen Ökosystems. Der Verlust von Lebensräumen, die Wilderei und der Klimawandel machen den Schutz jedoch immer schwieriger. All diese Faktoren wirken sich negativ auf die Wildtierpopulationen aus.
Herkömmliche Tierüberwachungsmethoden, wie die manuelle Auswertung von Kamerafallenbildern und die Durchführung von Erhebungen vor Ort, können langsam sein und erfordern viele Ressourcen. Mit diesen Methoden können große Gebiete und große Populationen oft nicht effektiv erfasst werden.
Um diese Einschränkungen zu überwinden, kann künstliche Intelligenz (KI) als wirkungsvolles Instrument für den Schutz von Wildtieren eingesetzt werden. Vor allem 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.
Bildverarbeitungsaufgaben 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, wie du YOLO11 trainierst, Tiere zu erkennen. Los geht's!
Bevor wir in das Tutorial einsteigen, werfen wir einen Blick auf die verschiedenen Einrichtungsoptionen und Werkzeuge, die du brauchst, um YOLO11 zu trainieren und zu nutzen.
Das wichtigste Werkzeug, das du brauchst, ist das Ultralytics Python , das die Arbeit mit YOLO für Aufgaben wie das Training, die Erkennung von Objekten und die Durchführung von Schlussfolgerungen erleichtert. Um das Ultralytics zu nutzen, musst du eine Umgebung einrichten, in der du deinen Code ausführen kannst, und es gibt verschiedene Optionen, aus denen du wählen kannst.
Hier sind einige der beliebtesten Optionen, um deine Entwicklungsumgebung einzurichten:
Es gibt zwar noch andere Möglichkeiten, deine Umgebung einzurichten, die du in der offiziellen Ultralytics nachlesen kannst, aber die drei oben genannten Optionen erfordern nur sehr wenig Einrichtungsaufwand und sind einfach zu bedienen, so dass sie ideal für einen schnellen Einstieg sind.
In diesem Tutorial zeigen wir dir, wie du YOLO11 mit Google Colab, Jupyter Notebooks oder einer einfachen Python einrichtest und trainierst, da die Schritte in all diesen Umgebungen sehr ähnlich sind.
Nachdem wir eine Entwicklungsumgebung ausgewählt haben, brauchen wir einen hochwertigen Datensatz mit beschrifteten Bildern, um YOLO11 auf die Erkennung von Wildtieren zu trainieren. Auf jedem Bild sollte klar zu erkennen sein, 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 den African Wildlife Dataset verwenden. Er wird vom Ultralytics Python unterstützt und wurde speziell für die Erkennung von Tieren entwickelt, die häufig in afrikanischen Ökosystemen vorkommen. Er enthält kommentierte Bilder von vier wichtigen Arten: Büffel, Elefanten, Nashörner und Zebras.
Hier sind einige der wichtigsten Merkmale des African Wildlife Dataset:
Nachdem wir nun den African Wildlife Dataset erkundet haben, können wir mit dem Training eines YOLO11 zur Erkennung von Tieren in Bildern beginnen. Dazu müssen wir die Entwicklungsumgebung einrichten, das YOLO11 trainieren und die Leistung des Modells auswerten.
Um loszulegen, bereiten wir eine Umgebung zum Trainieren und Testen des Modells vor. Je nach deiner Vorliebe kannst du Google Colab, Jupyter Notebooks oder eine einfache Python verwenden. Erstelle ein neues Google Colab Notizbuch, ein Jupyter Notebook oder eine Python .
Wenn du Google Colab verwendest, 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, kannst du die Laufzeit auf einen GPU umstellen. In Google Colab kannst du im Menü auf die Registerkarte "Runtime" gehen, "Change runtime type" auswählen und den Hardwarebeschleuniger auf einen GPU (vorzugsweise einen GPU) einstellen. Das ist wichtig, um die Trainingszeiten zu verkürzen.
Als Nächstes musst du unabhängig von der Umgebung, die du verwendest, das Ultralytics Python installieren. Wenn du eine notebookbasierte UmgebungGoogle Colab oder Jupyter) verwendest, führe den folgenden Befehl mit einem Ausrufezeichen (!) am Anfang aus
pip install ultralytics
Sobald das Ultralytics installiert ist, wird im nächsten Schritt das YOLO11 geladen und der Datensatz für das Training vorbereitet. Als Erstes laden wir das YOLO11 , das bereits auf allgemeine Objekterkennungsaufgaben trainiert ist. Dieses Modell bietet uns einen guten Ausgangspunkt, da es bereits gelernt hat, wie man verschiedene Objekte erkennt.
Dann 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 finden kann und welche Objekte es erkennen soll.
Der African Wildlife Dataset wird vom Ultralytics unterstützt, so dass er automatisch heruntergeladen wird, wenn du das Training startest, was dir die manuelle Einrichtung erspart.
Sobald der Datensatz fertig ist, beginnt das Modell mit dem Training. Das Modell durchläuft den Datensatz mehrere Male, ein Prozess, der als Training über mehrere Epochen bezeichnet wird, um seine Fähigkeit zu verbessern, Tiere auf den Bildern zu erkennen. Während dieses Prozesses werden die Bilder für die Verarbeitung auf eine einheitliche Größe gebracht, und das Modell arbeitet mit einer bestimmten Anzahl von Bildern auf einmal, die als Stapel bezeichnet wird. So kann das Modell effizienter 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 zu erkennen, wenn der folgende Codeausschnitt ausgeführt wird.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)
Sobald das obige Codeschnipsel ausgeführt wird, beginnt das Modell mit dem Training auf der Grundlage der Einstellungen, die wir ihm gegeben haben. Wir haben dem Modell über den Code gesagt, dass es die Trainingsbilder 30 Mal durchgehen soll. Das bedeutet, dass sich das Modell alle Bilder im Datensatz 30 Mal ansieht 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 nachdem du immer wieder geübt hast, wirst du immer besser. Jedes Mal, wenn du es wieder versuchst, lernst du daraus, was schief gelaufen ist und verbesserst es. Das ist es, was jede Epoche für das Modell tut - es schaut sich die Bilder an, macht Fehler, lernt daraus und wird von Mal zu Mal besser im Erkennen von Tieren.
Wenn der Trainingscode erfolgreich läuft, siehst du die folgende Ausgabe, während das Training fortschreitet:
Nachdem der Trainingsprozess abgeschlossen ist, kannst du die Leistungskennzahlen des Modells überprüfen und bestätigen. In Google Colab kannst du zum Ordner "runs", dann zum Ordner "detect" und schließlich zum Ordner "train" navigieren, wo du die Protokolle mit den wichtigsten Leistungsindikatoren findest.
Für Benutzer in einer Python werden die Trainingsergebnisse standardmäßig im Verzeichnis "runs/train/" in deinem aktuellen Arbeitsverzeichnis gespeichert. Jeder Trainingslauf erstellt ein neues Unterverzeichnis (z. B. runs/train/exp, runs/train/exp2 usw.), in dem du die Protokolle und andere Ausgaben zum Training findest.
Wenn du die CLI verwendest, kannst du mit dem Befehl "yolo settings" ganz einfach auf diese Ergebnisse und Einstellungen zugreifen. Damit kannst du die Pfade und andere Konfigurationen in Bezug auf die Trainingsprotokolle und Experimentdetails anzeigen oder ändern.
In den Protokollen findest du auch einige Diagramme, die du dir ansehen kannst, um zu sehen, wie gut das Modelltraining gelaufen 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 machte und genauer wurde.
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. So kannst du nachvollziehen, wie gut das Modell gelernt hat, Tiere zu erkennen und wie sehr es sich am Ende des Trainings verbessert hat.
Außerdem findest du hier einige der Kennzahlen, mit denen du die Leistung des Modells bewerten kannst:
Diese Bewertungskennzahlen können dabei helfen, das Modell zu verfeinern, um die Genauigkeit zu verbessern, bevor es in der realen Welt eingesetzt wird.
Jetzt, wo wir YOLO11 trainiert und ausgewertet haben, ist es an der Zeit, es zur Analyse von Bildern und zur Durchführung von Schlussfolgerungen einzusetzen. Du kannst die Testbilder aus dem Datensatz oder neue Bilder aus verschiedenen Quellen verwenden.
Wir verwenden den folgenden Codeschnipsel, um das Modell auf ein Bild im Testdatensatz anzuwenden. Er importiert die notwendigen Module aus der Ultralytics . Anschließend wird der Pfad zur Datei mit den besten Modellgewichten ("best.pt") im Ergebnisverzeichnis angegeben. Das individuell trainierte 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 Anmerkungen) 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" im Verzeichnis runs/detect gespeichert. Für nachfolgende Tests werden neue Ordner wie "predict2", "predict3" und so weiter erstellt, um die Bilder zu speichern.
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 anderes geeignetes 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 in dem entsprechenden Ordner gespeichert.
Modelle wie YOLO11 können Tiere automatisch erkennen und verfolgen, 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 Wildtiere eingesetzt werden kann:
Computer-Vision-Modelle wie YOLO11 können eine wichtige Rolle 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 und so genaue Wildtierbewertungen durchführen.
Ultralytics YOLO11 eignet sich besonders gut für die Objekterkennung in Echtzeit und ist damit perfekt für Aufgaben wie die Überwachung von Wilderern, Verhaltensanalysen und die Überwachung von Ökosystemen geeignet. Durch den Einsatz von KI-gestützten Modellen im Naturschutz können wir Arten besser schützen, die Verfolgung der Artenvielfalt verbessern und fundiertere Entscheidungen zum Schutz bedrohter Wildtiere treffen.
Tritt unserer Community bei und erkunde das GitHub-Repository, um mehr über Computer Vision zu erfahren. Entdecke weitere Anwendungen für KI im Gesundheitswesen und Computer Vision in der Fertigung auf unseren Lösungsseiten. Schau dir die Ultralytics an, um mit Vision AI zu beginnen.
Beginne deine Reise in die Zukunft des maschinellen Lernens