【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)
相关推荐
一眼万里*e3 小时前
用ai写了个UE5插件
c++·ue5
R-G-B3 小时前
【75】OpenCV C++实战篇——OpenCV 图像拼接、全景拼接(教程合集)
c++·人工智能·opencv·图像拼接·opencv 图像拼接·opencv 图像全景拼接·图像全景拼接
玩镜的码农小师兄3 小时前
[从零开始面试算法] (11/100) LeetCode 226. 反转二叉树:递归的“镜像”魔法
c++·算法·leetcode·面试·递归·hot100
OEC小胖胖4 小时前
React学习之路永无止境:下一步,去向何方?
前端·javascript·学习·react.js·前端框架·react·web
我命由我123454 小时前
Photoshop - Photoshop 触摸功能
运维·笔记·学习·ui·课程设计·设计·美工
蓑衣客VS索尼克6 小时前
第三章:生活重构:当程序员不再只是“码农“
学习·程序人生·重构·生活
耳总是一颗苹果9 小时前
数据结构---选择排序
c语言·数据结构·学习·算法·排序算法
ホロHoro10 小时前
学习笔记:MYSQL(3)(常用函数和约束)
笔记·学习·mysql
MediaTea10 小时前
Python:正则表达式
开发语言·c++·python·正则表达式