İçeriğe geç

Meituan YOLOv6

Genel Bakış

Meituan YOLOv6, hız ve doğruluk arasında dikkate değer bir denge sunan, son teknoloji bir nesne tespit aracıdır ve bu da onu gerçek zamanlı uygulamalar için popüler bir seçim haline getirmektedir. Bu model, bir Çift Yönlü Birleştirme (BiC) modülünün, bir çapa destekli eğitim (AAT) stratejisinin ve COCO veri kümesinde son teknoloji doğruluğu için geliştirilmiş bir backbone ve neck tasarımının uygulanması da dahil olmak üzere mimarisi ve eğitim şeması üzerinde çeşitli önemli geliştirmeler sunar.

Meituan YOLOv6Model örnek resmiYOLOv6'ya genel bakış. Önemli performans iyileştirmelerine yol açan 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ğine dikkat edin. (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, dedektörün boynuna bir BiC modülü ekleyerek yerelleştirme sinyallerini geliştirir ve ihmal edilebilir hız düşüşüyle 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 çapa içermeyen paradigmaların faydalarından yararlanmak için AAT'yi önermektedir.
  • Gelişmiş Backbone ve Neck Tasarımı: YOLOv6'yı backbone ve neck'te başka bir aşama içerecek şekilde derinleştirerek, bu model yüksek çözünürlüklü girdide COCO veri kümesinde son teknoloji performansı elde eder.
  • Kendiliğinden Damıtma Stratejisi: Eğitim sırasında yardımcı regresyon dalını geliştirerek ve belirgin bir hız düşüşünü önlemek için çıkarım sırasında kaldırarak YOLOv6'nın daha küçük modellerinin performansını artırmak için yeni bir kendiliğinden damıtma stratejisi uygulanır.

Performans Metrikleri

YOLOv6, farklı ölçeklerde çeşitli önceden eğitilmiş modeller sunar:

  • YOLOv6-N: NVIDIA T4 GPU ile 1187 FPS'de COCO val2017 üzerinde %37,5 AP.
  • YOLOv6-S: 484 FPS'de %45,0 AP.
  • YOLOv6-M: 226 FPS'de %50,0 AP.
  • YOLOv6-L: 116 FPS'de %52,8 AP.
  • YOLOv6-L6: Gerçek zamanlıda son teknoloji doğruluk.

YOLOv6 ayrıca farklı kesinlikler için nicelenmiş modeller ve mobil platformlar için optimize edilmiş modeller sunar.

Kullanım Örnekleri

Bu örnek, basit YOLOv6 eğitimi ve çıkarım örnekleri sunar. Bunlar ve diğer modlar hakkında tam dokümantasyon için Predict, Train, Val ve Export doküman sayfalarına bakın.

Örnek

YOLOv6 *.yaml dosyaları YOLO() Python'da ilgili modeli oluşturmak için sınıf:

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")

Modelleri doğrudan çalıştırmak için CLI komutları mevcuttur:

# Build a YOLOv6n model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv6n model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov6n.yaml source=path/to/bus.jpg

Desteklenen Görevler ve Modlar

YOLOv6 serisi, her biri yüksek performanslı Nesne Algılama için optimize edilmiş bir dizi model sunar. Bu modeller, çeşitli hesaplama ihtiyaçlarına ve doğruluk gereksinimlerine hitap ederek, onları çok çeşitli uygulamalar için çok yönlü hale getirir.

ModelDosya adlarıGörevlerÇıkarımDoğrulamaEğitimDışa aktar
YOLOv6-Nyolov6n.yamlNesne Algılama
YOLOv6-Syolov6s.yamlNesne Algılama
YOLOv6-Myolov6m.yamlNesne Algılama
YOLOv6-Lyolov6l.yamlNesne Algılama
YOLOv6-Xyolov6x.yamlNesne Algılama

Bu tablo, YOLOv6 model varyantlarına ilişkin 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 yararlanabilmelerini sağlar.

