Vahşi doğada hayvanları tespit etmek için Ultralytics YOLO modelleri nasıl eğitilir
African Wildlife Dataset kullanarak vahşi hayvanları tespit etmek için YOLO modellerinin nasıl eğitileceğini ve modelin görünmeyen görüntüler üzerinde çıkarım yapmak için nasıl kullanılacağını öğren.

Gezegenimizin vahşi yaşamı, vızıldayan arılardan devasa fillere kadar inanılmaz derecede çeşitlidir ve bu biyoçeşitliliği korumak, dengeli bir ekosistemi sürdürmenin anahtarıdır. Ancak yaşam alanı kaybı, kaçak avlanma ve iklim değişikliği nedeniyle koruma çalışmaları giderek daha zorlu hale gelmektedir. Tüm bu faktörler vahşi yaşam popülasyonlarını olumsuz etkiler.
Kamera tuzu görüntülerinin manuel olarak analiz edilmesi ve saha çalışmaları yürütülmesi gibi geleneksel animal monitoring yöntemleri yavaş olabilir ve çok fazla kaynak gerektirebilir. Bu çalışmalar 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), yaban hayatı koruma çalışmalarında etkili bir araç olarak kullanılabilir. Özellikle, Ultralytics YOLO11 gibi bilgisayarlı görü modelleri, görüntü ve video gibi görsel verileri analiz ederek hayvanların gerçek zamanlı olarak tanımlanmasını ve takip edilmesini otomatikleştirebilir.
Nesne tespiti ve örnek bölütleme gibi bilgisayarlı görü görevleri, Ultralytics YOLO11 tarafından desteklenerek burada çok faydalıdır. Görsel verileri analiz ederek bu görevler, kritik verileri toplamamıza, ekolojik örüntüleri belirlememize ve çevresel tehditlere daha etkili bir şekilde yanıt vermemize yardımcı olur.
Bu makalede, hayvanları tespit etmek için Ultralytics YOLO11 modelini eğitme sürecini adım adım ele alacağız. Hadi başlayalım!
Ultralytics YOLO11 ile Başlangıç#
Eğitime dalmadan önce, Ultralytics YOLO11 modelini eğitmek ve kullanmak için ihtiyaç duyacağın farklı kurulum seçeneklerine ve araçlara bir göz atalım.
İhtiyacın olacak ana araç, eğitim, nesne tespiti ve çıkarım çalıştırma gibi görevler için YOLO modelleri ile çalışmayı kolaylaştıran Ultralytics Python package paketidir. Ultralytics paketini kullanmak için kodunu çalıştırabileceğin bir ortam kurman gerekir ve aralarından seçim yapabileceğin çeşitli seçenekler mevcuttur.
Geliştirme ortamını kurmak için en popüler seçeneklerden bazıları şunlardır:
- Komut satırı arayüzü (CLI): Terminal olarak da bilinen CLI, komutlar yazarak bilgisayarınla etkileşime girmeni sağlayan metin tabanlı bir araçtır. Düğmelere tıkladığın ve fare kullandığın grafik arayüzlerin (GUI) aksine, CLI programları çalıştırmak veya görevleri yerine getirmek için metin talimatları yazmanı gerektirir.
- Jupyter Notebooks: Bu not defterleri, kodu hücre adı verilen küçük parçalar halinde yazıp çalıştırmana olanak tanır. Etkileşimlidir, yani kodunun çıktısını anında görebilirsin, bu da test etmeyi ve hata ayıklamayı kolaylaştırır.
- Google Colab: Google Colab, Jupyter Notebooks gibi çalışan ancak güçlü GPU'lara ücretsiz erişim sunan bulut tabanlı bir platformdur. Kurulumu kolaydır ve bilgisayarına herhangi bir şey yüklemen gerekmez.
official Ultralytics documentation sayfasında keşfedebileceğin ortamı kurmaya yönelik diğer seçeneklerin yanı sıra, yukarıda belirtilen üç 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, adımlar tüm bu ortamlarda çok benzer olduğundan, Google Colab, Jupyter Notebooks veya basit bir Python dosyası kullanarak Ultralytics YOLO11 kurulumunu ve eğitimini nasıl yapacağını göstereceğiz.
Afrika Vahşi Yaşamı Veri Setini Anlamak#
Bir geliştirme ortamı seçtikten sonra, özellikle yabani hayvanları tespit etmek üzere Ultralytics YOLO11 modelini eğitmek için etiketlenmiş yüksek kaliteli bir veri setine ihtiyacımız var. Modelin denetimli öğrenme yoluyla onları tanımayı öğrenebilmesi için her görüntü, hayvanların nerede olduğunu ve hangi türde olduğunu açıkça göstermelidir.
Bu eğitimde African Wildlife Dataset veri setini kullanacağız. Bu veri seti Ultralytics Python package tarafından desteklenmektedir ve özellikle Afrika ekosistemlerinde yaygın olarak bulunan hayvanları tespit etmek için tasarlanmıştır. Dört temel türün etiketlenmiş görüntülerini içerir: mandalar, filler, gergedanlar ve zebralar.

