Implementation Overview

1 Reconstruction Quality Metrics & RRI Computation

This section provides a comprehensive overview of reconstruction quality metrics and how to compute the Relative Reconstruction Improvement (RRI) score for Next-Best-View planning.

1.1 Overview

The evaluation of 3D reconstruction quality relies on comparing predicted reconstructions against ground truth meshes. Both ATEK and EFM3D provide implementations for computing these metrics using:

  • Trimesh: For mesh loading and surface sampling
  • PyTorch: For efficient distance computations
  • Point-to-mesh distance functions: Core geometric primitives

1.2 Contents

This section is organized into the following topics:

  1. Theory: Surface Reconstruction Metrics - Core metrics: Accuracy, Completeness, Chamfer Distance, Precision/Recall
  2. ATEK Implementation - Detailed breakdown of ATEK’s mesh evaluation functions
  3. EFM3D Implementation - EFM3D utilities for point clouds, rays, and voxels
  4. RRI Computation - Complete pipeline for computing RRI oracle with ASE dataset

1.3 Quick Reference: Key Functions

1.3.1 From ATEK

Function Purpose Location
evaluate_single_mesh_pair() Complete mesh evaluation pipeline surface_reconstruction_metrics.py
compute_pts_to_mesh_dist() Point-to-mesh distance computation surface_reconstruction_utils.py
point_to_closest_tri_dist() Point-to-triangle projection + distance surface_reconstruction_utils.py

1.3.2 From EFM3D

Function Purpose Location
eval_mesh_to_mesh() Mesh evaluation with visualizations utils/mesh_utils.py
dist_im_to_point_cloud_im() Depth → point cloud conversion utils/depth.py
ray_obb_intersection() Ray-box intersection for sampling utils/ray.py
sample_depths_in_grid() Sample depths along rays in voxel grid utils/ray.py
pointcloud_to_occupancy_snippet() Point cloud → occupancy grid with free space utils/pointcloud.py
pointcloud_to_voxel_counts() Point cloud → voxel density grid utils/pointcloud.py

1.4 References