nuScenes数据集使用的相机的外参和内参
因为需要用不同数据集测试对比效果,而一般的模型代码里实现的检测结果可视化都是使用open3d的Visualizer在点云上画的3d框,展示出来的可视化效果很差,可能是偷懒,没有实现将检测结果投影到各相机的图像上,所以检测效果可视化对核对效果根本没多大用处,除非自己把检测结果和点云写如rosbag包并且基于ros写程序画出box并发布然后去rviz里看效果展示,对于基于nuScenes数据集的检测结果在图像上做可视化其实比较简单,因为它使用的相机是普通无畸变平面相机,直接将模型检测输出的3dbox(一般是基于激光雷达点云坐标系的)的8个顶点的坐标组成的矩阵左乘以6个相机的外参和内参转换到像素坐标系下,得到8个顶点的像素坐标,然后在相机图像上用OpenCV画出各个顶点和按一定顺序画出顶点之间的连线,就完成了在图像上画出3d box可视化效果。记录一下整理出来的nuScenes数据集所用的6个相机的内外参数据矩阵,需要时可以直接拷贝使用:
{
"CAM_FRONT" : {"extrinsic" : [[ 0.99988014, 0.01223258, -0.00949188, -0.00230111],[-0.0101382, 0.05390463, -0.9984946, -0.35509583], [-0.0117025, 0.99847114, 0.05402219, -0.42520362],[ 0, 0, 0, 1 ]],"intrinsic": [[1.25281310e+03, 0.00000000e+00, 8.26588115e+02, 0.00000000e+00],[0.00000000e+00, 1.25281310e+03, 4.69984663e+02, 0.00000000e+00],[0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]],"distortion": []},"CAM_FRONT_RIGHT" : {"extrinsic" : [[ 0.5372737, -0.8417395, -0.05302503, 0.02984875],[-0.00136775, 0.06200032, -0.9980752, -0.33156687], [ 0.84340686, 0.53631204, 0.03215985, -0.6103719 ], [ 0, 0, 0, 1 ]],"intrinsic" : [[1.25674851e+03, 0.00000000e+00, 8.17788757e+02, 0.00000000e+00],[0.00000000e+00, 1.25674851e+03, 4.51954178e+02, 0.00000000e+00], [0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 0.00000000e+00], [0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]],"distortion": []
},"CAM_FRONT_LEFT" : {"extrinsic" : [[ 0.5672582, 0.8228128, 0.034602, 0.10790747],[-0.01433343, 0.05187402, -0.9985508, -0.35026494],[-0.8234153, 0.5659401, 0.04121969, -0.52967703],[ 0, 0, 0, 1 ]],"intrinsic" : [[1.25786253e+03, 0.00000000e+00, 8.27241063e+02, 0.00000000e+00],[0.00000000e+00, 1.25786253e+03, 4.50915498e+02, 0.00000000e+00],[0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]],"distortion": []
},"CAM_BACK" : {"extrinsic" : [[-0.99992836, 0.00799071, 0.00891444, 0.00137395],[-0.00859485, 0.03917429, -0.99919546, -0.2810333 ],[-0.0083335, -0.99920046, -0.0391028, -1.0164535 ],[ 0, 0, 0, 1 ]],"intrinsic" : [[796.89106345, 0, 857.77743269, 0 ],[ 0, 796.89106345, 476.88489884, 0 ],[ 0, 0, 1, 0 ],[ 0, 0, 0, 1 ]],"distortion": []
},"CAM_BACK_LEFT" : {"extrinsic" :
[[-0.31910315, 0.9468608, 0.04034692, -0.2123741 ],[-0.01589121, 0.03722081, -0.99918073, -0.28666893],[-0.9475868, -0.31948286, 0.00316949, -0.43252733],[ 0, 0, 0, 1 ]],"intrinsic" :
[[1.25498606e+03, 0.00000000e+00, 8.29576933e+02, 0.00000000e+00],[0.00000000e+00, 1.25498606e+03, 4.67168056e+02, 0.00000000e+00],[0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]],"distortion": []
},"CAM_BACK_RIGHT" : {"extrinsic" :
[[-0.3820134, -0.92305064, -0.04520244, 0.08872822],[ 0.01385406, 0.04318667, -0.998971, -0.29866916],[ 0.92405295, -0.38224655, -0.00370989, -0.46464512],[ 0, 0, 0, 1 ]],"intrinsic" :
[[1.24996293e+03, 0.00000000e+00, 8.25376805e+02, 0.00000000e+00],[0.00000000e+00, 1.24996293e+03, 4.62548164e+02, 0.00000000e+00],[0.00000000e+00, 0.00000000e+00, 1.00000000e+00, 0.00000000e+00],[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]],"distortion": []
}
}
把nuScense的3d标注在图像上做可视化发现nuScenes的标注也做得不好 好些目标漏标了!只是目前没有更好的公开数据集出现,没银子自己采集和标注数据集的尤其是做学校研究发论文的就只能继续在nuScenes这样的数据集上干活了,尽管现在的车载激光雷达已经比nuScenes数据集采用的32线雷达好了几代了,还是不得不死磕nuScenes 32线雷达的稀疏点云用sweep帧对齐和叠加来模拟现在雷达的稠密点云。
相关文章:

