开源数据集 nuScenes 之 3D Occupancy Prediction
数据总体结构

Nuscenes 数据结构
可以看一下我的blog如何下载完整版
mmdetection3d
├── mmdet3d
├── tools
├── configs
├── data
│ ├── nuscenes
│ │ ├── maps
│ │ ├── samples
│ │ ├── sweeps
│ │ ├── lidarseg (optional)
│ │ ├── v1.0-test
| | ├── v1.0-trainval
参考 mmdet3d
nuscenes_database/xxxxx.bin:训练数据集的每个 3D 包围框中包含的点云数据。nuscenes_infos_train.pkl:训练数据集,该字典包含了两个键值:metainfo 和 data_list。metainfo 包含数据集的基本信息,例如 categories, dataset 和 info_version。data_list 是由字典组成的列表,每个字典(以下简称 info)包含了单个样本的所有详细信息。info[‘sample_idx’]:样本在整个数据集的索引。info[‘token’]:样本数据标记。info[‘timestamp’]:样本数据时间戳。info[‘ego2global’]:自车到全局坐标的变换矩阵。(4x4 列表)info[‘lidar_points’]:是一个字典,包含了所有与激光雷达点相关的信息。info[‘lidar_points’][‘lidar_path’]:激光雷达点云数据的文件名。info[‘lidar_points’][‘num_pts_feats’]:点的特征维度。info[‘lidar_points’][‘lidar2ego’]:该激光雷达传感器到自车的变换矩阵。(4x4 列表)info[‘lidar_sweeps’]:是一个列表,包含了扫描信息(没有标注的中间帧)。info[‘lidar_sweeps’][i][‘lidar_points’][‘data_path’]:第 i 次扫描的激光雷达数据的文件路径。info[‘lidar_sweeps’][i][‘lidar_points’][lidar2ego’’]:当前激光雷达传感器到自车的变换矩阵。(4x4 列表)info[‘lidar_sweeps’][i][‘lidar_points’][‘ego2global’]:自车到全局坐标的变换矩阵。(4x4 列表)info[‘lidar_sweeps’][i][‘lidar2sensor’]:从主激光雷达传感器到当前传感器(用于收集扫描数据)的变换矩阵。(4x4 列表)info[‘lidar_sweeps’][i][‘timestamp’]:扫描数据的时间戳。info[‘lidar_sweeps’][i][‘sample_data_token’]:扫描样本数据标记。info[‘images’]:是一个字典,包含与每个相机对应的六个键值:'CAM_FRONT', 'CAM_FRONT_RIGHT', 'CAM_FRONT_LEFT', 'CAM_BACK', 'CAM_BACK_LEFT', 'CAM_BACK_RIGHT'。每个字典包含了对应相机的所有数据信息。info[‘images’][‘CAM_XXX’][‘img_path’]:图像的文件名。info[‘images’][‘CAM_XXX’][‘cam2img’]:当 3D 点投影到图像平面时需要的内参信息相关的变换矩阵。(3x3 列表)info[‘images’][‘CAM_XXX’][‘sample_data_token’]:图像样本数据标记。info[‘images’][‘CAM_XXX’][‘timestamp’]:图像的时间戳。info[‘images’][‘CAM_XXX’][‘cam2ego’]:该相机传感器到自车的变换矩阵。(4x4 列表)info[‘images’][‘CAM_XXX’][‘lidar2cam’]:激光雷达传感器到该相机的变换矩阵。(4x4 列表)info[‘instances’]:是一个字典组成的列表。每个字典包含单个实例的所有标注信息。对于其中的第 i 个实例,我们有:info[‘instances’][i][‘bbox_3d’]:长度为 7 的列表,以 (x, y, z, l, w, h, yaw) 的顺序表示实例的 3D 边界框。info[‘instances’][i][‘bbox_label_3d’]:整数表示实例的标签,-1 代表忽略。info[‘instances’][i][‘velocity’]:3D 边界框的速度(由于不正确,没有垂直测量),大小为 (2, ) 的列表。info[‘instances’][i][‘num_lidar_pts’]:每个 3D 边界框内包含的激光雷达点数。info[‘instances’][i][‘num_radar_pts’]:每个 3D 边界框内包含的雷达点数。info[‘instances’][i][‘bbox_3d_isvalid’]:每个包围框是否有效。一般情况下,我们只将包含至少一个激光雷达或雷达点的 3D 框作为有效框。info[‘cam_instances’]:是一个字典,包含以下键值:'CAM_FRONT', 'CAM_FRONT_RIGHT', 'CAM_FRONT_LEFT', 'CAM_BACK', 'CAM_BACK_LEFT', 'CAM_BACK_RIGHT'。对于基于视觉的 3D 目标检测任务,我们将整个场景的 3D 标注划分至它们所属于的相应相机中。对于其中的第 i 个实例,我们有:info[‘cam_instances’][‘CAM_XXX’][i][‘bbox_label’]:实例标签。info[‘cam_instances’][‘CAM_XXX’][i][‘bbox_label_3d’]:实例标签。info[‘cam_instances’][‘CAM_XXX’][i][‘bbox’]:2D 边界框标注(3D 框投影的矩形框),顺序为 [x1, y1, x2, y2] 的列表。info[‘cam_instances’][‘CAM_XXX’][i][‘center_2d’]:3D 框投影到图像上的中心点,大小为 (2, ) 的列表。info[‘cam_instances’][‘CAM_XXX’][i][‘depth’]:3D 框投影中心的深度。info[‘cam_instances’][‘CAM_XXX’][i][‘velocity’]:3D 边界框的速度(由于不正确,没有垂直测量),大小为 (2, ) 的列表。info[‘cam_instances’][‘CAM_XXX’][i][‘attr_label’]:实例的属性标签。我们为属性分类维护了一个属性集合和映射。info[‘cam_instances’][‘CAM_XXX’][i][‘bbox_3d’]:长度为 7 的列表,以 (x, y, z, l, h, w, yaw) 的顺序表示实例的 3D 边界框。info[‘pts_semantic_mask_path’]:激光雷达语义分割标注的文件名。
OccNet 在 nuScenes 基础上推出的 OpenOcc 数据集,提供环视相机图像、3D occupancy 和 occupancy flow 标注等。数据集通过将 Lidar 数据体素化,生成精确的3D真值,支持场景理解和3D重建研究。这一数据集不仅适合静态场景分析,也能用于研究动态环境,为机器视觉等领域的进步提供重要资源。
Occnet 数据集
连接
OccNet
├── data/
│ ├── can_bus/
│ ├── nuscenes/
│ │ ├── maps/
│ │ ├── samples/
│ │ ├── sweeps/
│ │ ├── v1.0-test
│ │ ├── v1.0-trainval
│ │ ├── nuscenes_infos_temporal_train.pkl
│ │ ├── nuscenes_infos_temporal_val.pkl
│ ├── occ_gt_release_v1_0/
│ │ ├── train/
│ │ ├── val/
│ │ ├── occ_gt_train.json
│ │ ├── occ_gt_val.json
│ │ ├── nuscenes_infos_temporal_train_occ_gt.pkl
│ │ ├── nuscenes_infos_temporal_val_occ_gt.pkl
Occpancy 里面的结构
└── Occpancy3D-nuScenes-V1.0|├── mini|├── trainval| ├── imgs| | ├── CAM_BACK| | | ├── n015-2018-07-18-11-07-57+0800__CAM_BACK__1531883530437525.jpg| | | └── ...| | ├── CAM_BACK_LEFT| | | ├── n015-2018-07-18-11-07-57+0800__CAM_BACK_LEFT__1531883530447423.jpg| | | └── ...| | └── ...| | | ├── gts | | ├── [scene_name]| | | ├── [frame_token]| | | | └── labels.npz| | | └── ...| | └── ...| || └── annotations.json|└── test├── imgs└── annotations.json
imgs/ 包含由各种相机捕获的图像。
gts/ 包含每个样本的真值数据。[scene_name] 指定一系列帧,而 [frame_token] 指定序列中的单个帧。
annotations.json 包含数据集的元信息。
labels.npz 包含每一帧的 [semantics](语义)、[mask_lidar](雷达遮罩)和 [mask_camera](相机遮罩)。
annotations {"train_split": ["scene-0001", ...], <list> -- training dataset split by scene_name"val_split": list ["scene-0003", ...], <list> -- validation dataset split by scene_name"scene_infos" { <dict> -- meta infos of the scenes [scene_name]: { <str> -- name of the scene. [frame_token]: { <str> -- samples in a scene, ordered by time"timestamp": <str> -- timestamp (or token), unique by sample"camera_sensor": { <dict> -- meta infos of the camera sensor[cam_token]: { <str> -- token of the camera"img_path": <str> -- corresponding image file path, *.jpg"intrinsic": <float> [3, 3] -- intrinsic camera calibration"extrinsic":{ <dict> -- extrinsic parameters of the camera"translation": <float> [3] -- coordinate system origin in meters"rotation": <float> [4] -- coordinate system orientation as quaternion} "ego_pose": { <dict> -- vehicle pose of the camera"translation": <float> [3] -- coordinate system origin in meters"rotation": <float> [4] -- coordinate system orientation as quaternion} },...},"ego_pose": { <dict> -- vehicle pose"translation": <float> [3] -- coordinate system origin in meters"rotation": <float> [4] -- coordinate system orientation as quaternion},"gt_path": <str> -- corresponding 3D voxel gt path, *.npz"next": <str> -- frame_token of the previous keyframe in the scene "prev": <str> -- frame_token of the next keyframe in the scene}] }}
}
| 字段 | 类型 | 描述 |
|---|---|---|
| train_split | list | 以场景名分割的训练数据集 |
| val_split | list | 以场景名分割的验证数据集 |
| scene_infos | dict | 场景的元信息 |
| [scene_name] | str | 场景名称 |
| [frame_token] | str | 场景中的样本,按时间顺序排列 |
| timestamp | str | 时间戳(或标记),每个样本唯一 |
| camera_sensor | dict | 摄像头传感器的元信息 |
| [cam_token] | str | 摄像头的标记 |
| img_path | str | 对应的图像文件路径,*.jpg |
| intrinsic | float[3,3] | 摄像头内参校准 |
| extrinsic | dict | 摄像头外参 |
| translation | float[3] | 坐标系原点(以米为单位) |
| rotation | float[4] | 坐标系方向(以四元数表示) |
| ego_pose | dict | 摄像头所在车辆的姿态 |
| translation | float[3] | 坐标系原点(以米为单位) |
| rotation | float[4] | 坐标系方向(以四元数表示) |
| ego_pose | dict | 车辆姿态 |
| translation | float[3] | 坐标系原点(以米为单位) |
| rotation | float[4] | 坐标系方向(以四元数表示) |
| gt_path | str | 对应的3D体素真值路径,*.npz |
| next | str | 场景中上一个关键帧的frame_token |
| prev | str | 场景中下一个关键帧的frame_token |
榜单
连接

