nuScenes毫米波雷达点云投影至图像

2023-05-16

在这里插入图片描述
效果图

  • nuscenes-devkit提供的点云可视化
first_sample_token = my_scene['first_sample_token']
my_sample = nusc.get('sample', first_sample_token)
my_sample['data']

输出

{'CAM_BACK': '03bea5763f0f4722933508d5999c5fd8',
 'CAM_BACK_LEFT': '43893a033f9c46d4a51b5e08a67a1eb7',
 'CAM_BACK_RIGHT': '79dbb4460a6b40f49f9c150cb118247e',
 'CAM_FRONT': 'e3d495d4ac534d54b321f50006683844',
 'CAM_FRONT_LEFT': 'fe5422747a7d4268a4b07fc396707b23',
 'CAM_FRONT_RIGHT': 'aac7867ebf4f446395d29fbd60b63b3b',
 'LIDAR_TOP': '9d9bf11fb0e144c8b446d54a8a00184f',
 'RADAR_BACK_LEFT': '312aa38d0e3e4f01b3124c523e6f9776',
 'RADAR_BACK_RIGHT': '07b30d5eb6104e79be58eadf94382bc1',
 'RADAR_FRONT': '37091c75b9704e0daa829ba56dfa0906',
 'RADAR_FRONT_LEFT': '11946c1461d14016a322916157da3c7d',
 'RADAR_FRONT_RIGHT': '491209956ee3435a9ec173dad3aaf58b'}
cam_front_data = nusc.get('sample_data', my_sample['data']['CAMERA_FRONT'])
radar_front_data = nusc.get('sample_data', my_sample['data']['RADAR_FRONT'])
#这里是某sample中,某个传感器的data
nusc.render_sample_data(my_sample['data']['RADAR_FRONT'])

在这里插入图片描述
效果图

  • 转化原理:NuScene类方法:map_pointcloud_to_image

由于sample是在某个时间上的数据集合,其中包含sample_annotations、sample_data,分别是里面目标的标注和传感器在此时刻的信息,但是雷达采样频率和相机不一样,会差几毫秒或者更少,因此不仅要在空间上转化,还要考虑时间

  1. 雷达传感器下坐标转到雷达时间戳下的自身坐标系(雷达点采集时间属于雷达的时间戳)
 cs_record = self.nusc.get('calibrated_sensor', pointsensor['calibrated_sensor_token'])
 pc.rotate(Quaternion(cs_record['rotation']).rotation_matrix)
 pc.translate(np.array(cs_record['translation']))
  1. 转换到全局
poserecord = self.nusc.get('ego_pose', pointsensor['ego_pose_token'])
pc.rotate(Quaternion(poserecord['rotation']).rotation_matrix)
pc.translate(np.array(poserecord['translation']))
  1. 转换到相机时间戳下的汽车自身坐标
poserecord = self.nusc.get('ego_pose', cam['ego_pose_token'])
pc.translate(-np.array(poserecord['translation']))
pc.rotate(Quaternion(poserecord['rotation']).rotation_matrix.T)
  1. 转换到相机坐标系下
cs_record = self.nusc.get('calibrated_sensor', cam['calibrated_sensor_token'])
pc.translate(-np.array(cs_record['translation']))
pc.rotate(Quaternion(cs_record['rotation']).rotation_matrix.T)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nuScenes毫米波雷达点云投影至图像 的相关文章

