kitti label rotation_y

kitti rotation

  1. 在sencond 和 det3d中,均是从kitti label信息中读取的在相机坐标系下的rotation信息,在训练过程中也是回归的camera坐标系下的rotation,如果我想得到lidar坐标系下的rotation公式为:
    rotation_lidar_y = - (rotation_cam_y + pi/2),至于怎么来的,抽出时间来讲一下,经过网络后得到的输出为(Center_lidar(x,y,z),size_lidar(wlh),rotation_y_camera[弧度])。

  2. 在det3d的 wamoy 数据集和nuscens,里面的数据格式都是先转换到kitti格式,然后再去训练,最后应该是再返回,这步没看。

  3. 在OpenPCDet中,直接使用的就是lidar坐标系,在读取完kitti的label的pkl信息后,直接就将相机坐标系下的rotarion转换到了lidar坐标下,所以OpenPCDet的整个过程的坐标都是在激光雷达坐标系下完成的,最终得到的格式也是(center_lidar(x,y,z),size_lidar(lwh),rotation_lidar)

  4. 在OpenPCdet中,kitti其实标注了8种类别,分别是car, van, truck, pedestrian, pedestrian(sitting), cyclist, tram以及misc,但是在测评的时候我们只测评car,ped,cyclist 那么在代码中我们是如何处理的呢?
    首先在OpenPCdet中在生成各种pkl和gt base的时候 这些类别实际上依然都存在,比如pkl里面的annation的name里面是包含其他类别的,同样的gt base里面也是. 真正的处理是在pcdet->datasets->dataset.py 中的prepare_data函数里面,也就是在kitti_dataset.py 里面 的data_dict = self.prepare_data(data_dict=input_dict)进行调用, 在prepare_data 会查看把传进来的info里面的gt names是否是[car,ped,cyclist]中的一类,然后生成一个mask,比如gt里面有10个obj,但是还有除了这三个类别以外的类别,那么我们会生成[False,true,true…]的列表表示哪几个GT是我们需要的.然后将这个mask传进data_augmentor.forward 这个里面首先做的事情是做数据增广,往点云里面增加新的gt,首先要做的是计算两个IoU:iou3d_nms_utils.boxes_bev_iou_cpu(sampled_boxes[:, 0:7], existed_boxes[:, 0:7])和iou2 = iou3d_nms_utils.boxes_bev_iou_cpu(sampled_boxes[:, 0:7], sampled_boxes[:, 0:7]),即分别计算要加入的GT和现有GT和新加入的GTs是否有重叠的现象.比如刚开始准备增加15个车,但是经过IoU的计算后可能只剩下5个符合要求.在这个时候通过add_sampled_boxes_to_scene这个函数将新加入的GT增添到data_dict里面,同时把不需要的类别的obj从gt_boxes里面去除掉.这个时候我们数据的输入里面的GT是只包含[car,ped,cyclist]的gt了.
    后续的是一些数据曾广的步骤,比如xy flip,global rotation,
    那什么时候把这个类别对应成12345,这样的数字的呢,我们知道在计算loss的时候肯定是数字的形式,所以这个时候会通过这个函数进一步的处理.self.data_processor.forward(data_dict=data_dict)首先这个函数先把一定距离外的gt去除掉,就是point_cloud_range外的gt,同时把距离外的点也会去掉.接下来的一种增广是随机变化点云中点的IDX.具体的类别转到数字是通过gt_classes = np.array([self.class_names.index(n) + 1 for n in data_dict[‘gt_names’]], dtype=np.int32)进行变化的.1->car,2->ped,3->cycylist.

