Jingkang Yang commited on
Commit
1a1c3c3
1 Parent(s): 0765b52

support scannet

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitignore +2 -1
  2. UI/scannetv2/examples/scene0000_00/color/1660.jpg +0 -0
  3. UI/scannetv2/examples/scene0000_00/color/5560.jpg +0 -0
  4. UI/scannetv2/examples/scene0000_00/depth/1660.png +0 -0
  5. UI/scannetv2/examples/scene0000_00/depth/5560.png +0 -0
  6. UI/scannetv2/examples/scene0000_00/intrinsics/extrinsic_color.txt +4 -0
  7. UI/scannetv2/examples/scene0000_00/intrinsics/extrinsic_depth.txt +4 -0
  8. UI/scannetv2/examples/scene0000_00/intrinsics/intrinsic_color.txt +4 -0
  9. UI/scannetv2/examples/scene0000_00/intrinsics/intrinsic_depth.txt +4 -0
  10. UI/scannetv2/examples/scene0000_00/pose/1660.txt +4 -0
  11. UI/scannetv2/examples/scene0000_00/pose/5560.txt +4 -0
  12. app.py +97 -17
  13. datasets/scannet_preprocess/meta_data/classes_ObjClassification-ShapeNetCore55.txt +17 -0
  14. datasets/scannet_preprocess/meta_data/classes_SemVoxLabel-nyu40id.txt +20 -0
  15. datasets/scannet_preprocess/meta_data/scannet200_constants.py +295 -0
  16. datasets/scannet_preprocess/meta_data/scannet200_splits.py +18 -0
  17. datasets/scannet_preprocess/meta_data/scannet_means.npz +3 -0
  18. datasets/scannet_preprocess/meta_data/scannetv1_test.txt +312 -0
  19. datasets/scannet_preprocess/meta_data/scannetv1_train.txt +1045 -0
  20. datasets/scannet_preprocess/meta_data/scannetv1_val.txt +156 -0
  21. datasets/scannet_preprocess/meta_data/scannetv2-labels-old.combined.tsv +608 -0
  22. datasets/scannet_preprocess/meta_data/scannetv2-labels.combined.tsv +608 -0
  23. datasets/scannet_preprocess/meta_data/scannetv2_test.txt +100 -0
  24. datasets/scannet_preprocess/meta_data/scannetv2_train.txt +1201 -0
  25. datasets/scannet_preprocess/meta_data/scannetv2_val.txt +312 -0
  26. datasets/scannet_preprocess/prepare_2d_data/SensorData.py +121 -0
  27. datasets/scannet_preprocess/prepare_2d_data/prepare_2d_data.py +123 -0
  28. datasets/scannet_preprocess/prepare_2d_data/util.py +127 -0
  29. datasets/scannet_preprocess/preprocess_scannet.py +215 -0
  30. datasets/scannet_preprocess/scannet_pair/SensorData.py +121 -0
  31. datasets/scannet_preprocess/scannet_pair/compute_full_overlapping.py +80 -0
  32. datasets/scannet_preprocess/scannet_pair/generage_list.py +31 -0
  33. datasets/scannet_preprocess/scannet_pair/plyfile.py +916 -0
  34. datasets/scannet_preprocess/scannet_pair/point_cloud_extractor.py +89 -0
  35. datasets/scannet_preprocess/scannet_pair/preprocess.py +38 -0
  36. datasets/scannet_preprocess/scannet_pair/reader.py +27 -0
  37. open_vocab_seg/__pycache__/__init__.cpython-39.pyc +0 -0
  38. open_vocab_seg/__pycache__/config.cpython-39.pyc +0 -0
  39. open_vocab_seg/__pycache__/mask_former_model.cpython-39.pyc +0 -0
  40. open_vocab_seg/__pycache__/ovseg_model.cpython-39.pyc +0 -0
  41. open_vocab_seg/__pycache__/test_time_augmentation.cpython-39.pyc +0 -0
  42. open_vocab_seg/data/__pycache__/__init__.cpython-39.pyc +0 -0
  43. open_vocab_seg/data/__pycache__/build.cpython-39.pyc +0 -0
  44. open_vocab_seg/data/dataset_mappers/__pycache__/__init__.cpython-39.pyc +0 -0
  45. open_vocab_seg/data/dataset_mappers/__pycache__/mask_former_semantic_dataset_mapper.cpython-39.pyc +0 -0
  46. open_vocab_seg/data/datasets/__pycache__/__init__.cpython-39.pyc +0 -0
  47. open_vocab_seg/data/datasets/__pycache__/register_ade20k_full.cpython-39.pyc +0 -0
  48. open_vocab_seg/data/datasets/__pycache__/register_cc3m.cpython-39.pyc +0 -0
  49. open_vocab_seg/data/datasets/__pycache__/register_coco_stuff.cpython-39.pyc +0 -0
  50. open_vocab_seg/data/datasets/__pycache__/register_pascal_context.cpython-39.pyc +0 -0
.gitignore CHANGED
@@ -1 +1,2 @@
1
- *.zip
 
 
1
+ *.zip
2
+ *.pyc
UI/scannetv2/examples/scene0000_00/color/1660.jpg ADDED
UI/scannetv2/examples/scene0000_00/color/5560.jpg ADDED
UI/scannetv2/examples/scene0000_00/depth/1660.png ADDED
UI/scannetv2/examples/scene0000_00/depth/5560.png ADDED
UI/scannetv2/examples/scene0000_00/intrinsics/extrinsic_color.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ 1.000000 0.000000 0.000000 0.000000
2
+ 0.000000 1.000000 0.000000 0.000000
3
+ 0.000000 0.000000 1.000000 0.000000
4
+ 0.000000 0.000000 0.000000 1.000000
UI/scannetv2/examples/scene0000_00/intrinsics/extrinsic_depth.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ 1.000000 0.000000 0.000000 0.000000
2
+ 0.000000 1.000000 0.000000 0.000000
3
+ 0.000000 0.000000 1.000000 0.000000
4
+ 0.000000 0.000000 0.000000 1.000000
UI/scannetv2/examples/scene0000_00/intrinsics/intrinsic_color.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ 1169.621094 0.000000 646.295044 0.000000
2
+ 0.000000 1167.105103 489.927032 0.000000
3
+ 0.000000 0.000000 1.000000 0.000000
4
+ 0.000000 0.000000 0.000000 1.000000
UI/scannetv2/examples/scene0000_00/intrinsics/intrinsic_depth.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ 577.590698 0.000000 318.905426 0.000000
2
+ 0.000000 578.729797 242.683609 0.000000
3
+ 0.000000 0.000000 1.000000 0.000000
4
+ 0.000000 0.000000 0.000000 1.000000
UI/scannetv2/examples/scene0000_00/pose/1660.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ 0.470083 -0.286393 0.834866 4.877258
2
+ -0.882320 -0.127731 0.452986 4.841086
3
+ -0.023094 -0.949560 -0.312735 1.390592
4
+ 0.000000 0.000000 0.000000 1.000000
UI/scannetv2/examples/scene0000_00/pose/5560.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ -0.994579 -0.050921 0.090665 2.842624
2
+ -0.101826 0.300126 -0.948449 3.131151
3
+ 0.021085 -0.952539 -0.303684 1.467106
4
+ 0.000000 0.000000 0.000000 1.000000
app.py CHANGED
@@ -1,20 +1,18 @@
1
  # Copyright (c) Facebook, Inc. and its affiliates.
2
  # Copyright (c) Meta Platforms, Inc. All Rights Reserved
 
 
 
 
3
  # try:
4
- # import torch
5
  # except:
6
- import os
7
- os.system('pip install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html')
8
-
9
- try:
10
- import detectron2
11
- except:
12
- import os
13
- # os.system('cd /home/user/app/third_party/CLIP && pip install -Ue .')
14
- os.system('pip install git+https://github.com/Jun-CEN/CLIP.git')
15
- os.system('pip install git+https://github.com/facebookresearch/detectron2.git')
16
- os.system('pip install git+https://github.com/facebookresearch/pytorch3d.git')
17
- os.system('pip install git+https://github.com/facebookresearch/segment-anything.git')
18
 
19
  import argparse
20
  import glob
@@ -33,7 +31,7 @@ from detectron2.data.detection_utils import read_image
33
  from detectron2.utils.logger import setup_logger
34
  from open_vocab_seg import add_ovseg_config
35
 
36
- from open_vocab_seg.utils import VisualizationDemo
37
 
38
  # constants
39
  WINDOW_NAME = "Open vocabulary segmentation"
@@ -88,7 +86,7 @@ def get_parser():
88
 
89
  args = get_parser().parse_args()
90
 
91
- def greet(rgb_input, depth_map_input, rage_matrices_input, class_candidates):
92
  print(args.class_names)
93
  print(class_candidates[0], class_candidates[1], class_candidates[2], class_candidates[3],)
94
  print(class_candidates.split(', '))
@@ -157,6 +155,51 @@ def greet(rgb_input, depth_map_input, rage_matrices_input, class_candidates):
157
  RGB_Semantic_SAM_Mask_gif = 'outputs/rgb_3d_sam_mask.mp4'
158
  return RGB_Semantic_SAM_Mask, RGB_Semantic_SAM_Mask_gif, Depth_map, Depth_Semantic_SAM_Mask, Depth_Semantic_SAM_Mask_gif
159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  with gr.Blocks(analytics_enabled=False) as segrgbd_iface:
161
  gr.Markdown("<div align='center'> <h2> Semantic Segment AnyRGBD </span> </h2> \
162
  <a style='font-size:18px;color: #000000' href='https://github.com/Jun-CEN/SegmentAnyRGBD'> Github </div>")
@@ -199,10 +242,47 @@ with gr.Blocks(analytics_enabled=False) as segrgbd_iface:
199
  ]],
200
  inputs=[Input_RGB_Component, Depth_Map_Input_Component, Component_2D_to_3D_Projection_Parameters, Class_Candidates_Component],
201
  outputs=[RGB_Semantic_SAM_Mask_Component, RGB_Semantic_SAM_Mask_3D_Component, Depth_Map_Output_Component, Depth_Semantic_SAM_Mask_Component, Depth_Semantic_SAM_Mask_3D_Component],
202
- fn=greet)
203
  vc_end_btn.click(inputs=[Input_RGB_Component, Depth_Map_Input_Component, Component_2D_to_3D_Projection_Parameters, Class_Candidates_Component],
204
  outputs=[RGB_Semantic_SAM_Mask_Component, RGB_Semantic_SAM_Mask_3D_Component, Depth_Map_Output_Component, Depth_Semantic_SAM_Mask_Component, Depth_Semantic_SAM_Mask_3D_Component],
205
- fn=greet)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
 
207
  demo = segrgbd_iface
208
  demo.launch()
 
1
  # Copyright (c) Facebook, Inc. and its affiliates.
2
  # Copyright (c) Meta Platforms, Inc. All Rights Reserved
3
+
4
+ # import os
5
+ # os.system('pip install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html')
6
+
7
  # try:
8
+ # import detectron2
9
  # except:
10
+ # import os
11
+ # # os.system('cd /home/user/app/third_party/CLIP && pip install -Ue .')
12
+ # os.system('pip install git+https://github.com/Jun-CEN/CLIP.git')
13
+ # os.system('pip install git+https://github.com/facebookresearch/detectron2.git')
14
+ # os.system('pip install git+https://github.com/facebookresearch/pytorch3d.git')
15
+ # os.system('pip install git+https://github.com/facebookresearch/segment-anything.git')
 
 
 
 
 
 
16
 
17
  import argparse
18
  import glob
 
31
  from detectron2.utils.logger import setup_logger
32
  from open_vocab_seg import add_ovseg_config
33
 
34
+ from open_vocab_seg.utils import VisualizationDemo, VisualizationDemoIndoor
35
 
36
  # constants
37
  WINDOW_NAME = "Open vocabulary segmentation"
 
86
 
87
  args = get_parser().parse_args()
88
 
89
+ def greet_sailvos3d(rgb_input, depth_map_input, rage_matrices_input, class_candidates):
90
  print(args.class_names)
91
  print(class_candidates[0], class_candidates[1], class_candidates[2], class_candidates[3],)
92
  print(class_candidates.split(', '))
 
155
  RGB_Semantic_SAM_Mask_gif = 'outputs/rgb_3d_sam_mask.mp4'
156
  return RGB_Semantic_SAM_Mask, RGB_Semantic_SAM_Mask_gif, Depth_map, Depth_Semantic_SAM_Mask, Depth_Semantic_SAM_Mask_gif
157
 
158
+ def greet_scannet(rgb_input, depth_map_input, class_candidates):
159
+ rgb_input = rgb_input
160
+ depth_map_input = depth_map_input.name
161
+ class_candidates = class_candidates.split(', ')
162
+ print(rgb_input, depth_map_input, class_candidates)
163
+ mp.set_start_method("spawn", force=True)
164
+ args = get_parser().parse_args()
165
+ setup_logger(name="fvcore")
166
+ logger = setup_logger()
167
+ logger.info("Arguments: " + str(args))
168
+
169
+ cfg = setup_cfg(args)
170
+
171
+ demo = VisualizationDemoIndoor(cfg)
172
+ from datasets.scannet_preprocess.meta_data.scannet200_constants import CLASS_LABELS_200
173
+ class_names = list(CLASS_LABELS_200)
174
+ """ args.input = glob.glob(os.path.expanduser(args.input[0]))
175
+ assert args.input, "The input path(s) was not found" """
176
+ start_time = time.time()
177
+ predictions, output2D, output3D = demo.run_on_pcd_ui(rgb_input, depth_map_input, class_candidates)
178
+
179
+ output2D['sem_seg_on_rgb'].save('outputs/RGB_Semantic_SAM.png')
180
+ output2D['sem_seg_on_depth'].save('outputs/Depth_Semantic_SAM.png')
181
+ output2D['sam_seg_on_rgb'].save('outputs/RGB_Semantic_SAM_Mask.png')
182
+ output2D['sam_seg_on_depth'].save('outputs/Depth_Semantic_SAM_Mask.png')
183
+ """ rgb_3d_sam = demo.get_xyzrgb('outputs/RGB_Semantic_SAM.png', path)
184
+ depth_3d_sam = demo.get_xyzrgb('outputs/Depth_Semantic_SAM.png', path)
185
+ rgb_3d_sam_mask = demo.get_xyzrgb('outputs/RGB_Semantic_SAM_Mask.png', path)
186
+ depth_3d_sam_mask = demo.get_xyzrgb(outputs/'Depth_Semantic_SAM_Mask.png', path) """
187
+ rgb_3d_sem = output3D['rgb_3d_sem']
188
+ depth_3d_sem = output3D['depth_3d_sem']
189
+ rgb_3d_sam = output3D['rgb_3d_sam']
190
+ depth_3d_sam = output3D['depth_3d_sam']
191
+
192
+ np.savez('outputs/xyzrgb.npz', rgb_3d_sam = rgb_3d_sem, depth_3d_sam = depth_3d_sem, rgb_3d_sam_mask = rgb_3d_sam, depth_3d_sam_mask = depth_3d_sam)
193
+ demo.render_3d_video('outputs/xyzrgb.npz')
194
+
195
+ Depth_Semantic_SAM_Mask = read_image('outputs/Depth_Semantic_SAM_Mask.png')
196
+ RGB_Semantic_SAM_Mask = read_image('outputs/RGB_Semantic_SAM_Mask.png')
197
+ Depth_map = read_image('outputs/Depth_rendered.png')
198
+ Depth_Semantic_SAM_Mask_gif = 'outputs/depth_3d_sam_mask.mp4'
199
+ RGB_Semantic_SAM_Mask_gif = 'outputs/rgb_3d_sam_mask.mp4'
200
+ return RGB_Semantic_SAM_Mask, RGB_Semantic_SAM_Mask_gif, Depth_map, Depth_Semantic_SAM_Mask, Depth_Semantic_SAM_Mask_gif
201
+
202
+
203
  with gr.Blocks(analytics_enabled=False) as segrgbd_iface:
204
  gr.Markdown("<div align='center'> <h2> Semantic Segment AnyRGBD </span> </h2> \
205
  <a style='font-size:18px;color: #000000' href='https://github.com/Jun-CEN/SegmentAnyRGBD'> Github </div>")
 
242
  ]],
243
  inputs=[Input_RGB_Component, Depth_Map_Input_Component, Component_2D_to_3D_Projection_Parameters, Class_Candidates_Component],
244
  outputs=[RGB_Semantic_SAM_Mask_Component, RGB_Semantic_SAM_Mask_3D_Component, Depth_Map_Output_Component, Depth_Semantic_SAM_Mask_Component, Depth_Semantic_SAM_Mask_3D_Component],
245
+ fn=greet_sailvos3d)
246
  vc_end_btn.click(inputs=[Input_RGB_Component, Depth_Map_Input_Component, Component_2D_to_3D_Projection_Parameters, Class_Candidates_Component],
247
  outputs=[RGB_Semantic_SAM_Mask_Component, RGB_Semantic_SAM_Mask_3D_Component, Depth_Map_Output_Component, Depth_Semantic_SAM_Mask_Component, Depth_Semantic_SAM_Mask_3D_Component],
248
+ fn=greet_sailvos3d)
249
+
250
+ with gr.Tab(label="Dataset: Scannet"):
251
+ with gr.Column():
252
+ with gr.Row():
253
+ # with gr.Tab(label='input'):
254
+ with gr.Column():
255
+ with gr.Row():
256
+ Input_RGB_Component = gr.Image(label = 'RGB_Input', type = 'filepath').style(width=320, height=200)
257
+ Depth_Map_Output_Component = gr.Image(label = "Depth_Map").style(width=320, height=200)
258
+ with gr.Row():
259
+ Depth_Map_Input_Component = gr.File(label = "Depth_Map")
260
+ Class_Candidates_Component = gr.Text(label = 'Class_Candidates')
261
+ vc_end_btn = gr.Button("Send")
262
+ with gr.Tab(label='Result'):
263
+ with gr.Row():
264
+ RGB_Semantic_SAM_Mask_Component = gr.Image(label = "RGB_Semantic_SAM_Mask").style(width=320, height=200)
265
+ RGB_Semantic_SAM_Mask_3D_Component = gr.Video(label = "Video_3D_RGB_Semantic_SAM_Mask").style(width=320, height=200)
266
+ with gr.Row():
267
+ Depth_Semantic_SAM_Mask_Component = gr.Image(label = "Depth_Semantic_SAM_Mask").style(width=320, height=200)
268
+ Depth_Semantic_SAM_Mask_3D_Component = gr.Video(label = "Video_3D_Depth_Semantic_SAM_Mask").style(width=320, height=200)
269
+ gr.Examples(examples=[
270
+ [
271
+ 'UI/scannetv2/examples/scene0000_00/color/1660.jpg',
272
+ 'UI/scannetv2/examples/scene0000_00/depth/1660.png',
273
+ 'wall, floor, cabinet, bed, chair, sofa, table, door, window, bookshelf, picture, counter, desk, curtain, refrigerator, shower curtain, toilet, sink, bathtub, other furniture',
274
+ ],
275
+ [
276
+ 'UI/scannetv2/examples/scene0000_00/color/5560.jpg',
277
+ 'UI/scannetv2/examples/scene0000_00/depth/5560.png',
278
+ 'wall, floor, cabinet, bed, chair, sofa, table, door, window, bookshelf, picture, counter, desk, curtain, refrigerator, shower curtain, toilet, sink, bathtub, other furniture',
279
+ ]],
280
+ inputs=[Input_RGB_Component, Depth_Map_Input_Component, Class_Candidates_Component],
281
+ outputs=[RGB_Semantic_SAM_Mask_Component, RGB_Semantic_SAM_Mask_3D_Component, Depth_Map_Output_Component, Depth_Semantic_SAM_Mask_Component, Depth_Semantic_SAM_Mask_3D_Component],
282
+ fn=greet_scannet)
283
+ vc_end_btn.click(inputs=[Input_RGB_Component, Depth_Map_Input_Component, Class_Candidates_Component],
284
+ outputs=[RGB_Semantic_SAM_Mask_Component, RGB_Semantic_SAM_Mask_3D_Component, Depth_Map_Output_Component, Depth_Semantic_SAM_Mask_Component, Depth_Semantic_SAM_Mask_3D_Component],
285
+ fn=greet_scannet)
286
 
287
  demo = segrgbd_iface
288
  demo.launch()
datasets/scannet_preprocess/meta_data/classes_ObjClassification-ShapeNetCore55.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 1 trash
2
+ 3 basket
3
+ 4 bathtub
4
+ 5 bed
5
+ 9 shelf
6
+ 13 cabinet
7
+ 18 chair
8
+ 20 keyboard
9
+ 22 tv
10
+ 30 lamp
11
+ 31 laptop
12
+ 35 microwave
13
+ 39 pillow
14
+ 42 printer
15
+ 47 sofa
16
+ 48 stove
17
+ 49 table
datasets/scannet_preprocess/meta_data/classes_SemVoxLabel-nyu40id.txt ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 1 wall
2
+ 2 floor
3
+ 3 cabinet
4
+ 4 bed
5
+ 5 chair
6
+ 6 sofa
7
+ 7 table
8
+ 8 door
9
+ 9 window
10
+ 10 bookshelf
11
+ 11 picture
12
+ 12 counter
13
+ 14 desk
14
+ 16 curtain
15
+ 24 refridgerator
16
+ 28 shower curtain
17
+ 33 toilet
18
+ 34 sink
19
+ 36 bathtub
20
+ 39 otherfurniture
datasets/scannet_preprocess/meta_data/scannet200_constants.py ADDED
@@ -0,0 +1,295 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ScanNet Benchmark constants
2
+ VALID_CLASS_IDS_20 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 24, 28, 33, 34, 36, 39)
3
+
4
+ CLASS_LABELS_20 = ('wall', 'floor', 'cabinet', 'bed', 'chair', 'sofa', 'table', 'door', 'window',
5
+ 'bookshelf', 'picture', 'counter', 'desk', 'curtain', 'refrigerator',
6
+ 'shower curtain', 'toilet', 'sink', 'bathtub', 'otherfurniture')
7
+
8
+ SCANNET_COLOR_MAP_20 = {
9
+ 0: (0., 0., 0.),
10
+ 1: (174., 199., 232.),
11
+ 2: (152., 223., 138.),
12
+ 3: (31., 119., 180.),
13
+ 4: (255., 187., 120.),
14
+ 5: (188., 189., 34.),
15
+ 6: (140., 86., 75.),
16
+ 7: (255., 152., 150.),
17
+ 8: (214., 39., 40.),
18
+ 9: (197., 176., 213.),
19
+ 10: (148., 103., 189.),
20
+ 11: (196., 156., 148.),
21
+ 12: (23., 190., 207.),
22
+ 14: (247., 182., 210.),
23
+ 15: (66., 188., 102.),
24
+ 16: (219., 219., 141.),
25
+ 17: (140., 57., 197.),
26
+ 18: (202., 185., 52.),
27
+ 19: (51., 176., 203.),
28
+ 20: (200., 54., 131.),
29
+ 21: (92., 193., 61.),
30
+ 22: (78., 71., 183.),
31
+ 23: (172., 114., 82.),
32
+ 24: (255., 127., 14.),
33
+ 25: (91., 163., 138.),
34
+ 26: (153., 98., 156.),
35
+ 27: (140., 153., 101.),
36
+ 28: (158., 218., 229.),
37
+ 29: (100., 125., 154.),
38
+ 30: (178., 127., 135.),
39
+ 32: (146., 111., 194.),
40
+ 33: (44., 160., 44.),
41
+ 34: (112., 128., 144.),
42
+ 35: (96., 207., 209.),
43
+ 36: (227., 119., 194.),
44
+ 37: (213., 92., 176.),
45
+ 38: (94., 106., 211.),
46
+ 39: (82., 84., 163.),
47
+ 40: (100., 85., 144.),
48
+ }
49
+
50
+ # ScanNet200 Benchmark constants
51
+ VALID_CLASS_IDS_200 = (
52
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35,
53
+ 36, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69,
54
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 86, 87, 88, 89, 90, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103,
55
+ 104, 105, 106, 107, 110, 112, 115, 116, 118, 120, 121, 122, 125, 128, 130, 131, 132, 134, 136, 138, 139, 140, 141,
56
+ 145, 148, 154, 155, 156, 157, 159, 161, 163, 165, 166, 168, 169, 170, 177, 180, 185, 188, 191, 193, 195, 202, 208,
57
+ 213, 214, 221, 229, 230, 232, 233, 242, 250, 261, 264, 276, 283, 286, 300, 304, 312, 323, 325, 331, 342, 356, 370,
58
+ 392, 395, 399, 408, 417, 488, 540, 562, 570, 572, 581, 609, 748, 776, 1156, 1163, 1164, 1165, 1166, 1167, 1168,
59
+ 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188,
60
+ 1189, 1190, 1191)
61
+
62
+ CLASS_LABELS_200 = (
63
+ 'wall', 'chair', 'floor', 'table', 'door', 'couch', 'cabinet', 'shelf', 'desk', 'office chair', 'bed', 'pillow',
64
+ 'sink', 'picture', 'window', 'toilet', 'bookshelf', 'monitor', 'curtain', 'book', 'armchair', 'coffee table', 'box',
65
+ 'refrigerator', 'lamp', 'kitchen cabinet', 'towel', 'clothes', 'tv', 'nightstand', 'counter', 'dresser', 'stool',
66
+ 'cushion', 'plant', 'ceiling', 'bathtub', 'end table', 'dining table', 'keyboard', 'bag', 'backpack',
67
+ 'toilet paper', 'printer', 'tv stand', 'whiteboard', 'blanket', 'shower curtain', 'trash can', 'closet', 'stairs',
68
+ 'microwave', 'stove', 'shoe', 'computer tower', 'bottle', 'bin', 'ottoman', 'bench', 'board', 'washing machine',
69
+ 'mirror', 'copier', 'basket', 'sofa chair', 'file cabinet', 'fan', 'laptop', 'shower', 'paper', 'person',
70
+ 'paper towel dispenser', 'oven', 'blinds', 'rack', 'plate', 'blackboard', 'piano', 'suitcase', 'rail', 'radiator',
71
+ 'recycling bin', 'container', 'wardrobe', 'soap dispenser', 'telephone', 'bucket', 'clock', 'stand', 'light',
72
+ 'laundry basket', 'pipe', 'clothes dryer', 'guitar', 'toilet paper holder', 'seat', 'speaker', 'column', 'bicycle',
73
+ 'ladder', 'bathroom stall', 'shower wall', 'cup', 'jacket', 'storage bin', 'coffee maker', 'dishwasher',
74
+ 'paper towel roll', 'machine', 'mat', 'windowsill', 'bar', 'toaster', 'bulletin board', 'ironing board',
75
+ 'fireplace', 'soap dish', 'kitchen counter', 'doorframe', 'toilet paper dispenser', 'mini fridge',
76
+ 'fire extinguisher', 'ball', 'hat', 'shower curtain rod', 'water cooler', 'paper cutter', 'tray', 'shower door',
77
+ 'pillar', 'ledge', 'toaster oven', 'mouse', 'toilet seat cover dispenser', 'furniture', 'cart', 'storage container',
78
+ 'scale', 'tissue box', 'light switch', 'crate', 'power outlet', 'decoration', 'sign', 'projector', 'closet door',
79
+ 'vacuum cleaner', 'candle', 'plunger', 'stuffed animal', 'headphones', 'dish rack', 'broom', 'guitar case',
80
+ 'range hood', 'dustpan', 'hair dryer', 'water bottle', 'handicap bar', 'purse', 'vent', 'shower floor',
81
+ 'water pitcher', 'mailbox', 'bowl', 'paper bag', 'alarm clock', 'music stand', 'projector screen', 'divider',
82
+ 'laundry detergent', 'bathroom counter', 'object', 'bathroom vanity', 'closet wall', 'laundry hamper',
83
+ 'bathroom stall door', 'ceiling light', 'trash bin', 'dumbbell', 'stair rail', 'tube', 'bathroom cabinet',
84
+ 'cd case', 'closet rod', 'coffee kettle', 'structure', 'shower head', 'keyboard piano', 'case of water bottles',
85
+ 'coat rack', 'storage organizer', 'folded chair', 'fire alarm', 'power strip', 'calendar', 'poster', 'potted plant',
86
+ 'luggage', 'mattress')
87
+
88
+ SCANNET_COLOR_MAP_200 = {
89
+ 0: (0., 0., 0.),
90
+ 1: (174., 199., 232.),
91
+ 2: (188., 189., 34.),
92
+ 3: (152., 223., 138.),
93
+ 4: (255., 152., 150.),
94
+ 5: (214., 39., 40.),
95
+ 6: (91., 135., 229.),
96
+ 7: (31., 119., 180.),
97
+ 8: (229., 91., 104.),
98
+ 9: (247., 182., 210.),
99
+ 10: (91., 229., 110.),
100
+ 11: (255., 187., 120.),
101
+ 13: (141., 91., 229.),
102
+ 14: (112., 128., 144.),
103
+ 15: (196., 156., 148.),
104
+ 16: (197., 176., 213.),
105
+ 17: (44., 160., 44.),
106
+ 18: (148., 103., 189.),
107
+ 19: (229., 91., 223.),
108
+ 21: (219., 219., 141.),
109
+ 22: (192., 229., 91.),
110
+ 23: (88., 218., 137.),
111
+ 24: (58., 98., 137.),
112
+ 26: (177., 82., 239.),
113
+ 27: (255., 127., 14.),
114
+ 28: (237., 204., 37.),
115
+ 29: (41., 206., 32.),
116
+ 31: (62., 143., 148.),
117
+ 32: (34., 14., 130.),
118
+ 33: (143., 45., 115.),
119
+ 34: (137., 63., 14.),
120
+ 35: (23., 190., 207.),
121
+ 36: (16., 212., 139.),
122
+ 38: (90., 119., 201.),
123
+ 39: (125., 30., 141.),
124
+ 40: (150., 53., 56.),
125
+ 41: (186., 197., 62.),
126
+ 42: (227., 119., 194.),
127
+ 44: (38., 100., 128.),
128
+ 45: (120., 31., 243.),
129
+ 46: (154., 59., 103.),
130
+ 47: (169., 137., 78.),
131
+ 48: (143., 245., 111.),
132
+ 49: (37., 230., 205.),
133
+ 50: (14., 16., 155.),
134
+ 51: (196., 51., 182.),
135
+ 52: (237., 80., 38.),
136
+ 54: (138., 175., 62.),
137
+ 55: (158., 218., 229.),
138
+ 56: (38., 96., 167.),
139
+ 57: (190., 77., 246.),
140
+ 58: (208., 49., 84.),
141
+ 59: (208., 193., 72.),
142
+ 62: (55., 220., 57.),
143
+ 63: (10., 125., 140.),
144
+ 64: (76., 38., 202.),
145
+ 65: (191., 28., 135.),
146
+ 66: (211., 120., 42.),
147
+ 67: (118., 174., 76.),
148
+ 68: (17., 242., 171.),
149
+ 69: (20., 65., 247.),
150
+ 70: (208., 61., 222.),
151
+ 71: (162., 62., 60.),
152
+ 72: (210., 235., 62.),
153
+ 73: (45., 152., 72.),
154
+ 74: (35., 107., 149.),
155
+ 75: (160., 89., 237.),
156
+ 76: (227., 56., 125.),
157
+ 77: (169., 143., 81.),
158
+ 78: (42., 143., 20.),
159
+ 79: (25., 160., 151.),
160
+ 80: (82., 75., 227.),
161
+ 82: (253., 59., 222.),
162
+ 84: (240., 130., 89.),
163
+ 86: (123., 172., 47.),
164
+ 87: (71., 194., 133.),
165
+ 88: (24., 94., 205.),
166
+ 89: (134., 16., 179.),
167
+ 90: (159., 32., 52.),
168
+ 93: (213., 208., 88.),
169
+ 95: (64., 158., 70.),
170
+ 96: (18., 163., 194.),
171
+ 97: (65., 29., 153.),
172
+ 98: (177., 10., 109.),
173
+ 99: (152., 83., 7.),
174
+ 100: (83., 175., 30.),
175
+ 101: (18., 199., 153.),
176
+ 102: (61., 81., 208.),
177
+ 103: (213., 85., 216.),
178
+ 104: (170., 53., 42.),
179
+ 105: (161., 192., 38.),
180
+ 106: (23., 241., 91.),
181
+ 107: (12., 103., 170.),
182
+ 110: (151., 41., 245.),
183
+ 112: (133., 51., 80.),
184
+ 115: (184., 162., 91.),
185
+ 116: (50., 138., 38.),
186
+ 118: (31., 237., 236.),
187
+ 120: (39., 19., 208.),
188
+ 121: (223., 27., 180.),
189
+ 122: (254., 141., 85.),
190
+ 125: (97., 144., 39.),
191
+ 128: (106., 231., 176.),
192
+ 130: (12., 61., 162.),
193
+ 131: (124., 66., 140.),
194
+ 132: (137., 66., 73.),
195
+ 134: (250., 253., 26.),
196
+ 136: (55., 191., 73.),
197
+ 138: (60., 126., 146.),
198
+ 139: (153., 108., 234.),
199
+ 140: (184., 58., 125.),
200
+ 141: (135., 84., 14.),
201
+ 145: (139., 248., 91.),
202
+ 148: (53., 200., 172.),
203
+ 154: (63., 69., 134.),
204
+ 155: (190., 75., 186.),
205
+ 156: (127., 63., 52.),
206
+ 157: (141., 182., 25.),
207
+ 159: (56., 144., 89.),
208
+ 161: (64., 160., 250.),
209
+ 163: (182., 86., 245.),
210
+ 165: (139., 18., 53.),
211
+ 166: (134., 120., 54.),
212
+ 168: (49., 165., 42.),
213
+ 169: (51., 128., 133.),
214
+ 170: (44., 21., 163.),
215
+ 177: (232., 93., 193.),
216
+ 180: (176., 102., 54.),
217
+ 185: (116., 217., 17.),
218
+ 188: (54., 209., 150.),
219
+ 191: (60., 99., 204.),
220
+ 193: (129., 43., 144.),
221
+ 195: (252., 100., 106.),
222
+ 202: (187., 196., 73.),
223
+ 208: (13., 158., 40.),
224
+ 213: (52., 122., 152.),
225
+ 214: (128., 76., 202.),
226
+ 221: (187., 50., 115.),
227
+ 229: (180., 141., 71.),
228
+ 230: (77., 208., 35.),
229
+ 232: (72., 183., 168.),
230
+ 233: (97., 99., 203.),
231
+ 242: (172., 22., 158.),
232
+ 250: (155., 64., 40.),
233
+ 261: (118., 159., 30.),
234
+ 264: (69., 252., 148.),
235
+ 276: (45., 103., 173.),
236
+ 283: (111., 38., 149.),
237
+ 286: (184., 9., 49.),
238
+ 300: (188., 174., 67.),
239
+ 304: (53., 206., 53.),
240
+ 312: (97., 235., 252.),
241
+ 323: (66., 32., 182.),
242
+ 325: (236., 114., 195.),
243
+ 331: (241., 154., 83.),
244
+ 342: (133., 240., 52.),
245
+ 356: (16., 205., 144.),
246
+ 370: (75., 101., 198.),
247
+ 392: (237., 95., 251.),
248
+ 395: (191., 52., 49.),
249
+ 399: (227., 254., 54.),
250
+ 408: (49., 206., 87.),
251
+ 417: (48., 113., 150.),
252
+ 488: (125., 73., 182.),
253
+ 540: (229., 32., 114.),
254
+ 562: (158., 119., 28.),
255
+ 570: (60., 205., 27.),
256
+ 572: (18., 215., 201.),
257
+ 581: (79., 76., 153.),
258
+ 609: (134., 13., 116.),
259
+ 748: (192., 97., 63.),
260
+ 776: (108., 163., 18.),
261
+ 1156: (95., 220., 156.),
262
+ 1163: (98., 141., 208.),
263
+ 1164: (144., 19., 193.),
264
+ 1165: (166., 36., 57.),
265
+ 1166: (212., 202., 34.),
266
+ 1167: (23., 206., 34.),
267
+ 1168: (91., 211., 236.),
268
+ 1169: (79., 55., 137.),
269
+ 1170: (182., 19., 117.),
270
+ 1171: (134., 76., 14.),
271
+ 1172: (87., 185., 28.),
272
+ 1173: (82., 224., 187.),
273
+ 1174: (92., 110., 214.),
274
+ 1175: (168., 80., 171.),
275
+ 1176: (197., 63., 51.),
276
+ 1178: (175., 199., 77.),
277
+ 1179: (62., 180., 98.),
278
+ 1180: (8., 91., 150.),
279
+ 1181: (77., 15., 130.),
280
+ 1182: (154., 65., 96.),
281
+ 1183: (197., 152., 11.),
282
+ 1184: (59., 155., 45.),
283
+ 1185: (12., 147., 145.),
284
+ 1186: (54., 35., 219.),
285
+ 1187: (210., 73., 181.),
286
+ 1188: (221., 124., 77.),
287
+ 1189: (149., 214., 66.),
288
+ 1190: (72., 185., 134.),
289
+ 1191: (42., 94., 198.),
290
+ }
291
+
292
+ # For instance segmentation the non-object categories
293
+ VALID_PANOPTIC_IDS = (1, 3)
294
+
295
+ CLASS_LABELS_PANOPTIC = ('wall', 'floor')
datasets/scannet_preprocess/meta_data/scannet200_splits.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file contains the HEAD - COMMON - TAIL split category ids for ScanNet 200
2
+
3
+ HEAD_CATS_SCANNET_200 = ['tv stand', 'curtain', 'blinds', 'shower curtain', 'bookshelf', 'tv', 'kitchen cabinet', 'pillow', 'lamp', 'dresser', 'monitor', 'object', 'ceiling', 'board', 'stove', 'closet wall', 'couch', 'office chair', 'kitchen counter', 'shower', 'closet', 'doorframe', 'sofa chair', 'mailbox', 'nightstand', 'washing machine', 'picture', 'book', 'sink', 'recycling bin', 'table', 'backpack', 'shower wall', 'toilet', 'copier', 'counter', 'stool', 'refrigerator', 'window', 'file cabinet', 'chair', 'wall', 'plant', 'coffee table', 'stairs', 'armchair', 'cabinet', 'bathroom vanity', 'bathroom stall', 'mirror', 'blackboard', 'trash can', 'stair rail', 'box', 'towel', 'door', 'clothes', 'whiteboard', 'bed', 'floor', 'bathtub', 'desk', 'wardrobe', 'clothes dryer', 'radiator', 'shelf']
4
+ COMMON_CATS_SCANNET_200 = ["cushion", "end table", "dining table", "keyboard", "bag", "toilet paper", "printer", "blanket", "microwave", "shoe", "computer tower", "bottle", "bin", "ottoman", "bench", "basket", "fan", "laptop", "person", "paper towel dispenser", "oven", "rack", "piano", "suitcase", "rail", "container", "telephone", "stand", "light", "laundry basket", "pipe", "seat", "column", "bicycle", "ladder", "jacket", "storage bin", "coffee maker", "dishwasher", "machine", "mat", "windowsill", "bulletin board", "fireplace", "mini fridge", "water cooler", "shower door", "pillar", "ledge", "furniture", "cart", "decoration", "closet door", "vacuum cleaner", "dish rack", "range hood", "projector screen", "divider", "bathroom counter", "laundry hamper", "bathroom stall door", "ceiling light", "trash bin", "bathroom cabinet", "structure", "storage organizer", "potted plant", "mattress"]
5
+ TAIL_CATS_SCANNET_200 = ["paper", "plate", "soap dispenser", "bucket", "clock", "guitar", "toilet paper holder", "speaker", "cup", "paper towel roll", "bar", "toaster", "ironing board", "soap dish", "toilet paper dispenser", "fire extinguisher", "ball", "hat", "shower curtain rod", "paper cutter", "tray", "toaster oven", "mouse", "toilet seat cover dispenser", "storage container", "scale", "tissue box", "light switch", "crate", "power outlet", "sign", "projector", "candle", "plunger", "stuffed animal", "headphones", "broom", "guitar case", "dustpan", "hair dryer", "water bottle", "handicap bar", "purse", "vent", "shower floor", "water pitcher", "bowl", "paper bag", "alarm clock", "music stand", "laundry detergent", "dumbbell", "tube", "cd case", "closet rod", "coffee kettle", "shower head", "keyboard piano", "case of water bottles", "coat rack", "folded chair", "fire alarm", "power strip", "calendar", "poster", "luggage"]
6
+
7
+
8
+ # Given the different size of the official train and val sets, not all ScanNet200 categories are present in the validation set.
9
+ # Here we list of categories with labels and IDs present in both train and validation set, and the remaining categories those are present in train, but not in val
10
+ # We dont evaluate on unseen validation categories in this benchmark
11
+
12
+ VALID_CLASS_IDS_200_VALIDATION = ('wall', 'chair', 'floor', 'table', 'door', 'couch', 'cabinet', 'shelf', 'desk', 'office chair', 'bed', 'pillow', 'sink', 'picture', 'window', 'toilet', 'bookshelf', 'monitor', 'curtain', 'book', 'armchair', 'coffee table', 'box', 'refrigerator', 'lamp', 'kitchen cabinet', 'towel', 'clothes', 'tv', 'nightstand', 'counter', 'dresser', 'stool', 'cushion', 'plant', 'ceiling', 'bathtub', 'end table', 'dining table', 'keyboard', 'bag', 'backpack', 'toilet paper', 'printer', 'tv stand', 'whiteboard', 'blanket', 'shower curtain', 'trash can', 'closet', 'stairs', 'microwave', 'stove', 'shoe', 'computer tower', 'bottle', 'bin', 'ottoman', 'bench', 'board', 'washing machine', 'mirror', 'copier', 'basket', 'sofa chair', 'file cabinet', 'fan', 'laptop', 'shower', 'paper', 'person', 'paper towel dispenser', 'oven', 'blinds', 'rack', 'plate', 'blackboard', 'piano', 'suitcase', 'rail', 'radiator', 'recycling bin', 'container', 'wardrobe', 'soap dispenser', 'telephone', 'bucket', 'clock', 'stand', 'light', 'laundry basket', 'pipe', 'clothes dryer', 'guitar', 'toilet paper holder', 'seat', 'speaker', 'column', 'ladder', 'bathroom stall', 'shower wall', 'cup', 'jacket', 'storage bin', 'coffee maker', 'dishwasher', 'paper towel roll', 'machine', 'mat', 'windowsill', 'bar', 'toaster', 'bulletin board', 'ironing board', 'fireplace', 'soap dish', 'kitchen counter', 'doorframe', 'toilet paper dispenser', 'mini fridge', 'fire extinguisher', 'ball', 'hat', 'shower curtain rod', 'water cooler', 'paper cutter', 'tray', 'shower door', 'pillar', 'ledge', 'toaster oven', 'mouse', 'toilet seat cover dispenser', 'furniture', 'cart', 'scale', 'tissue box', 'light switch', 'crate', 'power outlet', 'decoration', 'sign', 'projector', 'closet door', 'vacuum cleaner', 'plunger', 'stuffed animal', 'headphones', 'dish rack', 'broom', 'range hood', 'dustpan', 'hair dryer', 'water bottle', 'handicap bar', 'vent', 'shower floor', 'water pitcher', 'mailbox', 'bowl', 'paper bag', 'projector screen', 'divider', 'laundry detergent', 'bathroom counter', 'object', 'bathroom vanity', 'closet wall', 'laundry hamper', 'bathroom stall door', 'ceiling light', 'trash bin', 'dumbbell', 'stair rail', 'tube', 'bathroom cabinet', 'closet rod', 'coffee kettle', 'shower head', 'keyboard piano', 'case of water bottles', 'coat rack', 'folded chair', 'fire alarm', 'power strip', 'calendar', 'poster', 'potted plant', 'mattress')
13
+
14
+ CLASS_LABELS_200_VALIDATION = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 86, 87, 88, 89, 90, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 110, 112, 115, 116, 118, 120, 122, 125, 128, 130, 131, 132, 134, 136, 138, 139, 140, 141, 145, 148, 154, 155, 156, 157, 159, 161, 163, 165, 166, 168, 169, 170, 177, 180, 185, 188, 191, 193, 195, 202, 208, 213, 214, 229, 230, 232, 233, 242, 250, 261, 264, 276, 283, 300, 304, 312, 323, 325, 342, 356, 370, 392, 395, 408, 417, 488, 540, 562, 570, 609, 748, 776, 1156, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1175, 1176, 1179, 1180, 1181, 1182, 1184, 1185, 1186, 1187, 1188, 1189, 1191)
15
+
16
+ VALID_CLASS_IDS_200_TRAIN_ONLY = ('bicycle', 'storage container', 'candle', 'guitar case', 'purse', 'alarm clock', 'music stand', 'cd case', 'structure', 'storage organizer', 'luggage')
17
+
18
+ CLASS_LABELS_200_TRAIN_ONLY = (121, 221, 286, 331, 399, 572, 581, 1174, 1178, 1183, 1190)
datasets/scannet_preprocess/meta_data/scannet_means.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:df5c2bd40e8518e982c7d7b4b39020b07ac774695038bf49cb28b44e5760457e
3
+ size 676
datasets/scannet_preprocess/meta_data/scannetv1_test.txt ADDED
@@ -0,0 +1,312 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ scene0568_00
2
+ scene0568_01
3
+ scene0568_02
4
+ scene0304_00
5
+ scene0488_00
6
+ scene0488_01
7
+ scene0412_00
8
+ scene0412_01
9
+ scene0217_00
10
+ scene0019_00
11
+ scene0019_01
12
+ scene0414_00
13
+ scene0575_00
14
+ scene0575_01
15
+ scene0575_02
16
+ scene0426_00
17
+ scene0426_01
18
+ scene0426_02
19
+ scene0426_03
20
+ scene0549_00
21
+ scene0549_01
22
+ scene0578_00
23
+ scene0578_01
24
+ scene0578_02
25
+ scene0665_00
26
+ scene0665_01
27
+ scene0050_00
28
+ scene0050_01
29
+ scene0050_02
30
+ scene0257_00
31
+ scene0025_00
32
+ scene0025_01
33
+ scene0025_02
34
+ scene0583_00
35
+ scene0583_01
36
+ scene0583_02
37
+ scene0701_00
38
+ scene0701_01
39
+ scene0701_02
40
+ scene0580_00
41
+ scene0580_01
42
+ scene0565_00
43
+ scene0169_00
44
+ scene0169_01
45
+ scene0655_00
46
+ scene0655_01
47
+ scene0655_02
48
+ scene0063_00
49
+ scene0221_00
50
+ scene0221_01
51
+ scene0591_00
52
+ scene0591_01
53
+ scene0591_02
54
+ scene0678_00
55
+ scene0678_01
56
+ scene0678_02
57
+ scene0462_00
58
+ scene0427_00
59
+ scene0595_00
60
+ scene0193_00
61
+ scene0193_01
62
+ scene0164_00
63
+ scene0164_01
64
+ scene0164_02
65
+ scene0164_03
66
+ scene0598_00
67
+ scene0598_01
68
+ scene0598_02
69
+ scene0599_00
70
+ scene0599_01
71
+ scene0599_02
72
+ scene0328_00
73
+ scene0300_00
74
+ scene0300_01
75
+ scene0354_00
76
+ scene0458_00
77
+ scene0458_01
78
+ scene0423_00
79
+ scene0423_01
80
+ scene0423_02
81
+ scene0307_00
82
+ scene0307_01
83
+ scene0307_02
84
+ scene0606_00
85
+ scene0606_01
86
+ scene0606_02
87
+ scene0432_00
88
+ scene0432_01
89
+ scene0608_00
90
+ scene0608_01
91
+ scene0608_02
92
+ scene0651_00
93
+ scene0651_01
94
+ scene0651_02
95
+ scene0430_00
96
+ scene0430_01
97
+ scene0689_00
98
+ scene0357_00
99
+ scene0357_01
100
+ scene0574_00
101
+ scene0574_01
102
+ scene0574_02
103
+ scene0329_00
104
+ scene0329_01
105
+ scene0329_02
106
+ scene0153_00
107
+ scene0153_01
108
+ scene0616_00
109
+ scene0616_01
110
+ scene0671_00
111
+ scene0671_01
112
+ scene0618_00
113
+ scene0382_00
114
+ scene0382_01
115
+ scene0490_00
116
+ scene0621_00
117
+ scene0607_00
118
+ scene0607_01
119
+ scene0149_00
120
+ scene0695_00
121
+ scene0695_01
122
+ scene0695_02
123
+ scene0695_03
124
+ scene0389_00
125
+ scene0377_00
126
+ scene0377_01
127
+ scene0377_02
128
+ scene0342_00
129
+ scene0139_00
130
+ scene0629_00
131
+ scene0629_01
132
+ scene0629_02
133
+ scene0496_00
134
+ scene0633_00
135
+ scene0633_01
136
+ scene0518_00
137
+ scene0652_00
138
+ scene0406_00
139
+ scene0406_01
140
+ scene0406_02
141
+ scene0144_00
142
+ scene0144_01
143
+ scene0494_00
144
+ scene0278_00
145
+ scene0278_01
146
+ scene0316_00
147
+ scene0609_00
148
+ scene0609_01
149
+ scene0609_02
150
+ scene0609_03
151
+ scene0084_00
152
+ scene0084_01
153
+ scene0084_02
154
+ scene0696_00
155
+ scene0696_01
156
+ scene0696_02
157
+ scene0351_00
158
+ scene0351_01
159
+ scene0643_00
160
+ scene0644_00
161
+ scene0645_00
162
+ scene0645_01
163
+ scene0645_02
164
+ scene0081_00
165
+ scene0081_01
166
+ scene0081_02
167
+ scene0647_00
168
+ scene0647_01
169
+ scene0535_00
170
+ scene0353_00
171
+ scene0353_01
172
+ scene0353_02
173
+ scene0559_00
174
+ scene0559_01
175
+ scene0559_02
176
+ scene0593_00
177
+ scene0593_01
178
+ scene0246_00
179
+ scene0653_00
180
+ scene0653_01
181
+ scene0064_00
182
+ scene0064_01
183
+ scene0356_00
184
+ scene0356_01
185
+ scene0356_02
186
+ scene0030_00
187
+ scene0030_01
188
+ scene0030_02
189
+ scene0222_00
190
+ scene0222_01
191
+ scene0338_00
192
+ scene0338_01
193
+ scene0338_02
194
+ scene0378_00
195
+ scene0378_01
196
+ scene0378_02
197
+ scene0660_00
198
+ scene0553_00
199
+ scene0553_01
200
+ scene0553_02
201
+ scene0527_00
202
+ scene0663_00
203
+ scene0663_01
204
+ scene0663_02
205
+ scene0664_00
206
+ scene0664_01
207
+ scene0664_02
208
+ scene0334_00
209
+ scene0334_01
210
+ scene0334_02
211
+ scene0046_00
212
+ scene0046_01
213
+ scene0046_02
214
+ scene0203_00
215
+ scene0203_01
216
+ scene0203_02
217
+ scene0088_00
218
+ scene0088_01
219
+ scene0088_02
220
+ scene0088_03
221
+ scene0086_00
222
+ scene0086_01
223
+ scene0086_02
224
+ scene0670_00
225
+ scene0670_01
226
+ scene0256_00
227
+ scene0256_01
228
+ scene0256_02
229
+ scene0249_00
230
+ scene0441_00
231
+ scene0658_00
232
+ scene0704_00
233
+ scene0704_01
234
+ scene0187_00
235
+ scene0187_01
236
+ scene0131_00
237
+ scene0131_01
238
+ scene0131_02
239
+ scene0207_00
240
+ scene0207_01
241
+ scene0207_02
242
+ scene0461_00
243
+ scene0011_00
244
+ scene0011_01
245
+ scene0343_00
246
+ scene0251_00
247
+ scene0077_00
248
+ scene0077_01
249
+ scene0684_00
250
+ scene0684_01
251
+ scene0550_00
252
+ scene0686_00
253
+ scene0686_01
254
+ scene0686_02
255
+ scene0208_00
256
+ scene0500_00
257
+ scene0500_01
258
+ scene0552_00
259
+ scene0552_01
260
+ scene0648_00
261
+ scene0648_01
262
+ scene0435_00
263
+ scene0435_01
264
+ scene0435_02
265
+ scene0435_03
266
+ scene0690_00
267
+ scene0690_01
268
+ scene0693_00
269
+ scene0693_01
270
+ scene0693_02
271
+ scene0700_00
272
+ scene0700_01
273
+ scene0700_02
274
+ scene0699_00
275
+ scene0231_00
276
+ scene0231_01
277
+ scene0231_02
278
+ scene0697_00
279
+ scene0697_01
280
+ scene0697_02
281
+ scene0697_03
282
+ scene0474_00
283
+ scene0474_01
284
+ scene0474_02
285
+ scene0474_03
286
+ scene0474_04
287
+ scene0474_05
288
+ scene0355_00
289
+ scene0355_01
290
+ scene0146_00
291
+ scene0146_01
292
+ scene0146_02
293
+ scene0196_00
294
+ scene0702_00
295
+ scene0702_01
296
+ scene0702_02
297
+ scene0314_00
298
+ scene0277_00
299
+ scene0277_01
300
+ scene0277_02
301
+ scene0095_00
302
+ scene0095_01
303
+ scene0015_00
304
+ scene0100_00
305
+ scene0100_01
306
+ scene0100_02
307
+ scene0558_00
308
+ scene0558_01
309
+ scene0558_02
310
+ scene0685_00
311
+ scene0685_01
312
+ scene0685_02
datasets/scannet_preprocess/meta_data/scannetv1_train.txt ADDED
@@ -0,0 +1,1045 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ scene0191_00
2
+ scene0191_01
3
+ scene0191_02
4
+ scene0119_00
5
+ scene0230_00
6
+ scene0528_00
7
+ scene0528_01
8
+ scene0705_00
9
+ scene0705_01
10
+ scene0705_02
11
+ scene0415_00
12
+ scene0415_01
13
+ scene0415_02
14
+ scene0007_00
15
+ scene0141_00
16
+ scene0141_01
17
+ scene0141_02
18
+ scene0515_00
19
+ scene0515_01
20
+ scene0515_02
21
+ scene0447_00
22
+ scene0447_01
23
+ scene0447_02
24
+ scene0531_00
25
+ scene0503_00
26
+ scene0285_00
27
+ scene0069_00
28
+ scene0584_00
29
+ scene0584_01
30
+ scene0584_02
31
+ scene0581_00
32
+ scene0581_01
33
+ scene0581_02
34
+ scene0620_00
35
+ scene0620_01
36
+ scene0263_00
37
+ scene0263_01
38
+ scene0481_00
39
+ scene0481_01
40
+ scene0020_00
41
+ scene0020_01
42
+ scene0291_00
43
+ scene0291_01
44
+ scene0291_02
45
+ scene0469_00
46
+ scene0469_01
47
+ scene0469_02
48
+ scene0659_00
49
+ scene0659_01
50
+ scene0024_00
51
+ scene0024_01
52
+ scene0024_02
53
+ scene0564_00
54
+ scene0117_00
55
+ scene0027_00
56
+ scene0027_01
57
+ scene0027_02
58
+ scene0028_00
59
+ scene0330_00
60
+ scene0418_00
61
+ scene0418_01
62
+ scene0418_02
63
+ scene0233_00
64
+ scene0233_01
65
+ scene0673_00
66
+ scene0673_01
67
+ scene0673_02
68
+ scene0673_03
69
+ scene0673_04
70
+ scene0673_05
71
+ scene0585_00
72
+ scene0585_01
73
+ scene0362_00
74
+ scene0362_01
75
+ scene0362_02
76
+ scene0362_03
77
+ scene0035_00
78
+ scene0035_01
79
+ scene0358_00
80
+ scene0358_01
81
+ scene0358_02
82
+ scene0037_00
83
+ scene0194_00
84
+ scene0321_00
85
+ scene0293_00
86
+ scene0293_01
87
+ scene0623_00
88
+ scene0623_01
89
+ scene0592_00
90
+ scene0592_01
91
+ scene0569_00
92
+ scene0569_01
93
+ scene0413_00
94
+ scene0313_00
95
+ scene0313_01
96
+ scene0313_02
97
+ scene0480_00
98
+ scene0480_01
99
+ scene0401_00
100
+ scene0517_00
101
+ scene0517_01
102
+ scene0517_02
103
+ scene0032_00
104
+ scene0032_01
105
+ scene0613_00
106
+ scene0613_01
107
+ scene0613_02
108
+ scene0306_00
109
+ scene0306_01
110
+ scene0052_00
111
+ scene0052_01
112
+ scene0052_02
113
+ scene0053_00
114
+ scene0444_00
115
+ scene0444_01
116
+ scene0055_00
117
+ scene0055_01
118
+ scene0055_02
119
+ scene0560_00
120
+ scene0589_00
121
+ scene0589_01
122
+ scene0589_02
123
+ scene0610_00
124
+ scene0610_01
125
+ scene0610_02
126
+ scene0364_00
127
+ scene0364_01
128
+ scene0383_00
129
+ scene0383_01
130
+ scene0383_02
131
+ scene0006_00
132
+ scene0006_01
133
+ scene0006_02
134
+ scene0275_00
135
+ scene0451_00
136
+ scene0451_01
137
+ scene0451_02
138
+ scene0451_03
139
+ scene0451_04
140
+ scene0451_05
141
+ scene0135_00
142
+ scene0065_00
143
+ scene0065_01
144
+ scene0065_02
145
+ scene0104_00
146
+ scene0674_00
147
+ scene0674_01
148
+ scene0448_00
149
+ scene0448_01
150
+ scene0448_02
151
+ scene0502_00
152
+ scene0502_01
153
+ scene0502_02
154
+ scene0440_00
155
+ scene0440_01
156
+ scene0440_02
157
+ scene0071_00
158
+ scene0072_00
159
+ scene0072_01
160
+ scene0072_02
161
+ scene0509_00
162
+ scene0509_01
163
+ scene0509_02
164
+ scene0649_00
165
+ scene0649_01
166
+ scene0602_00
167
+ scene0694_00
168
+ scene0694_01
169
+ scene0101_00
170
+ scene0101_01
171
+ scene0101_02
172
+ scene0101_03
173
+ scene0101_04
174
+ scene0101_05
175
+ scene0218_00
176
+ scene0218_01
177
+ scene0579_00
178
+ scene0579_01
179
+ scene0579_02
180
+ scene0039_00
181
+ scene0039_01
182
+ scene0493_00
183
+ scene0493_01
184
+ scene0242_00
185
+ scene0242_01
186
+ scene0242_02
187
+ scene0083_00
188
+ scene0083_01
189
+ scene0127_00
190
+ scene0127_01
191
+ scene0662_00
192
+ scene0662_01
193
+ scene0662_02
194
+ scene0018_00
195
+ scene0087_00
196
+ scene0087_01
197
+ scene0087_02
198
+ scene0332_00
199
+ scene0332_01
200
+ scene0332_02
201
+ scene0628_00
202
+ scene0628_01
203
+ scene0628_02
204
+ scene0134_00
205
+ scene0134_01
206
+ scene0134_02
207
+ scene0238_00
208
+ scene0238_01
209
+ scene0092_00
210
+ scene0092_01
211
+ scene0092_02
212
+ scene0092_03
213
+ scene0092_04
214
+ scene0022_00
215
+ scene0022_01
216
+ scene0467_00
217
+ scene0392_00
218
+ scene0392_01
219
+ scene0392_02
220
+ scene0424_00
221
+ scene0424_01
222
+ scene0424_02
223
+ scene0646_00
224
+ scene0646_01
225
+ scene0646_02
226
+ scene0098_00
227
+ scene0098_01
228
+ scene0044_00
229
+ scene0044_01
230
+ scene0044_02
231
+ scene0510_00
232
+ scene0510_01
233
+ scene0510_02
234
+ scene0571_00
235
+ scene0571_01
236
+ scene0166_00
237
+ scene0166_01
238
+ scene0166_02
239
+ scene0563_00
240
+ scene0172_00
241
+ scene0172_01
242
+ scene0388_00
243
+ scene0388_01
244
+ scene0215_00
245
+ scene0215_01
246
+ scene0252_00
247
+ scene0287_00
248
+ scene0668_00
249
+ scene0572_00
250
+ scene0572_01
251
+ scene0572_02
252
+ scene0026_00
253
+ scene0224_00
254
+ scene0113_00
255
+ scene0113_01
256
+ scene0551_00
257
+ scene0381_00
258
+ scene0381_01
259
+ scene0381_02
260
+ scene0371_00
261
+ scene0371_01
262
+ scene0460_00
263
+ scene0118_00
264
+ scene0118_01
265
+ scene0118_02
266
+ scene0417_00
267
+ scene0008_00
268
+ scene0634_00
269
+ scene0521_00
270
+ scene0123_00
271
+ scene0123_01
272
+ scene0123_02
273
+ scene0045_00
274
+ scene0045_01
275
+ scene0511_00
276
+ scene0511_01
277
+ scene0114_00
278
+ scene0114_01
279
+ scene0114_02
280
+ scene0070_00
281
+ scene0029_00
282
+ scene0029_01
283
+ scene0029_02
284
+ scene0129_00
285
+ scene0103_00
286
+ scene0103_01
287
+ scene0002_00
288
+ scene0002_01
289
+ scene0132_00
290
+ scene0132_01
291
+ scene0132_02
292
+ scene0124_00
293
+ scene0124_01
294
+ scene0143_00
295
+ scene0143_01
296
+ scene0143_02
297
+ scene0604_00
298
+ scene0604_01
299
+ scene0604_02
300
+ scene0507_00
301
+ scene0105_00
302
+ scene0105_01
303
+ scene0105_02
304
+ scene0428_00
305
+ scene0428_01
306
+ scene0311_00
307
+ scene0140_00
308
+ scene0140_01
309
+ scene0182_00
310
+ scene0182_01
311
+ scene0182_02
312
+ scene0142_00
313
+ scene0142_01
314
+ scene0399_00
315
+ scene0399_01
316
+ scene0012_00
317
+ scene0012_01
318
+ scene0012_02
319
+ scene0060_00
320
+ scene0060_01
321
+ scene0370_00
322
+ scene0370_01
323
+ scene0370_02
324
+ scene0310_00
325
+ scene0310_01
326
+ scene0310_02
327
+ scene0661_00
328
+ scene0650_00
329
+ scene0152_00
330
+ scene0152_01
331
+ scene0152_02
332
+ scene0158_00
333
+ scene0158_01
334
+ scene0158_02
335
+ scene0482_00
336
+ scene0482_01
337
+ scene0600_00
338
+ scene0600_01
339
+ scene0600_02
340
+ scene0393_00
341
+ scene0393_01
342
+ scene0393_02
343
+ scene0562_00
344
+ scene0174_00
345
+ scene0174_01
346
+ scene0157_00
347
+ scene0157_01
348
+ scene0161_00
349
+ scene0161_01
350
+ scene0161_02
351
+ scene0159_00
352
+ scene0254_00
353
+ scene0254_01
354
+ scene0115_00
355
+ scene0115_01
356
+ scene0115_02
357
+ scene0162_00
358
+ scene0163_00
359
+ scene0163_01
360
+ scene0523_00
361
+ scene0523_01
362
+ scene0523_02
363
+ scene0459_00
364
+ scene0459_01
365
+ scene0175_00
366
+ scene0085_00
367
+ scene0085_01
368
+ scene0279_00
369
+ scene0279_01
370
+ scene0279_02
371
+ scene0201_00
372
+ scene0201_01
373
+ scene0201_02
374
+ scene0283_00
375
+ scene0456_00
376
+ scene0456_01
377
+ scene0429_00
378
+ scene0043_00
379
+ scene0043_01
380
+ scene0419_00
381
+ scene0419_01
382
+ scene0419_02
383
+ scene0368_00
384
+ scene0368_01
385
+ scene0348_00
386
+ scene0348_01
387
+ scene0348_02
388
+ scene0442_00
389
+ scene0178_00
390
+ scene0380_00
391
+ scene0380_01
392
+ scene0380_02
393
+ scene0165_00
394
+ scene0165_01
395
+ scene0165_02
396
+ scene0181_00
397
+ scene0181_01
398
+ scene0181_02
399
+ scene0181_03
400
+ scene0333_00
401
+ scene0614_00
402
+ scene0614_01
403
+ scene0614_02
404
+ scene0404_00
405
+ scene0404_01
406
+ scene0404_02
407
+ scene0185_00
408
+ scene0126_00
409
+ scene0126_01
410
+ scene0126_02
411
+ scene0519_00
412
+ scene0236_00
413
+ scene0236_01
414
+ scene0189_00
415
+ scene0075_00
416
+ scene0267_00
417
+ scene0192_00
418
+ scene0192_01
419
+ scene0192_02
420
+ scene0281_00
421
+ scene0420_00
422
+ scene0420_01
423
+ scene0420_02
424
+ scene0195_00
425
+ scene0195_01
426
+ scene0195_02
427
+ scene0597_00
428
+ scene0597_01
429
+ scene0597_02
430
+ scene0041_00
431
+ scene0041_01
432
+ scene0111_00
433
+ scene0111_01
434
+ scene0111_02
435
+ scene0666_00
436
+ scene0666_01
437
+ scene0666_02
438
+ scene0200_00
439
+ scene0200_01
440
+ scene0200_02
441
+ scene0536_00
442
+ scene0536_01
443
+ scene0536_02
444
+ scene0390_00
445
+ scene0280_00
446
+ scene0280_01
447
+ scene0280_02
448
+ scene0344_00
449
+ scene0344_01
450
+ scene0205_00
451
+ scene0205_01
452
+ scene0205_02
453
+ scene0484_00
454
+ scene0484_01
455
+ scene0009_00
456
+ scene0009_01
457
+ scene0009_02
458
+ scene0302_00
459
+ scene0302_01
460
+ scene0209_00
461
+ scene0209_01
462
+ scene0209_02
463
+ scene0210_00
464
+ scene0210_01
465
+ scene0395_00
466
+ scene0395_01
467
+ scene0395_02
468
+ scene0683_00
469
+ scene0601_00
470
+ scene0601_01
471
+ scene0214_00
472
+ scene0214_01
473
+ scene0214_02
474
+ scene0477_00
475
+ scene0477_01
476
+ scene0439_00
477
+ scene0439_01
478
+ scene0468_00
479
+ scene0468_01
480
+ scene0468_02
481
+ scene0546_00
482
+ scene0466_00
483
+ scene0466_01
484
+ scene0220_00
485
+ scene0220_01
486
+ scene0220_02
487
+ scene0122_00
488
+ scene0122_01
489
+ scene0130_00
490
+ scene0110_00
491
+ scene0110_01
492
+ scene0110_02
493
+ scene0327_00
494
+ scene0156_00
495
+ scene0266_00
496
+ scene0266_01
497
+ scene0001_00
498
+ scene0001_01
499
+ scene0228_00
500
+ scene0199_00
501
+ scene0219_00
502
+ scene0464_00
503
+ scene0232_00
504
+ scene0232_01
505
+ scene0232_02
506
+ scene0299_00
507
+ scene0299_01
508
+ scene0530_00
509
+ scene0363_00
510
+ scene0453_00
511
+ scene0453_01
512
+ scene0570_00
513
+ scene0570_01
514
+ scene0570_02
515
+ scene0183_00
516
+ scene0239_00
517
+ scene0239_01
518
+ scene0239_02
519
+ scene0373_00
520
+ scene0373_01
521
+ scene0241_00
522
+ scene0241_01
523
+ scene0241_02
524
+ scene0188_00
525
+ scene0622_00
526
+ scene0622_01
527
+ scene0244_00
528
+ scene0244_01
529
+ scene0691_00
530
+ scene0691_01
531
+ scene0206_00
532
+ scene0206_01
533
+ scene0206_02
534
+ scene0247_00
535
+ scene0247_01
536
+ scene0061_00
537
+ scene0061_01
538
+ scene0082_00
539
+ scene0250_00
540
+ scene0250_01
541
+ scene0250_02
542
+ scene0501_00
543
+ scene0501_01
544
+ scene0501_02
545
+ scene0320_00
546
+ scene0320_01
547
+ scene0320_02
548
+ scene0320_03
549
+ scene0631_00
550
+ scene0631_01
551
+ scene0631_02
552
+ scene0255_00
553
+ scene0255_01
554
+ scene0255_02
555
+ scene0047_00
556
+ scene0265_00
557
+ scene0265_01
558
+ scene0265_02
559
+ scene0004_00
560
+ scene0336_00
561
+ scene0336_01
562
+ scene0058_00
563
+ scene0058_01
564
+ scene0260_00
565
+ scene0260_01
566
+ scene0260_02
567
+ scene0243_00
568
+ scene0603_00
569
+ scene0603_01
570
+ scene0093_00
571
+ scene0093_01
572
+ scene0093_02
573
+ scene0109_00
574
+ scene0109_01
575
+ scene0434_00
576
+ scene0434_01
577
+ scene0434_02
578
+ scene0290_00
579
+ scene0627_00
580
+ scene0627_01
581
+ scene0470_00
582
+ scene0470_01
583
+ scene0137_00
584
+ scene0137_01
585
+ scene0137_02
586
+ scene0270_00
587
+ scene0270_01
588
+ scene0270_02
589
+ scene0271_00
590
+ scene0271_01
591
+ scene0504_00
592
+ scene0274_00
593
+ scene0274_01
594
+ scene0274_02
595
+ scene0036_00
596
+ scene0036_01
597
+ scene0276_00
598
+ scene0276_01
599
+ scene0272_00
600
+ scene0272_01
601
+ scene0499_00
602
+ scene0698_00
603
+ scene0698_01
604
+ scene0051_00
605
+ scene0051_01
606
+ scene0051_02
607
+ scene0051_03
608
+ scene0108_00
609
+ scene0245_00
610
+ scene0369_00
611
+ scene0369_01
612
+ scene0369_02
613
+ scene0284_00
614
+ scene0289_00
615
+ scene0289_01
616
+ scene0286_00
617
+ scene0286_01
618
+ scene0286_02
619
+ scene0286_03
620
+ scene0031_00
621
+ scene0031_01
622
+ scene0031_02
623
+ scene0545_00
624
+ scene0545_01
625
+ scene0545_02
626
+ scene0557_00
627
+ scene0557_01
628
+ scene0557_02
629
+ scene0533_00
630
+ scene0533_01
631
+ scene0116_00
632
+ scene0116_01
633
+ scene0116_02
634
+ scene0611_00
635
+ scene0611_01
636
+ scene0688_00
637
+ scene0294_00
638
+ scene0294_01
639
+ scene0294_02
640
+ scene0295_00
641
+ scene0295_01
642
+ scene0296_00
643
+ scene0296_01
644
+ scene0596_00
645
+ scene0596_01
646
+ scene0596_02
647
+ scene0532_00
648
+ scene0532_01
649
+ scene0637_00
650
+ scene0638_00
651
+ scene0121_00
652
+ scene0121_01
653
+ scene0121_02
654
+ scene0040_00
655
+ scene0040_01
656
+ scene0197_00
657
+ scene0197_01
658
+ scene0197_02
659
+ scene0410_00
660
+ scene0410_01
661
+ scene0305_00
662
+ scene0305_01
663
+ scene0615_00
664
+ scene0615_01
665
+ scene0703_00
666
+ scene0703_01
667
+ scene0555_00
668
+ scene0297_00
669
+ scene0297_01
670
+ scene0297_02
671
+ scene0582_00
672
+ scene0582_01
673
+ scene0582_02
674
+ scene0023_00
675
+ scene0094_00
676
+ scene0013_00
677
+ scene0013_01
678
+ scene0013_02
679
+ scene0136_00
680
+ scene0136_01
681
+ scene0136_02
682
+ scene0407_00
683
+ scene0407_01
684
+ scene0062_00
685
+ scene0062_01
686
+ scene0062_02
687
+ scene0386_00
688
+ scene0318_00
689
+ scene0554_00
690
+ scene0554_01
691
+ scene0497_00
692
+ scene0213_00
693
+ scene0258_00
694
+ scene0323_00
695
+ scene0323_01
696
+ scene0324_00
697
+ scene0324_01
698
+ scene0016_00
699
+ scene0016_01
700
+ scene0016_02
701
+ scene0681_00
702
+ scene0398_00
703
+ scene0398_01
704
+ scene0227_00
705
+ scene0090_00
706
+ scene0066_00
707
+ scene0262_00
708
+ scene0262_01
709
+ scene0155_00
710
+ scene0155_01
711
+ scene0155_02
712
+ scene0352_00
713
+ scene0352_01
714
+ scene0352_02
715
+ scene0038_00
716
+ scene0038_01
717
+ scene0038_02
718
+ scene0335_00
719
+ scene0335_01
720
+ scene0335_02
721
+ scene0261_00
722
+ scene0261_01
723
+ scene0261_02
724
+ scene0261_03
725
+ scene0640_00
726
+ scene0640_01
727
+ scene0640_02
728
+ scene0080_00
729
+ scene0080_01
730
+ scene0080_02
731
+ scene0403_00
732
+ scene0403_01
733
+ scene0282_00
734
+ scene0282_01
735
+ scene0282_02
736
+ scene0682_00
737
+ scene0173_00
738
+ scene0173_01
739
+ scene0173_02
740
+ scene0522_00
741
+ scene0687_00
742
+ scene0345_00
743
+ scene0345_01
744
+ scene0612_00
745
+ scene0612_01
746
+ scene0411_00
747
+ scene0411_01
748
+ scene0411_02
749
+ scene0625_00
750
+ scene0625_01
751
+ scene0211_00
752
+ scene0211_01
753
+ scene0211_02
754
+ scene0211_03
755
+ scene0676_00
756
+ scene0676_01
757
+ scene0179_00
758
+ scene0498_00
759
+ scene0498_01
760
+ scene0498_02
761
+ scene0547_00
762
+ scene0547_01
763
+ scene0547_02
764
+ scene0269_00
765
+ scene0269_01
766
+ scene0269_02
767
+ scene0366_00
768
+ scene0680_00
769
+ scene0680_01
770
+ scene0588_00
771
+ scene0588_01
772
+ scene0588_02
773
+ scene0588_03
774
+ scene0346_00
775
+ scene0346_01
776
+ scene0359_00
777
+ scene0359_01
778
+ scene0014_00
779
+ scene0120_00
780
+ scene0120_01
781
+ scene0212_00
782
+ scene0212_01
783
+ scene0212_02
784
+ scene0176_00
785
+ scene0049_00
786
+ scene0259_00
787
+ scene0259_01
788
+ scene0586_00
789
+ scene0586_01
790
+ scene0586_02
791
+ scene0309_00
792
+ scene0309_01
793
+ scene0125_00
794
+ scene0455_00
795
+ scene0177_00
796
+ scene0177_01
797
+ scene0177_02
798
+ scene0326_00
799
+ scene0372_00
800
+ scene0171_00
801
+ scene0171_01
802
+ scene0374_00
803
+ scene0654_00
804
+ scene0654_01
805
+ scene0445_00
806
+ scene0445_01
807
+ scene0475_00
808
+ scene0475_01
809
+ scene0475_02
810
+ scene0349_00
811
+ scene0349_01
812
+ scene0234_00
813
+ scene0669_00
814
+ scene0669_01
815
+ scene0375_00
816
+ scene0375_01
817
+ scene0375_02
818
+ scene0387_00
819
+ scene0387_01
820
+ scene0387_02
821
+ scene0312_00
822
+ scene0312_01
823
+ scene0312_02
824
+ scene0384_00
825
+ scene0385_00
826
+ scene0385_01
827
+ scene0385_02
828
+ scene0000_00
829
+ scene0000_01
830
+ scene0000_02
831
+ scene0376_00
832
+ scene0376_01
833
+ scene0376_02
834
+ scene0301_00
835
+ scene0301_01
836
+ scene0301_02
837
+ scene0322_00
838
+ scene0542_00
839
+ scene0079_00
840
+ scene0079_01
841
+ scene0099_00
842
+ scene0099_01
843
+ scene0476_00
844
+ scene0476_01
845
+ scene0476_02
846
+ scene0394_00
847
+ scene0394_01
848
+ scene0147_00
849
+ scene0147_01
850
+ scene0067_00
851
+ scene0067_01
852
+ scene0067_02
853
+ scene0397_00
854
+ scene0397_01
855
+ scene0337_00
856
+ scene0337_01
857
+ scene0337_02
858
+ scene0431_00
859
+ scene0223_00
860
+ scene0223_01
861
+ scene0223_02
862
+ scene0010_00
863
+ scene0010_01
864
+ scene0402_00
865
+ scene0268_00
866
+ scene0268_01
867
+ scene0268_02
868
+ scene0679_00
869
+ scene0679_01
870
+ scene0405_00
871
+ scene0128_00
872
+ scene0408_00
873
+ scene0408_01
874
+ scene0190_00
875
+ scene0107_00
876
+ scene0076_00
877
+ scene0167_00
878
+ scene0361_00
879
+ scene0361_01
880
+ scene0361_02
881
+ scene0216_00
882
+ scene0202_00
883
+ scene0303_00
884
+ scene0303_01
885
+ scene0303_02
886
+ scene0446_00
887
+ scene0446_01
888
+ scene0089_00
889
+ scene0089_01
890
+ scene0089_02
891
+ scene0360_00
892
+ scene0150_00
893
+ scene0150_01
894
+ scene0150_02
895
+ scene0421_00
896
+ scene0421_01
897
+ scene0421_02
898
+ scene0454_00
899
+ scene0626_00
900
+ scene0626_01
901
+ scene0626_02
902
+ scene0186_00
903
+ scene0186_01
904
+ scene0538_00
905
+ scene0479_00
906
+ scene0479_01
907
+ scene0479_02
908
+ scene0656_00
909
+ scene0656_01
910
+ scene0656_02
911
+ scene0656_03
912
+ scene0525_00
913
+ scene0525_01
914
+ scene0525_02
915
+ scene0308_00
916
+ scene0396_00
917
+ scene0396_01
918
+ scene0396_02
919
+ scene0624_00
920
+ scene0292_00
921
+ scene0292_01
922
+ scene0632_00
923
+ scene0253_00
924
+ scene0021_00
925
+ scene0325_00
926
+ scene0325_01
927
+ scene0437_00
928
+ scene0437_01
929
+ scene0438_00
930
+ scene0590_00
931
+ scene0590_01
932
+ scene0400_00
933
+ scene0400_01
934
+ scene0541_00
935
+ scene0541_01
936
+ scene0541_02
937
+ scene0677_00
938
+ scene0677_01
939
+ scene0677_02
940
+ scene0443_00
941
+ scene0315_00
942
+ scene0288_00
943
+ scene0288_01
944
+ scene0288_02
945
+ scene0422_00
946
+ scene0672_00
947
+ scene0672_01
948
+ scene0184_00
949
+ scene0449_00
950
+ scene0449_01
951
+ scene0449_02
952
+ scene0048_00
953
+ scene0048_01
954
+ scene0138_00
955
+ scene0452_00
956
+ scene0452_01
957
+ scene0452_02
958
+ scene0667_00
959
+ scene0667_01
960
+ scene0667_02
961
+ scene0463_00
962
+ scene0463_01
963
+ scene0078_00
964
+ scene0078_01
965
+ scene0078_02
966
+ scene0636_00
967
+ scene0457_00
968
+ scene0457_01
969
+ scene0457_02
970
+ scene0465_00
971
+ scene0465_01
972
+ scene0577_00
973
+ scene0151_00
974
+ scene0151_01
975
+ scene0339_00
976
+ scene0573_00
977
+ scene0573_01
978
+ scene0154_00
979
+ scene0096_00
980
+ scene0096_01
981
+ scene0096_02
982
+ scene0235_00
983
+ scene0168_00
984
+ scene0168_01
985
+ scene0168_02
986
+ scene0594_00
987
+ scene0587_00
988
+ scene0587_01
989
+ scene0587_02
990
+ scene0587_03
991
+ scene0229_00
992
+ scene0229_01
993
+ scene0229_02
994
+ scene0512_00
995
+ scene0106_00
996
+ scene0106_01
997
+ scene0106_02
998
+ scene0472_00
999
+ scene0472_01
1000
+ scene0472_02
1001
+ scene0489_00
1002
+ scene0489_01
1003
+ scene0489_02
1004
+ scene0425_00
1005
+ scene0425_01
1006
+ scene0641_00
1007
+ scene0526_00
1008
+ scene0526_01
1009
+ scene0317_00
1010
+ scene0317_01
1011
+ scene0544_00
1012
+ scene0017_00
1013
+ scene0017_01
1014
+ scene0017_02
1015
+ scene0042_00
1016
+ scene0042_01
1017
+ scene0042_02
1018
+ scene0576_00
1019
+ scene0576_01
1020
+ scene0576_02
1021
+ scene0347_00
1022
+ scene0347_01
1023
+ scene0347_02
1024
+ scene0436_00
1025
+ scene0226_00
1026
+ scene0226_01
1027
+ scene0485_00
1028
+ scene0486_00
1029
+ scene0487_00
1030
+ scene0487_01
1031
+ scene0619_00
1032
+ scene0097_00
1033
+ scene0367_00
1034
+ scene0367_01
1035
+ scene0491_00
1036
+ scene0492_00
1037
+ scene0492_01
1038
+ scene0005_00
1039
+ scene0005_01
1040
+ scene0543_00
1041
+ scene0543_01
1042
+ scene0543_02
1043
+ scene0657_00
1044
+ scene0341_00
1045
+ scene0341_01
datasets/scannet_preprocess/meta_data/scannetv1_val.txt ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ scene0534_00
2
+ scene0534_01
3
+ scene0319_00
4
+ scene0273_00
5
+ scene0273_01
6
+ scene0225_00
7
+ scene0198_00
8
+ scene0003_00
9
+ scene0003_01
10
+ scene0003_02
11
+ scene0409_00
12
+ scene0409_01
13
+ scene0331_00
14
+ scene0331_01
15
+ scene0505_00
16
+ scene0505_01
17
+ scene0505_02
18
+ scene0505_03
19
+ scene0505_04
20
+ scene0506_00
21
+ scene0057_00
22
+ scene0057_01
23
+ scene0074_00
24
+ scene0074_01
25
+ scene0074_02
26
+ scene0091_00
27
+ scene0112_00
28
+ scene0112_01
29
+ scene0112_02
30
+ scene0240_00
31
+ scene0102_00
32
+ scene0102_01
33
+ scene0513_00
34
+ scene0514_00
35
+ scene0514_01
36
+ scene0537_00
37
+ scene0516_00
38
+ scene0516_01
39
+ scene0495_00
40
+ scene0617_00
41
+ scene0133_00
42
+ scene0520_00
43
+ scene0520_01
44
+ scene0635_00
45
+ scene0635_01
46
+ scene0054_00
47
+ scene0473_00
48
+ scene0473_01
49
+ scene0524_00
50
+ scene0524_01
51
+ scene0379_00
52
+ scene0471_00
53
+ scene0471_01
54
+ scene0471_02
55
+ scene0566_00
56
+ scene0248_00
57
+ scene0248_01
58
+ scene0248_02
59
+ scene0529_00
60
+ scene0529_01
61
+ scene0529_02
62
+ scene0391_00
63
+ scene0264_00
64
+ scene0264_01
65
+ scene0264_02
66
+ scene0675_00
67
+ scene0675_01
68
+ scene0350_00
69
+ scene0350_01
70
+ scene0350_02
71
+ scene0450_00
72
+ scene0068_00
73
+ scene0068_01
74
+ scene0237_00
75
+ scene0237_01
76
+ scene0365_00
77
+ scene0365_01
78
+ scene0365_02
79
+ scene0605_00
80
+ scene0605_01
81
+ scene0539_00
82
+ scene0539_01
83
+ scene0539_02
84
+ scene0540_00
85
+ scene0540_01
86
+ scene0540_02
87
+ scene0170_00
88
+ scene0170_01
89
+ scene0170_02
90
+ scene0433_00
91
+ scene0340_00
92
+ scene0340_01
93
+ scene0340_02
94
+ scene0160_00
95
+ scene0160_01
96
+ scene0160_02
97
+ scene0160_03
98
+ scene0160_04
99
+ scene0059_00
100
+ scene0059_01
101
+ scene0059_02
102
+ scene0056_00
103
+ scene0056_01
104
+ scene0478_00
105
+ scene0478_01
106
+ scene0548_00
107
+ scene0548_01
108
+ scene0548_02
109
+ scene0204_00
110
+ scene0204_01
111
+ scene0204_02
112
+ scene0033_00
113
+ scene0145_00
114
+ scene0483_00
115
+ scene0508_00
116
+ scene0508_01
117
+ scene0508_02
118
+ scene0180_00
119
+ scene0148_00
120
+ scene0556_00
121
+ scene0556_01
122
+ scene0416_00
123
+ scene0416_01
124
+ scene0416_02
125
+ scene0416_03
126
+ scene0416_04
127
+ scene0073_00
128
+ scene0073_01
129
+ scene0073_02
130
+ scene0073_03
131
+ scene0034_00
132
+ scene0034_01
133
+ scene0034_02
134
+ scene0639_00
135
+ scene0561_00
136
+ scene0561_01
137
+ scene0298_00
138
+ scene0692_00
139
+ scene0692_01
140
+ scene0692_02
141
+ scene0692_03
142
+ scene0692_04
143
+ scene0642_00
144
+ scene0642_01
145
+ scene0642_02
146
+ scene0642_03
147
+ scene0630_00
148
+ scene0630_01
149
+ scene0630_02
150
+ scene0630_03
151
+ scene0630_04
152
+ scene0630_05
153
+ scene0630_06
154
+ scene0706_00
155
+ scene0567_00
156
+ scene0567_01
datasets/scannet_preprocess/meta_data/scannetv2-labels-old.combined.tsv ADDED
@@ -0,0 +1,608 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id raw_category category count nyu40id eigen13id nyuClass nyu40class eigen13class ModelNet40 ModelNet10 ShapeNetCore55 synsetoffset wnsynsetid wnsynsetkey mpcat40 mpcat40index
2
+ 1 wall wall 8277 1 12 wall wall Wall n04546855 wall.n.01 wall 1
3
+ 2 chair chair 4646 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
4
+ 22 books book 1678 23 2 book books Books n02870526 book.n.11 objects 39
5
+ 3 floor floor 1553 2 5 floor floor Floor n03365592 floor.n.01 floor 2
6
+ 5 door door 1483 8 12 door door Wall door n03221720 door.n.01 door 4
7
+ 1163 object object 1313 40 7 otherprop Objects objects 39
8
+ 16 window window 1209 9 13 window window Window n04587648 window.n.01 window 9
9
+ 4 table table 1170 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
10
+ 56 trash can trash can 1090 39 6 garbage bin otherfurniture Furniture trash_bin 2747177 n02747177 ashcan.n.01 objects 39
11
+ 13 pillow pillow 937 18 7 pillow pillow Objects pillow 3938244 n03938244 pillow.n.01 cushion 8
12
+ 15 picture picture 862 11 8 picture picture Picture n03931044 picture.n.01 picture 6
13
+ 41 ceiling ceiling 806 22 3 ceiling ceiling Ceiling n02990373 ceiling.n.01 ceiling 17
14
+ 26 box box 775 29 7 box box Objects n02883344 box.n.01 objects 39
15
+ 161 doorframe doorframe 768 8 12 door door Wall door doorframe.n.01 door 4
16
+ 19 monitor monitor 765 40 7 monitor otherprop Objects monitor monitor tv or monitor 3211117 n03782190 monitor.n.04 objects 39
17
+ 7 cabinet cabinet 731 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
18
+ 9 desk desk 680 14 10 desk desk Table desk desk table 4379243 n03179701 desk.n.01 table 5
19
+ 8 shelf shelf 641 15 6 shelves shelves Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
20
+ 10 office chair office chair 595 5 4 chair chair Chair chair chair chair 3001627 n04373704 swivel_chair.n.01 chair 3
21
+ 31 towel towel 570 27 7 towel towel Objects n04459362 towel.n.01 towel 20
22
+ 6 couch couch 502 6 9 sofa sofa Sofa sofa sofa sofa 4256520 n04256520 sofa.n.01 sofa 10
23
+ 14 sink sink 488 34 7 sink sink Objects sink n04223580 sink.n.01 sink 15
24
+ 48 backpack backpack 479 40 7 backpack otherprop Objects n02769748 backpack.n.01 objects 39
25
+ 28 lamp lamp 419 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
26
+ 11 bed bed 370 4 1 bed bed Bed bed bed bed 2818832 n02818832 bed.n.01 bed 11
27
+ 18 bookshelf bookshelf 360 10 6 bookshelf bookshelf Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
28
+ 71 mirror mirror 349 19 7 mirror mirror Objects n03773035 mirror.n.01 mirror 21
29
+ 21 curtain curtain 347 16 13 curtain curtain Window curtain n03151077 curtain.n.01 curtain 12
30
+ 40 plant plant 331 40 7 plant otherprop Objects plant n00017222 plant.n.02 plant 14
31
+ 52 whiteboard whiteboard 327 30 7 whiteboard whiteboard Objects n03211616 display_panel.n.01 board_panel 35
32
+ 96 radiator radiator 322 39 6 radiator otherfurniture Furniture n04041069 radiator.n.02 misc 40
33
+ 22 book book 318 23 2 book books Books n02870526 book.n.11 objects 39
34
+ 29 kitchen cabinet kitchen cabinet 310 3 6 cabinet cabinet Furniture n02933112 cabinet.n.01 cabinet 7
35
+ 49 toilet paper toilet paper 291 40 7 toilet paper otherprop Objects n15075141 toilet_tissue.n.01 objects 39
36
+ 29 kitchen cabinets kitchen cabinet 289 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
37
+ 23 armchair armchair 281 5 4 chair chair Chair chair chair chair 3001627 n02738535 armchair.n.01 chair 3
38
+ 63 shoes shoe 272 40 7 shoe otherprop Objects n04199027 shoe.n.01 clothes 38
39
+ 24 coffee table coffee table 258 7 10 coffee table table Table table table table 4379243 n03063968 coffee_table.n.01 table 5
40
+ 17 toilet toilet 256 33 7 toilet toilet Objects toilet toilet n04446276 toilet.n.01 toilet 18
41
+ 47 bag bag 252 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
42
+ 32 clothes clothes 248 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
43
+ 46 keyboard keyboard 246 40 7 keyboard otherprop Objects keyboard computer keyboard 3085013 n03085013 computer_keyboard.n.01 objects 39
44
+ 65 bottle bottle 226 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
45
+ 97 recycling bin recycling bin 225 39 6 garbage bin otherfurniture Furniture trash_bin 2747177 n02747177 ashcan.n.01 objects 39
46
+ 34 nightstand nightstand 224 32 6 night stand night stand Furniture night_stand night_stand n03015254 chest_of_drawers.n.01 chest_of_drawers 13
47
+ 38 stool stool 221 40 7 stool otherprop Objects stool n04326896 stool.n.01 stool 19
48
+ 33 tv tv 219 25 11 television television TV tv or monitor 3211117 n03211117 display.n.06 tv_monitor 22
49
+ 75 file cabinet file cabinet 217 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
50
+ 36 dresser dresser 213 17 6 dresser dresser Furniture dresser dresser n03015254 chest_of_drawers.n.01 chest_of_drawers 13
51
+ 64 computer tower computer tower 203 40 7 computer otherprop Objects n03082979 computer.n.01 objects 39
52
+ 32 clothing clothes 165 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
53
+ 101 telephone telephone 164 40 7 telephone otherprop Objects telephone 4401088 n04401088 telephone.n.01 objects 39
54
+ 130 cup cup 157 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
55
+ 27 refrigerator refrigerator 154 24 6 refridgerator refridgerator Furniture n04070727 refrigerator.n.01 appliances 37
56
+ 44 end table end table 147 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
57
+ 131 jacket jacket 146 40 7 jacket otherprop Objects n03589791 jacket.n.01 clothes 38
58
+ 55 shower curtain shower curtain 144 28 7 shower curtain shower curtain Objects curtain n04209239 shower_curtain.n.01 curtain 12
59
+ 42 bathtub bathtub 144 36 7 bathtub bathtub Objects bathtub bathtub tub 2808440 n02808440 bathtub.n.01 bathtub 25
60
+ 59 microwave microwave 141 40 7 microwave otherprop Objects microwave 3761084 n03761084 microwave.n.02 appliances 37
61
+ 159 kitchen counter kitchen counter 140 12 6 counter counter Furniture table table table 4379243 n03116530 counter.n.01 counter 26
62
+ 74 sofa chair sofa chair 129 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
63
+ 82 paper towel dispenser paper towel dispenser 129 40 7 paper towel dispenser otherprop Objects objects 39
64
+ 1164 bathroom vanity bathroom vanity 126 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 table 5
65
+ 93 suitcase suitcase 118 40 7 luggage otherprop Objects n02773838 bag.n.06 objects 39
66
+ 77 laptop laptop 111 40 7 laptop otherprop Objects laptop laptop 3642806 n03642806 laptop.n.01 objects 39
67
+ 67 ottoman ottoman 111 39 6 ottoman otherfurniture Furniture stool n03380724 footstool.n.01 stool 19
68
+ 128 shower walls shower wall 109 1 12 wall wall Wall n04546855 wall.n.01 wall 1
69
+ 50 printer printer 106 40 7 printer otherprop Objects printer 4004475 n04004475 printer.n.03 appliances 37
70
+ 35 counter counter 104 12 6 counter counter Furniture table table table 4379243 n03116530 counter.n.01 counter 26
71
+ 69 board board 100 38 7 board otherstructure Objects board_panel 35
72
+ 100 soap dispenser soap dispenser 99 40 7 otherprop Objects n04254120 soap_dispenser.n.01 objects 39
73
+ 62 stove stove 95 38 7 stove otherstructure Objects stove 4330267 n04330267 stove.n.02 appliances 37
74
+ 105 light light 93 38 7 light otherstructure Objects n03665366 light.n.02 lighting 28
75
+ 1165 closet wall closet wall 90 1 12 wall wall Wall n04546855 wall.n.01 wall 1
76
+ 165 mini fridge mini fridge 87 24 6 refridgerator refridgerator Furniture n03273913 electric_refrigerator.n.01 appliances 37
77
+ 7 cabinets cabinet 79 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
78
+ 5 doors door 76 8 12 door door Wall door n03221720 door.n.01 door 4
79
+ 76 fan fan 75 40 7 fan otherprop Objects n03320046 fan.n.01 misc 40
80
+ 230 tissue box tissue box 73 40 7 tissue box otherprop Objects n02883344 box.n.01 objects 39
81
+ 54 blanket blanket 72 40 7 blanket otherprop Objects n02849154 blanket.n.01 objects 39
82
+ 125 bathroom stall bathroom stall 71 38 7 otherstructure Objects n02873839 booth.n.02 misc 40
83
+ 72 copier copier 70 40 7 otherprop Objects n03257586 duplicator.n.01 appliances 37
84
+ 68 bench bench 66 39 6 bench otherfurniture Furniture bench bench 2828884 n02828884 bench.n.01 seating 34
85
+ 145 bar bar 66 38 7 bar otherstructure Objects n02788689 bar.n.03 misc 40
86
+ 157 soap dish soap dish 65 40 7 soap dish otherprop Objects n04254009 soap_dish.n.01 objects 39
87
+ 1166 laundry hamper laundry hamper 65 40 7 laundry basket otherprop Objects objects 39
88
+ 132 storage bin storage bin 63 40 7 storage bin otherprop Objects objects 39
89
+ 1167 bathroom stall door bathroom stall door 62 8 12 door door Wall door n03221720 door.n.01 door 4
90
+ 232 light switch light switch 61 38 7 light switch otherstructure Objects n04372370 switch.n.01 misc 40
91
+ 134 coffee maker coffee maker 61 40 7 otherprop Objects n03063338 coffee_maker.n.01 appliances 37
92
+ 51 tv stand tv stand 61 39 6 tv stand otherfurniture Furniture tv_stand n03290653 entertainment_center.n.01 furniture 36
93
+ 250 decoration decoration 60 40 7 otherprop Objects n03169390 decoration.n.01 misc 40
94
+ 1168 ceiling light ceiling light 59 38 7 light otherstructure Objects n03665366 light.n.02 lighting 28
95
+ 342 range hood range hood 59 38 7 range hood otherstructure Objects range_hood n04053677 range_hood.n.01 misc 40
96
+ 89 blackboard blackboard 58 38 7 blackboard otherstructure Objects n02846511 blackboard.n.01 board_panel 35
97
+ 103 clock clock 58 40 7 clock otherprop Objects clock 3046257 n03046257 clock.n.01 objects 39
98
+ 99 wardrobe closet wardrobe 54 39 6 wardrobe otherfurniture Furniture wardrobe n04550184 wardrobe.n.01 furniture 36
99
+ 95 rail rail 53 38 7 railing otherstructure Objects n04047401 railing.n.01 railing 30
100
+ 154 bulletin board bulletin board 53 38 7 board otherstructure Objects n03211616 display_panel.n.01 board_panel 35
101
+ 140 mat mat 52 20 5 floor mat floor mat Floor n03727837 mat.n.01 floor 2
102
+ 1169 trash bin trash bin 52 39 6 garbage bin otherfurniture Furniture trash_bin 2747177 n02747177 ashcan.n.01 objects 39
103
+ 193 ledge ledge 51 38 7 otherstructure Objects n09337253 ledge.n.01 misc 40
104
+ 116 seat seat 49 39 6 furniture otherfurniture Furniture n04161981 seat.n.03 furniture 36
105
+ 202 mouse mouse 49 40 7 mouse otherprop Objects n03793489 mouse.n.04 objects 39
106
+ 73 basket basket 48 40 7 basket otherprop Objects basket 2801938 n02801938 basket.n.01 objects 39
107
+ 78 shower shower 48 38 7 otherstructure Objects n04208936 shower.n.01 shower 23
108
+ 1170 dumbbell dumbbell 48 40 7 otherprop Objects n03255030 dumbbell.n.01 objects 39
109
+ 79 paper paper 46 26 7 paper paper Objects n14974264 paper.n.01 objects 39
110
+ 80 person person 46 31 7 person person Objects person n05217688 person.n.02 misc 40
111
+ 141 windowsill windowsill 45 38 7 otherstructure Objects n04590263 windowsill.n.01 window 9
112
+ 57 closet closet 45 39 6 wardrobe otherfurniture Furniture wardrobe misc 40
113
+ 102 bucket bucket 45 40 7 bucket otherprop Objects n02909870 bucket.n.01 misc 40
114
+ 261 sign sign 44 40 7 sign otherprop Objects n04217882 signboard.n.01 objects 39
115
+ 118 speaker speaker 43 40 7 speaker otherprop Objects speaker 3691459 n03691459 loudspeaker.n.01 objects 39
116
+ 136 dishwasher dishwasher 43 38 7 dishwasher otherstructure Objects dishwasher 3207941 n03207941 dishwasher.n.01 appliances 37
117
+ 98 container container 43 40 7 container otherprop Objects n03094503 container.n.01 objects 39
118
+ 1171 stair rail stair rail 42 38 7 banister otherstructure Objects n02788148 bannister.n.02 railing 30
119
+ 170 shower curtain rod shower curtain rod 42 40 7 otherprop Objects curtain 12
120
+ 1172 tube tube 41 40 7 otherprop Objects misc 40
121
+ 1173 bathroom cabinet bathroom cabinet 39 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
122
+ 79 papers paper 39 26 7 paper paper Objects n14974264 paper.n.01 objects 39
123
+ 221 storage container storage container 39 40 7 container otherprop Objects objects 39
124
+ 570 paper bag paper bag 39 37 7 bag bag Objects n04122825 sack.n.01 objects 39
125
+ 138 paper towel roll paper towel roll 39 40 7 paper towel otherprop Objects n03887697 paper_towel.n.01 towel 20
126
+ 168 ball ball 39 40 7 ball otherprop Objects objects 39
127
+ 276 closet doors closet door 38 8 12 door door Wall door n03221720 door.n.01 door 4
128
+ 106 laundry basket laundry basket 37 40 7 laundry basket otherprop Objects basket 2801938 n03050864 clothes_hamper.n.01 objects 39
129
+ 214 cart cart 37 40 7 cart otherprop Objects n03484083 handcart.n.01 shelving 31
130
+ 276 closet door closet door 35 8 12 door door Wall door n03221720 door.n.01 door 4
131
+ 323 dish rack dish rack 35 40 7 dish rack otherprop Objects n03207630 dish_rack.n.01 objects 39
132
+ 58 stairs stairs 35 38 7 stairs otherstructure Objects n04298308 stairway.n.01 stairs 16
133
+ 86 blinds blinds 35 13 13 blinds blinds Window n02851099 blind.n.03 blinds 32
134
+ 2 stack of chairs chair 35 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
135
+ 399 purse purse 34 40 7 purse otherprop Objects n02774152 bag.n.04 objects 39
136
+ 121 bicycle bicycle 33 40 7 bicycle otherprop Objects bicycle 2834778 n02834778 bicycle.n.01 objects 39
137
+ 185 tray tray 32 40 7 tray otherprop Objects n04476259 tray.n.01 objects 39
138
+ 300 plunger plunger 30 40 7 otherprop Objects n03970156 plunger.n.03 objects 39
139
+ 180 paper cutter paper cutter 30 40 7 paper cutter otherprop Objects n03886940 paper_cutter.n.01 objects 39
140
+ 163 toilet paper dispenser toilet paper dispenser 29 40 7 otherprop Objects objects 39
141
+ 26 boxes box 29 29 7 box box Objects n02883344 box.n.01 objects 39
142
+ 66 bin bin 28 40 7 bin otherprop Objects n02839910 bin.n.01 objects 39
143
+ 208 toilet seat cover dispenser toilet seat cover dispenser 28 40 7 otherprop Objects objects 39
144
+ 112 guitar guitar 28 40 7 guitar otherprop Objects guitar guitar 3467517 n03467517 guitar.n.01 objects 39
145
+ 540 mailboxes mailbox 28 29 7 box box Objects mailbox 3710193 n03710193 mailbox.n.01 misc 40
146
+ 395 handicap bar handicap bar 27 38 7 bar otherstructure Objects misc 40
147
+ 166 fire extinguisher fire extinguisher 27 40 7 fire extinguisher otherprop Objects n03345837 fire_extinguisher.n.01 misc 40
148
+ 122 ladder ladder 27 39 6 ladder otherfurniture Furniture stairs n03632277 ladder.n.01 stairs 16
149
+ 120 column column 26 38 7 column otherstructure Objects n03074380 column.n.06 column 24
150
+ 107 pipe pipe 25 40 7 pipe otherprop Objects n03944672 pipe.n.02 misc 40
151
+ 283 vacuum cleaner vacuum cleaner 25 40 7 otherprop Objects n04517823 vacuum.n.04 objects 39
152
+ 88 plate plate 24 40 7 plate otherprop Objects n03959485 plate.n.04 objects 39
153
+ 90 piano piano 24 39 6 piano otherfurniture Furniture piano piano 3928116 n03928116 piano.n.01 furniture 36
154
+ 177 water cooler water cooler 24 39 6 water cooler otherfurniture Furniture n04559166 water_cooler.n.01 misc 40
155
+ 1174 cd case cd case 24 40 7 otherprop Objects objects 39
156
+ 562 bowl bowl 24 40 7 bowl otherprop Objects bowl bowl 2880940 n02880940 bowl.n.03 objects 39
157
+ 1175 closet rod closet rod 24 40 7 otherprop Objects n04100174 rod.n.01 misc 40
158
+ 1156 bathroom counter bathroom counter 24 12 6 counter counter Furniture table table table 4379243 n03116530 counter.n.01 counter 26
159
+ 84 oven oven 23 38 7 oven otherstructure Objects n03862676 oven.n.01 appliances 37
160
+ 104 stand stand 23 39 6 stand otherfurniture Furniture table table table 4379243 n04301000 stand.n.04 table 5
161
+ 229 scale scale 23 40 7 scale otherprop Objects n04141975 scale.n.07 objects 39
162
+ 70 washing machine washing machine 23 39 6 washing machine otherfurniture Furniture washing_machine 4554684 n04554684 washer.n.03 appliances 37
163
+ 325 broom broom 22 40 7 broom otherprop Objects n02906734 broom.n.01 objects 39
164
+ 169 hat hat 22 40 7 hat otherprop Objects n03497657 hat.n.01 clothes 38
165
+ 128 shower wall shower wall 22 1 12 wall wall Wall n04208936 shower.n.01 wall 1
166
+ 331 guitar case guitar case 21 40 7 guitar case otherprop Objects objects 39
167
+ 87 rack rack 21 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
168
+ 488 water pitcher water pitcher 21 40 7 pitcher otherprop Objects n03950228 pitcher.n.02 objects 39
169
+ 776 laundry detergent laundry detergent 21 40 7 otherprop Objects objects 39
170
+ 370 hair dryer hair dryer 21 40 7 hair dryer otherprop Objects n03483316 hand_blower.n.01 objects 39
171
+ 191 pillar pillar 21 38 7 column otherstructure Objects n03073977 column.n.07 column 24
172
+ 748 divider divider 20 40 7 otherprop Objects wall 1
173
+ 242 power outlet power outlet 19 40 7 otherprop Objects misc 40
174
+ 45 dining table dining table 19 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
175
+ 417 shower floor shower floor 19 2 5 floor floor Floor n04208936 shower.n.01 floor 2
176
+ 70 washing machines washing machine 19 39 6 washing machine otherfurniture Furniture washing_machine 4554684 n04554684 washer.n.03 appliances 37
177
+ 188 shower door shower door 19 8 12 door door Wall door n04208936 shower.n.01 door 4
178
+ 1176 coffee kettle coffee kettle 18 40 7 pot otherprop Objects n03612814 kettle.n.01 objects 39
179
+ 1177 wardrobe cabinet wardrobe 18 39 6 wardrobe otherfurniture Furniture wardrobe n04550184 wardrobe.n.01 furniture 36
180
+ 1178 structure structure 18 38 7 otherstructure Objects misc 40
181
+ 18 bookshelves bookshelf 17 10 6 bookshelf bookshelf Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
182
+ 110 clothes dryer clothes dryer 17 39 6 otherfurniture Furniture n03251766 dryer.n.01 appliances 37
183
+ 148 toaster toaster 17 40 7 toaster otherprop Objects n04442312 toaster.n.02 appliances 37
184
+ 63 shoe shoe 17 40 7 shoe otherprop Objects n04199027 shoe.n.01 clothes 38
185
+ 155 ironing board ironing board 16 39 6 ironing board otherfurniture Furniture n03586090 ironing_board.n.01 objects 39
186
+ 572 alarm clock alarm clock 16 40 7 alarm clock otherprop Objects clock 3046257 n02694662 alarm_clock.n.01 objects 39
187
+ 1179 shower head shower head 15 38 7 otherstructure Objects shower 23
188
+ 28 lamp base lamp 15 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
189
+ 392 water bottle water bottle 15 40 7 bottle otherprop Objects bottle bottle 2876657 n04557648 water_bottle.n.01 objects 39
190
+ 1180 keyboard piano keyboard piano 15 39 6 piano otherfurniture Furniture piano piano 3928116 n03928116 piano.n.01 furniture 36
191
+ 609 projector screen projector screen 15 38 7 projector screen otherstructure Objects misc 40
192
+ 1181 case of water bottles case of water bottles 15 40 7 otherprop Objects objects 39
193
+ 195 toaster oven toaster oven 14 40 7 toaster oven otherprop Objects n04442441 toaster_oven.n.01 appliances 37
194
+ 581 music stand music stand 14 39 6 music stand otherfurniture Furniture n03801760 music_stand.n.01 furniture 36
195
+ 58 staircase stairs 14 38 7 stairs otherstructure Objects n04298308 stairway.n.01 stairs 16
196
+ 1182 coat rack coat rack 14 40 7 otherprop Objects n03059103 coatrack.n.01 shelving 3
197
+ 1183 storage organizer storage organizer 14 40 7 otherprop Objects shelving 3
198
+ 139 machine machine 14 40 7 machine otherprop Objects n03699975 machine.n.01 appliances 37
199
+ 1184 folded chair folded chair 14 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
200
+ 1185 fire alarm fire alarm 14 40 7 otherprop Objects n03343737 fire_alarm.n.02 misc 40
201
+ 156 fireplace fireplace 13 38 7 fireplace otherstructure Objects n03346455 fireplace.n.01 fireplace 27
202
+ 408 vent vent 13 40 7 otherprop Objects n04526241 vent.n.01 misc 40
203
+ 213 furniture furniture 13 39 6 furniture otherfurniture Furniture n03405725 furniture.n.01 furniture 36
204
+ 1186 power strip power strip 13 40 7 otherprop Objects objects 39
205
+ 1187 calendar calendar 13 40 7 otherprop Objects objects 39
206
+ 1188 poster poster 13 11 8 picture picture Picture n03931044 picture.n.01 picture 6
207
+ 115 toilet paper holder toilet paper holder 13 40 7 toilet paper holder otherprop Objects objects 39
208
+ 1189 potted plant potted plant 12 40 7 plant otherprop Objects plant n00017222 plant.n.02 plant 14
209
+ 304 stuffed animal stuffed animal 12 40 7 stuffed animal otherprop Objects n04399382 teddy.n.01 objects 39
210
+ 1190 luggage luggage 12 40 7 luggage otherprop Objects n02774630 baggage.n.01 objects 39
211
+ 21 curtains curtain 12 16 13 curtain curtain Window curtain n03151077 curtain.n.01 curtain 12
212
+ 312 headphones headphones 12 40 7 otherprop Objects n03261776 earphone.n.01 objects 39
213
+ 233 crate crate 12 39 6 crate otherfurniture Furniture n03127925 crate.n.01 objects 39
214
+ 286 candle candle 12 40 7 candle otherprop Objects lamp n02948072 candle.n.01 objects 39
215
+ 264 projector projector 12 40 7 projector otherprop Objects n04009552 projector.n.02 objects 39
216
+ 110 clothes dryers clothes dryer 12 39 6 otherfurniture Furniture n03251766 dryer.n.01 appliances 37
217
+ 1191 mattress mattress 12 4 1 bed bed Bed bed bed bed 2818832 n02818832 bed.n.01 bed 11
218
+ 356 dustpan dustpan 12 40 7 otherprop Objects n03259009 dustpan.n.02 objects 39
219
+ 25 drawer drawer 11 39 6 drawer otherfurniture Furniture n03233905 drawer.n.01 furniture 36
220
+ 750 rod rod 11 40 7 otherprop Objects pistol 3948459 n03427202 gat.n.01 misc 40
221
+ 269 globe globe 11 40 7 globe otherprop Objects objects 39
222
+ 307 footrest footrest 11 39 6 foot rest otherfurniture Furniture stool n03380724 footstool.n.01 stool 19
223
+ 410 piano bench piano bench 11 39 6 piano bench otherfurniture Furniture bench bench 2828884 n02828884 bench.n.01 seating 34
224
+ 730 breakfast bar breakfast bar 11 38 7 bar otherstructure Objects counter 26
225
+ 216 step stool step stool 11 40 7 step stool otherprop Objects stool n04315713 step_stool.n.01 stool 19
226
+ 1192 hand rail hand rail 11 38 7 railing otherstructure Objects railing 30
227
+ 119 vending machine vending machine 11 40 7 machine otherprop Objects n04525305 vending_machine.n.01 appliances 37
228
+ 682 ceiling fan ceiling fan 11 40 7 fan otherprop Objects n03320046 fan.n.01 misc 40
229
+ 434 swiffer swiffer 11 40 7 otherprop Objects objects 39
230
+ 126 foosball table foosball table 11 39 6 foosball table otherfurniture Furniture table table table 4379243 n04379243 table.n.02 table 5
231
+ 919 jar jar 11 40 7 jar otherprop Objects jar 3593526 n03593526 jar.n.01 objects 39
232
+ 85 footstool footstool 11 39 6 ottoman otherfurniture Furniture stool n03380724 footstool.n.01 stool 19
233
+ 1193 folded table folded table 10 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
234
+ 108 round table round table 10 7 10 table table Table table table table 4379243 n04114554 round_table.n.02 table 5
235
+ 135 hamper hamper 10 40 7 basket otherprop Objects basket 2801938 n03482405 hamper.n.02 objects 39
236
+ 1194 poster tube poster tube 10 40 7 otherprop Objects objects 39
237
+ 432 case case 10 40 7 case otherprop Objects objects 39
238
+ 53 carpet carpet 10 40 7 rug otherprop Objects n04118021 rug.n.01 floor 2
239
+ 1195 thermostat thermostat 10 40 7 otherprop Objects n04422875 thermostat.n.01 misc 40
240
+ 111 coat coat 10 40 7 jacket otherprop Objects n03057021 coat.n.01 clothes 38
241
+ 305 water fountain water fountain 10 38 7 water fountain otherstructure Objects n03241335 drinking_fountain.n.01 misc 40
242
+ 1125 smoke detector smoke detector 10 40 7 otherprop Objects misc 40
243
+ 13 pillows pillow 9 18 7 pillow pillow Objects pillow 3938244 n03938244 pillow.n.01 cushion 8
244
+ 1196 flip flops flip flops 9 40 7 shoe otherprop Objects n04199027 shoe.n.01 clothes 38
245
+ 1197 cloth cloth 9 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
246
+ 1198 banner banner 9 40 7 otherprop Objects n02788021 banner.n.01 misc 40
247
+ 1199 clothes hanger clothes hanger 9 40 7 otherprop Objects n03057920 coat_hanger.n.01 objects 39
248
+ 1200 whiteboard eraser whiteboard eraser 9 40 7 otherprop Objects objects 39
249
+ 378 iron iron 9 40 7 otherprop Objects n03584829 iron.n.04 objects 39
250
+ 591 instrument case instrument case 9 40 7 case otherprop Objects objects 39
251
+ 49 toilet paper rolls toilet paper 9 40 7 toilet paper otherprop Objects n15075141 toilet_tissue.n.01 objects 39
252
+ 92 soap soap 9 40 7 soap otherprop Objects n04253437 soap.n.01 objects 39
253
+ 1098 block block 9 40 7 otherprop Objects misc 40
254
+ 291 wall hanging wall hanging 8 40 7 otherprop Objects n03491178 hanging.n.01 picture 6
255
+ 1063 kitchen island kitchen island 8 38 7 kitchen island otherstructure Objects n03620600 kitchen_island.n.01 counter 26
256
+ 107 pipes pipe 8 38 7 otherstructure Objects misc 40
257
+ 1135 toothbrush toothbrush 8 40 7 toothbrush otherprop Objects n04453156 toothbrush.n.01 objects 39
258
+ 189 shirt shirt 8 40 7 otherprop Objects n04197391 shirt.n.01 clothes 38
259
+ 245 cutting board cutting board 8 40 7 cutting board otherprop Objects n03025513 chopping_board.n.01 objects 39
260
+ 194 vase vase 8 40 7 vase otherprop Objects vase jar 3593526 n04522168 vase.n.01 objects 39
261
+ 1201 shower control valve shower control valve 8 38 7 otherstructure Objects n04208936 shower.n.01 shower 23
262
+ 386 exercise machine exercise machine 8 40 7 machine otherprop Objects gym_equipment 33
263
+ 1202 compost bin compost bin 8 39 6 garbage bin otherfurniture Furniture trash_bin 2747177 n02747177 ashcan.n.01 objects 39
264
+ 857 shorts shorts 8 40 7 shorts otherprop Objects clothes 38
265
+ 452 tire tire 8 40 7 otherprop Objects n04440749 tire.n.01 objects 39
266
+ 1203 teddy bear teddy bear 7 40 7 stuffed animal otherprop Objects n04399382 teddy.n.01 objects 39
267
+ 346 bathrobe bathrobe 7 40 7 otherprop Objects n02807616 bathrobe.n.01 clothes 38
268
+ 152 handrail handrail 7 38 7 railing otherstructure Objects n02788148 bannister.n.02 railing 30
269
+ 83 faucet faucet 7 40 7 faucet otherprop Objects faucet 3325088 n03325088 faucet.n.01 misc 40
270
+ 1204 pantry wall pantry wall 7 1 12 wall wall Wall n04546855 wall.n.01 wall 1
271
+ 726 thermos thermos 7 40 7 flask otherprop Objects bottle bottle 2876657 n04422727 thermos.n.01 objects 39
272
+ 61 rug rug 7 40 7 rug otherprop Objects n04118021 rug.n.01 floor 2
273
+ 39 couch cushions cushion 7 18 7 pillow pillow Objects n03151500 cushion.n.03 cushion 8
274
+ 1117 tripod tripod 7 39 6 stand otherfurniture Furniture n04485082 tripod.n.01 objects 39
275
+ 540 mailbox mailbox 7 29 7 box box Objects mailbox 3710193 n03710193 mailbox.n.01 misc 40
276
+ 1205 tupperware tupperware 7 40 7 otherprop Objects objects 39
277
+ 415 shoe rack shoe rack 7 40 7 shoe rack otherprop Objects shelving 31
278
+ 31 towels towel 6 27 7 towel towel Objects n04459362 towel.n.01 towel 20
279
+ 1206 beer bottles beer bottle 6 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
280
+ 153 treadmill treadmill 6 39 6 treadmill otherfurniture Furniture n04477387 treadmill.n.01 gym_equipment 33
281
+ 1207 salt salt 6 40 7 otherprop Objects objects 39
282
+ 129 chest chest 6 39 6 chest otherfurniture Furniture dresser dresser chest_of_drawers 13
283
+ 220 dispenser dispenser 6 40 7 otherprop Objects n03210683 dispenser.n.01 objects 39
284
+ 1208 mirror doors mirror door 6 8 12 door door Wall door n03221720 door.n.01 door 4
285
+ 231 remote remote 6 40 7 otherprop Objects remote_control 4074963 n04074963 remote_control.n.01 objects 39
286
+ 1209 folded ladder folded ladder 6 39 6 ladder otherfurniture Furniture stairs n03632277 ladder.n.01 misc 40
287
+ 39 cushion cushion 6 18 7 pillow pillow Objects n03151500 cushion.n.03 cushion 8
288
+ 1210 carton carton 6 40 7 otherprop Objects objects 39
289
+ 117 step step 6 38 7 otherstructure Objects n04314914 step.n.04 misc 40
290
+ 822 drying rack drying rack 6 39 6 drying rack otherfurniture Furniture shelving 31
291
+ 238 slippers slipper 6 40 7 shoe otherprop Objects n04241394 slipper.n.01 clothes 38
292
+ 143 pool table pool table 6 39 6 pool table otherfurniture Furniture table table table 4379243 n03982430 pool_table.n.01 table 5
293
+ 1211 soda stream soda stream 6 40 7 otherprop Objects objects 39
294
+ 228 toilet brush toilet brush 6 40 7 toilet brush otherprop Objects objects 39
295
+ 494 loft bed loft bed 6 4 1 bed bed Bed bed bed bed 2818832 n02818832 bed.n.01 bed 11
296
+ 226 cooking pot cooking pot 6 40 7 pot otherprop Objects objects 39
297
+ 91 heater heater 6 39 6 heater otherfurniture Furniture n03508101 heater.n.01 misc 40
298
+ 1072 messenger bag messenger bag 6 37 7 bag bag Objects objects 39
299
+ 435 stapler stapler 6 40 7 stapler otherprop Objects n04303497 stapler.n.01 objects 39
300
+ 1165 closet walls closet wall 5 1 12 wall wall Wall n04546855 wall.n.01 wall 1
301
+ 345 scanner scanner 5 40 7 otherprop Objects appliances 37
302
+ 893 elliptical machine elliptical machine 5 40 7 machine otherprop Objects gym_equipment 33
303
+ 621 kettle kettle 5 40 7 pot otherprop Objects n03612814 kettle.n.01 objects 39
304
+ 1212 metronome metronome 5 40 7 otherprop Objects n03757604 metronome.n.01 objects 39
305
+ 297 dumbell dumbell 5 40 7 otherprop Objects objects 39
306
+ 1213 music book music book 5 23 2 book books Books n02870526 book.n.11 objects 39
307
+ 1214 rice cooker rice cooker 5 40 7 otherprop Objects objects 39
308
+ 1215 dart board dart board 5 38 7 board otherstructure Objects n03162940 dartboard.n.01 objects 39
309
+ 529 sewing machine sewing machine 5 40 7 sewing machine otherprop Objects n04179913 sewing_machine.n.01 objects 39
310
+ 1216 grab bar grab bar 5 38 7 railing otherstructure Objects railing 30
311
+ 1217 flowerpot flowerpot 5 40 7 vase otherprop Objects vase jar 3593526 n04522168 vase.n.01 objects 39
312
+ 1218 painting painting 5 11 8 picture picture Picture n03931044 picture.n.01 picture 6
313
+ 1219 railing railing 5 38 7 railing otherstructure Objects n04047401 railing.n.01 railing 30
314
+ 1220 stair stair 5 38 7 stairs otherstructure Objects stairs n04314914 step.n.04 stairs 16
315
+ 525 toolbox toolbox 5 39 6 chest otherfurniture Furniture n04452615 toolbox.n.01 objects 39
316
+ 204 nerf gun nerf gun 5 40 7 otherprop Objects objects 39
317
+ 693 binders binder 5 40 7 binder otherprop Objects objects 39
318
+ 179 desk lamp desk lamp 5 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
319
+ 1221 quadcopter quadcopter 5 40 7 otherprop Objects objects 39
320
+ 1222 pitcher pitcher 5 40 7 pitcher otherprop Objects n03950228 pitcher.n.02 objects 39
321
+ 1223 hanging hanging 5 40 7 otherprop Objects misc 40
322
+ 1224 mail mail 5 40 7 otherprop Objects misc 40
323
+ 1225 closet ceiling closet ceiling 5 22 3 ceiling ceiling Ceiling n02990373 ceiling.n.01 ceiling 17
324
+ 1226 hoverboard hoverboard 5 40 7 otherprop Objects objects 39
325
+ 1227 beanbag chair beanbag chair 5 39 6 bean bag otherfurniture Furniture n02816656 beanbag.n.01 chair 3
326
+ 571 water heater water heater 5 40 7 water heater otherprop Objects n04560113 water_heater.n.01 misc 40
327
+ 1228 spray bottle spray bottle 5 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
328
+ 556 rope rope 5 40 7 rope otherprop Objects n04108268 rope.n.01 objects 39
329
+ 280 plastic container plastic container 5 40 7 container otherprop Objects objects 39
330
+ 1229 soap bottle soap bottle 5 40 7 soap otherprop Objects objects 39
331
+ 1230 ikea bag ikea bag 4 37 7 bag bag Objects 2773838 n02773838 bag.n.06 objects 39
332
+ 1231 sleeping bag sleeping bag 4 40 7 otherprop Objects n04235860 sleeping_bag.n.01 objects 39
333
+ 1232 duffel bag duffel bag 4 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
334
+ 746 frying pan frying pan 4 40 7 frying pan otherprop Objects n03400231 frying_pan.n.01 objects 39
335
+ 1233 oven mitt oven mitt 4 40 7 otherprop Objects objects 39
336
+ 1234 pot pot 4 40 7 pot otherprop Objects n04235860 sleeping_bag.n.01 objects 39
337
+ 144 hand dryer hand dryer 4 40 7 otherprop Objects objects 39
338
+ 282 dollhouse dollhouse 4 39 6 doll house otherfurniture Furniture n03219483 dollhouse.n.01 objects 39
339
+ 167 shampoo bottle shampoo bottle 4 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
340
+ 1235 hair brush hair brush 4 40 7 otherprop Objects n02908217 brush.n.02 objects 39
341
+ 1236 tennis racket tennis racket 4 40 7 otherprop Objects n04409806 tennis_racket.n.01 objects 39
342
+ 1237 display case display case 4 40 7 case otherprop Objects objects 39
343
+ 234 ping pong table ping pong table 4 39 6 ping pong table otherfurniture Furniture table table table 4379243 n04379243 table.n.02 table 5
344
+ 563 boiler boiler 4 40 7 otherprop Objects misc 40
345
+ 1238 bag of coffee beans bag of coffee beans 4 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
346
+ 1239 bananas banana 4 40 7 otherprop Objects n00021265 food.n.01 objects 39
347
+ 1240 carseat carseat 4 40 7 otherprop Objects misc 40
348
+ 366 helmet helmet 4 40 7 otherprop Objects helmet 3513137 n03513137 helmet.n.02 clothes 38
349
+ 816 umbrella umbrella 4 40 7 umbrella otherprop Objects n04507155 umbrella.n.01 objects 39
350
+ 1241 coffee box coffee box 4 40 7 otherprop Objects objects 39
351
+ 719 envelope envelope 4 40 7 envelope otherprop Objects n03291819 envelope.n.01 objects 39
352
+ 284 wet floor sign wet floor sign 4 40 7 sign otherprop Objects misc 40
353
+ 1242 clothing rack clothing rack 4 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
354
+ 247 controller controller 4 40 7 otherprop Objects n03096960 control.n.09 objects 39
355
+ 1243 bath walls bathroom wall 4 1 12 wall wall Wall n04546855 wall.n.01 wall 1
356
+ 1244 podium podium 4 39 6 otherfurniture Furniture n03159640 dais.n.01 furniture 36
357
+ 1245 storage box storage box 4 29 7 box box Objects n02883344 box.n.01 objects 39
358
+ 1246 dolly dolly 4 40 7 otherprop Objects misc 40
359
+ 1247 shampoo shampoo 3 40 7 otherprop Objects n04183516 shampoo.n.01 objects 39
360
+ 592 paper tray paper tray 3 40 7 paper tray otherprop Objects objects 39
361
+ 385 cabinet door cabinet door 3 8 12 door door Wall door door 4
362
+ 1248 changing station changing station 3 40 7 otherprop Objects misc 40
363
+ 1249 poster printer poster printer 3 40 7 printer otherprop Objects printer 4004475 n04004475 printer.n.03 appliances 37
364
+ 133 screen screen 3 40 7 otherprop Objects n03151077 curtain.n.01 curtain 12
365
+ 301 soap bar soap bar 3 38 7 bar otherstructure Objects objects 39
366
+ 1250 crutches crutches 3 40 7 otherprop Objects n03141823 crutch.n.01 objects 39
367
+ 379 studio light studio light 3 38 7 light otherstructure Objects lighting 28
368
+ 130 stack of cups cup 3 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
369
+ 1251 toilet flush button toilet flush button 3 40 7 otherprop Objects objects 39
370
+ 450 trunk trunk 3 40 7 otherprop Objects misc 40
371
+ 1252 grocery bag grocery bag 3 37 7 bag bag Objects suitcase 2773838 n03461288 grocery_bag.n.01 objects 39
372
+ 316 plastic bin plastic bin 3 40 7 bin otherprop Objects objects 39
373
+ 1253 pizza box pizza box 3 29 7 box box Objects objects 39
374
+ 385 cabinet doors cabinet door 3 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 door 4
375
+ 1254 legs legs 3 31 7 person person Objects person n05217688 person.n.02 misc 40
376
+ 461 car car 3 40 7 car otherprop Objects car car 2958343 n02958343 car.n.01 misc 40
377
+ 1255 shaving cream shaving cream 3 40 7 otherprop Objects n04186051 shaving_cream.n.01 objects 39
378
+ 1256 luggage stand luggage stand 3 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
379
+ 599 shredder shredder 3 40 7 otherprop Objects n04210120 shredder.n.01 objects 39
380
+ 281 statue statue 3 40 7 sculpture otherprop Objects n04306847 statue.n.01 misc 40
381
+ 1257 urinal urinal 3 33 7 toilet toilet Objects toilet toilet n04515991 urinal.n.01 toilet 18
382
+ 1258 hose hose 3 40 7 otherprop Objects n03539875 hose.n.03 misc 40
383
+ 1259 bike pump bike pump 3 40 7 otherprop Objects objects 39
384
+ 319 coatrack coatrack 3 40 7 otherprop Objects n03059103 coatrack.n.01 shelving 31
385
+ 1260 bear bear 3 40 7 otherprop Objects objects 39
386
+ 28 wall lamp lamp 3 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
387
+ 1261 humidifier humidifier 3 40 7 otherprop Objects objects 39
388
+ 546 toothpaste toothpaste 3 40 7 toothpaste otherprop Objects objects 39
389
+ 1262 mouthwash bottle mouthwash bottle 3 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
390
+ 1263 poster cutter poster cutter 3 40 7 otherprop Objects objects 39
391
+ 1264 golf bag golf bag 3 37 7 bag bag Objects suitcase 2773838 n03445617 golf_bag.n.01 objects 39
392
+ 1265 food container food container 3 40 7 container otherprop Objects n03094503 container.n.01 objects 39
393
+ 1266 camera camera 3 40 7 otherprop Objects objects 39
394
+ 28 table lamp lamp 3 35 7 lamp lamp Objects lamp lamp 3636649 n04380533 table_lamp.n.01 lighting 28
395
+ 1267 yoga mat yoga mat 3 20 5 floor mat floor mat Floor n03727837 mat.n.01 floor 2
396
+ 1268 card card 3 40 7 otherprop Objects objects 39
397
+ 1269 mug mug 3 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
398
+ 188 shower doors shower door 3 38 7 otherstructure Objects n04208936 shower.n.01 door 4
399
+ 689 cardboard cardboard 3 40 7 otherprop Objects objects 39
400
+ 1270 rack stand rack stand 3 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
401
+ 1271 boxes of paper boxes of paper 3 29 7 box box Objects n02883344 box.n.01 objects 39
402
+ 1272 flag flag 3 40 7 otherprop Objects misc 40
403
+ 354 futon futon 3 39 6 mattress otherfurniture Furniture n03408444 futon.n.01 sofa 10
404
+ 339 magazine magazine 3 40 7 magazine otherprop Objects n06595351 magazine.n.01 objects 39
405
+ 1009 exit sign exit sign 3 40 7 exit sign otherprop Objects misc 40
406
+ 1273 rolled poster rolled poster 3 40 7 otherprop Objects objects 39
407
+ 1274 wheel wheel 3 40 7 otherprop Objects objects 39
408
+ 15 pictures picture 3 11 8 picture picture Picture n03931044 picture.n.01 picture 6
409
+ 1275 blackboard eraser blackboard eraser 3 40 7 eraser otherprop Objects n03294833 eraser.n.01 objects 39
410
+ 361 organizer organizer 3 40 7 otherprop Objects n03918737 personal_digital_assistant.n.01 objects 39
411
+ 1276 doll doll 3 40 7 toy otherprop Objects n03219135 doll.n.01 objects 39
412
+ 326 book rack book rack 3 39 6 bookrack otherfurniture Furniture objects 39
413
+ 1277 laundry bag laundry bag 3 40 7 laundry basket otherprop Objects basket 2801938 n03050864 clothes_hamper.n.01 objects 39
414
+ 1278 sponge sponge 3 40 7 otherprop Objects n01906749 sponge.n.04 objects 39
415
+ 116 seating seat 3 39 6 furniture otherfurniture Furniture n04161981 seat.n.03 furniture 36
416
+ 1184 folded chairs folded chair 2 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
417
+ 1279 lotion bottle lotion bottle 2 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
418
+ 212 can can 2 40 7 can otherprop Objects can 2946921 n02946921 can.n.01 objects 39
419
+ 1280 lunch box lunch box 2 40 7 otherprop Objects objects 39
420
+ 1281 food display food display 2 40 7 otherprop Objects misc 40
421
+ 794 storage shelf storage shelf 2 40 7 otherprop Objects shelving 31
422
+ 1282 sliding wood door sliding wood door 2 40 7 otherprop Objects door 4
423
+ 955 pants pants 2 40 7 otherprop Objects n04489008 trouser.n.01 clothes 38
424
+ 387 wood wood 2 40 7 otherprop Objects misc 40
425
+ 69 boards board 2 38 7 board otherstructure Objects board_panel 35
426
+ 65 bottles bottle 2 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
427
+ 523 washcloth washcloth 2 40 7 otherprop Objects n04554523 washcloth.n.01 towel 20
428
+ 389 workbench workbench 2 39 6 bench otherfurniture Furniture bench table 4379243 n04600486 workbench.n.01 table 5
429
+ 29 open kitchen cabinet kitchen cabinet 2 3 6 cabinet cabinet Furniture n02933112 cabinet.n.01 cabinet 7
430
+ 1283 organizer shelf organizer shelf 2 15 6 shelves shelves Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
431
+ 146 frame frame 2 38 7 otherstructure Objects misc 40
432
+ 130 cups cup 2 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
433
+ 372 exercise ball exercise ball 2 40 7 ball otherprop Objects n04285146 sports_equipment.n.01 gym_equipment 33
434
+ 289 easel easel 2 39 6 stand otherfurniture Furniture n03262809 easel.n.01 furniture 36
435
+ 440 garbage bag garbage bag 2 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
436
+ 321 roomba roomba 2 40 7 otherprop Objects objects 39
437
+ 976 garage door garage door 2 38 7 garage door otherstructure Objects door door 4
438
+ 1256 luggage rack luggage stand 2 39 6 stand otherfurniture Furniture n04038440 shelving 31
439
+ 1284 bike lock bike lock 2 40 7 otherprop Objects objects 39
440
+ 1285 briefcase briefcase 2 40 7 otherprop Objects n02900705 briefcase.n.01 objects 39
441
+ 357 hand towel hand towel 2 27 7 towel towel Objects n03490006 hand_towel.n.01 towel 20
442
+ 1286 bath products bath product 2 40 7 otherprop Objects objects 39
443
+ 1287 star star 2 40 7 otherprop Objects n09444783 star.n.03 misc 40
444
+ 365 map map 2 40 7 map otherprop Objects n03720163 map.n.01 misc 40
445
+ 1288 coffee bean bag coffee bean bag 2 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
446
+ 81 headboard headboard 2 39 6 headboard otherfurniture Furniture n03502200 headboard.n.01 bed 11
447
+ 1289 ipad ipad 2 40 7 otherprop Objects objects 39
448
+ 1290 display rack display rack 2 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
449
+ 948 traffic cone traffic cone 2 40 7 cone otherprop Objects cone objects 39
450
+ 174 toiletry toiletry 2 40 7 otherprop Objects n04447443 toiletry.n.01 objects 39
451
+ 1028 canopy canopy 2 40 7 otherprop Objects misc 40
452
+ 1291 massage chair massage chair 2 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
453
+ 1292 paper organizer paper organizer 2 40 7 otherprop Objects objects 39
454
+ 1005 barricade barricade 2 40 7 otherprop Objects misc 40
455
+ 235 platform platform 2 38 7 otherstructure Objects misc 40
456
+ 1293 cap cap 2 40 7 hat otherprop Objects n03497657 hat.n.01 clothes 38
457
+ 1294 dumbbell plates dumbbell plates 2 40 7 otherprop Objects objects 39
458
+ 1295 elevator elevator 2 38 7 otherstructure Objects misc 40
459
+ 1296 cooking pan cooking pan 2 40 7 pan otherprop Objects n03880531 pan.n.01 objects 39
460
+ 1297 trash bag trash bag 2 37 7 bag bag Objects objects 39
461
+ 1298 santa santa 2 40 7 otherprop Objects misc 40
462
+ 1299 jewelry box jewelry box 2 29 7 box box Objects n02883344 box.n.01 objects 39
463
+ 1300 boat boat 2 40 7 otherprop Objects misc 40
464
+ 1301 sock sock 2 21 7 clothes clothes Objects n04254777 sock.n.01 clothes 38
465
+ 1051 kinect kinect 2 40 7 kinect otherprop Objects objects 39
466
+ 566 crib crib 2 39 6 crib otherfurniture Furniture furniture 36
467
+ 1302 plastic storage bin plastic storage bin 2 40 7 container otherprop Objects n03094503 container.n.01 objects 39
468
+ 1062 cooler cooler 2 24 6 refridgerator refridgerator Furniture n03102654 cooler.n.01 appliances 37
469
+ 1303 kitchen apron kitchen apron 2 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
470
+ 1304 dishwashing soap bottle dishwashing soap bottle 2 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
471
+ 1305 xbox controller xbox controller 2 40 7 otherprop Objects objects 39
472
+ 1306 banana holder banana holder 2 40 7 otherprop Objects objects 39
473
+ 298 ping pong paddle ping pong paddle 2 40 7 otherprop Objects table 5
474
+ 1307 airplane airplane 2 40 7 otherprop Objects misc 40
475
+ 1308 conditioner bottle conditioner bottle 2 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
476
+ 1309 tea kettle tea kettle 2 40 7 tea kettle otherprop Objects n04397768 teakettle.n.01 objects 39
477
+ 43 bedframe bedframe 2 39 6 otherfurniture Furniture n02822579 bedstead.n.01 bed 11
478
+ 1310 wood beam wood beam 2 38 7 otherstructure Objects beam 29
479
+ 593 toilet paper package toilet paper package 2 40 7 otherprop Objects objects 39
480
+ 1311 wall mounted coat rack wall mounted coat rack 2 40 7 otherprop Objects n03059103 coatrack.n.01 shelving 31
481
+ 1312 film light film light 2 40 7 otherprop Objects lighting 28
482
+ 749 ceiling lamp ceiling lamp 1 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
483
+ 623 chain chain 1 40 7 otherprop Objects chair 3
484
+ 1313 sofa sofa 1 6 9 sofa sofa Sofa sofa sofa sofa 4256520 n04256520 sofa.n.01 sofa 10
485
+ 99 closet wardrobe wardrobe 1 39 6 wardrobe otherfurniture Furniture wardrobe n04550184 wardrobe.n.01 furniture 36
486
+ 265 sweater sweater 1 40 7 otherprop Objects n04370048 sweater.n.01 clothes 38
487
+ 1314 kitchen mixer kitchen mixer 1 40 7 otherprop Objects appliances 37
488
+ 99 wardrobe wardrobe 1 39 6 wardrobe otherfurniture Furniture wardrobe n04550184 wardrobe.n.01 furniture 36
489
+ 1315 water softener water softener 1 40 7 otherprop Objects misc 40
490
+ 448 banister banister 1 38 7 banister otherstructure Objects n02788148 bannister.n.02 railing 30
491
+ 257 trolley trolley 1 40 7 trolley otherprop Objects n04335435 streetcar.n.01 misc 40
492
+ 1316 pantry shelf pantry shelf 1 15 6 shelves shelves Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
493
+ 786 sofa bed sofa bed 1 4 1 bed bed Bed bed bed bed 2818832 n02818832 bed.n.01 bed 11
494
+ 801 loofa loofa 1 40 7 otherprop Objects objects 39
495
+ 972 shower faucet handle shower faucet handle 1 40 7 handle otherprop Objects shower 23
496
+ 1317 toy piano toy piano 1 40 7 toy otherprop Objects n03964744 plaything.n.01 objects 39
497
+ 1318 fish fish 1 40 7 otherprop Objects n02512053 fish.n.01 objects 39
498
+ 75 file cabinets file cabinet 1 3 6 cabinet cabinet Furniture cabinet 2933112 n03337140 file.n.03 cabinet 7
499
+ 657 cat litter box cat litter box 1 29 7 box box Objects objects 39
500
+ 561 electric panel electric panel 1 40 7 otherprop Objects misc 40
501
+ 93 suitcases suitcase 1 40 7 luggage otherprop Objects n02774630 baggage.n.01 objects 39
502
+ 513 curtain rod curtain rod 1 38 7 curtain rod otherstructure Objects curtain 12
503
+ 411 bunk bed bunk bed 1 39 6 bunk bed otherfurniture Furniture bed bed bed 2818832 n02920259 bunk_bed.n.01 bed 11
504
+ 1122 chandelier chandelier 1 38 7 chandelier otherstructure Objects n03005285 chandelier.n.01 lighting 28
505
+ 922 tape tape 1 40 7 tape otherprop Objects objects 39
506
+ 88 plates plate 1 40 7 otherprop Objects n03959485 plate.n.04 objects 39
507
+ 518 alarm alarm 1 40 7 alarm otherprop Objects clock 3046257 n02694662 alarm_clock.n.01 objects 39
508
+ 814 fire hose fire hose 1 40 7 otherprop Objects n03346004 fire_hose.n.01 misc 40
509
+ 1319 toy dinosaur toy dinosaur 1 40 7 toy otherprop Objects n03964744 plaything.n.01 objects 39
510
+ 1320 cone cone 1 40 7 otherprop Objects objects 39
511
+ 649 glass doors glass door 1 8 12 door door Wall door n03221720 door.n.01 door 4
512
+ 607 hatrack hatrack 1 40 7 otherprop Objects n03059103 coatrack.n.01 shelving 31
513
+ 819 subwoofer subwoofer 1 40 7 speaker otherprop Objects speaker 3691459 n04349401 subwoofer.n.01 objects 39
514
+ 1321 fire sprinkler fire sprinkler 1 40 7 otherprop Objects misc 40
515
+ 1322 trash cabinet trash cabinet 1 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
516
+ 1204 pantry walls pantry wall 1 1 12 wall wall Wall n04546855 wall.n.01 wall 1
517
+ 227 photo photo 1 40 7 photo otherprop Objects n03925226 photograph.n.01 picture 6
518
+ 817 barrier barrier 1 40 7 otherprop Objects n02796623 barrier.n.01 misc 40
519
+ 130 stacks of cups cup 1 40 7 otherprop Objects n03147509 cup.n.01 objects 39
520
+ 712 beachball beachball 1 40 7 ball otherprop Objects n02814224 beach_ball.n.01 objects 39
521
+ 1323 folded boxes folded boxes 1 40 7 otherprop Objects objects 39
522
+ 1324 contact lens solution bottle contact lens solution bottle 1 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
523
+ 673 covered box covered box 1 29 7 box box Objects objects 39
524
+ 459 folder folder 1 40 7 folder otherprop Objects n03376279 folder.n.02 objects 39
525
+ 643 mail trays mail tray 1 40 7 mail tray otherprop Objects objects 39
526
+ 238 slipper slipper 1 40 7 otherprop Objects n04241394 slipper.n.01 clothes 38
527
+ 765 magazine rack magazine rack 1 39 6 stand otherfurniture Furniture n03704549 magazine_rack.n.01 shelving 31
528
+ 1008 sticker sticker 1 40 7 sticker otherprop Objects n07272545 gummed_label.n.01 objects 39
529
+ 225 lotion lotion 1 40 7 otherprop Objects n03690938 lotion.n.01 objects 39
530
+ 1083 buddha buddha 1 40 7 otherprop Objects objects 39
531
+ 813 file organizer file organizer 1 40 7 otherprop Objects objects 39
532
+ 138 paper towel rolls paper towel roll 1 40 7 paper towel otherprop Objects n03887697 paper_towel.n.01 towel 20
533
+ 1145 night lamp night lamp 1 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
534
+ 796 fuse box fuse box 1 40 7 otherprop Objects misc 40
535
+ 1325 knife block knife block 1 40 7 otherprop Objects objects 39
536
+ 363 furnace furnace 1 39 6 furnace otherfurniture Furniture n03404449 furnace.n.01
537
+ 1174 cd cases cd case 1 40 7 otherprop Objects objects 39
538
+ 38 stools stool 1 40 7 stool otherprop Objects stool n04326896 stool.n.01 stool 19
539
+ 1326 hand sanitzer dispenser hand sanitzer dispenser 1 40 7 otherprop Objects n04254120 soap_dispenser.n.01 objects 39
540
+ 997 teapot teapot 1 40 7 tea pot otherprop Objects n04398044 teapot.n.01 objects 39
541
+ 1327 pen holder pen holder 1 40 7 otherprop Objects objects 39
542
+ 1328 tray rack tray rack 1 40 7 otherprop Objects objects 39
543
+ 1329 wig wig 1 40 7 otherprop Objects n04584207 wig.n.01 objects 39
544
+ 182 switch switch 1 40 7 otherprop Objects n04372370 switch.n.01 misc 40
545
+ 280 plastic containers plastic container 1 40 7 container otherprop Objects n03094503 container.n.01 objects 39
546
+ 1330 night light night light 1 40 7 otherprop Objects lighting 28
547
+ 1331 notepad notepad 1 40 7 otherprop Objects objects 39
548
+ 1332 mail bin mail bin 1 40 7 otherprop Objects misc 40
549
+ 1333 elevator button elevator button 1 40 7 otherprop Objects misc 40
550
+ 939 gaming wheel gaming wheel 1 40 7 otherprop Objects objects 39
551
+ 1334 drum set drum set 1 40 7 otherprop Objects objects 39
552
+ 480 cosmetic bag cosmetic bag 1 37 7 bag bag Objects objects 39
553
+ 907 coffee mug coffee mug 1 40 7 vessel otherprop Objects cup or mug 3797390 n03063599 coffee_mug.n.01 objects 39
554
+ 1335 closet shelf closet shelf 1 15 6 shelves shelves Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
555
+ 1336 baby mobile baby mobile 1 40 7 otherprop Objects objects 39
556
+ 829 diaper bin diaper bin 1 40 7 bin otherprop Objects objects 39
557
+ 947 door wall door wall 1 1 12 wall wall Wall wall 1
558
+ 1116 stepstool stepstool 1 40 7 step stool otherprop Objects objects 39
559
+ 599 paper shredder shredder 1 40 7 otherprop Objects n04210120 shredder.n.01 objects 39
560
+ 733 dress rack dress rack 1 40 7 otherprop Objects n03238762 dress_rack.n.01 misc 40
561
+ 123 cover cover 1 40 7 blanket otherprop Objects objects 39
562
+ 506 shopping bag shopping bag 1 37 7 bag bag Objects n04204081 shopping_bag.n.01 objects 39
563
+ 569 sliding door sliding door 1 8 12 door door Wall door n04239074 sliding_door.n.01 door 4
564
+ 1337 exercise bike exercise bike 1 40 7 machine otherprop Objects n04210120 shredder.n.01 gym_equipment 33
565
+ 1338 recliner chair recliner chair 1 5 4 chair chair Chair chair chair chair 3001627 n03238762 dress_rack.n.01 chair 3
566
+ 1314 kitchenaid mixer kitchen mixer 1 40 7 otherprop Objects appliances 37
567
+ 1339 soda can soda can 1 40 7 can otherprop Objects can 2946921 n02946921 can.n.01 objects 39
568
+ 1340 stovetop stovetop 1 38 7 stove otherstructure Objects stove 4330267 n04330267 stove.n.02 appliances 37
569
+ 851 stepladder stepladder 1 39 6 ladder otherfurniture Furniture stairs n04315599 step_ladder.n.01 stairs 16
570
+ 142 tap tap 1 40 7 faucet otherprop Objects faucet 3325088 n04559451 water_faucet.n.01 objects 39
571
+ 436 cable cable 1 40 7 cables otherprop Objects objects 39
572
+ 1341 baby changing station baby changing station 1 39 6 otherfurniture Furniture furniture 36
573
+ 1342 costume costume 1 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
574
+ 885 rocking chair rocking chair 1 5 4 chair chair Chair chair chair chair 3001627 n04099969 rocking_chair.n.01 chair 3
575
+ 693 binder binder 1 40 7 binder otherprop Objects objects 39
576
+ 815 media center media center 1 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
577
+ 401 towel rack towel rack 1 40 7 otherprop Objects n04459773 towel_rack.n.01 misc 40
578
+ 1343 medal medal 1 40 7 otherprop Objects objects 39
579
+ 1184 stack of folded chairs folded chair 1 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
580
+ 1344 telescope telescope 1 40 7 otherprop Objects n04403638 telescope.n.01 objects 39
581
+ 1345 closet doorframe closet doorframe 1 8 12 door door Wall door door 4
582
+ 160 glass glass 1 38 7 glass otherstructure Objects n03438257 glass.n.02 misc 40
583
+ 1126 baseball cap baseball cap 1 40 7 otherprop Objects cap 2954340 n02799323 baseball_cap.n.01 clothes 38
584
+ 1346 battery disposal jar battery disposal jar 1 40 7 jar otherprop Objects jar 3593526 n03593526 jar.n.01 objects 39
585
+ 332 mop mop 1 40 7 otherprop Objects n04367480 swab.n.02 objects 39
586
+ 397 tank tank 1 40 7 otherprop Objects objects 39
587
+ 643 mail tray mail tray 1 40 7 mail tray otherprop Objects objects 39
588
+ 551 centerpiece centerpiece 1 40 7 centerpiece otherprop Objects n02994419 centerpiece.n.02 objects 39
589
+ 1163 stick stick 1 40 7 stick otherprop Objects objects 39
590
+ 1347 closet floor closet floor 1 2 5 floor floor Floor n03365592 floor.n.01 floor 2
591
+ 1348 dryer sheets dryer sheets 1 40 7 otherprop Objects objects 39
592
+ 803 bycicle bycicle 1 40 7 otherprop Objects misc 40
593
+ 484 flower stand flower stand 1 39 6 stand otherfurniture Furniture furniture 36
594
+ 1349 air mattress air mattress 1 4 1 bed bed Bed bed bed bed 2818832 n02690809 air_mattress.n.01 bed 11
595
+ 1350 clip clip 1 40 7 otherprop Objects objects 39
596
+ 222 side table side table 1 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
597
+ 1253 pizza boxes pizza box 1 29 7 box box Objects n02883344 box.n.01 objects 39
598
+ 1351 display display 1 39 7 otherfurniture Furniture n03211117 display.n.06 misc 40
599
+ 1352 postcard postcard 1 40 7 otherprop Objects objects 39
600
+ 828 display sign display sign 1 40 7 sign otherprop Objects misc 40
601
+ 1353 paper towel paper towel 1 40 7 paper towel otherprop Objects n03887697 paper_towel.n.01 towel 20
602
+ 612 boots boot 1 40 7 shoe otherprop Objects n04199027 shoe.n.01 clothes 38
603
+ 1354 tennis racket bag tennis racket bag 1 40 7 otherprop Objects objects 39
604
+ 1355 air hockey table air hockey table 1 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
605
+ 1301 socks sock 1 21 7 clothes clothes Objects n04254777 sock.n.01 clothes 38
606
+ 1356 food bag food bag 1 37 7 bag bag Objects objects 39
607
+ 1199 clothes hangers clothes hanger 1 40 7 otherprop Objects n03057920 coat_hanger.n.01 misc 40
608
+ 1357 starbucks cup starbucks cup 1 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
datasets/scannet_preprocess/meta_data/scannetv2-labels.combined.tsv ADDED
@@ -0,0 +1,608 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id raw_category category count nyu40id eigen13id nyuClass nyu40class eigen13class ModelNet40 ModelNet10 ShapeNetCore55 synsetoffset wnsynsetid wnsynsetkey mpcat40 mpcat40index
2
+ 1 wall wall 8277 1 12 wall wall Wall n04546855 wall.n.01 wall 1
3
+ 2 chair chair 4646 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
4
+ 22 books book 1678 23 2 book books Books n02870526 book.n.11 objects 39
5
+ 3 floor floor 1553 2 5 floor floor Floor n03365592 floor.n.01 floor 2
6
+ 5 door door 1483 8 12 door door Wall door n03221720 door.n.01 door 4
7
+ 1163 object object 1313 40 7 otherprop Objects objects 39
8
+ 16 window window 1209 9 13 window window Window n04587648 window.n.01 window 9
9
+ 4 table table 1170 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
10
+ 56 trash can trash can 1090 39 6 garbage bin otherfurniture Furniture trash_bin 2747177 n02747177 ashcan.n.01 objects 39
11
+ 13 pillow pillow 937 18 7 pillow pillow Objects pillow 3938244 n03938244 pillow.n.01 cushion 8
12
+ 15 picture picture 862 11 8 picture picture Picture n03931044 picture.n.01 picture 6
13
+ 41 ceiling ceiling 806 22 3 ceiling ceiling Ceiling n02990373 ceiling.n.01 ceiling 17
14
+ 26 box box 775 29 7 box box Objects n02883344 box.n.01 objects 39
15
+ 161 doorframe doorframe 768 8 12 door door Wall door doorframe.n.01 door 4
16
+ 19 monitor monitor 765 40 7 monitor otherprop Objects monitor monitor tv or monitor 3211117 n03782190 monitor.n.04 objects 39
17
+ 7 cabinet cabinet 731 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
18
+ 9 desk desk 680 14 10 desk desk Table desk desk table 4379243 n03179701 desk.n.01 table 5
19
+ 8 shelf shelf 641 15 6 shelves shelves Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
20
+ 10 office chair office chair 595 5 4 chair chair Chair chair chair chair 3001627 n04373704 swivel_chair.n.01 chair 3
21
+ 31 towel towel 570 27 7 towel towel Objects n04459362 towel.n.01 towel 20
22
+ 6 couch couch 502 6 9 sofa sofa Sofa sofa sofa sofa 4256520 n04256520 sofa.n.01 sofa 10
23
+ 14 sink sink 488 34 7 sink sink Objects sink n04223580 sink.n.01 sink 15
24
+ 48 backpack backpack 479 40 7 backpack otherprop Objects n02769748 backpack.n.01 objects 39
25
+ 28 lamp lamp 419 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
26
+ 11 bed bed 370 4 1 bed bed Bed bed bed bed 2818832 n02818832 bed.n.01 bed 11
27
+ 18 bookshelf bookshelf 360 10 6 bookshelf bookshelf Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
28
+ 71 mirror mirror 349 19 7 mirror mirror Objects n03773035 mirror.n.01 mirror 21
29
+ 21 curtain curtain 347 16 13 curtain curtain Window curtain n03151077 curtain.n.01 curtain 12
30
+ 40 plant plant 331 40 7 plant otherprop Objects plant n00017222 plant.n.02 plant 14
31
+ 52 whiteboard whiteboard 327 30 7 whiteboard whiteboard Objects n03211616 display_panel.n.01 board_panel 35
32
+ 96 radiator radiator 322 39 6 radiator otherfurniture Furniture n04041069 radiator.n.02 misc 40
33
+ 22 book book 318 23 2 book books Books n02870526 book.n.11 objects 39
34
+ 29 kitchen cabinet kitchen cabinet 310 3 6 cabinet cabinet Furniture n02933112 cabinet.n.01 cabinet 7
35
+ 49 toilet paper toilet paper 291 40 7 toilet paper otherprop Objects n15075141 toilet_tissue.n.01 objects 39
36
+ 29 kitchen cabinets kitchen cabinet 289 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
37
+ 23 armchair armchair 281 5 4 chair chair Chair chair chair chair 3001627 n02738535 armchair.n.01 chair 3
38
+ 63 shoes shoe 272 40 7 shoe otherprop Objects n04199027 shoe.n.01 clothes 38
39
+ 24 coffee table coffee table 258 7 10 coffee table table Table table table table 4379243 n03063968 coffee_table.n.01 table 5
40
+ 17 toilet toilet 256 33 7 toilet toilet Objects toilet toilet n04446276 toilet.n.01 toilet 18
41
+ 47 bag bag 252 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
42
+ 32 clothes clothes 248 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
43
+ 46 keyboard keyboard 246 40 7 keyboard otherprop Objects keyboard computer keyboard 3085013 n03085013 computer_keyboard.n.01 objects 39
44
+ 65 bottle bottle 226 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
45
+ 97 recycling bin recycling bin 225 39 6 garbage bin otherfurniture Furniture trash_bin 2747177 n02747177 ashcan.n.01 objects 39
46
+ 34 nightstand nightstand 224 32 6 night stand night stand Furniture night_stand night_stand n03015254 chest_of_drawers.n.01 chest_of_drawers 13
47
+ 38 stool stool 221 40 7 stool otherprop Objects stool n04326896 stool.n.01 stool 19
48
+ 33 tv tv 219 25 11 television television TV tv or monitor 3211117 n03211117 display.n.06 tv_monitor 22
49
+ 75 file cabinet file cabinet 217 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
50
+ 36 dresser dresser 213 17 6 dresser dresser Furniture dresser dresser n03015254 chest_of_drawers.n.01 chest_of_drawers 13
51
+ 64 computer tower computer tower 203 40 7 computer otherprop Objects n03082979 computer.n.01 objects 39
52
+ 32 clothing clothes 165 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
53
+ 101 telephone telephone 164 40 7 telephone otherprop Objects telephone 4401088 n04401088 telephone.n.01 objects 39
54
+ 130 cup cup 157 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
55
+ 27 refrigerator refrigerator 154 24 6 refridgerator refridgerator Furniture n04070727 refrigerator.n.01 appliances 37
56
+ 44 end table end table 147 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
57
+ 131 jacket jacket 146 40 7 jacket otherprop Objects n03589791 jacket.n.01 clothes 38
58
+ 55 shower curtain shower curtain 144 28 7 shower curtain shower curtain Objects curtain n04209239 shower_curtain.n.01 curtain 12
59
+ 42 bathtub bathtub 144 36 7 bathtub bathtub Objects bathtub bathtub tub 2808440 n02808440 bathtub.n.01 bathtub 25
60
+ 59 microwave microwave 141 40 7 microwave otherprop Objects microwave 3761084 n03761084 microwave.n.02 appliances 37
61
+ 159 kitchen counter kitchen counter 140 12 6 counter counter Furniture table table table 4379243 n03116530 counter.n.01 counter 26
62
+ 74 sofa chair sofa chair 129 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
63
+ 82 paper towel dispenser paper towel dispenser 129 40 7 paper towel dispenser otherprop Objects objects 39
64
+ 1164 bathroom vanity bathroom vanity 126 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 table 5
65
+ 93 suitcase suitcase 118 40 7 luggage otherprop Objects n02773838 bag.n.06 objects 39
66
+ 77 laptop laptop 111 40 7 laptop otherprop Objects laptop laptop 3642806 n03642806 laptop.n.01 objects 39
67
+ 67 ottoman ottoman 111 39 6 ottoman otherfurniture Furniture stool n03380724 footstool.n.01 stool 19
68
+ 128 shower walls shower wall 109 1 12 wall wall Wall n04546855 wall.n.01 wall 1
69
+ 50 printer printer 106 40 7 printer otherprop Objects printer 4004475 n04004475 printer.n.03 appliances 37
70
+ 35 counter counter 104 12 6 counter counter Furniture table table table 4379243 n03116530 counter.n.01 counter 26
71
+ 69 board board 100 38 7 board otherstructure Objects board_panel 35
72
+ 100 soap dispenser soap dispenser 99 40 7 otherprop Objects n04254120 soap_dispenser.n.01 objects 39
73
+ 62 stove stove 95 38 7 stove otherstructure Objects stove 4330267 n04330267 stove.n.02 appliances 37
74
+ 105 light light 93 38 7 light otherstructure Objects n03665366 light.n.02 lighting 28
75
+ 1165 closet wall closet wall 90 1 12 wall wall Wall n04546855 wall.n.01 wall 1
76
+ 165 mini fridge mini fridge 87 24 6 refridgerator refridgerator Furniture n03273913 electric_refrigerator.n.01 appliances 37
77
+ 7 cabinets cabinet 79 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
78
+ 5 doors door 76 8 12 door door Wall door n03221720 door.n.01 door 4
79
+ 76 fan fan 75 40 7 fan otherprop Objects n03320046 fan.n.01 misc 40
80
+ 230 tissue box tissue box 73 40 7 tissue box otherprop Objects n02883344 box.n.01 objects 39
81
+ 54 blanket blanket 72 40 7 blanket otherprop Objects n02849154 blanket.n.01 objects 39
82
+ 125 bathroom stall bathroom stall 71 38 7 otherstructure Objects n02873839 booth.n.02 misc 40
83
+ 72 copier copier 70 40 7 otherprop Objects n03257586 duplicator.n.01 appliances 37
84
+ 68 bench bench 66 39 6 bench otherfurniture Furniture bench bench 2828884 n02828884 bench.n.01 seating 34
85
+ 145 bar bar 66 38 7 bar otherstructure Objects n02788689 bar.n.03 misc 40
86
+ 157 soap dish soap dish 65 40 7 soap dish otherprop Objects n04254009 soap_dish.n.01 objects 39
87
+ 1166 laundry hamper laundry hamper 65 40 7 laundry basket otherprop Objects objects 39
88
+ 132 storage bin storage bin 63 40 7 storage bin otherprop Objects objects 39
89
+ 1167 bathroom stall door bathroom stall door 62 8 12 door door Wall door n03221720 door.n.01 door 4
90
+ 232 light switch light switch 61 38 7 light switch otherstructure Objects n04372370 switch.n.01 misc 40
91
+ 134 coffee maker coffee maker 61 40 7 otherprop Objects n03063338 coffee_maker.n.01 appliances 37
92
+ 51 tv stand tv stand 61 39 6 tv stand otherfurniture Furniture tv_stand n03290653 entertainment_center.n.01 furniture 36
93
+ 250 decoration decoration 60 40 7 otherprop Objects n03169390 decoration.n.01 misc 40
94
+ 1168 ceiling light ceiling light 59 38 7 light otherstructure Objects n03665366 light.n.02 lighting 28
95
+ 342 range hood range hood 59 38 7 range hood otherstructure Objects range_hood n04053677 range_hood.n.01 misc 40
96
+ 89 blackboard blackboard 58 38 7 blackboard otherstructure Objects n02846511 blackboard.n.01 board_panel 35
97
+ 103 clock clock 58 40 7 clock otherprop Objects clock 3046257 n03046257 clock.n.01 objects 39
98
+ 99 wardrobe closet wardrobe 54 39 6 wardrobe otherfurniture Furniture wardrobe n04550184 wardrobe.n.01 furniture 36
99
+ 95 rail rail 53 38 7 railing otherstructure Objects n04047401 railing.n.01 railing 30
100
+ 154 bulletin board bulletin board 53 38 7 board otherstructure Objects n03211616 display_panel.n.01 board_panel 35
101
+ 140 mat mat 52 20 5 floor mat floor mat Floor n03727837 mat.n.01 floor 2
102
+ 1169 trash bin trash bin 52 39 6 garbage bin otherfurniture Furniture trash_bin 2747177 n02747177 ashcan.n.01 objects 39
103
+ 193 ledge ledge 51 38 7 otherstructure Objects n09337253 ledge.n.01 misc 40
104
+ 116 seat seat 49 39 6 furniture otherfurniture Furniture n04161981 seat.n.03 furniture 36
105
+ 202 mouse mouse 49 40 7 mouse otherprop Objects n03793489 mouse.n.04 objects 39
106
+ 73 basket basket 48 40 7 basket otherprop Objects basket 2801938 n02801938 basket.n.01 objects 39
107
+ 78 shower shower 48 38 7 otherstructure Objects n04208936 shower.n.01 shower 23
108
+ 1170 dumbbell dumbbell 48 40 7 otherprop Objects n03255030 dumbbell.n.01 objects 39
109
+ 79 paper paper 46 26 7 paper paper Objects n14974264 paper.n.01 objects 39
110
+ 80 person person 46 31 7 person person Objects person n05217688 person.n.02 misc 40
111
+ 141 windowsill windowsill 45 38 7 otherstructure Objects n04590263 windowsill.n.01 window 9
112
+ 57 closet closet 45 39 6 wardrobe otherfurniture Furniture wardrobe misc 40
113
+ 102 bucket bucket 45 40 7 bucket otherprop Objects n02909870 bucket.n.01 misc 40
114
+ 261 sign sign 44 40 7 sign otherprop Objects n04217882 signboard.n.01 objects 39
115
+ 118 speaker speaker 43 40 7 speaker otherprop Objects speaker 3691459 n03691459 loudspeaker.n.01 objects 39
116
+ 136 dishwasher dishwasher 43 38 7 dishwasher otherstructure Objects dishwasher 3207941 n03207941 dishwasher.n.01 appliances 37
117
+ 98 container container 43 40 7 container otherprop Objects n03094503 container.n.01 objects 39
118
+ 1171 stair rail stair rail 42 38 7 banister otherstructure Objects n02788148 bannister.n.02 railing 30
119
+ 170 shower curtain rod shower curtain rod 42 40 7 otherprop Objects curtain 12
120
+ 1172 tube tube 41 40 7 otherprop Objects misc 40
121
+ 1173 bathroom cabinet bathroom cabinet 39 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
122
+ 79 papers paper 39 26 7 paper paper Objects n14974264 paper.n.01 objects 39
123
+ 221 storage container storage container 39 40 7 container otherprop Objects objects 39
124
+ 570 paper bag paper bag 39 37 7 bag bag Objects n04122825 sack.n.01 objects 39
125
+ 138 paper towel roll paper towel roll 39 40 7 paper towel otherprop Objects n03887697 paper_towel.n.01 towel 20
126
+ 168 ball ball 39 40 7 ball otherprop Objects objects 39
127
+ 276 closet doors closet door 38 8 12 door door Wall door n03221720 door.n.01 door 4
128
+ 106 laundry basket laundry basket 37 40 7 laundry basket otherprop Objects basket 2801938 n03050864 clothes_hamper.n.01 objects 39
129
+ 214 cart cart 37 40 7 cart otherprop Objects n03484083 handcart.n.01 shelving 31
130
+ 276 closet door closet door 35 8 12 door door Wall door n03221720 door.n.01 door 4
131
+ 323 dish rack dish rack 35 40 7 dish rack otherprop Objects n03207630 dish_rack.n.01 objects 39
132
+ 58 stairs stairs 35 38 7 stairs otherstructure Objects n04298308 stairway.n.01 stairs 16
133
+ 86 blinds blinds 35 13 13 blinds blinds Window n02851099 blind.n.03 blinds 32
134
+ 2 stack of chairs chair 35 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
135
+ 399 purse purse 34 40 7 purse otherprop Objects n02774152 bag.n.04 objects 39
136
+ 121 bicycle bicycle 33 40 7 bicycle otherprop Objects bicycle 2834778 n02834778 bicycle.n.01 objects 39
137
+ 185 tray tray 32 40 7 tray otherprop Objects n04476259 tray.n.01 objects 39
138
+ 300 plunger plunger 30 40 7 otherprop Objects n03970156 plunger.n.03 objects 39
139
+ 180 paper cutter paper cutter 30 40 7 paper cutter otherprop Objects n03886940 paper_cutter.n.01 objects 39
140
+ 163 toilet paper dispenser toilet paper dispenser 29 40 7 otherprop Objects objects 39
141
+ 26 boxes box 29 29 7 box box Objects n02883344 box.n.01 objects 39
142
+ 66 bin bin 28 40 7 bin otherprop Objects n02839910 bin.n.01 objects 39
143
+ 208 toilet seat cover dispenser toilet seat cover dispenser 28 40 7 otherprop Objects objects 39
144
+ 112 guitar guitar 28 40 7 guitar otherprop Objects guitar guitar 3467517 n03467517 guitar.n.01 objects 39
145
+ 540 mailboxes mailbox 28 29 7 box box Objects mailbox 3710193 n03710193 mailbox.n.01 misc 40
146
+ 395 handicap bar handicap bar 27 38 7 bar otherstructure Objects misc 40
147
+ 166 fire extinguisher fire extinguisher 27 40 7 fire extinguisher otherprop Objects n03345837 fire_extinguisher.n.01 misc 40
148
+ 122 ladder ladder 27 39 6 ladder otherfurniture Furniture stairs n03632277 ladder.n.01 stairs 16
149
+ 120 column column 26 38 7 column otherstructure Objects n03074380 column.n.06 column 24
150
+ 107 pipe pipe 25 40 7 pipe otherprop Objects n03944672 pipe.n.02 misc 40
151
+ 283 vacuum cleaner vacuum cleaner 25 40 7 otherprop Objects n04517823 vacuum.n.04 objects 39
152
+ 88 plate plate 24 40 7 plate otherprop Objects n03959485 plate.n.04 objects 39
153
+ 90 piano piano 24 39 6 piano otherfurniture Furniture piano piano 3928116 n03928116 piano.n.01 furniture 36
154
+ 177 water cooler water cooler 24 39 6 water cooler otherfurniture Furniture n04559166 water_cooler.n.01 misc 40
155
+ 1174 cd case cd case 24 40 7 otherprop Objects objects 39
156
+ 562 bowl bowl 24 40 7 bowl otherprop Objects bowl bowl 2880940 n02880940 bowl.n.03 objects 39
157
+ 1175 closet rod closet rod 24 40 7 otherprop Objects n04100174 rod.n.01 misc 40
158
+ 1156 bathroom counter bathroom counter 24 12 6 counter counter Furniture table table table 4379243 n03116530 counter.n.01 counter 26
159
+ 84 oven oven 23 38 7 oven otherstructure Objects n03862676 oven.n.01 appliances 37
160
+ 104 stand stand 23 39 6 stand otherfurniture Furniture table table table 4379243 n04301000 stand.n.04 table 5
161
+ 229 scale scale 23 40 7 scale otherprop Objects n04141975 scale.n.07 objects 39
162
+ 70 washing machine washing machine 23 39 6 washing machine otherfurniture Furniture washing_machine 4554684 n04554684 washer.n.03 appliances 37
163
+ 325 broom broom 22 40 7 broom otherprop Objects n02906734 broom.n.01 objects 39
164
+ 169 hat hat 22 40 7 hat otherprop Objects n03497657 hat.n.01 clothes 38
165
+ 128 shower wall shower wall 22 1 12 wall wall Wall n04208936 shower.n.01 wall 1
166
+ 331 guitar case guitar case 21 40 7 guitar case otherprop Objects objects 39
167
+ 87 rack rack 21 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
168
+ 488 water pitcher water pitcher 21 40 7 pitcher otherprop Objects n03950228 pitcher.n.02 objects 39
169
+ 776 laundry detergent laundry detergent 21 40 7 otherprop Objects objects 39
170
+ 370 hair dryer hair dryer 21 40 7 hair dryer otherprop Objects n03483316 hand_blower.n.01 objects 39
171
+ 191 pillar pillar 21 38 7 column otherstructure Objects n03073977 column.n.07 column 24
172
+ 748 divider divider 20 40 7 otherprop Objects wall 1
173
+ 242 power outlet power outlet 19 40 7 otherprop Objects misc 40
174
+ 45 dining table dining table 19 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
175
+ 417 shower floor shower floor 19 2 5 floor floor Floor n04208936 shower.n.01 floor 2
176
+ 70 washing machines washing machine 19 39 6 washing machine otherfurniture Furniture washing_machine 4554684 n04554684 washer.n.03 appliances 37
177
+ 188 shower door shower door 19 8 12 door door Wall door n04208936 shower.n.01 door 4
178
+ 1176 coffee kettle coffee kettle 18 40 7 pot otherprop Objects n03612814 kettle.n.01 objects 39
179
+ 1177 wardrobe cabinet wardrobe 18 39 6 wardrobe otherfurniture Furniture wardrobe n04550184 wardrobe.n.01 furniture 36
180
+ 1178 structure structure 18 38 7 otherstructure Objects misc 40
181
+ 18 bookshelves bookshelf 17 10 6 bookshelf bookshelf Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
182
+ 110 clothes dryer clothes dryer 17 39 6 otherfurniture Furniture n03251766 dryer.n.01 appliances 37
183
+ 148 toaster toaster 17 40 7 toaster otherprop Objects n04442312 toaster.n.02 appliances 37
184
+ 63 shoe shoe 17 40 7 shoe otherprop Objects n04199027 shoe.n.01 clothes 38
185
+ 155 ironing board ironing board 16 39 6 ironing board otherfurniture Furniture n03586090 ironing_board.n.01 objects 39
186
+ 572 alarm clock alarm clock 16 40 7 alarm clock otherprop Objects clock 3046257 n02694662 alarm_clock.n.01 objects 39
187
+ 1179 shower head shower head 15 38 7 otherstructure Objects shower 23
188
+ 28 lamp base lamp 15 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
189
+ 392 water bottle water bottle 15 40 7 bottle otherprop Objects bottle bottle 2876657 n04557648 water_bottle.n.01 objects 39
190
+ 1180 keyboard piano keyboard piano 15 39 6 piano otherfurniture Furniture piano piano 3928116 n03928116 piano.n.01 furniture 36
191
+ 609 projector screen projector screen 15 38 7 projector screen otherstructure Objects misc 40
192
+ 1181 case of water bottles case of water bottles 15 40 7 otherprop Objects objects 39
193
+ 195 toaster oven toaster oven 14 40 7 toaster oven otherprop Objects n04442441 toaster_oven.n.01 appliances 37
194
+ 581 music stand music stand 14 39 6 music stand otherfurniture Furniture n03801760 music_stand.n.01 furniture 36
195
+ 58 staircase stairs 14 38 7 stairs otherstructure Objects n04298308 stairway.n.01 stairs 16
196
+ 1182 coat rack coat rack 14 40 7 otherprop Objects n03059103 coatrack.n.01 shelving 3
197
+ 1183 storage organizer storage organizer 14 40 7 otherprop Objects shelving 3
198
+ 139 machine machine 14 40 7 machine otherprop Objects n03699975 machine.n.01 appliances 37
199
+ 1184 folded chair folded chair 14 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
200
+ 1185 fire alarm fire alarm 14 40 7 otherprop Objects n03343737 fire_alarm.n.02 misc 40
201
+ 156 fireplace fireplace 13 38 7 fireplace otherstructure Objects n03346455 fireplace.n.01 fireplace 27
202
+ 408 vent vent 13 40 7 otherprop Objects n04526241 vent.n.01 misc 40
203
+ 213 furniture furniture 13 39 6 furniture otherfurniture Furniture n03405725 furniture.n.01 furniture 36
204
+ 1186 power strip power strip 13 40 7 otherprop Objects objects 39
205
+ 1187 calendar calendar 13 40 7 otherprop Objects objects 39
206
+ 1188 poster poster 13 11 8 picture picture Picture n03931044 picture.n.01 picture 6
207
+ 115 toilet paper holder toilet paper holder 13 40 7 toilet paper holder otherprop Objects objects 39
208
+ 1189 potted plant potted plant 12 40 7 plant otherprop Objects plant n00017222 plant.n.02 plant 14
209
+ 304 stuffed animal stuffed animal 12 40 7 stuffed animal otherprop Objects n04399382 teddy.n.01 objects 39
210
+ 1190 luggage luggage 12 40 7 luggage otherprop Objects n02774630 baggage.n.01 objects 39
211
+ 21 curtains curtain 12 16 13 curtain curtain Window curtain n03151077 curtain.n.01 curtain 12
212
+ 312 headphones headphones 12 40 7 otherprop Objects n03261776 earphone.n.01 objects 39
213
+ 233 crate crate 12 39 6 crate otherfurniture Furniture n03127925 crate.n.01 objects 39
214
+ 286 candle candle 12 40 7 candle otherprop Objects lamp n02948072 candle.n.01 objects 39
215
+ 264 projector projector 12 40 7 projector otherprop Objects n04009552 projector.n.02 objects 39
216
+ 110 clothes dryers clothes dryer 12 39 6 otherfurniture Furniture n03251766 dryer.n.01 appliances 37
217
+ 1191 mattress mattress 12 4 1 bed bed Bed bed bed bed 2818832 n02818832 bed.n.01 bed 11
218
+ 356 dustpan dustpan 12 40 7 otherprop Objects n03259009 dustpan.n.02 objects 39
219
+ 25 drawer drawer 11 39 6 drawer otherfurniture Furniture n03233905 drawer.n.01 furniture 36
220
+ 750 rod rod 11 40 7 otherprop Objects pistol 3948459 n03427202 gat.n.01 misc 40
221
+ 269 globe globe 11 40 7 globe otherprop Objects objects 39
222
+ 307 footrest footrest 11 39 6 foot rest otherfurniture Furniture stool n03380724 footstool.n.01 stool 19
223
+ 410 piano bench piano bench 11 39 6 piano bench otherfurniture Furniture bench bench 2828884 n02828884 bench.n.01 seating 34
224
+ 730 breakfast bar breakfast bar 11 38 7 bar otherstructure Objects counter 26
225
+ 216 step stool step stool 11 40 7 step stool otherprop Objects stool n04315713 step_stool.n.01 stool 19
226
+ 1192 hand rail hand rail 11 38 7 railing otherstructure Objects railing 30
227
+ 119 vending machine vending machine 11 40 7 machine otherprop Objects n04525305 vending_machine.n.01 appliances 37
228
+ 682 ceiling fan ceiling fan 11 40 7 fan otherprop Objects n03320046 fan.n.01 misc 40
229
+ 434 swiffer swiffer 11 40 7 otherprop Objects objects 39
230
+ 126 foosball table foosball table 11 39 6 foosball table otherfurniture Furniture table table table 4379243 n04379243 table.n.02 table 5
231
+ 919 jar jar 11 40 7 jar otherprop Objects jar 3593526 n03593526 jar.n.01 objects 39
232
+ 85 footstool footstool 11 39 6 ottoman otherfurniture Furniture stool n03380724 footstool.n.01 stool 19
233
+ 1193 folded table folded table 10 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
234
+ 108 round table round table 10 7 10 table table Table table table table 4379243 n04114554 round_table.n.02 table 5
235
+ 135 hamper hamper 10 40 7 basket otherprop Objects basket 2801938 n03482405 hamper.n.02 objects 39
236
+ 1194 poster tube poster tube 10 40 7 otherprop Objects objects 39
237
+ 432 case case 10 40 7 case otherprop Objects objects 39
238
+ 53 carpet carpet 10 40 7 rug otherprop Objects n04118021 rug.n.01 floor 2
239
+ 1195 thermostat thermostat 10 40 7 otherprop Objects n04422875 thermostat.n.01 misc 40
240
+ 111 coat coat 10 40 7 jacket otherprop Objects n03057021 coat.n.01 clothes 38
241
+ 305 water fountain water fountain 10 38 7 water fountain otherstructure Objects n03241335 drinking_fountain.n.01 misc 40
242
+ 1125 smoke detector smoke detector 10 40 7 otherprop Objects misc 40
243
+ 13 pillows pillow 9 18 7 pillow pillow Objects pillow 3938244 n03938244 pillow.n.01 cushion 8
244
+ 1196 flip flops flip flops 9 40 7 shoe otherprop Objects n04199027 shoe.n.01 clothes 38
245
+ 1197 cloth cloth 9 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
246
+ 1198 banner banner 9 40 7 otherprop Objects n02788021 banner.n.01 misc 40
247
+ 1199 clothes hanger clothes hanger 9 40 7 otherprop Objects n03057920 coat_hanger.n.01 objects 39
248
+ 1200 whiteboard eraser whiteboard eraser 9 40 7 otherprop Objects objects 39
249
+ 378 iron iron 9 40 7 otherprop Objects n03584829 iron.n.04 objects 39
250
+ 591 instrument case instrument case 9 40 7 case otherprop Objects objects 39
251
+ 49 toilet paper rolls toilet paper 9 40 7 toilet paper otherprop Objects n15075141 toilet_tissue.n.01 objects 39
252
+ 92 soap soap 9 40 7 soap otherprop Objects n04253437 soap.n.01 objects 39
253
+ 1098 block block 9 40 7 otherprop Objects misc 40
254
+ 291 wall hanging wall hanging 8 40 7 otherprop Objects n03491178 hanging.n.01 picture 6
255
+ 1063 kitchen island kitchen island 8 38 7 kitchen island otherstructure Objects n03620600 kitchen_island.n.01 counter 26
256
+ 107 pipes pipe 8 38 7 otherstructure Objects misc 40
257
+ 1135 toothbrush toothbrush 8 40 7 toothbrush otherprop Objects n04453156 toothbrush.n.01 objects 39
258
+ 189 shirt shirt 8 40 7 otherprop Objects n04197391 shirt.n.01 clothes 38
259
+ 245 cutting board cutting board 8 40 7 cutting board otherprop Objects n03025513 chopping_board.n.01 objects 39
260
+ 194 vase vase 8 40 7 vase otherprop Objects vase jar 3593526 n04522168 vase.n.01 objects 39
261
+ 1201 shower control valve shower control valve 8 38 7 otherstructure Objects n04208936 shower.n.01 shower 23
262
+ 386 exercise machine exercise machine 8 40 7 machine otherprop Objects gym_equipment 33
263
+ 1202 compost bin compost bin 8 39 6 garbage bin otherfurniture Furniture trash_bin 2747177 n02747177 ashcan.n.01 objects 39
264
+ 857 shorts shorts 8 40 7 shorts otherprop Objects clothes 38
265
+ 452 tire tire 8 40 7 otherprop Objects n04440749 tire.n.01 objects 39
266
+ 1203 teddy bear teddy bear 7 40 7 stuffed animal otherprop Objects n04399382 teddy.n.01 objects 39
267
+ 346 bathrobe bathrobe 7 40 7 otherprop Objects n02807616 bathrobe.n.01 clothes 38
268
+ 152 handrail handrail 7 38 7 railing otherstructure Objects n02788148 bannister.n.02 railing 30
269
+ 83 faucet faucet 7 40 7 faucet otherprop Objects faucet 3325088 n03325088 faucet.n.01 misc 40
270
+ 1204 pantry wall pantry wall 7 1 12 wall wall Wall n04546855 wall.n.01 wall 1
271
+ 726 thermos thermos 7 40 7 flask otherprop Objects bottle bottle 2876657 n04422727 thermos.n.01 objects 39
272
+ 61 rug rug 7 40 7 rug otherprop Objects n04118021 rug.n.01 floor 2
273
+ 39 couch cushions cushion 7 18 7 pillow pillow Objects n03151500 cushion.n.03 cushion 8
274
+ 1117 tripod tripod 7 39 6 stand otherfurniture Furniture n04485082 tripod.n.01 objects 39
275
+ 540 mailbox mailbox 7 29 7 box box Objects mailbox 3710193 n03710193 mailbox.n.01 misc 40
276
+ 1205 tupperware tupperware 7 40 7 otherprop Objects objects 39
277
+ 415 shoe rack shoe rack 7 40 7 shoe rack otherprop Objects shelving 31
278
+ 31 towels towel 6 27 7 towel towel Objects n04459362 towel.n.01 towel 20
279
+ 1206 beer bottles beer bottle 6 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
280
+ 153 treadmill treadmill 6 39 6 treadmill otherfurniture Furniture n04477387 treadmill.n.01 gym_equipment 33
281
+ 1207 salt salt 6 40 7 otherprop Objects objects 39
282
+ 129 chest chest 6 39 6 chest otherfurniture Furniture dresser dresser chest_of_drawers 13
283
+ 220 dispenser dispenser 6 40 7 otherprop Objects n03210683 dispenser.n.01 objects 39
284
+ 1208 mirror doors mirror door 6 8 12 door door Wall door n03221720 door.n.01 door 4
285
+ 231 remote remote 6 40 7 otherprop Objects remote_control 4074963 n04074963 remote_control.n.01 objects 39
286
+ 1209 folded ladder folded ladder 6 39 6 ladder otherfurniture Furniture stairs n03632277 ladder.n.01 misc 40
287
+ 39 cushion cushion 6 18 7 pillow pillow Objects n03151500 cushion.n.03 cushion 8
288
+ 1210 carton carton 6 40 7 otherprop Objects objects 39
289
+ 117 step step 6 38 7 otherstructure Objects n04314914 step.n.04 misc 40
290
+ 822 drying rack drying rack 6 39 6 drying rack otherfurniture Furniture shelving 31
291
+ 238 slippers slipper 6 40 7 shoe otherprop Objects n04241394 slipper.n.01 clothes 38
292
+ 143 pool table pool table 6 39 6 pool table otherfurniture Furniture table table table 4379243 n03982430 pool_table.n.01 table 5
293
+ 1211 soda stream soda stream 6 40 7 otherprop Objects objects 39
294
+ 228 toilet brush toilet brush 6 40 7 toilet brush otherprop Objects objects 39
295
+ 494 loft bed loft bed 6 4 1 bed bed Bed bed bed bed 2818832 n02818832 bed.n.01 bed 11
296
+ 226 cooking pot cooking pot 6 40 7 pot otherprop Objects objects 39
297
+ 91 heater heater 6 39 6 heater otherfurniture Furniture n03508101 heater.n.01 misc 40
298
+ 1072 messenger bag messenger bag 6 37 7 bag bag Objects objects 39
299
+ 435 stapler stapler 6 40 7 stapler otherprop Objects n04303497 stapler.n.01 objects 39
300
+ 1165 closet walls closet wall 5 1 12 wall wall Wall n04546855 wall.n.01 wall 1
301
+ 345 scanner scanner 5 40 7 otherprop Objects appliances 37
302
+ 893 elliptical machine elliptical machine 5 40 7 machine otherprop Objects gym_equipment 33
303
+ 621 kettle kettle 5 40 7 pot otherprop Objects n03612814 kettle.n.01 objects 39
304
+ 1212 metronome metronome 5 40 7 otherprop Objects n03757604 metronome.n.01 objects 39
305
+ 297 dumbell dumbell 5 40 7 otherprop Objects objects 39
306
+ 1213 music book music book 5 23 2 book books Books n02870526 book.n.11 objects 39
307
+ 1214 rice cooker rice cooker 5 40 7 otherprop Objects objects 39
308
+ 1215 dart board dart board 5 38 7 board otherstructure Objects n03162940 dartboard.n.01 objects 39
309
+ 529 sewing machine sewing machine 5 40 7 sewing machine otherprop Objects n04179913 sewing_machine.n.01 objects 39
310
+ 1216 grab bar grab bar 5 38 7 railing otherstructure Objects railing 30
311
+ 1217 flowerpot flowerpot 5 40 7 vase otherprop Objects vase jar 3593526 n04522168 vase.n.01 objects 39
312
+ 1218 painting painting 5 11 8 picture picture Picture n03931044 picture.n.01 picture 6
313
+ 1219 railing railing 5 38 7 railing otherstructure Objects n04047401 railing.n.01 railing 30
314
+ 1220 stair stair 5 38 7 stairs otherstructure Objects stairs n04314914 step.n.04 stairs 16
315
+ 525 toolbox toolbox 5 39 6 chest otherfurniture Furniture n04452615 toolbox.n.01 objects 39
316
+ 204 nerf gun nerf gun 5 40 7 otherprop Objects objects 39
317
+ 693 binders binder 5 40 7 binder otherprop Objects objects 39
318
+ 179 desk lamp desk lamp 5 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
319
+ 1221 quadcopter quadcopter 5 40 7 otherprop Objects objects 39
320
+ 1222 pitcher pitcher 5 40 7 pitcher otherprop Objects n03950228 pitcher.n.02 objects 39
321
+ 1223 hanging hanging 5 40 7 otherprop Objects misc 40
322
+ 1224 mail mail 5 40 7 otherprop Objects misc 40
323
+ 1225 closet ceiling closet ceiling 5 22 3 ceiling ceiling Ceiling n02990373 ceiling.n.01 ceiling 17
324
+ 1226 hoverboard hoverboard 5 40 7 otherprop Objects objects 39
325
+ 1227 beanbag chair beanbag chair 5 39 6 bean bag otherfurniture Furniture n02816656 beanbag.n.01 chair 3
326
+ 571 water heater water heater 5 40 7 water heater otherprop Objects n04560113 water_heater.n.01 misc 40
327
+ 1228 spray bottle spray bottle 5 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
328
+ 556 rope rope 5 40 7 rope otherprop Objects n04108268 rope.n.01 objects 39
329
+ 280 plastic container plastic container 5 40 7 container otherprop Objects objects 39
330
+ 1229 soap bottle soap bottle 5 40 7 soap otherprop Objects objects 39
331
+ 1230 ikea bag ikea bag 4 37 7 bag bag Objects 2773838 n02773838 bag.n.06 objects 39
332
+ 1231 sleeping bag sleeping bag 4 40 7 otherprop Objects n04235860 sleeping_bag.n.01 objects 39
333
+ 1232 duffel bag duffel bag 4 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
334
+ 746 frying pan frying pan 4 40 7 frying pan otherprop Objects n03400231 frying_pan.n.01 objects 39
335
+ 1233 oven mitt oven mitt 4 40 7 otherprop Objects objects 39
336
+ 1234 pot pot 4 40 7 pot otherprop Objects n04235860 sleeping_bag.n.01 objects 39
337
+ 144 hand dryer hand dryer 4 40 7 otherprop Objects objects 39
338
+ 282 dollhouse dollhouse 4 39 6 doll house otherfurniture Furniture n03219483 dollhouse.n.01 objects 39
339
+ 167 shampoo bottle shampoo bottle 4 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
340
+ 1235 hair brush hair brush 4 40 7 otherprop Objects n02908217 brush.n.02 objects 39
341
+ 1236 tennis racket tennis racket 4 40 7 otherprop Objects n04409806 tennis_racket.n.01 objects 39
342
+ 1237 display case display case 4 40 7 case otherprop Objects objects 39
343
+ 234 ping pong table ping pong table 4 39 6 ping pong table otherfurniture Furniture table table table 4379243 n04379243 table.n.02 table 5
344
+ 563 boiler boiler 4 40 7 otherprop Objects misc 40
345
+ 1238 bag of coffee beans bag of coffee beans 4 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
346
+ 1239 bananas banana 4 40 7 otherprop Objects n00021265 food.n.01 objects 39
347
+ 1240 carseat carseat 4 40 7 otherprop Objects misc 40
348
+ 366 helmet helmet 4 40 7 otherprop Objects helmet 3513137 n03513137 helmet.n.02 clothes 38
349
+ 816 umbrella umbrella 4 40 7 umbrella otherprop Objects n04507155 umbrella.n.01 objects 39
350
+ 1241 coffee box coffee box 4 40 7 otherprop Objects objects 39
351
+ 719 envelope envelope 4 40 7 envelope otherprop Objects n03291819 envelope.n.01 objects 39
352
+ 284 wet floor sign wet floor sign 4 40 7 sign otherprop Objects misc 40
353
+ 1242 clothing rack clothing rack 4 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
354
+ 247 controller controller 4 40 7 otherprop Objects n03096960 control.n.09 objects 39
355
+ 1243 bath walls bathroom wall 4 1 12 wall wall Wall n04546855 wall.n.01 wall 1
356
+ 1244 podium podium 4 39 6 otherfurniture Furniture n03159640 dais.n.01 furniture 36
357
+ 1245 storage box storage box 4 29 7 box box Objects n02883344 box.n.01 objects 39
358
+ 1246 dolly dolly 4 40 7 otherprop Objects misc 40
359
+ 1247 shampoo shampoo 3 40 7 otherprop Objects n04183516 shampoo.n.01 objects 39
360
+ 592 paper tray paper tray 3 40 7 paper tray otherprop Objects objects 39
361
+ 385 cabinet door cabinet door 3 8 12 door door Wall door door 4
362
+ 1248 changing station changing station 3 40 7 otherprop Objects misc 40
363
+ 1249 poster printer poster printer 3 40 7 printer otherprop Objects printer 4004475 n04004475 printer.n.03 appliances 37
364
+ 133 screen screen 3 40 7 otherprop Objects n03151077 curtain.n.01 curtain 12
365
+ 301 soap bar soap bar 3 38 7 bar otherstructure Objects objects 39
366
+ 1250 crutches crutches 3 40 7 otherprop Objects n03141823 crutch.n.01 objects 39
367
+ 379 studio light studio light 3 38 7 light otherstructure Objects lighting 28
368
+ 130 stack of cups cup 3 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
369
+ 1251 toilet flush button toilet flush button 3 40 7 otherprop Objects objects 39
370
+ 450 trunk trunk 3 40 7 otherprop Objects misc 40
371
+ 1252 grocery bag grocery bag 3 37 7 bag bag Objects suitcase 2773838 n03461288 grocery_bag.n.01 objects 39
372
+ 316 plastic bin plastic bin 3 40 7 bin otherprop Objects objects 39
373
+ 1253 pizza box pizza box 3 29 7 box box Objects objects 39
374
+ 385 cabinet doors cabinet door 3 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 door 4
375
+ 1254 legs legs 3 31 7 person person Objects person n05217688 person.n.02 misc 40
376
+ 461 car car 3 40 7 car otherprop Objects car car 2958343 n02958343 car.n.01 misc 40
377
+ 1255 shaving cream shaving cream 3 40 7 otherprop Objects n04186051 shaving_cream.n.01 objects 39
378
+ 1256 luggage stand luggage stand 3 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
379
+ 599 shredder shredder 3 40 7 otherprop Objects n04210120 shredder.n.01 objects 39
380
+ 281 statue statue 3 40 7 sculpture otherprop Objects n04306847 statue.n.01 misc 40
381
+ 1257 urinal urinal 3 33 7 toilet toilet Objects toilet toilet n04515991 urinal.n.01 toilet 18
382
+ 1258 hose hose 3 40 7 otherprop Objects n03539875 hose.n.03 misc 40
383
+ 1259 bike pump bike pump 3 40 7 otherprop Objects objects 39
384
+ 319 coatrack coatrack 3 40 7 otherprop Objects n03059103 coatrack.n.01 shelving 31
385
+ 1260 bear bear 3 40 7 otherprop Objects objects 39
386
+ 28 wall lamp lamp 3 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
387
+ 1261 humidifier humidifier 3 40 7 otherprop Objects objects 39
388
+ 546 toothpaste toothpaste 3 40 7 toothpaste otherprop Objects objects 39
389
+ 1262 mouthwash bottle mouthwash bottle 3 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
390
+ 1263 poster cutter poster cutter 3 40 7 otherprop Objects objects 39
391
+ 1264 golf bag golf bag 3 37 7 bag bag Objects suitcase 2773838 n03445617 golf_bag.n.01 objects 39
392
+ 1265 food container food container 3 40 7 container otherprop Objects n03094503 container.n.01 objects 39
393
+ 1266 camera camera 3 40 7 otherprop Objects objects 39
394
+ 28 table lamp lamp 3 35 7 lamp lamp Objects lamp lamp 3636649 n04380533 table_lamp.n.01 lighting 28
395
+ 1267 yoga mat yoga mat 3 20 5 floor mat floor mat Floor n03727837 mat.n.01 floor 2
396
+ 1268 card card 3 40 7 otherprop Objects objects 39
397
+ 1269 mug mug 3 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
398
+ 188 shower doors shower door 3 38 7 otherstructure Objects n04208936 shower.n.01 door 4
399
+ 689 cardboard cardboard 3 40 7 otherprop Objects objects 39
400
+ 1270 rack stand rack stand 3 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
401
+ 1271 boxes of paper boxes of paper 3 29 7 box box Objects n02883344 box.n.01 objects 39
402
+ 1272 flag flag 3 40 7 otherprop Objects misc 40
403
+ 354 futon futon 3 39 6 mattress otherfurniture Furniture n03408444 futon.n.01 sofa 10
404
+ 339 magazine magazine 3 40 7 magazine otherprop Objects n06595351 magazine.n.01 objects 39
405
+ 1009 exit sign exit sign 3 40 7 exit sign otherprop Objects misc 40
406
+ 1273 rolled poster rolled poster 3 40 7 otherprop Objects objects 39
407
+ 1274 wheel wheel 3 40 7 otherprop Objects objects 39
408
+ 15 pictures picture 3 11 8 picture picture Picture n03931044 picture.n.01 picture 6
409
+ 1275 blackboard eraser blackboard eraser 3 40 7 eraser otherprop Objects n03294833 eraser.n.01 objects 39
410
+ 361 organizer organizer 3 40 7 otherprop Objects n03918737 personal_digital_assistant.n.01 objects 39
411
+ 1276 doll doll 3 40 7 toy otherprop Objects n03219135 doll.n.01 objects 39
412
+ 326 book rack book rack 3 39 6 bookrack otherfurniture Furniture objects 39
413
+ 1277 laundry bag laundry bag 3 40 7 laundry basket otherprop Objects basket 2801938 n03050864 clothes_hamper.n.01 objects 39
414
+ 1278 sponge sponge 3 40 7 otherprop Objects n01906749 sponge.n.04 objects 39
415
+ 116 seating seat 3 39 6 furniture otherfurniture Furniture n04161981 seat.n.03 furniture 36
416
+ 1184 folded chairs folded chair 2 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
417
+ 1279 lotion bottle lotion bottle 2 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
418
+ 212 can can 2 40 7 can otherprop Objects can 2946921 n02946921 can.n.01 objects 39
419
+ 1280 lunch box lunch box 2 40 7 otherprop Objects objects 39
420
+ 1281 food display food display 2 40 7 otherprop Objects misc 40
421
+ 794 storage shelf storage shelf 2 40 7 otherprop Objects shelving 31
422
+ 1282 sliding wood door sliding wood door 2 40 7 otherprop Objects door 4
423
+ 955 pants pants 2 40 7 otherprop Objects n04489008 trouser.n.01 clothes 38
424
+ 387 wood wood 2 40 7 otherprop Objects misc 40
425
+ 69 boards board 2 38 7 board otherstructure Objects board_panel 35
426
+ 65 bottles bottle 2 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
427
+ 523 washcloth washcloth 2 40 7 otherprop Objects n04554523 washcloth.n.01 towel 20
428
+ 389 workbench workbench 2 39 6 bench otherfurniture Furniture bench table 4379243 n04600486 workbench.n.01 table 5
429
+ 29 open kitchen cabinet kitchen cabinet 2 3 6 cabinet cabinet Furniture n02933112 cabinet.n.01 cabinet 7
430
+ 1283 organizer shelf organizer shelf 2 15 6 shelves shelves Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
431
+ 146 frame frame 2 38 7 otherstructure Objects misc 40
432
+ 130 cups cup 2 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
433
+ 372 exercise ball exercise ball 2 40 7 ball otherprop Objects n04285146 sports_equipment.n.01 gym_equipment 33
434
+ 289 easel easel 2 39 6 stand otherfurniture Furniture n03262809 easel.n.01 furniture 36
435
+ 440 garbage bag garbage bag 2 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
436
+ 321 roomba roomba 2 40 7 otherprop Objects objects 39
437
+ 976 garage door garage door 2 38 7 garage door otherstructure Objects door door 4
438
+ 1256 luggage rack luggage stand 2 39 6 stand otherfurniture Furniture n04038440 shelving 31
439
+ 1284 bike lock bike lock 2 40 7 otherprop Objects objects 39
440
+ 1285 briefcase briefcase 2 40 7 otherprop Objects n02900705 briefcase.n.01 objects 39
441
+ 357 hand towel hand towel 2 27 7 towel towel Objects n03490006 hand_towel.n.01 towel 20
442
+ 1286 bath products bath product 2 40 7 otherprop Objects objects 39
443
+ 1287 star star 2 40 7 otherprop Objects n09444783 star.n.03 misc 40
444
+ 365 map map 2 40 7 map otherprop Objects n03720163 map.n.01 misc 40
445
+ 1288 coffee bean bag coffee bean bag 2 37 7 bag bag Objects suitcase 2773838 n02773838 bag.n.06 objects 39
446
+ 81 headboard headboard 2 39 6 headboard otherfurniture Furniture n03502200 headboard.n.01 bed 11
447
+ 1289 ipad ipad 2 40 7 otherprop Objects objects 39
448
+ 1290 display rack display rack 2 39 6 stand otherfurniture Furniture n04038440 rack.n.05 shelving 31
449
+ 948 traffic cone traffic cone 2 40 7 cone otherprop Objects cone objects 39
450
+ 174 toiletry toiletry 2 40 7 otherprop Objects n04447443 toiletry.n.01 objects 39
451
+ 1028 canopy canopy 2 40 7 otherprop Objects misc 40
452
+ 1291 massage chair massage chair 2 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
453
+ 1292 paper organizer paper organizer 2 40 7 otherprop Objects objects 39
454
+ 1005 barricade barricade 2 40 7 otherprop Objects misc 40
455
+ 235 platform platform 2 38 7 otherstructure Objects misc 40
456
+ 1293 cap cap 2 40 7 hat otherprop Objects n03497657 hat.n.01 clothes 38
457
+ 1294 dumbbell plates dumbbell plates 2 40 7 otherprop Objects objects 39
458
+ 1295 elevator elevator 2 38 7 otherstructure Objects misc 40
459
+ 1296 cooking pan cooking pan 2 40 7 pan otherprop Objects n03880531 pan.n.01 objects 39
460
+ 1297 trash bag trash bag 2 37 7 bag bag Objects objects 39
461
+ 1298 santa santa 2 40 7 otherprop Objects misc 40
462
+ 1299 jewelry box jewelry box 2 29 7 box box Objects n02883344 box.n.01 objects 39
463
+ 1300 boat boat 2 40 7 otherprop Objects misc 40
464
+ 1301 sock sock 2 21 7 clothes clothes Objects n04254777 sock.n.01 clothes 38
465
+ 1051 kinect kinect 2 40 7 kinect otherprop Objects objects 39
466
+ 566 crib crib 2 39 6 crib otherfurniture Furniture furniture 36
467
+ 1302 plastic storage bin plastic storage bin 2 40 7 container otherprop Objects n03094503 container.n.01 objects 39
468
+ 1062 cooler cooler 2 24 6 refridgerator refridgerator Furniture n03102654 cooler.n.01 appliances 37
469
+ 1303 kitchen apron kitchen apron 2 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
470
+ 1304 dishwashing soap bottle dishwashing soap bottle 2 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
471
+ 1305 xbox controller xbox controller 2 40 7 otherprop Objects objects 39
472
+ 1306 banana holder banana holder 2 40 7 otherprop Objects objects 39
473
+ 298 ping pong paddle ping pong paddle 2 40 7 otherprop Objects table 5
474
+ 1307 airplane airplane 2 40 7 otherprop Objects misc 40
475
+ 1308 conditioner bottle conditioner bottle 2 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
476
+ 1309 tea kettle tea kettle 2 40 7 tea kettle otherprop Objects n04397768 teakettle.n.01 objects 39
477
+ 43 bedframe bedframe 2 39 6 otherfurniture Furniture n02822579 bedstead.n.01 bed 11
478
+ 1310 wood beam wood beam 2 38 7 otherstructure Objects beam 29
479
+ 593 toilet paper package toilet paper package 2 40 7 otherprop Objects objects 39
480
+ 1311 wall mounted coat rack wall mounted coat rack 2 40 7 otherprop Objects n03059103 coatrack.n.01 shelving 31
481
+ 1312 film light film light 2 40 7 otherprop Objects lighting 28
482
+ 749 ceiling lamp ceiling lamp 1 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
483
+ 623 chain chain 1 40 7 otherprop Objects chair 3
484
+ 1313 sofa sofa 1 6 9 sofa sofa Sofa sofa sofa sofa 4256520 n04256520 sofa.n.01 sofa 10
485
+ 99 closet wardrobe wardrobe 1 39 6 wardrobe otherfurniture Furniture wardrobe n04550184 wardrobe.n.01 furniture 36
486
+ 265 sweater sweater 1 40 7 otherprop Objects n04370048 sweater.n.01 clothes 38
487
+ 1314 kitchen mixer kitchen mixer 1 40 7 otherprop Objects appliances 37
488
+ 99 wardrobe wardrobe 1 39 6 wardrobe otherfurniture Furniture wardrobe n04550184 wardrobe.n.01 furniture 36
489
+ 1315 water softener water softener 1 40 7 otherprop Objects misc 40
490
+ 448 banister banister 1 38 7 banister otherstructure Objects n02788148 bannister.n.02 railing 30
491
+ 257 trolley trolley 1 40 7 trolley otherprop Objects n04335435 streetcar.n.01 misc 40
492
+ 1316 pantry shelf pantry shelf 1 15 6 shelves shelves Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
493
+ 786 sofa bed sofa bed 1 4 1 bed bed Bed bed bed bed 2818832 n02818832 bed.n.01 bed 11
494
+ 801 loofa loofa 1 40 7 otherprop Objects objects 39
495
+ 972 shower faucet handle shower faucet handle 1 40 7 handle otherprop Objects shower 23
496
+ 1317 toy piano toy piano 1 40 7 toy otherprop Objects n03964744 plaything.n.01 objects 39
497
+ 1318 fish fish 1 40 7 otherprop Objects n02512053 fish.n.01 objects 39
498
+ 75 file cabinets file cabinet 1 3 6 cabinet cabinet Furniture cabinet 2933112 n03337140 file.n.03 cabinet 7
499
+ 657 cat litter box cat litter box 1 29 7 box box Objects objects 39
500
+ 561 electric panel electric panel 1 40 7 otherprop Objects misc 40
501
+ 93 suitcases suitcase 1 40 7 luggage otherprop Objects n02774630 baggage.n.01 objects 39
502
+ 513 curtain rod curtain rod 1 38 7 curtain rod otherstructure Objects curtain 12
503
+ 411 bunk bed bunk bed 1 39 6 bunk bed otherfurniture Furniture bed bed bed 2818832 n02920259 bunk_bed.n.01 bed 11
504
+ 1122 chandelier chandelier 1 38 7 chandelier otherstructure Objects n03005285 chandelier.n.01 lighting 28
505
+ 922 tape tape 1 40 7 tape otherprop Objects objects 39
506
+ 88 plates plate 1 40 7 otherprop Objects n03959485 plate.n.04 objects 39
507
+ 518 alarm alarm 1 40 7 alarm otherprop Objects clock 3046257 n02694662 alarm_clock.n.01 objects 39
508
+ 814 fire hose fire hose 1 40 7 otherprop Objects n03346004 fire_hose.n.01 misc 40
509
+ 1319 toy dinosaur toy dinosaur 1 40 7 toy otherprop Objects n03964744 plaything.n.01 objects 39
510
+ 1320 cone cone 1 40 7 otherprop Objects objects 39
511
+ 649 glass doors glass door 1 8 12 door door Wall door n03221720 door.n.01 door 4
512
+ 607 hatrack hatrack 1 40 7 otherprop Objects n03059103 coatrack.n.01 shelving 31
513
+ 819 subwoofer subwoofer 1 40 7 speaker otherprop Objects speaker 3691459 n04349401 subwoofer.n.01 objects 39
514
+ 1321 fire sprinkler fire sprinkler 1 40 7 otherprop Objects misc 40
515
+ 1322 trash cabinet trash cabinet 1 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
516
+ 1204 pantry walls pantry wall 1 1 12 wall wall Wall n04546855 wall.n.01 wall 1
517
+ 227 photo photo 1 40 7 photo otherprop Objects n03925226 photograph.n.01 picture 6
518
+ 817 barrier barrier 1 40 7 otherprop Objects n02796623 barrier.n.01 misc 40
519
+ 130 stacks of cups cup 1 40 7 otherprop Objects n03147509 cup.n.01 objects 39
520
+ 712 beachball beachball 1 40 7 ball otherprop Objects n02814224 beach_ball.n.01 objects 39
521
+ 1323 folded boxes folded boxes 1 40 7 otherprop Objects objects 39
522
+ 1324 contact lens solution bottle contact lens solution bottle 1 40 7 bottle otherprop Objects bottle bottle 2876657 n02876657 bottle.n.01 objects 39
523
+ 673 covered box covered box 1 29 7 box box Objects objects 39
524
+ 459 folder folder 1 40 7 folder otherprop Objects n03376279 folder.n.02 objects 39
525
+ 643 mail trays mail tray 1 40 7 mail tray otherprop Objects objects 39
526
+ 238 slipper slipper 1 40 7 otherprop Objects n04241394 slipper.n.01 clothes 38
527
+ 765 magazine rack magazine rack 1 39 6 stand otherfurniture Furniture n03704549 magazine_rack.n.01 shelving 31
528
+ 1008 sticker sticker 1 40 7 sticker otherprop Objects n07272545 gummed_label.n.01 objects 39
529
+ 225 lotion lotion 1 40 7 otherprop Objects n03690938 lotion.n.01 objects 39
530
+ 1083 buddha buddha 1 40 7 otherprop Objects objects 39
531
+ 813 file organizer file organizer 1 40 7 otherprop Objects objects 39
532
+ 138 paper towel rolls paper towel roll 1 40 7 paper towel otherprop Objects n03887697 paper_towel.n.01 towel 20
533
+ 1145 night lamp night lamp 1 35 7 lamp lamp Objects lamp lamp 3636649 n03636649 lamp.n.02 lighting 28
534
+ 796 fuse box fuse box 1 40 7 otherprop Objects misc 40
535
+ 1325 knife block knife block 1 40 7 otherprop Objects objects 39
536
+ 363 furnace furnace 1 39 6 furnace otherfurniture Furniture n03404449 furnace.n.01
537
+ 1174 cd cases cd case 1 40 7 otherprop Objects objects 39
538
+ 38 stools stool 1 40 7 stool otherprop Objects stool n04326896 stool.n.01 stool 19
539
+ 1326 hand sanitzer dispenser hand sanitzer dispenser 1 40 7 otherprop Objects n04254120 soap_dispenser.n.01 objects 39
540
+ 997 teapot teapot 1 40 7 tea pot otherprop Objects n04398044 teapot.n.01 objects 39
541
+ 1327 pen holder pen holder 1 40 7 otherprop Objects objects 39
542
+ 1328 tray rack tray rack 1 40 7 otherprop Objects objects 39
543
+ 1329 wig wig 1 40 7 otherprop Objects n04584207 wig.n.01 objects 39
544
+ 182 switch switch 1 40 7 otherprop Objects n04372370 switch.n.01 misc 40
545
+ 280 plastic containers plastic container 1 40 7 container otherprop Objects n03094503 container.n.01 objects 39
546
+ 1330 night light night light 1 40 7 otherprop Objects lighting 28
547
+ 1331 notepad notepad 1 40 7 otherprop Objects objects 39
548
+ 1332 mail bin mail bin 1 40 7 otherprop Objects misc 40
549
+ 1333 elevator button elevator button 1 40 7 otherprop Objects misc 40
550
+ 939 gaming wheel gaming wheel 1 40 7 otherprop Objects objects 39
551
+ 1334 drum set drum set 1 40 7 otherprop Objects objects 39
552
+ 480 cosmetic bag cosmetic bag 1 37 7 bag bag Objects objects 39
553
+ 907 coffee mug coffee mug 1 40 7 vessel otherprop Objects cup or mug 3797390 n03063599 coffee_mug.n.01 objects 39
554
+ 1335 closet shelf closet shelf 1 15 6 shelves shelves Furniture bookshelf bookshelf 2871439 n02871439 bookshelf.n.01 shelving 31
555
+ 1336 baby mobile baby mobile 1 40 7 otherprop Objects objects 39
556
+ 829 diaper bin diaper bin 1 40 7 bin otherprop Objects objects 39
557
+ 947 door wall door wall 1 1 12 wall wall Wall wall 1
558
+ 1116 stepstool stepstool 1 40 7 step stool otherprop Objects objects 39
559
+ 599 paper shredder shredder 1 40 7 otherprop Objects n04210120 shredder.n.01 objects 39
560
+ 733 dress rack dress rack 1 40 7 otherprop Objects n03238762 dress_rack.n.01 misc 40
561
+ 123 cover cover 1 40 7 blanket otherprop Objects objects 39
562
+ 506 shopping bag shopping bag 1 37 7 bag bag Objects n04204081 shopping_bag.n.01 objects 39
563
+ 569 sliding door sliding door 1 8 12 door door Wall door n04239074 sliding_door.n.01 door 4
564
+ 1337 exercise bike exercise bike 1 40 7 machine otherprop Objects n04210120 shredder.n.01 gym_equipment 33
565
+ 1338 recliner chair recliner chair 1 5 4 chair chair Chair chair chair chair 3001627 n03238762 dress_rack.n.01 chair 3
566
+ 1314 kitchenaid mixer kitchen mixer 1 40 7 otherprop Objects appliances 37
567
+ 1339 soda can soda can 1 40 7 can otherprop Objects can 2946921 n02946921 can.n.01 objects 39
568
+ 1340 stovetop stovetop 1 38 7 stove otherstructure Objects stove 4330267 n04330267 stove.n.02 appliances 37
569
+ 851 stepladder stepladder 1 39 6 ladder otherfurniture Furniture stairs n04315599 step_ladder.n.01 stairs 16
570
+ 142 tap tap 1 40 7 faucet otherprop Objects faucet 3325088 n04559451 water_faucet.n.01 objects 39
571
+ 436 cable cable 1 40 7 cables otherprop Objects objects 39
572
+ 1341 baby changing station baby changing station 1 39 6 otherfurniture Furniture furniture 36
573
+ 1342 costume costume 1 21 7 clothes clothes Objects n02728440 apparel.n.01 clothes 38
574
+ 885 rocking chair rocking chair 1 5 4 chair chair Chair chair chair chair 3001627 n04099969 rocking_chair.n.01 chair 3
575
+ 693 binder binder 1 40 7 binder otherprop Objects objects 39
576
+ 815 media center media center 1 3 6 cabinet cabinet Furniture cabinet 2933112 n02933112 cabinet.n.01 cabinet 7
577
+ 401 towel rack towel rack 1 40 7 otherprop Objects n04459773 towel_rack.n.01 misc 40
578
+ 1343 medal medal 1 40 7 otherprop Objects objects 39
579
+ 1184 stack of folded chairs folded chair 1 5 4 chair chair Chair chair chair chair 3001627 n03001627 chair.n.01 chair 3
580
+ 1344 telescope telescope 1 40 7 otherprop Objects n04403638 telescope.n.01 objects 39
581
+ 1345 closet doorframe closet doorframe 1 8 12 door door Wall door door 4
582
+ 160 glass glass 1 38 7 glass otherstructure Objects n03438257 glass.n.02 misc 40
583
+ 1126 baseball cap baseball cap 1 40 7 otherprop Objects cap 2954340 n02799323 baseball_cap.n.01 clothes 38
584
+ 1346 battery disposal jar battery disposal jar 1 40 7 jar otherprop Objects jar 3593526 n03593526 jar.n.01 objects 39
585
+ 332 mop mop 1 40 7 otherprop Objects n04367480 swab.n.02 objects 39
586
+ 397 tank tank 1 40 7 otherprop Objects objects 39
587
+ 643 mail tray mail tray 1 40 7 mail tray otherprop Objects objects 39
588
+ 551 centerpiece centerpiece 1 40 7 centerpiece otherprop Objects n02994419 centerpiece.n.02 objects 39
589
+ 1163 object stick 1 40 7 stick otherprop Objects objects 39
590
+ 1347 closet floor closet floor 1 2 5 floor floor Floor n03365592 floor.n.01 floor 2
591
+ 1348 dryer sheets dryer sheets 1 40 7 otherprop Objects objects 39
592
+ 803 bycicle bycicle 1 40 7 otherprop Objects misc 40
593
+ 484 flower stand flower stand 1 39 6 stand otherfurniture Furniture furniture 36
594
+ 1349 air mattress air mattress 1 4 1 bed bed Bed bed bed bed 2818832 n02690809 air_mattress.n.01 bed 11
595
+ 1350 clip clip 1 40 7 otherprop Objects objects 39
596
+ 222 side table side table 1 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
597
+ 1253 pizza boxes pizza box 1 29 7 box box Objects n02883344 box.n.01 objects 39
598
+ 1351 display display 1 39 7 otherfurniture Furniture n03211117 display.n.06 misc 40
599
+ 1352 postcard postcard 1 40 7 otherprop Objects objects 39
600
+ 828 display sign display sign 1 40 7 sign otherprop Objects misc 40
601
+ 1353 paper towel paper towel 1 40 7 paper towel otherprop Objects n03887697 paper_towel.n.01 towel 20
602
+ 612 boots boot 1 40 7 shoe otherprop Objects n04199027 shoe.n.01 clothes 38
603
+ 1354 tennis racket bag tennis racket bag 1 40 7 otherprop Objects objects 39
604
+ 1355 air hockey table air hockey table 1 7 10 table table Table table table table 4379243 n04379243 table.n.02 table 5
605
+ 1301 socks sock 1 21 7 clothes clothes Objects n04254777 sock.n.01 clothes 38
606
+ 1356 food bag food bag 1 37 7 bag bag Objects objects 39
607
+ 1199 clothes hangers clothes hanger 1 40 7 otherprop Objects n03057920 coat_hanger.n.01 misc 40
608
+ 1357 starbucks cup starbucks cup 1 40 7 cup otherprop Objects cup cup or mug 3797390 n03797390 mug.n.04 objects 39
datasets/scannet_preprocess/meta_data/scannetv2_test.txt ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ scene0707_00
2
+ scene0708_00
3
+ scene0709_00
4
+ scene0710_00
5
+ scene0711_00
6
+ scene0712_00
7
+ scene0713_00
8
+ scene0714_00
9
+ scene0715_00
10
+ scene0716_00
11
+ scene0717_00
12
+ scene0718_00
13
+ scene0719_00
14
+ scene0720_00
15
+ scene0721_00
16
+ scene0722_00
17
+ scene0723_00
18
+ scene0724_00
19
+ scene0725_00
20
+ scene0726_00
21
+ scene0727_00
22
+ scene0728_00
23
+ scene0729_00
24
+ scene0730_00
25
+ scene0731_00
26
+ scene0732_00
27
+ scene0733_00
28
+ scene0734_00
29
+ scene0735_00
30
+ scene0736_00
31
+ scene0737_00
32
+ scene0738_00
33
+ scene0739_00
34
+ scene0740_00
35
+ scene0741_00
36
+ scene0742_00
37
+ scene0743_00
38
+ scene0744_00
39
+ scene0745_00
40
+ scene0746_00
41
+ scene0747_00
42
+ scene0748_00
43
+ scene0749_00
44
+ scene0750_00
45
+ scene0751_00
46
+ scene0752_00
47
+ scene0753_00
48
+ scene0754_00
49
+ scene0755_00
50
+ scene0756_00
51
+ scene0757_00
52
+ scene0758_00
53
+ scene0759_00
54
+ scene0760_00
55
+ scene0761_00
56
+ scene0762_00
57
+ scene0763_00
58
+ scene0764_00
59
+ scene0765_00
60
+ scene0766_00
61
+ scene0767_00
62
+ scene0768_00
63
+ scene0769_00
64
+ scene0770_00
65
+ scene0771_00
66
+ scene0772_00
67
+ scene0773_00
68
+ scene0774_00
69
+ scene0775_00
70
+ scene0776_00
71
+ scene0777_00
72
+ scene0778_00
73
+ scene0779_00
74
+ scene0780_00
75
+ scene0781_00
76
+ scene0782_00
77
+ scene0783_00
78
+ scene0784_00
79
+ scene0785_00
80
+ scene0786_00
81
+ scene0787_00
82
+ scene0788_00
83
+ scene0789_00
84
+ scene0790_00
85
+ scene0791_00
86
+ scene0792_00
87
+ scene0793_00
88
+ scene0794_00
89
+ scene0795_00
90
+ scene0796_00
91
+ scene0797_00
92
+ scene0798_00
93
+ scene0799_00
94
+ scene0800_00
95
+ scene0801_00
96
+ scene0802_00
97
+ scene0803_00
98
+ scene0804_00
99
+ scene0805_00
100
+ scene0806_00
datasets/scannet_preprocess/meta_data/scannetv2_train.txt ADDED
@@ -0,0 +1,1201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ scene0191_00
2
+ scene0191_01
3
+ scene0191_02
4
+ scene0119_00
5
+ scene0230_00
6
+ scene0528_00
7
+ scene0528_01
8
+ scene0705_00
9
+ scene0705_01
10
+ scene0705_02
11
+ scene0415_00
12
+ scene0415_01
13
+ scene0415_02
14
+ scene0007_00
15
+ scene0141_00
16
+ scene0141_01
17
+ scene0141_02
18
+ scene0515_00
19
+ scene0515_01
20
+ scene0515_02
21
+ scene0447_00
22
+ scene0447_01
23
+ scene0447_02
24
+ scene0531_00
25
+ scene0503_00
26
+ scene0285_00
27
+ scene0069_00
28
+ scene0584_00
29
+ scene0584_01
30
+ scene0584_02
31
+ scene0581_00
32
+ scene0581_01
33
+ scene0581_02
34
+ scene0620_00
35
+ scene0620_01
36
+ scene0263_00
37
+ scene0263_01
38
+ scene0481_00
39
+ scene0481_01
40
+ scene0020_00
41
+ scene0020_01
42
+ scene0291_00
43
+ scene0291_01
44
+ scene0291_02
45
+ scene0469_00
46
+ scene0469_01
47
+ scene0469_02
48
+ scene0659_00
49
+ scene0659_01
50
+ scene0024_00
51
+ scene0024_01
52
+ scene0024_02
53
+ scene0564_00
54
+ scene0117_00
55
+ scene0027_00
56
+ scene0027_01
57
+ scene0027_02
58
+ scene0028_00
59
+ scene0330_00
60
+ scene0418_00
61
+ scene0418_01
62
+ scene0418_02
63
+ scene0233_00
64
+ scene0233_01
65
+ scene0673_00
66
+ scene0673_01
67
+ scene0673_02
68
+ scene0673_03
69
+ scene0673_04
70
+ scene0673_05
71
+ scene0585_00
72
+ scene0585_01
73
+ scene0362_00
74
+ scene0362_01
75
+ scene0362_02
76
+ scene0362_03
77
+ scene0035_00
78
+ scene0035_01
79
+ scene0358_00
80
+ scene0358_01
81
+ scene0358_02
82
+ scene0037_00
83
+ scene0194_00
84
+ scene0321_00
85
+ scene0293_00
86
+ scene0293_01
87
+ scene0623_00
88
+ scene0623_01
89
+ scene0592_00
90
+ scene0592_01
91
+ scene0569_00
92
+ scene0569_01
93
+ scene0413_00
94
+ scene0313_00
95
+ scene0313_01
96
+ scene0313_02
97
+ scene0480_00
98
+ scene0480_01
99
+ scene0401_00
100
+ scene0517_00
101
+ scene0517_01
102
+ scene0517_02
103
+ scene0032_00
104
+ scene0032_01
105
+ scene0613_00
106
+ scene0613_01
107
+ scene0613_02
108
+ scene0306_00
109
+ scene0306_01
110
+ scene0052_00
111
+ scene0052_01
112
+ scene0052_02
113
+ scene0053_00
114
+ scene0444_00
115
+ scene0444_01
116
+ scene0055_00
117
+ scene0055_01
118
+ scene0055_02
119
+ scene0560_00
120
+ scene0589_00
121
+ scene0589_01
122
+ scene0589_02
123
+ scene0610_00
124
+ scene0610_01
125
+ scene0610_02
126
+ scene0364_00
127
+ scene0364_01
128
+ scene0383_00
129
+ scene0383_01
130
+ scene0383_02
131
+ scene0006_00
132
+ scene0006_01
133
+ scene0006_02
134
+ scene0275_00
135
+ scene0451_00
136
+ scene0451_01
137
+ scene0451_02
138
+ scene0451_03
139
+ scene0451_04
140
+ scene0451_05
141
+ scene0135_00
142
+ scene0065_00
143
+ scene0065_01
144
+ scene0065_02
145
+ scene0104_00
146
+ scene0674_00
147
+ scene0674_01
148
+ scene0448_00
149
+ scene0448_01
150
+ scene0448_02
151
+ scene0502_00
152
+ scene0502_01
153
+ scene0502_02
154
+ scene0440_00
155
+ scene0440_01
156
+ scene0440_02
157
+ scene0071_00
158
+ scene0072_00
159
+ scene0072_01
160
+ scene0072_02
161
+ scene0509_00
162
+ scene0509_01
163
+ scene0509_02
164
+ scene0649_00
165
+ scene0649_01
166
+ scene0602_00
167
+ scene0694_00
168
+ scene0694_01
169
+ scene0101_00
170
+ scene0101_01
171
+ scene0101_02
172
+ scene0101_03
173
+ scene0101_04
174
+ scene0101_05
175
+ scene0218_00
176
+ scene0218_01
177
+ scene0579_00
178
+ scene0579_01
179
+ scene0579_02
180
+ scene0039_00
181
+ scene0039_01
182
+ scene0493_00
183
+ scene0493_01
184
+ scene0242_00
185
+ scene0242_01
186
+ scene0242_02
187
+ scene0083_00
188
+ scene0083_01
189
+ scene0127_00
190
+ scene0127_01
191
+ scene0662_00
192
+ scene0662_01
193
+ scene0662_02
194
+ scene0018_00
195
+ scene0087_00
196
+ scene0087_01
197
+ scene0087_02
198
+ scene0332_00
199
+ scene0332_01
200
+ scene0332_02
201
+ scene0628_00
202
+ scene0628_01
203
+ scene0628_02
204
+ scene0134_00
205
+ scene0134_01
206
+ scene0134_02
207
+ scene0238_00
208
+ scene0238_01
209
+ scene0092_00
210
+ scene0092_01
211
+ scene0092_02
212
+ scene0092_03
213
+ scene0092_04
214
+ scene0022_00
215
+ scene0022_01
216
+ scene0467_00
217
+ scene0392_00
218
+ scene0392_01
219
+ scene0392_02
220
+ scene0424_00
221
+ scene0424_01
222
+ scene0424_02
223
+ scene0646_00
224
+ scene0646_01
225
+ scene0646_02
226
+ scene0098_00
227
+ scene0098_01
228
+ scene0044_00
229
+ scene0044_01
230
+ scene0044_02
231
+ scene0510_00
232
+ scene0510_01
233
+ scene0510_02
234
+ scene0571_00
235
+ scene0571_01
236
+ scene0166_00
237
+ scene0166_01
238
+ scene0166_02
239
+ scene0563_00
240
+ scene0172_00
241
+ scene0172_01
242
+ scene0388_00
243
+ scene0388_01
244
+ scene0215_00
245
+ scene0215_01
246
+ scene0252_00
247
+ scene0287_00
248
+ scene0668_00
249
+ scene0572_00
250
+ scene0572_01
251
+ scene0572_02
252
+ scene0026_00
253
+ scene0224_00
254
+ scene0113_00
255
+ scene0113_01
256
+ scene0551_00
257
+ scene0381_00
258
+ scene0381_01
259
+ scene0381_02
260
+ scene0371_00
261
+ scene0371_01
262
+ scene0460_00
263
+ scene0118_00
264
+ scene0118_01
265
+ scene0118_02
266
+ scene0417_00
267
+ scene0008_00
268
+ scene0634_00
269
+ scene0521_00
270
+ scene0123_00
271
+ scene0123_01
272
+ scene0123_02
273
+ scene0045_00
274
+ scene0045_01
275
+ scene0511_00
276
+ scene0511_01
277
+ scene0114_00
278
+ scene0114_01
279
+ scene0114_02
280
+ scene0070_00
281
+ scene0029_00
282
+ scene0029_01
283
+ scene0029_02
284
+ scene0129_00
285
+ scene0103_00
286
+ scene0103_01
287
+ scene0002_00
288
+ scene0002_01
289
+ scene0132_00
290
+ scene0132_01
291
+ scene0132_02
292
+ scene0124_00
293
+ scene0124_01
294
+ scene0143_00
295
+ scene0143_01
296
+ scene0143_02
297
+ scene0604_00
298
+ scene0604_01
299
+ scene0604_02
300
+ scene0507_00
301
+ scene0105_00
302
+ scene0105_01
303
+ scene0105_02
304
+ scene0428_00
305
+ scene0428_01
306
+ scene0311_00
307
+ scene0140_00
308
+ scene0140_01
309
+ scene0182_00
310
+ scene0182_01
311
+ scene0182_02
312
+ scene0142_00
313
+ scene0142_01
314
+ scene0399_00
315
+ scene0399_01
316
+ scene0012_00
317
+ scene0012_01
318
+ scene0012_02
319
+ scene0060_00
320
+ scene0060_01
321
+ scene0370_00
322
+ scene0370_01
323
+ scene0370_02
324
+ scene0310_00
325
+ scene0310_01
326
+ scene0310_02
327
+ scene0661_00
328
+ scene0650_00
329
+ scene0152_00
330
+ scene0152_01
331
+ scene0152_02
332
+ scene0158_00
333
+ scene0158_01
334
+ scene0158_02
335
+ scene0482_00
336
+ scene0482_01
337
+ scene0600_00
338
+ scene0600_01
339
+ scene0600_02
340
+ scene0393_00
341
+ scene0393_01
342
+ scene0393_02
343
+ scene0562_00
344
+ scene0174_00
345
+ scene0174_01
346
+ scene0157_00
347
+ scene0157_01
348
+ scene0161_00
349
+ scene0161_01
350
+ scene0161_02
351
+ scene0159_00
352
+ scene0254_00
353
+ scene0254_01
354
+ scene0115_00
355
+ scene0115_01
356
+ scene0115_02
357
+ scene0162_00
358
+ scene0163_00
359
+ scene0163_01
360
+ scene0523_00
361
+ scene0523_01
362
+ scene0523_02
363
+ scene0459_00
364
+ scene0459_01
365
+ scene0175_00
366
+ scene0085_00
367
+ scene0085_01
368
+ scene0279_00
369
+ scene0279_01
370
+ scene0279_02
371
+ scene0201_00
372
+ scene0201_01
373
+ scene0201_02
374
+ scene0283_00
375
+ scene0456_00
376
+ scene0456_01
377
+ scene0429_00
378
+ scene0043_00
379
+ scene0043_01
380
+ scene0419_00
381
+ scene0419_01
382
+ scene0419_02
383
+ scene0368_00
384
+ scene0368_01
385
+ scene0348_00
386
+ scene0348_01
387
+ scene0348_02
388
+ scene0442_00
389
+ scene0178_00
390
+ scene0380_00
391
+ scene0380_01
392
+ scene0380_02
393
+ scene0165_00
394
+ scene0165_01
395
+ scene0165_02
396
+ scene0181_00
397
+ scene0181_01
398
+ scene0181_02
399
+ scene0181_03
400
+ scene0333_00
401
+ scene0614_00
402
+ scene0614_01
403
+ scene0614_02
404
+ scene0404_00
405
+ scene0404_01
406
+ scene0404_02
407
+ scene0185_00
408
+ scene0126_00
409
+ scene0126_01
410
+ scene0126_02
411
+ scene0519_00
412
+ scene0236_00
413
+ scene0236_01
414
+ scene0189_00
415
+ scene0075_00
416
+ scene0267_00
417
+ scene0192_00
418
+ scene0192_01
419
+ scene0192_02
420
+ scene0281_00
421
+ scene0420_00
422
+ scene0420_01
423
+ scene0420_02
424
+ scene0195_00
425
+ scene0195_01
426
+ scene0195_02
427
+ scene0597_00
428
+ scene0597_01
429
+ scene0597_02
430
+ scene0041_00
431
+ scene0041_01
432
+ scene0111_00
433
+ scene0111_01
434
+ scene0111_02
435
+ scene0666_00
436
+ scene0666_01
437
+ scene0666_02
438
+ scene0200_00
439
+ scene0200_01
440
+ scene0200_02
441
+ scene0536_00
442
+ scene0536_01
443
+ scene0536_02
444
+ scene0390_00
445
+ scene0280_00
446
+ scene0280_01
447
+ scene0280_02
448
+ scene0344_00
449
+ scene0344_01
450
+ scene0205_00
451
+ scene0205_01
452
+ scene0205_02
453
+ scene0484_00
454
+ scene0484_01
455
+ scene0009_00
456
+ scene0009_01
457
+ scene0009_02
458
+ scene0302_00
459
+ scene0302_01
460
+ scene0209_00
461
+ scene0209_01
462
+ scene0209_02
463
+ scene0210_00
464
+ scene0210_01
465
+ scene0395_00
466
+ scene0395_01
467
+ scene0395_02
468
+ scene0683_00
469
+ scene0601_00
470
+ scene0601_01
471
+ scene0214_00
472
+ scene0214_01
473
+ scene0214_02
474
+ scene0477_00
475
+ scene0477_01
476
+ scene0439_00
477
+ scene0439_01
478
+ scene0468_00
479
+ scene0468_01
480
+ scene0468_02
481
+ scene0546_00
482
+ scene0466_00
483
+ scene0466_01
484
+ scene0220_00
485
+ scene0220_01
486
+ scene0220_02
487
+ scene0122_00
488
+ scene0122_01
489
+ scene0130_00
490
+ scene0110_00
491
+ scene0110_01
492
+ scene0110_02
493
+ scene0327_00
494
+ scene0156_00
495
+ scene0266_00
496
+ scene0266_01
497
+ scene0001_00
498
+ scene0001_01
499
+ scene0228_00
500
+ scene0199_00
501
+ scene0219_00
502
+ scene0464_00
503
+ scene0232_00
504
+ scene0232_01
505
+ scene0232_02
506
+ scene0299_00
507
+ scene0299_01
508
+ scene0530_00
509
+ scene0363_00
510
+ scene0453_00
511
+ scene0453_01
512
+ scene0570_00
513
+ scene0570_01
514
+ scene0570_02
515
+ scene0183_00
516
+ scene0239_00
517
+ scene0239_01
518
+ scene0239_02
519
+ scene0373_00
520
+ scene0373_01
521
+ scene0241_00
522
+ scene0241_01
523
+ scene0241_02
524
+ scene0188_00
525
+ scene0622_00
526
+ scene0622_01
527
+ scene0244_00
528
+ scene0244_01
529
+ scene0691_00
530
+ scene0691_01
531
+ scene0206_00
532
+ scene0206_01
533
+ scene0206_02
534
+ scene0247_00
535
+ scene0247_01
536
+ scene0061_00
537
+ scene0061_01
538
+ scene0082_00
539
+ scene0250_00
540
+ scene0250_01
541
+ scene0250_02
542
+ scene0501_00
543
+ scene0501_01
544
+ scene0501_02
545
+ scene0320_00
546
+ scene0320_01
547
+ scene0320_02
548
+ scene0320_03
549
+ scene0631_00
550
+ scene0631_01
551
+ scene0631_02
552
+ scene0255_00
553
+ scene0255_01
554
+ scene0255_02
555
+ scene0047_00
556
+ scene0265_00
557
+ scene0265_01
558
+ scene0265_02
559
+ scene0004_00
560
+ scene0336_00
561
+ scene0336_01
562
+ scene0058_00
563
+ scene0058_01
564
+ scene0260_00
565
+ scene0260_01
566
+ scene0260_02
567
+ scene0243_00
568
+ scene0603_00
569
+ scene0603_01
570
+ scene0093_00
571
+ scene0093_01
572
+ scene0093_02
573
+ scene0109_00
574
+ scene0109_01
575
+ scene0434_00
576
+ scene0434_01
577
+ scene0434_02
578
+ scene0290_00
579
+ scene0627_00
580
+ scene0627_01
581
+ scene0470_00
582
+ scene0470_01
583
+ scene0137_00
584
+ scene0137_01
585
+ scene0137_02
586
+ scene0270_00
587
+ scene0270_01
588
+ scene0270_02
589
+ scene0271_00
590
+ scene0271_01
591
+ scene0504_00
592
+ scene0274_00
593
+ scene0274_01
594
+ scene0274_02
595
+ scene0036_00
596
+ scene0036_01
597
+ scene0276_00
598
+ scene0276_01
599
+ scene0272_00
600
+ scene0272_01
601
+ scene0499_00
602
+ scene0698_00
603
+ scene0698_01
604
+ scene0051_00
605
+ scene0051_01
606
+ scene0051_02
607
+ scene0051_03
608
+ scene0108_00
609
+ scene0245_00
610
+ scene0369_00
611
+ scene0369_01
612
+ scene0369_02
613
+ scene0284_00
614
+ scene0289_00
615
+ scene0289_01
616
+ scene0286_00
617
+ scene0286_01
618
+ scene0286_02
619
+ scene0286_03
620
+ scene0031_00
621
+ scene0031_01
622
+ scene0031_02
623
+ scene0545_00
624
+ scene0545_01
625
+ scene0545_02
626
+ scene0557_00
627
+ scene0557_01
628
+ scene0557_02
629
+ scene0533_00
630
+ scene0533_01
631
+ scene0116_00
632
+ scene0116_01
633
+ scene0116_02
634
+ scene0611_00
635
+ scene0611_01
636
+ scene0688_00
637
+ scene0294_00
638
+ scene0294_01
639
+ scene0294_02
640
+ scene0295_00
641
+ scene0295_01
642
+ scene0296_00
643
+ scene0296_01
644
+ scene0596_00
645
+ scene0596_01
646
+ scene0596_02
647
+ scene0532_00
648
+ scene0532_01
649
+ scene0637_00
650
+ scene0638_00
651
+ scene0121_00
652
+ scene0121_01
653
+ scene0121_02
654
+ scene0040_00
655
+ scene0040_01
656
+ scene0197_00
657
+ scene0197_01
658
+ scene0197_02
659
+ scene0410_00
660
+ scene0410_01
661
+ scene0305_00
662
+ scene0305_01
663
+ scene0615_00
664
+ scene0615_01
665
+ scene0703_00
666
+ scene0703_01
667
+ scene0555_00
668
+ scene0297_00
669
+ scene0297_01
670
+ scene0297_02
671
+ scene0582_00
672
+ scene0582_01
673
+ scene0582_02
674
+ scene0023_00
675
+ scene0094_00
676
+ scene0013_00
677
+ scene0013_01
678
+ scene0013_02
679
+ scene0136_00
680
+ scene0136_01
681
+ scene0136_02
682
+ scene0407_00
683
+ scene0407_01
684
+ scene0062_00
685
+ scene0062_01
686
+ scene0062_02
687
+ scene0386_00
688
+ scene0318_00
689
+ scene0554_00
690
+ scene0554_01
691
+ scene0497_00
692
+ scene0213_00
693
+ scene0258_00
694
+ scene0323_00
695
+ scene0323_01
696
+ scene0324_00
697
+ scene0324_01
698
+ scene0016_00
699
+ scene0016_01
700
+ scene0016_02
701
+ scene0681_00
702
+ scene0398_00
703
+ scene0398_01
704
+ scene0227_00
705
+ scene0090_00
706
+ scene0066_00
707
+ scene0262_00
708
+ scene0262_01
709
+ scene0155_00
710
+ scene0155_01
711
+ scene0155_02
712
+ scene0352_00
713
+ scene0352_01
714
+ scene0352_02
715
+ scene0038_00
716
+ scene0038_01
717
+ scene0038_02
718
+ scene0335_00
719
+ scene0335_01
720
+ scene0335_02
721
+ scene0261_00
722
+ scene0261_01
723
+ scene0261_02
724
+ scene0261_03
725
+ scene0640_00
726
+ scene0640_01
727
+ scene0640_02
728
+ scene0080_00
729
+ scene0080_01
730
+ scene0080_02
731
+ scene0403_00
732
+ scene0403_01
733
+ scene0282_00
734
+ scene0282_01
735
+ scene0282_02
736
+ scene0682_00
737
+ scene0173_00
738
+ scene0173_01
739
+ scene0173_02
740
+ scene0522_00
741
+ scene0687_00
742
+ scene0345_00
743
+ scene0345_01
744
+ scene0612_00
745
+ scene0612_01
746
+ scene0411_00
747
+ scene0411_01
748
+ scene0411_02
749
+ scene0625_00
750
+ scene0625_01
751
+ scene0211_00
752
+ scene0211_01
753
+ scene0211_02
754
+ scene0211_03
755
+ scene0676_00
756
+ scene0676_01
757
+ scene0179_00
758
+ scene0498_00
759
+ scene0498_01
760
+ scene0498_02
761
+ scene0547_00
762
+ scene0547_01
763
+ scene0547_02
764
+ scene0269_00
765
+ scene0269_01
766
+ scene0269_02
767
+ scene0366_00
768
+ scene0680_00
769
+ scene0680_01
770
+ scene0588_00
771
+ scene0588_01
772
+ scene0588_02
773
+ scene0588_03
774
+ scene0346_00
775
+ scene0346_01
776
+ scene0359_00
777
+ scene0359_01
778
+ scene0014_00
779
+ scene0120_00
780
+ scene0120_01
781
+ scene0212_00
782
+ scene0212_01
783
+ scene0212_02
784
+ scene0176_00
785
+ scene0049_00
786
+ scene0259_00
787
+ scene0259_01
788
+ scene0586_00
789
+ scene0586_01
790
+ scene0586_02
791
+ scene0309_00
792
+ scene0309_01
793
+ scene0125_00
794
+ scene0455_00
795
+ scene0177_00
796
+ scene0177_01
797
+ scene0177_02
798
+ scene0326_00
799
+ scene0372_00
800
+ scene0171_00
801
+ scene0171_01
802
+ scene0374_00
803
+ scene0654_00
804
+ scene0654_01
805
+ scene0445_00
806
+ scene0445_01
807
+ scene0475_00
808
+ scene0475_01
809
+ scene0475_02
810
+ scene0349_00
811
+ scene0349_01
812
+ scene0234_00
813
+ scene0669_00
814
+ scene0669_01
815
+ scene0375_00
816
+ scene0375_01
817
+ scene0375_02
818
+ scene0387_00
819
+ scene0387_01
820
+ scene0387_02
821
+ scene0312_00
822
+ scene0312_01
823
+ scene0312_02
824
+ scene0384_00
825
+ scene0385_00
826
+ scene0385_01
827
+ scene0385_02
828
+ scene0000_00
829
+ scene0000_01
830
+ scene0000_02
831
+ scene0376_00
832
+ scene0376_01
833
+ scene0376_02
834
+ scene0301_00
835
+ scene0301_01
836
+ scene0301_02
837
+ scene0322_00
838
+ scene0542_00
839
+ scene0079_00
840
+ scene0079_01
841
+ scene0099_00
842
+ scene0099_01
843
+ scene0476_00
844
+ scene0476_01
845
+ scene0476_02
846
+ scene0394_00
847
+ scene0394_01
848
+ scene0147_00
849
+ scene0147_01
850
+ scene0067_00
851
+ scene0067_01
852
+ scene0067_02
853
+ scene0397_00
854
+ scene0397_01
855
+ scene0337_00
856
+ scene0337_01
857
+ scene0337_02
858
+ scene0431_00
859
+ scene0223_00
860
+ scene0223_01
861
+ scene0223_02
862
+ scene0010_00
863
+ scene0010_01
864
+ scene0402_00
865
+ scene0268_00
866
+ scene0268_01
867
+ scene0268_02
868
+ scene0679_00
869
+ scene0679_01
870
+ scene0405_00
871
+ scene0128_00
872
+ scene0408_00
873
+ scene0408_01
874
+ scene0190_00
875
+ scene0107_00
876
+ scene0076_00
877
+ scene0167_00
878
+ scene0361_00
879
+ scene0361_01
880
+ scene0361_02
881
+ scene0216_00
882
+ scene0202_00
883
+ scene0303_00
884
+ scene0303_01
885
+ scene0303_02
886
+ scene0446_00
887
+ scene0446_01
888
+ scene0089_00
889
+ scene0089_01
890
+ scene0089_02
891
+ scene0360_00
892
+ scene0150_00
893
+ scene0150_01
894
+ scene0150_02
895
+ scene0421_00
896
+ scene0421_01
897
+ scene0421_02
898
+ scene0454_00
899
+ scene0626_00
900
+ scene0626_01
901
+ scene0626_02
902
+ scene0186_00
903
+ scene0186_01
904
+ scene0538_00
905
+ scene0479_00
906
+ scene0479_01
907
+ scene0479_02
908
+ scene0656_00
909
+ scene0656_01
910
+ scene0656_02
911
+ scene0656_03
912
+ scene0525_00
913
+ scene0525_01
914
+ scene0525_02
915
+ scene0308_00
916
+ scene0396_00
917
+ scene0396_01
918
+ scene0396_02
919
+ scene0624_00
920
+ scene0292_00
921
+ scene0292_01
922
+ scene0632_00
923
+ scene0253_00
924
+ scene0021_00
925
+ scene0325_00
926
+ scene0325_01
927
+ scene0437_00
928
+ scene0437_01
929
+ scene0438_00
930
+ scene0590_00
931
+ scene0590_01
932
+ scene0400_00
933
+ scene0400_01
934
+ scene0541_00
935
+ scene0541_01
936
+ scene0541_02
937
+ scene0677_00
938
+ scene0677_01
939
+ scene0677_02
940
+ scene0443_00
941
+ scene0315_00
942
+ scene0288_00
943
+ scene0288_01
944
+ scene0288_02
945
+ scene0422_00
946
+ scene0672_00
947
+ scene0672_01
948
+ scene0184_00
949
+ scene0449_00
950
+ scene0449_01
951
+ scene0449_02
952
+ scene0048_00
953
+ scene0048_01
954
+ scene0138_00
955
+ scene0452_00
956
+ scene0452_01
957
+ scene0452_02
958
+ scene0667_00
959
+ scene0667_01
960
+ scene0667_02
961
+ scene0463_00
962
+ scene0463_01
963
+ scene0078_00
964
+ scene0078_01
965
+ scene0078_02
966
+ scene0636_00
967
+ scene0457_00
968
+ scene0457_01
969
+ scene0457_02
970
+ scene0465_00
971
+ scene0465_01
972
+ scene0577_00
973
+ scene0151_00
974
+ scene0151_01
975
+ scene0339_00
976
+ scene0573_00
977
+ scene0573_01
978
+ scene0154_00
979
+ scene0096_00
980
+ scene0096_01
981
+ scene0096_02
982
+ scene0235_00
983
+ scene0168_00
984
+ scene0168_01
985
+ scene0168_02
986
+ scene0594_00
987
+ scene0587_00
988
+ scene0587_01
989
+ scene0587_02
990
+ scene0587_03
991
+ scene0229_00
992
+ scene0229_01
993
+ scene0229_02
994
+ scene0512_00
995
+ scene0106_00
996
+ scene0106_01
997
+ scene0106_02
998
+ scene0472_00
999
+ scene0472_01
1000
+ scene0472_02
1001
+ scene0489_00
1002
+ scene0489_01
1003
+ scene0489_02
1004
+ scene0425_00
1005
+ scene0425_01
1006
+ scene0641_00
1007
+ scene0526_00
1008
+ scene0526_01
1009
+ scene0317_00
1010
+ scene0317_01
1011
+ scene0544_00
1012
+ scene0017_00
1013
+ scene0017_01
1014
+ scene0017_02
1015
+ scene0042_00
1016
+ scene0042_01
1017
+ scene0042_02
1018
+ scene0576_00
1019
+ scene0576_01
1020
+ scene0576_02
1021
+ scene0347_00
1022
+ scene0347_01
1023
+ scene0347_02
1024
+ scene0436_00
1025
+ scene0226_00
1026
+ scene0226_01
1027
+ scene0485_00
1028
+ scene0486_00
1029
+ scene0487_00
1030
+ scene0487_01
1031
+ scene0619_00
1032
+ scene0097_00
1033
+ scene0367_00
1034
+ scene0367_01
1035
+ scene0491_00
1036
+ scene0492_00
1037
+ scene0492_01
1038
+ scene0005_00
1039
+ scene0005_01
1040
+ scene0543_00
1041
+ scene0543_01
1042
+ scene0543_02
1043
+ scene0657_00
1044
+ scene0341_00
1045
+ scene0341_01
1046
+ scene0534_00
1047
+ scene0534_01
1048
+ scene0319_00
1049
+ scene0273_00
1050
+ scene0273_01
1051
+ scene0225_00
1052
+ scene0198_00
1053
+ scene0003_00
1054
+ scene0003_01
1055
+ scene0003_02
1056
+ scene0409_00
1057
+ scene0409_01
1058
+ scene0331_00
1059
+ scene0331_01
1060
+ scene0505_00
1061
+ scene0505_01
1062
+ scene0505_02
1063
+ scene0505_03
1064
+ scene0505_04
1065
+ scene0506_00
1066
+ scene0057_00
1067
+ scene0057_01
1068
+ scene0074_00
1069
+ scene0074_01
1070
+ scene0074_02
1071
+ scene0091_00
1072
+ scene0112_00
1073
+ scene0112_01
1074
+ scene0112_02
1075
+ scene0240_00
1076
+ scene0102_00
1077
+ scene0102_01
1078
+ scene0513_00
1079
+ scene0514_00
1080
+ scene0514_01
1081
+ scene0537_00
1082
+ scene0516_00
1083
+ scene0516_01
1084
+ scene0495_00
1085
+ scene0617_00
1086
+ scene0133_00
1087
+ scene0520_00
1088
+ scene0520_01
1089
+ scene0635_00
1090
+ scene0635_01
1091
+ scene0054_00
1092
+ scene0473_00
1093
+ scene0473_01
1094
+ scene0524_00
1095
+ scene0524_01
1096
+ scene0379_00
1097
+ scene0471_00
1098
+ scene0471_01
1099
+ scene0471_02
1100
+ scene0566_00
1101
+ scene0248_00
1102
+ scene0248_01
1103
+ scene0248_02
1104
+ scene0529_00
1105
+ scene0529_01
1106
+ scene0529_02
1107
+ scene0391_00
1108
+ scene0264_00
1109
+ scene0264_01
1110
+ scene0264_02
1111
+ scene0675_00
1112
+ scene0675_01
1113
+ scene0350_00
1114
+ scene0350_01
1115
+ scene0350_02
1116
+ scene0450_00
1117
+ scene0068_00
1118
+ scene0068_01
1119
+ scene0237_00
1120
+ scene0237_01
1121
+ scene0365_00
1122
+ scene0365_01
1123
+ scene0365_02
1124
+ scene0605_00
1125
+ scene0605_01
1126
+ scene0539_00
1127
+ scene0539_01
1128
+ scene0539_02
1129
+ scene0540_00
1130
+ scene0540_01
1131
+ scene0540_02
1132
+ scene0170_00
1133
+ scene0170_01
1134
+ scene0170_02
1135
+ scene0433_00
1136
+ scene0340_00
1137
+ scene0340_01
1138
+ scene0340_02
1139
+ scene0160_00
1140
+ scene0160_01
1141
+ scene0160_02
1142
+ scene0160_03
1143
+ scene0160_04
1144
+ scene0059_00
1145
+ scene0059_01
1146
+ scene0059_02
1147
+ scene0056_00
1148
+ scene0056_01
1149
+ scene0478_00
1150
+ scene0478_01
1151
+ scene0548_00
1152
+ scene0548_01
1153
+ scene0548_02
1154
+ scene0204_00
1155
+ scene0204_01
1156
+ scene0204_02
1157
+ scene0033_00
1158
+ scene0145_00
1159
+ scene0483_00
1160
+ scene0508_00
1161
+ scene0508_01
1162
+ scene0508_02
1163
+ scene0180_00
1164
+ scene0148_00
1165
+ scene0556_00
1166
+ scene0556_01
1167
+ scene0416_00
1168
+ scene0416_01
1169
+ scene0416_02
1170
+ scene0416_03
1171
+ scene0416_04
1172
+ scene0073_00
1173
+ scene0073_01
1174
+ scene0073_02
1175
+ scene0073_03
1176
+ scene0034_00
1177
+ scene0034_01
1178
+ scene0034_02
1179
+ scene0639_00
1180
+ scene0561_00
1181
+ scene0561_01
1182
+ scene0298_00
1183
+ scene0692_00
1184
+ scene0692_01
1185
+ scene0692_02
1186
+ scene0692_03
1187
+ scene0692_04
1188
+ scene0642_00
1189
+ scene0642_01
1190
+ scene0642_02
1191
+ scene0642_03
1192
+ scene0630_00
1193
+ scene0630_01
1194
+ scene0630_02
1195
+ scene0630_03
1196
+ scene0630_04
1197
+ scene0630_05
1198
+ scene0630_06
1199
+ scene0706_00
1200
+ scene0567_00
1201
+ scene0567_01
datasets/scannet_preprocess/meta_data/scannetv2_val.txt ADDED
@@ -0,0 +1,312 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ scene0568_00
2
+ scene0568_01
3
+ scene0568_02
4
+ scene0304_00
5
+ scene0488_00
6
+ scene0488_01
7
+ scene0412_00
8
+ scene0412_01
9
+ scene0217_00
10
+ scene0019_00
11
+ scene0019_01
12
+ scene0414_00
13
+ scene0575_00
14
+ scene0575_01
15
+ scene0575_02
16
+ scene0426_00
17
+ scene0426_01
18
+ scene0426_02
19
+ scene0426_03
20
+ scene0549_00
21
+ scene0549_01
22
+ scene0578_00
23
+ scene0578_01
24
+ scene0578_02
25
+ scene0665_00
26
+ scene0665_01
27
+ scene0050_00
28
+ scene0050_01
29
+ scene0050_02
30
+ scene0257_00
31
+ scene0025_00
32
+ scene0025_01
33
+ scene0025_02
34
+ scene0583_00
35
+ scene0583_01
36
+ scene0583_02
37
+ scene0701_00
38
+ scene0701_01
39
+ scene0701_02
40
+ scene0580_00
41
+ scene0580_01
42
+ scene0565_00
43
+ scene0169_00
44
+ scene0169_01
45
+ scene0655_00
46
+ scene0655_01
47
+ scene0655_02
48
+ scene0063_00
49
+ scene0221_00
50
+ scene0221_01
51
+ scene0591_00
52
+ scene0591_01
53
+ scene0591_02
54
+ scene0678_00
55
+ scene0678_01
56
+ scene0678_02
57
+ scene0462_00
58
+ scene0427_00
59
+ scene0595_00
60
+ scene0193_00
61
+ scene0193_01
62
+ scene0164_00
63
+ scene0164_01
64
+ scene0164_02
65
+ scene0164_03
66
+ scene0598_00
67
+ scene0598_01
68
+ scene0598_02
69
+ scene0599_00
70
+ scene0599_01
71
+ scene0599_02
72
+ scene0328_00
73
+ scene0300_00
74
+ scene0300_01
75
+ scene0354_00
76
+ scene0458_00
77
+ scene0458_01
78
+ scene0423_00
79
+ scene0423_01
80
+ scene0423_02
81
+ scene0307_00
82
+ scene0307_01
83
+ scene0307_02
84
+ scene0606_00
85
+ scene0606_01
86
+ scene0606_02
87
+ scene0432_00
88
+ scene0432_01
89
+ scene0608_00
90
+ scene0608_01
91
+ scene0608_02
92
+ scene0651_00
93
+ scene0651_01
94
+ scene0651_02
95
+ scene0430_00
96
+ scene0430_01
97
+ scene0689_00
98
+ scene0357_00
99
+ scene0357_01
100
+ scene0574_00
101
+ scene0574_01
102
+ scene0574_02
103
+ scene0329_00
104
+ scene0329_01
105
+ scene0329_02
106
+ scene0153_00
107
+ scene0153_01
108
+ scene0616_00
109
+ scene0616_01
110
+ scene0671_00
111
+ scene0671_01
112
+ scene0618_00
113
+ scene0382_00
114
+ scene0382_01
115
+ scene0490_00
116
+ scene0621_00
117
+ scene0607_00
118
+ scene0607_01
119
+ scene0149_00
120
+ scene0695_00
121
+ scene0695_01
122
+ scene0695_02
123
+ scene0695_03
124
+ scene0389_00
125
+ scene0377_00
126
+ scene0377_01
127
+ scene0377_02
128
+ scene0342_00
129
+ scene0139_00
130
+ scene0629_00
131
+ scene0629_01
132
+ scene0629_02
133
+ scene0496_00
134
+ scene0633_00
135
+ scene0633_01
136
+ scene0518_00
137
+ scene0652_00
138
+ scene0406_00
139
+ scene0406_01
140
+ scene0406_02
141
+ scene0144_00
142
+ scene0144_01
143
+ scene0494_00
144
+ scene0278_00
145
+ scene0278_01
146
+ scene0316_00
147
+ scene0609_00
148
+ scene0609_01
149
+ scene0609_02
150
+ scene0609_03
151
+ scene0084_00
152
+ scene0084_01
153
+ scene0084_02
154
+ scene0696_00
155
+ scene0696_01
156
+ scene0696_02
157
+ scene0351_00
158
+ scene0351_01
159
+ scene0643_00
160
+ scene0644_00
161
+ scene0645_00
162
+ scene0645_01
163
+ scene0645_02
164
+ scene0081_00
165
+ scene0081_01
166
+ scene0081_02
167
+ scene0647_00
168
+ scene0647_01
169
+ scene0535_00
170
+ scene0353_00
171
+ scene0353_01
172
+ scene0353_02
173
+ scene0559_00
174
+ scene0559_01
175
+ scene0559_02
176
+ scene0593_00
177
+ scene0593_01
178
+ scene0246_00
179
+ scene0653_00
180
+ scene0653_01
181
+ scene0064_00
182
+ scene0064_01
183
+ scene0356_00
184
+ scene0356_01
185
+ scene0356_02
186
+ scene0030_00
187
+ scene0030_01
188
+ scene0030_02
189
+ scene0222_00
190
+ scene0222_01
191
+ scene0338_00
192
+ scene0338_01
193
+ scene0338_02
194
+ scene0378_00
195
+ scene0378_01
196
+ scene0378_02
197
+ scene0660_00
198
+ scene0553_00
199
+ scene0553_01
200
+ scene0553_02
201
+ scene0527_00
202
+ scene0663_00
203
+ scene0663_01
204
+ scene0663_02
205
+ scene0664_00
206
+ scene0664_01
207
+ scene0664_02
208
+ scene0334_00
209
+ scene0334_01
210
+ scene0334_02
211
+ scene0046_00
212
+ scene0046_01
213
+ scene0046_02
214
+ scene0203_00
215
+ scene0203_01
216
+ scene0203_02
217
+ scene0088_00
218
+ scene0088_01
219
+ scene0088_02
220
+ scene0088_03
221
+ scene0086_00
222
+ scene0086_01
223
+ scene0086_02
224
+ scene0670_00
225
+ scene0670_01
226
+ scene0256_00
227
+ scene0256_01
228
+ scene0256_02
229
+ scene0249_00
230
+ scene0441_00
231
+ scene0658_00
232
+ scene0704_00
233
+ scene0704_01
234
+ scene0187_00
235
+ scene0187_01
236
+ scene0131_00
237
+ scene0131_01
238
+ scene0131_02
239
+ scene0207_00
240
+ scene0207_01
241
+ scene0207_02
242
+ scene0461_00
243
+ scene0011_00
244
+ scene0011_01
245
+ scene0343_00
246
+ scene0251_00
247
+ scene0077_00
248
+ scene0077_01
249
+ scene0684_00
250
+ scene0684_01
251
+ scene0550_00
252
+ scene0686_00
253
+ scene0686_01
254
+ scene0686_02
255
+ scene0208_00
256
+ scene0500_00
257
+ scene0500_01
258
+ scene0552_00
259
+ scene0552_01
260
+ scene0648_00
261
+ scene0648_01
262
+ scene0435_00
263
+ scene0435_01
264
+ scene0435_02
265
+ scene0435_03
266
+ scene0690_00
267
+ scene0690_01
268
+ scene0693_00
269
+ scene0693_01
270
+ scene0693_02
271
+ scene0700_00
272
+ scene0700_01
273
+ scene0700_02
274
+ scene0699_00
275
+ scene0231_00
276
+ scene0231_01
277
+ scene0231_02
278
+ scene0697_00
279
+ scene0697_01
280
+ scene0697_02
281
+ scene0697_03
282
+ scene0474_00
283
+ scene0474_01
284
+ scene0474_02
285
+ scene0474_03
286
+ scene0474_04
287
+ scene0474_05
288
+ scene0355_00
289
+ scene0355_01
290
+ scene0146_00
291
+ scene0146_01
292
+ scene0146_02
293
+ scene0196_00
294
+ scene0702_00
295
+ scene0702_01
296
+ scene0702_02
297
+ scene0314_00
298
+ scene0277_00
299
+ scene0277_01
300
+ scene0277_02
301
+ scene0095_00
302
+ scene0095_01
303
+ scene0015_00
304
+ scene0100_00
305
+ scene0100_01
306
+ scene0100_02
307
+ scene0558_00
308
+ scene0558_01
309
+ scene0558_02
310
+ scene0685_00
311
+ scene0685_01
312
+ scene0685_02
datasets/scannet_preprocess/prepare_2d_data/SensorData.py ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import os, struct
3
+ import numpy as np
4
+ import zlib
5
+ import imageio
6
+ import cv2
7
+
8
+ COMPRESSION_TYPE_COLOR = {-1:'unknown', 0:'raw', 1:'png', 2:'jpeg'}
9
+ COMPRESSION_TYPE_DEPTH = {-1:'unknown', 0:'raw_ushort', 1:'zlib_ushort', 2:'occi_ushort'}
10
+
11
+ class RGBDFrame():
12
+
13
+ def load(self, file_handle):
14
+ self.camera_to_world = np.asarray(struct.unpack('f'*16, file_handle.read(16*4)), dtype=np.float32).reshape(4, 4)
15
+ self.timestamp_color = struct.unpack('Q', file_handle.read(8))[0]
16
+ self.timestamp_depth = struct.unpack('Q', file_handle.read(8))[0]
17
+ self.color_size_bytes = struct.unpack('Q', file_handle.read(8))[0]
18
+ self.depth_size_bytes = struct.unpack('Q', file_handle.read(8))[0]
19
+ self.color_data = b''.join(struct.unpack('c'*self.color_size_bytes, file_handle.read(self.color_size_bytes)))
20
+ self.depth_data = b''.join(struct.unpack('c'*self.depth_size_bytes, file_handle.read(self.depth_size_bytes)))
21
+
22
+
23
+ def decompress_depth(self, compression_type):
24
+ if compression_type == 'zlib_ushort':
25
+ return self.decompress_depth_zlib()
26
+ else:
27
+ raise
28
+
29
+
30
+ def decompress_depth_zlib(self):
31
+ return zlib.decompress(self.depth_data)
32
+
33
+
34
+ def decompress_color(self, compression_type):
35
+ if compression_type == 'jpeg':
36
+ return self.decompress_color_jpeg()
37
+ else:
38
+ raise
39
+
40
+
41
+ def decompress_color_jpeg(self):
42
+ return imageio.imread(self.color_data)
43
+
44
+
45
+ class SensorData:
46
+
47
+ def __init__(self, filename):
48
+ self.version = 4
49
+ self.load(filename)
50
+
51
+
52
+ def load(self, filename):
53
+ with open(filename, 'rb') as f:
54
+ version = struct.unpack('I', f.read(4))[0]
55
+ assert self.version == version
56
+ strlen = struct.unpack('Q', f.read(8))[0]
57
+ self.sensor_name = b''.join(struct.unpack('c'*strlen, f.read(strlen)))
58
+ self.intrinsic_color = np.asarray(struct.unpack('f'*16, f.read(16*4)), dtype=np.float32).reshape(4, 4)
59
+ self.extrinsic_color = np.asarray(struct.unpack('f'*16, f.read(16*4)), dtype=np.float32).reshape(4, 4)
60
+ self.intrinsic_depth = np.asarray(struct.unpack('f'*16, f.read(16*4)), dtype=np.float32).reshape(4, 4)
61
+ self.extrinsic_depth = np.asarray(struct.unpack('f'*16, f.read(16*4)), dtype=np.float32).reshape(4, 4)
62
+ self.color_compression_type = COMPRESSION_TYPE_COLOR[struct.unpack('i', f.read(4))[0]]
63
+ self.depth_compression_type = COMPRESSION_TYPE_DEPTH[struct.unpack('i', f.read(4))[0]]
64
+ self.color_width = struct.unpack('I', f.read(4))[0]
65
+ self.color_height = struct.unpack('I', f.read(4))[0]
66
+ self.depth_width = struct.unpack('I', f.read(4))[0]
67
+ self.depth_height = struct.unpack('I', f.read(4))[0]
68
+ self.depth_shift = struct.unpack('f', f.read(4))[0]
69
+ num_frames = struct.unpack('Q', f.read(8))[0]
70
+ self.frames = []
71
+ for i in range(num_frames):
72
+ frame = RGBDFrame()
73
+ frame.load(f)
74
+ self.frames.append(frame)
75
+
76
+
77
+ def export_depth_images(self, output_path, image_size=None, frame_skip=1):
78
+ if not os.path.exists(output_path):
79
+ os.makedirs(output_path)
80
+ # print 'exporting', len(self.frames)//frame_skip, ' depth frames to', output_path
81
+ for f in range(0, len(self.frames), frame_skip):
82
+ depth_data = self.frames[f].decompress_depth(self.depth_compression_type)
83
+ depth = np.fromstring(depth_data, dtype=np.uint16).reshape(self.depth_height, self.depth_width)
84
+ if image_size is not None:
85
+ depth = cv2.resize(depth, (image_size[1], image_size[0]), interpolation=cv2.INTER_NEAREST)
86
+ imageio.imwrite(os.path.join(output_path, str(f) + '.png'), depth)
87
+
88
+
89
+ def export_color_images(self, output_path, image_size=None, frame_skip=1):
90
+ if not os.path.exists(output_path):
91
+ os.makedirs(output_path)
92
+ # print 'exporting', len(self.frames)//frame_skip, 'color frames to', output_path
93
+ for f in range(0, len(self.frames), frame_skip):
94
+ color = self.frames[f].decompress_color(self.color_compression_type)
95
+ if image_size is not None:
96
+ color = cv2.resize(color, (image_size[1], image_size[0]), interpolation=cv2.INTER_NEAREST)
97
+ imageio.imwrite(os.path.join(output_path, str(f) + '.jpg'), color)
98
+
99
+
100
+ def save_mat_to_file(self, matrix, filename):
101
+ with open(filename, 'w') as f:
102
+ for line in matrix:
103
+ np.savetxt(f, line[np.newaxis], fmt='%f')
104
+
105
+
106
+ def export_poses(self, output_path, frame_skip=1):
107
+ if not os.path.exists(output_path):
108
+ os.makedirs(output_path)
109
+ # print 'exporting', len(self.frames)//frame_skip, 'camera poses to', output_path
110
+ for f in range(0, len(self.frames), frame_skip):
111
+ self.save_mat_to_file(self.frames[f].camera_to_world, os.path.join(output_path, str(f) + '.txt'))
112
+
113
+
114
+ def export_intrinsics(self, output_path):
115
+ if not os.path.exists(output_path):
116
+ os.makedirs(output_path)
117
+ # print 'exporting camera intrinsics to', output_path
118
+ self.save_mat_to_file(self.intrinsic_color, os.path.join(output_path, 'intrinsic_color.txt'))
119
+ self.save_mat_to_file(self.extrinsic_color, os.path.join(output_path, 'extrinsic_color.txt'))
120
+ self.save_mat_to_file(self.intrinsic_depth, os.path.join(output_path, 'intrinsic_depth.txt'))
121
+ self.save_mat_to_file(self.extrinsic_depth, os.path.join(output_path, 'extrinsic_depth.txt'))
datasets/scannet_preprocess/prepare_2d_data/prepare_2d_data.py ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # pre-process ScanNet 2D data
2
+ # note: depends on the sens file reader from ScanNet:
3
+ # https://github.com/ScanNet/ScanNet/blob/master/SensReader/python/SensorData.py
4
+ # if export_label_images flag is on:
5
+ # - depends on https://github.com/ScanNet/ScanNet/tree/master/BenchmarkScripts/util.py
6
+ # - also assumes that label images are unzipped as scene*/label*/*.png
7
+ # expected file structure:
8
+ # - prepare_2d_data.py
9
+ # - https://github.com/ScanNet/ScanNet/tree/master/BenchmarkScripts/util.py
10
+ # - https://github.com/ScanNet/ScanNet/blob/master/SensReader/python/SensorData.py
11
+ #
12
+ # example usage:
13
+ # python prepare_2d_data.py --scannet_path data/scannetv2 --output_path data/scannetv2_images --export_label_images
14
+
15
+ import argparse
16
+ import os, sys
17
+ import numpy as np
18
+ import skimage.transform as sktf
19
+ import imageio
20
+ from SensorData import SensorData
21
+ import util
22
+ # try:
23
+ # from prepare_2d_data.SensorData import SensorData
24
+ # except:
25
+ # print('Failed to import SensorData (from ScanNet code toolbox)')
26
+ # sys.exit(-1)
27
+ # try:
28
+ # from prepare_2d_data import util
29
+ # except:
30
+ # print('Failed to import ScanNet code toolbox util')
31
+ # sys.exit(-1)
32
+
33
+ # params
34
+ parser = argparse.ArgumentParser()
35
+ parser.add_argument('--scannet_path', required=True, help='path to scannet data')
36
+ parser.add_argument('--output_path', required=True, help='where to output 2d data')
37
+ parser.add_argument('--export_label_images', dest='export_label_images', action='store_true')
38
+ parser.add_argument('--label_type', default='label-filt', help='which labels (label or label-filt)')
39
+ parser.add_argument('--frame_skip', type=int, default=20, help='export every nth frame')
40
+ parser.add_argument('--label_map_file', default='scannet-preprocess/meta_data/scannetv2-labels.combined.tsv',
41
+ help='path to scannetv2-labels.combined.tsv (required for label export only)')
42
+ parser.add_argument('--output_image_width', type=int, default=640, help='export image width')
43
+ parser.add_argument('--output_image_height', type=int, default=480, help='export image height')
44
+
45
+ parser.set_defaults(export_label_images=False)
46
+ opt = parser.parse_args()
47
+ if opt.export_label_images:
48
+ assert opt.label_map_file != ''
49
+ print(opt)
50
+
51
+
52
+ def print_error(message):
53
+ sys.stderr.write('ERROR: ' + str(message) + '\n')
54
+ sys.exit(-1)
55
+
56
+
57
+ # from https://github.com/ScanNet/ScanNet/tree/master/BenchmarkScripts/2d_helpers/convert_scannet_label_image.py
58
+ def map_label_image(image, label_mapping):
59
+ mapped = np.copy(image)
60
+ for k, v in label_mapping.iteritems():
61
+ mapped[image == k] = v
62
+ return mapped.astype(np.uint8)
63
+
64
+
65
+ def main():
66
+ if not os.path.exists(opt.output_path):
67
+ os.makedirs(opt.output_path)
68
+
69
+ label_mapping = None
70
+ if opt.export_label_images:
71
+ label_map = util.read_label_mapping(opt.label_map_file, label_from='id', label_to='nyu40id')
72
+
73
+ scenes = [d for d in os.listdir(opt.scannet_path) if os.path.isdir(os.path.join(opt.scannet_path, d))]
74
+ print('Found %d scenes' % len(scenes))
75
+ for i in range(0,len(scenes)):
76
+ if scenes[i] != 'scene0000_00': continue
77
+ sens_file = os.path.join(opt.scannet_path, scenes[i], scenes[i] + '.sens')
78
+ label_path = os.path.join(opt.scannet_path, scenes[i], opt.label_type)
79
+ if opt.export_label_images and not os.path.isdir(label_path):
80
+ print_error('Error: using export_label_images option but label path %s does not exist' % label_path)
81
+ output_color_path = os.path.join(opt.output_path, scenes[i], 'color')
82
+ if not os.path.isdir(output_color_path):
83
+ os.makedirs(output_color_path)
84
+ output_depth_path = os.path.join(opt.output_path, scenes[i], 'depth')
85
+ if not os.path.isdir(output_depth_path):
86
+ os.makedirs(output_depth_path)
87
+ output_pose_path = os.path.join(opt.output_path, scenes[i], 'pose')
88
+ if not os.path.isdir(output_pose_path):
89
+ os.makedirs(output_pose_path)
90
+ output_label_path = os.path.join(opt.output_path, scenes[i], 'label')
91
+ if opt.export_label_images and not os.path.isdir(output_label_path):
92
+ os.makedirs(output_label_path)
93
+ output_intrinsics_path = os.path.join(opt.output_path, scenes[i], 'intrinsics')
94
+ if opt.export_label_images and not os.path.isdir(output_label_path):
95
+ os.makedirs(output_label_path)
96
+
97
+ # read and export
98
+ sys.stdout.write('\r[ %d | %d ] %s\tloading...' % ((i + 1), len(scenes), scenes[i]))
99
+ sys.stdout.flush()
100
+ sd = SensorData(sens_file)
101
+ sys.stdout.write('\r[ %d | %d ] %s\texporting...' % ((i + 1), len(scenes), scenes[i]))
102
+ sys.stdout.flush()
103
+ sd.export_color_images(output_color_path, image_size=[opt.output_image_height, opt.output_image_width],
104
+ frame_skip=opt.frame_skip)
105
+ sd.export_depth_images(output_depth_path, image_size=[opt.output_image_height, opt.output_image_width],
106
+ frame_skip=opt.frame_skip)
107
+ sd.export_poses(output_pose_path, frame_skip=opt.frame_skip)
108
+ sd.export_intrinsics(output_intrinsics_path)
109
+
110
+ if opt.export_label_images:
111
+
112
+ for f in range(0, len(sd.frames), opt.frame_skip):
113
+ label_file = os.path.join(label_path, str(f) + '.png')
114
+ image = np.array(imageio.imread(label_file))
115
+ image = sktf.resize(image, [opt.output_image_height, opt.output_image_width], order=0,
116
+ preserve_range=True)
117
+ mapped_image = map_label_image(image, label_map)
118
+ imageio.imwrite(os.path.join(output_label_path, str(f) + '.png'), mapped_image)
119
+ print('')
120
+
121
+
122
+ if __name__ == '__main__':
123
+ main()
datasets/scannet_preprocess/prepare_2d_data/util.py ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os, sys
2
+ import csv
3
+
4
+ try:
5
+ import numpy as np
6
+ except:
7
+ # print "Failed to import numpy package."
8
+ sys.exit(-1)
9
+ try:
10
+ import imageio
11
+ except:
12
+ print("Please install the module 'imageio' for image processing, e.g.")
13
+ print("pip install imageio")
14
+ sys.exit(-1)
15
+
16
+
17
+ # print an error message and quit
18
+ def print_error(message, user_fault=False):
19
+ sys.stderr.write('ERROR: ' + str(message) + '\n')
20
+ if user_fault:
21
+ sys.exit(2)
22
+ sys.exit(-1)
23
+
24
+
25
+ # if string s represents an int
26
+ def represents_int(s):
27
+ try:
28
+ int(s)
29
+ return True
30
+ except ValueError:
31
+ return False
32
+
33
+
34
+ def read_label_mapping(filename, label_from='raw_category', label_to='nyu40id'):
35
+ assert os.path.isfile(filename)
36
+ mapping = dict()
37
+ with open(filename) as csvfile:
38
+ reader = csv.DictReader(csvfile, delimiter='\t')
39
+ for row in reader:
40
+ mapping[row[label_from]] = int(row[label_to])
41
+ # if ints convert
42
+ if represents_int(list(mapping.keys())[0]):
43
+ mapping = {int(k): v for k, v in mapping.items()}
44
+ return mapping
45
+
46
+
47
+ # input: scene_types.txt or scene_types_all.txt
48
+ def read_scene_types_mapping(filename, remove_spaces=True):
49
+ assert os.path.isfile(filename)
50
+ mapping = dict()
51
+ lines = open(filename).read().splitlines()
52
+ lines = [line.split('\t') for line in lines]
53
+ if remove_spaces:
54
+ mapping = {x[1].strip(): int(x[0]) for x in lines}
55
+ else:
56
+ mapping = {x[1]: int(x[0]) for x in lines}
57
+ return mapping
58
+
59
+
60
+ # color by label
61
+ def visualize_label_image(filename, image):
62
+ height = image.shape[0]
63
+ width = image.shape[1]
64
+ vis_image = np.zeros([height, width, 3], dtype=np.uint8)
65
+ color_palette = create_color_palette()
66
+ for idx, color in enumerate(color_palette):
67
+ vis_image[image == idx] = color
68
+ imageio.imwrite(filename, vis_image)
69
+
70
+
71
+ # color by different instances (mod length of color palette)
72
+ def visualize_instance_image(filename, image):
73
+ height = image.shape[0]
74
+ width = image.shape[1]
75
+ vis_image = np.zeros([height, width, 3], dtype=np.uint8)
76
+ color_palette = create_color_palette()
77
+ instances = np.unique(image)
78
+ for idx, inst in enumerate(instances):
79
+ vis_image[image == inst] = color_palette[inst % len(color_palette)]
80
+ imageio.imwrite(filename, vis_image)
81
+
82
+
83
+ # color palette for nyu40 labels
84
+ def create_color_palette():
85
+ return [
86
+ (0, 0, 0),
87
+ (174, 199, 232), # wall
88
+ (152, 223, 138), # floor
89
+ (31, 119, 180), # cabinet
90
+ (255, 187, 120), # bed
91
+ (188, 189, 34), # chair
92
+ (140, 86, 75), # sofa
93
+ (255, 152, 150), # table
94
+ (214, 39, 40), # door
95
+ (197, 176, 213), # window
96
+ (148, 103, 189), # bookshelf
97
+ (196, 156, 148), # picture
98
+ (23, 190, 207), # counter
99
+ (178, 76, 76),
100
+ (247, 182, 210), # desk
101
+ (66, 188, 102),
102
+ (219, 219, 141), # curtain
103
+ (140, 57, 197),
104
+ (202, 185, 52),
105
+ (51, 176, 203),
106
+ (200, 54, 131),
107
+ (92, 193, 61),
108
+ (78, 71, 183),
109
+ (172, 114, 82),
110
+ (255, 127, 14), # refrigerator
111
+ (91, 163, 138),
112
+ (153, 98, 156),
113
+ (140, 153, 101),
114
+ (158, 218, 229), # shower curtain
115
+ (100, 125, 154),
116
+ (178, 127, 135),
117
+ (120, 185, 128),
118
+ (146, 111, 194),
119
+ (44, 160, 44), # toilet
120
+ (112, 128, 144), # sink
121
+ (96, 207, 209),
122
+ (227, 119, 194), # bathtub
123
+ (213, 92, 176),
124
+ (94, 106, 211),
125
+ (82, 84, 163), # otherfurn
126
+ (100, 85, 144)
127
+ ]
datasets/scannet_preprocess/preprocess_scannet.py ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Preprocessing Script for ScanNet 20/200
3
+
4
+ Author: Xiaoyang Wu (xiaoyang.wu.cs@gmail.com)
5
+ Please cite our work if the code is helpful to you.
6
+ """
7
+
8
+ import warnings
9
+
10
+ import torch
11
+
12
+ warnings.filterwarnings("ignore", category=DeprecationWarning)
13
+
14
+ import sys
15
+ import os
16
+ import argparse
17
+ import glob
18
+ import json
19
+ import plyfile
20
+ import numpy as np
21
+ import pandas as pd
22
+ import multiprocessing as mp
23
+ from concurrent.futures import ProcessPoolExecutor
24
+ from itertools import repeat
25
+
26
+ # Load external constants
27
+ from meta_data.scannet200_constants import VALID_CLASS_IDS_200, VALID_CLASS_IDS_20
28
+
29
+ CLOUD_FILE_PFIX = '_vh_clean_2'
30
+ SEGMENTS_FILE_PFIX = '.0.010000.segs.json'
31
+ AGGREGATIONS_FILE_PFIX = '.aggregation.json'
32
+ CLASS_IDS200 = VALID_CLASS_IDS_200
33
+ CLASS_IDS20 = VALID_CLASS_IDS_20
34
+ IGNORE_INDEX = -1
35
+
36
+
37
+ def read_plymesh(filepath):
38
+ """Read ply file and return it as numpy array. Returns None if emtpy."""
39
+ with open(filepath, 'rb') as f:
40
+ plydata = plyfile.PlyData.read(f)
41
+ if plydata.elements:
42
+ vertices = pd.DataFrame(plydata['vertex'].data).values
43
+ faces = np.stack(plydata['face'].data['vertex_indices'], axis=0)
44
+ return vertices, faces
45
+
46
+
47
+ # Map the raw category id to the point cloud
48
+ def point_indices_from_group(seg_indices, group, labels_pd):
49
+ group_segments = np.array(group['segments'])
50
+ label = group['label']
51
+
52
+ # Map the category name to id
53
+ label_id20 = labels_pd[labels_pd['raw_category'] == label]['nyu40id']
54
+ label_id20 = int(label_id20.iloc[0]) if len(label_id20) > 0 else 0
55
+ label_id200 = labels_pd[labels_pd['raw_category'] == label]['id']
56
+ label_id200 = int(label_id200.iloc[0]) if len(label_id200) > 0 else 0
57
+
58
+ # Only store for the valid categories
59
+ if label_id20 in CLASS_IDS20:
60
+ label_id20 = CLASS_IDS20.index(label_id20)
61
+ else:
62
+ label_id20 = IGNORE_INDEX
63
+
64
+ if label_id200 in CLASS_IDS200:
65
+ label_id200 = CLASS_IDS200.index(label_id200)
66
+ else:
67
+ label_id200 = IGNORE_INDEX
68
+
69
+ # get points, where segment indices (points labelled with segment ids) are in the group segment list
70
+ point_idx = np.where(np.isin(seg_indices, group_segments))[0]
71
+ return point_idx, label_id20, label_id200
72
+
73
+
74
+ def face_normal(vertex, face):
75
+ v01 = vertex[face[:, 1]] - vertex[face[:, 0]]
76
+ v02 = vertex[face[:, 2]] - vertex[face[:, 0]]
77
+ vec = np.cross(v01, v02)
78
+ length = np.sqrt(np.sum(vec ** 2, axis=1, keepdims=True)) + 1.0e-8
79
+ nf = vec / length
80
+ area = length * 0.5
81
+ return nf, area
82
+
83
+
84
+ def vertex_normal(vertex, face):
85
+ nf, area = face_normal(vertex, face)
86
+ nf = nf * area
87
+
88
+ nv = np.zeros_like(vertex)
89
+ for i in range(face.shape[0]):
90
+ nv[face[i]] += nf[i]
91
+
92
+ length = np.sqrt(np.sum(nv ** 2, axis=1, keepdims=True)) + 1.0e-8
93
+ nv = nv / length
94
+ return nv
95
+
96
+
97
+ def handle_process(scene_path, output_path, labels_pd, train_scenes, val_scenes, parse_normals=True):
98
+ scene_id = os.path.basename(scene_path)
99
+ mesh_path = os.path.join(scene_path, f'{scene_id}{CLOUD_FILE_PFIX}.ply')
100
+ segments_file = os.path.join(scene_path, f'{scene_id}{CLOUD_FILE_PFIX}{SEGMENTS_FILE_PFIX}')
101
+ aggregations_file = os.path.join(scene_path, f'{scene_id}{AGGREGATIONS_FILE_PFIX}')
102
+ info_file = os.path.join(scene_path, f'{scene_id}.txt')
103
+
104
+ if scene_id in train_scenes:
105
+ output_file = os.path.join(output_path, 'train', f'{scene_id}.pth')
106
+ split_name = 'train'
107
+ elif scene_id in val_scenes:
108
+ output_file = os.path.join(output_path, 'val', f'{scene_id}.pth')
109
+ split_name = 'val'
110
+ else:
111
+ output_file = os.path.join(output_path, 'test', f'{scene_id}.pth')
112
+ split_name = 'test'
113
+
114
+ print(f'Processing: {scene_id} in {split_name}')
115
+
116
+ vertices, faces = read_plymesh(mesh_path)
117
+ coords = vertices[:, :3]
118
+ colors = vertices[:, 3:6]
119
+ save_dict = dict(coord=coords, color=colors, scene_id=scene_id)
120
+
121
+ # # Rotating the mesh to axis aligned
122
+ # info_dict = {}
123
+ # with open(info_file) as f:
124
+ # for line in f:
125
+ # (key, val) = line.split(" = ")
126
+ # info_dict[key] = np.fromstring(val, sep=' ')
127
+ #
128
+ # if 'axisAlignment' not in info_dict:
129
+ # rot_matrix = np.identity(4)
130
+ # else:
131
+ # rot_matrix = info_dict['axisAlignment'].reshape(4, 4)
132
+ # r_coords = coords.transpose()
133
+ # r_coords = np.append(r_coords, np.ones((1, r_coords.shape[1])), axis=0)
134
+ # r_coords = np.dot(rot_matrix, r_coords)
135
+ # coords = r_coords
136
+
137
+ # Parse Normals
138
+ if parse_normals:
139
+ save_dict["normal"] = vertex_normal(coords, faces)
140
+
141
+ # Load segments file
142
+ if split_name != "test":
143
+ with open(segments_file) as f:
144
+ segments = json.load(f)
145
+ seg_indices = np.array(segments['segIndices'])
146
+
147
+ # Load Aggregations file
148
+ with open(aggregations_file) as f:
149
+ aggregation = json.load(f)
150
+ seg_groups = np.array(aggregation['segGroups'])
151
+
152
+ # Generate new labels
153
+ semantic_gt20 = np.ones((vertices.shape[0])) * IGNORE_INDEX
154
+ semantic_gt200 = np.ones((vertices.shape[0])) * IGNORE_INDEX
155
+ instance_ids = np.ones((vertices.shape[0])) * IGNORE_INDEX
156
+ for group in seg_groups:
157
+ point_idx, label_id20, label_id200 = \
158
+ point_indices_from_group(seg_indices, group, labels_pd)
159
+
160
+ semantic_gt20[point_idx] = label_id20
161
+ semantic_gt200[point_idx] = label_id200
162
+ instance_ids[point_idx] = group['id']
163
+
164
+ semantic_gt20 = semantic_gt20.astype(int)
165
+ semantic_gt200 = semantic_gt200.astype(int)
166
+ instance_ids = instance_ids.astype(int)
167
+
168
+ save_dict["semantic_gt20"] = semantic_gt20
169
+ save_dict["semantic_gt200"] = semantic_gt200
170
+ save_dict["instance_gt"] = instance_ids
171
+
172
+ # Concatenate with original cloud
173
+ processed_vertices = np.hstack((semantic_gt200, instance_ids))
174
+
175
+ if np.any(np.isnan(processed_vertices)) or not np.all(np.isfinite(processed_vertices)):
176
+ raise ValueError(f'Find NaN in Scene: {scene_id}')
177
+
178
+ # Save processed data
179
+ torch.save(save_dict, output_file)
180
+
181
+
182
+ if __name__ == '__main__':
183
+ parser = argparse.ArgumentParser()
184
+ parser.add_argument('--dataset_root', required=True, help='Path to the ScanNet dataset containing scene folders')
185
+ parser.add_argument('--output_root', required=True, help='Output path where train/val folders will be located')
186
+ parser.add_argument('--parse_normals', default=True, type=bool, help='Whether parse point normals')
187
+ config = parser.parse_args()
188
+
189
+ # Load label map
190
+ labels_pd = pd.read_csv('scannet-preprocess/meta_data/scannetv2-labels.combined.tsv',
191
+ sep='\t', header=0)
192
+
193
+ # Load train/val splits
194
+ with open('scannet-preprocess/meta_data/scannetv2_train.txt') as train_file:
195
+ train_scenes = train_file.read().splitlines()
196
+ with open('scannet-preprocess/meta_data/scannetv2_val.txt') as val_file:
197
+ val_scenes = val_file.read().splitlines()
198
+
199
+ # Create output directories
200
+ train_output_dir = os.path.join(config.output_root, 'train')
201
+ os.makedirs(train_output_dir, exist_ok=True)
202
+ val_output_dir = os.path.join(config.output_root, 'val')
203
+ os.makedirs(val_output_dir, exist_ok=True)
204
+ test_output_dir = os.path.join(config.output_root, 'test')
205
+ os.makedirs(test_output_dir, exist_ok=True)
206
+
207
+ # Load scene paths
208
+ scene_paths = sorted(glob.glob(config.dataset_root + '/scans*/scene*'))
209
+
210
+ # Preprocess data.
211
+ print('Processing scenes...')
212
+ pool = ProcessPoolExecutor(max_workers=mp.cpu_count())
213
+ # pool = ProcessPoolExecutor(max_workers=1)
214
+ _ = list(pool.map(handle_process, scene_paths, repeat(config.output_root), repeat(labels_pd), repeat(train_scenes),
215
+ repeat(val_scenes), repeat(config.parse_normals)))
datasets/scannet_preprocess/scannet_pair/SensorData.py ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os, struct
2
+ import numpy as np
3
+ import zlib
4
+ import imageio
5
+ import cv2
6
+
7
+ COMPRESSION_TYPE_COLOR = {-1: 'unknown', 0: 'raw', 1: 'png', 2: 'jpeg'}
8
+ COMPRESSION_TYPE_DEPTH = {-1: 'unknown', 0: 'raw_ushort', 1: 'zlib_ushort', 2: 'occi_ushort'}
9
+
10
+
11
+ class RGBDFrame():
12
+
13
+ def load(self, file_handle):
14
+ self.camera_to_world = np.asarray(struct.unpack('f' * 16, file_handle.read(16 * 4)), dtype=np.float32).reshape(
15
+ 4, 4)
16
+ self.timestamp_color = struct.unpack('Q', file_handle.read(8))[0]
17
+ self.timestamp_depth = struct.unpack('Q', file_handle.read(8))[0]
18
+ self.color_size_bytes = struct.unpack('Q', file_handle.read(8))[0]
19
+ self.depth_size_bytes = struct.unpack('Q', file_handle.read(8))[0]
20
+ self.color_data = b''.join(struct.unpack('c' * self.color_size_bytes, file_handle.read(self.color_size_bytes)))
21
+ self.depth_data = b''.join(struct.unpack('c' * self.depth_size_bytes, file_handle.read(self.depth_size_bytes)))
22
+
23
+ def decompress_depth(self, compression_type):
24
+ if compression_type == 'zlib_ushort':
25
+ return self.decompress_depth_zlib()
26
+ else:
27
+ raise
28
+
29
+ def decompress_depth_zlib(self):
30
+ return zlib.decompress(self.depth_data)
31
+
32
+ def decompress_color(self, compression_type):
33
+ if compression_type == 'jpeg':
34
+ return self.decompress_color_jpeg()
35
+ else:
36
+ raise
37
+
38
+ def decompress_color_jpeg(self):
39
+ return imageio.imread(self.color_data)
40
+
41
+
42
+ class SensorData:
43
+ def __init__(self, filename):
44
+ self.version = 4
45
+ self.load(filename)
46
+
47
+ def load(self, filename):
48
+ with open(filename, 'rb') as f:
49
+ version = struct.unpack('I', f.read(4))[0]
50
+ assert self.version == version
51
+ strlen = struct.unpack('Q', f.read(8))[0]
52
+ self.sensor_name = b''.join(struct.unpack('c' * strlen, f.read(strlen)))
53
+ self.intrinsic_color = np.asarray(struct.unpack('f' * 16, f.read(16 * 4)), dtype=np.float32).reshape(4, 4)
54
+ self.extrinsic_color = np.asarray(struct.unpack('f' * 16, f.read(16 * 4)), dtype=np.float32).reshape(4, 4)
55
+ self.intrinsic_depth = np.asarray(struct.unpack('f' * 16, f.read(16 * 4)), dtype=np.float32).reshape(4, 4)
56
+ self.extrinsic_depth = np.asarray(struct.unpack('f' * 16, f.read(16 * 4)), dtype=np.float32).reshape(4, 4)
57
+ self.color_compression_type = COMPRESSION_TYPE_COLOR[struct.unpack('i', f.read(4))[0]]
58
+ self.depth_compression_type = COMPRESSION_TYPE_DEPTH[struct.unpack('i', f.read(4))[0]]
59
+ self.color_width = struct.unpack('I', f.read(4))[0]
60
+ self.color_height = struct.unpack('I', f.read(4))[0]
61
+ self.depth_width = struct.unpack('I', f.read(4))[0]
62
+ self.depth_height = struct.unpack('I', f.read(4))[0]
63
+ self.depth_shift = struct.unpack('f', f.read(4))[0]
64
+ num_frames = struct.unpack('Q', f.read(8))[0]
65
+ self.frames = []
66
+ for i in range(num_frames):
67
+ frame = RGBDFrame()
68
+ frame.load(f)
69
+ self.frames.append(frame)
70
+
71
+ def export_depth_images(self, output_path, image_size=None, frame_skip=1):
72
+ if not os.path.exists(output_path):
73
+ os.makedirs(output_path)
74
+ print('exporting', len(self.frames) // frame_skip, ' depth frames to', output_path)
75
+ for f in range(0, len(self.frames), frame_skip):
76
+ if os.path.exists((os.path.join(output_path, str(f) + '.png'))):
77
+ continue
78
+ if f % 100 == 0:
79
+ print('exporting', f, 'th depth frames to', os.path.join(output_path, str(f) + '.png'))
80
+
81
+ depth_data = self.frames[f].decompress_depth(self.depth_compression_type)
82
+ depth = np.fromstring(depth_data, dtype=np.uint16).reshape(self.depth_height, self.depth_width)
83
+ if image_size is not None:
84
+ depth = cv2.resize(depth, (image_size[1], image_size[0]), interpolation=cv2.INTER_NEAREST)
85
+ imageio.imwrite(os.path.join(output_path, str(f) + '.png'), depth)
86
+
87
+ def export_color_images(self, output_path, image_size=None, frame_skip=1):
88
+ if not os.path.exists(output_path):
89
+ os.makedirs(output_path)
90
+ print('exporting', len(self.frames) // frame_skip, 'color frames to', output_path)
91
+ for f in range(0, len(self.frames), frame_skip):
92
+ if os.path.exists((os.path.join(output_path, str(f) + '.png'))):
93
+ continue
94
+ if f % 100 == 0:
95
+ print('exporting', f, 'th color frames to', os.path.join(output_path, str(f) + '.png'))
96
+ color = self.frames[f].decompress_color(self.color_compression_type)
97
+ if image_size is not None:
98
+ color = cv2.resize(color, (image_size[1], image_size[0]), interpolation=cv2.INTER_NEAREST)
99
+ # imageio.imwrite(os.path.join(output_path, str(f) + '.jpg'), color)
100
+ imageio.imwrite(os.path.join(output_path, str(f) + '.png'), color)
101
+
102
+ def save_mat_to_file(self, matrix, filename):
103
+ with open(filename, 'w') as f:
104
+ for line in matrix:
105
+ np.savetxt(f, line[np.newaxis], fmt='%f')
106
+
107
+ def export_poses(self, output_path, frame_skip=1):
108
+ if not os.path.exists(output_path):
109
+ os.makedirs(output_path)
110
+ print('exporting', len(self.frames) // frame_skip, 'camera poses to', output_path)
111
+ for f in range(0, len(self.frames), frame_skip):
112
+ self.save_mat_to_file(self.frames[f].camera_to_world, os.path.join(output_path, str(f) + '.txt'))
113
+
114
+ def export_intrinsics(self, output_path):
115
+ if not os.path.exists(output_path):
116
+ os.makedirs(output_path)
117
+ print('exporting camera intrinsics to', output_path)
118
+ self.save_mat_to_file(self.intrinsic_color, os.path.join(output_path, 'intrinsic_color.txt'))
119
+ self.save_mat_to_file(self.extrinsic_color, os.path.join(output_path, 'extrinsic_color.txt'))
120
+ self.save_mat_to_file(self.intrinsic_depth, os.path.join(output_path, 'intrinsic_depth.txt'))
121
+ self.save_mat_to_file(self.extrinsic_depth, os.path.join(output_path, 'extrinsic_depth.txt'))
datasets/scannet_preprocess/scannet_pair/compute_full_overlapping.py ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Facebook, Inc. and its affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ import copy
7
+ import torch
8
+ import numpy as np
9
+ import math
10
+ import glob, os
11
+ import argparse
12
+ import open3d as o3d
13
+
14
+
15
+ def make_open3d_point_cloud(xyz, color=None, voxel_size=None):
16
+ if np.isnan(xyz).any():
17
+ return None
18
+
19
+ xyz = xyz[:,:3]
20
+ pcd = o3d.geometry.PointCloud()
21
+ pcd.points = o3d.utility.Vector3dVector(xyz)
22
+ if color is not None:
23
+ pcd.colors = o3d.utility.Vector3dVector(color)
24
+ if voxel_size is not None:
25
+ pcd = pcd.voxel_down_sample(voxel_size)
26
+
27
+ return pcd
28
+
29
+
30
+ def compute_overlap_ratio(pcd0, pcd1, voxel_size):
31
+ pcd0_down = pcd0.voxel_down_sample(voxel_size)
32
+ pcd1_down = pcd1.voxel_down_sample(voxel_size)
33
+ matching01 = get_matching_indices(pcd0_down, pcd1_down, voxel_size * 1.5, 1)
34
+ matching10 = get_matching_indices(pcd1_down, pcd0_down, voxel_size * 1.5, 1)
35
+ overlap0 = float(len(matching01)) / float(len(pcd0_down.points))
36
+ overlap1 = float(len(matching10)) / float(len(pcd1_down.points))
37
+ return max(overlap0, overlap1)
38
+
39
+
40
+ def get_matching_indices(source, pcd_tree, search_voxel_size, K=None):
41
+ match_inds = []
42
+ for i, point in enumerate(source.points):
43
+ [_, idx, _] = pcd_tree.search_radius_vector_3d(point, search_voxel_size)
44
+ if K is not None:
45
+ idx = idx[:K]
46
+ for j in idx:
47
+ match_inds.append((i, j))
48
+ return match_inds
49
+
50
+
51
+ def compute_full_overlapping(data_root, scene_id, voxel_size=0.05):
52
+ _points = [
53
+ (pcd_name, make_open3d_point_cloud(torch.load(pcd_name)['coord'], voxel_size=voxel_size))
54
+ for pcd_name in glob.glob(os.path.join(data_root, scene_id, "pcd", "*.pth"))
55
+ ]
56
+ points = [(pcd_name, pcd) for (pcd_name, pcd) in _points if pcd is not None]
57
+ print('load {} point clouds ({} invalid has been filtered), computing matching/overlapping'.format(
58
+ len(points), len(_points) - len(points)))
59
+
60
+ matching_matrix = np.zeros((len(points), len(points)))
61
+ for i, (pcd0_name, pcd0) in enumerate(points):
62
+ print('matching to...{}'.format(pcd0_name))
63
+ pcd0_tree = o3d.geometry.KDTreeFlann(copy.deepcopy(pcd0))
64
+ for j, (pcd1_name, pcd1) in enumerate(points):
65
+ if i == j:
66
+ continue
67
+ matching_matrix[i, j] = float(len(get_matching_indices(pcd1, pcd0_tree, 1.5 * voxel_size, 1))) / float(
68
+ len(pcd1.points))
69
+
70
+ # write to file
71
+ with open(os.path.join(data_root, scene_id, "pcd", "overlap.txt"), 'w') as f:
72
+ for i, (pcd0_name, pcd0) in enumerate(points):
73
+ for j, (pcd1_name, pcd1) in enumerate(points):
74
+ if i < j:
75
+ overlap = max(matching_matrix[i, j], matching_matrix[j, i])
76
+ f.write("{} {} {}\n".format(
77
+ pcd0_name.replace(data_root, ""), pcd1_name.replace(data_root, ""), overlap
78
+ ))
79
+
80
+
datasets/scannet_preprocess/scannet_pair/generage_list.py ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Facebook, Inc. and its affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+
7
+ import argparse
8
+ import glob, os, sys
9
+
10
+ from SensorData import SensorData
11
+
12
+ # params
13
+ parser = argparse.ArgumentParser()
14
+ # data paths
15
+ parser.add_argument('--target_dir', required=True, help='path to the target dir')
16
+
17
+ opt = parser.parse_args()
18
+ print(opt)
19
+
20
+ def main():
21
+ overlaps = glob.glob(os.path.join(opt.target_dir, "*/pcd/overlap.txt"))
22
+ with open(os.path.join(opt.target_dir, 'overlap30.txt'), 'w') as f:
23
+ for fo in overlaps:
24
+ for line in open(fo):
25
+ pcd0, pcd1, op = line.strip().split()
26
+ if float(op) >= 0.3:
27
+ print('{} {} {}'.format(pcd0, pcd1, op), file=f)
28
+ print('done')
29
+
30
+ if __name__ == '__main__':
31
+ main()
datasets/scannet_preprocess/scannet_pair/plyfile.py ADDED
@@ -0,0 +1,916 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2014 Darsh Ranjan
2
+ #
3
+ # This file is part of python-plyfile.
4
+ #
5
+ # python-plyfile is free software: you can redistribute it and/or
6
+ # modify it under the terms of the GNU General Public License as
7
+ # published by the Free Software Foundation, either version 3 of the
8
+ # License, or (at your option) any later version.
9
+ #
10
+ # python-plyfile is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with python-plyfile. If not, see
17
+ # <http://www.gnu.org/licenses/>.
18
+
19
+ from itertools import islice as _islice
20
+
21
+ import numpy as _np
22
+ from sys import byteorder as _byteorder
23
+
24
+
25
+ try:
26
+ _range = xrange
27
+ except NameError:
28
+ _range = range
29
+
30
+
31
+ # Many-many relation
32
+ _data_type_relation = [
33
+ ('int8', 'i1'),
34
+ ('char', 'i1'),
35
+ ('uint8', 'u1'),
36
+ ('uchar', 'b1'),
37
+ ('uchar', 'u1'),
38
+ ('int16', 'i2'),
39
+ ('short', 'i2'),
40
+ ('uint16', 'u2'),
41
+ ('ushort', 'u2'),
42
+ ('int32', 'i4'),
43
+ ('int', 'i4'),
44
+ ('uint32', 'u4'),
45
+ ('uint', 'u4'),
46
+ ('float32', 'f4'),
47
+ ('float', 'f4'),
48
+ ('float64', 'f8'),
49
+ ('double', 'f8')
50
+ ]
51
+
52
+ _data_types = dict(_data_type_relation)
53
+ _data_type_reverse = dict((b, a) for (a, b) in _data_type_relation)
54
+
55
+ _types_list = []
56
+ _types_set = set()
57
+ for (_a, _b) in _data_type_relation:
58
+ if _a not in _types_set:
59
+ _types_list.append(_a)
60
+ _types_set.add(_a)
61
+ if _b not in _types_set:
62
+ _types_list.append(_b)
63
+ _types_set.add(_b)
64
+
65
+
66
+ _byte_order_map = {
67
+ 'ascii': '=',
68
+ 'binary_little_endian': '<',
69
+ 'binary_big_endian': '>'
70
+ }
71
+
72
+ _byte_order_reverse = {
73
+ '<': 'binary_little_endian',
74
+ '>': 'binary_big_endian'
75
+ }
76
+
77
+ _native_byte_order = {'little': '<', 'big': '>'}[_byteorder]
78
+
79
+
80
+ def _lookup_type(type_str):
81
+ if type_str not in _data_type_reverse:
82
+ try:
83
+ type_str = _data_types[type_str]
84
+ except KeyError:
85
+ raise ValueError("field type %r not in %r" %
86
+ (type_str, _types_list))
87
+
88
+ return _data_type_reverse[type_str]
89
+
90
+
91
+ def _split_line(line, n):
92
+ fields = line.split(None, n)
93
+ if len(fields) == n:
94
+ fields.append('')
95
+
96
+ assert len(fields) == n + 1
97
+
98
+ return fields
99
+
100
+
101
+ def make2d(array, cols=None, dtype=None):
102
+ '''
103
+ Make a 2D array from an array of arrays. The `cols' and `dtype'
104
+ arguments can be omitted if the array is not empty.
105
+
106
+ '''
107
+ if (cols is None or dtype is None) and not len(array):
108
+ raise RuntimeError("cols and dtype must be specified for empty "
109
+ "array")
110
+
111
+ if cols is None:
112
+ cols = len(array[0])
113
+
114
+ if dtype is None:
115
+ dtype = array[0].dtype
116
+
117
+ return _np.fromiter(array, [('_', dtype, (cols,))],
118
+ count=len(array))['_']
119
+
120
+
121
+ class PlyParseError(Exception):
122
+
123
+ '''
124
+ Raised when a PLY file cannot be parsed.
125
+
126
+ The attributes `element', `row', `property', and `message' give
127
+ additional information.
128
+
129
+ '''
130
+
131
+ def __init__(self, message, element=None, row=None, prop=None):
132
+ self.message = message
133
+ self.element = element
134
+ self.row = row
135
+ self.prop = prop
136
+
137
+ s = ''
138
+ if self.element:
139
+ s += 'element %r: ' % self.element.name
140
+ if self.row is not None:
141
+ s += 'row %d: ' % self.row
142
+ if self.prop:
143
+ s += 'property %r: ' % self.prop.name
144
+ s += self.message
145
+
146
+ Exception.__init__(self, s)
147
+
148
+ def __repr__(self):
149
+ return ('PlyParseError(%r, element=%r, row=%r, prop=%r)' %
150
+ self.message, self.element, self.row, self.prop)
151
+
152
+
153
+ class PlyData(object):
154
+
155
+ '''
156
+ PLY file header and data.
157
+
158
+ A PlyData instance is created in one of two ways: by the static
159
+ method PlyData.read (to read a PLY file), or directly from __init__
160
+ given a sequence of elements (which can then be written to a PLY
161
+ file).
162
+
163
+ '''
164
+
165
+ def __init__(self, elements=[], text=False, byte_order='=',
166
+ comments=[], obj_info=[]):
167
+ '''
168
+ elements: sequence of PlyElement instances.
169
+
170
+ text: whether the resulting PLY file will be text (True) or
171
+ binary (False).
172
+
173
+ byte_order: '<' for little-endian, '>' for big-endian, or '='
174
+ for native. This is only relevant if `text' is False.
175
+
176
+ comments: sequence of strings that will be placed in the header
177
+ between the 'ply' and 'format ...' lines.
178
+
179
+ obj_info: like comments, but will be placed in the header with
180
+ "obj_info ..." instead of "comment ...".
181
+
182
+ '''
183
+ if byte_order == '=' and not text:
184
+ byte_order = _native_byte_order
185
+
186
+ self.byte_order = byte_order
187
+ self.text = text
188
+
189
+ self.comments = list(comments)
190
+ self.obj_info = list(obj_info)
191
+ self.elements = elements
192
+
193
+ def _get_elements(self):
194
+ return self._elements
195
+
196
+ def _set_elements(self, elements):
197
+ self._elements = tuple(elements)
198
+ self._index()
199
+
200
+ elements = property(_get_elements, _set_elements)
201
+
202
+ def _get_byte_order(self):
203
+ return self._byte_order
204
+
205
+ def _set_byte_order(self, byte_order):
206
+ if byte_order not in ['<', '>', '=']:
207
+ raise ValueError("byte order must be '<', '>', or '='")
208
+
209
+ self._byte_order = byte_order
210
+
211
+ byte_order = property(_get_byte_order, _set_byte_order)
212
+
213
+ def _index(self):
214
+ self._element_lookup = dict((elt.name, elt) for elt in
215
+ self._elements)
216
+ if len(self._element_lookup) != len(self._elements):
217
+ raise ValueError("two elements with same name")
218
+
219
+ @staticmethod
220
+ def _parse_header(stream):
221
+ '''
222
+ Parse a PLY header from a readable file-like stream.
223
+
224
+ '''
225
+ lines = []
226
+ comments = {'comment': [], 'obj_info': []}
227
+ while True:
228
+ line = stream.readline().decode('ascii').strip()
229
+ fields = _split_line(line, 1)
230
+
231
+ if fields[0] == 'end_header':
232
+ break
233
+
234
+ elif fields[0] in comments.keys():
235
+ lines.append(fields)
236
+ else:
237
+ lines.append(line.split())
238
+
239
+ a = 0
240
+ if lines[a] != ['ply']:
241
+ raise PlyParseError("expected 'ply'")
242
+
243
+ a += 1
244
+ while lines[a][0] in comments.keys():
245
+ comments[lines[a][0]].append(lines[a][1])
246
+ a += 1
247
+
248
+ if lines[a][0] != 'format':
249
+ raise PlyParseError("expected 'format'")
250
+
251
+ if lines[a][2] != '1.0':
252
+ raise PlyParseError("expected version '1.0'")
253
+
254
+ if len(lines[a]) != 3:
255
+ raise PlyParseError("too many fields after 'format'")
256
+
257
+ fmt = lines[a][1]
258
+
259
+ if fmt not in _byte_order_map:
260
+ raise PlyParseError("don't understand format %r" % fmt)
261
+
262
+ byte_order = _byte_order_map[fmt]
263
+ text = fmt == 'ascii'
264
+
265
+ a += 1
266
+ while a < len(lines) and lines[a][0] in comments.keys():
267
+ comments[lines[a][0]].append(lines[a][1])
268
+ a += 1
269
+
270
+ return PlyData(PlyElement._parse_multi(lines[a:]),
271
+ text, byte_order,
272
+ comments['comment'], comments['obj_info'])
273
+
274
+ @staticmethod
275
+ def read(stream):
276
+ '''
277
+ Read PLY data from a readable file-like object or filename.
278
+
279
+ '''
280
+ (must_close, stream) = _open_stream(stream, 'read')
281
+ try:
282
+ data = PlyData._parse_header(stream)
283
+ for elt in data:
284
+ elt._read(stream, data.text, data.byte_order)
285
+ finally:
286
+ if must_close:
287
+ stream.close()
288
+
289
+ return data
290
+
291
+ def write(self, stream):
292
+ '''
293
+ Write PLY data to a writeable file-like object or filename.
294
+
295
+ '''
296
+ (must_close, stream) = _open_stream(stream, 'write')
297
+ try:
298
+ stream.write(self.header.encode('ascii'))
299
+ stream.write(b'\r\n')
300
+ for elt in self:
301
+ elt._write(stream, self.text, self.byte_order)
302
+ finally:
303
+ if must_close:
304
+ stream.close()
305
+
306
+ @property
307
+ def header(self):
308
+ '''
309
+ Provide PLY-formatted metadata for the instance.
310
+
311
+ '''
312
+ lines = ['ply']
313
+
314
+ if self.text:
315
+ lines.append('format ascii 1.0')
316
+ else:
317
+ lines.append('format ' +
318
+ _byte_order_reverse[self.byte_order] +
319
+ ' 1.0')
320
+
321
+ # Some information is lost here, since all comments are placed
322
+ # between the 'format' line and the first element.
323
+ for c in self.comments:
324
+ lines.append('comment ' + c)
325
+
326
+ for c in self.obj_info:
327
+ lines.append('obj_info ' + c)
328
+
329
+ lines.extend(elt.header for elt in self.elements)
330
+ lines.append('end_header')
331
+ return '\r\n'.join(lines)
332
+
333
+ def __iter__(self):
334
+ return iter(self.elements)
335
+
336
+ def __len__(self):
337
+ return len(self.elements)
338
+
339
+ def __contains__(self, name):
340
+ return name in self._element_lookup
341
+
342
+ def __getitem__(self, name):
343
+ return self._element_lookup[name]
344
+
345
+ def __str__(self):
346
+ return self.header
347
+
348
+ def __repr__(self):
349
+ return ('PlyData(%r, text=%r, byte_order=%r, '
350
+ 'comments=%r, obj_info=%r)' %
351
+ (self.elements, self.text, self.byte_order,
352
+ self.comments, self.obj_info))
353
+
354
+
355
+ def _open_stream(stream, read_or_write):
356
+ if hasattr(stream, read_or_write):
357
+ return (False, stream)
358
+ try:
359
+ return (True, open(stream, read_or_write[0] + 'b'))
360
+ except TypeError:
361
+ raise RuntimeError("expected open file or filename")
362
+
363
+
364
+ class PlyElement(object):
365
+
366
+ '''
367
+ PLY file element.
368
+
369
+ A client of this library doesn't normally need to instantiate this
370
+ directly, so the following is only for the sake of documenting the
371
+ internals.
372
+
373
+ Creating a PlyElement instance is generally done in one of two ways:
374
+ as a byproduct of PlyData.read (when reading a PLY file) and by
375
+ PlyElement.describe (before writing a PLY file).
376
+
377
+ '''
378
+
379
+ def __init__(self, name, properties, count, comments=[]):
380
+ '''
381
+ This is not part of the public interface. The preferred methods
382
+ of obtaining PlyElement instances are PlyData.read (to read from
383
+ a file) and PlyElement.describe (to construct from a numpy
384
+ array).
385
+
386
+ '''
387
+ self._name = str(name)
388
+ self._check_name()
389
+ self._count = count
390
+
391
+ self._properties = tuple(properties)
392
+ self._index()
393
+
394
+ self.comments = list(comments)
395
+
396
+ self._have_list = any(isinstance(p, PlyListProperty)
397
+ for p in self.properties)
398
+
399
+ @property
400
+ def count(self):
401
+ return self._count
402
+
403
+ def _get_data(self):
404
+ return self._data
405
+
406
+ def _set_data(self, data):
407
+ self._data = data
408
+ self._count = len(data)
409
+ self._check_sanity()
410
+
411
+ data = property(_get_data, _set_data)
412
+
413
+ def _check_sanity(self):
414
+ for prop in self.properties:
415
+ if prop.name not in self._data.dtype.fields:
416
+ raise ValueError("dangling property %r" % prop.name)
417
+
418
+ def _get_properties(self):
419
+ return self._properties
420
+
421
+ def _set_properties(self, properties):
422
+ self._properties = tuple(properties)
423
+ self._check_sanity()
424
+ self._index()
425
+
426
+ properties = property(_get_properties, _set_properties)
427
+
428
+ def _index(self):
429
+ self._property_lookup = dict((prop.name, prop)
430
+ for prop in self._properties)
431
+ if len(self._property_lookup) != len(self._properties):
432
+ raise ValueError("two properties with same name")
433
+
434
+ def ply_property(self, name):
435
+ return self._property_lookup[name]
436
+
437
+ @property
438
+ def name(self):
439
+ return self._name
440
+
441
+ def _check_name(self):
442
+ if any(c.isspace() for c in self._name):
443
+ msg = "element name %r contains spaces" % self._name
444
+ raise ValueError(msg)
445
+
446
+ def dtype(self, byte_order='='):
447
+ '''
448
+ Return the numpy dtype of the in-memory representation of the
449
+ data. (If there are no list properties, and the PLY format is
450
+ binary, then this also accurately describes the on-disk
451
+ representation of the element.)
452
+
453
+ '''
454
+ return [(prop.name, prop.dtype(byte_order))
455
+ for prop in self.properties]
456
+
457
+ @staticmethod
458
+ def _parse_multi(header_lines):
459
+ '''
460
+ Parse a list of PLY element definitions.
461
+
462
+ '''
463
+ elements = []
464
+ while header_lines:
465
+ (elt, header_lines) = PlyElement._parse_one(header_lines)
466
+ elements.append(elt)
467
+
468
+ return elements
469
+
470
+ @staticmethod
471
+ def _parse_one(lines):
472
+ '''
473
+ Consume one element definition. The unconsumed input is
474
+ returned along with a PlyElement instance.
475
+
476
+ '''
477
+ a = 0
478
+ line = lines[a]
479
+
480
+ if line[0] != 'element':
481
+ raise PlyParseError("expected 'element'")
482
+ if len(line) > 3:
483
+ raise PlyParseError("too many fields after 'element'")
484
+ if len(line) < 3:
485
+ raise PlyParseError("too few fields after 'element'")
486
+
487
+ (name, count) = (line[1], int(line[2]))
488
+
489
+ comments = []
490
+ properties = []
491
+ while True:
492
+ a += 1
493
+ if a >= len(lines):
494
+ break
495
+
496
+ if lines[a][0] == 'comment':
497
+ comments.append(lines[a][1])
498
+ elif lines[a][0] == 'property':
499
+ properties.append(PlyProperty._parse_one(lines[a]))
500
+ else:
501
+ break
502
+
503
+ return (PlyElement(name, properties, count, comments),
504
+ lines[a:])
505
+
506
+ @staticmethod
507
+ def describe(data, name, len_types={}, val_types={},
508
+ comments=[]):
509
+ '''
510
+ Construct a PlyElement from an array's metadata.
511
+
512
+ len_types and val_types can be given as mappings from list
513
+ property names to type strings (like 'u1', 'f4', etc., or
514
+ 'int8', 'float32', etc.). These can be used to define the length
515
+ and value types of list properties. List property lengths
516
+ always default to type 'u1' (8-bit unsigned integer), and value
517
+ types default to 'i4' (32-bit integer).
518
+
519
+ '''
520
+ if not isinstance(data, _np.ndarray):
521
+ raise TypeError("only numpy arrays are supported")
522
+
523
+ if len(data.shape) != 1:
524
+ raise ValueError("only one-dimensional arrays are "
525
+ "supported")
526
+
527
+ count = len(data)
528
+
529
+ properties = []
530
+ descr = data.dtype.descr
531
+
532
+ for t in descr:
533
+ if not isinstance(t[1], str):
534
+ raise ValueError("nested records not supported")
535
+
536
+ if not t[0]:
537
+ raise ValueError("field with empty name")
538
+
539
+ if len(t) != 2 or t[1][1] == 'O':
540
+ # non-scalar field, which corresponds to a list
541
+ # property in PLY.
542
+
543
+ if t[1][1] == 'O':
544
+ if len(t) != 2:
545
+ raise ValueError("non-scalar object fields not "
546
+ "supported")
547
+
548
+ len_str = _data_type_reverse[len_types.get(t[0], 'u1')]
549
+ if t[1][1] == 'O':
550
+ val_type = val_types.get(t[0], 'i4')
551
+ val_str = _lookup_type(val_type)
552
+ else:
553
+ val_str = _lookup_type(t[1][1:])
554
+
555
+ prop = PlyListProperty(t[0], len_str, val_str)
556
+ else:
557
+ val_str = _lookup_type(t[1][1:])
558
+ prop = PlyProperty(t[0], val_str)
559
+
560
+ properties.append(prop)
561
+
562
+ elt = PlyElement(name, properties, count, comments)
563
+ elt.data = data
564
+
565
+ return elt
566
+
567
+ def _read(self, stream, text, byte_order):
568
+ '''
569
+ Read the actual data from a PLY file.
570
+
571
+ '''
572
+ if text:
573
+ self._read_txt(stream)
574
+ else:
575
+ if self._have_list:
576
+ # There are list properties, so a simple load is
577
+ # impossible.
578
+ self._read_bin(stream, byte_order)
579
+ else:
580
+ # There are no list properties, so loading the data is
581
+ # much more straightforward.
582
+ self._data = _np.fromfile(stream,
583
+ self.dtype(byte_order),
584
+ self.count)
585
+
586
+ if len(self._data) < self.count:
587
+ k = len(self._data)
588
+ del self._data
589
+ raise PlyParseError("early end-of-file", self, k)
590
+
591
+ self._check_sanity()
592
+
593
+ def _write(self, stream, text, byte_order):
594
+ '''
595
+ Write the data to a PLY file.
596
+
597
+ '''
598
+ if text:
599
+ self._write_txt(stream)
600
+ else:
601
+ if self._have_list:
602
+ # There are list properties, so serialization is
603
+ # slightly complicated.
604
+ self._write_bin(stream, byte_order)
605
+ else:
606
+ # no list properties, so serialization is
607
+ # straightforward.
608
+ self.data.astype(self.dtype(byte_order),
609
+ copy=False).tofile(stream)
610
+
611
+ def _read_txt(self, stream):
612
+ '''
613
+ Load a PLY element from an ASCII-format PLY file. The element
614
+ may contain list properties.
615
+
616
+ '''
617
+ self._data = _np.empty(self.count, dtype=self.dtype())
618
+
619
+ k = 0
620
+ for line in _islice(iter(stream.readline, b''), self.count):
621
+ fields = iter(line.strip().split())
622
+ for prop in self.properties:
623
+ try:
624
+ self._data[prop.name][k] = prop._from_fields(fields)
625
+ except StopIteration:
626
+ raise PlyParseError("early end-of-line",
627
+ self, k, prop)
628
+ except ValueError:
629
+ raise PlyParseError("malformed input",
630
+ self, k, prop)
631
+ try:
632
+ next(fields)
633
+ except StopIteration:
634
+ pass
635
+ else:
636
+ raise PlyParseError("expected end-of-line", self, k)
637
+ k += 1
638
+
639
+ if k < self.count:
640
+ del self._data
641
+ raise PlyParseError("early end-of-file", self, k)
642
+
643
+ def _write_txt(self, stream):
644
+ '''
645
+ Save a PLY element to an ASCII-format PLY file. The element may
646
+ contain list properties.
647
+
648
+ '''
649
+ for rec in self.data:
650
+ fields = []
651
+ for prop in self.properties:
652
+ fields.extend(prop._to_fields(rec[prop.name]))
653
+
654
+ _np.savetxt(stream, [fields], '%.18g', newline='\r\n')
655
+
656
+ def _read_bin(self, stream, byte_order):
657
+ '''
658
+ Load a PLY element from a binary PLY file. The element may
659
+ contain list properties.
660
+
661
+ '''
662
+ self._data = _np.empty(self.count, dtype=self.dtype(byte_order))
663
+
664
+ for k in _range(self.count):
665
+ for prop in self.properties:
666
+ try:
667
+ self._data[prop.name][k] = \
668
+ prop._read_bin(stream, byte_order)
669
+ except StopIteration:
670
+ raise PlyParseError("early end-of-file",
671
+ self, k, prop)
672
+
673
+ def _write_bin(self, stream, byte_order):
674
+ '''
675
+ Save a PLY element to a binary PLY file. The element may
676
+ contain list properties.
677
+
678
+ '''
679
+ for rec in self.data:
680
+ for prop in self.properties:
681
+ prop._write_bin(rec[prop.name], stream, byte_order)
682
+
683
+ @property
684
+ def header(self):
685
+ '''
686
+ Format this element's metadata as it would appear in a PLY
687
+ header.
688
+
689
+ '''
690
+ lines = ['element %s %d' % (self.name, self.count)]
691
+
692
+ # Some information is lost here, since all comments are placed
693
+ # between the 'element' line and the first property definition.
694
+ for c in self.comments:
695
+ lines.append('comment ' + c)
696
+
697
+ lines.extend(list(map(str, self.properties)))
698
+
699
+ return '\r\n'.join(lines)
700
+
701
+ def __getitem__(self, key):
702
+ return self.data[key]
703
+
704
+ def __setitem__(self, key, value):
705
+ self.data[key] = value
706
+
707
+ def __str__(self):
708
+ return self.header
709
+
710
+ def __repr__(self):
711
+ return ('PlyElement(%r, %r, count=%d, comments=%r)' %
712
+ (self.name, self.properties, self.count,
713
+ self.comments))
714
+
715
+
716
+ class PlyProperty(object):
717
+
718
+ '''
719
+ PLY property description. This class is pure metadata; the data
720
+ itself is contained in PlyElement instances.
721
+
722
+ '''
723
+
724
+ def __init__(self, name, val_dtype):
725
+ self._name = str(name)
726
+ self._check_name()
727
+ self.val_dtype = val_dtype
728
+
729
+ def _get_val_dtype(self):
730
+ return self._val_dtype
731
+
732
+ def _set_val_dtype(self, val_dtype):
733
+ self._val_dtype = _data_types[_lookup_type(val_dtype)]
734
+
735
+ val_dtype = property(_get_val_dtype, _set_val_dtype)
736
+
737
+ @property
738
+ def name(self):
739
+ return self._name
740
+
741
+ def _check_name(self):
742
+ if any(c.isspace() for c in self._name):
743
+ msg = "Error: property name %r contains spaces" % self._name
744
+ raise RuntimeError(msg)
745
+
746
+ @staticmethod
747
+ def _parse_one(line):
748
+ assert line[0] == 'property'
749
+
750
+ if line[1] == 'list':
751
+ if len(line) > 5:
752
+ raise PlyParseError("too many fields after "
753
+ "'property list'")
754
+ if len(line) < 5:
755
+ raise PlyParseError("too few fields after "
756
+ "'property list'")
757
+
758
+ return PlyListProperty(line[4], line[2], line[3])
759
+
760
+ else:
761
+ if len(line) > 3:
762
+ raise PlyParseError("too many fields after "
763
+ "'property'")
764
+ if len(line) < 3:
765
+ raise PlyParseError("too few fields after "
766
+ "'property'")
767
+
768
+ return PlyProperty(line[2], line[1])
769
+
770
+ def dtype(self, byte_order='='):
771
+ '''
772
+ Return the numpy dtype description for this property (as a tuple
773
+ of strings).
774
+
775
+ '''
776
+ return byte_order + self.val_dtype
777
+
778
+ def _from_fields(self, fields):
779
+ '''
780
+ Parse from generator. Raise StopIteration if the property could
781
+ not be read.
782
+
783
+ '''
784
+ return _np.dtype(self.dtype()).type(next(fields))
785
+
786
+ def _to_fields(self, data):
787
+ '''
788
+ Return generator over one item.
789
+
790
+ '''
791
+ yield _np.dtype(self.dtype()).type(data)
792
+
793
+ def _read_bin(self, stream, byte_order):
794
+ '''
795
+ Read data from a binary stream. Raise StopIteration if the
796
+ property could not be read.
797
+
798
+ '''
799
+ try:
800
+ return _np.fromfile(stream, self.dtype(byte_order), 1)[0]
801
+ except IndexError:
802
+ raise StopIteration
803
+
804
+ def _write_bin(self, data, stream, byte_order):
805
+ '''
806
+ Write data to a binary stream.
807
+
808
+ '''
809
+ _np.dtype(self.dtype(byte_order)).type(data).tofile(stream)
810
+
811
+ def __str__(self):
812
+ val_str = _data_type_reverse[self.val_dtype]
813
+ return 'property %s %s' % (val_str, self.name)
814
+
815
+ def __repr__(self):
816
+ return 'PlyProperty(%r, %r)' % (self.name,
817
+ _lookup_type(self.val_dtype))
818
+
819
+
820
+ class PlyListProperty(PlyProperty):
821
+
822
+ '''
823
+ PLY list property description.
824
+
825
+ '''
826
+
827
+ def __init__(self, name, len_dtype, val_dtype):
828
+ PlyProperty.__init__(self, name, val_dtype)
829
+
830
+ self.len_dtype = len_dtype
831
+
832
+ def _get_len_dtype(self):
833
+ return self._len_dtype
834
+
835
+ def _set_len_dtype(self, len_dtype):
836
+ self._len_dtype = _data_types[_lookup_type(len_dtype)]
837
+
838
+ len_dtype = property(_get_len_dtype, _set_len_dtype)
839
+
840
+ def dtype(self, byte_order='='):
841
+ '''
842
+ List properties always have a numpy dtype of "object".
843
+
844
+ '''
845
+ return '|O'
846
+
847
+ def list_dtype(self, byte_order='='):
848
+ '''
849
+ Return the pair (len_dtype, val_dtype) (both numpy-friendly
850
+ strings).
851
+
852
+ '''
853
+ return (byte_order + self.len_dtype,
854
+ byte_order + self.val_dtype)
855
+
856
+ def _from_fields(self, fields):
857
+ (len_t, val_t) = self.list_dtype()
858
+
859
+ n = int(_np.dtype(len_t).type(next(fields)))
860
+
861
+ data = _np.loadtxt(list(_islice(fields, n)), val_t, ndmin=1)
862
+ if len(data) < n:
863
+ raise StopIteration
864
+
865
+ return data
866
+
867
+ def _to_fields(self, data):
868
+ '''
869
+ Return generator over the (numerical) PLY representation of the
870
+ list data (length followed by actual data).
871
+
872
+ '''
873
+ (len_t, val_t) = self.list_dtype()
874
+
875
+ data = _np.asarray(data, dtype=val_t).ravel()
876
+
877
+ yield _np.dtype(len_t).type(data.size)
878
+ for x in data:
879
+ yield x
880
+
881
+ def _read_bin(self, stream, byte_order):
882
+ (len_t, val_t) = self.list_dtype(byte_order)
883
+
884
+ try:
885
+ n = _np.fromfile(stream, len_t, 1)[0]
886
+ except IndexError:
887
+ raise StopIteration
888
+
889
+ data = _np.fromfile(stream, val_t, n)
890
+ if len(data) < n:
891
+ raise StopIteration
892
+
893
+ return data
894
+
895
+ def _write_bin(self, data, stream, byte_order):
896
+ '''
897
+ Write data to a binary stream.
898
+
899
+ '''
900
+ (len_t, val_t) = self.list_dtype(byte_order)
901
+
902
+ data = _np.asarray(data, dtype=val_t).ravel()
903
+
904
+ _np.array(data.size, dtype=len_t).tofile(stream)
905
+ data.tofile(stream)
906
+
907
+ def __str__(self):
908
+ len_str = _data_type_reverse[self.len_dtype]
909
+ val_str = _data_type_reverse[self.val_dtype]
910
+ return 'property list %s %s %s' % (len_str, val_str, self.name)
911
+
912
+ def __repr__(self):
913
+ return ('PlyListProperty(%r, %r, %r)' %
914
+ (self.name,
915
+ _lookup_type(self.len_dtype),
916
+ _lookup_type(self.val_dtype)))
datasets/scannet_preprocess/scannet_pair/point_cloud_extractor.py ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Facebook, Inc. and its affiliates.
2
+ #
3
+ # This source code is licensed under the MIT license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+
7
+ import glob, os
8
+ import numpy as np
9
+ import cv2
10
+ import torch
11
+
12
+
13
+ def extractor(input_path, output_path):
14
+ if not os.path.exists(output_path):
15
+ os.mkdir(output_path)
16
+
17
+ # Load Depth Camera Intrinsic
18
+ depth_intrinsic = np.loadtxt(input_path + '/intrinsic/intrinsic_depth.txt')
19
+ print('Depth intrinsic: ')
20
+ print(depth_intrinsic)
21
+
22
+ # Compute Camrea Distance (just for demo, so you can choose the camera distance in frame sampling)
23
+ poses = sorted(glob.glob(input_path + '/pose/*.txt'), key=lambda a: int(os.path.basename(a).split('.')[0]))
24
+ depths = sorted(glob.glob(input_path + '/depth/*.png'), key=lambda a: int(os.path.basename(a).split('.')[0]))
25
+ colors = sorted(glob.glob(input_path + '/color/*.png'), key=lambda a: int(os.path.basename(a).split('.')[0]))
26
+
27
+ # # Get Aligned Point Clouds.
28
+ for ind, (pose, depth, color) in enumerate(zip(poses, depths, colors)):
29
+ name = os.path.basename(pose).split('.')[0]
30
+
31
+ if os.path.exists(output_path + '/{}.npz'.format(name)):
32
+ continue
33
+
34
+ try:
35
+ print('=' * 50, ': {}'.format(pose))
36
+ depth_img = cv2.imread(depth, -1) # read 16bit grayscale image
37
+ mask = (depth_img != 0)
38
+ color_image = cv2.imread(color)
39
+ color_image = cv2.resize(color_image, (640, 480))
40
+ color_image = np.reshape(color_image[mask], [-1, 3])
41
+ colors = np.zeros_like(color_image)
42
+ colors[:, 0] = color_image[:, 2]
43
+ colors[:, 1] = color_image[:, 1]
44
+ colors[:, 2] = color_image[:, 0]
45
+
46
+ pose = np.loadtxt(poses[ind])
47
+ print('Camera pose: ')
48
+ print(pose)
49
+
50
+ depth_shift = 1000.0
51
+ x, y = np.meshgrid(np.linspace(0, depth_img.shape[1] - 1, depth_img.shape[1]),
52
+ np.linspace(0, depth_img.shape[0] - 1, depth_img.shape[0]))
53
+ uv_depth = np.zeros((depth_img.shape[0], depth_img.shape[1], 3))
54
+ uv_depth[:, :, 0] = x
55
+ uv_depth[:, :, 1] = y
56
+ uv_depth[:, :, 2] = depth_img / depth_shift
57
+ uv_depth = np.reshape(uv_depth, [-1, 3])
58
+ uv_depth = uv_depth[np.where(uv_depth[:, 2] != 0), :].squeeze()
59
+
60
+ intrinsic_inv = np.linalg.inv(depth_intrinsic)
61
+ fx = depth_intrinsic[0, 0]
62
+ fy = depth_intrinsic[1, 1]
63
+ cx = depth_intrinsic[0, 2]
64
+ cy = depth_intrinsic[1, 2]
65
+ bx = depth_intrinsic[0, 3]
66
+ by = depth_intrinsic[1, 3]
67
+ point_list = []
68
+ n = uv_depth.shape[0]
69
+ points = np.ones((n, 4))
70
+ X = (uv_depth[:, 0] - cx) * uv_depth[:, 2] / fx + bx
71
+ Y = (uv_depth[:, 1] - cy) * uv_depth[:, 2] / fy + by
72
+ points[:, 0] = X
73
+ points[:, 1] = Y
74
+ points[:, 2] = uv_depth[:, 2]
75
+ points_world = np.dot(points, np.transpose(pose))
76
+ print(points_world.shape)
77
+
78
+ pcd = dict(coord=points_world[:, :3], color=colors)
79
+ # pcd_save = np.zeros((points_world.shape[0], 7))
80
+ # pcd_save[:, :3] = points_world[:, :3]
81
+ # pcd_save[:, 3:6] = colors
82
+
83
+ # print('Saving npz file...')
84
+ # np.savez(output_path + '/{}.npz'.format(name), pcd=pcd_save)
85
+ torch.save(pcd, output_path + '/{}.pth'.format(name))
86
+ except:
87
+ continue
88
+
89
+
datasets/scannet_preprocess/scannet_pair/preprocess.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import argparse
3
+ import glob
4
+ import multiprocessing as mp
5
+ from concurrent.futures import ProcessPoolExecutor
6
+ from itertools import repeat
7
+ from reader import reader
8
+ from point_cloud_extractor import extractor
9
+ from compute_full_overlapping import compute_full_overlapping
10
+
11
+
12
+ frame_skip = 25
13
+
14
+
15
+ def parse_sens(sens_dir, output_dir):
16
+ scene_id = os.path.basename(os.path.dirname(sens_dir))
17
+ print(f"Parsing sens data{sens_dir}")
18
+ reader(sens_dir, os.path.join(output_dir, scene_id), frame_skip,
19
+ export_color_images=True, export_depth_images=True, export_poses=True, export_intrinsics=True)
20
+ extractor(os.path.join(output_dir, scene_id), os.path.join(output_dir, scene_id, "pcd"))
21
+ compute_full_overlapping(output_dir, scene_id)
22
+
23
+
24
+ if __name__ == '__main__':
25
+ parser = argparse.ArgumentParser()
26
+ parser.add_argument('--dataset_root', required=True, help='Path to the ScanNet dataset containing scene folders')
27
+ parser.add_argument('--output_root', required=True, help='Output path where train/val folders will be located')
28
+ opt = parser.parse_args()
29
+ sens_list = sorted(glob.glob(os.path.join(opt.dataset_root, "scans/scene*/*.sens")))
30
+ # Preprocess data.
31
+ pool = ProcessPoolExecutor(max_workers=mp.cpu_count())
32
+ # pool = ProcessPoolExecutor(max_workers=1)
33
+ print('Processing scenes...')
34
+ _ = list(pool.map(parse_sens, sens_list, repeat(opt.output_root)))
35
+
36
+ # sens_dir = "/home/gofinge/Documents/datasets/scannet/scans/scene0024_00/scene0024_00.sens"
37
+ # output_dir = "/home/gofinge/Downloads"
38
+ # parse_sens(sens_dir, output_dir)
datasets/scannet_preprocess/scannet_pair/reader.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import argparse
2
+ import os, sys
3
+
4
+ from SensorData import SensorData
5
+
6
+
7
+ def reader(filename,
8
+ output_path,
9
+ frame_skip,
10
+ export_color_images=False,
11
+ export_depth_images=False,
12
+ export_poses=False,
13
+ export_intrinsics=False):
14
+ if not os.path.exists(output_path):
15
+ os.makedirs(output_path)
16
+
17
+ # load the data
18
+ print('loading %s...' % filename)
19
+ sd = SensorData(filename)
20
+ if export_depth_images:
21
+ sd.export_depth_images(os.path.join(output_path, 'depth'), frame_skip=frame_skip)
22
+ if export_color_images:
23
+ sd.export_color_images(os.path.join(output_path, 'color'), frame_skip=frame_skip)
24
+ if export_poses:
25
+ sd.export_poses(os.path.join(output_path, 'pose'), frame_skip=frame_skip)
26
+ if export_intrinsics:
27
+ sd.export_intrinsics(os.path.join(output_path, 'intrinsic'))
open_vocab_seg/__pycache__/__init__.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/__pycache__/__init__.cpython-39.pyc and b/open_vocab_seg/__pycache__/__init__.cpython-39.pyc differ
 
open_vocab_seg/__pycache__/config.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/__pycache__/config.cpython-39.pyc and b/open_vocab_seg/__pycache__/config.cpython-39.pyc differ
 
open_vocab_seg/__pycache__/mask_former_model.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/__pycache__/mask_former_model.cpython-39.pyc and b/open_vocab_seg/__pycache__/mask_former_model.cpython-39.pyc differ
 
open_vocab_seg/__pycache__/ovseg_model.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/__pycache__/ovseg_model.cpython-39.pyc and b/open_vocab_seg/__pycache__/ovseg_model.cpython-39.pyc differ
 
open_vocab_seg/__pycache__/test_time_augmentation.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/__pycache__/test_time_augmentation.cpython-39.pyc and b/open_vocab_seg/__pycache__/test_time_augmentation.cpython-39.pyc differ
 
open_vocab_seg/data/__pycache__/__init__.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/data/__pycache__/__init__.cpython-39.pyc and b/open_vocab_seg/data/__pycache__/__init__.cpython-39.pyc differ
 
open_vocab_seg/data/__pycache__/build.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/data/__pycache__/build.cpython-39.pyc and b/open_vocab_seg/data/__pycache__/build.cpython-39.pyc differ
 
open_vocab_seg/data/dataset_mappers/__pycache__/__init__.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/data/dataset_mappers/__pycache__/__init__.cpython-39.pyc and b/open_vocab_seg/data/dataset_mappers/__pycache__/__init__.cpython-39.pyc differ
 
open_vocab_seg/data/dataset_mappers/__pycache__/mask_former_semantic_dataset_mapper.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/data/dataset_mappers/__pycache__/mask_former_semantic_dataset_mapper.cpython-39.pyc and b/open_vocab_seg/data/dataset_mappers/__pycache__/mask_former_semantic_dataset_mapper.cpython-39.pyc differ
 
open_vocab_seg/data/datasets/__pycache__/__init__.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/data/datasets/__pycache__/__init__.cpython-39.pyc and b/open_vocab_seg/data/datasets/__pycache__/__init__.cpython-39.pyc differ
 
open_vocab_seg/data/datasets/__pycache__/register_ade20k_full.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/data/datasets/__pycache__/register_ade20k_full.cpython-39.pyc and b/open_vocab_seg/data/datasets/__pycache__/register_ade20k_full.cpython-39.pyc differ
 
open_vocab_seg/data/datasets/__pycache__/register_cc3m.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/data/datasets/__pycache__/register_cc3m.cpython-39.pyc and b/open_vocab_seg/data/datasets/__pycache__/register_cc3m.cpython-39.pyc differ
 
open_vocab_seg/data/datasets/__pycache__/register_coco_stuff.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/data/datasets/__pycache__/register_coco_stuff.cpython-39.pyc and b/open_vocab_seg/data/datasets/__pycache__/register_coco_stuff.cpython-39.pyc differ
 
open_vocab_seg/data/datasets/__pycache__/register_pascal_context.cpython-39.pyc CHANGED
Binary files a/open_vocab_seg/data/datasets/__pycache__/register_pascal_context.cpython-39.pyc and b/open_vocab_seg/data/datasets/__pycache__/register_pascal_context.cpython-39.pyc differ