सामग्री पर जाएं

Argoverse डेटासेट

Argoverse डेटासेट स्वायत्त ड्राइविंग कार्यों में अनुसंधान का समर्थन करने के लिए डिज़ाइन किए गए डेटा का एक संग्रह है, जैसे कि 3D ट्रैकिंग, गति पूर्वानुमान और स्टीरियो गहराई अनुमान। Argo AI द्वारा विकसित, डेटासेट उच्च-रिज़ॉल्यूशन छवियों, LiDAR पॉइंट क्लाउड और मैप डेटा सहित उच्च-गुणवत्ता वाले सेंसर डेटा की एक विस्तृत श्रृंखला प्रदान करता है।

नोट

Argoverse डेटासेट *.zip फोर्ड द्वारा अर्गो एआई के बंद होने के बाद प्रशिक्षण के लिए आवश्यक फ़ाइल को अमेज़ॅन एस 3 से हटा दिया गया था, लेकिन हमने इसे मैन्युअल डाउनलोड के लिए उपलब्ध कराया है गूगल ड्राइव.

प्रमुख विशेषताऐं

  • Argoverse में 290K लेबल वाले 3D ऑब्जेक्ट ट्रैक और 5 अलग-अलग दृश्यों में 1,263 मिलियन ऑब्जेक्ट इंस्टेंस शामिल हैं।
  • डेटासेट में उच्च-रिज़ॉल्यूशन कैमरा छवियां, LiDAR पॉइंट क्लाउड और बड़े पैमाने पर एनोटेट किए गए HD मानचित्र शामिल हैं।
  • एनोटेशन में ऑब्जेक्ट्स, ऑब्जेक्ट ट्रैक और प्रक्षेपवक्र जानकारी के लिए 3D बाउंडिंग बॉक्स शामिल हैं।
  • Argoverse विभिन्न कार्यों के लिए कई सबसेट प्रदान करता है, जैसे 3D ट्रैकिंग, गति पूर्वानुमान और स्टीरियो गहराई अनुमान।

डेटासेट संरचना

Argoverse डेटासेट को तीन मुख्य सबसेट में व्यवस्थित किया गया है:

  1. Argoverse 3D ट्रैकिंग: इस सबसेट में 113D ऑब्जेक्ट ट्रैक के साथ 290K लेबल वाले 3D ऑब्जेक्ट ट्रैक हैं, जो 3D ऑब्जेक्ट ट्रैकिंग कार्यों पर केंद्रित हैं। इसमें LiDAR पॉइंट क्लाउड, कैमरा इमेज और सेंसर कैलिब्रेशन जानकारी शामिल है।
  2. Argoverse मोशन फोरकास्टिंग: इस सबसेट में 324 घंटे के ड्राइविंग डेटा से एकत्र किए गए 60K वाहन प्रक्षेपवक्र शामिल हैं, जो गति पूर्वानुमान कार्यों के लिए उपयुक्त हैं।
  3. Argoverse स्टीरियो गहराई अनुमान: यह सबसेट स्टीरियो गहराई अनुमान कार्यों के लिए डिज़ाइन किया गया है और इसमें जमीनी सच्चाई गहराई अनुमान के लिए संबंधित LiDAR बिंदु बादलों के साथ 10K से अधिक स्टीरियो छवि जोड़े शामिल हैं।

अनुप्रयोगों

Argoverse डेटासेट का व्यापक रूप से स्वायत्त ड्राइविंग कार्यों जैसे 3D ऑब्जेक्ट ट्रैकिंग, गति पूर्वानुमान और स्टीरियो गहराई अनुमान में गहन शिक्षण मॉडल के प्रशिक्षण और मूल्यांकन के लिए उपयोग किया जाता है। डेटासेट के सेंसर डेटा, ऑब्जेक्ट एनोटेशन और मैप जानकारी के विविध सेट इसे स्वायत्त ड्राइविंग के क्षेत्र में शोधकर्ताओं और चिकित्सकों के लिए एक मूल्यवान संसाधन बनाते हैं।