kitti rotation,label等细节相关相关推荐

  1. KITTI数据集-label解析

    参考:KITTI数据集--label解析与传感器间坐标转换参数解析_苏源流的博客-CSDN博客 KITTI数据集是自动驾驶领域最知名的数据集之一. 一.kitti数据集,label解析 16个数代表的 ...

  2. CSS3新增的相关属性

    文章目录 前言 CSS3属性 一,实现深色模式和浅色模式的切换 1.1,"checked"作用 1.2,语法 1.3,例 二,盒子模型(背景) 2.1,释义 2.2 , " ...

  3. KITTI数据集(概念版)

    一.参考资料 KITTI 官网 kitti数据集各个榜单介绍 自动驾驶KITTI数据集详解 KITTI数据集简介与使用 kitti数据集各个榜单介绍 KITTI数据集介绍 KITTI数据集简介(一) ...

  4. C++拾遗(五)语句相关

    前缀格式与后缀格式 对于表达式:后缀如 i++ 表达式的值仍是 i,在遇到下一个顺序点后再将 i 加1.前缀 ++i 表达式的值就是(i+1),先计算表达式的值,不需要等待 顺序点. 对于类:前缀函数 ...

  5. FreeBSD硬盘分区和数据迁移相关资料

    从网上摘录的部分FreeBSD硬盘分区和数据迁移相关资料: HOWTO: Move FreeBSD to a new hard disk FreeBSD 数据迁移方法 FreeBSD的硬盘分区策略 ( ...

  6. 用于单眼3D物体检测的可学习深度引导卷积

    文献:Learning Depth-Guided Convolutions for Monocular 3D Object ​摘要(Abstract) 1 介绍(Introduction) 2 相关工 ...

  7. SSD论文阅读(Wei Liu——【ECCV2016】SSD Single Shot MultiBox Detector)

    本文转载自: http://www.cnblogs.com/lillylin/p/6207292.html SSD论文阅读(Wei Liu--[ECCV2016]SSD Single Shot Mul ...

  8. SpringCloud微服务架构,Config 分布式配置中心,Bus 消息总线, Stream 消息驱动,Sleuth+Zipkin 链路追踪

    Config分布式配置中心 Config 概述 概述 • Spring Cloud Config 解决了在分布式场景下多环境配置文件的管理和维护. • 好处: • 集中管理配置文件 • 不同环境不同配 ...

  9. Spring Cloud 学习笔记(2 / 3)

    Spring Cloud 学习笔记(1 / 3) Spring Cloud 学习笔记(3 / 3) - - - 56_Hystrix之全局服务降级DefaultProperties 57_Hystri ...

最新文章

  1. 亚马逊马超:如何使用DGL进行大规模图神经网络训练?
  2. 旷视 IPO 在即,看清“AI 第一股”的商业真相
  3. python编程基础知识体系_Python 编程核心知识体系-基础|数据类型|控制流(一)...
  4. wxWidgets 的打印演示
  5. java对象序列化并存储到文件和数据库
  6. JS面向对象的实现和原理
  7. 永中Office—给公文设置密码
  8. 超过 C++、压制 Java 与 C,Python 拔得 TIOBE 年度编程语言!
  9. android 指南针传感器,android 传感器使用 Compass指南针的实现功能
  10. ds查找—二叉树平衡因子_《大话数据结构》C++实现二叉平衡树的建立
  11. Android实战简易教程-第七十三枪(拨打、接听电话自动免提)
  12. 员工新参(北京)社保所需材料
  13. SAR图像超分辨技术
  14. win10计算机证书管理器,win10系统iE浏览器导入数字证书的详细办法
  15. poi获取单元格颜色
  16. 最短路径之弗洛伊德算法(Floyd)——动态规划
  17. 《python》002 网络爬虫 -0A 基础
  18. kvm切换器什么牌子好?怎么选择
  19. 亏损收窄的金融壹账通离盈利还有多远?
  20. TCP协议详解(一) TCP服务的特点和TCP头部结构

热门文章

  1. clustMD r语言_利用R语言实现微阵列数据分析-聚类分析
  2. 漏斗周期漏斗数据关联优化
  3. BZOJ 4811([Ynoi2017]由乃的OJ-树链剖分)
  4. 基于GAN的图像配准汇总
  5. com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.lxw
  6. 永磁同步电机矢量控制中的双闭环是什么意思_【百问百答】ST 电机控制实战问答合辑 | 连载之二...
  7. 20201218英语单词学习(仅供自己记录)
  8. c语言---15 循环语句do while()
  9. 一个回车键黑掉一台服务器——使用Docker时不要这么懒啊喂
  10. VMware配置Ubuntu 编写c程序