YOLO Vision 2025'i kaçırmayın!
25 Eylül 2025
10:00 — 18:00 BST
Hibrit etkinlik
Yolo Vision 2024

Ultralytics YOLO modellerini vahşi hayattaki hayvanları tespit etmek için nasıl eğitebilirim?

Abirami Vina

5 dakikalık okuma

15 Nisan 2025

Afrika Yaban Hayatı Veri Kümesini kullanarak vahşi doğadaki hayvanları tespit etmek için YOLO modellerini nasıl eğiteceğinizi ve modeli görünmeyen görüntüler üzerinde çıkarımlar çalıştırmak için nasıl kullanacağınızı öğrenin.

Gezegenimizin vahşi yaşamı, vızıldayan arılardan yükselen fillere kadar inanılmaz derecede çeşitlidir ve bu biyoçeşitliliği korumak, dengeli bir ekosistemi sürdürmek için çok önemlidir. Ancak, habitat kaybı, kaçak avlanma ve iklim değişikliği nedeniyle koruma çabaları giderek daha zor hale geliyor. Tüm bu faktörler, vahşi yaşam popülasyonlarını olumsuz etkiliyor. 

Kamera kapanı görüntülerini manuel olarak analiz etmek ve saha araştırmaları yapmak gibi geleneksel hayvan izleme yöntemleri yavaş olabilir ve çok fazla kaynak gerektirebilir. Bu çabalar genellikle geniş alanları ve büyük popülasyonları etkili bir şekilde kapsamakta başarısız olur.

Bu sınırlamaların üstesinden gelmek için yapay zeka (AI), vahşi yaşamı koruma çalışmalarında etkili bir araç olarak kullanılabilir. Özellikle, Ultralytics YOLO11 gibi bilgisayarlı görü modelleri, hayvanların gerçek zamanlı olarak tanımlanmasını ve izlenmesini otomatikleştirmek için görüntüler ve videolar gibi görsel verileri analiz edebilir. 

YOLO11 tarafından desteklenen nesne algılama ve örnek segmentasyonu gibi bilgisayarla görü görevleri burada çok kullanışlıdır. Görsel verileri analiz ederek, bu görevler önemli verileri toplamamıza, ekolojik kalıpları belirlememize ve çevresel tehditlere daha etkili bir şekilde yanıt vermemize yardımcı olur.

Bu makalede, hayvanları tespit etmek için YOLO11'i eğitme sürecini adım adım inceleyeceğiz. Haydi başlayalım!

Ultralytics YOLO11 ile Başlangıç

Eğitime dalmadan önce, YOLO11'i eğitmek ve kullanmak için ihtiyacınız olacak farklı kurulum seçeneklerine ve araçlara bir göz atalım. 

İhtiyacınız olacak ana araç, eğitim, nesne tespiti ve çıkarım çalıştırma gibi görevler için YOLO modelleriyle çalışmayı kolaylaştıran Ultralytics Python paketidir. Ultralytics paketini kullanmak için, kodunuzu çalıştırmak üzere bir ortam ayarlamanız gerekir ve aralarından seçim yapabileceğiniz çeşitli seçenekler vardır.

