Model Değerlendirme ve İnce Ayar Hakkında İçgörüler
Giriş
Bilgisayarlı görü modelini eğittikten sonra, optimal performans için değerlendirmek ve iyileştirmek şarttır. Sadece modelini eğitmek yeterli değildir. Modelinin doğru ve verimli olduğundan ve bilgisayarlı görü projenin hedeflerini karşıladığından emin olmalısın. Modelini değerlendirip ince ayar yaparak zayıf yönleri tespit edebilir, doğruluğunu artırabilir ve genel performansı yükseltebilirsin.
Watch: Insights into Model Evaluation and Fine-Tuning | Tips for Improving Mean Average Precision
Bu kılavuzda, bilgisayarlı görü projesinin bu adımını daha ulaşılabilir kılmak için model değerlendirme ve ince ayar hakkındaki içgörülerimizi paylaşıyoruz. Değerlendirme metriklerinin nasıl anlaşılacağını ve ince ayar tekniklerinin nasıl uygulanacağını ele alarak, modelinin yeteneklerini geliştirmen için gerekli bilgileri sunuyoruz.
Metrikler Kullanılarak Model Performansının Değerlendirilmesi
Bir modelin ne kadar iyi performans gösterdiğini değerlendirmek, ne kadar etkili çalıştığını anlamamıza yardımcı olur. Performansı ölçmek için çeşitli metrikler kullanılır. Bu performans metrikleri, modelin hedeflenen amaçlarına ulaşmasını sağlamaya yönelik iyileştirmelere rehberlik edebilecek net, sayısal içgörüler sağlar. Birkaç temel metriğe daha yakından bakalım.
Güven Puanı
Güven puanı, tespit edilen bir nesnenin belirli bir sınıfa ait olduğuna dair modelin kesinliğini temsil eder. 0 ile 1 arasında değişir ve daha yüksek puanlar daha fazla güveni gösterir. Güven puanı, tahminleri filtrelemeye yardımcı olur; yalnızca belirli bir eşiğin üzerindeki güven puanına sahip tespitler geçerli kabul edilir.
Hızlı İpucu: Çıkarım (inference) çalıştırırken herhangi bir tahmin görmüyorsan ve diğer her şeyi kontrol ettiysen, güven puanını düşürmeyi dene. Bazen eşik çok yüksek olur ve bu da modelin geçerli tahminleri göz ardı etmesine neden olur. Puanı düşürmek, modelin daha fazla olasılığı değerlendirmesine olanak tanır. Bu, proje hedeflerini karşılamayabilir ancak modelin neler yapabileceğini görmek ve nasıl ince ayar yapacağına karar vermek için iyi bir yoldur.
Kesişim Üzerinden Birleşim
Kesişim Üzerinden Birleşim (IoU), nesne tespiti alanında, tahmin edilen sınırlayıcı kutunun gerçek sınırlayıcı kutu ile ne kadar örtüştüğünü ölçen bir metriktir. IoU değerleri 0 ile 1 arasında değişir ve 1 mükemmel bir eşleşmeyi ifade eder. IoU, tahmin edilen sınırların gerçek nesne sınırlarıyla ne kadar yakın eşleştiğini ölçtüğü için kritiktir.
Ortalama Hassasiyet
Ortalama Hassasiyet (mAP), bir nesne tespiti modelinin ne kadar iyi performans gösterdiğini ölçmenin bir yoludur. Her nesne sınıfını tespit etmedeki hassasiyete bakar, bu puanların ortalamasını alır ve modelin nesneleri ne kadar doğru bir şekilde tanımlayıp sınıflandırabildiğini gösteren genel bir sayı sunar.
İki özel mAP metriğine odaklanalım:
- mAP@.5: 0,5'lik tek bir IoU (Kesişim Üzerinden Birleşim) eşiğinde ortalama hassasiyeti ölçer. Bu metrik, modelin daha esnek bir doğruluk gereksinimiyle nesneleri doğru bir şekilde bulup bulamadığını kontrol eder. Nesnenin mükemmel yerleşime ihtiyaç duymadan yaklaşık olarak doğru yerde olup olmadığına odaklanır. Modelin nesneleri tespit etmede genel olarak iyi olup olmadığını görmeye yardımcı olur.
- mAP@.5:.95: 0,05'lik artışlarla 0,5'ten 0,95'e kadar birden fazla IoU eşiğinde hesaplanan mAP değerlerinin ortalamasını alır. Bu metrik daha ayrıntılı ve katıdır. Modelin farklı katılık seviyelerinde nesneleri ne kadar doğru bulabildiğine dair daha kapsamlı bir resim sunar ve özellikle hassas nesne tespiti gerektiren uygulamalar için yararlıdır.
Diğer mAP metrikleri arasında, 0,75'lik daha katı bir IoU eşiği kullanan mAP@0.75 ve farklı boyutlardaki nesneler genelinde hassasiyeti değerlendiren mAP@small, medium ve large bulunur.
YOLO26 Model Performansının Değerlendirilmesi
YOLO26 ile ilgili olarak, modeli değerlendirmek için doğrulama modunu kullanabilirsin. Ayrıca, YOLO26 performans metrikleri ve bunların nasıl yorumlanabileceği hakkında derinlemesine bilgi veren kılavuzumuza da mutlaka göz at.
Topluluktan Sıkça Sorulan Sorular
YOLO26 modelini değerlendirirken bazı sorunlarla karşılaşabilirsin. Yaygın topluluk sorularına dayanarak, YOLO26 modelinden en iyi şekilde yararlanmana yardımcı olacak bazı ipuçları şunlardır:
Değişken Görsel Boyutlarını Yönetme
YOLO26 modelini farklı boyutlardaki görsellerle değerlendirmek, çeşitli veri kümelerindeki performansını anlamana yardımcı olabilir. rect=true doğrulama parametresini kullanarak YOLO26, ağın adımını (stride) her grup için görsel boyutlarına göre ayarlar ve böylece modelin dikdörtgen görselleri tek bir boyuta zorlamadan işlemesine olanak tanır.
imgsz doğrulama parametresi, varsayılan olarak 640 olan görsel yeniden boyutlandırma için maksimum boyutu ayarlar. Bunu veri kümenin maksimum boyutlarına ve sahip olduğun GPU belleğine göre ayarlayabilirsin. imgsz ayarlı olsa bile, rect=true parametresi adım boyutunu dinamik olarak ayarlayarak modelin değişen görsel boyutlarını etkili bir şekilde yönetmesini sağlar.
YOLO26 Metriklerine Erişim
YOLO26 modelinin performansı hakkında daha derin bir anlayışa sahip olmak istiyorsan, birkaç satır Python koduyla belirli değerlendirme metriklerine kolayca erişebilirsin. Aşağıdaki kod parçacığı, modelini yüklemeni, bir değerlendirme çalıştırmanı ve modelinin ne kadar iyi performans gösterdiğini gösteren çeşitli metrikleri yazdırmanı sağlayacaktır.
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Run the evaluation
results = model.val(data="coco8.yaml")
# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Average precision:", results.box.ap)
print("Average precision at IoU=0.50:", results.box.ap50)
print("Class indices for average precision:", results.box.ap_class_index)
print("Class-specific results:", results.box.class_result)
print("F1 score:", results.box.f1)
print("F1 score curve:", results.box.f1_curve)
print("Overall fitness score:", results.box.fitness)
print("Mean average precision:", results.box.map)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean average precision at IoU=0.75:", results.box.map75)
print("Mean average precision for different IoU thresholds:", results.box.maps)
print("Mean results for different metrics:", results.box.mean_results)
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Per-image metrics:", results.box.image_metrics)
print("Precision:", results.box.p)
print("Precision curve:", results.box.p_curve)
print("Precision values:", results.box.prec_values)
print("Specific precision metrics:", results.box.px)
print("Recall:", results.box.r)
print("Recall curve:", results.box.r_curve)The results object also includes image_metrics, a per-image dictionary keyed by image filename with precision,
recall, f1, tp, fp, and fn, as well as speed metrics like preprocess time, inference time, loss, and
postprocess time. By analyzing these metrics, you can fine-tune and optimize your YOLO26 model for better performance,
making it more effective for your specific use case.
İnce Ayar Nasıl Çalışır?
İnce ayar, önceden eğitilmiş bir modeli alıp belirli bir görev veya veri kümesindeki performansını artırmak için parametrelerini ayarlamayı içerir. Modelin yeniden eğitilmesi olarak da bilinen bu süreç, modelin gerçek dünya uygulamalarında karşılaşacağı belirli veriler için sonuçları daha iyi anlamasını ve tahmin etmesini sağlar. Optimal sonuçlar elde etmek için modelini, yaptığın değerlendirmeye göre yeniden eğitebilirsin.
Modeline İnce Ayar Yapmak İçin İpuçları
Bir modele ince ayar yapmak, optimal performans elde etmek için çeşitli kritik parametrelere ve tekniklere dikkat etmek anlamına gelir. Süreç boyunca sana rehberlik edecek bazı temel ipuçları şunlardır.
Daha Yüksek Bir Öğrenme Oranıyla Başlamak
Genellikle, ilk eğitim dönemlerinde (epochs), öğrenme oranı düşük başlar ve eğitim sürecini stabilize etmek için kademeli olarak artar. Ancak, modelin zaten önceki veri kümesinden bazı özellikleri öğrendiği için, doğrudan daha yüksek bir öğrenme oranıyla (learning rate) başlamak daha faydalı olabilir.
YOLO26 modelini değerlendirirken, öğrenme oranının çok düşük başlamasını önlemek için warmup_epochs doğrulama parametresini warmup_epochs=0 olarak ayarlayabilirsin. Bu süreci takip ederek, eğitim sağlanan ağırlıklardan devam eder ve yeni verilerinin nüanslarına uyum sağlar.
Küçük Nesneler İçin Görsel Döşeme (Tiling)
Görsel döşeme, küçük nesneler için tespit doğruluğunu artırabilir. Daha büyük görselleri daha küçük bölümlere ayırarak, örneğin 1280x1280 boyutundaki görselleri birden fazla 640x640'lık bölüme bölerek orijinal çözünürlüğü korursun ve model yüksek çözünürlüklü parçalardan öğrenebilir. YOLO26 kullanırken, etiketlerini bu yeni bölümler için doğru bir şekilde ayarladığından emin ol.
Toplulukla Etkileşime Geç
Fikirlerini ve sorularını diğer bilgisayarlı görü meraklılarıyla paylaşmak, projelerindeki engeller için yaratıcı çözümlere ilham verebilir. Öğrenmek, sorun gidermek ve bağlantı kurmak için bazı harika yollar şunlardır.
Yardım ve Destek Bulma
- GitHub Issues: YOLO26 GitHub deposunu keşfet ve soru sormak, hataları bildirmek ve özellik önermek için Issues sekmesini kullan. Topluluk ve geliştiriciler, karşılaştığın sorunlarda yardımcı olmak için oradalar.
- Ultralytics Discord Sunucusu: Diğer kullanıcılar ve geliştiricilerle bağlantı kurmak, destek almak, bilgi paylaşmak ve fikir alışverişinde bulunmak için Ultralytics Discord sunucusuna katıl.
Resmi Dokümantasyon
- Ultralytics YOLO26 Dokümantasyonu: Çeşitli bilgisayarlı görü görevleri ve projeleri hakkında kapsamlı kılavuzlar ve değerli içgörüler için resmi YOLO26 dokümantasyonuna göz at.
Son Düşünceler
Bilgisayarlı görü modelini değerlendirmek ve ince ayar yapmak, başarılı bir model dağıtımı (model deployment) için önemli adımlardır. Bu adımlar, modelinin doğru, verimli ve genel uygulamana uygun olduğundan emin olmana yardımcı olur. Mümkün olan en iyi modeli eğitmenin anahtarı sürekli deney ve öğrenmedir. Parametreleri değiştirmekten, yeni teknikler denemekten ve farklı veri kümeleri keşfetmekten çekinme. Denemeye devam et ve mümkün olanın sınırlarını zorla!
SSS
YOLO26 model performansını değerlendirmek için temel metrikler nelerdir?
YOLO26 model performansını değerlendirmek için önemli metrikler arasında Güven Puanı, Kesişim Üzerinden Birleşim (IoU) ve Ortalama Hassasiyet (mAP) bulunur. Güven Puanı, modelin tespit edilen her nesne sınıfı için kesinliğini ölçer. IoU, tahmin edilen sınırlayıcı kutunun gerçek değerle ne kadar örtüştüğünü değerlendirir. Ortalama Hassasiyet (mAP), sınıflar genelinde hassasiyet puanlarını bir araya getirir; mAP@.5 ve mAP@.5:.95, değişen IoU eşikleri için kullanılan iki yaygın türdür. Bu metrikler hakkında daha fazla bilgiyi YOLO26 performans metrikleri kılavuzumuzda bulabilirsin.
Önceden eğitilmiş bir YOLO26 modeline özel veri kümem için nasıl ince ayar yapabilirim?
Önceden eğitilmiş bir YOLO26 modeline ince ayar yapmak, belirli bir görev veya veri kümesindeki performansını artırmak için parametrelerini ayarlamayı içerir. Öncelikle modelini metrikleri kullanarak değerlendir, ardından acil stabilite için warmup_epochs parametresini 0 olarak ayarlayarak daha yüksek bir başlangıç öğrenme oranı belirle. Değişken görsel boyutlarını etkili bir şekilde yönetmek için rect=true gibi parametreleri kullan. Daha ayrıntılı rehberlik için YOLO26 modellerine ince ayar yapma bölümümüze bak.
YOLO26 modelimi değerlendirirken değişken görsel boyutlarını nasıl yönetebilirim?
Değerlendirme sırasında değişken görsel boyutlarını yönetmek için YOLO26'da, ağın adımını her grup için görsel boyutlarına göre ayarlayan rect=true parametresini kullan. imgsz parametresi, varsayılan olarak 640 olan görsel yeniden boyutlandırma için maksimum boyutu ayarlar. imgsz değerini veri kümene ve GPU belleğine göre ayarla. Daha fazla ayrıntı için değişken görsel boyutlarını yönetme bölümümüzü ziyaret et.
YOLO26 modelim için ortalama hassasiyeti (mAP) iyileştirmek adına hangi pratik adımları atabilirim?
YOLO26 modeli için ortalama hassasiyeti (mAP) iyileştirmek birkaç adım içerir:
- Hiperparametre Ayarlama: Farklı öğrenme oranları, toplu boyutlar (batch sizes) ve görsel artırma teknikleri ile deney yap.
- Veri Artırma (Data Augmentation): Çeşitli eğitim örnekleri oluşturmak için Mosaic ve MixUp gibi teknikler kullan.
- Görsel Döşeme: Küçük nesneler için tespit doğruluğunu artırmak amacıyla daha büyük görselleri daha küçük döşemelere ayır. Belirli stratejiler için model ince ayarı hakkındaki ayrıntılı kılavuzumuza başvur.
Python'da YOLO26 model değerlendirme metriklerine nasıl erişirim?
YOLO26 model değerlendirme metriklerine Python ile şu adımları kullanarak erişebilirsin:
from ultralytics import YOLO
# Load the model
model = YOLO("yolo26n.pt")
# Run the evaluation
results = model.val(data="coco8.yaml")
# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean recall:", results.box.mr)Bu metrikleri analiz etmek, YOLO26 modelini ince ayar yapmaya ve optimize etmeye yardımcı olur. Daha derinlemesine bilgi için YOLO26 metrikleri kılavuzumuza göz at.