Commit f1a0211e authored by liyinhao's avatar liyinhao
Browse files

change seed and names

parent 60371607
...@@ -21,8 +21,7 @@ class PointSample(object): ...@@ -21,8 +21,7 @@ class PointSample(object):
points, points,
num_samples, num_samples,
replace=None, replace=None,
return_choices=False, return_choices=False):
seed=None):
"""Points Random Sampling. """Points Random Sampling.
Sample points to a certain number. Sample points to a certain number.
...@@ -37,8 +36,6 @@ class PointSample(object): ...@@ -37,8 +36,6 @@ class PointSample(object):
points (ndarray): 3D Points. points (ndarray): 3D Points.
choices (ndarray): The generated random samples choices (ndarray): The generated random samples
""" """
if seed is not None:
np.random.seed(seed)
if replace is None: if replace is None:
replace = (points.shape[0] < num_samples) replace = (points.shape[0] < num_samples)
choices = np.random.choice( choices = np.random.choice(
...@@ -49,21 +46,21 @@ class PointSample(object): ...@@ -49,21 +46,21 @@ class PointSample(object):
return points[choices] return points[choices]
def __call__(self, results, seed=None): def __call__(self, results, seed=None):
point_cloud = results.get('point_cloud', None) points = results.get('points', None)
pcl_color = results.get('pcl_color', None) pts_color = results.get('pts_color', None)
point_cloud, choices = self.points_random_sampling( points, choices = self.points_random_sampling(
point_cloud, self.num_points, return_choices=True, seed=seed) points, self.num_points, return_choices=True)
results['point_cloud'] = point_cloud results['points'] = points
if pcl_color is not None: if pts_color is not None:
pcl_color = pcl_color[choices] pts_color = pts_color[choices]
instance_labels = results.get('instance_labels', None) instance_labels = results.get('instance_labels', None)
semantic_labels = results.get('semantic_labels', None) semantic_labels = results.get('semantic_labels', None)
instance_labels = instance_labels[choices] instance_labels = instance_labels[choices]
semantic_labels = semantic_labels[choices] semantic_labels = semantic_labels[choices]
results['instance_labels'] = instance_labels results['instance_labels'] = instance_labels
results['semantic_labels'] = semantic_labels results['semantic_labels'] = semantic_labels
results['pcl_color'] = pcl_color results['pts_color'] = pts_color
return results return results
......
...@@ -4,48 +4,48 @@ from mmdet3d.datasets.pipelines.indoor_sample import PointSample ...@@ -4,48 +4,48 @@ from mmdet3d.datasets.pipelines.indoor_sample import PointSample
def test_indoor_sample(): def test_indoor_sample():
np.random.seed(0)
scannet_sample_points = PointSample(5) scannet_sample_points = PointSample(5)
scannet_results = dict() scannet_results = dict()
scannet_point_cloud = np.array( scannet_points = np.array([[1.0719866, -0.7870435, 0.8408122, 0.9196809],
[[1.0719866, -0.7870435, 0.8408122, 0.9196809], [1.103661, 0.81065744, 2.6616862, 2.7405548],
[1.103661, 0.81065744, 2.6616862, 2.7405548], [1.0276475, 1.5061463, 2.6174362, 2.6963048],
[1.0276475, 1.5061463, 2.6174362, 2.6963048], [-0.9709588, 0.6750515, 0.93901765, 1.0178864],
[-0.9709588, 0.6750515, 0.93901765, 1.0178864], [1.0578915, 1.1693821, 0.87503505, 0.95390373],
[1.0578915, 1.1693821, 0.87503505, 0.95390373], [0.05560996, -1.5688863, 1.2440368, 1.3229055],
[0.05560996, -1.5688863, 1.2440368, 1.3229055], [-0.15731563, -1.7735453, 2.7535574, 2.832426],
[-0.15731563, -1.7735453, 2.7535574, 2.832426], [1.1188195, -0.99211365, 2.5551798, 2.6340485],
[1.1188195, -0.99211365, 2.5551798, 2.6340485], [-0.9186557, -1.7041215, 2.0562649, 2.1351335],
[-0.9186557, -1.7041215, 2.0562649, 2.1351335], [-1.0128691, -1.3394243, 0.040936, 0.1198047]])
[-1.0128691, -1.3394243, 0.040936, 0.1198047]]) scannet_results['points'] = scannet_points
scannet_results['point_cloud'] = scannet_point_cloud
scannet_instance_labels = np.array([15, 12, 11, 38, 0, 18, 17, 12, 17, 0]) scannet_instance_labels = np.array([15, 12, 11, 38, 0, 18, 17, 12, 17, 0])
scannet_results['instance_labels'] = scannet_instance_labels scannet_results['instance_labels'] = scannet_instance_labels
scannet_pcl_color = np.array([[77., 74., 63.], [176., 166., 156.], scannet_pts_color = np.array([[77., 74., 63.], [176., 166., 156.],
[178., 164., 153.], [240., 235., 237.], [178., 164., 153.], [240., 235., 237.],
[58., 58., 59.], [245., 236., 229.], [58., 58., 59.], [245., 236., 229.],
[158., 148., 141.], [195., 184., 178.], [158., 148., 141.], [195., 184., 178.],
[193., 181., 174.], [105., 102., 97.]]) [193., 181., 174.], [105., 102., 97.]])
scannet_results['pcl_color'] = scannet_pcl_color scannet_results['pts_color'] = scannet_pts_color
scannet_semantic_labels = np.array([38, 1, 1, 40, 0, 40, 1, 1, 1, 0]) scannet_semantic_labels = np.array([38, 1, 1, 40, 0, 40, 1, 1, 1, 0])
scannet_results['semantic_labels'] = scannet_semantic_labels scannet_results['semantic_labels'] = scannet_semantic_labels
scannet_results = scannet_sample_points(scannet_results, 0) scannet_results = scannet_sample_points(scannet_results, 0)
scannet_point_cloud_result = scannet_results.get('point_cloud', None) scannet_point_cloud_result = scannet_results.get('points', None)
scannet_pcl_color_result = scannet_results.get('pcl_color', None) scannet_pcl_color_result = scannet_results.get('pts_color', None)
scannet_instance_labels_result = scannet_results.get( scannet_instance_labels_result = scannet_results.get(
'instance_labels', None) 'instance_labels', None)
scannet_semantic_labels_result = scannet_results.get( scannet_semantic_labels_result = scannet_results.get(
'semantic_labels', None) 'semantic_labels', None)
scannet_choices = np.array([2, 8, 4, 9, 1]) scannet_choices = np.array([2, 8, 4, 9, 1])
assert np.allclose(scannet_point_cloud[scannet_choices], assert np.allclose(scannet_points[scannet_choices],
scannet_point_cloud_result) scannet_point_cloud_result)
assert np.allclose(scannet_pcl_color[scannet_choices], assert np.allclose(scannet_pts_color[scannet_choices],
scannet_pcl_color_result) scannet_pcl_color_result)
assert np.all(scannet_instance_labels[scannet_choices] == assert np.all(scannet_instance_labels[scannet_choices] ==
scannet_instance_labels_result) scannet_instance_labels_result)
assert np.all(scannet_semantic_labels[scannet_choices] == assert np.all(scannet_semantic_labels[scannet_choices] ==
scannet_semantic_labels_result) scannet_semantic_labels_result)
np.random.seed(0)
sunrgbd_sample_points = PointSample(5) sunrgbd_sample_points = PointSample(5)
sunrgbd_results = dict() sunrgbd_results = dict()
sunrgbd_point_cloud = np.array( sunrgbd_point_cloud = np.array(
...@@ -59,10 +59,9 @@ def test_indoor_sample(): ...@@ -59,10 +59,9 @@ def test_indoor_sample():
[-0.74624217, 1.5244724, -0.8678476, 0.41810507], [-0.74624217, 1.5244724, -0.8678476, 0.41810507],
[0.56485355, 1.5747732, -0.804522, 0.4814307], [0.56485355, 1.5747732, -0.804522, 0.4814307],
[-0.0913099, 1.3673826, -1.2800645, 0.00588822]]) [-0.0913099, 1.3673826, -1.2800645, 0.00588822]])
sunrgbd_results['point_cloud'] = sunrgbd_point_cloud sunrgbd_results['points'] = sunrgbd_point_cloud
sunrgbd_results = sunrgbd_sample_points(sunrgbd_results, 0) sunrgbd_results = sunrgbd_sample_points(sunrgbd_results, 0)
sunrgbd_choices = np.array([2, 8, 4, 9, 1]) sunrgbd_choices = np.array([2, 8, 4, 9, 1])
sunrgbd_point_cloud_result = sunrgbd_results.get('point_cloud', None) sunrgbd_points_result = sunrgbd_results.get('points', None)
assert np.allclose(sunrgbd_point_cloud[sunrgbd_choices], assert np.allclose(sunrgbd_point_cloud[sunrgbd_choices],
sunrgbd_point_cloud_result) sunrgbd_points_result)
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