随机推荐

  • Django 第六天

    Django高级扩展 静态文件 xff1a css xff0c js xff0c 图片 xff0c Json文件 xff0c 字体文件等 配置settings py xff1a STATICFILES DIRS span class tok
  • Python 爬虫 小练习

    获得某易云音乐 对应歌单下的所有歌曲的歌曲 专辑图片 歌手图片 lrc歌词 span class token keyword import span requests span class token keyword from span b
  • 免费GPU

    中国移动免费GPU资源 九天 毕昇还属于内侧阶段 xff0c 没有充值入口 没有GPU算力的同学可以体验一下 xff0c 不算广告 xff0c 纯属安利羊毛 引言 最近想跑一个模型 xff0c 但突然发现手头没有可用的算力了 然后朋友推荐了
  • 分布式 ROS PX4 GAZEBO 多机仿真 服务器-客户端模式

    这是一个目录 最终目标环境配置要求具体实施方案UAV0配置UAV1配置 执行 最终目标 实现主从机器多机仿真 xff0c 模拟真机部署 具体方案如下 xff1a 设定一台计算机为通信汇集节点 xff0c 处理所有无人机位姿 移动控制等 xf
  • 算法训练 最短路

    算法训练 最短路 问题描述 给定一个n个顶点 xff0c m条边的有向图 xff08 其中某些边权可能为负 xff0c 但保证没有负环 xff09 请你计算从1号点到其他点的最短路 xff08 顶点从1到n编号 xff09 输入格式 第一行
  • Ubuntu18开启ssh服务

    Ubuntu默认不会开启ssh服务 所以我们无法对Ubuntu进行远程连接 xff0c 这对Ubuntu的运维造成了很大不便 本文详细讲解如何在Ubuntu18下开启ssh服务 关键指令 root用户下 xff0c 非root用户所有指令前
  • alembic 常用命令有哪些?

    上节为大家讲解了alembic如何使用 xff1f 本节就为大家介绍一下alembic常用命令有哪些 xff1f alembic常用命令如下 xff1a 在讲这些命令用法之前 xff0c 我们先建立一个alembic demo数据库 然后再
  • Linux UIO驱动框架(一)

    文章目录 Linux UIO驱动框架1 什么是uio驱动框架2 uio驱动框架使用3 uio驱动框架实现原理 Linux UIO驱动框架 1 什么是uio驱动框架 uio全称为用户空间IO Userspace I O xff0c 是一种在用
  • maven 3.6.3 下载与详细配置图文教程(基于win10系统)

    maven下载与配置 1 下载maven1 1 apache maven官网下载链接1 2 百度云资源下载1 3 CSDN资源下载 2 配置maven环境变量3 验证maven配置是否生效4 修改 settings xml 文件 1 下载m
  • Dockerfile 深入理解

    Docker 专栏文章索引 x1f449 Docker 简介 x1f449 Docker 安装图文教程 x1f449 Docker 镜像概念及操作 x1f449 Dockerfile 深入理解 Dockerfile 深入理解 x1f680
  • 深度学习之局部连接与权值共享

    在网络中 xff0c 如果全部使用全连接网络 xff0c 则会使参数异常多 xff0c 造成计算复杂 xff0c 降低训练的效率 由此引入卷积层 xff0c 卷积层能够有效减小训练参数 xff0c 这与卷积具有的两个性质有关 结合自身经历以
  • nuScenes自动驾驶数据集:数据格式精解,格式转换,模型的数据加载 (一)

    nuScenes数据集及nuScenes开发工具包简介 文章目录 nuScenes数据集及nuScenes开发工具包简介1 1 nuScenes数据集简介 xff1a 1 2 数据采集 xff1a 1 2 1 传感器布置1 2 2 数据格式
  • 基于毫米波雷达与视觉融合的行人检测

    这篇文章通过在数据层进行毫米波雷达与相机的融合以提高行人检测效果 其不仅可以通过雷达产生ROI以减小对图像进行滑动窗口检测的数量 xff0c 提高检测速度 xff0c 同时利用雷达 xff0c 可以检测远处不明显的行人 xff0c 提高检测
  • ROS中进行大陆ARS408雷达点云的可视化及二次开发(一)

    文章目录 一 硬件准备二 驱动准备2 1 首先安装依赖 xff1a 2 2 检验是否正确安装2 3 启动雷达并检查数据 三 ROS工作环境搭建3 1 安装socket can依赖3 2 安装ars 40X开发包 四 测试五 总结二次开发 毫
  • ARS大陆毫米波雷达ROS开发包解析及二次开发(二)

    文章目录 预备知识与前期工作ARS 40X源码架构雷达数据格式及流向数据流向图雷达数据格式socket can通信格式 xff08 以雷达配置帧通信为例 xff09 关键数据介绍及格式说明cluster数据帧can messages 关键参
  • 最完整的毫米波雷达ROS开源包解析及二次开发(三)

    文章目录 滤波源码数据结构滤波的ROS类方法接口设计底层基本类接口设计ars 40x can cppradar cfg cpp amp radar cfg hppradar cfg hppradar cfg cpp 开发时的注意事项srv文
  • 多传感器融合目标检测系列:CenterFusion(基于CenterNet)源码深度解读: :DLA34 (四)

    文章目录 一 CenterFusion与CenterNet二 CenterNet backbone 2 1 DLA34基本结构2 2 DLASeg2 3 DLASeg基本模块Basic BlockRootTreeDLA34IDAUP 三 H
  • linux 自定义服务启动失败(code=exited, status=127)

    调试步骤 xff1a 1 关闭重启策略 xff0c 可以看到更详细的报错信息 删除 service 里的Restart相关行 xff0c 再起一次服务查看报错信息 sudo systemctl daemon reload sudo syst
  • 计算机视觉中的编码-解码器结构总结(持续更新)

    文章目录 NLP领域的编码解码器结构机器学习中的编码器自动编码器 视觉领域中的编码解码器结构 编码器 解码器结构 xff1a 编码器原始输入信号转化为中间格式 xff0c 然后解码器将中间格式转化为目的信号 在NLP领域的机器翻译 摘要提取
  • nuScenes毫米波雷达点云投影至图像

    效果图 nuscenes devkit提供的点云可视化 first sample token span class token operator 61 span my scene span class token punctuation s