Closed zjhthu closed 6 years ago
You’re correct in pointing out the differences -- however, they do not need to be consistent. The distance threshold and use of KNN compute in register2Fragments.m
are all just heuristics as part of the algorithm for detecting loop closures, which operates on top of 3DMatch. You are free to change these heuristics to whatever works better for your own descriptor or search algorithm, although we kept them the same throughout our comparisons in experiments. For evaluation purposes on our benchmark, the code in getGtInfoLog.m
for computing pseudo ground truth should not be modified.
I see, thanks for your reply.
I find there are inconsistencies in overlap computation of ground truth and prediction. In
getGtInfoLog.m
, the nearst distance is computed through[nnIdx,nnSqrDist] = multiQueryKNNSearchImpl(fragment1PointCloud,fragment2Points',1);
. While inregister2Fragments.m
, the nearst disantce of pc1 in pc2 is computed through[nnIdx,sqrDists] = multiQueryKNNSearchImpl(pointCloud(fragment2Points'),fragment1Points',1);
. The computation inregister2Fragments.m
might be the correct usage ofmultiQueryKNNSearchImpl
.Besides, the distance thresholds in these two files are also different, which are 0.006*5=0.03 and
0.05
. These issuses might have a slight impact on the evaluation results.