İçeriğe geç

Meituan YOLOv6

Genel Bakış

Meituan YOLOv6, hız ve doğruluk arasında dikkate değer bir denge sunan ve gerçek zamanlı uygulamalar için popüler bir seçim haline getiren son teknoloji ürünü bir nesne dedektörüdür. Bu model, mimarisinde ve eğitim şemasında, Çift Yönlü Birleştirme (BiC) modülünün uygulanması, çapa destekli eğitim (AAT) stratejisi ve COCO veri kümesinde son teknoloji doğruluk için geliştirilmiş bir omurga ve boyun tasarımı dahil olmak üzere birkaç önemli geliştirme sunmaktadır.

Meituan YOLOv6 Örnek model görüntüsü YOLOv6'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 lokalizasyon sinyallerini geliştirir ve ihmal edilebilir hız düşüşü ile 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 paradigmaların avantajlarından yararlanmak için AAT'yi önermektedir.
  • Geliştirilmiş Omurga ve Boyun Tasarımı: YOLOv6'yı omurga ve boyunda başka bir aşama içerecek şekilde derinleştiren bu model, yüksek çözünürlüklü girdide COCO veri kümesinde en son teknolojiye sahip performansa ulaşır.
  • Kendi Kendine Damıtma Stratejisi: YOLOv6'nın daha küçük modellerinin performansını artırmak için, eğitim sırasında yardımcı regresyon dalını geliştiren ve belirgin bir hız düşüşünü önlemek için çıkarımda kaldıran yeni bir kendi kendine damıtma stratejisi uygulanmaktadır.

Performans Ölçütleri

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

  • YOLOv6-N: NVIDIA Tesla 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ı olarak son teknoloji ürünü doğruluk.

YOLOv6 ayrıca farklı kesinlikler için nicelleştirilmiş modeller ve mobil platformlar için optimize edilmiş modeller sağlar.

Kullanım Örnekleri

Bu örnek basit YOLOv6 eğitim ve çıkarım örnekleri sağlar. Bu ve diğer modlarla ilgili tüm belgeler için Predict, Train, Val ve Export docs sayfalarına bakın.

Örnek

PyTorch ön eğitimli *.pt modellerin yanı sıra yapılandırma *.yaml dosyalar şu dosyalara aktarılabilir YOLO() sınıfında bir model örneği oluşturmak için python:

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

CLI komutları modelleri doğrudan çalıştırmak için kullanılabilir:

# 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, farklı hesaplama ihtiyaçlarına ve doğruluk gereksinimlerine cevap vererek onları geniş bir uygulama yelpazesi için çok yönlü hale getirir.

Model Tipi Önceden Eğitilmiş Ağırlıklar Desteklenen Görevler Çıkarım Doğrulama Eğitim İhracat
YOLOv6-N yolov6-n.pt Nesne Algılama
YOLOv6-S yolov6-s.pt Nesne Algılama
YOLOv6-M yolov6-m.pt Nesne Algılama
YOLOv6-L yolov6-l.pt Nesne Algılama
YOLOv6-L6 yolov6-l6.pt Nesne Algılama

Bu tablo, YOLOv6 model varyantlarına ayrıntılı bir genel bakış sunmakta, nesne algılama görevlerindeki yeteneklerini ve Çıkarım, Doğrulama, Eğitim ve Dışa Aktarma gibi çeşitli operasyonel modlarla uyumluluklarını vurgulamaktadır. Bu kapsamlı destek, kullanıcıların çok çeşitli nesne algılama senaryolarında YOLOv6 modellerinin yeteneklerinden tam olarak yararlanabilmesini sağlar.

Atıflar ve Teşekkür

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

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 ürünü bir nesne dedektörüdür. Çift Yönlü Birleştirme (BiC) modülü ve Çapa Destekli Eğitim (AAT) stratejisi gibi önemli mimari geliştirmelere sahiptir. Bu yenilikler, minimum hız düşüşü ile önemli performans kazanımları sağlayarak YOLOv6'yı nesne algılama görevleri için rekabetçi bir seçim 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 lokalizasyon sinyallerini geliştirerek ihmal edilebilir hız etkisiyle performans iyileştirmeleri sağlar. Bu modül, farklı özellik haritalarını etkili bir şekilde birleştirerek modelin nesneleri doğru bir şekilde tespit 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 modelini nasıl eğitebilirim?

Basit Python veya CLI komutları ile Ultralytics kullanarak 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 Tren sayfasını ziyaret edin.

YOLOv6'nın farklı sürümleri ve performans ölçümleri nelerdir?

YOLOv6, her biri farklı performans gereksinimleri için optimize edilmiş birden fazla 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 Tesla T4 GPU kullanılarak COCO veri kümesi üzerinde değerlendirilmiştir. Performans ölçümleri hakkında daha fazla bilgi için Performans Ölçümleri bölümüne bakın.

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

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ırlayıcı kutu tahminlerini iyileştirmek için eğitim sırasında çapalardan yararlanarak YOLOv6'yı çeşitli nesne algılama görevlerinde etkili hale getirir.

Ultralytics adresinde YOLOv6 modelleri tarafından hangi çalışma modları desteklenmektedir?

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 farklı senaryolarda modelin yeteneklerinden tam olarak yararlanmasına olanak tanır. Her bir moda ilişkin ayrıntılı genel bakış için Desteklenen Görevler ve Mod lar bölümüne göz atın.



Oluşturma 2023-11-12, Güncelleme 2024-07-04
Yazarlar: glenn-jocher (10)

Yorumlar