Meet YOLO26: next-gen vision AI.

Link to this sectionBilgisayarlı Görü Modelleri Nasıl Test Edilir#

Link to this sectionGiriş#

Model testi, eğitilmiş bir modelin daha önce görülmemiş, gerçek dünya verileri üzerinde (küratörlü bir kıyaslama seti yerine hareketli, az ışıklı veya kısmen gizlenmiş nesnelerle) nasıl performans gösterdiğini kontrol eder. Model değerlendirmesi etiketli bir veri kümesindeki metrikleri ölçerken, test süreci dağıtımdan önce modelin öğrenilmiş davranışının uygulamanın hedefleriyle eşleştiğini doğrular. Bu kılavuz; test verilerinin hazırlanmasını, Ultralytics YOLO26 modellerinin test edilmesini ve aşırı öğrenme (overfitting), eksik öğrenme (underfitting) ve veri sızıntılarının tespit edilmesini kapsar.



Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀

Link to this sectionModel Testi ve Model Değerlendirmesi#

Model testi ve model değerlendirmesi, bilgisayarlı görü projesindeki iki farklı adımdır. Değerlendirme, etiketli bir veri kümesindeki metriklerle performansı ölçer; test ise modelin öğrenilmiş davranışının dağıtım ortamına benzer koşullarda geçerli olup olmadığını kontrol eder.

Bir bilgisayarlı görü modelini kedi ve köpekleri tanımak için eğittiğini ve bu modeli hayvanları izlemek için bir pet shop'ta kullanmak istediğini varsayalım. Model değerlendirme aşamasında, doğruluk, kesinlik ve duyarlılık gibi metrikleri hesaplamak için etiketli bir veri kümesi kullanırsın. Örneğin, model belirli bir veri kümesinde kedi ve köpekleri ayırt etmede %98 doğruluk payına sahip olabilir.

Değerlendirmeden sonra, modelin daha değişken ve gerçekçi koşullarda kedi ve köpekleri ne kadar iyi tanımladığını görmek için bir pet shop'tan alınan görüntüleri kullanarak modeli test edersin. Hareket halindeyken, farklı ışık koşullarında veya oyuncak/mobilya gibi nesneler tarafından kısmen gizlendiklerinde kedi ve köpekleri doğru şekilde etiketleyip etiketleyemediğini kontrol edersin. Model testi, modelin kontrollü değerlendirme ortamının dışında beklendiği gibi davranıp davranmadığını denetler.

Link to this sectionModel Testine Hazırlık#

Bilgisayarlı görü veri kümeleri, gerçek dünya koşullarını simüle etmek için genellikle eğitim ve test kümelerine ayrılır: eğitim verileri modele öğretim yaparken, test verileri modelin daha önce görmediği örnekler üzerindeki davranışını doğrular. Ultralytics Platform, veri kümesi organizasyonunu ve etiketlemeyi tek bir yerde tutar; bu da etiketli bir test kümesi oluştururken sana yardımcı olur.

Test etmeden önce
  • Gerçekçi temsil: Daha önce görülmemiş test verileri, model dağıtıldığında karşı karşıya kalacağı verilere benzer olmalıdır. Bu, modelin yeteneklerine dair gerçekçi bir tablo sunar.
  • Yeterli boyut: Test veri kümesinin, modelin ne kadar iyi performans gösterdiğine dair güvenilir içgörüler sağlayacak kadar büyük olması gerekir.

Link to this sectionBir YOLO26 Modeli Nasıl Test Edilir#

Eğitilmiş bir YOLO26 modelini test etmek iki tamamlayıcı iş akışı içerir: nicel metrikler elde etmek için etiketli bir test setinde doğrulama yapmak ve davranışı nitel olarak incelemek için yeni görüntüler üzerinde tahmin yürütmek.

Link to this sectionEtiketli Bir Test Setinde Doğrulama#