डेटासेट YAML

डेटासेट कॉन्फ़िगरेशन को परिभाषित करने के लिए एक YAML (अभी तक एक और मार्कअप भाषा) फ़ाइल का उपयोग किया जाता है। इसमें डेटासेट के पथ, कक्षाओं और अन्य प्रासंगिक जानकारी के बारे में जानकारी होती है। Argoverse डेटासेट के मामले के लिए, Argoverse.yaml फ़ाइल पर बनाए रखा जाता है https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml.

ultralytics/cfg/datasets/Argoverse.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# Argoverse-HD dataset (ring-front-center camera) https://www.cs.cmu.edu/~mengtial/proj/streaming/ by Argo AI
# 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: ../datasets/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 tqdm import tqdm
  from ultralytics.utils.downloads import download
  from pathlib import Path

  def argoverse2yolo(set):
      labels = {}
      a = json.load(open(set, "rb"))
      for annot in tqdm(a['annotations'], desc=f"Converting {set} to YOLOv5 format..."):
          img_id = annot['image_id']
          img_name = a['images'][img_id]['name']
          img_label_name = f'{img_name[:-3]}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 = set.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") as f:
              f.writelines(labels[k])


  # Download 'https://argoverse-hd.s3.us-east-2.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

उपयोग

एक प्रशिक्षित करने के लिए YOLOv8n 640 के छवि आकार के साथ 100 युगों के लिए Argoverse डेटासेट पर मॉडल, आप निम्न कोड स्निपेट का उपयोग कर सकते हैं। उपलब्ध तर्कों की व्यापक सूची के लिए, मॉडल प्रशिक्षण पृष्ठ देखें।

ट्रेन का उदाहरण

from ultralytics import YOLO

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

# Train the model
results = model.train(data="Argoverse.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=Argoverse.yaml model=yolov8n.pt epochs=100 imgsz=640

नमूना डेटा और एनोटेशन

Argoverse डेटासेट में सेंसर डेटा का एक विविध सेट होता है, जिसमें कैमरा इमेज, LiDAR पॉइंट क्लाउड और HD मैप जानकारी शामिल है, जो स्वायत्त ड्राइविंग कार्यों के लिए समृद्ध संदर्भ प्रदान करती है। यहां डेटासेट से डेटा के कुछ उदाहरण दिए गए हैं, साथ ही उनके संबंधित एनोटेशन के साथ:

डेटासेट नमूना छवि

  • Argoverse 3D ट्रैकिंग: यह छवि 3D ऑब्जेक्ट ट्रैकिंग का एक उदाहरण प्रदर्शित करती है, जहाँ ऑब्जेक्ट्स को 3D बाउंडिंग बॉक्स के साथ एनोटेट किया जाता है। डेटासेट इस कार्य के लिए मॉडल के विकास की सुविधा के लिए LiDAR बिंदु बादल और कैमरा चित्र प्रदान करता है।

उदाहरण Argoverse डेटासेट में डेटा की विविधता और जटिलता को प्रदर्शित करता है और स्वायत्त ड्राइविंग कार्यों के लिए उच्च गुणवत्ता वाले सेंसर डेटा के महत्व पर प्रकाश डालता है।

प्रशंसा पत्र और पावती

यदि आप अपने शोध या विकास कार्य में Argoverse डेटासेट का उपयोग करते हैं, तो कृपया निम्नलिखित पेपर का हवाला दें:

@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 डेटासेट बनाने और बनाए रखने के लिए Argo AI को स्वीकार करना चाहते हैं। Argoverse डेटासेट और इसके रचनाकारों के बारे में अधिक जानकारी के लिए, Argoverse डेटासेट वेबसाइट पर जाएँ।



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (6), Laughing-q (1)

टिप्पणियाँ