Twinsee capture demo

Phone records; everything below is computed offline from one recording.

Samsung SM-S931U1 wide (5) + ultrawide (2)1080p30 + IMU

What the phone records

Two camera streams plus 10 sensor streams, all on the same clock, and the factory calibration. Everything below them is computed offline.

Sensors

SensorChipRateSamplesAccuracy
Accelerometerspecific force, m/s²lsm6dsv_0STMicro457 Hz7,492high
Accelerometer, uncalibrated+ bias estimatelsm6dsv_0STMicro457 Hz7,499high
Gyroscopeangular rate, rad/slsm6dsv_0STMicro455 Hz7,462high
Gyroscope, uncalibrated+ drift estimatelsm6dsv_0STMicro455 Hz7,466high
Gravityfused gravity vectorsoftware fusionQTI182 Hz2,988high
Game rotation vectororientation, no magnetometersoftware fusionQTI182 Hz2,989high
Rotation vectororientation + heading accuracysoftware fusionQTI182 Hz2,986high
Magnetometerfield, µTak0991x_0akm100 Hz1,640low
Magnetometer, uncalibrated+ hard-iron estimateak0991x_0akm100 Hz1,640high
Barometerpressure, hPabmp5BOSCH12 Hz203high
Location was off, so there is no declination and heading is magnetic north. The magnetometer also reported low accuracy (it needs a figure-8 calibration).

Camera configuration

Cameras

Widecamera 5
video
1920×1080 · HEVC 50 Mb/s · 29.93 fps
lens
5.4 mm · 73° horizontal FOV
sensor
4080×3060 px
frames
464 recorded, 1 dropped
Ultrawidecamera 2
video
1920×1080 · HEVC 50 Mb/s · 29.93 fps
lens
2.2 mm · 91° horizontal FOV
sensor
4000×3000 px
frames
464 recorded, 1 dropped
OIS offEIS offno distortion correctionzoom 1×exposure lockedwhite balance lockedfixed 30 fps

Per-frame metadata

exposure
16.7 ms
ISO
96–135
focus
0.10–5.13 diopters (continuous AF)
rolling shutter
11.2 ms readout
per frame
timestamp, exposure, ISO, focus, AF & lens state, crop, OIS mode

Factory calibration

intrinsics
focal length & principal point per stream
distortion
5-coefficient model per lens
baseline
15.6 mm wide ↔ ultrawide
clock
cameras + sensors share REALTIME
camera sync
approximate

Extracted offline

1

Gravity, north and phone height

Per-frame horizon and gravity arrow from the IMU, compass heading, and the phone's height above the support plane.

29.9 cmmedian height above desk
magneticnorth reference
Phone Location was off, so heading is magnetic north (no declination).
Per-frame CSV
2

Metric 3D point cloud

Structure-from-motion on wide + ultrawide frames as a two-camera rig. The fixed 15.6 mm factory baseline makes it metric; IMU gravity sets up.

116frames registered
55,711points
0.49°gravity consistency
Open 3D view full screen ↗  raw cloud: sfm/points.ply
3

Planes and object measurement

RANSAC planes in the gravity-aligned cloud (desk, monitor), then the object standing on the support plane is measured.

detected planes
cup measurement
17.9 cmcup height
7.8 cmcup diameter
16.2 cmreal cup height+11% (+1.7 cm)
7.2 cmreal cup diameter+9% (+0.6 cm)

Real size: user, tape measure (2026-10-26). Both dimensions read 10% large, which points to an overall scale error rather than noise.

SfM points through/off a transparent glass are sparse; treat as approximate
horizontal plane
17,214 pts · normal [0.02, 0.03, 1.0]
vertical plane
11,071 pts · normal [-0.41, 0.91, 0.09]
horizontal plane
3,395 pts · normal [-0.02, 0.03, 1.0]
horizontal plane
2,962 pts · normal [0.03, 0.02, 1.0]
oblique plane
2,089 pts · normal [-0.96, -0.06, 0.26]
oblique plane
1,728 pts · normal [-0.13, 0.72, 0.68]
4

Stereo + Depth Pro depth, camera trajectory

Wide/ultrawide stereo with factory calibration, Apple Depth Pro on the same frame, and the two fused where they agree.

79%stereo valid pixels
0.79×Depth Pro scale to stereo
0.26°gyro vs SfM rotation
-14 msIMU–camera offset
trajectory length
2.48 m
gyro vs SfM error (p90)
0.68°
time offset correlation
r = 0.95
stereo baseline
15.6 mm
rectified focal
667 px

