Conjunto de Dados Argoverse
O conjunto de dados Argoverse é uma coleção de dados projetada para apoiar a pesquisa em tarefas de direção autônoma, como rastreamento 3D, previsão de movimento e estimativa de profundidade estéreo. Desenvolvido pela Argo AI, o conjunto de dados fornece uma ampla gama de dados de sensores de alta qualidade, incluindo imagens de alta resolução, nuvens de pontos LiDAR e dados de mapas.
Nota
O conjunto de dados Argoverse *.zip
o arquivo necessário para o treino foi removido do Amazon S3 após o encerramento da Argo AI pela Ford, mas o disponibilizamos para download manual no Google Drive.
Principais Características
- O Argoverse contém mais de 290 mil rastros de objetos 3D rotulados e 5 milhões de instâncias de objetos em 1.263 cenas distintas.
- O conjunto de dados inclui imagens de câmera de alta resolução, nuvens de pontos LiDAR e mapas HD ricamente anotados.
- As anotações incluem caixas delimitadoras 3D para objetos, rastros de objetos e informações de trajetória.
- O Argoverse fornece vários subconjuntos para diferentes tarefas, como rastreamento 3D, previsão de movimento e estimativa de profundidade estéreo.
Estrutura do Conjunto de Dados
O conjunto de dados Argoverse é organizado em três subconjuntos principais:
- Rastreamento 3D Argoverse: Este subconjunto contém 113 cenas com mais de 290 mil rastros de objetos 3D rotulados, com foco em tarefas de rastreamento de objetos 3D. Ele inclui nuvens de pontos LiDAR, imagens de câmeras e informações de calibração de sensores.
- Previsão de Movimento Argoverse: Este subconjunto consiste em 324 mil trajetórias de veículos coletadas de 60 horas de dados de direção, adequadas para tarefas de previsão de movimento.
- Estimativa de Profundidade Estéreo Argoverse: Este subconjunto foi projetado para tarefas de estimativa de profundidade estéreo e inclui mais de 10 mil pares de imagens estéreo com nuvens de pontos LiDAR correspondentes para estimativa de profundidade da verdade fundamental.
Aplicações
O conjunto de dados Argoverse é amplamente utilizado para treinar e avaliar modelos de aprendizado profundo em tarefas de direção autônoma, como rastreamento de objetos 3D, previsão de movimento e estimativa de profundidade estéreo. O conjunto diversificado de dados de sensores, anotações de objetos e informações de mapa do conjunto de dados o tornam um recurso valioso para pesquisadores e profissionais no campo da direção autônoma.
YAML do Conjunto de Dados
Um arquivo YAML (Yet Another Markup Language) é usado para definir a configuração do conjunto de dados. Ele contém informações sobre os caminhos, classes e outras informações relevantes do conjunto de dados. Para o caso do conjunto de dados Argoverse, o Argoverse.yaml
arquivo é mantido em https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/Argoverse.yaml.
ultralytics/cfg/datasets/Argoverse.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/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: 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 tqdm import tqdm
from ultralytics.utils.downloads import download
def argoverse2yolo(set):
"""Convert Argoverse dataset annotations to YOLO format for object detection tasks."""
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", encoding="utf-8") 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
Utilização
Para treinar um modelo YOLO11n no conjunto de dados Argoverse por 100 épocas com um tamanho de imagem de 640, você pode usar os seguintes trechos de código. Para uma lista abrangente de argumentos disponíveis, consulte a página de Treinamento do modelo.
Exemplo de Treinamento
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.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=yolo11n.pt epochs=100 imgsz=640
Dados de Amostra e Anotações
O conjunto de dados Argoverse contém um conjunto diversificado de dados de sensores, incluindo imagens de câmeras, nuvens de pontos LiDAR e informações de mapas HD, fornecendo um contexto rico para tarefas de direção autônoma. Aqui estão alguns exemplos de dados do conjunto de dados, juntamente com suas anotações correspondentes:
- Rastreamento 3D Argoverse: Esta imagem demonstra um exemplo de rastreamento de objetos 3D, onde os objetos são anotados com caixas delimitadoras 3D. O conjunto de dados fornece nuvens de pontos LiDAR e imagens de câmeras para facilitar o desenvolvimento de modelos para esta tarefa.
O exemplo demonstra a variedade e complexidade dos dados no conjunto de dados Argoverse e destaca a importância de dados de sensores de alta qualidade para tarefas de direção autônoma.
Citações e Agradecimentos
Se você usar o conjunto de dados Argoverse em seu trabalho de pesquisa ou desenvolvimento, cite o seguinte artigo:
@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}
}
Gostaríamos de agradecer à Argo AI por criar e manter o conjunto de dados Argoverse como um recurso valioso para a comunidade de pesquisa em direção autônoma. Para obter mais informações sobre o conjunto de dados Argoverse e seus criadores, visite o site do conjunto de dados Argoverse.
FAQ
O que é o conjunto de dados Argoverse e seus principais recursos?
O conjunto de dados Argoverse, desenvolvido pela Argo AI, oferece suporte à pesquisa em direção autônoma. Ele inclui mais de 290 mil rastreamentos de objetos 3D rotulados e 5 milhões de instâncias de objetos em 1.263 cenas distintas. O conjunto de dados fornece imagens de câmera de alta resolução, nuvens de pontos LiDAR e mapas HD anotados, tornando-o valioso para tarefas como rastreamento 3D, previsão de movimento e estimativa de profundidade estéreo.
Como posso treinar um modelo Ultralytics YOLO usando o conjunto de dados Argoverse?
Para treinar um modelo YOLO11 com o conjunto de dados Argoverse, use o arquivo de configuração YAML fornecido e o seguinte código:
Exemplo de Treinamento
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.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=yolo11n.pt epochs=100 imgsz=640
Para uma explicação detalhada dos argumentos, consulte a página de Training do modelo.
Quais tipos de dados e anotações estão disponíveis no conjunto de dados Argoverse?
O conjunto de dados Argoverse inclui vários tipos de dados de sensores, como imagens de câmera de alta resolução, nuvens de pontos LiDAR e dados de mapas HD. As anotações incluem caixas delimitadoras 3D, rastreamentos de objetos e informações de trajetória. Essas anotações abrangentes são essenciais para um treinamento preciso do modelo em tarefas como rastreamento de objetos 3D, previsão de movimento e estimativa de profundidade estéreo.
Como o conjunto de dados Argoverse é estruturado?
O conjunto de dados é dividido em três subconjuntos principais:
- Argoverse 3D Tracking: Contém 113 cenas com mais de 290 mil rastreamentos de objetos 3D rotulados, com foco em tarefas de rastreamento de objetos 3D. Inclui nuvens de pontos LiDAR, imagens de câmera e informações de calibração do sensor.
- Argoverse Motion Forecasting: Consiste em 324 mil trajetórias de veículos coletadas de 60 horas de dados de direção, adequadas para tarefas de previsão de movimento.
- Estimativa de Profundidade Estéreo Argoverse: Inclui mais de 10 mil pares de imagens estéreo com nuvens de pontos LiDAR correspondentes para estimativa de profundidade da verdade fundamental.
Onde posso baixar o conjunto de dados Argoverse agora que ele foi removido do Amazon S3?
O conjunto de dados Argoverse *.zip
file, anteriormente disponível no Amazon S3, agora pode ser baixado manualmente em Google Drive.
Para que serve o arquivo de configuração YAML com o conjunto de dados Argoverse?
Um arquivo YAML contém os caminhos, classes e outras informações essenciais do conjunto de dados. Para o conjunto de dados Argoverse, o arquivo de configuração, Argoverse.yaml
, pode ser encontrado no seguinte link: Argoverse.yaml.
Para obter mais informações sobre as configurações YAML, consulte nosso guia de conjuntos de dados.