Yolo Vision Shenzhen
Shenzhen
Şimdi katılın

Vahşi doğadaki hayvanları detect etmek için Ultralytics YOLO modelleri nasıl eğitilir?

Abirami Vina

5 dakikalık okuma

15 Nisan 2025

Afrika Vahşi Yaşam Veri Kümesini kullanarak vahşi doğadaki hayvanları detect etmek için YOLO modellerini nasıl eğiteceğinizi ve görünmeyen görüntüler üzerinde çıkarımlar yapmak için modeli 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) yaban hayatının korunmasında etkili bir araç olarak kullanılabilir. Özellikle, aşağıdaki gibi bilgisayarla görme modelleri Ultralytics YOLO11 hayvanların gerçek zamanlı 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örme görevleri burada çok kullanışlıdır. Bu görevler, görsel verileri analiz ederek önemli verileri toplamamıza, ekolojik kalıpları belirlememize ve çevresel tehditlere daha etkili bir şekilde yanıt vermemize yardımcı olur.

Bu makalede, YOLO11 'i hayvanları detect etmek için eğitme sürecinden geçeceğiz. Hadi başlayalım!

Ultralytics YOLO11 ile çalışmaya başlama

Eğitime geçmeden önce, YOLO11'i eğitmek ve kullanmak için ihtiyaç duyacağınız farklı kurulum seçeneklerine ve araçlarına bir göz atalım. 

İhtiyacınız olan ana araç, eğitim, nesneleri tespit etme ve çıkarımlar yapma gibi görevler için YOLO modelleriyle çalışmayı kolaylaştıran Ultralytics Python paketidir. Ultralytics paketini kullanmak için kodunuzu çalıştıracak bir ortam kurmanı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üğmelere tıkladığınız ve bir fare kullandığınız grafik arayüzlerin (GUI) 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 Notebooks 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üklemeniz gerekmez.

Ortamınızı kurmak için resmi Ultralytics belgelerinde keşfedebileceğiniz başka seçenekler olsa da, 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, Google Colab, Jupyter Notebooks veya basit bir Python dosyası kullanarak YOLO11 'in nasıl kurulacağını ve eğitileceğini göstereceğiz, çünkü adımlar tüm bu ortamlarda çok benzerdir.

Afrika Yaban Hayatı Veri Kümesini Anlamak

Bir geliştirme ortamı seçtikten sonra, YOLO11 'i özellikle vahşi hayvanları detect etmek üzere eğitmek için, etiketli 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 denetimli öğrenme yoluyla onları tanımayı öğrenebilir.

Bu eğitimde, Afrika Vahşi Yaşam Veri Seti'ni kullanacağız. Ultralytics Python paketi 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 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ı 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 eğitimi

Afrika Yaban Hayatı Veri Kümesini keşfettiğimize göre, görüntülerdeki hayvanları detect etmek için bir YOLO11 modelini eğitmeye başlayabiliriz. Bu 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 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 Notebooks veya basit bir Python dosyası kullanılabilir. Buna göre yeni bir Google Colab not defteri, Jupyter Not Defteri 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. Süreci hızlandırmak için, özellikle de daha büyük modellerde, çalışma zamanını 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ıyı bir GPU 'ya (tercihen bir T4 GPU) ayarlayabilirsiniz. Bu, eğitim sürelerini kısaltmak için önemlidir.

Ardından, hangi ortamı kullandığınızdan bağımsız olarak, Ultralytics Python paketini yüklemeniz gerekir. Not defteri tabanlı bir ortamGoogle Colab veya Jupyter) kullanıyorsanız, aşağıdaki komutu başında ünlem işareti (!) olacak şekilde çalıştırın

pip install ultralytics

Adım 2: YOLO11 'in yüklenmesi ve veri setinin hazırlanması

