• 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
    • 2
    • 3
    • 4

    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
    • 2
    • 3
    • 4
    • 5
    • 6

    (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/
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    参考下面(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
    
    • 1
    • 2
    • 3

    结合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        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    报错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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    (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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
  • 相关阅读:
    从零开始使用webpack搭建一个react项目
    创建型模式-设计模式
    JAVA线程与锁的笔记
    linux套接字-Socket
    C#.NET Framework RSA 公钥加密 私钥解密 ver:20230609
    使用C#调用P6 Primavera WebService(自建服务IntegrationAPI)
    日本率先研发成功6G设备,刺痛了谁?为何日本能率先突破?
    会做梦的人,个个都是天才!(深度)
    互联网摸鱼日报(2023-10-16)
    php多实例
  • 原文地址:https://blog.csdn.net/BIT_HXZ/article/details/127641860