İşte geliştirme ortamınızı kurmak için en popüler seçeneklerden bazıları:

  • Komut satırı arayüzü (CLI): Terminal olarak da bilinen CLI, komutlar yazarak bilgisayarınızla etkileşim kurmanızı sağlayan metin tabanlı bir araçtır. Düğmeleri tıkladığınız ve fare kullandığınız grafik arayüzlerinin (GUI'ler) aksine, CLI, programları çalıştırmak veya görevleri yürütmek için metin talimatları yazmanızı gerektirir.
  • Jupyter Notebook'lar: Bu notebook'lar, hücre adı verilen küçük parçalar halinde kod yazmanıza ve çalıştırmanıza olanak tanır. Etkileşimlidir, yani kodunuzun çıktısını hemen görebilir, bu da test etmeyi ve hata ayıklamayı kolaylaştırır.
  • Google Colab: Google Colab, Jupyter Notebook'lar gibi çalışan ancak güçlü GPU'lara ücretsiz erişim sunan bulut tabanlı bir platformdur. Kurulumu kolaydır ve bilgisayarınıza herhangi bir şey yüklemenize gerek yoktur.

Ortamınızı kurmak için resmi Ultralytics belgelerinde keşfedebileceğiniz başka seçenekler de olmasına rağmen, yukarıda bahsedilen üç seçenek çok az kurulum gerektirir ve kullanımı kolaydır, bu da onları hızlı bir şekilde başlamak için ideal hale getirir. 

Bu eğitimde, Google Colab, Jupyter Notebook veya basit bir Python dosyası kullanarak YOLO11'i nasıl kuracağımızı ve eğiteceğimizi göstereceğiz, çünkü adımlar bu ortamların hepsinde çok benzerdir.

Afrika Yaban Hayatı Veri Kümesini Anlamak

Bir geliştirme ortamı seçtikten sonra, YOLO11'i özellikle vahşi hayvanları tespit etmek üzere eğitmek için, etiketlenmiş görüntülerden oluşan yüksek kaliteli bir veri kümesine ihtiyacımız var. Her görüntü, hayvanların nerede olduğunu ve ne tür olduklarını açıkça göstermelidir, böylece model onları denetimli öğrenme yoluyla tanımayı öğrenebilir.

Bu eğitimde, Afrika Yaban Hayatı Veri Kümesini kullanacağız. Ultralytics Python paketi tarafından desteklenir ve özellikle Afrika ekosistemlerinde yaygın olarak bulunan hayvanları tespit etmek için tasarlanmıştır. Dört temel türün açıklamalı görüntülerini içerir: bufalolar, filler, gergedanlar ve zebralar.

Şekil 1. Afrika Yaban Hayatı Veri Kümesine bir bakış.

İşte Afrika Yaban Hayatı Veri Seti'nin bazı temel özellikleri:

  • Ölçek: Veri kümesi, üç alt kümeye ayrılmış 1504 görüntüden oluşur: 1052'si eğitim, 225'i doğrulama ve 227'si test için. Bu ayrım, modelin etkili bir şekilde öğrenmesini ve kapsamlı bir şekilde değerlendirilmesini sağlar.

  • Sorunsuz entegrasyon: Ultralytics, veri kümesi yollarını, sınıflarını ve diğer ayrıntıları tanımlayan bir YAML yapılandırma dosyası sağlayarak YOLO modellerini eğitirken kullanımı kolaylaştırır.

  • Açık lisans: Bu veri seti, şeffaflığı ve işbirliğini teşvik eden AGPL-3.0 lisansı altında dağıtılmaktadır.

Hayvan tespiti için Ultralytics YOLO11'i eğitme

Artık Afrika Yaban Hayatı Veri Kümesini incelediğimize göre, görüntülerdeki hayvanları tespit etmek için bir YOLO11 modelini eğitmeye başlayabiliriz. Bu süreç, geliştirme ortamını kurmayı, YOLO11 modelini eğitmeyi ve modelin performansını değerlendirmeyi içerir.

Adım 1: Ortamın ayarlanması

Başlamak için, modeli eğitmek ve test etmek için bir ortam hazırlayacağız. Tercihinize bağlı olarak Google Colab, Jupyter Notebook veya basit bir Python dosyası kullanılabilir. Buna göre yeni bir Google Colab not defteri, Jupyter Notebook veya Python dosyası oluşturun.

Google Colab kullanıyorsanız, ortam varsayılan olarak bir CPU (Merkezi İşlem Birimi) üzerinde çalışır ve bu da eğitimi yavaşlatabilir. Özellikle daha büyük modeller için süreci hızlandırmak için, çalışma zamanını bir GPU kullanacak şekilde değiştirebilirsiniz. Google Colab'da, menüdeki "Çalışma zamanı" sekmesine gidebilir, "Çalışma zamanı türünü değiştir"i seçebilir ve donanım hızlandırıcısını bir GPU'ya (tercihen bir T4 GPU'su) ayarlayabilirsiniz. Bu, eğitim sürelerini azaltmak için önemlidir.

Ardından, hangi ortamı kullanıyor olursanız olun, Ultralytics Python paketini yüklemeniz gerekir. Not defteri tabanlı bir ortam (Google Colab veya Jupyter) kullanıyorsanız, aşağıdaki komutu başında bir ünlem işareti (!) ile çalıştırın.

pip install ultralytics

Adım 2: YOLO11'i yükleme ve veri setini hazırlama

Ultralytics paketi yüklendikten sonraki adım, YOLO11 modelini yüklemek ve veri setini eğitim için hazırlamaktır. İlk olarak, genel nesne algılama görevleri üzerinde önceden eğitilmiş olan YOLO11 modelini yüklüyoruz. Bu önceden eğitilmiş model, çeşitli nesneleri nasıl tespit edeceğini zaten öğrendiği için bize iyi bir başlangıç noktası sağlar.

Ardından, görüntüler ve etiketler hakkında bilgi içeren bir YAML dosyası kullanarak veri kümesini belirtiyoruz. Bu dosya, modele veri kümesini nerede bulacağını ve hangi nesneleri tanımayı öğrenmesi gerektiğini söyler. 

Afrika Yaban Hayatı Veri Kümesi Ultralytics paketi tarafından desteklenir, bu nedenle eğitime başladığınızda otomatik olarak indirilir ve manuel olarak ayarlama zahmetinden kurtulursunuz.

Veri seti hazır olduktan sonra, model eğitime başlar. Model, görüntülerdeki hayvanları tanıma yeteneğini geliştirmek için, birden çok epok üzerinden eğitim adı verilen bir işlemle veri setini birkaç kez gözden geçirecektir. Bu işlem sırasında, görüntüler işleme için tutarlı bir boyuta yeniden boyutlandırılacak ve model, toplu iş olarak bilinen belirli sayıda görüntüyle aynı anda çalışacaktır. Bu, modelin daha verimli öğrenmesine yardımcı olur.

Kısacası, aşağıdaki kod parçacığı çalıştırıldığında model yüklenir, veri kümesi otomatik olarak indirilir ve Afrika Yaban Hayatı Veri Kümesi'ne göre hayvanları tespit etmek için eğitim çalışmaya başlar.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

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

Adım 3: YOLO11 eğitim kılavuzu

Yukarıdaki kod parçacığı çalıştırıldıktan sonra, model verdiğimiz ayarlara göre eğitime başlar. Koddaki modelin eğitim görüntülerini 30 kez gözden geçirmesini söyledik. Yani, model veri kümesindeki tüm görüntülere 30 kez bakacak ve her seferinde biraz daha fazla şey öğrenecek.

Bir hayvanı nasıl çizeceğinizi öğrenmeye çalıştığınızı hayal edin. İlk çizdiğinizde iyi görünmeyebilir, ancak tekrar tekrar pratik yaptıktan sonra daha iyi olmaya başlarsınız. Her tekrar denediğinizde, neyin yanlış gittiğinden ders çıkarır ve düzeltirsiniz. Her epok model için bunu yapar - görüntülere bakar, hatalar yapar, onlardan ders çıkarır ve her seferinde hayvanları tanımada daha iyi olur.

Eğitim kodu başarıyla çalışıyorsa, eğitim ilerledikçe aşağıdaki çıktıyı göreceksiniz:

  • Eğitim kurulumu: İlk bölüm, Ultralytics, PyTorch sürümünü ve kullanılan donanımı (bu durumda CPU) model (yolo11n.pt), toplu iş boyutu, epoch sayısı ve görüntü boyutu dahil olmak üzere eğitim yapılandırmasıyla birlikte gösterir.
  • Model özeti: Modelin katman ve parametre sayısı gibi karmaşıklığı hakkında bilgi vererek modelin ne kadar büyük olduğunu gösterir.
  • Optimize edici ve öğrenme oranı: Modelin eğitim sırasında parametrelerini nasıl ayarladığını kontrol eden optimize ediciden (örneğin, AdamW) ve öğrenme oranından bahseder.
  • Veri kümesi taraması: Model, veri kümesini tarayarak kaç tane görüntünün geçerli ve eğitime hazır olduğunu gösterir. Veri kümesinde herhangi bir sorun olmadığını doğrular.
  • Eğitim ilerlemesi: Çıktı, her epoch'tan (eğitim döngüsü) sonra güncellenir ve modelin ne kadar iyi öğrendiğini gösteren temel kayıp değerleriyle (box_loss, cls_loss, dfl_loss) birlikte eğitim ilerlemesini gösterir.
  • Performans metrikleri: Her epoktan sonra, kesinlik, geri çağırma ve mAP (ortalama ortalama kesinlik) gibi performans metriklerini göreceksiniz. Bu değerler, modelin nesneleri tespit etme ve sınıflandırmadaki doğruluğunu gösterir.
  • GPU bellek kullanımı: Bir GPU kullanıyorsanız, çıktı donanım kullanımını izlemek için bellek kullanımını gösterir.
Şekil 2. Model eğitimi çalışırken göreceğiniz çıktı.

Adım 4: Özel eğitilmiş modelin performansını değerlendirme

Eğitim süreci tamamlandıktan sonra, modelin performans metriklerini inceleyebilir ve doğrulayabilirsiniz. Google Colab'da, "runs" klasörüne, ardından "detect" klasörüne ve son olarak temel performans göstergelerini görüntüleyen günlükleri bulacağınız "train" klasörüne gidebilirsiniz.

Bir Python ortamındaki kullanıcılar için, eğitim sonuçları varsayılan olarak mevcut çalışma dizininizdeki “runs/train/” dizinine kaydedilir. Her eğitim çalıştırması, eğitimle ilgili günlükleri ve diğer çıktıları bulabileceğiniz yeni bir alt dizin (örneğin, runs/train/exp, runs/train/exp2, vb.) oluşturur.

CLI kullanıyorsanız, “yolo settings” komutunu kullanarak bu sonuçlara ve ayarlara kolayca erişebilirsiniz. Bu komut, eğitim günlükleri ve deney ayrıntılarıyla ilgili yolları ve diğer yapılandırmaları görüntülemenize veya değiştirmenize olanak tanır.

Günlükler arasında, model eğitim sürecinin ne kadar iyi gittiğini görmek için inceleyebileceğiniz bazı grafikler de bulacaksınız. Eğitim tamamlandıktan sonra oluşturulan bu grafikler, modelin daha az hata yaparak ve daha doğru hale gelerek zaman içinde gelişip gelişmediğini gösterir. 

Modelin ilerlemesini izler, kaybın (modelin tahminleri ile gerçek değerler arasındaki fark) nasıl azaldığını ve eğitim sırasında doğruluğun nasıl arttığını gösterir. Bu, modelin hayvanları tanımayı ne kadar iyi öğrendiğini ve eğitimin sonunda ne kadar geliştiğini anlamanıza yardımcı olur.

Şekil 3. Modelinizi değerlendirmek için analiz edebileceğiniz grafiklere bir örnek.

Temel performans değerlendirme metrikleri

Ayrıca, modelin performansını değerlendirmek için kullanabileceğiniz bazı metrikleri daha yakından inceleyelim:

  • Ortalama hassasiyet (mAP): Bu metrik, farklı geri çağırma seviyelerindeki kesinlik puanlarının ortalamasını alarak modelin tüm sınıflardaki hayvanları tespit etme genel doğruluğunu ölçer.
  • Hassasiyet: Bu, doğru pozitif tespit sayısının yapılan toplam tespit sayısına bölünmesiyle hesaplanan, tespitlerin yüzde kaçının doğru olduğunu gösterir.
  • Geri Çağırma (Recall): Model tarafından doğru bir şekilde tanımlanan görüntülerdeki gerçek hayvanların yüzdesini gösterir ve tüm ilgili örnekleri yakalama yeteneğini yansıtır.

Bu değerlendirme metrikleri, gerçek dünya uygulamalarında kullanmadan önce doğruluğu artırmak için modelin ince ayarını yapmaya yardımcı olabilir.

Özel olarak eğitilmiş YOLO11 modelinizi kullanarak çıkarımlar çalıştırma

YOLO11'i eğittikten ve değerlendirdikten sonra, artık görüntüleri analiz etmek ve çıkarımlar çalıştırmak için kullanmanın zamanı geldi. Veri setinden test görüntülerini veya farklı kaynaklardan yeni görüntüleri kullanabilirsiniz.

Modeli test veri kümesindeki bir görüntü üzerinde çalıştırmak için aşağıdaki kod parçasını kullanacağız. Bu, Ultralytics kütüphanesinden gerekli modülleri içe aktarır. Daha sonra sonuçlar dizininde depolanan en iyi model ağırlıkları dosyasının ("best.pt") yolunu tanımlar. Özel olarak eğitilmiş YOLO11 modeli, bu ağırlıklar kullanılarak yüklenir. 

Bundan sonra, Afrika Yaban Hayatı test veri kümesinden bir görüntüye giden yol belirlenir. Model, nesne tespiti için bu görüntüye uygulanır, sonuçlar oluşturulur ve çıktı (tespit edilen nesneler veya açıklamalar gibi) kaydedilir.

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) 

Aşağıda gösterilen çıktı görüntüsü, runs/detect dizini içindeki "predict" klasörüne kaydedilecektir. Sonraki testler için, görüntüleri depolamak üzere "predict2", "predict3" ve benzeri gibi yeni klasörler oluşturulacaktır.

Şekil 4. İnce ayarlı YOLO11 modeli kullanılarak bir test görüntüsü üzerinde çıkarım çalıştırmak.

Farklı kaynaklardan gelen görüntüleri test etmek için aşağıdaki kodu kullanabilirsiniz. Pexels'ten bir görüntü kullandık. Aynı görüntüyü veya başka herhangi bir ilgili görüntüyü kullanabilirsiniz.

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)

