Test Protocols
Resource-feasibility protocol
For the primary configuration, then the fallback only if needed:
- Load DA3 Small and warm up with one window.
- Run five recorded windows.
- Record inference success, p50/p95 latency, peak unified memory, and output validity.
- Confirm at least 1 GB remains available for the rest of the application.
The primary passes when all five 4×336 windows complete below 7.0 GB. If it fails, apply the same rule to five 3×280 windows. If both fail, stop the live implementation and report infeasibility on the available stack.
Calibration protocol
Report:
- Accepted calibration-image count
- Mean and maximum reprojection error
- Calibration resolution
- Camera mode, focus, and exposure
Mean reprojection error must be below 0.5 px. Compare calibrated and DA3-predicted fx, fy, cx, and cy diagnostically, but use DA3 intrinsics for reconstruction.
Single-window validity protocol
Evaluate five development windows and report:
- Finite valid-depth percentage
- Confidence distribution and 40th-percentile threshold
- Predicted focal lengths and principal points
- Camera-center plot
- Retained point count
- Visible geometry defects
Verify:
- Depth and confidence align with processed RGB
- Extrinsics follow world-to-camera convention
- Inverted extrinsics place cameras and points coherently
- Colors use processed-image coordinates
- PLY export reloads successfully
Do not make metric-depth claims before scale alignment.
Overlapping-window alignment protocol
Run the untouched evaluation sweep once with the locked configuration. For every attempted registration record:
- Shared frame identifiers
- Valid correspondence count
- RANSAC inlier count and ratio
- Refined Sim(3) scale
- Median inlier residual
- Accepted status or rejection reason
- Correspondence and alignment latency
Acceptance requires:
- At least 1,000 correspondences
- At least 50% inliers
- Median residual no greater than 2% of median global overlap depth
- Scale in
[0.5, 2.0]
The target is at least 80% accepted registrations. Rejected windows must add neither points nor camera poses.
Scale and doorway protocol
Use the independent 1.0 m segment in the first accepted window:
- Select its endpoints in the raw relative cloud.
- Measure its internal-unit length.
- Calculate and apply one global metric scale.
- Save the raw and scaled clouds and trajectories.
Then measure doorway inside-frame width and height:
- Photograph and label the physical measurement.
- Mark corresponding endpoints in the scaled cloud.
- Record reference and reconstructed values.
- Calculate absolute error in centimetres and percentage error.
- Save an annotated screenshot.
The scale reference and doorway must be different objects.
Live-performance protocol
Warm up for 30 seconds, then run the complete live system for five minutes.
Report:
- Preview frame rate
- Selected frames per second
- Window-inference p50 and p95 latency
- Sim(3)-alignment p50 and p95 latency
- Map-update latency
- Accepted updates per minute
- p50 and p95 time between accepted viewer updates
- Peak unified memory
- Average and peak power
- Maximum temperature
- Dropped or replaced candidate frames
Use NVIDIA’s tegrastats. The target is at least one accepted update every five seconds with a responsive preview and bounded queues.
Sustained-run protocol
Run the target configuration continuously for 15 minutes. Record:
- Window latency and update interval over time
- Unified memory and global point count over time
- Power and temperature over time
- Accepted and rejected windows
- Consolidations and point-cap events
- Inference failures, queue growth, corrupted geometry, crashes, or viewer stalls
The run passes without:
- Out-of-memory failure
- Unbounded selected-frame queue or update latency
- More than 30 accepted windows or 1,000,000 points
- Points or poses from a rejected window
- Corrupted PLY output
- Application crash
- Viewer stall
Optional ray-pose protocol
After the baseline succeeds, process the same recorded evaluation sweep once with use_ray_pose=True.
Keep ray pose only when:
- Peak used memory remains below 7.0 GB
- Accepted updates remain at least one every five seconds
- Registration acceptance or median overlap residual improves