首页 > 其他分享 >Nuscenes数据集浅析

Nuscenes数据集浅析

时间:2023-12-27 10:55:38浏览次数:23  
标签:sample 包含 data scene Nuscenes token 数据 浅析 标注

Nuscenes主要在波士顿和新加坡进行,用于采集的车辆装备了1个旋转雷达(spinning LIDAR),5个远程雷达传感器(long range RADAR sensor)和6个相机(camera)

一、数据集结构:(借用https://zhuanlan.zhihu.com/p/463537059生图)

从左到右四列分别是Vehicle(采集数据所用的交通工具)、Extraction(所采集的对象)、Annotation(标注)和Taxonomy(分类)。

从上到下各行表示各种级别的对象,以Extraction为例,一个scene表示从日志中提取的20秒长的连续帧序列(A scene is a 20s long sequence of consecutive frames extracted from a log.)而一个sample表示一个2Hz的带注释的关键帧(A sample is an annotated keyframe at 2 Hz.)也就是从一个scene中提取出的一帧。而sample_data则更进一步的表示在某时刻(timestamp)的传感器数据,例如图片,点云或者Radar等等。每一个sample_data都与某个sample相联系,如果其is_key_frame值为True,那么它对应的时间戳应当与它所对应的关键帧非常接近,它的数据也会与该关键帧时刻的数据较为接近(我的个人理解)。

由此可以发现,一个上一级的对象可以包含多个下一级的对象,或者说表示更加广义层面的信息。例如一个scene中可以有多个sample(scene的一个属性为nbr_samples=number of samples)。又比如sample和sample_data的关系,sample只是表示某个采样的时刻,而sample_data则表示该时刻具体传感器采样得到了什么数据,在一个sample对应的关键帧附近,多次采集了各时间戳的sample_data。关于这一点可以看我所画的下面这张图。

sample与sample_data, 以及lidarseg

接下来对图表中的每个部分作相应的解(fan)释(yi)。不同于官网文档的排序,这里我会按照每一行从左到右的顺序。

第一级

log:采集数据的相关日志,包含车辆信息、所采集的数据(类型?)、采集地点等信息。

scene:采集场景

instance:对象注释实例,包含对象类别、注释数量、初次和末次注释的token

category:对象分类集合,包含human、vehicle等共有23类。子类以human.pedestrain.adult的形式表示。

第二级

map:地图数据,自上而下获得。包含map_category、filename:存储map_mask掩码数据的bin file地址。

sample:一个2Hz的带注释的关键帧,也就是从一个scene中提取出的一帧。包含时间戳、对应的scene_token、下一个sample和上一个sample的token。

lidarseg:标注信息和点云之间的映射关系。filename为对应的bin file的名称,该bin文件以numpy arrays的形式存储了nuScenes-lidarseg labels 标签。sample_data_token为某个sample data的token key,该sample data为对应的bin标签文件所标注的、且is_key_frame值为True的sample_data数据。

第三级

calibrated_sensor:一个特定传感器在一个特定车辆上的矫正参数。包含translation、rotation、camera_intrinsic(内在相机校准)。

sample_data:某时刻(timestamp)的传感器数据,例如图片,点云或者Radar等等。包含ego_pose_token(指向某一ego pose)、calibrated_sensor_token(指向特定的calibrated sensor block)、数据存储路径、时间戳、is_key_frame值等。

sample_annotation:样本标注。包含所对应的sample token、instance token、attribute token、visibility token、bounding box 中心点坐标以及长宽高、lidar points数量、下一个和上一个标注。

attribute:一些关于样本的可能会改变的性质,描述了物体本身的一些状态,比如行驶、停下等,包含三个key,Example: a vehicle being parked/stopped/moving, and whether or not a bicycle has a rider.

第四级

sensor:传感器。包含频道(channel)、modality({camera,lidar,radar})

ego_pose:采集所用的车辆在特定时间戳的pose。基于激光雷达地图的定位算法给出(见nuScenes论文)。包含坐标系原点和四元坐标(需要读论文了解具体含义)、时间戳。

visibility:可见性评估,0-40%,40%-60%,60%-80%以及80%-100%。

二、实例分析

Scenes:

下载得到一个mini版的nuScenes数据集,可以看到里面有若干个scene

读取其中第一个,就获得了一个scene对象。属于第一级对象。可以看到这一场景共包含39个sample,对应的log token也已经给出。而最后一项token是这个scene专属的编号。

以第一个sample为例。使用nusc.get(类别,token)获取sample

可以看到一个sample包含了。。。data中包含了这一sample由各种传感器收集到的数据,

通过对特定的token使用nusc.get()命令,我们就可以得到对应的数据。例如对data中的CAM_FRONT使用,如下图。

我们也可以在这里 对上面获得的数据使用nusc.render_sample_data(数据的token),来看其可视化结果(含标注)。

右图为根据cam_from_data中的filename路径找到的文件,可以发现render会自动添加检测框

一个sample中可能标注多个对象,此时可以通过nusc.render_annotation(annotation's token)来可视化特定标注。

 

 

instance

上面我们探索了一下scene。而从另一方面来说,另外一个第一级对象instance代表了一个个特定的需要被检测的目标,我们可以简单的使用nusc.instance[index]来获取某个instance。

对这样的某个目标,可能有多个标注来标记他,对应一段时间内不同的时间戳。例如下面的案例中,从卡车进入范围到远离,一共标注了16次。我们可以通过简单的调用nusc.render_instance来可视化这个目标,个人理解是会选择中间的某一帧标注进行可视化。如下图。

直接调用render _instance()

也可以调用特定帧的标注,例如最开始和最后的,来看不同时刻的标注情况。

调用render_annotation()获得第一帧的标注

最后一帧的标注

标签:sample,包含,data,scene,Nuscenes,token,数据,浅析,标注
From: https://www.cnblogs.com/jimchen1218/p/17930086.html

相关文章

  • 数据/大数据项目实施
    (一)近期分享内容    11月底到现在,陆续和大家分享了一些内容,主要包括数据分析/大数据项目分析、数据建模及可视化、数据治理相关的平台、知识、示例。知识有继承的成分,但其他的均为原创,是的,平台是自研的,知识是自己总结的,示例也是自己整理的。主要内容见最近文章,供大家参考。......
  • 数据科学在能源与环境领域的应用:可持续发展与资源管理
    1.背景介绍能源和环境是当今世界最重要的问题之一。随着人口增长和经济发展,能源需求和环境污染问题日益严重。数据科学在这些领域发挥了重要作用,为我们提供了有力的工具来解决这些问题。在这篇文章中,我们将探讨数据科学在能源和环境领域的应用,以及如何通过数据驱动的方法来实现可持......
  • 利用地面控制点高程坐标实现三维模型数据的高程修正的方法分析
    利用地面控制点高程坐标实现三维模型数据的高程修正的方法分析 倾斜摄影是一种通过航空或地面设备获取的图像数据,可以用于生成三维模型。然而,倾斜摄影数据中的高程坐标存在一定的偏差,这可能会影响到生成的三维模型的准确性和精度。为了修正这些高程坐标的偏差,可以利用地面控制......
  • (04)Lazarus上连接并显示SQlLite3数据库
    01]去官网https://www.sqlite.org/download.html下载对应的SQlite3.dll32位Lazarus下载sqlite-dll-win-x86-3440200.zip64位Lazarus下载sqlite-dll-win-x64-3440200.zip  下载后,将SQlite3.dll放在工程目录下          ......
  • 写给开发者的软件架构实战:非关系数据系统探索
    1.背景介绍非关系数据系统(NoSQL)是一种不使用关系数据库管理系统(RDBMS)的数据库系统,它们主要面向特定的应用场景,提供了更高的性能和更好的可扩展性。随着大数据时代的到来,非关系数据系统已经成为企业和组织中最重要的数据存储和处理技术之一。在过去的几年里,非关系数据系统已经取代了......
  • 哪些数据分析工具很受欢迎?
    ......
  • 【专题】2023年中国数字金融调查报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34685原文出处:拓端数据部落公众号随着数字化转型的深入推进,新客户的增长速度已达顶峰,用户运营成为推动存量增长的关键手段。调查数据显示,相比去年,网上银行用户比例有所下降,而手机银行用户比例基本持平。阅读原文,获取专题报告合集全文,解锁文末249份......
  • 【专题】2023年中国6G产业研究报告PDF合集分享(附原数据表)
    报告链接:https://tecdat.cn/?p=33186原文出处:拓端数据部落公众号以5G技术的发展方向为基础,结合6G技术的理念,我们可以展望未来的发展方向。随着5G作为移动通信技术个人和企业服务的分界线的确立,未来更先进的移动通信技术必然会将目光聚焦在企业服务市场上,以获得更好的发展。阅读......
  • 【数据结构】P4338 [ZJOI2018] 历史 题解
    P4338先考虑怎么安排崛起的先后顺序最优。但是发现好像没有一个很好的顺序去进行崛起,并且由于\(a_i\)的值域会很大,所以即使知道顺序应该也会难以进行维护。转换一下方向,正难则反。考虑每个点的贡献,但是颜色不同时只会算一次,所以要钦定是哪一个点造成的贡献。令当前考虑的点为......
  • 浅析消防应急照明和疏散指示系统的设计在建筑行业的应用
    安科瑞张田田【摘要】:火灾时*先要保证的是生命安全,尽*大努力保全人命大于一切。人员疏散本就是一个棘手的问题,随着我国经济发展,楼层越来越高,建筑内的人口密度越来越大,一旦发生火灾,人员疏散的难度很大。火灾时疏散通道上的应急照明和疏散指示对人员的逃生有着至关重要的作用。设计......