Closed yinloonga closed 1 year ago
Thanks a lot for your interest in our work.
As mentioned https://github.com/VIS4ROB-lab/voxfield/issues/4, the ESDF error we reported in the paper is calculated by taking the ground truth 3D model as the reference. The evalEsdfRefOcc()
function here is calculated based on the occupancy grid and does not need to load the ground truth 3D model for evaluation. The output of this function can be visualized on the fly but is not very reliable because the occupancy grid map it relied on also has some errors. In other words, It's only an indicator for debugging.
To reproduce the ESDF error reported in the paper, one needs to run the evaluation code provided here after mapping in which the ground truth model is loaded as the reference.
Metric definition in the paper:
ESDF Error: For each voxel in the ESDF map, the ground-truth signed distance is calculated as the Euclidean distance from the voxel’s center to the nearest point in the ground-truth point cloud. The voxel’s ESDF error is then defined as the difference between the ground-truth value and the mapped ESDF value, and the overall ESDF error is computed as the average of all ESDF voxel errors. Compared with the ESDF error metric in FIESTA [4], which is defined with respect to the centers of the occupied voxels, the ESDF error metric used here is not affected by the grid discretization and is, therefore, more accurate.
I use
cow_and_lady
to runvoxedt_server
,voxblox_server
andvoxfield_server
respectively, and print the Erroe-log through theVoxedtServer::evalEsdfRefOcc() function
.