Meet YOLO26: next-gen vision AI.

Link to this sectionModel Değerlendirme ve İnce Ayar Hakkında Bilgiler#

Bir YOLO modelini eğittikten sonra bir sonraki adım, modelin ne kadar iyi performans gösterdiğini ölçmek ve aradaki farkları kapatmak için ince ayar yapmaktır. Değerlendirme; doğruluğu ölçmek için mAP ve IoU gibi metrikleri kullanırken, ince ayar işlemi modelin projenin hedeflerine ulaşmasını sağlamak amacıyla zayıf noktaları güçlendirmek için eğitim parametrelerini ayarlar. Bu kılavuz; temel değerlendirme metriklerini, bunların nasıl okunacağını ve modelinin yeteneklerini artıran ince ayar tekniklerini açıklamaktadır.



Watch: Insights into Model Evaluation and Fine-Tuning | Tips for Improving Mean Average Precision

Değerlendirme ve ince ayar işlemleri, eğitim sürerken ve modelin doğru, verimli ve dağıtıma hazır olduğunu doğrulaman gerektiğinde bilgisayarlı görü proje iş akışının sonuna doğru yer alır.

Link to this sectionTemel Değerlendirme Metrikleri#

Çeşitli metrikler, bir modelin ne kadar etkili performans gösterdiğini ölçer. Bu performans metrikleri, modelin amaçlanan hedeflere ulaşmasını sağlamaya yönelik iyileştirmelere rehberlik eden net, sayısal bilgiler sağlar.

Link to this sectionGüven Puanı#

Güven puanı, modelin tespit edilen bir nesnenin belirli bir sınıfa ait olduğu konusundaki kesinliğini temsil eder. 0 ile 1 arasında değişir ve yüksek puanlar daha fazla güveni gösterir. Güven puanı, tahminleri filtrelemeye yardımcı olur; yalnızca güven puanı belirli bir eşiğin üzerinde olan tespitler geçerli kabul edilir.

Tahmin göremiyor musun?

Çıkarım (inference) çalıştırırken hiçbir tahmin göremiyorsan ve diğer her şeyi kontrol ettiysen, güven eşiğini (confidence threshold) düşürmeyi dene. Bazen eşik çok yüksektir ve bu durum modelin geçerli tahminleri göz ardı etmesine neden olur. Eşiği düşürmek, modelin daha fazla olasılığı değerlendirmesine izin verir. Bu, nihai proje hedeflerini karşılamayabilir ancak modelin neler yapabildiğini görmek ve nasıl ince ayar yapacağına karar vermek için iyi bir yoldur.

Link to this sectionKesiş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ı kutuyla ne kadar örtüştüğünü ölçen bir metriktir. IoU değerleri 0 ile 1 arasında değişir ve bir, mükemmel eşleşmeyi temsil 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 önemlidir.

Intersection over Union Overview

Link to this sectionOrtalama Hassasiyet (Mean Average Precision)#

Mean Average Precision (mAP), bir nesne algılama modelinin genel olarak ne kadar iyi performans gösterdiğini ölçer. Her bir nesne sınıfını algılama hassasiyetine bakar, bu puanların ortalamasını alır ve modelin nesneleri ne kadar doğru tanımlayıp sınıflandırabildiğini gösteren tek bir sayı sunar.

En yaygın olarak rapor edilen iki mAP metriği şunlardır:

  • mAP@.5: 0.5'lik tek bir IoU eşiğinde ortalama hassasiyeti ölçer. Bu metrik, modelin daha esnek bir doğruluk gereksinimiyle nesneleri doğru şekilde bulup bulamadığını kontrol eder. Nesnenin tam yerinde olup olmadığına değil, yaklaşık olarak doğru yerde olup olmadığına odaklanır ve modelin genel olarak nesneleri tespit etmede başarılı olup olmadığını görmeye yardımcı olur.
  • mAP@.5:.95: 0,5'ten 0,95'e kadar 0,05'lik artışlarla hesaplanan mAP değerlerinin ortalamasını alır. Bu metrik daha ayrıntılı ve katıdır. Modelin nesneleri farklı kesinlik seviyelerinde ne kadar doğru bulabildiğine dair daha kapsamlı bir resim sunar ve özellikle hassas nesne tespiti gerektiren uygulamalar için kullanışlı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 yer alır.

Mean average precision mAP metric

Link to this sectionBir YOLO26 Modelini Değerlendirme#

