【nuscenes数据集有关】

nuscenes数据集有关

    • [1、calibrated_sensor.json 在特定车辆上校准的特定传感器(激光雷达/雷达/摄像头)的定义。 所有外在参数都相对于自我车身框架给出。相机参数在这## 2、sample_data.json](## 2、sample_data.json)
  • 一、由图像名找相机参数
  • [二 根据图片中找到tocken,放入vis_devkit.py显示全景图片](#二 根据图片中找到tocken,放入vis_devkit.py显示全景图片)
  • [三 在特定传感器展示数据](#三 在特定传感器展示数据)
  • vis_devkit代码如下:

1、calibrated_sensor.json 在特定车辆上校准的特定传感器(激光雷达/雷达/摄像头)的定义。 所有外在参数都相对于自我车身框架给出。相机参数在这## 2、sample_data.json

一、由图像名找相机参数

先根据图片从sample_data.json找到,
从sample_data.json找到"calibrated_sensor_token": "4ff47c4950f04cb4be1876bc0b028326"是calibrated_sensor.json中"token"

二 根据图片中找到tocken,放入vis_devkit.py显示全景图片

先根据图片从sample_data.json找到,
这里的sample_token是传入vis_devkit.py的my_sence[token]

注:sample是样品,里面有6张图片和一个激光雷达等。

三 在特定传感器展示数据

由图片先找到"sample_token"

由于相机和雷达传感器时间不一致,他们的"sample_token"一样,"token"不一样。所以根据"sample_token"找到相机对应雷达。

根据"sample_token"在sample_data.json中找到有雷达LIDAR_TOP的'token',
根据token在lidarseg.json找到

vis_devkit代码如下:

javascript 复制代码
#https://github.com/nutonomy/nuscenes-devkit/blob/master/python-sdk/tutorials/nuscenes_lidarseg_panoptic_tutorial.ipynb
from nuscenes.nuscenes import NuScenes
version = "mini"
dataroot = "/home/deng/dataset_hao/nuscenes-mini"

"""一、在特定传感器展示数据"""
nusc = NuScenes(version='v1.0-{}'.format(version), dataroot=dataroot, verbose=False)  #实例化类NuScenes
nusc.list_scenes()#mini数据集中只包含10个场景,每个场景大约持续20s【有的19s】,即每个场景有20秒采集到的信息
my_sample = nusc.sample[10]

# # 现在让我们看一下这个特定样本的点云中存在哪些类。"""
nusc.get_sample_lidarseg_stats(my_sample['token'], sort_by='count')

# """您可以将示例数据传递到render_sample_data中,以渲染点云的鸟瞰图。然而,这些点将根据与自我车辆的距离进行着色。现在有了扩展的nuScenesdevkit,
# 您所需要做的就是将show_lidarseg=True设置为可视化点云的类标签。"""
# sensor = 'CAM_FRONT'
sensor = 'LIDAR_TOP'
#lidar_token=my_sample['data'][sensor]
lidar_token='6be2618c971046478919fe91a9880bd8'
lidar_front_data = nusc.get('sample_data',lidar_token)
nusc.render_sample_data(lidar_front_data['token'],
                        show_lidarseg = True,
                        show_lidarseg_legend = True,
                        #filter_lidarseg_labels = [22],
                        show_panoptic=True)

"""二、在图像中呈现lidarseg/panoptic标签"""
"""如果你想将点云叠加到相机的相应图像中,你可以像使用原始的nuScenes devkit一样使用render_pointcloud_in_image,但是设置show_lidarseg=True(记住设置render_intensity=False)。
与render_sample_data类似,您可以使用filter_lidarseg_labels进行筛选,以便只查看某些类。您可以使用show_lidarseg_legend在渲染中显示图例。"""
# nuscenes-lidarseg
# nusc.render_pointcloud_in_image(my_sample['token'],
#                                 pointsensor_channel='LIDAR_TOP',
#                                 camera_channel='CAM_FRONT',
#                                 render_intensity=False,
#                                 show_lidarseg=True,
#                                 # filter_lidarseg_labels=[22, 23, 24],
#                                 show_lidarseg_legend=True)

"""同样,此函数支持show_panoptic=True模式,将显示全图标签而不是语义标签。只显示物品类别的图例。"""
# Panoptic nuScenes
# nusc.render_pointcloud_in_image(my_sample['token'],
#                                 pointsensor_channel='LIDAR_TOP',
#                                 camera_channel='CAM_FRONT',
#                                 render_intensity=False,
#                                 show_lidarseg=False,
#                                 #filter_lidarseg_labels=[17,22, 23, 24],
#                                 show_lidarseg_legend=True,
#                                 show_panoptic=True)

"""三、渲染样本(即激光雷达、雷达和所有摄像头)
当然,就像在最初的nuScenes devkit中一样,您可以使用render_sample一次渲染所有传感器。在这个扩展的nuScenes开发工具包中,
您可以设置show_lidarseg=True来查看lidarseg标签。与上述方法类似,您可以使用filter_lidarseg_labels来只显示您希望看到的类。"""
"""要使用render_sample显示全景标签,设置show_panoptic=True"""
# Panoptic nuScenes
# nusc = NuScenes(version='v1.0-{}'.format(version), dataroot=dataroot, verbose=False)  #实例化类NuScenes
# nusc.list_scenes()#mini数据集中只包含10个场景,每个场景大约持续20s【有的19s】,即每个场景有20秒采集到的信息
# my_sample = nusc.sample[10]
# a=my_sample['token']
#
# """现在让我们看一下这个特定样本的点云中存在哪些类。"""
# nusc.get_sample_lidarseg_stats(my_sample['token'], sort_by='count')
# # nusc.render_sample(my_sample['token'],
# nusc.render_sample('8bf071b1b92c4ff1bd5016bfb30de3f7',
#                    #show_lidarseg=True,
#                    show_lidarseg= False,
#                    filter_lidarseg_labels=[17, 23, 24],
#                    show_panoptic=False)
相关推荐
历程里程碑8 分钟前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴10 分钟前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
天若有情67310 分钟前
【自研实战】轻量级ASCII字符串加密算法:从设计到落地(防查岗神器版)
网络·c++·算法·安全·数据安全·加密
承渊政道14 分钟前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
技术路上的探险家14 分钟前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
czy87874751 小时前
深入了解 C++ 中的 `std::bind` 函数
开发语言·c++
我在人间贩卖青春1 小时前
C++之继承的方式
c++·private·public·protected·继承方式
无证驾驶梁嗖嗖1 小时前
用Plex打造随身私人影院告别影音杂乱,必须加上cpolar突破地域限制!
ubuntu
Sheep Shaun2 小时前
揭开Linux的隐藏约定:你的第一个文件描述符为什么是3?
linux·服务器·ubuntu·文件系统·缓冲区
野犬寒鸦2 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习