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


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

3附录

3.1 python2.7(ubuntu18.04自带环境)–环境配置:

python2.7环境配置如下(红字就不需要管啦)
在这里插入图片描述

meng@meng:~$ python
Python 2.7.17 (default, Jul  1 2022, 15:56:32) 
[GCC 7.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
meng@meng:~$ pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
actionlib (1.12.1)
angles (1.9.12)
asn1crypto (0.24.0)
attrs (17.4.0)
autobahn (17.10.1)
Automat (0.6.0)
backports.functools-lru-cache (1.4)
base-local-planner (1.16.7)
beautifulsoup4 (4.6.0)
bzr (2.8.0.dev1)
cairocffi (0.8.0)
CairoSVG (1.0.20)
camera-calibration-parsers (1.11.13)
catkin (0.7.29)
catkin-pkg (0.5.2)
catkin-pkg-modules (0.5.2)
catkin-tools (0.6.1)
cbor (1.0.0)
cffi (1.11.5)
chardet (3.0.4)
click (6.7)
colorama (0.3.7)
configobj (5.0.6)
configparser (3.5.0)
constantly (15.1.0)
controller-manager (0.18.4)
controller-manager-msgs (0.18.4)
cryptography (2.1.4)
cv-bridge (1.13.0)
cwiid (0.6.0)
cycler (0.10.0)
Cython (0.26.1)
defusedxml (0.5.0)
diagnostic-updater (1.9.7)
dnspython (1.15.0)
docutils (0.18.1)
drone-wrapper (1.3.10)
dynamic-reconfigure (1.6.5)
empy (3.3.2)
enum34 (1.1.10)
future (0.15.2)
futures (3.4.0)
gazebo-plugins (2.8.7)
gazebo-ros (2.8.7)
gencpp (0.6.5)
geneus (2.2.6)
genlisp (0.4.16)
genmsg (0.5.16)
gennodejs (2.0.1)
genpy (0.6.16)
html5lib (0.999999999)
httplib2 (0.9.2)
hyperlink (17.3.1)
idna (2.6)
image-geometry (1.13.0)
imageio (2.6.0)
incremental (16.10.1)
interactive-markers (1.11.5)
ipaddress (1.0.17)
joint-state-publisher (1.12.15)
joy-listener (0.2.6)
joy-mouse (0.1.15)
keyring (10.6.0)
keyrings.alt (3.0)
laser-geometry (1.6.7)
launchpadlib (1.10.6)
lazr.restfulclient (0.13.5)
lazr.uri (1.0.3)
lxml (4.2.1)
lz4 (0.10.1)
matplotlib (2.1.1)
mavros (1.13.0)
mercurial (4.5.3)
message-filters (1.14.13)
mpi4py (2.0.0)
netifaces (0.10.4)
nose (1.3.7)
numpy (1.16.6)
oauth (1.0.1)
olefile (0.45.1)
osrf-pycommon (0.2.1)
PAM (0.4.2)
paramiko (2.0.0)
Pillow (6.2.2)
pip (9.0.1)
ply (3.11)
Printrun (1.6.0)
psutil (5.4.2)
py-trees (0.6.9)
py-ubjson (0.8.5)
pyasn1 (0.4.2)
pyasn1-modules (0.2.1)
PyBluez (0.18)
pycairo (1.16.2)
pycparser (2.18)
pycrypto (2.6.1)
pycryptodomex (3.4.7)
pydot (1.2.3)
pyglet (1.3.0)
Pygments (2.2.0)
pygobject (3.26.1)
pygraphviz (1.4rc1)
PyNaCl (1.1.2)
PyOpenGL (3.1.0)
pyOpenSSL (17.5.0)
pyparsing (2.4.7)
pypng (0.0.20)
pyserial (3.4)
python-dateutil (2.8.2)
python-gnupg (0.4.1)
python-qt-binding (0.4.4)
python-snappy (0.5)
PyTrie (0.2)
pytz (2018.3)
pyudev (0.21.0)
pyxdg (0.25)
PyYAML (5.4.1)
qrcode (5.3)
qt-dotgraph (0.4.2)
qt-gui (0.4.2)
qt-gui-cpp (0.4.2)
qt-gui-py-common (0.4.2)
resource-retriever (1.12.7)
roman (2.0.0)
rosbag (1.14.13)
rosboost-cfg (1.14.9)
rosclean (1.14.9)
roscreate (1.14.9)
rosdep-modules (0.22.1)
rosdistro (0.9.0)
rosdistro-modules (0.9.0)
rosgraph (1.14.13)
rosinstall (0.7.8)
roslaunch (1.14.13)
roslib (1.14.9)
roslint (0.11.2)
roslz4 (1.14.13)
rosmake (1.14.9)
rosmaster (1.14.13)
rosmsg (1.14.13)
rosnode (1.14.13)
rosparam (1.14.13)
rospkg (1.4.0)
rospkg-modules (1.4.0)
rospy (1.14.13)
rosservice (1.14.13)
rostest (1.14.13)
rostopic (1.14.13)
rosunit (1.14.9)
roswtf (1.14.13)
rqt-action (0.4.9)
rqt-bag (0.5.1)
rqt-bag-plugins (0.5.1)
rqt-console (0.4.9)
rqt-controller-manager (0.18.4)
rqt-dep (0.4.9)
rqt-drone-teleop (1.3.10)
rqt-ez-publisher (0.5.0)
rqt-graph (0.4.11)
rqt-ground-robot-teleop (1.3.10)
rqt-gui (0.5.3)
rqt-gui-py (0.5.3)
rqt-image-view (0.4.16)
rqt-joint-trajectory-controller (0.17.2)
rqt-joint-trajectory-plot (0.0.5)
rqt-launch (0.4.8)
rqt-launchtree (0.2.0)
rqt-logger-level (0.4.8)
rqt-moveit (0.5.10)
rqt-msg (0.4.8)
rqt-multiplot (0.0.10)
rqt-nav-view (0.5.7)
rqt-play-motion-builder (1.0.2)
rqt-plot (0.4.13)
rqt-pose-view (0.5.8)
rqt-publisher (0.4.8)
rqt-py-common (0.5.3)
rqt-py-console (0.4.8)
rqt-py-trees (0.3.1)
rqt-reconfigure (0.5.4)
rqt-robot-dashboard (0.5.7)
rqt-robot-monitor (0.5.14)
rqt-robot-steering (0.5.10)
rqt-rotors (2.2.3)
rqt-runtime-monitor (0.5.7)
rqt-rviz (0.7.0)
rqt-service-caller (0.4.8)
rqt-shell (0.4.9)
rqt-srv (0.4.8)
rqt-tf-tree (0.6.0)
rqt-top (0.4.8)
rqt-topic (0.4.11)
rqt-virtual-joy (0.1.2)
rqt-web (0.4.8)
rviz (1.13.29)
SecretStorage (2.3.1)
sensor-msgs (1.12.8)
service-identity (16.0.0)
setuptools (44.1.1)
simplejson (3.13.2)
six (1.16.0)
smach (2.0.1)
smclib (1.8.5)
subprocess32 (3.2.7)
termcolor (1.1.0)
tf (1.12.1)
tf-conversions (1.12.1)
tf2-geometry-msgs (0.6.5)
tf2-kdl (0.6.5)
tf2-py (0.6.5)
tf2-ros (0.6.5)
tf2-sensor-msgs (0.6.5)
topic-tools (1.14.13)
trollius (2.0.1)
Twisted (17.9.0)
txaio (2.8.1)
u-msgpack-python (2.1)
unique-id (1.0.6)
vcstools (0.1.42)
wadllib (1.3.2)
webencodings (0.5)
wheel (0.30.0)
wiimote (1.14.0)
wsaccel (0.6.2)
wstool (0.1.17)
wxPython (3.0.2.0)
wxPython-common (3.0.2.0)
xacro (1.13.17)
xcffib (0.5.1)
zope.interface (4.3.2)
Scannet是一个室内场景的RGB-D数据集,可以用于计算机视觉和深度学习的研究和开发。如果你想下载Scannet数据集,可以按照以下步骤进行操作。 首先,打开Scannet数据集官方网站(https://www.scan-net.org/)。 其次,在网站的主页上,你可以找到一个"Downloads"(下载)链接,点击进入下载页面。 在下载页面上,你可以看到不同版本和格式的Scannet数据集可供下载。根据你的需要,选择适合你的数据集版本。 接下来,你需要填写一个下载请求表格,提供你的姓名、电子邮件地址、所在机构等信息。填写表格后,点击提交按钮。 提交请求后,你将会收到一封包含下载链接的确认电子邮件。打开确认邮件,并点击下载链接。 点击下载链接后,数据集将开始下载数据集的大小较大,可能需要一些时间来完成下载过程。请确保你的网络连接稳定并具备足够的存储空间。 一旦下载完成,你可以解压缩数据集文件并开始使用Scannet数据集进行研究或开发。数据集文件通常包含了室内场景的深度图像、RGB像、相机姿态信息、语义标签等数据。 需要注意的是,Scannet数据集是出于学术研究目的而提供的,因此在使用数据集时请遵守相关法律法规和学术道德规范,同时请尊重数据集的使用限制和许可协议。 希望上述内容能够对你下载Scannet数据集有所帮助!
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值