Fig 1. African Wildlife Dataset veri setine bir bakış.
İşte Afrika Vahşi Yaşamı Veri Setinin bazı temel özellikleri:
- Ölçek: Veri seti, üç alt kümede bölünmüş 1504 görüntüden oluşur: 1052 eğitim için, 225 doğrulama için ve 227 test için. Bu ayrım, modelin etkili bir şekilde öğrenmesini ve kapsamlı bir şekilde değerlendirilmesini sağlar.
- Sorunsuz entegrasyon: Ultralytics, veri seti yollarını, sınıfları ve diğer ayrıntıları tanımlayan bir YAML yapılandırma dosyası sağlar, bu da 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 Eğitimi#
Afrika Yaban Hayatı Veri Seti'ni incelediğimize göre, görüntülerdeki hayvanları tespit etmek için bir Ultralytics YOLO11 modeli eğitilmeye başlayabiliriz. Süreç, geliştirme ortamının kurulmasını, YOLO11 modelinin eğitilmesini ve modelin performansının değerlendirilmesini içerir.
Adım 1: Ortamın kurulması#
Başlamak için modeli eğitmek ve test etmek üzere bir ortam hazırlayacağız. Tercihine bağlı olarak Google Colab, Jupyter Notebooks veya basit bir Python dosyası kullanılabilir. Buna uygun olarak yeni bir Google Colab not defteri, Jupyter Notebook veya Python dosyası oluştur.
Google Colab kullanıyorsan, ortam varsayılan olarak eğitimi yavaşlatabilecek bir CPU (Merkezi İşlem Birimi) üzerinde çalışır. Süreci hızlandırmak için, özellikle daha büyük modellerde, çalışma zamanını bir GPU kullanacak şekilde değiştirebilirsin. Google Colab'de menüdeki "Runtime" sekmesine gidebilir, "Change runtime type" seçeneğini seçebilir ve donanım hızlandırıcıyı bir GPU (tercihen bir T4 GPU) olarak ayarlayabilirsin. Bu, eğitim sürelerini kısaltmak için önemlidir.
Ardından, hangi ortamı kullanıyor olursan ol, Ultralytics Python paketini yüklemen gerekir. Not defteri tabanlı bir ortam (Google Colab veya Jupyter) kullanıyorsan, başında ünlem işareti (!) bulunan aşağıdaki komutu çalıştır.
pip install ultralyticsAdım 2: Ultralytics YOLO11 modelini yükleme ve veri setini hazırlama#
Ultralytics paketi yüklendikten sonra, bir 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 zaten önceden eğitilmiş olan YOLO11 modelini yüklüyoruz. Bu önceden eğitilmiş model, çeşitli nesneleri nasıl algılayacağını 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 dataset belirtiriz. Bu dosya modele veri setini nerede bulacağını ve hangi nesneleri tanımayı öğrenmesi gerektiğini söyler.
Afrika Vahşi Yaşamı Veri Seti Ultralytics paketi tarafından desteklenir, bu nedenle eğitime başladığında otomatik olarak indirilir ve seni manuel olarak ayarlama zahmetinden kurtarır.
Veri seti hazır olduğunda, model begins training süreci başlar. Model, görüntülerdeki hayvanları tanıma yeteneğini geliştirmek için birden fazla epoch boyunca eğitim adı verilen bir süreçle veri setinden birkaç kez geçecektir. Bu süreç sırasında, görüntüler işleme için tutarlı bir boyuta yeniden boyutlandırılacak ve model, batch 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 seti otomatik olarak indirilir ve Afrika Vahşi Yaşamı Veri Setine dayanarak hayvanları tespit etmek için eğitim başlar.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.train(data="african-wildlife.yaml", epochs=30, batch=8)Adım 3: Ultralytics YOLO11 eğitimi kılavuzu#
Yukarıdaki kod parçacığı çalıştırıldığında, model verdiğimiz ayarlara göre eğitime başlar. Modele kod aracılığıyla eğitim görüntülerini 30 kez incelemesini söyledik. Yani, model veri setindeki tüm görüntülere 30 kez bakacak ve her seferinde biraz daha fazla şey öğrenecektir.
Bir hayvanı çizmeyi denediğini hayal et. İlk çizdiğinde pek iyi görünmeyebilir, ancak tekrar tekrar pratik yaptıktan sonra daha iyi olmaya başlarsın. Her tekrar denemende neyin yanlış gittiğinden ders çıkarır ve bunu düzeltirsin. Her bir epoch model için bunu yapar; görüntülere bakar, hatalar yapar, bunlardan ders çıkarır ve her seferinde hayvanları tanımada daha iyi hale gelir.
Eğitim kodu başarıyla çalışıyorsa, eğitim ilerledikçe aşağıdaki çıktıyı göreceksin:
- Eğitim kurulumu: İlk bölüm, model (yolo11n.pt), yığın boyutu, dönemler ve görüntü boyutu dahil olmak üzere eğitim yapılandırmasıyla birlikte kullanılan Ultralytics, PyTorch ve donanım sürümünü (bu durumda CPU) gösterir.
- Model özeti: Katman sayısı ve parametre sayısı gibi modelin karmaşıklığı hakkında bilgi vererek modelin ne kadar büyük olduğunu gösterir.
- İyileştirici (Optimizer) ve öğrenme oranı: Eğitim sırasında modelin parametrelerini nasıl ayarladığını kontrol eden iyileştiriciyi (örneğin AdamW) ve öğrenme oranını belirtir.
- Veri seti taraması: Model veri setini tarayarak kaç görüntünün geçerli ve eğitim için hazır olduğunu gösterir. Veri setiyle ilgili herhangi bir sorun olmadığını onaylar.
- Eğitim ilerlemesi: Çıktı, modelin ne kadar iyi öğrendiğini gösteren önemli kayıp değerleriyle (box_loss, cls_loss, dfl_loss) birlikte her dönemden (eğitim döngüsü) sonra güncellenir.
- Performans metrikleri: Her dönemden sonra kesinlik (precision), duyarlılık (recall) ve mAP (ortalama hassasiyet) gibi performans metriklerini göreceksin. Bu değerler, modelin nesneleri tespit etme ve sınıflandırma konusunda ne kadar doğru olduğunu gösterir.
- GPU bellek kullanımı: Eğer bir GPU kullanıyorsan, çıktı donanım kullanımını takip etmek için bellek kullanımını gösterir.