Alıntılar ve Teşekkürler

Gerçek zamanlı nesne algılama alanındaki önemli katkılarından dolayı 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}
}

Orijinal YOLOv6 makalesi arXiv'de bulunabilir. Yazarlar çalışmalarını kamuya açık hale getirmişlerdir ve kod tabanına GitHub üzerinden erişilebilir. Alanı ilerletme ve çalışmalarını daha geniş bir topluluk için erişilebilir hale getirme çabalarını takdir ediyoruz.

SSS

Meituan YOLOv6 nedir ve onu benzersiz kılan nedir?

Meituan YOLOv6, hız ve doğruluğu dengeleyen, gerçek zamanlı uygulamalar için ideal, son teknoloji bir nesne tespit aracıdır. Çift Yönlü Birleştirme (BiC) modülü ve Anchor Destekli Eğitim (AAT) stratejisi gibi önemli mimari geliştirmelere sahiptir. Bu yenilikler, minimum 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ü performansı nasıl artırır?

YOLOv6'daki Çift Yönlü Birleştirme (BiC) modülü, dedektörün boynundaki yerelleştirme sinyallerini geliştirerek ihmal edilebilir hız etkisiyle performans iyileştirmeleri sağlar. Bu modül, farklı özellik haritalarını etkin bir şekilde birleştirerek modelin nesneleri doğru bir şekilde detect etme yeteneğini artırır. YOLOv6'nın özellikleri hakkında daha fazla ayrıntı için Temel Özellikler bölümüne bakın.

Ultralytics kullanarak bir YOLOv6 modeli nasıl eğitebilirim?

Ultralytics'i kullanarak basit Python veya CLI komutlarıyla bir YOLOv6 modelini eğitebilirsiniz. Örneğin:

Örnek

from 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)
yolo train model=yolov6n.yaml data=coco8.yaml epochs=100 imgsz=640

Daha fazla bilgi için Train sayfasını ziyaret edin.

YOLOv6'nın farklı versiyonları ve performans metrikleri nelerdir?

YOLOv6, her biri farklı performans gereksinimleri için optimize edilmiş birden çok sürüm sunar:

  • YOLOv6-N: 1187 FPS'de %37,5 AP
  • YOLOv6-S: 484 FPS'de %45,0 AP
  • YOLOv6-M: 226 FPS'de %50,0 AP
  • YOLOv6-L: 116 FPS'de %52,8 AP
  • YOLOv6-L6: Gerçek zamanlı senaryolarda son teknoloji doğruluk

Bu modeller, bir NVIDIA T4 GPU kullanılarak COCO veri kümesi üzerinde değerlendirilir. Performans metrikleri hakkında daha fazla bilgi için Performans Metrikleri bölümüne bakın.

Çapa Destekli Eğitim (AAT) stratejisi YOLOv6'ya nasıl fayda sağlar?

YOLOv6'daki Anchor Destekli Eğitim (AAT), anchor tabanlı ve anchorsız yaklaşımların öğelerini birleştirerek, çıkarım verimliliğinden ödün vermeden modelin detect yeteneklerini geliştirir. Bu strateji, sınırlayıcı kutu tahminlerini iyileştirmek için eğitim sırasında anchor'lardan yararlanarak YOLOv6'yı çeşitli nesne algılama görevlerinde etkili kılar.

Ultralytics'te YOLOv6 modelleri hangi operasyonel modları desteklemektedir?

YOLOv6, Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma dahil olmak üzere çeşitli operasyonel modları destekler. Bu esneklik, kullanıcıların modelin yeteneklerini farklı senaryolarda tam olarak kullanmalarını sağlar. Her bir moda ilişkin ayrıntılı bir genel bakış için Desteklenen Görevler ve Modlar bölümüne göz atın.



📅 2 yıl önce oluşturuldu ✏️ 1 ay önce güncellendi
glenn-jocherLaughing-qY-T-GMatthewNoyceRizwanMunawar

Yorumlar