Model Değerlendirme ve İnce Ayarlama Hakkında Bilgiler#
Bir YOLO modelini eğittikten sonra sıradaki adım, performansını ölçmek ve eksiklerini gidermek için ince ayar yapmaktır. Değerlendirmede doğruluğu ölçmek için mAP ve IoU gibi metrikler kullanılır; ince ayar ise modelin proje hedefini karşılaması için zayıf noktaları güçlendirecek eğitim parametrelerini düzenler. Bu kılavuz temel değerlendirme metriklerini, bunları nasıl okuyacağını ve gösterdiklerine göre nasıl harekete geçeceğini açıklar.
İzle: Model Değerlendirme ve İnce Ayar Hakkında Bilgiler | Ortalama Hassasiyeti Artırmaya Yönelik İpuçları
Değerlendirme ve ince ayar, bilgisayarlı görü projesi iş akışının son aşamalarında yer alır; eğitim başladıktan sonra modelin doğru, verimli ve dağıtıma hazır olduğunu doğrulaman gerekir.
Temel Değerlendirme Metrikleri#
Bir modelin ne kadar etkili performans gösterdiğini çeşitli metrikler ölçer. Bu performans metrikleri, modelin amaçlanan hedeflerini karşıladığından emin olmak için yapılacak iyileştirmelere yön veren net ve sayısal bilgiler sağlar.
Güven Skoru#
Güven skoru, modelin algıladığı bir nesnenin belirli bir sınıfa ait olduğundan ne kadar emin olduğunu gösterir. 0 ile 1 arasında değişir; yüksek skorlar daha fazla güven anlamına gelir. Güven skoru tahminleri filtrelemeye yardımcı olur: yalnızca güven skoru belirtilen eşiğin üzerinde olan algılamalar geçerli kabul edilir.
Çıkarım yaparken hiçbir tahmin görmüyorsan ve diğer her şeyi kontrol ettiysen güven eşiğini düşürmeyi dene. Bazen eşik çok yüksektir ve modelin geçerli tahminleri yok saymasına neden olur. Eşiği düşürmek, modelin daha fazla olasılığı değerlendirmesini sağlar. Bu, nihai proje hedeflerini karşılamayabilir; ancak modelin neler yapabildiğini görmek ve ince ayarı nasıl yapacağına karar vermek için iyi bir yöntemdir.
Birleşim Üzerine Kesişim#
Birleşim Üzerine Kesişim (IoU), nesne algılamada tahmin edilen sınırlayıcı kutunun gerçek sınırlayıcı kutuyla ne ölçüde örtüştüğünü ölçen bir metriktir. IoU değerleri 0 ile 1 arasında değişir; 1 kusursuz eşleşmeyi gösterir. IoU önemlidir çünkü tahmin edilen sınırların gerçek nesne sınırlarıyla ne kadar örtüştüğünü ölçer.
Ortalama Ortalama Kesinlik#
Ortalama Ortalama Kesinlik (mAP), bir nesne algılama modelinin genel performansını ölçer. Her nesne sınıfının algılanma kesinliğini değerlendirir, bu skorların ortalamasını alır ve modelin nesneleri ne kadar doğru tanımlayıp sınıflandırdığını gösteren tek bir sayı verir.
En sık raporlanan iki mAP metriği şunlardır:
- mAP@.5: 0.5'lik tek bir IoU eşiğinde ortalama kesinliği ölçer. Bu metrik, modelin daha esnek bir doğruluk koşuluyla nesneleri doğru bulup bulamadığını kontrol eder. Nesnenin kusursuz bir konumda olmasını gerektirmeden kabaca doğru yerde olup olmadığına odaklanır ve modelin genel olarak nesneleri bulmakta başarılı olup olmadığını anlamaya yardımcı olur.
- mAP@.5:.95: 0.5 ile 0.95 arasında, 0.05'lik artışlarla 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 düzeylerinde nesneleri ne kadar doğru bulabildiğine ilişkin daha kapsamlı bir görünüm sunar ve hassas nesne algılama gerektiren uygulamalar için özellikle kullanışlıdır.
Diğer mAP metrikleri arasında daha katı olan 0.75 IoU eşiğini kullanan mAP@0.75 ile farklı boyutlardaki nesnelerde kesinliği değerlendiren mAP@small, medium ve large bulunur.
YOLO26 Modelini Değerlendirme#
Eğitilmiş bir YOLO26 modelini doğrulama moduyla değerlendirebilirsin. Her metriğin nasıl hesaplanıp yorumlandığını daha ayrıntılı incelemek için YOLO26 performans metrikleri kılavuzuna bak.
Değişken Görüntü Boyutlarını İşleme#
Modelini farklı boyutlardaki görüntülerle değerlendirmek, çeşitli veri kümelerindeki performansını anlamana yardımcı olur. Doğrulamada dikdörtgen gruplama varsayılan olarak kullanılır (rect=True in model.val()): görüntüler en-boy oranlarına göre gruplanır ve her grup sığabileceği en küçük boyuta dolguyla tamamlanır. Böylece dikdörtgen görüntüler kareye zorlanmadan değerlendirilir.
imgsz parametresi, doğrulama sırasında kare olarak uygulanan görüntü boyutunu belirler. Açıkça ayarlamazsan YOLO26, model ayarlarında kayıtlı değeri yeniden kullanır (resmî önceden eğitilmiş modeller için 640 veya özel bir kontrol noktasının eğitildiği boyut). rect=true ile YOLO26, uzun kenarı imgsz ile sınırlar ve en-boy oranını koruyarak kısa kenarı bir stride katına tamamlar. imgsz değerini veri kümenin boyutlarına ve kullanılabilir GPU belleğine göre ayarla.
YOLO26 Metriklerine Erişme#
Model performansını ayrıntılı anlamak için birkaç satır Python koduyla belirli değerlendirme metriklerine erişebilirsin. Aşağıdaki kod parçacığı bir modeli yükler, doğrulama çalıştırır ve en kullanışlı metrikleri yazdırır.
from ultralytics import YOLO
# Bir model yükle
model = YOLO("yolo26n.pt")
# Veri kümen üzerinde doğrulamayı çalıştır
results = model.val(data="coco8.yaml")
# Genel metrikler
print("mAP50-95:", results.box.map) # IoU 0.50:0.95'te mAP
print("mAP50:", results.box.map50) # IoU 0.50'de mAP
print("mAP75:", results.box.map75) # IoU 0.75'te mAP
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Fitness:", results.box.fitness()) # model seçimi için kullanılan ağırlıklı puan
# Sınıf başına metrikler
print("Class indices evaluated:", results.box.ap_class_index)
print("Per-class mAP50-95:", results.box.maps)
# Görüntü başına precision, recall, F1, TP, FP ve FN
print("Per-image metrics:", results.box.image_metrics)
# Görüntü başına milisaniye cinsinden aşama bazlı süre dökümü
print("Timing breakdown (ms/image):", results.speed)fitness() bir yöntemdir ve parantezle çağrılmalıdır; map, map50 ve mp gibi metrikler ise doğrudan erişilen özelliklerdir.
results.box.image_metrics niteliği, görüntü dosya adına göre anahtarlanan ve her görüntü için IoU 0.5 değerinde precision, recall, f1, tp, fp ve fn değerlerini içeren, görüntü başına bir sözlüktür. Ön işleme, çıkarım, kayıp ve son işleme süreleri results.speed sözlüğünde ayrı ayrı raporlanır. Bunlar birlikte, modelin hangi görüntülerde zorlandığını belirlemene ve buna göre ince ayar yapmana olanak tanır.
Modeline İnce Ayar Yapma#
İnce ayar, önceden eğitilmiş bir modeli alır ve belirli bir görev ya da veri kümesindeki performansı artırmak için modelin parametrelerini düzenler. Modeli yeniden eğitme olarak da bilinen bu işlem, modelin gerçek dünyadaki uygulamalarda karşılaşacağı verileri daha iyi anlamasını ve sonuçları daha doğru tahmin etmesini sağlar. Değerlendirme sonuçlarına göre modeli kendi verilerinle yeniden eğitir ve ince ayar kılavuzunda ele alınan eğitim argümanlarını düzenlersin.
Küçük Nesneler için Görüntü Döşeme#
Görüntüleri döşemelere ayırmak, küçük nesnelerin algılanma doğruluğunu artırabilir. Büyük görüntüleri 1280x1280 boyutundaki görüntüleri birden fazla 640x640 boyutlu parçaya bölmek gibi daha küçük parçalara ayırarak özgün çözünürlüğü korur ve modelin yüksek çözünürlüklü kırpımlardan öğrenmesini sağlarsın. Ultralytics, çıkarım sırasında bunu SAHI döşemeli çıkarım aracılığıyla destekler. Döşemelere ayrılmış görüntülerle eğitim yaparken her yeni parça için etiketleri doğru şekilde ayarladığından emin ol.
Sonuç#
Değerlendirme ve ince ayar, eğitilmiş bir modeli güvenilir ve dağıtıma hazır hâle getirir: mAP ve IoU gibi metrikler zayıf yönleri ortaya çıkarır, hedefli parametre değişiklikleri de bu zayıflıkları giderir. Modelinin performansını ölçmek için doğrulama moduyla başla, ardından ince ayar kılavuzunda ele alınan argümanlarla yeniden eğitim yap ve yeni parametreler, teknikler ve veri kümeleriyle yinelemeye devam et. Süreç boyunca soruların olursa Ultralytics GitHub deposundaki veya Ultralytics Discord sunucusundaki topluluğa sor.
Sık Sorulan Sorular#
YOLO26 model performansını değerlendirmek için önemli metrikler arasında Güven Skoru, Kesişim-Birleşim Oranı (IoU) ve Ortalama Ortalama Hassasiyet (mAP) bulunur. Güven Skoru, algılanan her nesne sınıfı için modelin ne kadar emin olduğunu ölçer. IoU, tahmin edilen sınırlayıcı kutunun gerçek değerle ne kadar örtüştüğünü değerlendirir. Ortalama Ortalama Hassasiyet (mAP), sınıflar arasındaki hassasiyet puanlarını bir araya getirir; mAP@.5 ve mAP@.5:.95, farklı IoU eşikleri için kullanılan iki yaygın türdür. Bu metrikler hakkında daha fazla bilgi edinmek için YOLO26 performans metrikleri kılavuzumuza göz at.
Önceden eğitilmiş bir YOLO26 modeline ince ayar yapmak, belirli bir görev ya da veri kümesindeki performansı artırmak için modelin parametrelerini düzenlemeyi içerir. Önce modelini metriklerle değerlendir, ardından önceden eğitilmiş ağırlıklardan başlayarak kendi veri kümenle yeniden eğit. Değerlendirme sırasında
rect=truegibi parametreler, farklı görüntü boyutlarının etkili biçimde işlenmesine yardımcı olur. Düzenleyebileceğin eğitim argümanları için ince ayar kılavuzuna bak.Değerlendirme sırasında değişken görüntü boyutlarını işlemek için dikdörtgen doğrulamayı (
rect=True,model.val()için varsayılan değer) kullan. Bu yöntem, her görüntüyü kare biçime zorlamak yerine görüntüleri en-boy oranlarına göre gruplandırır ve her gruptaki görüntüleri doldurur.imgszparametresi doğrulama için görüntü boyutunu belirler; bu parametreyi değiştirmezsen YOLO26 modelin kaydedilmiş değerini kullanır (resmî önceden eğitilmiş modeller için 640).imgszdeğerini veri kümen ve GPU belleğine göre ayarla. Daha fazla bilgi için değişken görüntü boyutlarını işleme bölümümüzü ziyaret et.Bir YOLO26 modelinin ortalama ortalama hassasiyetini (mAP) artırmak birkaç adımı içerir:
- Hiperparametreleri Ayarlama: Farklı öğrenme oranları, yığın boyutları ve görüntü artırma yöntemlerini dene.
- Veri Artırma: Çeşitli eğitim örnekleri oluşturmak için Mosaic ve MixUp gibi teknikleri kullan.
- Görüntü Döşeme: Küçük nesnelerin algılanma doğruluğunu artırmak için büyük görüntüleri daha küçük döşemelere ayır.
1. ve 2. adımların arkasındaki eğitim argümanları için ince ayar kılavuzuna bak; 3. adım görüntü döşeme bölümünde ele alınıyor.
Doğrulama işlemini çalıştırdıktan sonra YOLO26 model değerlendirme metriklerine Python kullanarak erişebilirsin:
Kullanımfrom ultralytics import YOLO # Bir model yükle model = YOLO("yolo26n.pt") # Doğrulamayı çalıştır results = model.val(data="coco8.yaml") # Temel metriklere eriş print("Mean average precision at IoU=0.50:", results.box.map50) print("Mean average precision at IoU=0.50:0.95:", results.box.map) print("Mean recall:", results.box.mr) print("Class indices evaluated:", results.box.ap_class_index)Bu metrikleri analiz etmek, YOLO26 modeline ince ayar yapmana ve modeli optimize etmene yardımcı olur. Ayrıntılı bilgi için YOLO performans metrikleri kılavuzumuza göz at.