Şekil 2. Model eğitimi devam ederken göreceğin çıktı.
Adım 4: Özel eğitilmiş modelin performansını değerlendirme#
Eğitim süreci tamamlandıktan sonra, modelin performans metriklerini inceleyebilir ve validate edebilirsin. Google Colab'de "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 "train" klasörüne gidebilirsin.
Python ortamındaki kullanıcılar için eğitim sonuçları, varsayılan olarak çalışma dizininizdeki “runs/train/” dizinine kaydedilir. Her eğitim çalıştırması, günlükleri ve eğitimle ilgili diğer çıktıları bulabileceğin yeni bir alt dizin (örneğin runs/train/exp, runs/train/exp2 vb.) oluşturur.
CLI kullanıyorsan, eğitim günlükleri ve deney ayrıntılarıyla ilgili yolları ve diğer yapılandırmaları görüntülemeni veya değiştirmeni sağlayan “yolo settings” komutunu kullanarak bu sonuçlara ve ayarlara kolayca erişebilirsin.
Günlükler arasında, model eğitim sürecinin ne kadar iyi gittiğini görmek için inceleyebileceğin bazı grafikler de bulacaksın. Eğitim tamamlandıktan sonra oluşturulan bu grafikler, modelin zamanla daha az hata yaparak ve daha doğru hale gelerek iyileşip iyileşmediğini gösterir.
Modelin ilerleyişini takip ederler; eğitimin kayıp (modelin tahminleri ile gerçek değerler arasındaki fark) değerlerinin nasıl azaldığını ve doğruluğun nasıl arttığını gösterirler. Bu, modelin hayvanları tanımayı ne kadar iyi öğrendiğini ve eğitimin sonuna kadar ne kadar geliştiğini anlamana yardımcı olur.

