YOLOv10 ve YOLOv8#
Gerçek zamanlı nesne tespiti evrimi, doğruluk, çıkarım hızı ve hesaplama verimliliğinin sınırlarını zorlamayı amaçlayan çığır açıcı mimarilerin hızlı bir ardışıklığını görmüştür. Bu kapsamlı teknik kılavuzda, bilgisayarlı görü manzarasındaki iki büyük dönüm noktasını karşılaştırıyoruz: YOLOv10 ve Ultralytics YOLOv8. YOLOv8 son derece çok yönlü ve üretime hazır bir standart oluştururken, YOLOv10 özellikle son işlem dar boğazlarını ortadan kaldırmayı amaçlayan mimari değişimler getirmiştir.
Bu modellerin belirgin avantajlarını, mimarilerini ve performans ölçümlerini anlamak, en son teknolojiye sahip görüntü yapay zekası çözümlerini gerçek dünya senaryolarında uygulamayı hedefleyen geliştiriciler ve araştırmacılar için çok önemlidir.
Teknik Özellikler ve Yazarlık#
Bu modelleri etkili bir şekilde değerlendirmek için, kökenlerini ve ilgili araştırma ekiplerinin temel odak noktalarını anlamak faydalı olur.
YOLOv10: Uçtan Uca Verimlilik#
Tsinghua Üniversitesi'ndeki araştırmacılar tarafından geliştirilen YOLOv10, önceki nesillerdeki işlem sonrası adımların getirdiği hesaplama yükünü ele almak için tasarlandı.
- Yazarlar: Ao Wang, Hui Chen, Lihao Liu ve diğerleri.
- Kuruluş: Tsinghua University
- Tarih: 2024-05-23
- Arxiv: 2405.14458
- GitHub: THU-MIG/yolov10
- Belgeler: YOLOv10 Belgeleri
YOLOv10 hakkında daha fazla bilgi edin
Ultralytics YOLOv8: Çok Yönlü Standart#
2023'ün başlarında piyasaya sürülen YOLOv8, sağlam mimarisi ve daha geniş makine öğrenimi ekosistemindeki benzersiz entegrasyonu sayesinde hızla bir endüstri standardı haline geldi.
- Yazarlar: Glenn Jocher, Ayush Chaurasia ve Jing Qiu
- Kuruluş: Ultralytics
- Tarih: 2023-01-10
- GitHub: ultralytics/ultralytics
YOLOv8 hakkında daha fazla bilgi edinin
Mimari Yenilikler#
Her iki model de geleneksel YOLO mimarisine önemli iyileştirmeler getiriyor, ancak hattın biraz farklı yönlerini hedefliyorlar.
YOLOv10 Mimarisi#
YOLOv10'un en dikkat çekici özelliği, NMS içermeyen eğitim stratejisidir. Geleneksel olarak nesne dedektörleri, örtüşen BBox öğelerini filtrelemek için çıkarım sırasında Non-Maximum Suppression (NMS) yöntemine güvenir. Bu adım gecikmeye yol açabilir ve uçtan uca dağıtımı karmaşıklaştırır. YOLOv10, eğitim sırasında tutarlı ikili atamalar kullanarak modelin nesne başına tek ve doğru bir BBox'ı yerel olarak tahmin etmesini sağlar. Ayrıca, FLOP'ları ve parametre sayılarını önemli ölçüde azaltmak için çeşitli bileşenleri optimize eden bütünsel bir verimlilik-doğruluk odaklı model tasarımı kullanır.
YOLOv8 Mimarisi#
YOLOv8, önceki sürümlerin ankraj tabanlı yaklaşımlarından uzaklaşarak bir ankraj içermeyen tespit başlığı tanıttı. Bu, kutu tahmini sayısını azaltır ve NMS operations işlemlerini hızlandırır. Buna ek olarak YOLOv8, gradyan akışını iyileştiren ve ağın hesaplama maliyetini büyük ölçüde artırmadan daha zengin özellik temsilleri öğrenmesini sağlayan C2f module (iki konvolüsyonlu Cross-Stage Partial dar boğazı) bileşenini içerir. Ayrıştırılmış başlık yapısı nesnelliği, sınıflandırmayı ve regresyon görevlerini ayırarak daha hızlı yakınsama ve daha yüksek genel doğruluk sağlar.
Performans ve Kıyaslamalar#
Modelleri uç cihazlara veya bulut sunucularına dağıtırken, hız ve doğruluk arasındaki denge çok önemlidir. Aşağıdaki tablo, iki modelin çeşitli boyutlardaki doğrudan karşılaştırmasını sunar.
| Model | boyut (piksel) | mAPval 50-95 | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Not: Boş hücreler, aynı test koşulları altında resmi olarak rapor edilmeyen metrikleri gösterir.
Verilerde görüldüğü gibi YOLOv10, daha az parametre ve FLOP kullanırken genellikle YOLOv8 muadillerinin mAP değerine denk gelen veya bunu aşan olağanüstü bir parametre verimliliği sergiler. Ancak YOLOv8, modern GPU'larda minimum çıkarım gecikmesi sağlayan son derece optimize edilmiş bir TensorRT integration sunarak inanılmaz derecede rekabetçi kalmaya devam ediyor.
Üretim ortamlarını hedeflerken ONNX veya TensorRT gibi formatları kullanmak çıkarım hızlarını büyük ölçüde artırabilir. Hem YOLOv8 hem de YOLOv10, bu son derece optimize edilmiş grafik formatlarına sorunsuz dışarı aktarmayı destekler.
Ekosistem, Eğitim Verimliliği ve Çok Yönlülük#
Bir model seçmek teorik kıyaslamaların ötesine geçer; geliştirici deneyimi ve çevreleyen ekosistem de aynı derecede hayati öneme sahiptir.
Ultralytics Avantajı#
YOLOv8'in temel güçlü yönlerinden biri, Ultralytics ecosystem içine sıkı bir şekilde entegre edilmiş olmasıdır. Bu ortam, son derece sezgisel bir Python API ve kapsamlı belgelerle karakterize edilen "sıfırdan zirveye" bir deneyim sunar. Karmaşık ortam kurulumları gerektirebilen araştırma odaklı depoların aksine, Ultralytics modelleri kullanım kolaylığı ile bilinir.
Ayrıca YOLOv8 doğası gereği çok yönlüdür. YOLOv10 kesinlikle nesne tespiti için optimize edilmişken, Ultralytics çerçevesi geliştiricilerin tam olarak aynı kitaplık ve API yapısı içinde object detection, instance segmentation, image classification, pose estimation ve oriented bounding box (OBB) görevleri arasında sorunsuz bir şekilde geçiş yapmasına olanak tanır.
Bellek Gereksinimleri ve Eğitim#
Ultralytics YOLO modelleri, eğitim verimliliğine odaklanılarak tasarlanmıştır. Genellikle karmaşık transformer models ile karşılaştırıldığında eğitim ve çıkarım sırasında daha düşük bellek kullanımı sergilerler; bu da geliştiricilerin CUDA belleği tükenmeden tüketici sınıfı donanımlarda veya standart bulut örneklerinde en son teknoloji modelleri eğitmesine olanak tanır. Hiperparametre ayarı ve veri artırımının otomatik olarak ele alınması hızlı yakınsama sağlar.
İşte Ultralytics Python API'sini kullanarak bir modeli eğitmenin ve doğrulamanın ne kadar basit olduğuna dair pratik bir örnek:
from ultralytics import YOLO
# Load a pretrained model (YOLOv8 recommended for general tasks)
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset with automatic memory management
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Run inference on a test image
predictions = model("https://ultralytics.com/images/zidane.jpg")
predictions[0].show()Yeni Nesil: YOLO26#
YOLOv8 ve YOLOv10 olağanüstü dönüm noktalarını temsil ederken, makine öğrenimi alanı sürekli olarak ilerlemektedir. Yeni projelere başlayan geliştiriciler için, Ultralytics şirketinin Ocak 2026'da piyasaya sürülen en son amiral gemisi modeli olan YOLO26 modelinden yararlanmanızı şiddetle tavsiye ederiz.
YOLO26, geçmiş yılların en iyi mimari gelişmelerini tek ve yüksek oranda optimize edilmiş bir çerçevede birleştirir. YOLOv10 gibi modellerin öncülük ettiği Uçtan Uca NMS'siz Tasarımı miras alarak dağıtım hatlarını kolaylaştırır ve gecikme değişkenliğini azaltır. Ayrıca YOLO26, LLM eğitim kararlılığından ilham alan ve daha hızlı ve daha kararlı yakınsama sağlayan hibrit bir MuSGD Optimizer'ı beraberinde getirir.
YOLO26'daki temel iyileştirmeler şunlardır:
- %43'e Kadar Daha Hızlı CPU Çıkarımı: Distribution Focal Loss (DFL) kaldırılmasıyla uç cihazlar için yoğun şekilde optimize edilmiştir.
- ProgLoss + STAL: İHA görüntüleri ve IoT sensörleri için kritik olan küçük nesne tanımayı önemli ölçüde iyileştiren gelişmiş kayıp fonksiyonları.
- Göreve Özel İyileştirmeler: Segmentasyon, poz tahmini ve OBB için tüm görüntüleme alanlarında üst düzey performans sağlayan özel mimariler.
İdeal Kullanım Senaryoları ve Dağıtım Stratejileri#
Bu mimariler arasında karar verirken, dağıtım ortamınızın özel ihtiyaçlarını göz önünde bulundurun:
- YOLOv10'u seçin: Parametre verimliliğinin her zerresini sıkıştırmanın kritik olduğu saf bir nesne algılama hattı üzerinde çalışıyorsanız ve NMS'siz mimarilerin ilk uygulamalarıyla deney yapmak istiyorsanız.
- Ultralytics YOLOv8 modelini şu durumlarda seç: Sağlam Ultralytics Platform tarafından desteklenen, üretime hazır, son derece kararlı bir modele ihtiyacın varsa. Projen birleştirilmiş, bakımı kolay bir kod tabanı kullanarak birden fazla görev gerektiriyorsa (örn. nesneleri tespit etmek ve ardından bunları segmentlere ayırmak) ideal seçimdir.
- YOLO26'yı (Önerilen) seçin: En son teknoloji doğruluğu, doğal uçtan uca NMS'siz verimlilik ve CPU ile uç donanımlarda mümkün olan en yüksek hız dengesini istiyorsanız.
Daha geniş manzarayı keşfediyorsan, bu modelleri YOLO11 ile karşılaştırmakla veya yapay zeka vizyonu uygulamalarını daha da hızlandırmak için Intel OpenVINO gibi özel uç dağıtım entegrasyonlarını kontrol etmekle de ilgilenebilirsin. Ultralytics tarafından sağlanan birleştirilmiş araçlardan yararlanarak sağlam bilgisayarlı görü çözümleri sunmak hiç bu kadar erişilebilir olmamıştı.