Doğrulama modu, modelin tahminlerini gerçek etiketlerle karşılaştırır ve algılama modelleri için kesinlik (precision), duyarlılık (recall), mAP50 ve mAP50-95 değerlerini raporlar. Ayrıca, modelin iyi performans göstermediği alanları belirlemene yardımcı olan karmaşıklık matrisi ve kesinlik-duyarlılık eğrisi gibi görsel araçları kaydeder.

Kullanım
from ultralytics import YOLO

# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")

# Validate; add split="test" if your dataset YAML defines a test split
metrics = model.val(data="coco8.yaml")
print(metrics.box.map)  # mAP50-95

Varsayılan olarak doğrulama, veri kümesinin val ayrımında çalışır. Ayrılmış bir test kümesindeki performansı ölçmek için veri kümesi YAML dosyasında bir test: ayrımı tanımla ve split="test" komutunu kullan.

Link to this sectionYeni Görüntüler Üzerinde Tahmin#

Tahmin modu, modelin etiket gerektirmeden yeni ve görülmemiş veriler üzerinde çalışmasını sağlar. Bu yöntem performans metrikleri üretmez, ancak etiketli çıktıları kaydetmek, modelin gerçek dünya görüntülerinde (örneğin, bir klasör dolusu test görüntüsünde) nasıl davrandığını tek seferde gözden geçirmene olanak tanır.

Kullanım
from ultralytics import YOLO

# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")

# Run predictions on a folder of test images and save annotated results
results = model.predict(source="path/to/test_images", save=True)
Özel eğitimden önce önceden eğitilmiş bir modeli test etme

Özel bir eğitime yatırım yapmadan önce YOLO26'nın uygulamana uygun olup olmadığını kontrol etmek için kendi görüntülerinle önceden eğitilmiş bir kontrol noktasıyla tahmin modunu çalıştır. Modeller COCO gibi veri kümeleri üzerinde önceden eğitilmiştir, bu nedenle sonuçlar modelin senin özel bağlamında ne kadar iyi performans gösterebileceğine dair hızlı bir fikir verir.

Link to this sectionDoğrulama ve Tahmin Modu Karşılaştırması#

ModAmaçEtiket gerektirirÇıktı
DoğrulamaPerformansı gerçek değerlere göre nicelleştirmeEvetKesinlik, duyarlılık, mAP50, mAP50-95, karmaşıklık matrisi, PR eğrileri
TahminYeni ve etiketsiz veriler üzerinde model davranışını incelemeHayırEtiketli görüntüler ve tahmin sonuçları, metrik yok

Link to this sectionTest Sonuçları Nasıl Analiz Edilir#

Tahminler ve metrikler elindeyken, modelin nerede ve neden başarısız olduğunu derinlemesine incele:

  • Yanlış sınıflandırılmış görüntüler: Modelin yanlış sınıflandırdığı görüntüleri belirle ve nerede hata yaptığını anlamak için gözden geçir.
  • Hata analizi: Hata türlerini (örneğin, yanlış pozitifler ve yanlış negatifler) ve bunların olası nedenlerini anlamak için kapsamlı bir hata analizi yap.
  • Önyargı ve adillik: Modelin tahminlerindeki önyargıları kontrol et. Modelin, özellikle ırk, cinsiyet veya yaş gibi hassas nitelikler içeriyorsa, verinin farklı alt kümelerinde eşit derecede iyi performans gösterdiğinden emin ol.

Link to this sectionMakine Öğreniminde Aşırı Öğrenme ve Eksik Öğrenme#

Bir makine öğrenimi modelini, özellikle bilgisayarlı görü alanında test ederken, aşırı öğrenme (overfitting) ve eksik öğrenme (underfitting) durumlarına dikkat etmek önemlidir. Bu sorunlar, modelinin yeni verilerle ne kadar iyi çalıştığını önemli ölçüde etkileyebilir.

SorunYaygın belirtilerNasıl çözülür
Aşırı öğrenmeYüksek eğitim doğruluğu ancak düşük doğrulama doğruluğu; görüntülerdeki küçük değişikliklere veya ilgisiz ayrıntılara karşı aşırı hassasiyetDropout gibi düzenlileştirme yöntemleri uygula, eğitim veri kümesinin boyutunu artır, model mimarisini basitleştir
Eksik öğrenmeEğitim setinde bile düşük doğruluk; bariz özellikleri veya nesneleri tanımada tutarlı başarısızlıkDaha karmaşık bir model kullan, daha ilgili özellikler sağla, eğitim epoklarını artır