Şekil 3. Modelini değerlendirmek için analiz edebileceğin grafiklere bir örnek.
Temel performans değerlendirme metrikleri#
Ayrıca, model's performance değerlendirmek için kullanabileceğin metriklerden bazılarına daha yakından bakalım:
- Ortalama hassasiyet (mAP): Bu metrik, farklı duyarlılık seviyelerindeki kesinlik puanlarını ortalayarak modelin tüm sınıflardaki hayvanları tespit etmedeki genel doğruluğunu ölçer.
- Kesinlik (Precision): Bu, doğru pozitif tespitlerin sayısının yapılan toplam tespit sayısına bölünmesiyle hesaplanan, doğru olan tespitlerin yüzdesini temsil eder.
- Duyarlılık (Recall): Görüntülerdeki gerçek hayvanların yüzde kaçının model tarafından doğru bir şekilde tanımlandığını gösterir ve ilgili tüm örnekleri yakalama yeteneğini yansıtır.
Bu değerlendirme metrikleri, modeli gerçek dünya uygulamalarında kullanmadan önce doğruluğunu artırmak için ince ayar yapmana yardımcı olabilir.
Özel eğitilmiş Ultralytics YOLO11 modelini kullanarak çıkarımlar çalıştırma#
Ultralytics YOLO11 modelini eğitip değerlendirdiğimize göre, şimdi onu görüntüleri analiz etmek ve çıkarım çalıştırmak için kullanma zamanı. Veri setindeki test görüntülerini veya farklı kaynaklardaki yeni görüntüleri kullanabilirsin.
Modeli test veri setindeki bir görüntü üzerinde çalıştırmak için aşağıdaki kod parçacığını kullanacağız. Ultralytics kütüphanesinden gerekli modülleri içe aktarır. Ardından, sonuçlar dizininde saklanan en iyi model ağırlıkları dosyasının ("best.pt") yolunu tanımlar. Özel eğitilmiş YOLO11 modeli, bu ağırlıklar kullanılarak yüklenir.
Bundan sonra, Afrika Vahşi Yaşamı test veri setinden bir görüntünün yolu belirlenir. Model bu görüntüye nesne algılama için uygulanır, sonuçlar oluşturulur ve çıktı (tespit edilen nesneler veya açıklamalar gibi) kaydedilir.
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)Aşağıda gösterilen çıktı görüntüsü, runs/detect dizininde bulunan "predict" klasörüne kaydedilecektir. Sonraki testler için, görüntüleri saklamak amacıyla "predict2", "predict3" vb. gibi yeni klasörler oluşturulacaktır.

