Ultralytics YOLO27:
Get Started

Argoverse Veri Kümesi#

Ultralytics Argoverse veri kümesi (Argoverse-HD), 8 sınıfta — kişi, bisiklet, araba, motosiklet, otobüs, kamyon, trafik ışığı ve dur işareti — 54.446 etiketli otonom sürüş görüntüsünden oluşan bir 2B nesne algılama veri kümesidir; görüntülerin 39.384'ü eğitim, 15.062'si doğrulama içindir. Görüntüler bir aracın halka biçimli ön-orta kamerasıyla çekilmiştir ve ek açıklamalar, Argo AI'ın Argoverse 1.1 sürüş verileri üzerine kurulmuş Carnegie Mellon Üniversitesi streaming-perception projesinden alınmıştır. Otonom sürüş senaryolarında yol nesnelerini algılayan bilgisayarlı görü modellerini eğitmek için büyük ölçekli, gerçek dünya kıyaslama veri kümesidir.

Açıklama eklenmiş örnekleri önizlemek, veri kümesi istatistiklerini incelemek ve eğitim için veri kümesini klonlamak üzere Ultralytics Platform'daki Argoverse-HD'yi keşfet.

Elle indirme gerekli

Eğitim için gereken Argoverse-HD *.zip dosyası (~31.5 GB), Ford'un Argo AI'ı kapatmasının ardından Amazon S3'ten kaldırıldı. Dosya Google Drive'dan elle indirilebilir — otomatik indirme çalışmaz; bu nedenle arşivi indir ve eğitime başlamadan önce veri kümeleri dizininin Argoverse klasörüne çıkar.

Temel Özellikler#

  • 8 nesne algılama sınıfı: kişi, bisiklet, araba, motosiklet, otobüs, kamyon, trafik ışığı ve dur işareti.
  • 54.446 etiketli görüntü — 39.384'ü eğitim, 15.062'si doğrulama için — ayrıca eval.ai yarışması için ayrılmış etiketsiz bir test bölümü.
  • ~31.5 GB boyutundaki yüksek çözünürlüklü halka biçimli ön-orta kamera kareleri, kentsel otonom sürüş sahnelerinde çekilmiştir.
  • Ek 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
Test—Etiketsiz (eval.ai yarışması)

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

Otomatik YOLO dönüşümü

Elle indirildikten sonra Ultralytics, ilk eğitim sırasında özgün Argoverse-HD açıklamalarını otomatik olarak YOLO nesne algılama etiketlerine dönüştürür; bu nedenle elle ön işleme gerek yoktur.

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) — sürücüyü gerçek zamanlı olarak uyarmak 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 süreçlerini öğrenmek için büyük ölçekli, gerçek dünya karşılaştırma veri kümesi.

Veri Kümesi YAML Dosyası#

YAML dosyası; yolları, sınıfları ve diğer ilgili ayrıntıları içeren veri kümesi yapılandırmasını tanımlar. Argoverse veri kümesinin 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ümesinde 640 görüntü boyutuyla 100 epoch boyunca bir YOLO26n modelini 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

# Bir model yükle
model = YOLO("yolo26n.pt")  # Önceden eğitilmiş bir model yükle (eğitim için önerilir)

# Modeli eğit
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 ayar yapılmış modelle çıkarım çalıştır:

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

# Bir model yükle
model = YOLO("path/to/best.pt")  # Argoverse verileriyle ince ayar yapılmış bir modeli yükle

# Modeli kullanarak çıkarım yap
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 ilgili açıklamalarıyla birlikte bir örnek görüntü yer alıyor:

Açıklama eklenmiş yol nesnelerinin bulunduğu Argoverse-HD otonom sürüş sahnesi

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

Atıflar ve Teşekkürler#

Bu veri kümesinde kullanılan Argoverse-HD 2B algılama açıklamaları, Carnegie Mellon Üniversitesi'nin akış algısı çalışmasından alınmıştır. Veri kümesini araştırma 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 Üniversitesi'ne ve otonom sürüş araştırma topluluğuna değerli bir kaynak olan özgün Argoverse veri kümesini oluşturduğu için Argo AI'ye teşekkür ederiz.

Sık Sorulan Sorular#

  • Ultralytics Argoverse veri kümesi (Argoverse-HD), 8 sınıfta 54.446 otonom sürüş görüntüsünden oluşan bir 2B nesne algılama veri kümesidir: kişi, bisiklet, araba, 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, araba, motosiklet, otobüs, kamyon, trafik ışığı ve dur işareti) ve 54.446 etiketli görüntü bulunur; bunların 39.384'ü eğitim, 15.062'si doğrulama içindir. Ayrıca eval.ai yarışmasına ayrılmış etiketsiz bir test bölümü vardır.

  • Ultralytics'te bu, daha geniş Argoverse programındaki 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). yolo26n.pt gibi standart bir algılama modeliyle eğitebilirsin.

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

    Örnek
    from ultralytics import YOLO
    
    # Bir model yükle
    model = YOLO("yolo26n.pt")  # Önceden eğitilmiş bir model yükle (eğitim için önerilir)
    
    # Modeli eğit
    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 elle indirilebilir. Otomatik indirme çalışmaz; bu nedenle arşivi indir ve eğitim komutunu çalıştırmadan önce veri kümesi dizininin Argoverse klasörüne çıkart.

  • Evet. Ultralytics Platform, Argoverse-HD gibi büyük veri kümelerini yükleyip sürümlemene, ardından yoğun bir yerel kurulum yapmadan bulutta nesne algılama modellerini eğitip dağıtmana olanak tanır. Ayrıca algılama veri kümelerine genel bakış bölümünde ilgili veri kümelerine göz atabilirsin.

Yorumlar