Ultralytics YOLO27:

Argoverse Veri Kümesi#

Ultralytics Argoverse veri kümesi (Argoverse-HD), 8 sınıfa ayrılmış 54.446 etiketli otonom sürüş görüntüsünden (39.384 eğitim ve 15.062 doğrulama için) oluşan bir 2B nesne algılama veri kümesidir: kişi, bisiklet, otomobil, motosiklet, otobüs, kamyon, trafik ışığı ve dur işareti. Görüntüler bir aracın halka biçimli ön-orta kamerasıyla çekilmiştir ve açıklamalar, Argo AI'nin Argoverse 1.1 sürüş verileri temel alınarak Carnegie Mellon Üniversitesinin akış algılama projesinden elde edilmiştir. Bu veri kümesi, otonom sürüş senaryolarında yol nesnelerini algılayan bilgisayarlı görü modellerini eğitmek için kullanılan, gerçek dünyadan büyük bir kıyaslama veri kümesidir.

Açıklamalı örnekleri önizlemek, veri kümesi istatistiklerini incelemek ve eğitim için kopyalamak üzere Ultralytics Platform'da Argoverse-HD veri kümesini keşfet.

Manuel indirme gerekli

Eğitim için gereken Argoverse-HD *.zip dosyası (~31.5 GB), Ford'un Argo AI'yi kapatmasının ardından Amazon S3'ten kaldırıldı. Dosya, Google Drive üzerinden manuel olarak indirilebilir — otomatik indirme çalışmayacağından arşivi eğitimden önce indir.

Temel Özellikler#

  • 8 nesne algılama sınıfı: kişi, bisiklet, otomobil, motosiklet, otobüs, kamyon, trafik ışığı ve dur işareti.
  • 54.446 etiketli görüntü — 39.384 eğitim ve 15.062 doğrulama için — ayrıca eval.ai challenge için ayrılmış etiketsiz bir test bölümü.
  • Kentsel otonom sürüş sahnelerinde çekilmiş, yüksek çözünürlüklü halka biçimli ön-orta kamera karelerinden ~31.5 GB.
  • Açıklamalar ilk kullanımda otomatik olarak YOLO biçimine dönüştürülür; böylece veri kümesi doğrudan Ultralytics YOLO algılama modelleriyle eğitilebilir.

Veri Kümesi Yapısı#

Argoverse-HD veri kümesi, Argoverse.yaml yapılandırmasıyla tanımlanan üç önceden belirlenmiş alt kümeye ayrılır:

BölümGörüntülerEtiketler
Eğit39,384Evet
Doğrulama15,062Evet
TestEtiketsiz (eval.ai challenge)

Tüm görüntüler aynı 8 nesne sınıfını paylaşır (0–7 dizinleri): kişi, bisiklet, otomobil, motosiklet, otobüs, kamyon, trafik ışığı ve dur işareti.

Otomatik YOLO dönüşümü

Manuel indirmeden sonra Ultralytics, özgün Argoverse-HD açıklamalarını ilk eğitim çalıştırmanızda otomatik olarak YOLO algılama etiketlerine dönüştürür; bu nedenle manuel ön işleme gerekmez.

Uygulamalar#

Argoverse-HD veri kümesi, otonom sürüşte çeşitli nesne algılama uygulamalarını destekler:

  • Otonom sürüş algısıotonom araç navigasyonunu desteklemek için öne bakan bir kameradan araçları, yayaları ve bisikletlileri algıla.
  • Gelişmiş sürücü destek sistemleri (ADAS) — gerçek zamanlı sürücü uyarıları için trafik ışıklarını ve dur işaretlerini tanı.
  • Trafik izleme — akıllı şehir analizleri için kentsel sahnelerdeki yol kullanıcılarını say ve takip et.
  • Araştırma ve prototipleme — sürüş verileri üzerinde model eğitimi ve tahmin öğrenimi için gerçek dünyadan büyük bir kıyaslama veri kümesi.

Veri Kümesi YAML'i#

Bir YAML dosyası; yollar, sınıflar ve diğer ilgili ayrıntılar dahil olmak üzere veri kümesi yapılandırmasını tanımlar. Argoverse veri kümesi için Argoverse.yaml dosyası https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml adresinde tutulur.

