Meituan YOLOv6#
Genel Bakış#
2022'de yayımlanan Meituan YOLOv6, hız ve doğruluk arasında güçlü bir denge sunarak gerçek zamanlı uygulamalar için popüler bir seçenek haline gelir. Bu model, BiC modülünün uygulanması, çapa destekli eğitim (AAT) stratejisi ve COCO veri kümesinde yüksek doğruluk sağlayan geliştirilmiş bir omurga ve boyun tasarımı dahil olmak üzere mimarisi ve eğitim düzeninde birçok dikkate değer iyileştirme sunar.
YOLOv6'ya genel bakış. Önemli performans iyileştirmeleri sağlayan yeniden tasarlanmış ağ bileşenlerini ve eğitim stratejilerini gösteren model mimarisi diyagramı. (a) YOLOv6'nın boynu (N ve S gösterilmiştir). M/L için RepBlocks'un CSPStackRep ile değiştirildiğini unutma. (b) Bir BiC modülünün yapısı. (c) Bir SimCSPSPPF bloğu. (kaynak).
Temel Özellikler#
- Çift yönlü birleştirme (BiC) modülü: YOLOv6, algılayıcının boyun kısmına bir BiC modülü ekleyerek konumlandırma sinyallerini güçlendirir ve hızda ihmal edilebilir bir düşüşle performans kazanımları sağlar.
- Çapa destekli eğitim (AAT) stratejisi: Bu model, çıkarım verimliliğinden ödün vermeden hem çapa tabanlı hem de çapasız yaklaşımların avantajlarından yararlanmak için AAT'yi önerir.
- YOLOv6'yı omurga ve boyun kısmına bir aşama daha ekleyecek şekilde derinleştirerek bu model, yayımlandığında yüksek çözünürlüklü girdilerle COCO veri kümesinde güçlü bir performans elde etti.
- YOLOv6'nın daha küçük modellerinin performansını artırmak için yeni bir öz damıtma stratejisi uygulanır; bu strateji eğitim sırasında yardımcı regresyon dalını güçlendirir ve belirgin bir hız düşüşünü önlemek için çıkarım sırasında dalı kaldırır.
Performans Metrikleri#
YOLOv6, farklı ölçeklerde çeşitli önceden eğitilmiş modeller sunar:
- YOLOv6-N: NVIDIA T4 GPU ile COCO val2017'de 1187 FPS hızında %37,5 AP.
- YOLOv6-S: 484 FPS hızında %45,0 AP.
- YOLOv6-M: 226 FPS hızında %50,0 AP.
- YOLOv6-L: 116 FPS hızında %52,8 AP.
- YOLOv6-L6: Gerçek zamanlı kullanımda son teknoloji doğruluk.
YOLOv6 ayrıca farklı hassasiyetler için kuantize edilmiş modeller ve mobil platformlar için optimize edilmiş modeller sunar.
Kullanım Örnekleri#
Bu örnek, basit YOLOv6 eğitim ve çıkarım örnekleri sunar. Bunlar ve diğer modlar hakkında eksiksiz belgeler için Predict, Train, Val ve Export dokümantasyon sayfalarına bakabilirsin.
YOLOv6 *.yaml dosyaları, Python'da ilgili modeli oluşturmak için YOLO() sınıfına aktarılabilir:
from ultralytics import YOLO
# Build a YOLOv6n model from scratch
model = YOLO("yolov6n.yaml")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv6n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Desteklenen Görevler ve Modlar#
YOLOv6 serisi, her biri yüksek performanslı Nesne Algılama için optimize edilmiş çeşitli modeller sunar. Bu modeller, farklı hesaplama gereksinimlerini ve doğruluk ihtiyaçlarını karşılayarak çok çeşitli uygulamalar için esneklik sağlar.
| Model | Dosya adları | Görevler | Eğitim | Doğrulama | Çıkarım | Dışa aktarma |
|---|---|---|---|---|---|---|
| YOLOv6-N | yolov6n.yaml | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-S | yolov6s.yaml | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-M | yolov6m.yaml | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-L | yolov6l.yaml | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
| YOLOv6-X | yolov6x.yaml | Nesne Algılama | ✅ | ✅ | ✅ | ✅ |
Bu tablo, YOLOv6 model varyantlarına ayrıntılı bir genel bakış sunar; nesne algılama görevlerindeki yeteneklerini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli çalışma modlarıyla uyumluluklarını vurgular. Bu kapsamlı destek, YOLOv6 modellerinin çok çeşitli nesne algılama senaryolarındaki yeteneklerinden tam olarak yararlanmanı sağlar.
Atıflar ve Teşekkürler#
Gerçek zamanlı nesne algılama alanındaki önemli katkıları için yazarlara teşekkür etmek isteriz:
@misc{li2023yolov6,
title={YOLOv6 v3.0: A Full-Scale Reloading},
author={Chuyi Li and Lulu Li and Yifei Geng and Hongliang Jiang and Meng Cheng and Bo Zhang and Zaidan Ke and Xiaoming Xu and Xiangxiang Chu},
year={2023},
eprint={2301.05586},
archivePrefix={arXiv},
primaryClass={cs.CV}
}Özgün YOLOv6 makalesine arXiv üzerinden ulaşabilirsin. Yazarlar çalışmalarını herkese açık olarak sunmuş ve kod tabanına GitHub üzerinden erişim sağlamıştır. Alanı ilerletme ve çalışmalarını daha geniş topluluğun erişimine sunma çabalarını takdir ediyoruz.
SSS#
2022'de yayımlanan Meituan YOLOv6, gerçek zamanlı uygulamalar için tasarlanmış, hız ve doğruluk arasında denge kuran bir nesne algılayıcıdır. Çift yönlü birleştirme (BiC) modülü ve çapa destekli eğitim (AAT) stratejisi gibi dikkate değer mimari iyileştirmelere sahiptir. Bu yenilikler, en düşük hız düşüşüyle önemli performans kazanımları sağlayarak YOLOv6'yı nesne algılama görevleri için rekabetçi bir seçenek haline getirir.
YOLOv6'daki Çift yönlü birleştirme (BiC) modülü, algılayıcının boyun kısmındaki konumlandırma sinyallerini güçlendirerek hız üzerinde ihmal edilebilir bir etkiyle performans iyileştirmeleri sağlar. Bu modül, farklı özellik haritalarını etkili bir şekilde birleştirerek modelin nesneleri doğru algılama yeteneğini artırır. YOLOv6'nın özellikleri hakkında daha fazla bilgi için Temel Özellikler bölümüne bakabilirsin.
Basit Python veya CLI komutlarıyla Ultralytics kullanarak bir YOLOv6 modelini eğitebilirsin. Örneğin:
Örnekfrom ultralytics import YOLO # Build a YOLOv6n model from scratch model = YOLO("yolov6n.yaml") # Train the model on the COCO8 example dataset for 100 epochs results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Daha fazla bilgi için Train sayfasını ziyaret edebilirsin.
YOLOv6, her biri farklı performans gereksinimleri için optimize edilmiş birden çok sürüm sunar:
- YOLOv6-N: 1187 FPS hızında %37,5 AP
- YOLOv6-S: 484 FPS hızında %45,0 AP
- YOLOv6-M: 226 FPS hızında %50,0 AP
- YOLOv6-L: 116 FPS hızında %52,8 AP
- YOLOv6-L6: Gerçek zamanlı senaryolarda son teknoloji doğruluk
Bu modeller, NVIDIA T4 GPU kullanılarak COCO veri kümesi üzerinde değerlendirilir. Performans ölçümleri hakkında daha fazla bilgi için Performans Ölçümleri bölümüne bakabilirsin.
YOLOv6'daki çapa destekli eğitim (AAT), çapa tabanlı ve çapasız yaklaşımların unsurlarını birleştirerek çıkarım verimliliğinden ödün vermeden modelin algılama yeteneklerini geliştirir. Bu strateji, sınır kutusu tahminlerini iyileştirmek için eğitim sırasında çapalardan yararlanır ve YOLOv6'yı çeşitli nesne algılama görevlerinde etkili hale getirir.
YOLOv6; Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma dahil olmak üzere çeşitli çalışma modlarını destekler. Bu esneklik, modelin yeteneklerinden farklı senaryolarda tam olarak yararlanmanı sağlar. Her mod hakkında ayrıntılı bir genel bakış için Desteklenen Görevler ve Modlar bölümüne göz atabilirsin.