How to use FastMAC
xl232lx opened this issue · 14 comments
Hi
I use FastMAC to get three txt files, how to combine into MAC?
Please begin by installing MAC following the provided instructions.
For a quick test, we recommend using the KITTI dataset provided by MAC. Simply run our downsampling code on the correspondence file, replace it with the downsampled version, and then execute MAC.
For your custom dataset, an easy approach is to organize it into a directory containing three files: correspondence, gtlabel, and gtmatrix. The ground truth file serves merely as a placeholder to minimize modifications to the MAC code. Treat your custom dataset the same as the KITTI dataset within MAC by adjusting the number of point cloud samples and other hyperparameters.
If you can wait a bit longer, we plan to release a comprehensive Python version pipeline integrated with MAC soon. Please do not hesitate to contact us if you encounter any issues!
Thank you for your reply, your work is very good, looking forward to your optimized version!!!
Hello, can I ask you how to make these three txt files through my two PCD files?Can you tell me more about that? Thank you very much!!!
For a given point cloud [N, 3], use a descriptor (e.g. FPFH or FCGF) to get a pointwise feature [N, D]. Then for any two point clouds they can form a similarity matrix [N, M] and the similarity score can be defined as the distance between features. With the similarity matrix, one can form the correspondence [N, 1] simply by finding the nearest neighbor. For more details, please see the Appendix A.3 of our paper or the code of MAC.
gtlabel is used to test whether your correspondence is right. It is not important so you can just randomly generate a [N, 1] matrix.
gtmatrix can be found using ICP as a pseudo ground truth. Or if your point cloud is generated using a known transformation, you already have it!
Ok, thanks. I mainly saw that MAC seemed to generate fpfh@corr.txt file by referring to PointDSC and SC2-PCR.I'll do some research.Thank you again for your reply!
Please begin by installing MAC following the provided instructions.
For a quick test, we recommend using the KITTI dataset provided by MAC. Simply run our downsampling code on the correspondence file, replace it with the downsampled version, and then execute MAC.
For your custom dataset, an easy approach is to organize it into a directory containing three files: correspondence, gtlabel, and gtmatrix. The ground truth file serves merely as a placeholder to minimize modifications to the MAC code. Treat your custom dataset the same as the KITTI dataset within MAC by adjusting the number of point cloud samples and other hyperparameters.
If you can wait a bit longer, we plan to release a comprehensive Python version pipeline integrated with MAC soon. Please do not hesitate to contact us if you encounter any issues!
Hi, Do you mean the output of FastMAC is the input of MAC algorithm?
Please begin by installing MAC following the provided instructions.
For a quick test, we recommend using the KITTI dataset provided by MAC. Simply run our downsampling code on the correspondence file, replace it with the downsampled version, and then execute MAC.
For your custom dataset, an easy approach is to organize it into a directory containing three files: correspondence, gtlabel, and gtmatrix. The ground truth file serves merely as a placeholder to minimize modifications to the MAC code. Treat your custom dataset the same as the KITTI dataset within MAC by adjusting the number of point cloud samples and other hyperparameters.
If you can wait a bit longer, we plan to release a comprehensive Python version pipeline integrated with MAC soon. Please do not hesitate to contact us if you encounter any issues!Hi, Do you mean the output of FastMAC is the input of MAC algorithm?
Yes!
Hello author, I see that you have updated the project here, now I want to directly register my own two-frame pcd point cloud file what are the steps, thank you
Please follow the steps:
-
First you may need a correspondence extractor like GeoTransformer. It should take your two-frame point cloud as input and output correspondences, working like the function
FastMAC/pipeline_SLAM/utils/extract_corr.py
Line 493 in b6aa26f
-
With the correspondences, you can easily use the code below to get the final transformation:
FastMAC/pipeline_SLAM/pipeline.py
Lines 95 to 96 in b6aa26f
Ok, thank you very much!
请按照以下步骤操作:
- 首先,你可能需要一个像GeoTransformer这样的对应提取器。它应该将你的两帧点云作为输入和输出对应,工作方式类似于函数
FastMAC/pipeline_SLAM/utils/extract_corr.py
Line 493 in b6aa26f
- 通过对应关系,您可以轻松使用以下代码来获得最终的转换:
FastMAC/pipeline_SLAM/pipeline.py
Lines 95 to 96 in b6aa26f
作者您好,我看了一下registration()中的代码,发现与MAC很相似,请问一下FastMAC对MAC的加速机制在代码中怎么体现呢,感谢您的答疑
MAC is slow in maximal clique search due to its large correspondence graph. Through previous correspondence downsampling, we decrease the size of the correspondence graph while maintaining its performance.
由于 MAC 的对应图很大,因此在最大团搜索中速度较慢。通过先前的对应下采样,我们减小了对应图的大小,同时保持了其性能。
感谢您的回复,我的理解是通过downsample()实现随机谱采样,后续直接使用接入Mac进行变换矩阵的计算,请问我的理解是对的吗?感谢您的解答!
由于 MAC 的对应图很大,因此在最大团搜索中速度较慢。通过先前的对应下采样,我们减小了对应图的大小,同时保持了其性能。
感谢您的回复,我的理解是通过downsample()实现随机谱采样,后续直接使用接入Mac进行变换矩阵的计算,请问我的理解是对的吗?感谢您的解答!
yes! we didn't directly modify MAC