How the fusion works

Frame 60. Every depth panel uses the same colour range (0.31–0.76 m); red is near, blue is far.

1Rectified wide frame

Wide + ultrawide rectified with the factory calibration (15.6 mm baseline).

2Stereo depth

Metric, but holes on glass, glossy and blank surfaces: 71% of pixels valid.

3Depth Pro (raw)

Dense from a single image, but its metric scale drifts from frame to frame.

4Scale to stereo, ×0.51

Multiply by this frame's median stereo / Depth Pro ratio.

5Agreement check

Where both agree within 15%, average them; elsewhere use scaled Depth Pro.

agree 37%disagree 35%hole 29%
6Fused depth

Every pixel filled; metric scale from stereo, edges and shape from Depth Pro.

Accuracy: stereo vs Depth Pro vs fused

Reference: 91,327 metric SfM points over 106 frames, each triangulated from 3+ views with reprojection error under 1.5 px. Each method's depth is sampled at those points. AbsRel = mean |error| / true depth; scale bias = median predicted / true; best per column in blue.

MethodCoverageAbsRelWithin 10%Within 25%Scale bias
Stereo90%6.7%77%96%0.99×
Depth Pro, raw metric100%30.9%22%56%1.20×
Depth Pro scaled to stereo100%10.8%54%88%0.95×
Fused (stereo + Depth Pro)100%9.8%59%89%0.96×
Stereo, oracle scale90%4.3%88%97%1.00×
Depth Pro, oracle scale100%5.7%84%92%1.00×

Where stereo has no depth

9,356 reference points (10%) land in stereo holes. Only Depth Pro covers these, so here the fused result is scaled Depth Pro.

MethodAbsRelWithin 10%Scale bias
Depth Pro, raw metric32.3%30%1.15×
Depth Pro scaled to stereo13.7%26%0.87×
Fused (stereo + Depth Pro)13.7%26%0.87×
What fusion buys: raw Depth Pro is off by 31% on average; taking the scale from stereo cuts that to 10.8%. In stereo holes (10% of points) fused depth is 13.7% off, where stereo alone has nothing. What it costs: where stereo has depth, stereo alone (6.7%) beats fused (9.4%), because the current rule trusts Depth Pro wherever the two disagree. Keeping stereo wherever it is valid and using scaled Depth Pro only in the holes would give about 7.5% overall with full coverage. Oracle rows rescale each frame to the reference: they measure shape only and are not available at run time.
Caveats: SfM points sit on textured surfaces, where stereo works best, so these numbers flatter stereo. SfM and stereo share the 15.6 mm factory baseline, so a baseline error would not show in scale bias; a tape-measured distance would catch it.
5

Gaussian splat (Brush)

A photoreal 3D model you can fly around: about a quarter of a million small coloured Gaussians fitted to the wide + ultrawide frames, starting from the metric, gravity-aligned SfM poses.

247kGaussians
232input frames (wide + ultrawide)
23 min30,000 steps on one T4
What holds up: desk, cup, mouse and notebook from above and from farther back. What breaks: anything the phone only glimpsed (scene edges, behind the monitor) smears into streaks, and so does any view far outside the recorded arc.
Open splat full screen ↗  file: splat/splat_30000.splat (compact .splat, colour only)

Novel views

Rendered from camera positions the phone never occupied. The fly-around is 1.35× farther out and 18° higher than the recording (which orbited at 39 cm, 33° up, over 104°).

Straight down from above · the phone never looked down at the desk
Low, grazing angle · below and past the end of the recorded arc
Pulled far back · 2.4× farther than the phone ever was
6

Dense cloud (MapAnything)

Meta's MapAnything predicts depth and camera poses for all views in one network pass: a dense cloud without per-pixel matching. Shown at SfM scale (its own metric scale was far off).

551kpoints (4 mm voxels)
116views in one pass
5.45×MapAnything's own scale vs SfM
Visual only, not a measurement. A looks cleaner (cup rim visible as a ring from above); both clouds are geometrically weak: desk tilted 10.3 deg (A) / 6.6 deg (B) vs SfM desk, only 6-8% of points on a flat desk (SfM 25%), cup not reconstructed (glass). B kept the SfM poses (1.6 deg, 5 mm) but its desk sits 6-12 cm below the SfM desk. A native metric scale is 5.4x off; A is shown at SfM scale via Sim(3) on camera centres. Visual only, do not measure from it.
RunViewsPointsOwn scale vs SfMCamera position errorCamera rotation error
MapAnything poses (A)116551,3725.45×0.022 m8.54°
SfM poses given (B)116994,3811.02×0.006 m1.56°
7

