From fd114bbecfa112767d581c71f2fb1b25fb6a8e4a Mon Sep 17 00:00:00 2001 From: kunjikakgp Date: Mon, 20 Jul 2026 01:38:48 +0530 Subject: [PATCH] Document that exported poses are metric scale (closes #8) Added clarification on metric scale of poses and comparison with SfM pipelines. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f7643f7..147b768 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,8 @@ The `t_ij` element of the transform matrix is in row-major order, so `i` is the **NOTE:** The coordinate system of the camera poses follows the ARKit gravity aligned convention which you can read about [here](https://developer.apple.com/documentation/arkit/arconfiguration/worldalignment/gravity). In short, this is a right-handed coordinate system where the `+Y axis` points up, and `-Z axis` points in the direction that the camera was pointing when the session started, and perpendicular to gravity. Note: depending on the coordinate system convention of your downstream application you might have to apply an additional rotation to the camera transform to get the conventions to match. +**Are the poses metric scale?** Yes. ARKit's camera tracking fuses the device's IMU (accelerometer) with visual data via visual-inertial odometry, and on LiDAR-equipped devices further grounds tracking with direct depth measurement -- both give the exported poses a real-world physical unit reference, so translations are in meters. This is different from vision-only SfM pipelines like COLMAP, where scale is ambiguous unless recovered from an external reference (a measured object, GPS, or fused IMU data) -- one of the practical advantages of using Polycam's raw export for applications like metric-scale NeRF/3DGS training. (See issue #8.) + ### corrected_cameras This directory includes the improved camera poses that have been globally optimized. The data is formatted in the same way as the cameras described above, and you should almost always use these files intead of the original camera files. If this directory does not exist, it means the session was too large for the pose optimization step to run on device, but you can still fall use the unoptimized ARKit camera poses.