Ultralytics paketi yüklendikten sonra, bir sonraki adım YOLO11 modelini yüklemek ve veri kümesini 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 nesnelerin nasıl detect edileceğ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 Vahşi Yaşam Veri Seti Ultralytics paketi tarafından desteklenmektedir, bu nedenle eğitimi başlattığınızda otomatik olarak indirilir ve sizi manuel olarak ayarlama zahmetinden kurtarır.

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ı, model yüklenir, veri kümesi otomatik olarak indirilir ve aşağıdaki kod parçacığı çalıştırıldığında Afrika Vahşi Yaşam Veri Kümesine dayalı olarak hayvanları detect 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ümde Ultralytics, PyTorch sürümü ve kullanılan donanım (bu durumdaCPU ) ile birlikte model (yolo11n.pt), yığın boyutu, epoklar ve görüntü boyutu dahil olmak üzere eğitim yapılandırması gösterilmektedir.
  • 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 ölçümleri: Her dönemden sonra, hassasiyet, geri çağırma ve mAP (ortalama ortalama hassasiyet) gibi performans ölçümlerini göreceksiniz. 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ı: Bir GPU kullanıyorsanız, çıktı donanım kullanımını track 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 ölçümlerini inceleyebilir ve doğrulayabilirsiniz. Google Colab'da, temel performans göstergelerini gösteren günlükleri bulabileceğiniz "runs" klasörüne, ardından "detect" klasörüne ve son olarak "train" klasörüne gidebilirsiniz.

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

CLI kullanıyorsanız, 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ıyan "yolo settings" komutunu kullanarak bu sonuçlara ve ayarlara kolayca erişebilirsiniz.

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. 

Eğitim sırasında kaybın (modelin tahminleri ile gerçek değerler arasındaki fark) nasıl azaldığını ve doğruluğun nasıl arttığını göstererek modelin ilerlemesini track ederler. 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 ortalama hassasiyet (mAP): Bu metrik, farklı geri çağırma seviyelerindeki hassasiyet puanlarının ortalamasını alarak modelin tüm sınıflardaki hayvanları tespit etmedeki 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 eğitimli YOLO11 modelinizi kullanarak çıkarımları çalıştırma

Artık YOLO11'i eğittiğimize ve değerlendirdiğimize göre, görüntüleri analiz etmek ve çıkarımlar yapmak için kullanma zamanı geldi. Veri setindeki 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çacığını kullanacağız. Ultralytics kütüphanesinden gerekli modülleri içe aktarır. Ardından, sonuçların dizininde depolanan en iyi model ağırlıkları dosyasının ("best.pt") yolunu tanımlar. Özel eğitimli 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ü detect dizini içinde bulunan "predict" klasörüne kaydedilecektir. Sonraki testler için, görüntüleri saklamak üzere "predict2", "predict3" ve benzeri yeni klasörler oluşturulacaktır.

Şekil 4. Bir test görüntüsü üzerinde ince ayarlı YOLO11 modelini kullanarak bir çıkarım çalıştırma.

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. Görünmeyen bir görüntü üzerinde ince ayarlı YOLO11 modelini kullanarak vahşi yaşamı tespit etme.

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

YOLO11 gibi modeller hayvanları otomatik olarak detect ve track edebilir, bu da çeşitli pratik uygulamalara olanak tanır. İşte Vision AI'nın vahşi yaşamı koruma çabalarını desteklemek için kullanılabileceği bazı temel 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 track 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, hayvanları sürekli olarak classify ve gerçek zamanlı uyarılar göndermek için bilgisayar görüşü kullanılabilir, böylece yaban hayatı yetkililerinin anormal hayvan davranışları veya insan-yaban hayatı çatışmaları gibi tehditlere hızlı bir şekilde yanıt vermesi sağlanabilir.
  • 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 avcılığın önlenmesi: Riskli noktaları belirlemek için makine öğrenimi ve geçmiş verilerden yararlanırken, yetkisiz insan varlığını ve kaçak avlanma belirtilerini detect etmek için Vision AI'dan yararlanılabilir.

Önemli çıkarımlar

YOLO11 gibi bilgisayarla görme modelleri, hayvan tespit ve takibini otomatikleştirerek yaban hayatının korunmasında önemli bir rol oynayabilir. Vision AI ile çeşitli kaynaklardan gelen büyük hacimli görüntü ve videoları işleyerek doğru yaban hayatı değerlendirmeleri yapmayı mümkün kılıyoruz. 

Özellikle Ultralytics YOLO11, gerçek zamanlı nesne tespiti için mükemmel bir seçimdir, 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 vahşi yaşamı korumak için daha bilinçli kararlar verebiliriz.

Bilgisayarla görme hakkında daha fazla bilgi edinmek için topluluğumuza katılın ve GitHub deposunu keşfedin. Çözüm sayfalarımızda sağlık hizmetlerinde yapay zeka ve üretimde bilgisayarla görme ile ilgili daha fazla uygulama keşfedin. Vision AI ile çalışmaya 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