Eğitilmiş bir YOLO26 modelini doğrulama modu ile değerlendirebilirsin. Her bir metriğin nasıl hesaplandığı ve yorumlandığına dair daha derin bir bakış için YOLO26 performans metrikleri kılavuzuna bak.

Link to this sectionDeğişken Görüntü Boyutlarını Yönetme#

Modelini farklı boyutlardaki görüntüler üzerinde değerlendirmek, çeşitli veri kümeleri üzerindeki performansını anlamana yardımcı olur. rect=true doğrulama parametresi, görüntüleri en boy oranına göre gruplandırır ve her bir yığını (batch), sığacak en küçük şekle göre doldurur; böylece dikdörtgen görüntüler kareye zorlanmadan değerlendirilir.

imgsz parametresi, doğrulama sırasında kullanılan görüntü boyutunu belirler ve kare olarak uygulanır. Bunu açıkça ayarlamazsan, YOLO26 modelin ayarlarında kayıtlı olan değeri (resmi önceden eğitilmiş modeller için 640 veya özel bir kontrol noktasının eğitildiği boyut her ne ise) yeniden kullanır. rect=true ile YOLO26, uzun kenarı imgsz ile sınırlar ve kısa kenarı, en boy oranını koruyarak bir adım (stride) katına kadar doldurur. imgsz değerini veri setinin boyutlarına ve sahip olduğun GPU belleğine göre ayarla.

Link to this sectionYOLO26 Metriklerine Erişim#

Modelinin performansını detaylı olarak anlamak için birkaç satır Python kodu ile belirli değerlendirme metriklerine erişebilirsin. Aşağıdaki kod parçası bir modeli yükler, doğrulamayı çalıştırır ve en yararlı metrikleri yazdırır.

Kullanım
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Run validation on your dataset
results = model.val(data="coco8.yaml")

# Overall metrics
print("mAP50-95:", results.box.map)  # mAP at IoU 0.50:0.95
print("mAP50:", results.box.map50)  # mAP at IoU 0.50
print("mAP75:", results.box.map75)  # mAP at IoU 0.75
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Fitness:", results.box.fitness())  # weighted score used for model selection

# Per-class metrics
print("Class indices evaluated:", results.box.ap_class_index)
print("Per-class mAP50-95:", results.box.maps)

# Per-image precision, recall, F1, TP, FP, and FN
print("Per-image metrics:", results.box.image_metrics)

# Per-stage timing breakdown in milliseconds per image
print("Timing breakdown (ms/image):", results.speed)

fitness() değerinin bir metot olduğunu ve parantez ile çağrılması gerektiğini, map, map50 ve mp gibi metriklerin ise doğrudan erişilen özellikler olduğunu unutma.

results.box.image_metrics özniteliği, görüntü dosya adına göre anahtarlanmış, her bir görüntü için IoU 0.5'te precision, recall, f1, tp, fp ve fn değerlerini tutan bir sözlüktür. Ön işleme, çıkarım, kayıp (loss) ve son işleme süreleri results.speed sözlüğünde ayrı ayrı raporlanır. Bunlar hep birlikte, modelin hangi görüntülerde zorlandığını belirlemene ve buna göre ince ayar yapmana olanak tanır.

Link to this sectionModeline İnce Ayar Yapma#

İnce ayar, önceden eğitilmiş bir modeli alır ve belirli bir görev veya veri kümesi üzerindeki performansını iyileştirmek için parametrelerini ayarlar. Modelin yeniden eğitilmesi olarak da bilinen bu işlem, modelin gerçek dünya uygulamalarında karşılaşacağı veriler için sonuçları daha iyi anlamasını ve tahmin etmesini sağlar. Değerlendirme sonuçlarına dayanarak, birkaç önemli parametreye ve tekniğe çok dikkat ederek optimum sonuçlara ulaşmak için modeli yeniden eğitirsin.

Link to this sectionDaha Yüksek Bir Öğrenme Oranıyla Başlama#

Normal eğitim sırasında, öğrenme oranı düşük başlar ve erken güncellemeleri stabilize etmek için ilk birkaç dönem boyunca kademeli olarak artar. İnce ayar yaparken, model zaten ön eğitimden gelen yararlı özelliklere sahiptir, bu yüzden bu ısınma sürecini atlayabilir ve doğrudan yeni verilerine uyum sağlamaya başlayabilirsin.

Set the warmup_epochs training argument to 0 in model.train() to disable the warmup phase. Training then continues from the pretrained weights at the configured base learning rate (lr0) instead of ramping up to it, adjusting to the nuances of your new data.

Öğrenme oranı ısınması olmadan ince ayar yap
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n.pt")

