Commit 5e21e428 authored by Shaoshuai Shi's avatar Shaoshuai Shi
Browse files

support to USE_CENTER_TO_FILTER in mask_points_and_boxes_outside_range

parent 6bd8be71
......@@ -86,7 +86,7 @@ class DataProcessor(object):
if data_dict.get('gt_boxes', None) is not None and config.REMOVE_OUTSIDE_BOXES and self.training:
mask = box_utils.mask_boxes_outside_range_numpy(
data_dict['gt_boxes'], self.point_cloud_range, min_num_corners=config.get('min_num_corners', 1),
filter_z=config.get('FILTER_Z', False)
use_center_to_filter=config.get('USE_CENTER_TO_FILTER', True)
)
data_dict['gt_boxes'] = data_dict['gt_boxes'][mask]
return data_dict
......
......@@ -90,7 +90,7 @@ def corners_rect_to_camera(corners):
return camera_rect
def mask_boxes_outside_range_numpy(boxes, limit_range, min_num_corners=1, filter_z=True):
def mask_boxes_outside_range_numpy(boxes, limit_range, min_num_corners=1, use_center_to_filter=True):
"""
Args:
boxes: (N, 7) [x, y, z, dx, dy, dz, heading, ...], (x, y, z) is the box center
......@@ -102,10 +102,11 @@ def mask_boxes_outside_range_numpy(boxes, limit_range, min_num_corners=1, filter
"""
if boxes.shape[1] > 7:
boxes = boxes[:, 0:7]
corners = boxes_to_corners_3d(boxes) # (N, 8, 3)
if filter_z:
mask = ((corners >= limit_range[0:3]) & (corners <= limit_range[3:6])).all(axis=2)
if use_center_to_filter:
box_centers = boxes[:, 0:3]
mask = ((box_centers >= limit_range[0:3]) & (box_centers <= limit_range[3:6])).all(axis=-1)
else:
corners = boxes_to_corners_3d(boxes) # (N, 8, 3)
corners = corners[:, :, 0:2]
mask = ((corners >= limit_range[0:2]) & (corners <= limit_range[3:5])).all(axis=2)
mask = mask.sum(axis=1) >= min_num_corners # (N)
......
......@@ -62,7 +62,7 @@ POINT_FEATURE_ENCODING: {
DATA_PROCESSOR:
- NAME: mask_points_and_boxes_outside_range
REMOVE_OUTSIDE_BOXES: True
FILTER_Z: False
USE_CENTER_TO_FILTER: True
- NAME: shuffle_points
SHUFFLE_ENABLED: {
......
......@@ -72,7 +72,7 @@ POINT_FEATURE_ENCODING: {
DATA_PROCESSOR:
- NAME: mask_points_and_boxes_outside_range
REMOVE_OUTSIDE_BOXES: True
FILTER_Z: False
USE_CENTER_TO_FILTER: True
- NAME: shuffle_points
SHUFFLE_ENABLED: {
......
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