Pointnet_Pointnet2_pytorch icon indicating copy to clipboard operation
Pointnet_Pointnet2_pytorch copied to clipboard

`np.random.choice` in preprocess has impact prediction results?

Open zhoujinhai opened this issue 3 years ago • 0 comments

I trained and tested myself data, I found a problem that preprocessing the data with "random. Choice" has a great impact on the results . I know that 'farthest_point_sample' function will have an impact on the seed point, but this impact on result is too great to be ignored.

  • preprocess_data function
    def process_data(self, data_path):
        ext = os.path.splitext(data_path)[-1]
        data = None
        if ext == ".txt":
            data = np.loadtxt(data_path).astype(np.float32)
        elif ext == ".pcd":
            data = np.loadtxt(data_path, skiprows=10).astype(np.float32)
        if data is None:
            return

        if not self.use_normal:
            point_set = data[:, 0:3]
        else:
            point_set = data[:, 0:6]

        point_set[:, 0:3] = pc_normalize(point_set[:, 0:3])
        # choice = np.random.choice(range(0, len(point_set)), len(point_set), replace=False)
        # point_set = point_set[choice, :]

        point_set = np.expand_dims(point_set, axis=0)
        return torch.from_numpy(point_set)
  • the main function:
if __name__ == "__main__":
        model_name = "pointnet2_part_seg_msg"
        model_path = "log/part_seg/pointnet2_part_seg_msg/checkpoints/best_model.pth"
        data_path = r"D:\Debug_dir\pcd_with_label_normal\test.pcd"
        model_type = "part" if model_name.find("part") != -1 else "sem"
        inference = InferenceClass(model_name, model_path, model_type, use_normal=False, use_gpu=True)
        use_datasets = False
        res = inference.inference(data_path, use_datasets, "test_all")
        diff_label = np.unique(res )
        print("res_label: ", diff_label)
  • inference result Comment choice on process_data function and the result is bad image image

Uncomment choice on process_data function and the rusult is good image image

zhoujinhai avatar Nov 05 '21 02:11 zhoujinhai