kitti rotation,label等细节相关

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.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值