Ultralytics YOLOv5 v7.0'da Örnek Segmentasyonu Tanıtımı

Ultralytics Ekibi

3 dakika okuma

23 Kasım 2022

En iyi yapay zeka doğruluğu ve hızı için SOTA kıyaslamalarından daha iyi performans gösteren yeni örnek segmentasyon modellerine sahip YOLOv5 v7.0'ı keşfedin. Topluluğumuza katılın.

Yapay zeka mimarimizin en son sürümü olan YOLOv5 v7.0 çıktı ve yeni örnek segmentasyon modellerimizi tanıtmaktan heyecan duyuyoruz!

Bu son sürüm üzerinde çalışırken iki hedefi ön planda ve merkezde tuttuk. Birincisi yapay zekayı kolaylaştırma misyonumuz, ikincisi ise "en son teknolojinin" gerçekte ne anlama geldiğini yeniden tanımlama hedefimizdi.

Bu nedenle, önemli iyileştirmeler, düzeltmeler ve yükseltmelerle tam da bunu yaptık. Mevcut YOLOv5 nesne algılama modellerimizle aynı basit iş akışlarını koruyarak, YOLOv5 v7.0 ile modellerinizi eğitmek, doğrulamak ve dağıtmak artık her zamankinden daha kolay. Bunun da ötesinde, tüm SOTA kriterlerini aşarak YOLOv5'i dünyanın en hızlı ve en doğru modeli haline getirdik.

Bu bizim segmentasyon modellerine ilişkin ilk sürümümüz olduğundan, bu kilometre taşından büyük gurur duyuyoruz. Bu sürümü mümkün kılmamıza yardımcı olan özel topluluğumuza ve katkıda bulunanlara çok teşekkür borçluyuz.  

Ultralytics YOLOv5 v7.0 SOTA Gerçek Zamanlı Örnek Segmentasyonu

Öyleyse, YOLOv5 v7.0 sürüm notları ile başlayalım!

Önemli YOLOv5 Güncellemeleri

Ağustos 2022'deki son YOLOv5 v6.2 sürümümüzden bu yana YOLOv5'te nelerin güncellendiğini burada bulabilirsiniz.

  • Segmentasyon Modelleri ⭐ YENİ: SOTA YOLOv5-seg COCO tarafından önceden eğitilmiş segmentasyon modelleri artık ilk kez kullanılabilir(#9052 by @glenn-jocher, @AyushExel, and @Laughing-q)
  • PaddlePaddle Dışa Aktarma: Herhangi bir YOLOv5 modelini (cls, seg, det) python export.py --include paddle ile Paddle formatına aktarın #9459 @glenn-jocher tarafından)
  • YOLOv5 Otomatik Önbellek: python train.py --cache ram kullanımı artık kullanılabilir belleği tarayacak ve öngörülen veri kümesi RAM kullanımıyla karşılaştıracaktır. Bu, önbelleğe alma riskini azaltır ve eğitimi önemli ölçüde hızlandırabilen veri kümesi önbelleğe alma özelliğinin benimsenmesini artırmaya yardımcı olmalıdır.(#10027 @glenn-jocher tarafından)
  • Comet Günlük Kaydı ve Görselleştirme Entegrasyonu: Sonsuza kadar ücretsiz olan Comet, YOLOv5 modellerini kaydetmenize, eğitime devam etmenize ve tahminleri etkileşimli olarak görselleştirmenize ve hata ayıklamanıza olanak tanır.(#9232 tarafından @DN6)

Yeni Segmentasyon Kontrol Noktaları

YOLOv5 segmentasyon modellerini A100 GPU'ları kullanarak 640 görüntü boyutunda 300 epoch için COCO üzerinde eğittik. Tüm modelleri CPU hız testleri için ONNX FP32'ye ve GPU hız testleri için TensorRT FP16'ya aktardık. Kolay tekrarlanabilirlik için tüm hız testlerini Google Colab Pro dizüstü bilgisayarlarda gerçekleştirdik.

  • Tüm kontrol noktaları, 640 görüntü boyutunda ve tüm varsayılan ayarlarda lr0=0.01 ve weight_decay=5e-5 ile SGD optimizer ile 300 epoch'a kadar eğitilmiştir. Tüm çalıştırmalar burada kaydedilmiştir.
  • Doğruluk değerleri COCO veri setinde tek model tek ölçek içindir. Python segment/val.py --data coco.yaml --weights yolov5s-seg.pt ile çoğaltın
  • Colab Pro A100 High-RAM örneği kullanılarak 100 çıkarım görüntüsü üzerinden ortalama hız. Değerler yalnızca çıkarım hızını gösterir (NMS görüntü başına yaklaşık 1 ms ekler). Python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1 ile çoğaltın
  • export.py ile FP32'de ONNX'e ve FP16'da TensorRT'ye aktarma yapıldı. Python export.py --weights yolov5s-seg.pt --include engine --device 0 --half ile çoğaltın

Yeni Segmentasyon Kullanım Örnekleri

Tren

YOLOv5 segmentasyon eğitimi, --data coco128-seg.yaml argümanı ile COCO128-seg segmentasyon veri setinin otomatik indirilmesini ve bash data/scripts/get_coco.sh --train --val --segments ve ardından python train.py --data coco.yaml ile COCO-segments veri setinin manuel indirilmesini destekler.

Tek GPU

python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640

Çoklu GPU DDP

python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3

Val

YOLOv5m-seg doğruluğunu ImageNet-1k veri kümesi üzerinde doğrulayın:

bash data/scripts/get_coco.sh --val --segments # download COCO val segments split (780MB, 5000 görüntü) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validate

Tahmin Et

bus.jpg dosyasını tahmin etmek için önceden eğitilmiş YOLOv5m-seg kullanın:

python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg

model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # PyTorch Hub'dan yükle (UYARI: çıkarım henüz desteklenmiyor)

Ultralytics YOLOv5 v7.0 Örnek Segmentasyonu


İhracat

YOLOv5s-seg modelini ONNX ve TensorRT'ye aktarın:

python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

Ultralytics YOLOv5 v7.0 Örnek Segmentasyonu

Herhangi bir sorunuz mu var? Ultralytics forumuna sorun, bir sorun oluşturun veya depoda bir PR gönderin. Ayrıca hızlı başlangıç eğitimleri için YOLOv5 segmentasyon Colab not defterimize de başlayabilirsiniz.

Yapay zekanın gelecekteki
adresini birlikte inşa edelim!

Makine öğreniminin geleceği ile yolculuğunuza başlayın

Ücretsiz başlayın
Panoya kopyalanan bağlantı