大场景室内点云标注数据集S3DIS介绍

重要说明

多用于室内点云的语义分割和实例分割(每个柱子桌椅等都是分开标注的)

6个区域:【目录名称】

Area1、Area2、Area3、Area4、Area5、Area6

13个语义元素: 【annotation的类别】

天花板ceiling、地板floor、墙壁wall、梁beam、柱column、窗window、门door

桌子table、椅子chair、沙发sofa、书柜bookcase、板board 、混杂元素(其他)clutter 

11种场景:【单文件的名称】

办公室、会议室、走廊、礼堂、开放空间、大堂、休息室、储藏室、复印室、储藏室和卫生间

office, conference room, hallway, auditorium, open space, lobby, lounge, pantry, copy room, storage and WC

S3DIS的采集方式

使用 Matterport 相机收集数据,该相机结合了 3 个不同间距的结构光传感器,在每个扫描位置 360° 旋转期间捕获 18 个 RGB 和深度图像。每次 360° 扫描以 60° 为增量执行,每个位置提供 6 个三元组 RGB-D 数据。输出是扫描区域的重建 3D 纹理网格、原始 RGB-D 图像和相机元数据。我们使用这些数据作为基础来生成额外的 RGB-D 数据并通过对网格进行采样来制作点云。我们直接在 3D 点云而不是图像上对数据进行语义注释,然后将每个点的标签投影到 3D 网格和图像域上。在6个区域的271个房间,使用Matterport相机(结合3个不同间距的结构光传感器),扫描后生成重建3D纹理网格,RGB-D图像等数据,并通过对网格进行采样来制作点云。对点云中的每个点都加上了1个语义标签(例如椅子,桌子,地板,墙等共计13个对象)。

原始的采集数据Full 2D-3D-S Dataset

完整的 2D-3D-S 数据集:https://github.com/alexsax/2D-3D-Semantics 
参看:https://blog.csdn.net/weixin_43823054/article/details/101003471

 Stanford3dDataset_v1.2_Aligned_Version点云数据集

 该目录包含具有注释的 3D 点云。txt文件格式;xyzrgb文件。

Annotations目录下是各个类别的点云剪裁,也为xyzrgb文件。

cat conferenceRoom_1.txt | wc -l
1136617

cat Annotations/* | wc -l
1136617

完全标注,每一个空间点都有标注。

这些 3D 点云由原始采集数据(2D-3D-S)解析转化出来,转化过程为可以通过直接解析自带的mat文件进行解析,也可以通过合成rgb和深度图进行解析,也可以直接官网下载转化后的这个数据集。

indoor3d_sem_seg_hdf5_data数据

indoor3d_sem_seg_hdf5_data是Pointnet、point-transformer等语义分割算法处理数据的方式。

用于训练的数据会按照房间来划分点集,将房间的点云数据划分为1 m × 1 m 的块,然后再对每个块预测其中每个点的语义标签。每个点由一个9-dim向量表示,分别为:X, Y, Z, R, G, B, X`,Y`,Z` 。

X`Y`Z` 是标准化后的每个block相对于所在房间的位置坐标( 值为0 - 1)。

在训练时,从每个块中随机采样4096个点,使用K折交叉验证(github中是6折,论文中是3折),6-fold即训练集5个区域,测试集1个区域;3-fold:训练集4个区域,测试集2个区域,防止过拟合的常用手段。

对于分割网格进行训练,如果采用这种切分块式样的预处理方式作为输入,会影响到最后的结果,比如一张桌面出现两种不同的错误分割,这一点在RandLA-Net一文中进行了说明。因此RandLA说在做大场景点云分割的时候不能直接使用pointnnet这种方式,因为网络难以有效地学习到一个物体的整体几何结构,也是大场景点云分割的改进点。

可以通过https://github.com/charlesq34/pointnet/blob/master/sem_seg/collect_indoor3d_data.py和gen_indoor3d_h5.py  将S3DIS点云转化为h5格式,用于pointnet、point-transformer等模型的训练。

sudo apt-get install libhdf5-dev 

sudo pip install h5py

python collect_indoor3d_data.py   # 用于数据的重组,转换为.npy格式文件,比如Area_1_hallway_1.npy(.npy为Numpy专用的二进制格式)。

python gen_indoor3d_h5.py           # 再将.npy文件批量转为HDF5文件

(作者提示Stanford3dDataset_v1.2_Aligned_Version\Area_5\hallway_6\Annotations\ceiling_1.txt中的第180389行数字185后中多了一个额外的字符,不符合编码规范,需要手动删除)

也可以从网上直接下载转化后的indoor3d_sem_seg_hdf5_data.zip。

indoor3d_sem_seg_hdf5_data 文件夹,其中包含ply_data_all_0.h5~ply_data_all_23.h5 共24个.h5结尾的数据文件。

 

每个文件都包含data和 label数据。

除最后一个为585行数据以外,这24个文件共有23×1000+585=23585行,每行对应源点云文件一个切分为 1m×1m的Block,每个block随机取出4096个点,每个点对应9个维度X, Y, Z, R, G, B, X`,Y`,Z` 和一个label维度。X`Y`Z` 是标准化后的每个block相对于所在房间的位置坐标( 值为0 - 1)。

  • 13
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
点云是由三维空间中的一系列点组成的数据集,它常被用于描述物体的形状和位置。点云语义分割是对点云数据进行分析和分类。该任务的目标是为每个点赋予正确的语义标签,以实现对点云中的物体的分割和识别。 Plant点云语义分割数据集是一个特定领域的点云数据集,主要关注于植物的语义分割。这个数据集包含了大量的植物点云数据,每个点都有特定的XYZ坐标和其他属性信息,例如法向量、颜色等。此外,每个点还被赋予了相应的语义标签,比如树木、草地、花朵等。 准备一个对应的Plant点云语义分割数据集需要多个步骤。首先,需要收集大量的植物点云数据,可以通过3D激光扫描仪、摄像头等设备获得。然后,对这些点云数据进行预处理,包括去除噪声、滤波、重采样和对齐等操作,以提高数据的质量和准确性。 接下来,需要对每个点进行语义标注。这可以通过人工标注的方式来完成,专业的植物学家或领域专家可以观察点云数据,并为每个点分配适当的语义标签。这个过程可能会很耗时和复杂,但对于准确的语义分割结果是必要的。 最后,将点云数据和其对应的语义标签整理成一个数据集。这个数据集可以用于训练和评估点云语义分割算法的性能。可以将数据集划分为训练集和测试集,用于算法的训练和验证。 总之,Plant点云语义分割数据集是一个专门用于植物点云数据分割和识别的数据集,通过收集、预处理和人工标注的方式获得。它可以用于开发和评估各种点云语义分割算法的性能。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值