Aşağıda gösterilen çıktı görüntüsü uygun klasöre kaydedilecektir.

Şekil 5. İnce ayarlı YOLO11 modeli kullanılarak, daha önce görülmemiş bir görüntüde vahşi yaşamı tespit etme.

Yaban hayatı koruma için yapay zeka: Gerçek dünya uygulamaları

YOLO11 gibi modeller hayvanları otomatik olarak tespit edip izleyebilir, bu da çeşitli pratik uygulamaları mümkün kılar. İşte Vizyon Yapay Zekasının vahşi yaşamı koruma çabalarını desteklemek için kullanılabileceği bazı önemli alanlara bir bakış:

  • Tür izleme:Görsel yapay zeka, türleri doğru bir şekilde tanımlamak, popülasyonları saymak ve zaman içindeki hareketlerini izlemek için görüntüler ve videolar gibi görsel verileri işlemek için kullanılabilir.
  • Akıllı kamera uyarıları: Uzak bölgelerde, bilgisayarlı görü, hayvanları sürekli olarak sınıflandırmak ve gerçek zamanlı uyarılar göndermek için kullanılabilir, bu da yaban hayatı yetkililerinin anormal hayvan davranışları veya insan-yaban hayatı çatışmaları gibi tehditlere hızla yanıt vermesini sağlar.
  • Davranış analizi: Göçü, beslenme alışkanlıklarını ve sosyal etkileşimleri izleyerek, vizyon yapay zeka sistemleri türler arası dinamikler hakkında kapsamlı bilgiler sağlayabilir.
  • Kaçak avlanmayı önleme: Görüntü işleme yapay zekası, yetkisiz insan varlığını ve kaçak avlanma belirtilerini tespit etmek için kullanılabilirken, makine öğrenimi ve geçmiş verilerden yararlanarak riskli noktaları belirleyebilir.

