Pointpillar parameter tuning suggestion?

I did make a thread regarding modifying the values for point_cloud_range. Now I just have some other questions in my mind.

Still, I will just pose the related document here, first.

I intended to detect people within a specified range so compared with the default values for point_cloud_range, the effective range has been largely decreased.

For point_cloud_range, it’s now [-11.52, -11.52, -3, 11.52, 11.52, 1] instead of [0, -39.68, -3, 69.12, 39.68, 1] as I only want to detect people that show up within a range. There’s no way people would show up in the distance if I just hope to do 3D object detection using this model indoors.

On the other hand, aside from KITTI dataset, I’ve also managed to download and convert other datasets, including nuScenes, into KITTI format and they compose my training set with KITTI dataset that has already been used. As for the validation set, so far it still only consists of those from KITTI dataset.

However, it seems that some of the datasets I have converted help enhance the AP while some don’t.
Some datasets seem to be synthesized, such as PreSIL.

I tried adding some PreSIL samples along with KITTI dataset to form my training set and this resulted in nearly 8% decrease in mAP.

PreSIL data lacks intensity value, which seems to be 0 for all the point clouds. I guess it’s okay to call it fake lidar.

I once again looked into the document page and noticed a parameter “database_with_fakelidar”.

Regarding this here’re 2 questions:

  1. What is this parameter for? Should I set it to True if my training set contains fake lidar data as mentioned before?

  2. The default “pointpillars.yaml” file doesn’t include this parameter. Instead, a parameter named “disable_with_fake_lidar” is included and set to False as default, but the parameter isn’t really mentioned in the document page but still shows up in the “Creating an experiment spec file” part:
    image

The inconsistency confuses me. Which one of both is actually the parameter that exists and how am I supposed to use it?

I once again uploaded the spec file of mine here.
pointpillars.txt (5.6 KB)

Should be “disable_with_fake_lidar” instead of “database_with_fakelidar”. Will modify it. Thanks for the catching.
This parameter is used in tao_pytorch_backend/nvidia_tao_pytorch/pointcloud/pointpillars/pcdet/datasets/augmentor/database_sampler.py at 6f802c93a32aad69a155c86d941c1ea84fe2fc4e · NVIDIA/tao_pytorch_backend · GitHub.
If set it to False, it will run 1https://github.com/NVIDIA/tao_pytorch_backend/blob/6f802c93a32aad69a155c86d941c1ea84fe2fc4e/nvidia_tao_pytorch/pointcloud/pointpillars/pcdet/utils/box_utils.py#L136-L147
tao_pytorch_backend/nvidia_tao_pytorch/pointcloud/pointpillars/pcdet/utils/box_utils.py at 6f802c93a32aad69a155c86d941c1ea84fe2fc4e · NVIDIA/tao_pytorch_backend · GitHub to make the change against the boxes.
If set to True, it will not make the change.

The default is False, so that means z gets changed everytime I train the model ?
It should have been set True if I don’t want the value of z modified ?

For the second link you provided, I guess you actually meant boxes3d_kitti_fakelidar_to_lidar instead of boxes3d_kitti_lidar_to_fakelidar, which isn’t even used in database_sampler.py.

Let me clarify this…

If database_with_fakelidar is set to False, all the 3d bboxes will be processed in boxes3d_kitti_fakelidar_to_lidar, which adjusts the z coordinate by adding half of the height to it and also adjusts the heading as well.

Shouldn’t it be set true if the provided z value of a bbox is already the central position of it in z direction ?

Yes. My bad. Should be tao_pytorch_backend/nvidia_tao_pytorch/pointcloud/pointpillars/pcdet/utils/box_utils.py at 6f802c93a32aad69a155c86d941c1ea84fe2fc4e · NVIDIA/tao_pytorch_backend · GitHub.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.