MCPcopy Create free account
hub / github.com/ADLab-AutoDrive/BEVFusion / LoadPointsFromMultiSweeps

Class LoadPointsFromMultiSweeps

mmdet3d/datasets/pipelines/loading.py:517–710  ·  view source on GitHub ↗

Load points from multiple sweeps. This is usually used for nuScenes dataset to utilize previous sweeps. Args: sweeps_num (int): Number of sweeps. Defaults to 10. load_dim (int): Dimension number of the loaded points. Defaults to 5. use_dim (list[int]): Which dimensi

Source from the content-addressed store, hash-verified

515
516@PIPELINES.register_module()
517class LoadPointsFromMultiSweeps(object):
518 """Load points from multiple sweeps.
519
520 This is usually used for nuScenes dataset to utilize previous sweeps.
521
522 Args:
523 sweeps_num (int): Number of sweeps. Defaults to 10.
524 load_dim (int): Dimension number of the loaded points. Defaults to 5.
525 use_dim (list[int]): Which dimension to use. Defaults to [0, 1, 2, 4].
526 file_client_args (dict): Config dict of file clients, refer to
527 https://github.com/open-mmlab/mmcv/blob/master/mmcv/fileio/file_client.py
528 for more details. Defaults to dict(backend='disk').
529 pad_empty_sweeps (bool): Whether to repeat keyframe when
530 sweeps is empty. Defaults to False.
531 remove_close (bool): Whether to remove close points.
532 Defaults to False.
533 test_mode (bool): If test_model=True used for testing, it will not
534 randomly sample sweeps but select the nearest N frames.
535 Defaults to False.
536 """
537
538 def __init__(self,
539 sweeps_num=10,
540 load_dim=5,
541 use_dim=[0, 1, 2, 4],
542 file_client_args=dict(backend='disk'),
543 pad_empty_sweeps=False,
544 remove_close=False,
545 test_mode=False,
546 point_cloud_angle_range=None):
547 self.load_dim = load_dim
548 self.sweeps_num = sweeps_num
549 self.use_dim = use_dim
550 self.file_client_args = file_client_args.copy()
551 self.file_client = None
552 self.pad_empty_sweeps = pad_empty_sweeps
553 self.remove_close = remove_close
554 self.test_mode = test_mode
555
556 if point_cloud_angle_range is not None:
557 self.filter_by_angle = True
558 self.point_cloud_angle_range = point_cloud_angle_range
559 print(point_cloud_angle_range)
560 else:
561 self.filter_by_angle = False
562 # self.point_cloud_angle_range = point_cloud_angle_range
563
564 def _load_points(self, pts_filename):
565 """Private function to load point clouds data.
566
567 Args:
568 pts_filename (str): Filename of point clouds data.
569
570 Returns:
571 np.ndarray: An array containing point clouds data.
572 """
573 if self.file_client is None:
574 self.file_client = mmcv.FileClient(**self.file_client_args)

Calls

no outgoing calls