Meituan YOLOv6#
Genel Bakış#
2022'de yayımlanan Meituan YOLOv6, hız ve doğruluk arasında güçlü bir denge sunar ve bu da onu gerçek zamanlı uygulamalar için popüler bir seçenek hâline getirir. Bu modelin mimari ve eğitim düzenindeki dikkat çekici iyileştirmeler arasında Çift Yönlü Birleştirme (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ı yer alır.
YOLOv6'ya genel bakış. Yeniden tasarlanan ağ bileşenlerini ve önemli performans iyileştirmeleri sağlayan eğitim stratejilerini gösteren model mimarisi şeması. (a) YOLOv6'nın boyun kısmı (N ve S gösterilmiştir). M/L için RepBlocks'un CSPStackRep ile değiştirildiğini unutma. (b) 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 konum belirleme sinyallerini güçlendirir ve hızda göz ardı edilebilir bir düşüşle performans kazanımı 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.
- Geliştirilmiş Omurga ve Boyun Tasarımı: YOLOv6'nın omurga ve boyun kısmına bir aşama daha ekleyerek derinleştirilmesiyle bu model, yayımlandığında yüksek çözünürlüklü girişlerde COCO veri kümesinde güçlü bir performans elde etti.
- Kendinden Damıtma Stratejisi: YOLOv6'nın daha küçük modellerinin performansını artırmak için yeni bir kendinden damıtma stratejisi uygulanır. Bu strateji, eğitim sırasında yardımcı regresyon dalını güçlendirir ve belirgin hız kaybını önlemek için çıkarım sırasında bu dalı kaldırır.
Performans Metrikleri#
YOLOv6, farklı ölçeklerde çeşitli önceden eğitilmiş modeller sunar:
- YOLOv6-N: COCO val2017'de NVIDIA T4 GPU ile 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ı hassasiyet düzeylerinde kuantize modeller ve mobil platformlar için optimize edilmiş modeller sunar.
Kullanım Örnekleri#
Bu örnekte basit YOLOv6 eğitim ve çıkarım örnekleri sunulmaktadır. Bunlar ve diğer modlar hakkında eksiksiz belgeler için Tahmin, Eğitim, Doğrulama ve Dışa Aktarma belge sayfalarına bak.
YOLOv6 *.yaml dosyaları, Python'da karşılık gelen modeli oluşturmak için YOLO() sınıfına aktarılabilir:
from ultralytics import YOLO
# Sıfırdan bir YOLOv6n modeli oluştur
model = YOLO("yolov6n.yaml")
# Model bilgilerini görüntüle (isteğe bağlı)
model.info()
# Modeli COCO8 örnek veri kümesinde 100 dönem boyunca eğit
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 'bus.jpg' görüntüsünde YOLOv6n modeliyle çıkarım yap
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 gereksinimlerine ve doğruluk ihtiyaçlarına yanıt vererek çok çeşitli uygulamalarda kullanılabilir.
| Model | Dosya adları | Görevler | Eğitim | Doğrulama | Çıkarım | Dışa aktar |
|---|---|---|---|---|---|---|
| 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 çeşitlerine ayrıntılı bir genel bakış sunarak 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, kullanıcıların YOLOv6 modellerinin yeteneklerinden çok çeşitli nesne algılama senaryolarında tam olarak yararlanmasını sağlar.
Atıflar ve Teşekkürler#
Gerçek zamanlı nesne algılama alanına önemli katkılarından dolayı yazarlara teşekkür ederiz:
@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}
}YOLOv6'nın özgün makalesini arXiv üzerinde bulabilirsin. Yazarlar çalışmalarını herkese açık hâle getirdi ve kod tabanına GitHub üzerinden erişilebilir. Alanı ileriye taşımak ve çalışmalarını daha geniş topluluğun erişimine sunmak için gösterdikleri çabaları takdir ediyoruz.
Sık Sorulan Sorular#
2022'de yayımlanan Meituan YOLOv6, hız ve doğruluk arasında denge kuran ve gerçek zamanlı uygulamalar için tasarlanmış bir nesne algılayıcıdır. Çift Yönlü Birleştirme (BiC) modülü ve Çapa Destekli Eğitim (AAT) stratejisi gibi dikkat çekici mimari iyileştirmeler içerir. Bu yenilikler, hızda en az düzeyde kayıpla önemli performans kazanımları sağlayarak YOLOv6'yı nesne algılama görevleri için rekabetçi bir seçenek hâline getirir.
YOLOv6'daki Çift Yönlü Birleştirme (BiC) modülü, algılayıcının boyun kısmındaki konum belirleme sinyallerini güçlendirerek hız üzerinde ihmal edilebilir bir etkiyle performans iyileştirmeleri sağlar. Bu modül, farklı özellik haritalarını etkili biçimde 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 bak.
Ultralytics kullanarak basit Python veya CLI komutlarıyla bir YOLOv6 modelini eğitebilirsin. Örneğin:
Örnekfrom ultralytics import YOLO # Sıfırdan bir YOLOv6n modeli oluştur model = YOLO("yolov6n.yaml") # Modeli COCO8 örnek veri kümesinde 100 dönem boyunca eğit results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Daha fazla bilgi için Eğitim sayfasını ziyaret et.
YOLOv6, her biri farklı performans gereksinimleri için optimize edilmiş çeşitli sürümler 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 COCO veri kümesinde NVIDIA T4 GPU kullanılarak değerlendirilir. Performans ölçütleri hakkında daha fazla bilgi için Performans Ölçütleri bölümüne bak.
YOLOv6'daki Çapa Destekli Eğitim (AAT), çapa tabanlı ve çapasız yaklaşımların unsurlarını bir araya getirerek çıkarım verimliliğinden ödün vermeden modelin algılama yeteneklerini geliştirir. Bu strateji, sınırlayıcı kutu tahminlerini iyileştirmek için eğitim sırasında çapaları kullanır ve YOLOv6'yı çeşitli nesne algılama görevlerinde etkili hâle getirir.
YOLOv6; Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma dahil çeşitli çalışma modlarını destekler. Bu esneklik, kullanıcıların modelin yeteneklerinden farklı senaryolarda tam olarak yararlanmasını sağlar. Her moda ilişkin ayrıntılı bir genel bakış için Desteklenen Görevler ve Modlar bölümüne göz at.