Şekil 4. İnce ayar yapılmış Ultralytics YOLO11 modelini bir test görüntüsü üzerinde kullanarak çıkarım yapma.
Farklı kaynaklardaki görüntüleri test etmek için aşağıdaki kodu kullanabilirsin. Pexels adresinden bir görüntü kullandık. Aynı görüntüyü veya başka herhangi bir ilgili görüntüyü kullanabilirsin.
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)Aşağıda gösterilen çıktı görüntüsü uygun klasöre kaydedilecektir.

Şekil 5. Görülmemiş bir görüntü üzerinde ince ayarı yapılmış Ultralytics YOLO11 modeli kullanılarak yaban hayatının tespiti.
Vahşi yaşam koruma için yapay zeka: Gerçek dünya uygulamaları#
Ultralytics YOLO11 gibi modeller, hayvanları otomatik olarak tespit edip takip edebilir ve bu da çeşitli pratik uygulamaları mümkün kılar. İşte görüş yapay zekasının yaban hayatı koruma çalışmalarını desteklemek için kullanılabileceği temel alanlardan bazılarına bir bakış:
- Tür izleme: Bilgisayarlı görü yapay zekası, türleri doğru bir şekilde tanımlamak, popülasyonları saymak ve zaman içindeki hareketlerini izlemek için görüntü ve video gibi görsel verileri işlemek üzere 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, böylece vahşi yaşam yetkililerinin anormal hayvan davranışı veya insan-vahşi yaşam çatışmaları gibi tehditlere hızlı bir şekilde yanıt vermesini sağlar.
- Davranış analizi: Göçü, beslenme alışkanlıklarını ve sosyal etkileşimleri izleyerek, bilgisayarlı görü sistemleri türler arası dinamikler hakkında kapsamlı bilgiler sağlayabilir.
- Kaçak avlanmayı önleme: Bilgisayarlı görü yapay zekası, yetkisiz insan varlığını ve kaçak avlanma belirtilerini tespit etmek için kullanılabilirken, makine öğreniminden ve geçmiş verilerden yararlanarak riskli sıcak noktaları belirleyebilir.
Öne çıkanlar#
Ultralytics YOLO11 gibi bilgisayarlı görü modelleri, hayvan tespiti ve takibini otomatikleştirerek yaban hayatı koruma çalışmalarında kilit bir rol oynayabilir. Görüş yapay zekası ile çeşitli kaynaklardan gelen büyük hacimli görüntü ve videoları işleyebilir, doğru yaban hayatı değerlendirmeleri yapmayı mümkün kılabilirsin.
Ultralytics YOLO11, özellikle gerçek zamanlı nesne algılama için harika bir seçimdir ve kaçak avlanma izleme, davranış analizi ve ekosistem izleme gibi görevler için mükemmel bir uyum sağlar. Yapay zeka destekli modelleri koruma çalışmalarına dahil ederek, türleri daha iyi koruyabilir, biyoçeşitlilik takibini iyileştirebilir ve nesli tükenmekte olan vahşi yaşamı korumak için daha bilinçli kararlar alabiliriz.
Bilgisayarlı görü hakkında daha fazla bilgi edinmek için community topluluğumuza katıl ve GitHub repository deposunu keşfet. Çözüm sayfalarımızda AI in healthcare ve computer vision in manufacturing ile ilgili daha fazla uygulama keşfet. Görsel yapay zekaya başlamak için Ultralytics licensing options seçeneklerini incele.






