From ffb67cd38ee72fd0ad884bcb2f9b11b0cc131f54 Mon Sep 17 00:00:00 2001 From: Cuong Ngo Date: Fri, 22 Oct 2021 20:31:33 +0800 Subject: [PATCH] Add new point cloud augmentation - Random Translation --- src/data_process/transformation.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/data_process/transformation.py b/src/data_process/transformation.py index 58021b4..b83d941 100644 --- a/src/data_process/transformation.py +++ b/src/data_process/transformation.py @@ -373,6 +373,36 @@ def __call__(self, lidar, labels): return lidar, labels +class Random_Translate(object): + def __init__( + self, + translate_range_x=(-0.1, 0.1), + translate_range_y=(-0.1, 0.1), + p=0.5 + ): + #Translate ranges from [-1, 1] + #With 1 being the full length of BEV in x/y direction + self.x_range = translate_range_x + self.y_range = translate_range_y + self.p = p + + def __call__(self, lidar, labels): + if np.random.random() <= self.p: + factor_x = np.random.uniform(self.x_range[0], self.x_range[1]) + factor_y = np.random.uniform(self.y_range[0], self.y_range[1]) + + factor_x *= (cnf.boundary["maxX"] - cnf.boundary["minX"]) + factor_y *= (cnf.boundary["maxY"] - cnf.boundary["minY"]) + + lidar[:, 0] += factor_x + lidar[:, 1] += factor_y + + labels[:, 0] += factor_x + labels[:, 1] += factor_y + + return lidar, labels + + class Horizontal_Flip(object): def __init__(self, p=0.5): self.p = p