Önemli çıkarımlar

YOLO11 gibi bilgisayarlı görü modelleri, hayvan tespitini ve takibini otomatikleştirerek yaban hayatını korumada önemli bir rol oynayabilir. Yapay Görü ile çeşitli kaynaklardan gelen büyük miktarda görüntü ve videoyu işleyebilir, böylece doğru yaban hayatı değerlendirmeleri yapmak mümkün olur. 

Özellikle Ultralytics YOLO11, gerçek zamanlı nesne algılama için harika bir seçimdir ve bu da onu kaçak avlanma karşıtı gözetim, davranış analizi ve ekosistem izleme gibi görevler için mükemmel bir uyum haline getirir. Yapay zeka odaklı modelleri koruma çabalarına dahil ederek, türleri daha iyi koruyabilir, biyoçeşitlilik takibini iyileştirebilir ve nesli tükenmekte olan yaban hayatını korumak için daha bilinçli kararlar alabiliriz.

Bilgisayarlı görü hakkında daha fazla bilgi edinmek için topluluğumuza katılın ve GitHub depomuzu keşfedin. Çözüm sayfalarımızda sağlık hizmetlerinde yapay zeka ve üretimde bilgisayarlı görü ile ilgili daha fazla uygulama keşfedin. Vision AI'a başlamak için Ultralytics lisanslama seçeneklerine göz atın.

Gelin, yapay zekanın geleceğini
birlikte inşa edelim!

Makine öğreniminin geleceği ile yolculuğunuza başlayın

Ücretsiz başlayın
Bağlantı panoya kopyalandı