TRAILab / CaDDN

Categorical Depth Distribution Network for Monocular 3D Object Detection (CVPR 2021 Oral)
Apache License 2.0
366 stars 62 forks source link

Question about DISCRETIZE in caddn.yaml #66

Closed zjyalice closed 3 years ago

zjyalice commented 3 years ago

Hi~ thanks for sharing your great work!

I want to train CaDDN on custom dataset. I notice that the values of depth_min and depth_max in the DISRETIZE in caddn.yaml match the range of x in POINT_CLOUD_RANGE. However, the -y direction of the custom dataset in the lidar coordinate system is the forward direction. Therefore, 1) Do depth_min and depth_max refer to the distances in the advancing direction under the camera? Does it have to be numerically consistent with the range of the heading of POINT_CLOUD_RANGE? 2) How is the number of num_bins obtained? Is it set based on different datasets?

Thanks!

codyreading commented 3 years ago

Hi and thanks for the interest!

1) That's correct, they are distances in the advancing direction. The depth_min and depth_max set the max distances within the Frustum grid, while the parameters in POINT_CLOUD_RANGE set the range of the Voxel grid. The depths aren't required to be consistent, but it would be wasteful to set them to separate ranges, as this would lead to voxel grids with empty values (at depths not covered by the Frustum grid) or Frustum grid depths that aren't used in the voxel grid.

2) num_bins is set differently on different datasets. It is a purely empirical number, I would recommend a few settings and see which works best on the custom dataset. You might as well start with 80.

zjyalice commented 3 years ago

Thanks for your reply! By the way, have you evaluated the depth distribution predicted by the deeplabV3? How much is the gap between the result and depth map?

codyreading commented 3 years ago

I haven't done that evaluation, but qualitatively it looks quite accurate. I don't have specific metrics however.

zjyalice commented 3 years ago

Thanks for help!