相关文章:
开源数据集 nuScenes 之 3D Occupancy Prediction
数据总体结构 Nuscenes 数据结构 可以看一下我的blog如何下载完整版 mmdetection3d ├── mmdet3d ├── tools ├── configs ├── data │ ├── nuscenes │ │ ├── maps │ │ ├── samples │ │ ├── sweeps │ │ ├── lidarseg (o…...
物联网竞赛板CubMx全部功能简洁配置汇总
目录 前言:1、按键&LED灯配置:2、OLED配置:3、继电器配置:4、LORA模块配置:5、矩阵模块:6、串口模块:7、RTC配置:8、ADC模块配置:9、温度传感器模块:后续…...
使用Redis做缓存的小案例
如果不了解Redis,可以查看本人博客:Redis入门 Redis基于内存,因此查询速度快,常常可以用来作为缓存使用,缓存就是我们在内存中开辟一段区域来存储我们查询比较频繁的数据,这样,我们在下一次查询…...
剧本杀小程序功能介绍
剧本杀功能介绍 剧本杀,一种融合了角色扮演与推理解谜的社交游戏,近年来在年轻人中越来越受欢迎。它不仅可以锻炼参与者的逻辑推理能力,还能增进朋友间的感情,提升团队协作能力。下面,我们将详细介绍剧本杀的核心功能…...
C#基础语法学习笔记(传智播客学习)
最近在学习C#开发知识,跟着传智播客的视频学习了一下,感觉还不错,整理一下学习笔记。 C#基础语法学习笔记 1.背景知识2.Visual Studio使用3.基础知识4.变量5.运算符与表达式6.程序调试7.判断结构8.循环结构9.常量、枚举类型10.结构体类型11.数…...
图论01-DFS和BFS(深搜和广搜邻接矩阵和邻接表/Java)
1.深度优先理论基础(dfs) dfs的两个关键操作 搜索方向,是认准一个方向搜,直到碰壁之后再换方向 换方向是撤销原路径,改为节点链接的下一个路径,回溯的过程。dfs解题模板 void dfs(参数) {if (终止条件) {存放结果;return;}for …...
【Python】Miniconda+Vscode+Jupyter 环境搭建
1.安装 Miniconda Conda 是一个开源的包管理和环境管理系统,可在 Windows、macOS 和 Linux 上运行,它可以快速安装、运行和更新软件包及其依赖项。使用 Conda,我们可以轻松在本地计算机上创建、保存、加载和切换不同的环境 Conda 分为 Anaco…...
Redis消息队列与thinkphp/queue操作
业务场景 场景一 用户完成注册后需要发送欢迎注册的问候邮件、同时后台要发送实时消息给用户对应的业务员有新的客户注册、最后将用户的注册数据通过接口推送到一个营销用的第三方平台。 遇到两个问题: 由于代码是串行方式,流程大致为:开…...
【Ubuntu】常用命令
一般操作 pwd(present working directory) 显示当前的工作目录/路径。 cd (change directory) 改变目录,用于输入需要前往的路径/目录。 有一些特殊命令也很常用 : 解释 前往同一级的另一个目录 cd ../directory name cd .. 表示进入上…...
稀碎从零算法笔记Day22-LeetCode:
题型:链表 链接:2. 两数相加 - 力扣(LeetCode) 来源:Leet 题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 …...
Nacos下载和安装
(1)下载地址和版本 下载地址:Releases alibaba/nacos GitHub 解压在没有中文及空格的文件夹 (2)启动nacos服务 在bin目录下,打开命令行,输入 启动命令:sh startup.sh -m standalone - Linux/Unix/Mac …...
pandas简介(python)
pandas是什么 Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来,享有数据分析“三剑客之一”的盛名(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备高级工具,它的…...
个人网站制作 Part 13 添加搜索功能[Elasticsearch] | Web开发项目
文章目录 👩💻 基础Web开发练手项目系列:个人网站制作🚀 添加搜索功能🔨使用Elasticsearch🔧步骤 1: 安装Elasticsearch🔧步骤 2: 配置Elasticsearch🔧步骤 3: 创建索引 …...
Springboot+vue的仓库管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。
演示视频: Springbootvue的仓库管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层…...
vue3 + vite 实现一个动态路由加载功能
假设后端返回的格式是这样子 {"menu": [{"path": "/admin","name": "adminLayout","redirect": "/admin/index","componentPath": "/layout/admin/index.vue","children&quo…...
【征稿进行时|见刊、检索快速稳定】2024年区块链、物联网与复合材料与国际学术会议 (ICBITC 2024)
【征稿进行时|见刊、检索快速稳定】2024年区块链、物联网与复合材料与国际学术会议 (ICBITC 2024) 大会主题: (主题包括但不限于, 更多主题请咨询会务组苏老师) 区块链: 区块链技术和系统 分布式一致性算法和协议 块链性能 信息储存系统 区块链可扩展性 区块…...
若依jar包运行脚本,从零到一:用Bash脚本实现JAR应用的启动、停止与监控
脚本使用说明: 启动应用:sh app.sh start停止应用:sh app.sh stop检查应用状态:sh app.sh status重启应用:sh app.sh restart 注意事项: 请确保你的系统上安装了 Java 环境,并且 ruoyi-admin…...
Unix运维_FreeBSD-13.1临时环境变量设置(bin和include以及lib)
Unix运维_FreeBSD-13.1临时环境变量设置(bin和include以及lib) 在 FreeBSD 系统上设置用户环境变量可以通过编辑用户的 Shell配置文件 来实现。 cshrc 与 csh_profile 的区别: cshrc: 每个脚本执行前都执行一遍这个脚本。 csh_profile: 根据不同使用者用户名, 会先去其 home…...
Apache Dolphinscheduler - 无需重启 Master-Server 停止疯狂刷日志解决方案
记录的是一个 3.0 比较难搞的问题,相信不少使用过 3.0 的用户都遇到过 Master 服务中存在一些工作流或者任务流一直不停的死循环的问题,导致疯狂刷日志。不过本人到现在也没找到最关键的触发原因,只是看到一些连锁反应带来的结果…… 影响因素…...
竞争优势:大型语言模型 (LLM) 如何重新定义业务策略
人工智能在内容创作中的突破 在当今快节奏的商业环境中,像 GPT-4 这样的大型语言模型 (LLM) 不再只是一种技术新颖性; 它们已成为重新定义跨行业业务战略的基石。 从增强客户服务到推动创新,法学硕士提供了企业不容忽视的竞争优势。 1. 加强…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
在Spring Boot中集成RabbitMQ的完整指南
前言 在现代微服务架构中,消息队列(Message Queue)是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个流行的消息中间件,支持多种消息协议,具有高可靠性和可扩展性。 本博客将详细介绍如何在 Spring Boot 项目…...
