1 rendering.unproject
rendering.unproject
Utilities to back-project rendered depth maps into world-frame point clouds.
This module centralises depth unprojection for candidate renders to avoid frame confusion between the PyTorch3D renderer (which outputs metric z depth in the physical camera frame) and downstream visualisations or fusion steps.
1.1 All functions assume
depthis metric depth along the camera +Z axis (same convention aspytorch3d.renderer.MeshRasterizerwithin_ndc=False).pose_world_camis aefm3d.aria.pose.PoseTWstoring world ← camera extrinsics (LUF camera frame).camerais the matchingefm3d.aria.camera.CameraTWcarrying intrinsics (and, if batched, per-candidate extrinsics that align with the provided depths/poses).
The returned points live in the same VIO/world frame as the ASE mesh and semidense history. Conceptually a valid depth pixel \(d(u,v)\) maps to \(\mathbf{p}_w = T_{w \leftarrow c}\,\pi^{-1}(u,v,d)\); crop and RRI code then decide whether the point contributes to scene-level or target-level scoring.
1.2 Functions
| Name | Description |
|---|---|
| backproject_depths_p3d_batch | Back-project a batch of PyTorch3D depth maps to world-frame points. |
| backproject_depth_with_p3d | Back-project a single depth map using PyTorch3D cameras and a validity mask. |
| backproject_batch | Back-project a CandidateDepths batch into a merged world point cloud. |