ultralytics/cfg/datasets/Argoverse.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Argoverse-HD dataset (ring-front-center camera) by Argo AI: https://www.cs.cmu.edu/~mengtial/proj/streaming/
# Documentation: https://docs.ultralytics.com/datasets/detect/argoverse
# Example usage: yolo train data=Argoverse.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── Argoverse ← downloads here (31.5 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: Argoverse # dataset root dir
train: Argoverse-1.1/images/train/ # train images (relative to 'path') 39384 images
val: Argoverse-1.1/images/val/ # val images (relative to 'path') 15062 images
test: Argoverse-1.1/images/test/ # test images (optional) https://eval.ai/web/challenges/challenge-page/800/overview

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: bus
  5: truck
  6: traffic_light
  7: stop_sign

# Download script/URL (optional) ---------------------------------------------------------------------------------------
download: |
  import json
  from pathlib import Path

  from ultralytics.utils import TQDM
  from ultralytics.utils.downloads import download

  def argoverse2yolo(annotation_file):
      """Convert Argoverse dataset annotations to YOLO format for object detection tasks."""
      labels = {}
      with open(annotation_file, encoding="utf-8") as f:
          a = json.load(f)
      for annot in TQDM(a["annotations"], desc=f"Converting {annotation_file} to YOLO format..."):
          img_id = annot["image_id"]
          img_name = a["images"][img_id]["name"]
          img_label_name = f"{Path(img_name).stem}.txt"

          cls = annot["category_id"]  # instance class id
          x_center, y_center, width, height = annot["bbox"]
          x_center = (x_center + width / 2) / 1920.0  # offset and scale
          y_center = (y_center + height / 2) / 1200.0  # offset and scale
          width /= 1920.0  # scale
          height /= 1200.0  # scale

          img_dir = annotation_file.parents[2] / "Argoverse-1.1" / "labels" / a["seq_dirs"][a["images"][annot["image_id"]]["sid"]]
          if not img_dir.exists():
              img_dir.mkdir(parents=True, exist_ok=True)

          k = str(img_dir / img_label_name)
          if k not in labels:
              labels[k] = []
          labels[k].append(f"{cls} {x_center} {y_center} {width} {height}\n")

      for k in labels:
          with open(k, "w", encoding="utf-8") as f:
              f.writelines(labels[k])

  # Download 'https://argoverse-hd.s3.amazonaws.com/Argoverse-HD-Full.zip' (deprecated S3 link)
  dir = Path(yaml["path"])  # dataset root dir
  urls = ["https://drive.google.com/file/d/1st9qW3BeIwQsnR0t8mRpvbsSWIo16ACi/view?usp=drive_link"]
  print("\n\nWARNING: Argoverse dataset MUST be downloaded manually, autodownload will NOT work.")
  print(f"WARNING: Manually download Argoverse dataset '{urls[0]}' to '{dir}' and re-run your command.\n\n")
  # download(urls, dir=dir)

  # Convert
  annotations_dir = "Argoverse-HD/annotations/"
  (dir / "Argoverse-1.1" / "tracking").rename(dir / "Argoverse-1.1" / "images")  # rename 'tracking' to 'images'
  for d in "train.json", "val.json":
      argoverse2yolo(dir / annotations_dir / d)  # convert Argoverse annotations to YOLO labels

Kullanım#

Argoverse veri kümesi üzerinde 100 epoch ve 640 görüntü boyutuyla bir YOLO26n modeli eğitmek için aşağıdaki kod örneklerini kullan. Kullanılabilir bağımsız değişkenlerin kapsamlı listesi için modelin Eğitim sayfasına bak.

Eğitim Örneği
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)

Eğitim tamamlandıktan sonra, yeni sürüş görüntüleri veya videoları üzerinde ince ayarlanmış modelle çıkarım çalıştır:

Çıkarım Örneği
from ultralytics import YOLO

# Load a model
model = YOLO("path/to/best.pt")  # load an Argoverse fine-tuned model

# Inference using the model
results = model.predict("path/to/driving-scene.jpg")

Örnek Veriler ve Açıklamalar#