Anahtar nokta, modelin hem eğitim hem de doğrulama veri kümelerinde iyi performans göstermesi için bir denge bulmaktır. Metrikleri düzenli olarak izlemek ve test sırasında tahminleri görsel olarak incelemek, uç durumlara kaymaları yakalamana yardımcı olur.

Comparison of underfitting, appropriate fitting, and overfitting on the same dataset

Link to this sectionBilgisayarlı Göründe Veri Sızıntısı ve Bundan Nasıl Kaçınılır#

Veri sızıntısı, eğitim veri kümesinin dışından gelen bilgilerin yanlışlıkla modeli eğitmek için kullanılması durumunda meydana gelir. Model eğitim sırasında çok doğru görünebilir, ancak veri sızıntısı olduğunda yeni ve görülmemiş veriler üzerinde iyi performans göstermez.

Sızıntıyı tespit etmek zor olabilir ve genellikle eğitim verilerindeki gizli önyargılardan kaynaklanır:

Önyargı türüNasıl görünür
Kamera önyargısıFarklı açılar, ışıklandırma, gölgeler ve kamera hareketleri istenmeyen desenler ortaya çıkarır
Kaplama önyargısıGörüntülerdeki logolar, zaman damgaları veya diğer bindirmeler modeli yanıltır
Yazı tipi ve nesne önyargısıBelirli sınıflarda sıklıkla görünen özel yazı tipleri veya nesneler, modelin öğrenimini saptırır
Mekansal önyargıÖn plan-arka plan dengesizlikleri, sınırlayıcı kutu dağılımları ve nesne konumları eğitimi etkiler
Etiket ve alan önyargısıYanlış etiketler veya veri türlerindeki kaymalar sızıntıya yol açar

Link to this sectionVeri Sızıntısı Nasıl Tespit Edilir ve Önlenir#

Veri sızıntısını bulmak için modelin sonuçlarının şaşırtıcı derecede iyi olup olmadığını kontrol et, bir özelliğin diğerlerinden çok daha önemli olup olmadığına bak, modelin kararlarının sezgisel olarak mantıklı olup olmadığını tekrar kontrol et ve herhangi bir işleme başlamadan önce verilerin doğru şekilde ayrıldığını doğrula.

Bunu önlemek için farklı kameralardan ve ortamlardan gelen görüntü veya videoların bulunduğu çeşitli bir veri kümesi kullan ve verilerini tüm pozitif örneklerin günün belirli bir saatinde alınması gibi gizli önyargılara karşı dikkatlice incele. Veri sızıntısından kaçınmak, bilgisayarlı görü modellerini gerçek dünya durumlarında daha güvenilir hale getirir.

Link to this sectionModel Testinden Sonra Ne Yapılır#

Modelini test ettikten sonra bir sonraki adımlar sonuçlara bağlıdır. Modelin iyi performans gösteriyorsa, onu gerçek dünya ortamında dağıtabilirsin. Sonuçlar tatmin edici değilse iyileştirmeler yapman gerekecektir. Bu süreç hataları analiz etmeyi, daha fazla veri toplamayı, veri kalitesini artırmayı, hiperparametreleri ayarlamayı ve modeli yeniden eğitmeyi içerebilir.

Link to this sectionSonuç#

Titiz bir model testi (ayrılmış bir test setinde doğrulama, gerçek dünya görüntülerinde tahmin yürütme ve aşırı öğrenme ile veri sızıntısı kontrolü), iyi değerlendirilmiş bir modeli güvenilir bir modele dönüştürür. Testin ortaya çıkardığı sorunları dağıtımdan önce çöz; modelin üretim ortamında amaçlandığı gibi performans gösterme olasılığı çok daha yüksek olacaktır. Yol boyunca soruların çıkarsa, Ultralytics GitHub deposundaki veya Ultralytics Discord sunucusundaki topluluğa sor.

