【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)
相关推荐
艾莉丝努力练剑5 小时前
【编码表 && STL】C++编程基石:从字符编码表到STL标准库的完整入门指南
java·linux·c++
能不能别报错5 小时前
K8s学习笔记(四) etcd组件
笔记·学习·kubernetes
world-wide-wait5 小时前
mac安装ubuntu docker
ubuntu·docker
工头阿乐5 小时前
Ubuntu 安装与使用C++ onnxruntime库
linux·c++·ubuntu
无挂写代码5 小时前
C++入门
开发语言·c++
努力努力再努力wz5 小时前
【C++进阶系列】:位图和布隆过滤器(附模拟实现的源码)
java·linux·运维·开发语言·数据结构·c++
争不过朝夕,又念着往昔6 小时前
利用计时器了解Boost Asio
c++
励志成为美貌才华为一体的女子6 小时前
每日AI学习笔记----Qwen3-Omni 、HuatuoGPT-o1医学复杂推理
笔记·学习
程序边界6 小时前
深度学习学习路线图:从MNIST到MobileNetV4,从理论到实践的完整指南
人工智能·深度学习·学习
爱凤的小光6 小时前
图漾相机-ROS2-SDK-Ubuntu 4.X.X版本编译
linux·数码相机·ubuntu