首页
智算服务
AI 生态大厅
算力商情政策资讯合作与生态场景方案关于我们

保姆级教程:用Python和nuscenes-devkit从零玩转nuScenes数据集(附完整代码)

发布日期:2026-04-05 来源:CSDN软件开发网作者:CSDN软件开发网

环境准备与数据集获取

  在开始之前,我们需要准备好Python环境和数据集。推荐使用Anaconda创建独立的虚拟环境,避免依赖冲突:

conda create -n nuscenes python=3.8
conda activate nuscenes
pip install nuscenes-devkit matplotlib opencv-python

  nuScenes提供了完整版和mini版数据集。对于初学者,建议先从v1.0-mini开始:

import os
from nuscenes.nuscenes import NuScenes

# 设置数据集路径
DATAROOT = 'data/sets/nuscenes'
os.makedirs(DATAROOT, exist_ok=True)

# 初始化数据集 (假设已下载并解压v1.0-mini)
nusc = NuScenes(version='v1.0-mini', dataroot=DATAROOT, verbose=True)

  成功初始化后,你会看到类似这样的输出:

Loading NuScenes tables for version v1.0-mini... 23 category, 8 attribute, 4 visibility, 911 instance, 12 sensor, 103 calibrated_sensor, ...

理解nuScenes核心概念

数据结构层级关系

  nuScenes采用层级化的数据结构设计:

  • Scene(场景):一段连续的20秒驾驶记录,包含完整的传感器数据
  • Sample(样本):场景中的关键帧,每0.5秒采集一次(2Hz)
  • SampleData:单个传感器在特定时刻的原始数据
  • SampleAnnotation:标注的3D边界框及其属性

  这些元素通过唯一的token字符串相互关联。例如,获取第一个场景及其第一个样本:

first_scene = nusc.scene[0]
first_sample_token = first_scene['first_sample_token']
first_sample = nusc.get('sample', first_sample_token)

传感器配置

  nuScenes包含丰富的传感器数据:

  查看某个样本的所有传感器数据:

for sensor, sensor_token in first_sample['data'].items():
    sensor_data = nusc.get('sample_data', sensor_token)
    print(f"{sensor}: {sensor_data['filename']}")
本文转载自CSDN软件开发网, 作者:CSDN软件开发网, 原文标题:《 保姆级教程:用Python和nuscenes-devkit从零玩转nuScenes数据集(附完整代码) 》, 原文链接: https://blog.csdn.net/weixin_27014595/article/details/159851118。 本平台仅做分享和推荐,不涉及任何商业用途。文章版权归原作者所有。如涉及作品内容、版权和其它问题,请与我们联系,我们将在第一时间删除内容!
本文相关推荐
暂无相关推荐