Camera trajectory: MegaSaM vs ground truth

MegaSaM estimates the camera path from the wide video alone (no IMU, no calibration). Here it is compared with the metric SfM trajectory on the same 116 frames, and again after fixing its scale with phone sensors.

ground truth (metric SfM)normal MegaSaM (dashed)fixed MegaSaM, phone scale (dotted)
startnormalfixed10 cm0.0 s · normal 10.7 cm · fixed 2.2 cm0.1 s · normal 9.8 cm · fixed 2.1 cm0.3 s · normal 9.1 cm · fixed 1.8 cm0.4 s · normal 8.5 cm · fixed 1.6 cm0.5 s · normal 8.2 cm · fixed 1.4 cm0.7 s · normal 8.1 cm · fixed 1.4 cm0.8 s · normal 7.4 cm · fixed 1.5 cm0.9 s · normal 6.2 cm · fixed 1.5 cm1.1 s · normal 5.0 cm · fixed 1.6 cm1.2 s · normal 3.8 cm · fixed 1.4 cm1.3 s · normal 3.0 cm · fixed 1.2 cm1.5 s · normal 3.0 cm · fixed 0.8 cm1.6 s · normal 3.0 cm · fixed 0.6 cm1.7 s · normal 2.8 cm · fixed 0.4 cm1.9 s · normal 2.2 cm · fixed 0.6 cm2.0 s · normal 1.2 cm · fixed 0.8 cm2.1 s · normal 1.3 cm · fixed 0.7 cm2.3 s · normal 2.2 cm · fixed 0.5 cm2.4 s · normal 3.2 cm · fixed 0.3 cm2.5 s · normal 3.7 cm · fixed 0.5 cm2.7 s · normal 4.3 cm · fixed 0.6 cm2.8 s · normal 5.2 cm · fixed 0.7 cm2.9 s · normal 6.0 cm · fixed 0.8 cm3.1 s · normal 6.4 cm · fixed 0.9 cm3.2 s · normal 6.8 cm · fixed 1.0 cm3.3 s · normal 7.3 cm · fixed 1.0 cm3.5 s · normal 7.9 cm · fixed 1.1 cm3.6 s · normal 8.5 cm · fixed 1.3 cm3.7 s · normal 9.0 cm · fixed 1.4 cm3.9 s · normal 9.5 cm · fixed 1.5 cm4.0 s · normal 9.8 cm · fixed 1.6 cm4.1 s · normal 9.5 cm · fixed 1.6 cm4.3 s · normal 9.1 cm · fixed 1.4 cm4.4 s · normal 8.0 cm · fixed 1.4 cm4.5 s · normal 7.1 cm · fixed 1.2 cm4.7 s · normal 6.1 cm · fixed 1.1 cm4.8 s · normal 5.3 cm · fixed 1.0 cm4.9 s · normal 4.5 cm · fixed 0.9 cm5.1 s · normal 4.0 cm · fixed 0.7 cm5.2 s · normal 4.0 cm · fixed 0.6 cm5.3 s · normal 4.3 cm · fixed 0.6 cm5.5 s · normal 5.0 cm · fixed 0.6 cm5.6 s · normal 5.6 cm · fixed 0.6 cm5.7 s · normal 6.2 cm · fixed 0.7 cm5.9 s · normal 6.9 cm · fixed 0.7 cm6.0 s · normal 7.1 cm · fixed 0.8 cm6.1 s · normal 7.6 cm · fixed 0.9 cm6.3 s · normal 7.8 cm · fixed 0.9 cm6.4 s · normal 8.3 cm · fixed 1.0 cm6.5 s · normal 8.7 cm · fixed 1.2 cm6.7 s · normal 9.5 cm · fixed 1.2 cm6.8 s · normal 10.4 cm · fixed 1.1 cm6.9 s · normal 11.0 cm · fixed 1.2 cm7.1 s · normal 11.8 cm · fixed 1.3 cm7.2 s · normal 12.6 cm · fixed 1.3 cm7.4 s · normal 13.0 cm · fixed 1.3 cm7.5 s · normal 12.6 cm · fixed 1.5 cm7.6 s · normal 11.8 cm · fixed 1.5 cm7.8 s · normal 10.8 cm · fixed 1.5 cm7.9 s · normal 9.7 cm · fixed 1.5 cm8.0 s · normal 8.4 cm · fixed 1.3 cm8.2 s · normal 7.3 cm · fixed 1.1 cm8.3 s · normal 6.5 cm · fixed 0.9 cm8.4 s · normal 6.5 cm · fixed 0.8 cm8.6 s · normal 6.8 cm · fixed 0.9 cm8.7 s · normal 7.6 cm · fixed 0.8 cm8.8 s · normal 8.7 cm · fixed 0.8 cm9.0 s · normal 9.5 cm · fixed 0.7 cm9.1 s · normal 9.6 cm · fixed 1.0 cm9.2 s · normal 10.0 cm · fixed 0.9 cm9.4 s · normal 10.3 cm · fixed 1.0 cm9.5 s · normal 10.6 cm · fixed 1.0 cm9.6 s · normal 10.5 cm · fixed 1.3 cm9.8 s · normal 11.2 cm · fixed 1.1 cm9.9 s · normal 12.0 cm · fixed 1.2 cm10.0 s · normal 12.6 cm · fixed 1.4 cm10.2 s · normal 13.7 cm · fixed 1.3 cm10.3 s · normal 13.8 cm · fixed 1.5 cm10.4 s · normal 13.9 cm · fixed 1.6 cm10.6 s · normal 13.6 cm · fixed 1.6 cm10.7 s · normal 12.9 cm · fixed 1.5 cm10.8 s · normal 11.5 cm · fixed 1.5 cm11.0 s · normal 9.6 cm · fixed 1.5 cm11.1 s · normal 7.6 cm · fixed 1.4 cm11.2 s · normal 5.1 cm · fixed 1.4 cm11.4 s · normal 2.8 cm · fixed 1.1 cm11.5 s · normal 2.4 cm · fixed 0.6 cm11.6 s · normal 3.7 cm · fixed 0.8 cm11.8 s · normal 5.8 cm · fixed 0.2 cm11.9 s · normal 7.0 cm · fixed 0.6 cm12.0 s · normal 7.8 cm · fixed 0.8 cm12.2 s · normal 8.9 cm · fixed 1.2 cm12.3 s · normal 10.6 cm · fixed 1.3 cm12.4 s · normal 11.4 cm · fixed 1.6 cm12.6 s · normal 12.1 cm · fixed 1.7 cm12.7 s · normal 12.9 cm · fixed 1.8 cm12.8 s · normal 13.2 cm · fixed 2.0 cm13.0 s · normal 13.3 cm · fixed 2.0 cm13.1 s · normal 13.1 cm · fixed 2.0 cm13.2 s · normal 12.5 cm · fixed 2.0 cm13.4 s · normal 11.6 cm · fixed 1.9 cm13.5 s · normal 10.8 cm · fixed 1.8 cm13.6 s · normal 9.8 cm · fixed 1.7 cm13.8 s · normal 9.2 cm · fixed 1.5 cm13.9 s · normal 8.1 cm · fixed 1.5 cm14.0 s · normal 7.1 cm · fixed 1.3 cm14.2 s · normal 6.0 cm · fixed 1.2 cm14.3 s · normal 5.4 cm · fixed 0.8 cm14.4 s · normal 4.8 cm · fixed 0.7 cm14.6 s · normal 4.3 cm · fixed 0.8 cm14.7 s · normal 4.3 cm · fixed 0.7 cm14.8 s · normal 4.2 cm · fixed 0.7 cm15.0 s · normal 4.2 cm · fixed 0.6 cm15.1 s · normal 4.1 cm · fixed 0.5 cm15.2 s · normal 3.9 cm · fixed 0.5 cm15.4 s · normal 3.8 cm · fixed 0.6 cm
Top-down, gravity-aligned. Both runs placed by rotation + translation only, no rescaling, so a wrong scale shows.
07140 s5 s10 s15 scmnormalfixed0.0 s · normal 10.7 cm · fixed 2.2 cm0.1 s · normal 9.8 cm · fixed 2.1 cm0.3 s · normal 9.1 cm · fixed 1.8 cm0.4 s · normal 8.5 cm · fixed 1.6 cm0.5 s · normal 8.2 cm · fixed 1.4 cm0.7 s · normal 8.1 cm · fixed 1.4 cm0.8 s · normal 7.4 cm · fixed 1.5 cm0.9 s · normal 6.2 cm · fixed 1.5 cm1.1 s · normal 5.0 cm · fixed 1.6 cm1.2 s · normal 3.8 cm · fixed 1.4 cm1.3 s · normal 3.0 cm · fixed 1.2 cm1.5 s · normal 3.0 cm · fixed 0.8 cm1.6 s · normal 3.0 cm · fixed 0.6 cm1.7 s · normal 2.8 cm · fixed 0.4 cm1.9 s · normal 2.2 cm · fixed 0.6 cm2.0 s · normal 1.2 cm · fixed 0.8 cm2.1 s · normal 1.3 cm · fixed 0.7 cm2.3 s · normal 2.2 cm · fixed 0.5 cm2.4 s · normal 3.2 cm · fixed 0.3 cm2.5 s · normal 3.7 cm · fixed 0.5 cm2.7 s · normal 4.3 cm · fixed 0.6 cm2.8 s · normal 5.2 cm · fixed 0.7 cm2.9 s · normal 6.0 cm · fixed 0.8 cm3.1 s · normal 6.4 cm · fixed 0.9 cm3.2 s · normal 6.8 cm · fixed 1.0 cm3.3 s · normal 7.3 cm · fixed 1.0 cm3.5 s · normal 7.9 cm · fixed 1.1 cm3.6 s · normal 8.5 cm · fixed 1.3 cm3.7 s · normal 9.0 cm · fixed 1.4 cm3.9 s · normal 9.5 cm · fixed 1.5 cm4.0 s · normal 9.8 cm · fixed 1.6 cm4.1 s · normal 9.5 cm · fixed 1.6 cm4.3 s · normal 9.1 cm · fixed 1.4 cm4.4 s · normal 8.0 cm · fixed 1.4 cm4.5 s · normal 7.1 cm · fixed 1.2 cm4.7 s · normal 6.1 cm · fixed 1.1 cm4.8 s · normal 5.3 cm · fixed 1.0 cm4.9 s · normal 4.5 cm · fixed 0.9 cm5.1 s · normal 4.0 cm · fixed 0.7 cm5.2 s · normal 4.0 cm · fixed 0.6 cm5.3 s · normal 4.3 cm · fixed 0.6 cm5.5 s · normal 5.0 cm · fixed 0.6 cm5.6 s · normal 5.6 cm · fixed 0.6 cm5.7 s · normal 6.2 cm · fixed 0.7 cm5.9 s · normal 6.9 cm · fixed 0.7 cm6.0 s · normal 7.1 cm · fixed 0.8 cm6.1 s · normal 7.6 cm · fixed 0.9 cm6.3 s · normal 7.8 cm · fixed 0.9 cm6.4 s · normal 8.3 cm · fixed 1.0 cm6.5 s · normal 8.7 cm · fixed 1.2 cm6.7 s · normal 9.5 cm · fixed 1.2 cm6.8 s · normal 10.4 cm · fixed 1.1 cm6.9 s · normal 11.0 cm · fixed 1.2 cm7.1 s · normal 11.8 cm · fixed 1.3 cm7.2 s · normal 12.6 cm · fixed 1.3 cm7.4 s · normal 13.0 cm · fixed 1.3 cm7.5 s · normal 12.6 cm · fixed 1.5 cm7.6 s · normal 11.8 cm · fixed 1.5 cm7.8 s · normal 10.8 cm · fixed 1.5 cm7.9 s · normal 9.7 cm · fixed 1.5 cm8.0 s · normal 8.4 cm · fixed 1.3 cm8.2 s · normal 7.3 cm · fixed 1.1 cm8.3 s · normal 6.5 cm · fixed 0.9 cm8.4 s · normal 6.5 cm · fixed 0.8 cm8.6 s · normal 6.8 cm · fixed 0.9 cm8.7 s · normal 7.6 cm · fixed 0.8 cm8.8 s · normal 8.7 cm · fixed 0.8 cm9.0 s · normal 9.5 cm · fixed 0.7 cm9.1 s · normal 9.6 cm · fixed 1.0 cm9.2 s · normal 10.0 cm · fixed 0.9 cm9.4 s · normal 10.3 cm · fixed 1.0 cm9.5 s · normal 10.6 cm · fixed 1.0 cm9.6 s · normal 10.5 cm · fixed 1.3 cm9.8 s · normal 11.2 cm · fixed 1.1 cm9.9 s · normal 12.0 cm · fixed 1.2 cm10.0 s · normal 12.6 cm · fixed 1.4 cm10.2 s · normal 13.7 cm · fixed 1.3 cm10.3 s · normal 13.8 cm · fixed 1.5 cm10.4 s · normal 13.9 cm · fixed 1.6 cm10.6 s · normal 13.6 cm · fixed 1.6 cm10.7 s · normal 12.9 cm · fixed 1.5 cm10.8 s · normal 11.5 cm · fixed 1.5 cm11.0 s · normal 9.6 cm · fixed 1.5 cm11.1 s · normal 7.6 cm · fixed 1.4 cm11.2 s · normal 5.1 cm · fixed 1.4 cm11.4 s · normal 2.8 cm · fixed 1.1 cm11.5 s · normal 2.4 cm · fixed 0.6 cm11.6 s · normal 3.7 cm · fixed 0.8 cm11.8 s · normal 5.8 cm · fixed 0.2 cm11.9 s · normal 7.0 cm · fixed 0.6 cm12.0 s · normal 7.8 cm · fixed 0.8 cm12.2 s · normal 8.9 cm · fixed 1.2 cm12.3 s · normal 10.6 cm · fixed 1.3 cm12.4 s · normal 11.4 cm · fixed 1.6 cm12.6 s · normal 12.1 cm · fixed 1.7 cm12.7 s · normal 12.9 cm · fixed 1.8 cm12.8 s · normal 13.2 cm · fixed 2.0 cm13.0 s · normal 13.3 cm · fixed 2.0 cm13.1 s · normal 13.1 cm · fixed 2.0 cm13.2 s · normal 12.5 cm · fixed 2.0 cm13.4 s · normal 11.6 cm · fixed 1.9 cm13.5 s · normal 10.8 cm · fixed 1.8 cm13.6 s · normal 9.8 cm · fixed 1.7 cm13.8 s · normal 9.2 cm · fixed 1.5 cm13.9 s · normal 8.1 cm · fixed 1.5 cm14.0 s · normal 7.1 cm · fixed 1.3 cm14.2 s · normal 6.0 cm · fixed 1.2 cm14.3 s · normal 5.4 cm · fixed 0.8 cm14.4 s · normal 4.8 cm · fixed 0.7 cm14.6 s · normal 4.3 cm · fixed 0.8 cm14.7 s · normal 4.3 cm · fixed 0.7 cm14.8 s · normal 4.2 cm · fixed 0.7 cm15.0 s · normal 4.2 cm · fixed 0.6 cm15.1 s · normal 4.1 cm · fixed 0.5 cm15.2 s · normal 3.9 cm · fixed 0.5 cm15.4 s · normal 3.8 cm · fixed 0.6 cm
Camera position error without rescaling (metric).

