【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_sencetoken

注: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)
相关推荐
一只小菜鸡..7 分钟前
南京大学 操作系统 (JYY) 学习笔记:从 UNIX 到 Linux 与庞大的应用生态
笔记·学习·unix
MartinYeung51 小时前
[论文学习]迈向自主医疗人工智能智能体:MIRA系统深度分析
人工智能·学习
晚风吹长发2 小时前
Docker基础——Docker Network(网络详解)
linux·运维·网络·ubuntu·docker·容器
熊猫钓鱼>_>3 小时前
ArkTS 装饰器总览:V1 / V2 / 通用装饰器完整学习笔记
笔记·学习·华为·交互·harmonyos·arkts·arkweb
拳里剑气3 小时前
C++算法:多源BFS
c++·算法·宽度优先·多源bfs
ysa0510304 小时前
【板子】短序列dp(换成维护更小常数维度的dp)
c++·笔记·算法·板子
Sisphusssss5 小时前
香橙派5plus GPIO
linux·python·ubuntu
茯苓gao6 小时前
嵌入式开发笔记:CAN与CAN FD完全指南——从帧格式差异到MCU选型实战
网络·笔记·stm32·嵌入式硬件·学习·汽车
aramae6 小时前
C++ IO流完全指南:从C标准库到C++流式编程
服务器·c语言·开发语言·c++·后端
木木_王6 小时前
嵌入式学习 | STM32 裸板驱动开发(Day06) | DHT11温湿度传感器超详解(单总线时序+全套驱动代码+智能温湿度报警项目)
驱动开发·stm32·学习