ScanNet点云文件解读记录

以下文件中包含ScanNet点云数据

< scanId >_vh_clean_2.ply
< scanId >_vh_clean_2.labels.ply
< scanId >.aggregation.json
< scanId >_vh_clean_2.0.010000.segs.json

  可用官方提供的python文件选择下载获取。网上很多内容只包含了点云数据下载和提取教程,没有对这几个文件做进一步详细的解读。


_vh_clean_2.ply

|—_vh_clean_2.ply
 |—scans
  |—scene0000_00
   |—scene0000_00_vh_clean_2.ply
  |—scene0000_01
   |—scene0000_01_vh_clean_2.ply
   … …
 |—scans_test
  |—scene0707_00
   |—scene0707_00_vh_clean_2.ply
  |—scene0708_00
   |—scene0708_00_vh_clean_2.ply
   … …
 |—task
 … …

  _vh_clean_2.ply目录中ply文件就是ScanNetv2数据集的mesh数据,解析ply文件得到的每个点包含7个值 (x,y,z,r,g,b,a), 坐标 (x,y,z),颜色 (r,g,b),透明度(a均为255)。
在这里插入图片描述

  提取ply中的(x,y,z,r,g,b)即为所需点云数据。除了每个点的信息外,还包括每个表面所连接的三个点 (p1,p2,p3)
在这里插入图片描述



_vh_clean_2.0.010000.segs.json

|—_vh_clean_2.0.010000.segs.json
 |—scans
  |—scene0000_00
   |—scene0000_00_vh_clean_2.0.010000.segs.json
  |—scene0000_01
   |—scene0000_01_vh_clean_2.0.010000.segs.json
   … …
 |—scans_test
  |—scene0707_00(empty)
  |—scene0708_00(empty)
   … …
 |—task
 … …
 |—scannetv2-labels.combined.tsv

  _vh_clean_2.0.010000.segs.json中的json文件包含对应点云数据中每个点的标号,测试数据scans_test文件夹下无内容(测试数据用于打榜,不提供标注)
在这里插入图片描述
  "segIndices"中的所有标号数量与对应点云的点数目相同,相同的标号指向同一个原始类别。与 .aggregation.json中的数据匹配可以划分出每个点的标签




.aggregation.json

|—.aggregation.json
 |—scans
  |—scene0000_00
   |—scene0000_00.aggregation.json
  |—scene0000_01
   |—scene0000_01.aggregation.json
   … …
 |—scans_test
  |—scene0707_00(empty)
  |—scene0708_00(empty)
   … …
 |—task
 … …
 |—scannetv2-labels.combined.tsv

  .aggregation包含每个点的类别信息,scans_test文件夹同样为空文件夹(用于打榜),json文件中有每个点的类别信息
在这里插入图片描述
  segGroup中的"segments"的数字为点云的标号(与_vh_clean_2.0.010000.segs.json中数据匹配),"label"表示原始(raw)类别。segments中所有标号指向的点都属于label类别(raw),以下是整个数据中的原始类别集合。此外,“id” 提供的序号可用于区分同一类别的不同实例

在这里插入图片描述  .aggregation.json一级目录下的tsv文件为原始(raw)类别到各种标签的对应关系在这里插入图片描述




_vh_clean_2.labels.ply

|—_vh_clean_2.labels.ply
 |—scans
  |—scene0000_00
   |—scene0000_00_vh_clean_2.labels.ply
  |—scene0000_01
   |—scene0000_01_vh_clean_2.labels.ply
   … …
 |—scans_test
  |—scene0707_00(empty)
  |—scene0708_00(empty)
   … …
 |—task
 … …
 |—scannetv2-labels.combined.tsv

   _vh_clean_2.label.ply提供的是点云中每个点的nyu40的标签。它与 .aggregation.json不之处在于, _vh_clean_2.label.ply只能提供语义标签,无法做实例的分割。
在这里插入图片描述
   scans目录下的ply文件与 _vh_clean_2.ply中的格式基本相同,不同在于多了一个标签直接对应nyu40标签并且透明度a不再全是255。除此之外,相同标签的点也用相同颜色进行了标注。表面连接点与 _vh_clean_2.ply完全一致






亿点细节:
  1.四组数据目录下的tsv文件是完全相同的;
  2._vh_clean_2.label.ply标签为0的点属于未标注的点,nyu40中只有1~40;
  3._vh_clean_2.0.010000.segs.json中有的点在 .aggregation.json中找不到对应原始类别,与上一条相同都属于未标注的点。




(欢迎讨论,感谢指正)

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Scannet数据集是一个开放源代码的大规模点云数据集,其中包含了来自真实世界场景的三维扫描数据。该数据集由斯坦福大学计算机视觉实验室(Stanford Computer Vision Lab)和普林斯顿大学计算机科学系(Princeton University Computer Science Department)合作创建,并且包含了超过1,500个场景的点云数据。 Scannet数据集的主要目的是为了促进三维场景理解和计算机视觉相关研究的发展。这些点云数据通过使用RGB-D传感器进行扫描,可以捕捉到场景的几何形状和纹理信息。数据集中的点云数据非常丰富,包含了大量的几何信息,能够有效地支持相关研究领域,如SLAM(Simultaneous Localization and Mapping)、3D重建和物体识别等。 Scannet数据集的点云数据以.json格式提供,每个场景的点云数据包含了点的坐标、法线、颜色等信息。此外,Scannet数据集还提供了丰富的注释信息,包括场景的语义分割标签和实例分割标签,这对于研究场景理解和语义重建非常有帮助。 研究人员可以使用Scannet数据集来训练和评估各种三维场景理解算法,如点云分类、场景分割和目标检测等。此外,由于Scannet数据集是一个开放源代码的数据集,任何人都可以免费访问和使用,这对于推动研究社区的合作和创新非常有价值。 总之,Scannet数据集是一个大规模点云数据集,包含了真实世界场景的三维扫描数据,可以用于促进三维场景理解和计算机视觉相关研究的发展。通过使用Scannet数据集,研究人员可以训练和评估各种三维场景理解算法,推动研究社区的合作和创新。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值