ScanNet数据集下载与导出颜色图、深度图、内参、位姿数据

发布于:2022-11-01 ⋅ 阅读:(1051) ⋅ 点赞:(0)


ScanNet数据集下载与导出颜色图、深度图、内参、位姿数据

0 介绍

(1)简介

ScanNet是一个RGB-D视频数据集,包含1500多个扫描中的250万个视图,用3D摄像机的姿势、表面重建和实例级的语义分割来注释。为了收集这些数据,我们设计了一个易于使用和可扩展的RGB-D捕捉系统,包括自动表面重建和众包语义注释。我们表明,使用这些数据有助于在几个三维场景理解任务上实现最先进的性能,包括三维物体分类、语义体素标签和CAD模型检索。

(2)版本

在ScanNet之后发布了ScanNet v2(全部文件很大, 共1.3T),好像现在大部分使用的都是v2版本,具体更改见:ScanNet Changelog,主要更改如下:
Changelo中ScanNet v2 (2018-06-11)声明为:

ScanNet 的新 2D/3D 基准挑战(benchmark challenge)
新的语义标签和实例注释(semantic label and instance annotations )
新的场景类型注释
新的轴对齐

1 申请与下载

一般从别的博客直接copy下来的代码好像不能进行下载,所以需要自己申请一下。

1.1 申请

参考github:https://github.com/ScanNet/ScanNet
填写申请:https://kaldir.vc.in.tum.de/scannet/ScanNet_TOS.pdf
注:PI可以理解为学术带头人或导师:https://wap.sciencenet.cn/blog-293721-337429.html?mobile=1
发送到邮箱:scannet@googlegroups.com,周一中午12:03发送的邮件,当天下午6:15接收到邮件

在这里插入图片描述

1.2 使用数据脚本下载指定序列

参考命令:
download-scannet.py -o [directory in which to download] --id
注:使用vpn的话下载速度会快一些。
scene0004_00
python download-scannet.py -o . --id scene0004_00
下图第一个箭头按任意键进行下载确认,第二个箭头按下n键,因为第一次使用该数据集,宁愿下载更多无用的避免后续出问题。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

scene0005_00
python download-scannet.py -o . --id scene0005_00

scene0009_00
python download-scannet.py -o . --id scene0009_00

scene0010_00
python download-scannet.py -o . --id scene0010_00

scene0030_00
python download-scannet.py -o . --id scene0030_00

scene0031_00
python download-scannet.py -o . --id scene0031_00

2 将下载的数据序列进行转化

脚本:https://github.com/ScanNet/ScanNet/tree/master/SensReader/python
脚本说明是使用python 2.7开发和测试。

在这里插入图片描述

脚本使用的参考命令:

python reader.py --filename [.sens file to export data from] --output_path [output directory to export data to]
Options:
--export_depth_images: export all depth frames as 16-bit pngs (depth shift 1000)
--export_color_images: export all color frames as 8-bit rgb jpgs
--export_poses: export all camera poses (4x4 matrix, camera to world)
--export_intrinsics: export camera intrinsics (4x4 matrix)

(1)使用python2.7(ubuntu18.04自带环境)----采用方案

以scene0004_00为例
将脚本reader.py,SensorData.py copy进数据序列文件夹(下图中SensorData.pyc是后来生成的)
python reader.py --filename scene0004_00.sens --output_path . --export_depth_images --export_color_images --export_poses --export_intrinsics

将结果存储在四个文件夹中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

确实是深度图像,虽然下面截图看不清:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

报错1:

imageio requires Python '>=3.5' but the running Python is 2.7.17
参考:(https://blog.csdn.net/space_dandy/article/details/108142800)得知最新版本的imageio仅支持python>=3.5的版本,可以选择小于小于2.6.1版本的imageio库,结合(https://stackoverflow.com/questions/57332153/pytest-requires-python-3-5-but-the-running-python-is-2-7-10)关于pytest类似的包的相似处理办法

在这里插入图片描述

解决办法为:
pip install "imageio<2.6.1"

在这里插入图片描述

报错2

ImportError: No module named png
参考:https://github.com/liuwons/wxBot/issues/79
pip install pypng
持续报错:

    IOError: [Errno 2] No such file or directory: '/tmp/pip-build-xPQDii/pypng/setup.py'
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-xPQDii/pypng/

在这里插入图片描述

参考下面(3)使用python3.8(anaconda创建环境) 中 报错2 安装的版本,这里降低版本
输入pip install "pypng<0.2.0"

(3)使用python3.8(anaconda创建环境)----弃用方案/参考意义

scene0004_00
python reader.py --filename scene0004_00.sens --output_path . --export_depth_images --export_color_images --export_poses --export_intrinsics

报错1

    print 'exporting', len(self.frames)//frame_skip, 'camera poses to', output_path
          ^
SyntaxError: invalid syntax

结合python2和python3的print()函数的不同,修改SensorData.py的以下四处----给print()函数加()

    # print 'exporting', len(self.frames)//frame_skip, ' depth frames to', output_path #hxz
    print ('exporting', len(self.frames)//frame_skip, ' depth frames to', output_path)   #hxz 

    # print 'exporting', len(self.frames)//frame_skip, 'color frames to', output_path #hxz
    print ('exporting', len(self.frames)//frame_skip, 'color frames to', output_path)    #hxz

    # print 'exporting', len(self.frames)//frame_skip, 'camera poses to', output_path #hxz
    print ('exporting', len(self.frames)//frame_skip, 'camera poses to', output_path)    #hxz

    # print 'exporting camera intrinsics to', output_path #hxz
    print ('exporting camera intrinsics to', output_path)    #hxz        

报错2

ImportError: No module named png
参考:https://github.com/liuwons/wxBot/issues/79
pip install pypng 可以有效安装

(isdf) meng@meng:/media/meng/T7/dataset/ScanNet/scans/scene0004_00$ pip3 install pypng
Collecting pypng
  Downloading pypng-0.20220715.0-py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 486 kB/s 
Installing collected packages: pypng
Successfully installed pypng-0.20220715.0

(3)其他序列同样处理:

scene0005_00
python reader.py --filename scene0005_00.sens --output_path . --export_depth_images --export_color_images --export_poses --export_intrinsics

scene0009_00
python reader.py --filename scene0009_00.sens --output_path . --export_depth_images --export_color_images --export_poses --export_intrinsics

scene0010_00
python reader.py --filename scene0010_00.sens --output_path . --export_depth_images --export_color_images --export_poses --export_intrinsics

scene0030_00
python reader.py --filename scene0030_00.sens --output_path . --export_depth_images --export_color_images --export_poses --export_intrinsics

scene0031_00
python reader.py --filename scene0031_00.sens --output_path . --export_depth_images --export_color_images --export_poses --export_intrinsics

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到