XuyangBai / D3Feat

[TensorFlow] Official implementation of CVPR'20 oral paper - D3Feat: Joint Learning of Dense Detection and Description of 3D Local Features https://arxiv.org/abs/2003.03164
MIT License
259 stars 38 forks source link

Some questions about *.kpl #34

Closed houyongkuo closed 2 years ago

houyongkuo commented 3 years ago

Hello, Thank you for your innovative work. I see that the 3DMatch dataset seems to have to use ".kpl" files. Are the files ".kpl" about keypoints? Do I must need ".kpl" files for training? How do I get the ".kpl" files using my dataset? I do not understand how to train using my own dataset only with "*.ply" files. Thanks.

XuyangBai commented 3 years ago

Hi, I think I do not have .kpl file. What I have is .pkl file which save the down-sampled point cloud and pre-computed correspondences for training. I got these two files using datasets/cal_overlap.py

https://github.com/XuyangBai/D3Feat/blob/9ca3f011dab41f51885c0836d7dd77ecf041bd37/datasets/ThreeDMatch.py#L108-L109

MrZ19 commented 3 years ago

Hi, thank you for your sharing. However, I can not find the "scenelist{split}.txt", where is it? Is it provided by original 3DMatch dataset? If possible, could you please share the detailed 3DMatch data preprocessing?

XuyangBai commented 3 years ago

Hi @MrZ19 The split files are provided by the original 3DMatch. For data preprocessing, I follow the instructions of 3DMatch paper to fuse the RGBD image to get .ply file and its corresponding pose. You may find our code here or use the original implementation provided by 3DMatch.

houyongkuo commented 3 years ago

Hi, Is “data_object_velodyne” used when training the KITTI dataset?

XuyangBai commented 3 years ago

No.

houyongkuo commented 3 years ago

Hi, there are multiple datasets in dataset "KITII". Which one will be used? 1.Download odometry data set (grayscale, 22 GB) 2.Download odometry data set (color, 65 GB) 3.Download odometry data set (velodyne laser data, 80 GB) 4.Download odometry data set (calibration files, 1 MB) 5.Download odometry ground truth poses (4 MB) 6.Download odometry development kit (1 MB) Thanks.

XuyangBai commented 3 years ago

3,4,5 are needed.

houyongkuo commented 3 years ago

Hi,I did not find how to set the batch size. Thanks. I would be grateful if you could help me figure this out.

XuyangBai commented 3 years ago

Currently this codebase only supports batch size equals 1

houyongkuo commented 3 years ago

Hello, I noticed that your method does not need to load an additional corresponding ‘keypoint.txt’ file when matching (such as 3DSmoothNet/TEASER++, which are required), which makes it more convenient to use our own data. How to achieve it?

XuyangBai commented 3 years ago

D3Feat predict descriptor and detection score for each point, so that we can use the detection score to select keypoints. The keypoint.txt used in 3DSmoothNet is randomly selected keypoints provided by 3DMatch dataset.

houyongkuo commented 3 years ago

Thanks! If using my own data for registration, which path will the keypoints data be stored?

XuyangBai commented 3 years ago

you can see the following part

https://github.com/XuyangBai/D3Feat/blob/9ca3f011dab41f51885c0836d7dd77ecf041bd37/utils/tester.py#L185-L187

houyongkuo commented 3 years ago

Thanks! But I find that the files in these paths are all about the descriptor, keypoint and score of the 3DMatch dataset. There aren't relevant files about my own test data for registration.

XuyangBai commented 3 years ago

You can change the path to that of your dataset. D3Feat only needs .ply as input, and generates per-point descriptor, detection score. You can see https://github.com/XuyangBai/D3Feat/blob/master/demo_registration.py as an example.