Argoverse-HD veri kümesi, halka biçimli ön-orta kamerayla çekilmiş ve 8 nesne sınıfı için 2B sınırlayıcı kutularla açıklanmış yüksek çözünürlüklü sürüş görüntüleri içerir. Aşağıda, veri kümesinden karşılık gelen açıklamalarıyla birlikte bir örnek görüntü yer alır:

Açıklanmış yol nesneleri içeren Argoverse-HD otonom sürüş sahnesi

  • Açıklanmış sürüş sahnesi: Bu görüntüde, araçlar ve yayalar gibi yol nesneleri, YOLO modellerinin eğitim sırasında tahmin etmeyi öğrendiği biçim olan 2B sınırlayıcı kutularla etiketlenmiştir.

Atıflar ve Teşekkürler#

Bu veri kümesinde kullanılan Argoverse-HD 2B algılama açıklamaları, Carnegie Mellon Üniversitesinin akış algılama çalışmasından alınmıştır. Veri kümesini araştırmanda veya geliştirme çalışmalarında kullanırsan lütfen şu kaynağı belirt:

Alıntı
@inproceedings{li2020towards,
  title={Towards Streaming Perception},
  author={Li, Mengtian and Wang, Yu-Xiong and Ramanan, Deva},
  booktitle={Proceedings of the European Conference on Computer Vision (ECCV)},
  pages={473--488},
  year={2020}
}

@inproceedings{chang2019argoverse,
  title={Argoverse: 3D Tracking and Forecasting with Rich Maps},
  author={Chang, Ming-Fang and Lambert, John and Sangkloy, Patsorn and Singh, Jagjeet and Bak, Slawomir and Hartnett, Andrew and Wang, Dequan and Carr, Peter and Lucey, Simon and Ramanan, Deva and others},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={8748--8757},
  year={2019}
}

Argoverse-HD algılama açıklamaları için Carnegie Mellon Üniversitesine ve özgün Argoverse veri kümesini otonom sürüş araştırma topluluğu için değerli bir kaynak olarak oluşturduğu için Argo AI'ye teşekkür ederiz.

SSS#

  • Ultralytics Argoverse veri kümesi (Argoverse-HD), 8 sınıfa ayrılmış 54.446 otonom sürüş görüntüsünden oluşan bir 2B nesne algılama veri kümesidir: kişi, bisiklet, otomobil, motosiklet, otobüs, kamyon, trafik ışığı ve dur işareti. Öne bakan araç kamerasından yol nesnelerini algılayan modelleri eğitmek ve değerlendirmek için kullanılır; otonom sürüş algısı, ADAS ve trafik izleme araştırmalarını destekler.

  • Argoverse-HD veri kümesinde 8 sınıf (kişi, bisiklet, otomobil, motosiklet, otobüs, kamyon, trafik ışığı ve dur işareti) ve 54.446 etiketli görüntü — 39.384 eğitim ve 15.062 doğrulama için — ayrıca eval.ai challenge için ayrılmış etiketsiz bir test bölümü bulunur.

  • Ultralytics'te bu, daha geniş Argoverse programının 3B izleme, hareket tahmini veya LiDAR araştırma paketinden farklı olarak 2B nesne algılama veri kümesidir (2B sınırlayıcı kutular içeren Argoverse-HD kamera kareleri). Bu veri kümesini yolo26n.pt gibi standart bir algılama modeliyle eğitirsin.

  • Önce veri kümesini manuel olarak indir (aşağıya bak), ardından Argoverse.yaml yapılandırma dosyasıyla eğit:

    Örnek
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)
    
    # Train the model
    results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)

    Bağımsız değişkenlerin ayrıntılı açıklaması için modelin Eğitim sayfasına bak.

  • Daha önce Amazon S3'te barındırılan Argoverse-HD *.zip dosyası (~31.5 GB) artık Google Drive üzerinden manuel olarak indirilebilir. Otomatik indirme çalışmayacağından eğitim komutunu çalıştırmadan önce arşivi indir.

  • Evet. Ultralytics Platform, Argoverse-HD gibi büyük veri kümelerini yükleyip sürümlendirmeni, ardından yoğun bir yerel kurulum gerektirmeden nesne algılama modellerini bulutta eğitip dağıtmanı sağlar. İlgili veri kümelerine algılama veri kümelerine genel bakış sayfasından da göz atabilirsin.

Yorumlar