nuScenes数据集使用的相机的外参和内参
因为需要用不同数据集测试对比效果,而一般的模型代码里实现的检测结果可视化都是使用open3d的Visualizer在点云上画的3d框,展示出来的可视化效果很差,可能是偷懒,没有实现将检测结果投影到各相机的图像上,所以检测效果…...

数据结构与算法:贪心算法与应用场景
目录 11.1 贪心算法的原理 11.2 经典贪心问题 11.3 贪心算法在图中的应用 11.4 贪心算法的优化与扩展 总结 数据结构与算法:贪心算法与应用场景 贪心算法是一种通过选择当前最佳解来构造整体最优解的算法策略。贪心算法在很多实际问题中都取得了良好的效果&am…...
音频编解码器音频文件格式
0 Preface/Foreword 1 音频编解码器 算法压缩越高,那么音频延迟越大,音频效果越好。 1.1 SBC SBC: sub-band coding,自带编码 A2DP强制规定使用的audio编解码器。 在音视频中,为了增加用户体验,规避视频和音频的不…...
FreeSWITCH JSON API
仅举几例: fs_cli -x json {"command" : "status", "data" : ""} fs_cli -x json {"command" : "sofia.status", "data" : ""} fs_cli -x json {"command" : "…...

学习docker第三弹------Docker镜像以及推送拉取镜像到阿里云公有仓库和私有仓库
docker目录 1 Docker镜像dockers镜像的进一步理解 2 Docker镜像commit操作实例案例内容是ubuntu安装vim 3 将本地镜像推送至阿里云4 将阿里云镜像下载到本地仓库5 后记 1 Docker镜像 镜像,是docker的三件套之一(镜像、容器、仓库)࿰…...

一文掌握Kubernates核心组件,构建智能容器管理集群
1.Kubernates简要概述 Kubernates(常称为K8s,因省略了“ubernate”中的8个字符)是Google开源的容器编排平台,专为简化和自动化应用服务的部署、扩展和管理而设计。它将应用与底层的服务器抽象开来,提供了自动化的机制…...
正则表达式快速入门
正则表达式是由一系列元字符(Meta-characters)组成的模式,用于定义搜索或替换文本的规则。元字符具有特殊含义,用于指定搜索模式的结构。以下是一些常用的正则表达式元字符及其功能: 字符匹配符 符号含义.匹配除 \r\…...
【小程序】-基础语法(二)
文章目录 知识回顾前言微信小程序开发一、模板语法2.1 数据绑定2.2 条件渲染2.3 列表渲染三、内置API3.1 网络请求3.2 界面交互3.3 本地存储3.4 API 特征3.5 相册/拍照3.6 小练习四、事件处理4.1 事件对象4.2 组件事件五、生命周期5.1 页面生命周期5.2 应用生命周期知识回顾 前…...

js 填充数组
let arr Array.from({ length: 10 }, (_, index) > index)console.log(arr) 人工智能学习网站 https://chat.xutongbao.top...

AI创作3款软件分享,助力内容创作者高效产出优质作品
为了增加创造力和作品质量,许多创作者开始利用人工智能辅助工具。这些工具不仅可以帮助我们迅速生成各种类型的内容,例如文章、绘画、视频广告等,还提供语法检查和优化建议等实用功能。本文将向大家推荐三款适用于Ai先行者、Tracup、Adoe Fir…...
A survey of loss functions for semantic segmentation——论文笔记
摘要 图像分割一直是一个活跃的研究领域,因为它有着广泛的应用范围,从自动疾病检测到自动驾驶汽车。过去五年中,各种论文提出了用于不同场景(如数据偏斜、稀疏分割等)的目标损失函数。在本文中,我们总结了…...

docker部署es与kibana Mac
1. 创建网络 神一样的链接,不用谢: 1.Docker命令链接:黑马整理的docker速成链接 2.jdk11链接:jdk11 3.神资源链接:别点,要脸 注意:es需要先安装jdk环境,推荐jdk11,否则…...
redis的渐进式哈希?说一下细节?------面试题分享
渐进式哈希(Progressive Hashing)是 Redis 中的一种优化机制,用于在执行 HGETALL 命令时逐步读取哈希表中的所有字段。这种机制避免了一次性加载大量数据到内存,从而减少了内存消耗和提高系统的响应速度。 渐进式哈希的背景 在 R…...

javaWeb项目-springboot+vue-车辆管理系统功能介绍
本项目源码(点击下方链接下载):java-springbootvue车辆管理系统源码(项目源码-说明文档)资源-CSDN文库 项目关键技术 开发工具:IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架:ssm、Springboot 前端࿱…...
redis和memcached的区别
Redis和Memcached都是流行的内存缓存数据库,但它们有一些区别: 数据类型:Redis支持更多的数据类型,包括字符串、哈希、列表、集合和有序集合等,而Memcached只支持简单的键值对。 持久化:Redis支持数据的持…...

构建安全基石:网络安全等级保护定级指南
在数字化时代,网络安全已成为企业与个人不可忽视的重要课题。网络安全等级保护定级指南,作为国家指导网络安全保护的重要文件,为各类机构提供了精准的安全防护蓝图。本文旨在深度解析网络安全等级保护定级指南的精髓,助力建构全面…...

PyQt 入门教程(3)基础知识 | 3.1、使用QtDesigner创建.ui文件
文章目录 一、使用QtDesigner创建.ui文件1、创建.ui文件2、生成.py文件3、使用新生成的.py文件4、编辑新生成的.py文件 一、使用QtDesigner创建.ui文件 1、创建.ui文件 打开PyCharm,使用自定义外部工具QtDesigner创建mydialog.ui文件,如下: …...

解锁金融大门,你的基从备考秘籍全揭秘!
大家好!随着金融行业的快速发展,基金从业资格证已经成为越来越多金融从业者的必备证书。为了帮助大家更好地备考,今天我们就来聊聊基金从业资格证! 一、考试时间 2024年下半年基金从业资格考试时间为11月9日。准考证打印的时间是…...
详解Linux系统中的设备驱动程序.ko文件
目录 一、主要特点: 二、常见用法: 三、典型应用: 设备驱动程序、文件系统、网络协议、内核安全模块等都可能以 .ko 文件的形式存在。 .ko 文件是 Linux 内核模块的文件扩展名,表示 "kernel object"。这些文…...

MG协议转换器:高效连接,智控未来
在当今自动化和工业4.0浪潮中,设备间的无缝连接和数据高效传输成为提升生产效率、保障系统稳定运行的关键。我们凭借在工业自动化领域的深厚积累与创新精神,推出了MG系列一体式协议转换器,为不同协议总线之间的通讯架起了一座坚实的桥梁。 产…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...