MegaSaM result, fixed with the phone's scale

Everything here is MegaSaM's own output: its depth for each frame (in metres via the phone stereo scale), its camera path, and the phone moving along it. The red arrow is the phone's gravity sensor carried into the scene by MegaSaM's rotation; it stays within 0.8° (median) of true up, so MegaSaM's orientation agrees with the phone IMU.

Play it yourself

Same data, interactive: play, scrub, orbit. This frame's points, the phone (white), its path so far (green), phone gravity (red) vs true up (grey).

Open viewer full screen ↗
8.5 → 1.2 cmmetric position error, normal → fixed
7.0×lower metric error after the fix
1.51 → 0.93×MegaSaM size vs SfM, normal → fixed
Normal MegaSaMFixed: phone stereo scaleFixed: phone IMU scale
Scale vs SfM metres1.51×0.93×0.92×
Position error, metric (no rescaling)8.5 cm1.2 cm1.4 cm
Position error, shape only (rescaled)0.43 cm0.43 cm0.43 cm
Rotation error, median0.55°0.55°0.55°
Frame-to-frame rotation error0.33°0.33°0.33°

MegaSaM's tracker normalises depth, so its output is in an arbitrary unit whatever depth it is given (feeding it the phone's metric depth and factory focal length changed nothing). The fix measures that unit afterwards with phone sensors: stereo depth vs MegaSaM depth gives ×0.617; the accelerometer, with no camera involved, gives ×0.610 (and recovers gravity as 9.77 m/s²). Run on the SfM path, the same IMU check says SfM is 6% too long, so part of the remaining difference is the ground truth's own scale error. Nothing from SfM is used in the fix.

Ground truth is our own SfM, whose metric scale comes from the 15.6 mm factory baseline (the cup measured ~10% large), so scale numbers compare MegaSaM to SfM, not to the real world. The stereo prior shares that baseline. Shape and rotation errors are unaffected.
Per-frame CSV Per-frame CSV (fixed)