Afrika Vahşi Yaşam Veri Kümesini kullanarak vahşi doğadaki hayvanları tespit 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 yaban hayatı, vızıldayan arılardan yükselen fillere kadar inanılmaz bir çeşitliliğe sahiptir ve bu biyolojik çeşitliliğin korunması dengeli bir ekosistemin sürdürülmesi için kilit öneme sahiptir. Ancak, habitat kaybı, kaçak avlanma ve iklim değişikliği nedeniyle koruma çabaları daha zorlu hale gelmektedir. Tüm bu faktörler yaban hayatı popülasyonlarını olumsuz etkilemektedir.
Kameralı tuzak 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 gerektirir. Bu çabalar genellikle geniş alanları ve büyük popülasyonları etkili bir şekilde kapsayamaz.
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ı tespit etmek için eğitme sürecinden geçeceğiz. Hadi başlayalım!
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ı:
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.
Bir geliştirme ortamı seçtikten sonra, YOLO11 'i özellikle vahşi hayvanları tespit 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.
İşte Afrika Yaban Hayatı Veri Setinin bazı temel özellikleri:
Afrika Yaban Hayatı Veri Kümesini keşfettiğ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ın kurulmasını, YOLO11 modelinin eğitilmesini ve modelin performansının değerlendirilmesini içerir.
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
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 tespit 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 belirleriz. 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 kümesi hazır olduğunda, model eğitime başlar. Model, görüntülerdeki hayvanları tanıma becerisini geliştirmek için birden fazla dönem boyunca eğitim adı verilen bir süreçle veri kümesini birkaç kez gözden geçirecektir. Bu işlem sırasında, görüntüler işlenmek üzere tutarlı bir boyuta yeniden boyutlandırılır ve model bir seferde toplu iş olarak bilinen belirli sayıda görüntü ile çalışır. Bu, modelin daha verimli bir şekilde öğ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ı 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)
Yukarıdaki kod parçacığı çalıştırıldığında, model verdiğimiz ayarlara göre eğitime başlar. Kod aracılığıyla modele eğitim görüntülerinden 30 kez geçmesini söyledik. Bu, modelin veri kümesindeki tüm görüntülere 30 kez bakacağı ve her seferinde biraz daha fazla öğreneceği anlamına gelir.
Bir hayvanın nasıl çizileceğini öğrenmeye çalıştığınızı düşünün. İ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ğini öğrenir ve onu düzeltirsiniz. Model için her dönemin yaptığı şey budur - görüntülere bakar, hatalar yapar, onlardan öğrenir ve her seferinde hayvanları tanımada daha iyi hale gelir.
Eğitim kodu başarılı bir şekilde çalışıyorsa, eğitim ilerledikçe aşağıdaki çıktıyı göreceksiniz:
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 bakabileceğ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 takip 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.
Ayrıca, modelin performansını değerlendirmek için kullanabileceğiniz bazı metriklere daha yakından bakın:
Bu değerlendirme ölçütleri, modeli gerçek dünya uygulamalarında kullanmadan önce doğruluğunu artırmak için ince ayar yapılmasına yardımcı olabilir.
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 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 Vahşi Yaşamı test veri kümesinden bir görüntüye giden yol ayarlanır. Model, nesne algılama için bu görüntüye uygulanır, sonuçlar oluşturulur ve çıktı (algılanan nesneler veya ek 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ç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.
Farklı kaynaklardan gelen görselleri test etmek için aşağıdaki kodu kullanabilirsiniz. Biz Pexels'ten bir görsel kullandık. Siz de aynı görseli veya ilgili başka bir görseli 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.
YOLO11 gibi modeller hayvanları otomatik olarak tespit ve takip 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ış:
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 algılama 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.
Makine öğreniminin geleceği ile yolculuğunuza başlayın