zhangxy0517 / 3D-Registration-with-Maximal-Cliques

Source code of CVPR 2023 paper
MIT License
421 stars 45 forks source link

配准问题 #12

Open CHANdaFeng opened 1 year ago

CHANdaFeng commented 1 year ago

您好,我在配准两帧激光点云雷达的时候,当角度小于90度时候都能配准,当两帧点云旋转相差180度时候,运行程序 ,计算完graph construction, 程序结束,貌似是 Graph.norm() == 0), 请问一下您测试的时候这种情况可以通过吗,或者该如何修改代码,目前我的correspondence设置是500个,downsample=0.7 registration(src_cloud, des_cloud, correspondence, ov_lable, folderPath, resolution, 0.99); //FPFH 0.95 or 0.9 2

zhangxy0517 commented 1 year ago

Graph.norm()为0表明兼容图中没有边,所有匹配互不兼容。匹配的采样数不要设置太小

zhangxy0517 commented 1 year ago

1、采样数量小一些,比如2500 2、兼容阈值大一点,比如0.999

CHANdaFeng commented 1 year ago

hello, 目前测试修改后,降采样为0.7,采样5000个数,兼容性得分0.999,不过配准效果还是不太好,请问可能是什么原因~?地面点、噪声影响? 5

4

zhangxy0517 commented 1 year ago

你的数据有gt吗?建议和真值比较看下误差。MAC是粗配准方法,如果要进行高精度配准,还需要icp进一步优化结果

CHANdaFeng commented 1 year ago

@zhangxy0517 好的,谢谢您的建议。还想请问一下在日记中,哪一个参数是用来评估配准效果好坏?,或者论文中,类似得分之类的信息? raw_correspondence:3468 correspondence:250 Start registration. 进入第二个registration 进入第二个Graph_construction graph construction: 0.0216231 coefficient computation: 0.000375635 0.0908374->min(0.0908374 0.82656 0.510234) clique computation: 7.6468e-05 clique selection: 0.000262457 hypothesis generation & evaluation: 0.000587079 14 : 14 3 2.00638 0.224797 0.50723 0.986243 -0.985204 -0.0913466 -0.145011 -3.2895 0.109196 -0.986711 -0.120321 2.15954 -0.132094 -0.134375 0.982087 0.656984 0 0 0 1

zhangxy0517 commented 1 year ago

RE和TE,RMSE能评估误差。目前demo函数没有与gt评估的功能。代码中提供了评估函数: calculate_rotation_error calculate_translation_error RMSE_compute_scene 如需使用可以参考实验代码

CHANdaFeng commented 1 year ago

@zhangxy0517 好的,感谢您的回复!

CHANdaFeng commented 1 year ago

hello,请问一下,代码中有提供评价 两帧匹配收敛效果好坏的评价指标吗, 是根据 double score = evaluation_trans() 这个函数 判断吗,

zhangxy0517 commented 1 year ago

对的,evaluation_trans()根据匹配来评估每个位姿变换假设,分数最高的作为最终结果

CHANdaFeng commented 1 year ago

好的,那最终是看迭代后的分best_score 来评估吗,如果A和多帧进行配准,得分都是best_score=1 ,那么如何挑选配准最佳的?

zhangxy0517 commented 1 year ago

MAC是两两配准方法。evaluation_trans评估的是一对点云产生的所有假设的分数,并不适用于多对点云

zhangxy0517 commented 1 year ago

不可以的

zhangxy0517 commented 1 year ago

可以参考下python版本的feature matching

CHANdaFeng commented 12 months ago

@zhangxy0517 您好,feature matching c++版本的搜索KD tree这部分,我看其时间复杂度是n*nlogn, python版本看似加快了运算, 但是两个描述子在做内积运算的时候,其时间复杂度是n^3, 然后在找出每行最大, python版本的时间复杂度好像更慢呀?

vampire1204 commented 10 months ago

算法对点云的数据有要求吗?比如激光的数据和预测深度的数据(没有激光数据好),包括稀疏程度等 都适用吗?谢谢

zhangxy0517 commented 10 months ago

MAC的输入是特征匹配,理论上对于不同数据类型是通用的。但是也要具体问题具体分析,建议多尝试。

vampire1204 commented 10 months ago

好的,谢谢