jahaniam / semiDepth

Tensorflow implementation of Semi-Supervised Monocular Depth Estimation with Left-Right Consistency Using Deep Neural Network.
Other
90 stars 11 forks source link

KITTI Raw LiDAR vs Official ground truth #7

Closed tjqansthd closed 4 years ago

tjqansthd commented 4 years ago

Dear Ali,

Thanks for your work! I understood that it is more desirable to use the KITTI offical groundtruth anyway. But I want to make a clear distinction between KITTI datasets.

According to reference mrharicot/monodepth#166, Kitti official ground truth = groundtruth in "data_depth_annotated.zip" Projected Raw LiDAR = velodyne_raw in "data_depth_velodyne.zip" Is this right?

And, could you tell me the difference between the three below?

  1. depth generated by cameras(generate_depth func in monodepth, vel_depth = False)
  2. depth generated by velodyne_points(generate_depth func in monodepth, vel_depth = True)
  3. depth by velodyne_raw in "data_depth_velodyne.zip"
jahaniam commented 4 years ago

According to reference mrharicot/monodepth#166, Kitti official ground truth = groundtruth in "data_depth_annotated.zip" Projected Raw LiDAR = velodyne_raw in "data_depth_velodyne.zip" Is this right?

Yes, that's right.

depth generated by cameras(generate_depth func in monodepth, vel_depth = False)

Theoretically the result should be identical to Projected Raw LiDAR = velodyne_raw in "data_depth_velodyne.zip"

2.depth generated by velodyne_points(generate_depth func in monodepth, vel_depth = True)

The result is the depth with respect to the lidar point of view, not the camera point of view.

3.depth by velodyne_raw in "data_depth_velodyne.zip"

Theoretically, this should be identical to #1. I've never compared these two myself. There might be a slight difference in the way Kitti and monodepth project the points though. It's easier and better just to use the official provided one instead, i.e. "data_depth_velodyne.zip"

Hope it answers your questions.

tjqansthd commented 4 years ago

I was confused about "velodyne_raw in data_depth_velodyne.zip", cause it is also provided with the exception of the first and last 5 frames, like annotated depth. This data cannot be tested on 697 Eigen Splits. So I thought there is difference between raw LiDAR from KITTI and monodepth func.

Thanks for the detailed answers!

jahaniam commented 4 years ago

Yeah, you are correct. The only difference which I forgot to mention should be the missing files and there are no 697 Eigen files. Note that the "raw lidar" error reported in the paper is also not on the 697 files due to missing files.

tjqansthd commented 4 years ago

Thanks for your reply! It really helps me a lot.

kamadforge commented 3 years ago

Would you have any code that exactly transforms velodyne_points (which are from the lidar point of view as far as I understand) to data_depth_velodyne.zip (which is camera's point of view)?