# Fine-tune with the warmup phase disabled
model.train(data="coco8.yaml", epochs=10, warmup_epochs=0)

Link to this sectionKüçük Nesneler İçin Görüntü Döşeme (Tiling)#

Görüntü döşeme (tiling), küçük nesneler için algılama doğruluğunu artırabilir. Daha büyük görüntüleri, örneğin 1280x1280 görüntüleri birden çok 640x640 parçaya bölmek gibi küçük segmentlere ayırarak, orijinal çözünürlüğü korursun ve modelin yüksek çözünürlüklü parçalardan öğrenmesini sağlarsın. Ultralytics, bunu çıkarım zamanında SAHI döşemeli çıkarım ile destekler. Döşemeli görüntüler üzerinde eğitim yaparken, etiketlerini her bir yeni segment için doğru şekilde ayarladığından emin ol.

Link to this sectionSonuç#

Değerlendirme ve ince ayar, eğitilmiş bir modeli güvenilir ve dağıtılabilir bir modele dönüştüren süreçlerdir: mAP ve IoU gibi metrikler zayıflıkları ortaya çıkarır ve hedeflenmiş parametre değişiklikleri bunları giderir. Modelini kıyaslamak için doğrulama modu ile başla, ardından yukarıdaki ince ayar tekniklerini uygula ve yeni parametreler, teknikler ve veri kümeleriyle yinelemeye devam et. Yol boyunca soruların olursa, Ultralytics GitHub deposundaki veya Ultralytics Discord sunucusundaki topluluğa sor.

Link to this sectionSSS#

Link to this sectionYOLO26 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 her bir tespit edilen 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 arasındaki hassasiyet puanlarını toplar ve mAP@.5 ile mAP@.5:.95, farklı IoU eşikleri için yaygın olan iki türdür. Bu metrikler hakkında daha fazla bilgiyi YOLO26 performans metrikleri kılavuzumuzda bulabilirsin.

Link to this sectionÖnceden eğitilmiş bir YOLO26 modeline kendi veri kümem için nasıl ince ayar yapabilirim?#

Fine-tuning a pretrained YOLO26 model involves adjusting its parameters to improve performance on a specific task or dataset. Start by evaluating your model with metrics, then set the warmup_epochs training argument to 0 in model.train() so the learning rate starts at the configured base value immediately instead of ramping up. During evaluation, parameters like rect=true help handle varied image sizes effectively. For more detailed guidance, refer to our section on fine-tuning your model.

Link to this sectionYOLO26 modelimi değerlendirirken değişken görüntü boyutlarını nasıl yönetebilirim?#

Değerlendirme sırasında değişken görüntü boyutlarını yönetmek için YOLO26'da, görüntüleri en boy oranına göre gruplandıran ve her görüntüyü kareye zorlamak yerine her bir yığını dolduran rect=true parametresini kullan. imgsz parametresi, doğrulama için görüntü boyutunu belirler; eğer bunu geçersiz kılmazsan, YOLO26 modelin kayıtlı değerini (resmi önceden eğitilmiş modeller için 640) yeniden kullanır. imgsz değerini veri kümene ve GPU belleğine göre ayarla. Daha fazla detay için değişken görüntü boyutlarını yönetme bölümümüzü ziyaret et.

Link to this sectionYOLO26 modelim için ortalama hassasiyeti artırmak adına hangi pratik adımları atabilirim?#

YOLO26 modeli için ortalama hassasiyeti (mAP) artırmak birkaç adım içerir:

  1. Hiperparametre Ayarı: Farklı öğrenme oranları, yığın boyutları ve görüntü artırmaları ile denemeler yap.
  2. Veri Artırma: Çeşitli eğitim örnekleri oluşturmak için Mosaic ve MixUp gibi teknikleri kullan.
  3. Görüntü Döşeme: Küçük nesneler için algılama doğruluğunu artırmak amacıyla daha büyük görüntüleri daha küçük döşemelere ayır.

Belirli stratejiler için modeline ince ayar yapma hakkındaki detaylı bölümümüze başvur.

Link to this sectionPython'da YOLO26 model değerlendirme metriklerine nasıl erişebilirim?#

Doğrulamayı çalıştırdıktan sonra Python kullanarak YOLO26 model değerlendirme metriklerine erişebilirsin:

Kullanım
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Run validation
results = model.val(data="coco8.yaml")

# Access key metrics
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 optimize etmene yardımcı olur. Daha derin bir inceleme için YOLO performans metrikleri hakkındaki kılavuzumuza göz at.

Yorumlar