Link to this sectionSSS#

Link to this sectionBilgisayarlı göründe model değerlendirmesi ve model testi arasındaki temel farklar nelerdir?#

Model değerlendirmesi, etiketli bir veri kümesindeki metriklerle performansı ölçerken, model testi modelin dağıtım koşullarına benzeyen yeni ve görülmemiş veriler üzerinde nasıl davrandığını kontrol eder. Değerlendirme, kontrollü bir veri kümesinden kesinlik ve mAP gibi sayılar üretir; test ise öğrenilen davranışın değişken ışık, hareket veya tıkanma durumlarında geçerli olup olmadığını ortaya koyar. Örnek bir çalışma için Model Testi ve Model Değerlendirmesi kısmına bak.

Link to this sectionUltralytics YOLO26 modelimi birden fazla görüntüde nasıl test edebilirim?#

Tahmin modunu kullan ve source olarak bir klasör yolu belirt; YOLO26 klasördeki her görüntü üzerinde çalışır ve etiketli sonuçları incelemen için kaydedebilir. Tahmin modu metrik hesaplamaz; etiketli bir kümedeki performansı nicelleştirmek için bunun yerine doğrulama modunu kullan. Her iki iş akışı da Bir YOLO26 Modeli Nasıl Test Edilir kısmında gösterilmiştir.

Link to this sectionYOLO26 doğrulaması bir test setinde hangi metrikleri raporlar?#

Algılama modelleri için doğrulama; kesinlik, duyarlılık, mAP50 ve mAP50-95 değerlerini raporlar ve karmaşıklık matrisi ile kesinlik-duyarlılık eğrisi dahil olmak üzere grafikler kaydeder. Varsayılan val ayrımı yerine özel bir test ayrımında doğrulamak için veri kümesi YAML dosyasında test: değerini tanımla ve split="test" komutunu kullan. Her bir metriğin nasıl yorumlanacağı için performans metrikleri kılavuzuna bak.

Link to this sectionBilgisayarlı görü modelim aşırı öğrenme veya eksik öğrenme belirtileri gösteriyorsa ne yapmalıyım?#

Aşırı öğrenme için dropout gibi düzenlileştirme teknikleri uygula, eğitim veri kümesinin boyutunu artır veya model mimarisini basitleştir. Eksik öğrenme için daha karmaşık bir model kullan, daha ilgili özellikler sağla veya daha fazla epok için eğitim yap. Her sorunun belirtileri ve karşılık gelen çözümleri Makine Öğreniminde Aşırı Öğrenme ve Eksik Öğrenme bölümünde özetlenmiştir.

Link to this sectionBilgisayarlı göründe veri sızıntısını nasıl tespit edebilir ve önleyebilirim?#

Test performansı şaşırtıcı derecede iyi göründüğünde, tek bir özellik tahminlere hakim olduğunda veya modelin kararları sezgisel olarak mantıklı gelmediğinde veri sızıntısından şüphelen. Bunu, farklı kameralardan ve ortamlardan gelen çeşitli veri kümeleri kullanarak, verileri gizli önyargılara karşı inceleyerek ve herhangi bir işlemden önce eğitim/test ayrımının yapıldığını doğrulayarak önle. Yaygın önyargı türleri için Bilgisayarlı Göründe Veri Sızıntısı bölümüne bak.

Link to this sectionBilgisayarlı görü modelimi test ettikten sonra hangi adımları atmalıyım?#

Sonuçlar proje hedeflerini karşılıyorsa modeli dağıt; karşılamıyorsa dağıtımdan önce iyileştir. Bu, hataları analiz etmek, daha çeşitli veriler toplamak, veri kalitesini artırmak, hiperparametreleri ayarlamak ve yeniden eğitmek anlamına gelebilir. Düzeltmelerin işe yaradığını doğrulamak için her değişiklik turundan sonra testi tekrarla.

Yorumlar