Commit ea7fdbed authored by liyinhao's avatar liyinhao
Browse files

finish indoor load test unit

parent e9ef0711
bed 125 98 416 333 -0.248717 3.078656 -0.411026 0.906626 0.995895 0.788974 0.179270 -0.983800
night_stand 61 204 119 105 -1.700247 3.645455 -0.707344 0.382063 0.203700 0.340909 0.138196 -0.990405
lamp 80 86 79 124 -1.677273 3.627273 0.022727 0.234005 0.176469 0.409091 0.227884 -0.973688
ottoman 151 331 486 199 0.127273 1.600000 -0.806818 0.734650 0.309392 0.393182 0.176299 -0.984337
import numpy as np import numpy as np
from mmdet3d.datasets.pipelines.indoor_augment import (IndoorFlipData, from mmdet3d.datasets.pipelines.indoor_augment import (IndoorFlipData,
IndoorRotateData, IndoorRotateData)
PointShuffle)
def test_indoor_flip_data(): def test_indoor_flip_data():
sunrgbd_flip_data = IndoorFlipData('sunrgbd') sunrgbd_flip_data = IndoorFlipData('sunrgbd')
sunrgbd_results = dict() sunrgbd_results = dict()
sunrgbd_results['points'] = np.array( sunrgbd_results['point_cloud'] = np.array(
[[1.02828765e+00, 3.65790772e+00, 1.97294697e-01, 1.61959505e+00], [[1.02828765e+00, 3.65790772e+00, 1.97294697e-01, 1.61959505e+00],
[-3.95979017e-01, 1.05465031e+00, -7.49204338e-01, 6.73096001e-01]]) [-3.95979017e-01, 1.05465031e+00, -7.49204338e-01, 6.73096001e-01]])
sunrgbd_results['gt_boxes'] = np.array([[ sunrgbd_results['gt_boxes'] = np.array([[
...@@ -20,14 +19,14 @@ def test_indoor_flip_data(): ...@@ -20,14 +19,14 @@ def test_indoor_flip_data():
-1.58242359 -1.58242359
]]) ]])
sunrgbd_results = sunrgbd_flip_data(sunrgbd_results) sunrgbd_results = sunrgbd_flip_data(sunrgbd_results)
sunrgbd_points = sunrgbd_results.get('points', None) sunrgbd_point_cloud = sunrgbd_results.get('point_cloud', None)
sunrgbd_gt_boxes = sunrgbd_results.get('gt_boxes', None) sunrgbd_gt_boxes = sunrgbd_results.get('gt_boxes', None)
assert sunrgbd_points.shape == (2, 4) assert sunrgbd_point_cloud.shape == (2, 4)
assert sunrgbd_gt_boxes.shape == (2, 7) assert sunrgbd_gt_boxes.shape == (2, 7)
scannet_flip_data = IndoorFlipData('scannet') scannet_flip_data = IndoorFlipData('scannet')
scannet_results = dict() scannet_results = dict()
scannet_results['points'] = np.array( scannet_results['point_cloud'] = np.array(
[[1.6110241e+00, -1.6903955e-01, 5.8115810e-01, 5.9897250e-01], [[1.6110241e+00, -1.6903955e-01, 5.8115810e-01, 5.9897250e-01],
[1.3978075e+00, 4.2035791e-01, 3.8729519e-01, 4.0510958e-01]]) [1.3978075e+00, 4.2035791e-01, 3.8729519e-01, 4.0510958e-01]])
scannet_results['gt_boxes'] = np.array([[ scannet_results['gt_boxes'] = np.array([[
...@@ -36,9 +35,9 @@ def test_indoor_flip_data(): ...@@ -36,9 +35,9 @@ def test_indoor_flip_data():
-0.03226406, 1.70392646, 0.60348618, 0.65165804, 0.72084366, 0.64667457 -0.03226406, 1.70392646, 0.60348618, 0.65165804, 0.72084366, 0.64667457
]]) ]])
scannet_results = scannet_flip_data(scannet_results) scannet_results = scannet_flip_data(scannet_results)
scannet_points = scannet_results.get('points', None) scannet_point_cloud = scannet_results.get('point_cloud', None)
scannet_gt_boxes = scannet_results.get('gt_boxes', None) scannet_gt_boxes = scannet_results.get('gt_boxes', None)
assert scannet_points.shape == (2, 4) assert scannet_point_cloud.shape == (2, 4)
assert scannet_gt_boxes.shape == (2, 6) assert scannet_gt_boxes.shape == (2, 6)
...@@ -46,7 +45,7 @@ def test_indoor_rotate_data(): ...@@ -46,7 +45,7 @@ def test_indoor_rotate_data():
sunrgbd_indoor_rotate_data = IndoorRotateData('sunrgbd') sunrgbd_indoor_rotate_data = IndoorRotateData('sunrgbd')
sunrgbd_results = dict() sunrgbd_results = dict()
sunrgbd_results['points'] = np.array( sunrgbd_results['point_cloud'] = np.array(
[[1.02828765e+00, 3.65790772e+00, 1.97294697e-01, 1.61959505e+00], [[1.02828765e+00, 3.65790772e+00, 1.97294697e-01, 1.61959505e+00],
[-3.95979017e-01, 1.05465031e+00, -7.49204338e-01, 6.73096001e-01]]) [-3.95979017e-01, 1.05465031e+00, -7.49204338e-01, 6.73096001e-01]])
sunrgbd_results['gt_boxes'] = np.array([[ sunrgbd_results['gt_boxes'] = np.array([[
...@@ -58,14 +57,14 @@ def test_indoor_rotate_data(): ...@@ -58,14 +57,14 @@ def test_indoor_rotate_data():
-1.58242359 -1.58242359
]]) ]])
sunrgbd_results = sunrgbd_indoor_rotate_data(sunrgbd_results) sunrgbd_results = sunrgbd_indoor_rotate_data(sunrgbd_results)
sunrgbd_points = sunrgbd_results.get('points', None) sunrgbd_point_cloud = sunrgbd_results.get('point_cloud', None)
sunrgbd_gt_boxes = sunrgbd_results.get('gt_boxes', None) sunrgbd_gt_boxes = sunrgbd_results.get('gt_boxes', None)
assert sunrgbd_points.shape == (2, 4) assert sunrgbd_point_cloud.shape == (2, 4)
assert sunrgbd_gt_boxes.shape == (2, 7) assert sunrgbd_gt_boxes.shape == (2, 7)
scannet_indoor_rotate_data = IndoorRotateData('scannet') scannet_indoor_rotate_data = IndoorRotateData('scannet')
scannet_results = dict() scannet_results = dict()
scannet_results['points'] = np.array( scannet_results['point_cloud'] = np.array(
[[1.6110241e+00, -1.6903955e-01, 5.8115810e-01, 5.9897250e-01], [[1.6110241e+00, -1.6903955e-01, 5.8115810e-01, 5.9897250e-01],
[1.3978075e+00, 4.2035791e-01, 3.8729519e-01, 4.0510958e-01]]) [1.3978075e+00, 4.2035791e-01, 3.8729519e-01, 4.0510958e-01]])
scannet_results['gt_boxes'] = np.array([[ scannet_results['gt_boxes'] = np.array([[
...@@ -74,18 +73,7 @@ def test_indoor_rotate_data(): ...@@ -74,18 +73,7 @@ def test_indoor_rotate_data():
-0.03226406, 1.70392646, 0.60348618, 0.65165804, 0.72084366, 0.64667457 -0.03226406, 1.70392646, 0.60348618, 0.65165804, 0.72084366, 0.64667457
]]) ]])
scannet_results = scannet_indoor_rotate_data(scannet_results) scannet_results = scannet_indoor_rotate_data(scannet_results)
scannet_points = scannet_results.get('points', None) scannet_point_cloud = scannet_results.get('point_cloud', None)
scannet_gt_boxes = scannet_results.get('gt_boxes', None) scannet_gt_boxes = scannet_results.get('gt_boxes', None)
assert scannet_points.shape == (2, 4) assert scannet_point_cloud.shape == (2, 4)
assert scannet_gt_boxes.shape == (2, 6) assert scannet_gt_boxes.shape == (2, 6)
def test_point_shuffle():
point_shuffle = PointShuffle()
results = dict()
results['points'] = np.array(
[[1.02828765e+00, 3.65790772e+00, 1.97294697e-01, 1.61959505e+00],
[-3.95979017e-01, 1.05465031e+00, -7.49204338e-01, 6.73096001e-01]])
results = point_shuffle(results)
points = results.get('points')
assert points.shape == (2, 4)
...@@ -4,17 +4,97 @@ from mmdet3d.datasets.pipelines.indoor_loading import IndoorLoadData ...@@ -4,17 +4,97 @@ from mmdet3d.datasets.pipelines.indoor_loading import IndoorLoadData
def test_indoor_load_data(): def test_indoor_load_data():
train_info = mmcv.load('./tests/data/sunrgbd/sunrgbd_infos_train.pkl') sunrgbd_train_info = mmcv.load(
sunrgbd_load_data = IndoorLoadData('sunrgbd', False, True, [0.5, 0.5, 0.5]) './tests/data/sunrgbd/sunrgbd_infos_train.pkl')
sunrgbd_results = dict() sunrgbd_load_train_data = IndoorLoadData('sunrgbd', False, True,
sunrgbd_results['data_path'] = './tests/data/sunrgbd/sunrgbd_trainval' [0.5, 0.5, 0.5])
sunrgbd_results['info'] = train_info[0] sunrgbd_train_results = dict()
sunrgbd_results = sunrgbd_load_data(sunrgbd_results) sunrgbd_train_results[
point_cloud = sunrgbd_results.get('point_cloud', None) 'data_path'] = './tests/data/sunrgbd/sunrgbd_trainval'
gt_boxes = sunrgbd_results.get('gt_boxes', None) sunrgbd_train_results['info'] = sunrgbd_train_info[0]
gt_classes = sunrgbd_results.get('gt_classes', None) sunrgbd_train_results = sunrgbd_load_train_data(sunrgbd_train_results)
gt_boxes_mask = sunrgbd_results.get('gt_boxes_mask', None) sunrgbd_train_point_cloud = sunrgbd_train_results.get('point_cloud', None)
assert point_cloud.shape == (50000, 4) sunrgbd_train_gt_boxes = sunrgbd_train_results.get('gt_boxes', None)
assert gt_boxes.shape == (3, 7) sunrgbd_train_gt_classes = sunrgbd_train_results.get('gt_classes', None)
assert gt_classes.shape == (3, 1) sunrgbd_train_gt_boxes_mask = sunrgbd_train_results.get(
assert gt_boxes_mask.shape == (3, 1) 'gt_boxes_mask', None)
assert sunrgbd_train_point_cloud.shape == (50000, 4)
assert sunrgbd_train_gt_boxes.shape == (3, 7)
assert sunrgbd_train_gt_classes.shape == (3, 1)
assert sunrgbd_train_gt_boxes_mask.shape == (3, 1)
scannet_val_info = mmcv.load('./tests/data/sunrgbd/sunrgbd_infos_val.pkl')
scannet_load_val_data = IndoorLoadData('sunrgbd', False, True,
[0.5, 0.5, 0.5])
scannet_val_results = dict()
scannet_val_results['data_path'] = './tests/data/sunrgbd/sunrgbd_trainval'
scannet_val_results['info'] = scannet_val_info[0]
scannet_val_results = scannet_load_val_data(scannet_val_results)
scannet_val_point_cloud = scannet_val_results.get('point_cloud', None)
scannet_val_gt_boxes = scannet_val_results.get('gt_boxes', None)
scannet_val_gt_classes = scannet_val_results.get('gt_classes', None)
scannet_val_gt_boxes_mask = scannet_val_results.get('gt_boxes_mask', None)
assert scannet_val_point_cloud.shape == (50000, 4)
assert scannet_val_gt_boxes.shape == (3, 7)
assert scannet_val_gt_classes.shape == (3, 1)
assert scannet_val_gt_boxes_mask.shape == (3, 1)
sunrgbd_train_info = mmcv.load(
'./tests/data/sunrgbd/sunrgbd_infos_train.pkl')
sunrgbd_load_train_data = IndoorLoadData('sunrgbd', False, True,
[0.5, 0.5, 0.5])
sunrgbd_train_results = dict()
sunrgbd_train_results[
'data_path'] = './tests/data/sunrgbd/sunrgbd_trainval'
sunrgbd_train_results['info'] = sunrgbd_train_info[0]
sunrgbd_train_results = sunrgbd_load_train_data(sunrgbd_train_results)
sunrgbd_train_point_cloud = sunrgbd_train_results.get('point_cloud', None)
sunrgbd_train_gt_boxes = sunrgbd_train_results.get('gt_boxes', None)
sunrgbd_train_gt_classes = sunrgbd_train_results.get('gt_classes', None)
sunrgbd_train_gt_boxes_mask = sunrgbd_train_results.get(
'gt_boxes_mask', None)
assert sunrgbd_train_point_cloud.shape == (50000, 4)
assert sunrgbd_train_gt_boxes.shape == (3, 7)
assert sunrgbd_train_gt_classes.shape == (3, 1)
assert sunrgbd_train_gt_boxes_mask.shape == (3, 1)
scannet_val_info = mmcv.load(
'./tests/data/scannet/scannet_infos_train.pkl')
scannet_load_val_data = IndoorLoadData('scannet', False, True,
[0.5, 0.5, 0.5])
scannet_val_results = dict()
scannet_val_results[
'data_path'] = './tests/data/scannet/scannet_train_instance_data'
scannet_val_results['info'] = scannet_val_info[0]
scannet_val_results = scannet_load_val_data(scannet_val_results)
scannet_val_point_cloud = scannet_val_results.get('point_cloud', None)
scannet_val_gt_boxes = scannet_val_results.get('gt_boxes', None)
scannet_val_gt_classes = scannet_val_results.get('gt_classes', None)
scannet_val_gt_boxes_mask = scannet_val_results.get('gt_boxes_mask', None)
scannet_pcl_color = scannet_val_results.get('pcl_color', None)
scannet_instance_labels = scannet_val_results.get('instance_labels', None)
scannet_semantic_labels = scannet_val_results.get('semantic_labels', None)
assert scannet_val_point_cloud.shape == (50000, 4)
assert scannet_val_gt_boxes.shape == (27, 6)
assert scannet_val_gt_classes.shape == (27, 1)
assert scannet_val_gt_boxes_mask.shape == (27, 1)
assert scannet_pcl_color.shape == (50000, 3)
assert scannet_instance_labels.shape == (50000, )
assert scannet_semantic_labels.shape == (50000, )
scannet_val_info = mmcv.load('./tests/data/scannet/scannet_infos_val.pkl')
scannet_load_val_data = IndoorLoadData('scannet', False, True,
[0.5, 0.5, 0.5])
scannet_val_results = dict()
scannet_val_results[
'data_path'] = './tests/data/scannet/scannet_train_instance_data'
scannet_val_results['info'] = scannet_val_info[0]
scannet_val_results = scannet_load_val_data(scannet_val_results)
scannet_val_point_cloud = scannet_val_results.get('point_cloud', None)
scannet_val_gt_boxes = scannet_val_results.get('gt_boxes', None)
scannet_val_gt_classes = scannet_val_results.get('gt_classes', None)
scannet_val_gt_boxes_mask = scannet_val_results.get('gt_boxes_mask', None)
assert scannet_val_point_cloud.shape == (50000, 4)
assert scannet_val_gt_boxes.shape == (28, 6)
assert scannet_val_gt_classes.shape == (28, 1)
assert scannet_val_gt_boxes_mask.shape == (28, 1)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment