Segmatic KITTI数据集简单使用

数据集的详细介绍发表在2019年的ICCV。论文地址
这个数据集有80G.下载地址Segmati KITTI
总共有28个类。每个点都被注释。数据文件夹结构
在这里插入图片描述
存储点云数据的.bin文件跟存储标签的.label数据,
.bin文件中存储着每个点,以激光雷达为原点的x,y,z,i信息,其中i是强度。把数据提取出来也很简单。用numpy库。提取出来就是一个n行4列的矩阵。

points = np.fromfile(".bin文件路径", dtype=np.float32).reshape(-1, 4)

接下来就是.label文件,这个文件着实麻烦,不知道里面的各种表示什么。在KITTI API的github中能找到,网址
里面东西也挺多的,主要就看.label那部分。在remap_semantic_labels.py文件中。终于知道,label中每个值表示什么了。在config目录下的semantic-kitti.yaml文件中。

    label = np.fromfile(".label文件路径", dtype=np.uint32)
    label = label.reshape((-1))

在这里插入图片描述
我把里面的road,parking,sidewalk,othher-ground这几个类认为是地面,用红色点表示,其他非地面点用绿色表示,看看效果。

import open3d as o3d
import numpy as np
points = np.fromfile("D:\\randlanet\\data\\semantic-kitti\\dataset\\sequences\\00\\velodyne\\000000.bin", dtype=np.float32).reshape(-1, 4)
label = np.fromfile("D:\\randlanet\\data\\semantic-kitti\\dataset\\sequences\\00\\labels\\000000.label", dtype=np.uint32).reshape((-1))
clouds=points[:,:3]
colors=np.zeros([len(label),3])
for cla in range(len(label)):
    #print(label[cla])
    if label[cla] == 40 or label[cla] == 44 or label[cla] == 48 or label[cla] == 49:
        colors[cla][0]=1
        colors[cla][1]=0
        colors[cla][2]=0
    else:
        colors[cla][0]=0
        colors[cla][1]=1
        colors[cla][2]=0
test_pcd = o3d.geometry.PointCloud()
test_pcd.points = o3d.utility.Vector3dVector(clouds)
test_pcd.colors = o3d.utility.Vector3dVector(colors)

o3d.visualization.draw_geometries([test_pcd], window_name="Open3D2")

结果如下图所示:
在这里插入图片描述
结束。以后差什么,遇到问题时候再接着补这部分吧,不然遇到一个小问题都要全部去学,太花时间了。

  • 17
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值