Skip to content

VI-Rig: 4 IMUs + 4 cameras

MVIS solving a VI-Rig 4-camera recording: board, camera path and one T265 fisheye frame
MVIS solve view, from the homepage

Our rig with a RealSense T265 fisheye pair (global shutter) and an ELP stereo pair (rolling shutter).

our data 2 global-shutter + 2 rolling-shutter cameras CC BY-NC 4.0

Batch 2026-11-08a · results commit e893730 · Leaderboard · Methodology

Repeatability, not accuracy. There is no ground truth: a small spread shows that a tool repeats, not that it is right, and a difference shows that two tools disagree, not which one is wrong. The MVIS authors made every run, including Kalibr and Basalt.

VI-Rig 4 cams: which tool repeats more tightly, per family and group of parameters
Family Focal + pp pxDistortionDistance mmReadout msTime offset msCam–IMU distance mmGyroAccel
T1 · camera n = 15 matched t265 GS fisheye stereo MVIS ×1.6 a MVIS ×1.6 ba Not separated a —————
T2 · camera n = 13 matched ELP RS stereo + readout not compared not compared not compared MVIS ×4.2 ————
T7 · cam+IMU n = 14 matched Mixed t265-f1 + ELP-L, aux Xsens input, not compared input, not compared input, not compared input, not compared Tie cdefg MVIS ×7.6 cdef MVIS ×2.9K-IMU cdfh MVIS ×4.4K-IMU cdfh
T8 · cam+IMU n = 3 matched ELP RS stereo + two IMUs (IMUs only) MVIS only MVIS only MVIS only MVIS only n = 3 · too few cg n = 3 · too few c n = 3 · too few ch n = 3 · too few ch
T1 · camera · t265 GS fisheye stereo More repeatable or tie: Focal + pp MVIS · Distortion MVIS · Distance not separated n = 15 matched · MVIS 15 of 15 · Kalibr 15 of 15 · Basalt 15 of 15
T2 · camera · ELP RS stereo + readout More repeatable or tie: Readout MVIS n = 13 matched · MVIS 15 of 15 · Kalibr 15 of 15 · Basalt 15 of 15
T7 · cam+IMU · Mixed t265-f1 + ELP-L, aux Xsens More repeatable or tie: Time offset tie · Cam–IMU distance MVIS · Gyro MVIS K-IMU · Accel MVIS K-IMU n = 14 matched · MVIS 15 of 15 · Kalibr 14 of 15 · Basalt not run
T8 · cam+IMU · ELP RS stereo + two IMUs (IMUs only) Too few recordings (n = 3) n = 3 matched · MVIS 15 of 15 · Kalibr 3 of 15 · Basalt not run

MVIS Kalibr Basalt tool ×k more repeatable: the other tools' typical scatter is k times larger Tie gap within chance or under 20 % too few under 6 shared recordings input no comparison, reason in the cell K-IMU MVIS run with Kalibr's IMU model

k = the looser tool's typical scatter divided by the tighter tool's (median over the group's parameters, on the recordings every compared tool ran). Click a cell for its numbers.

  1. a Basalt's fisheye-2 frames are snapped onto fisheye-1 (1.8–5 ms apart).
  2. b Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
  3. c Data settings still differ between the tools on this family.
  4. d Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
  5. e Kalibr ran ELP-L as a global-shutter camera with its stamps shifted by the MVIS td of each recording, so the ELP-L rows are left out here.
  6. f Kalibr's t265 fisheye 1 intrinsics came from an older MVIS export.
  7. g MVIS also fits a gyro–accel delay (t_ga) that Kalibr and Basalt do not, so its td is not quite the same quantity.
  8. h MVIS here uses Kalibr's IMU model, so the gyro and accel terms mean the same thing in both tools.

Each cell is a separate comparison on the recordings every compared tool ran. Cells are not added up and nothing is ordered across datasets.

Not part of this comparison
  • T2 distortion coefficients of ELP-L (4 rows): other camera model: MVIS equidistant, Kalibr and Basalt radtan
  • T2 distortion coefficients of ELP-R (4 rows): other camera model: MVIS equidistant, Kalibr and Basalt radtan
  • T7 reprojection error (2 rows): fit quality, not repeatability and not accuracy
  • T7 IMU g-sensitivity Tg (18 rows): Kalibr absorbs it in its IMU model
  • T7 gyro–accel delay t_ga (2 rows): MVIS only
  • T8 focal length + principal point of ELP-L (4 rows): no Kalibr rolling-shutter run
  • T8 distortion coefficients of ELP-L (4 rows): no Kalibr rolling-shutter run
  • T8 rolling-shutter readout of ELP-L (1 row): no Kalibr rolling-shutter run
  • T8 camera–imu time offset of ELP-L (1 row): no Kalibr rolling-shutter run
  • T8 camera–imu distance of ELP-L (1 row): no Kalibr rolling-shutter run
  • T8 reproj median of ELP-L (1 row): no Kalibr rolling-shutter run
  • T8 focal length + principal point of ELP-R (4 rows): no Kalibr rolling-shutter run
  • T8 distortion coefficients of ELP-R (4 rows): no Kalibr rolling-shutter run
  • T8 rolling-shutter readout of ELP-R (1 row): no Kalibr rolling-shutter run
  • T8 camera–camera distance of ELP-R (1 row): no Kalibr rolling-shutter run
  • T8 camera–imu time offset of ELP-R (1 row): no Kalibr rolling-shutter run
  • T8 camera–imu distance of ELP-R (1 row): no Kalibr rolling-shutter run
  • T8 reproj median of ELP-R (1 row): no Kalibr rolling-shutter run
  • T8 IMU g-sensitivity Tg (18 rows): Kalibr absorbs it in its IMU model
  • T8 gyro–accel delay t_ga (2 rows): MVIS only
  • T7 Basalt: not run: one IMU per run and no rolling-shutter model; no run holds the whole rig
  • T8 Basalt: not run: no rolling-shutter model
Focal length + principal point · T1 · 15 matched recordings (MVIS 15 of 15 · Kalibr 15 of 15 · Basalt 15 of 15) · t265 GS fisheye stereo, camera

Across the same 15 recordings, Kalibr's estimates scatter about 3.2× more than MVIS's (median over 8 parameters); Basalt's about 1.6×. A gap this large appeared in 0.049 % (Kalibr) and 0.0061 % (Basalt) of recording-by-recording swaps. Holds with any one recording left out.

MVIS here: its camera-only run.

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 8 param. 0.310.15 – 0.5 0.00098 (raw 0.00049) MVIS tighter holds with any one recording left out
MVIS ÷ Basalt · 8 param. 0.620.36 – 0.83 0.00018 (raw 0.000061) MVIS tighter holds with any one recording left out
Kalibr ÷ Basalt · 8 param. 1.871.18 – 2.92 0.0055 Basalt tighter holds with any one recording left out

The 95 % interval of MVIS ÷ Basalt reaches into the tie band (0.80–1.25): the ratio shown is a point value.

The 95 % interval of Kalibr ÷ Basalt reaches into the tie band (0.80–1.25): the ratio shown is a point value.

0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.31, 95 % interval 0.15–0.5 · MVIS tighterMVIS ÷ KalibrMVIS ÷ Basalt: R = 0.62, 95 % interval 0.36–0.83 · MVIS tighterMVIS ÷ BasaltKalibr ÷ Basalt: R = 1.87, 95 % interval 1.18–2.92 · Basalt tighterKalibr ÷ Basalt
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sd Basalt sd
t265 fisheye 1 · fx px 0.646 2.4 0.65
t265 fisheye 1 · fy px 0.722 2.59 0.791
t265 fisheye 1 · cx px 0.253 0.652 0.677
t265 fisheye 1 · cy px 0.336 0.849 0.799
t265 fisheye 2 · fx px 0.63 2.42 0.593
t265 fisheye 2 · fy px 0.707 2.57 0.746
t265 fisheye 2 · cx px 0.234 0.669 0.646
t265 fisheye 2 · cy px 0.329 0.839 0.784
  • a Basalt's fisheye-2 frames are snapped onto fisheye-1 (1.8–5 ms apart).

Repeatability only — a tool can repeat well and still be biased.

Distortion coefficients · T1 · 15 matched recordings (MVIS 15 of 15 · Kalibr 15 of 15 · Basalt 15 of 15) · t265 GS fisheye stereo, camera

Across the same 15 recordings, Kalibr's estimates scatter about 34× more than MVIS's (median over 8 parameters); Basalt's about 1.6×. A gap this large appeared in 0.0061 % (Kalibr) and 2.3 % (Basalt) of recording-by-recording swaps. Holds with any one recording left out.

MVIS here: its camera-only run.

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 8 param. 0.030.01 – 0.11 0.00018 (raw 0.000061) MVIS tighter holds with any one recording left out
MVIS ÷ Basalt · 8 param. 0.610.4 – 0.91 0.023 MVIS tighter holds with any one recording left out
Kalibr ÷ Basalt · 8 param. 19.975.54 – 38.03 0.00018 (raw 0.000061) Basalt tighter holds with any one recording left out

The 95 % interval of MVIS ÷ Basalt reaches into the tie band (0.80–1.25): the ratio shown is a point value.

0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.03, 95 % interval 0.01–0.11 · MVIS tighterMVIS ÷ Kalibr◀MVIS ÷ Basalt: R = 0.61, 95 % interval 0.4–0.91 · MVIS tighterMVIS ÷ BasaltKalibr ÷ Basalt: R = 19.97, 95 % interval 5.54–38.03 · Basalt tighterKalibr ÷ Basalt▶
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sd Basalt sd
t265 fisheye 1 · dist k1 0.00199 0.0482 0.00332
t265 fisheye 1 · dist k2 0.00337 0.127 0.00651
t265 fisheye 1 · dist k3 0.00416 0.13 0.00637
t265 fisheye 1 · dist k4 0.00157 0.0441 0.00198
t265 fisheye 2 · dist k1 0.00211 0.0535 0.00325
t265 fisheye 2 · dist k2 0.00336 0.158 0.00889
t265 fisheye 2 · dist k3 0.00403 0.181 0.00823
t265 fisheye 2 · dist k4 0.00155 0.0691 0.0025
  • b Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
  • a Basalt's fisheye-2 frames are snapped onto fisheye-1 (1.8–5 ms apart).

Repeatability only — a tool can repeat well and still be biased.

Camera–camera distance · T1 · 15 matched recordings (MVIS 15 of 15 · Kalibr 15 of 15 · Basalt 15 of 15) · t265 GS fisheye stereo, camera

MVIS is tighter than Kalibr; the other pairs are not separated. No single tool is marked.

MVIS here: its camera-only run.

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 1 param. 0.340.23 – 0.53 0.0016 (raw 0.00055) MVIS tighter holds with any one recording left out
MVIS ÷ Basalt · 1 param. 0.250.13 – 0.95 0.08 (raw 0.04) tie: gap within chance
Kalibr ÷ Basalt · 1 param. 0.730.36 – 2.66 0.98 tie: gap within chance
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.34, 95 % interval 0.23–0.53 · MVIS tighterMVIS ÷ KalibrMVIS ÷ Basalt: R = 0.25, 95 % interval 0.13–0.95 · tieMVIS ÷ BasaltKalibr ÷ Basalt: R = 0.73, 95 % interval 0.36–2.66 · tieKalibr ÷ Basalt
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sd Basalt sd
t265 fisheye 2 · baseline to t265 fisheye 1 mm 0.0338 0.0991 0.135
  • a Basalt's fisheye-2 frames are snapped onto fisheye-1 (1.8–5 ms apart).

Repeatability only — a tool can repeat well and still be biased.

Focal length + principal point · T2 · Not compared (MVIS 15 of 15 · Kalibr other model · Basalt shown only) · ELP RS stereo + readout, camera

other camera model: MVIS equidistant, Kalibr and Basalt radtan

Not in this comparison
  • Kalibr · other model · 8 rows: other camera model: MVIS equidistant, Kalibr and Basalt radtan
  • Basalt · shown only · 8 rows: global-shutter model of a rolling-shutter rig

Repeatability only — a tool can repeat well and still be biased.

Distortion coefficients · T2 · Not compared (MVIS only · Kalibr other model · Basalt other model) · ELP RS stereo + readout, camera

other camera model: MVIS equidistant, Kalibr and Basalt radtan

Not in this comparison
  • MVIS · only this tool · 8 rows: other camera model: MVIS equidistant, Kalibr and Basalt radtan
  • Kalibr · other model · 8 rows: other camera model: MVIS equidistant, Kalibr and Basalt radtan
  • Basalt · other model · 8 rows: other camera model: MVIS equidistant, Kalibr and Basalt radtan

Repeatability only — a tool can repeat well and still be biased.

Camera–camera distance · T2 · Not compared (MVIS – · Kalibr – · Basalt –) · ELP RS stereo + readout, camera

kept as text: Kalibr's rolling-shutter runs solve one camera per run

Not in this comparison
  • All tools · text note · 1 row: kept as text: Kalibr's rolling-shutter runs solve one camera per run

Repeatability only — a tool can repeat well and still be biased.

Rolling-shutter readout · T2 · 13 matched recordings (MVIS 15 of 15 · Kalibr 13–15 of 15 · Basalt shown only) · ELP RS stereo + readout, camera

Across the same 13 recordings, Kalibr's estimates scatter about 4.2× more than MVIS's (median over 2 parameters). A gap this large appeared in 0.073 % of recording-by-recording swaps. Holds with any one recording left out.

MVIS here: its camera-only run.

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 2 param. 0.240.15 – 0.48 0.00073 MVIS tighter holds with any one recording left out
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.24, 95 % interval 0.15–0.48 · MVIS tighterMVIS ÷ Kalibr
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sdRatio
ELP-L · readout tr ms 0.35 all: 0.409 (15) 1.49 all: 2 (15) 0.23
ELP-R · readout tr ms 0.346 all: 0.408 (15) 1.42 0.24
Not in this comparison
  • Basalt · shown only · 2 rows: global-shutter model of a rolling-shutter rig
  • MVIS · 2 recordings with values outside the matched set: another compared tool has no value there on some row
  • Kalibr · 2 recordings with values outside the matched set: another compared tool has no value there on some row

Repeatability only — a tool can repeat well and still be biased.

Focal length + principal point · T7 · Input, not compared (MVIS 14 of 15 · Kalibr input · Basalt not run) · Mixed t265-f1 + ELP-L, aux Xsens, cam+IMU

Kalibr's camera+IMU run starts from these values, exported from MVIS for each recording, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.

Not in this comparison
  • Kalibr · input, not compared · 8 rows: Kalibr's camera+IMU run starts from these values, exported from MVIS for each recording, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
  • Basalt · 8 rows: not run: one IMU per run and no rolling-shutter model; no run holds the whole rig

Repeatability only — a tool can repeat well and still be biased.

Distortion coefficients · T7 · Input, not compared (MVIS 14 of 15 · Kalibr input · Basalt not run) · Mixed t265-f1 + ELP-L, aux Xsens, cam+IMU

Kalibr's camera+IMU run starts from these values, exported from MVIS for each recording, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.

Not in this comparison
  • Kalibr · input, not compared · 8 rows: Kalibr's camera+IMU run starts from these values, exported from MVIS for each recording, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
  • Basalt · 8 rows: not run: one IMU per run and no rolling-shutter model; no run holds the whole rig

Repeatability only — a tool can repeat well and still be biased.

Camera–camera distance · T7 · Input, not compared (MVIS 14 of 15 · Kalibr input · Basalt not run) · Mixed t265-f1 + ELP-L, aux Xsens, cam+IMU

Kalibr's camera+IMU run starts from these values, exported from MVIS for each recording, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.

Not in this comparison
  • Kalibr · input, not compared · 1 row: Kalibr's camera+IMU run starts from these values, exported from MVIS for each recording, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
  • Basalt · 1 row: not run: one IMU per run and no rolling-shutter model; no run holds the whole rig

Repeatability only — a tool can repeat well and still be biased.

Rolling-shutter readout · T7 · Input, not compared (MVIS 14 of 15 · Kalibr input · Basalt not run) · Mixed t265-f1 + ELP-L, aux Xsens, cam+IMU

Kalibr's camera+IMU run starts from these values, exported from MVIS for each recording, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.

Not in this comparison
  • Kalibr · input, not compared · 1 row: Kalibr's camera+IMU run starts from these values, exported from MVIS for each recording, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
  • Basalt · 1 row: not run: one IMU per run and no rolling-shutter model; no run holds the whole rig

Repeatability only — a tool can repeat well and still be biased.

Camera–IMU time offset · T7 · 14 matched recordings (MVIS 14 of 15 · Kalibr 14 of 15 · Basalt not run) · Mixed t265-f1 + ELP-L, aux Xsens, cam+IMU

The spreads of MVIS and Kalibr differ by 1.1×, but a gap this size appears often by chance with 14 recordings (p = 0.35). Treated as a tie.

MVIS here: its default IMU model.

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 2 param. 0.880.65 – 1.18 0.35 tie: gap within chance
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.88, 95 % interval 0.65–1.18 · tieMVIS ÷ Kalibr
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sdRatio
t265 fisheye 1 · time offset td to base IMU ms 0.188 0.301 0.62
ELP-L · time offset td to base IMU ms 0.64 – –
Xsens MTi · time delay td to base IMU ms 0.152 0.122 1.25
Not in this comparison
  • Basalt · 3 rows: not run: one IMU per run and no rolling-shutter model; no run holds the whole rig
  • Kalibr · other model · 1 row: Kalibr treats ELP-L as global shutter, and its ELP-L stamps were shifted by the MVIS td of each recording before its run
  • c Data settings still differ between the tools on this family.
  • d Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
  • e Kalibr ran ELP-L as a global-shutter camera with its stamps shifted by the MVIS td of each recording, so the ELP-L rows are left out here.
  • f Kalibr's t265 fisheye 1 intrinsics came from an older MVIS export.
  • g MVIS also fits a gyro–accel delay (t_ga) that Kalibr and Basalt do not, so its td is not quite the same quantity.

Repeatability only — a tool can repeat well and still be biased.

Camera–IMU distance · T7 · 14 matched recordings (MVIS 14 of 15 · Kalibr 14 of 15 · Basalt not run) · Mixed t265-f1 + ELP-L, aux Xsens, cam+IMU

Across the same 14 recordings, Kalibr's estimates scatter about 7.6× more than MVIS's (median over 2 parameters). A gap this large appeared in 0.024 % of recording-by-recording swaps. Holds with any one recording left out.

MVIS here: its default IMU model.

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 2 param. 0.130.09 – 0.24 0.00024 MVIS tighter holds with any one recording left out
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.13, 95 % interval 0.09–0.24 · MVIS tighterMVIS ÷ Kalibr
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sdRatio
t265 fisheye 1 · distance to base IMU ‖p‖ mm 0.44 2.83 0.16
ELP-L · distance to base IMU ‖p‖ mm 0.447 – –
Xsens MTi · distance to base IMU ‖p‖ mm 0.329 2.96 0.11
Not in this comparison
  • Basalt · 3 rows: not run: one IMU per run and no rolling-shutter model; no run holds the whole rig
  • Kalibr · other model · 1 row: Kalibr treats ELP-L as global shutter, and its ELP-L stamps were shifted by the MVIS td of each recording before its run
  • c Data settings still differ between the tools on this family.
  • d Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
  • e Kalibr ran ELP-L as a global-shutter camera with its stamps shifted by the MVIS td of each recording, so the ELP-L rows are left out here.
  • f Kalibr's t265 fisheye 1 intrinsics came from an older MVIS export.

Repeatability only — a tool can repeat well and still be biased.

Gyro scale + cross-axis · T7 · 14 matched recordings (MVIS 15 of 15 · Kalibr 14 of 15 · Basalt not run) · Mixed t265-f1 + ELP-L, aux Xsens, cam+IMU

Across the same 14 recordings, Kalibr's estimates scatter about 2.9× more than MVIS's (median over 12 parameters). A gap this large appeared in 0.049 % of recording-by-recording swaps. Holds with any one recording left out.

MVIS here: its run with Kalibr's IMU model (K-IMU).

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 12 param. 0.350.26 – 0.47 0.00049 MVIS tighter holds with any one recording left out
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.35, 95 % interval 0.26–0.47 · MVIS tighterMVIS ÷ Kalibr
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sdRatio
t265 IMU · gyro Dw[0,0] scale x 0.00113 all: 0.00112 (15) 0.00365 0.31
t265 IMU · gyro Dw[1,1] scale y 0.00145 all: 0.00141 (15) 0.00268 0.54
t265 IMU · gyro Dw[2,2] scale z 0.000256 all: 0.000275 (15) 0.00049 0.52
t265 IMU · gyro Dw[1,0] cross 0.00132 all: 0.00132 (15) 0.0028 0.47
t265 IMU · gyro Dw[2,0] cross 0.00068 all: 0.000658 (15) 0.00327 0.21
t265 IMU · gyro Dw[2,1] cross 0.000481 all: 0.00054 (15) 0.00274 0.18
Xsens MTi · gyro Dw[0,0] scale x 0.00114 all: 0.0011 (15) 0.00356 0.32
Xsens MTi · gyro Dw[1,1] scale y 0.00021 all: 0.000206 (15) 0.000437 0.48
Xsens MTi · gyro Dw[2,2] scale z 0.00119 all: 0.00117 (15) 0.00274 0.43
Xsens MTi · gyro Dw[1,0] cross 0.000406 all: 0.000417 (15) 0.00283 0.14
Xsens MTi · gyro Dw[2,0] cross 0.000864 all: 0.000832 (15) 0.00232 0.37
Xsens MTi · gyro Dw[2,1] cross 0.000605 all: 0.000605 (15) 0.00264 0.23
Not in this comparison
  • Basalt · 12 rows: not run: one IMU per run and no rolling-shutter model; no run holds the whole rig
  • MVIS · 1 recording with values outside the matched set: another compared tool has no value there on some row
  • c Data settings still differ between the tools on this family.
  • d Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
  • f Kalibr's t265 fisheye 1 intrinsics came from an older MVIS export.
  • h MVIS here uses Kalibr's IMU model, so the gyro and accel terms mean the same thing in both tools.

Repeatability only — a tool can repeat well and still be biased.

Accel scale · T7 · 14 matched recordings (MVIS 15 of 15 · Kalibr 14 of 15 · Basalt not run) · Mixed t265-f1 + ELP-L, aux Xsens, cam+IMU

Across the same 14 recordings, Kalibr's estimates scatter about 4.4× more than MVIS's (median over 6 parameters). A gap this large appeared in 0.012 % of recording-by-recording swaps. Holds with any one recording left out.

MVIS here: its run with Kalibr's IMU model (K-IMU).

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 6 param. 0.230.15 – 0.3 0.00012 MVIS tighter holds with any one recording left out
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.23, 95 % interval 0.15–0.3 · MVIS tighterMVIS ÷ Kalibr
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sdRatio
t265 IMU · accel Da[0,0] scale x 0.00037 all: 0.000363 (15) 0.00143 0.26
t265 IMU · accel Da[1,1] scale y 0.000715 all: 0.000719 (15) 0.00177 0.40
t265 IMU · accel Da[2,2] scale z 0.000947 all: 0.00092 (15) 0.00221 0.43
Xsens MTi · accel Da[0,0] scale x 0.000336 all: 0.000324 (15) 0.0052 0.06
Xsens MTi · accel Da[1,1] scale y 0.000762 all: 0.000737 (15) 0.00478 0.16
Xsens MTi · accel Da[2,2] scale z 0.000628 all: 0.000675 (15) 0.00316 0.20
Not in this comparison
  • Basalt · 6 rows: not run: one IMU per run and no rolling-shutter model; no run holds the whole rig
  • MVIS · 1 recording with values outside the matched set: another compared tool has no value there on some row
  • c Data settings still differ between the tools on this family.
  • d Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
  • f Kalibr's t265 fisheye 1 intrinsics came from an older MVIS export.
  • h MVIS here uses Kalibr's IMU model, so the gyro and accel terms mean the same thing in both tools.

Repeatability only — a tool can repeat well and still be biased.

Focal length + principal point · T8 · MVIS only (MVIS only · Kalibr no value · Basalt not run) · ELP RS stereo + two IMUs (IMUs only), cam+IMU

MVIS only: no Kalibr rolling-shutter run

Not in this comparison
  • MVIS · only this tool · 8 rows: no Kalibr rolling-shutter run
  • Kalibr · missing · 8 rows: no Kalibr rolling-shutter run
  • Basalt · 8 rows: not run: no rolling-shutter model

Repeatability only — a tool can repeat well and still be biased.

Distortion coefficients · T8 · MVIS only (MVIS only · Kalibr no value · Basalt not run) · ELP RS stereo + two IMUs (IMUs only), cam+IMU

MVIS only: no Kalibr rolling-shutter run

Not in this comparison
  • MVIS · only this tool · 8 rows: no Kalibr rolling-shutter run
  • Kalibr · missing · 8 rows: no Kalibr rolling-shutter run
  • Basalt · 8 rows: not run: no rolling-shutter model

Repeatability only — a tool can repeat well and still be biased.

Camera–camera distance · T8 · MVIS only (MVIS only · Kalibr no value · Basalt not run) · ELP RS stereo + two IMUs (IMUs only), cam+IMU

MVIS only: no Kalibr rolling-shutter run

Not in this comparison
  • MVIS · only this tool · 1 row: no Kalibr rolling-shutter run
  • Kalibr · missing · 1 row: no Kalibr rolling-shutter run
  • Basalt · 1 row: not run: no rolling-shutter model

Repeatability only — a tool can repeat well and still be biased.

Rolling-shutter readout · T8 · MVIS only (MVIS only · Kalibr no value · Basalt not run) · ELP RS stereo + two IMUs (IMUs only), cam+IMU

MVIS only: no Kalibr rolling-shutter run

Not in this comparison
  • MVIS · only this tool · 2 rows: no Kalibr rolling-shutter run
  • Kalibr · missing · 2 rows: no Kalibr rolling-shutter run
  • Basalt · 2 rows: not run: no rolling-shutter model

Repeatability only — a tool can repeat well and still be biased.

Camera–IMU time offset · T8 · 3 matched recordings (MVIS 3 of 15 · Kalibr 3 of 15 · Basalt not run) · ELP RS stereo + two IMUs (IMUs only), cam+IMU

Only 3 recordings hold values from every compared tool. With 3 recordings the smallest possible p is 0.25, so no gap can be decided. Ratios are shown for reference only.

MVIS here: its default IMU model.

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 1 param. 1.39not bounded at n = 3 0.5 too few recordings
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 1.39 · too few recordingsMVIS ÷ Kalibr
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sdRatio
Xsens MTi · time delay td to base IMU ms 0.0378 0.0271 1.39
Not in this comparison
  • MVIS · only this tool · 2 rows: no Kalibr rolling-shutter run
  • Kalibr · missing · 2 rows: no Kalibr rolling-shutter run
  • Basalt · 3 rows: not run: no rolling-shutter model
  • c Data settings still differ between the tools on this family.
  • g MVIS also fits a gyro–accel delay (t_ga) that Kalibr and Basalt do not, so its td is not quite the same quantity.

Repeatability only — a tool can repeat well and still be biased.

Camera–IMU distance · T8 · 3 matched recordings (MVIS 3 of 15 · Kalibr 3 of 15 · Basalt not run) · ELP RS stereo + two IMUs (IMUs only), cam+IMU

Only 3 recordings hold values from every compared tool. With 3 recordings the smallest possible p is 0.25, so no gap can be decided. Ratios are shown for reference only.

MVIS here: its default IMU model.

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 1 param. 0.15not bounded at n = 3 0.25 too few recordings
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.15 · too few recordingsMVIS ÷ Kalibr
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sdRatio
Xsens MTi · distance to base IMU ‖p‖ mm 0.183 1.24 0.15
Not in this comparison
  • MVIS · only this tool · 2 rows: no Kalibr rolling-shutter run
  • Kalibr · missing · 2 rows: no Kalibr rolling-shutter run
  • Basalt · 3 rows: not run: no rolling-shutter model
  • c Data settings still differ between the tools on this family.

Repeatability only — a tool can repeat well and still be biased.

Gyro scale + cross-axis · T8 · 3 matched recordings (MVIS 15 of 15 · Kalibr 3 of 15 · Basalt not run) · ELP RS stereo + two IMUs (IMUs only), cam+IMU

Only 3 recordings hold values from every compared tool. With 3 recordings the smallest possible p is 0.25, so no gap can be decided. Ratios are shown for reference only.

MVIS here: its run with Kalibr's IMU model (K-IMU).

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 12 param. 0.45not bounded at n = 3 0.25 too few recordings
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.45 · too few recordingsMVIS ÷ Kalibr
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sdRatio
t265 IMU · gyro Dw[0,0] scale x 0.000562 all: 0.00117 (15) 0.00388 0.14
t265 IMU · gyro Dw[1,1] scale y 0.00109 all: 0.00128 (15) 0.00259 0.42
t265 IMU · gyro Dw[2,2] scale z 0.000131 all: 0.000297 (15) 0.0000702 1.87
t265 IMU · gyro Dw[1,0] cross 0.00168 all: 0.00111 (15) 0.00141 1.19
t265 IMU · gyro Dw[2,0] cross 0.000535 all: 0.000735 (15) 0.00161 0.33
t265 IMU · gyro Dw[2,1] cross 0.000761 all: 0.00101 (15) 0.00312 0.24
Xsens MTi · gyro Dw[0,0] scale x 0.000668 all: 0.00119 (15) 0.00357 0.19
Xsens MTi · gyro Dw[1,1] scale y 0.000187 all: 0.000247 (15) 0.000132 1.42
Xsens MTi · gyro Dw[2,2] scale z 0.00108 all: 0.00131 (15) 0.00219 0.49
Xsens MTi · gyro Dw[1,0] cross 0.000497 all: 0.000541 (15) 0.000749 0.66
Xsens MTi · gyro Dw[2,0] cross 0.000827 all: 0.000693 (15) 0.0017 0.49
Xsens MTi · gyro Dw[2,1] cross 0.000465 all: 0.000785 (15) 0.00261 0.18
Not in this comparison
  • Basalt · 12 rows: not run: no rolling-shutter model
  • MVIS · 12 recordings with values outside the matched set: another compared tool has no value there on some row
  • c Data settings still differ between the tools on this family.
  • h MVIS here uses Kalibr's IMU model, so the gyro and accel terms mean the same thing in both tools.

Repeatability only — a tool can repeat well and still be biased.

Accel scale · T8 · 3 matched recordings (MVIS 15 of 15 · Kalibr 3 of 15 · Basalt not run) · ELP RS stereo + two IMUs (IMUs only), cam+IMU

Only 3 recordings hold values from every compared tool. With 3 recordings the smallest possible p is 0.25, so no gap can be decided. Ratios are shown for reference only.

MVIS here: its run with Kalibr's IMU model (K-IMU).

PairR95 % intervalp (Holm)DecisionLeave one out
MVIS ÷ Kalibr · 6 param. 0.26not bounded at n = 3 0.25 too few recordings
0.10.250.512410← first tool scatters lesssecond tool scatters less →MVIS ÷ Kalibr: R = 0.26 · too few recordingsMVIS ÷ Kalibr
Ratio R of the two tools' typical scatter, first ÷ second. Shaded: 0.80–1.25, the gap treated as a tie even when it is clear. Bars: 95 % interval (not adjusted for multiple tests); a missing end is not bounded. Filled dots in a tool's colour mark a decided pair.
Parameter MVIS sd Kalibr sdRatio
t265 IMU · accel Da[0,0] scale x 0.00064 all: 0.000383 (15) 0.00204 0.31
t265 IMU · accel Da[1,1] scale y 0.000796 all: 0.000635 (15) 0.00206 0.39
t265 IMU · accel Da[2,2] scale z 0.000995 all: 0.00109 (15) 0.00141 0.71
Xsens MTi · accel Da[0,0] scale x 0.000543 all: 0.000366 (15) 0.00999 0.05
Xsens MTi · accel Da[1,1] scale y 0.000672 all: 0.000959 (15) 0.0068 0.10
Xsens MTi · accel Da[2,2] scale z 0.000813 all: 0.000492 (15) 0.00376 0.22
Not in this comparison
  • Basalt · 6 rows: not run: no rolling-shutter model
  • MVIS · 12 recordings with values outside the matched set: another compared tool has no value there on some row
  • c Data settings still differ between the tools on this family.
  • h MVIS here uses Kalibr's IMU model, so the gyro and accel terms mean the same thing in both tools.

Repeatability only — a tool can repeat well and still be biased.

t265 GS fisheye stereo · 15 recordings

Read first: MVIS estimates the board shape; Kalibr assumes a flat board.

Repeatability Focal + ppDistortionDistanceReadoutTime offsetCam–IMU distanceGyroAccel

  • MVIS 15 of 15
  • Kalibr 15 of 15
  • Basalt 15 of 15

Records behind these numbers: MVIS T1.json · Kalibr T1.json · Basalt T1.json

MVIS − Kalibr ◆ 5 of 17 compared rows
  • t265 fisheye 1 · fx +1.45 px
  • t265 fisheye 1 · fy +2.20 px
  • t265 fisheye 1 · cx +1.42 px ◆
  • t265 fisheye 1 · cy −1.89 px ◆
  • t265 fisheye 1 · dist k1 −0.00292
  • t265 fisheye 1 · dist k2 −0.00549
  • t265 fisheye 1 · dist k3 +0.01610
  • t265 fisheye 1 · dist k4 −0.00622
  • t265 fisheye 2 · fx +1.61 px
  • t265 fisheye 2 · fy +1.60 px
  • t265 fisheye 2 · cx +1.18 px ◆
  • t265 fisheye 2 · cy −1.81 px ◆
  • t265 fisheye 2 · dist k1 −0.00164
  • t265 fisheye 2 · dist k2 −0.00407
  • t265 fisheye 2 · dist k3 +0.01510
  • t265 fisheye 2 · dist k4 −0.00712
  • t265 fisheye 2 · baseline to t265 fisheye 1 +0.195 mm ◆
Basalt − Kalibr ◆ 2 of 17 compared rows
  • t265 fisheye 1 · fx −0.95 px
  • t265 fisheye 1 · fy −0.63 px
  • t265 fisheye 1 · cx −0.37 px
  • t265 fisheye 1 · cy +0.92 px ◆
  • t265 fisheye 1 · dist k1 −0.00376
  • t265 fisheye 1 · dist k2 −0.00038
  • t265 fisheye 1 · dist k3 +0.00839
  • t265 fisheye 1 · dist k4 −0.00327
  • t265 fisheye 2 · fx −0.91 px
  • t265 fisheye 2 · fy −1.19 px
  • t265 fisheye 2 · cx −0.06 px
  • t265 fisheye 2 · cy +1.02 px ◆
  • t265 fisheye 2 · dist k1 +0.00034
  • t265 fisheye 2 · dist k2 −0.00884
  • t265 fisheye 2 · dist k3 +0.01230
  • t265 fisheye 2 · dist k4 −0.00511
  • t265 fisheye 2 · baseline to t265 fisheye 1 +0.087 mm
Basalt − MVIS ◆ 10 of 17 compared rows
  • t265 fisheye 1 · fx −2.41 px ◆
  • t265 fisheye 1 · fy −2.82 px ◆
  • t265 fisheye 1 · cx −1.79 px ◆
  • t265 fisheye 1 · cy +2.81 px ◆
  • t265 fisheye 1 · dist k1 −0.00084
  • t265 fisheye 1 · dist k2 +0.00512
  • t265 fisheye 1 · dist k3 −0.00771 ◆
  • t265 fisheye 1 · dist k4 +0.00296 ◆
  • t265 fisheye 2 · fx −2.52 px ◆
  • t265 fisheye 2 · fy −2.79 px ◆
  • t265 fisheye 2 · cx −1.24 px ◆
  • t265 fisheye 2 · cy +2.83 px ◆
  • t265 fisheye 2 · dist k1 +0.00198
  • t265 fisheye 2 · dist k2 −0.00477
  • t265 fisheye 2 · dist k3 −0.00280
  • t265 fisheye 2 · dist k4 +0.00200
  • t265 fisheye 2 · baseline to t265 fisheye 1 −0.107 mm

Dot = median difference Δ on an axis in units of the larger of the two tools' sd; shaded = ±1 sd; filled dot and ◆ = outside it; an arrow = beyond ±5 sd. No tool is the reference. "≠n" = the tools solved different recordings.

2 sensors, 17 parameter charts (open to see each tool's spread)

fx px axis 285 ± 6.18

MVIS 286.54 ± 0.65 (15)
Kalibr 285.09 ± 2.4 (15)
Basalt 284.14 ± 0.65 (15)

fy px axis 284 ± 6.58

MVIS 286.37 ± 0.72 (15)
Kalibr 284.18 ± 2.6 (15)
Basalt 283.55 ± 0.79 (15)

cx px axis 414 ± 1.92

MVIS 415.52 ± 0.25 (15)
Kalibr 414.10 ± 0.65 (15)
Basalt 413.73 ± 0.68 (15)

cy px axis 406 ± 3.02

MVIS 404.33 ± 0.34 (15)
Kalibr 406.22 ± 0.85 (15)
Basalt 407.13 ± 0.8 (15)

dist k1 axis −0.00779 ± 0.134

MVIS −0.00779 ± 0.002 (15)
Kalibr −0.00487 ± 0.048 (15)
Basalt −0.00863 ± 0.0033 (15)

dist k2 axis 0.0412 ± 0.358

MVIS 0.03606 ± 0.0034 (15)
Kalibr 0.04155 ± 0.13 (15)
Basalt 0.04117 ± 0.0065 (15)

dist k3 axis −0.0415 ± 0.373

MVIS −0.03384 ± 0.0042 (15)
Kalibr −0.04994 ± 0.13 (15)
Basalt −0.04155 ± 0.0064 (15)

dist k4 axis 0.00859 ± 0.128

MVIS 0.00564 ± 0.0016 (15)
Kalibr 0.01186 ± 0.044 (15)
Basalt 0.00859 ± 0.002 (15)

fx px axis 285 ± 7.68

MVIS 286.54 ± 0.63 (15)
Kalibr 284.93 ± 2.4 (15)
Basalt 284.02 ± 0.59 (15)

fy px axis 284 ± 7.39

MVIS 286.08 ± 0.71 (15)
Kalibr 284.48 ± 2.6 (15)
Basalt 283.29 ± 0.75 (15)

cx px axis 414 ± 1.69

MVIS 415.06 ± 0.23 (15)
Kalibr 413.88 ± 0.67 (15)
Basalt 413.82 ± 0.65 (15)

cy px axis 400 ± 2.86

MVIS 398.64 ± 0.33 (15)
Kalibr 400.45 ± 0.84 (15)
Basalt 401.47 ± 0.78 (15)

dist k1 axis −0.00739 ± 0.2

MVIS −0.00903 ± 0.0021 (15)
Kalibr −0.00739 ± 0.053 (15)
Basalt −0.00705 ± 0.0032 (15)

dist k2 axis 0.0378 ± 0.615

MVIS 0.03775 ± 0.0034 (15)
Kalibr 0.04182 ± 0.16 (15)
Basalt 0.03298 ± 0.0089 (15)

dist k3 axis −0.0372 ± 0.727

MVIS −0.03438 ± 0.004 (15)
Kalibr −0.04948 ± 0.18 (15)
Basalt −0.03718 ± 0.0082 (15)

dist k4 axis 0.00772 ± 0.284

MVIS 0.00572 ± 0.0016 (15)
Kalibr 0.01283 ± 0.069 (15)
Basalt 0.00772 ± 0.0025 (15)

baseline to t265 fisheye 1 mm axis 63.6 ± 0.495

MVIS 63.663 ± 0.034 (15)
Kalibr 63.468 ± 0.099 (15)
Basalt 63.555 ± 0.14 (15)

Whisker = lowest to highest value over the tool's solved recordings; box = median ± sd; tick = median. Min and max come from the per-recording values behind each record's median; only these two numbers are published, not the values. Rotations are not shown: the records do not hold them yet.

3 notes on models, inputs and run settings
  • No charted value is an input or comes from another model.
  • Like for like: Bag 09: fisheye 2 starts one frame before fisheye 1. Kalibr ran on a copy with that frame dropped, because its 4 Hz sampling of each camera otherwise pairs frames one apart and it diverges.
  • Basalt: Basalt groups stereo frames by stamp and the t265 pair never shares one, so its fisheye 2 frames are snapped onto fisheye 1's (1.8–5 ms apart).

Run configs, commands and the full parameter tables are in Full tables at the end of this page.

ELP RS stereo + readout · 15 recordings

Read first: Lens models differ, so only readout has a difference, and Kalibr wasn't re-run after the ELP stamp correction. Basalt is shown only.

Repeatability Focal + ppDistortionDistanceReadoutTime offsetCam–IMU distanceGyroAccel

  • MVIS 15 of 15
  • Kalibr 15 of 15
  • Basalt 15 of 15

Records behind these numbers: MVIS T2.json · Kalibr T2.json · Basalt T2.json

MVIS − Kalibr ◆ 1 of 2 compared rows
  • ELP-L · readout tr −1.755 ms
  • ELP-R · readout tr −2.771 ms ◆ ≠n

Dot = median difference Δ on an axis in units of the larger of the two tools' sd; shaded = ±1 sd; filled dot and ◆ = outside it; an arrow = beyond ±5 sd. No tool is the reference. "≠n" = the tools solved different recordings.

2 sensors, 18 parameter charts (open to see each tool's spread)

fx px axis 428 ± 1.56

MVIS 428.02 ± 0.77 (15)
Kalibr 427.70 different model, not compared
Basalt 427.07 different model, not compared

fy px axis 427 ± 1.68

MVIS 427.21 ± 0.76 (15)
Kalibr 426.31 different model, not compared
Basalt 427.47 different model, not compared

cx px axis 351 ± 1.1

MVIS 351.06 ± 0.46 (15)
Kalibr 338.22 different model, not compared
Basalt 348.63 different model, not compared

cy px axis 268 ± 2.29

MVIS 267.80 ± 0.74 (15)
Kalibr 271.04 different model, not compared
Basalt 274.37 different model, not compared

dist k1 axis −0.0913 ± 0.00399

MVIS −0.09126 ± 0.0017 (15)
Kalibr −0.36695 different model, not compared
Basalt 8.54347 different model, not compared

dist k2 axis −0.0295 ± 0.0129

MVIS −0.029 ± 0.006 (15)
Kalibr 0.101 different model, not compared
Basalt 30.721 different model, not compared

dist[2] (MVIS k3, radtan p1) axis 0.0204 ± 0.0217

MVIS 0.02039 ± 0.012 (15)
Kalibr −0.00041 different model, not compared
Basalt −0.00195 different model, not compared

dist[3] (MVIS k4, radtan p2) axis −0.00531 ± 0.0194

MVIS −0.00531 ± 0.0087 (15)
Kalibr 0.00224 different model, not compared
Basalt 0.00022 different model, not compared

readout tr ms axis 15.5 ± 4.7

MVIS 14.600 ± 0.41 (15)
Kalibr 16.354 ± 2 (15)
Basalt different model, no value

fx px axis 425 ± 1.71

MVIS 424.79 ± 0.77 (15)
Kalibr 424.57 different model, not compared
Basalt 423.53 different model, not compared

fy px axis 424 ± 1.75

MVIS 424.09 ± 0.76 (15)
Kalibr 424.57 different model, not compared
Basalt 423.70 different model, not compared

cx px axis 337 ± 1.04

MVIS 336.85 ± 0.46 (15)
Kalibr 328.46 different model, not compared
Basalt 336.19 different model, not compared

cy px axis 259 ± 2.29

MVIS 259.00 ± 0.74 (15)
Kalibr 261.01 different model, not compared
Basalt 266.06 different model, not compared

dist k1 axis −0.0899 ± 0.00266

MVIS −0.08985 ± 0.0013 (15)
Kalibr −0.35838 different model, not compared
Basalt −3.68841 different model, not compared

dist k2 axis −0.0246 ± 0.0118

MVIS −0.025 ± 0.0055 (15)
Kalibr 0.094 different model, not compared
Basalt 26.167 different model, not compared

dist[2] (MVIS k3, radtan p1) axis 0.00629 ± 0.0247

MVIS 0.00629 ± 0.011 (15)
Kalibr −0.00072 different model, not compared
Basalt −0.00213 different model, not compared

dist[3] (MVIS k4, radtan p2) axis 0.000152 ± 0.0168

MVIS 0.00015 ± 0.0074 (15)
Kalibr 0.00077 different model, not compared
Basalt −0.00044 different model, not compared

readout tr ms axis 16 ± 3.54

MVIS 14.598 ± 0.41 (15)
Kalibr 17.369 ± 1.4 (13)
Basalt different model, no value

Whisker = lowest to highest value over the tool's solved recordings; box = median ± sd; tick = median. Min and max come from the per-recording values behind each record's median; only these two numbers are published, not the values. Rotations are not shown: the records do not hold them yet.

5 notes on models, inputs and run settings
  • Basalt: 16 values come from another model (hatched lanes), so they are printed and not compared.
  • Kalibr: 16 values come from another model (hatched lanes), so they are printed and not compared.
  • Like for like: Kalibr has 13 of 15 recordings on ELP-R. MVIS uses an equidistant lens model, Kalibr and Basalt radtan, so fx, fy, cx, cy and distortion have no difference, and the dist[2] and dist[3] rows hold different coefficients per tool. Basalt solves this rolling-shutter pair as global shutter. Kalibr wasn't re-run after the ELP stamp correction; we expect it to be unchanged, but that wasn't tested. MVIS estimates the board shape; Kalibr assumes a flat board.
  • Note: Kalibr's rolling-shutter model calibrates one camera at a time, so it has no ELP stereo baseline. ELP-R bags 8 and 13 failed (autodiff overflow at bag-freq 15; the bag-freq-10 retry overflowed again on bag 8 and converged to a non-physical basin on bag 13) and are excluded.
  • Basalt: Basalt has no rolling-shutter model: it solves the ELP pair as global shutter with pinhole-radtan8 (seeded from kb4), so its T2 values are shown only. Since 2026-11-01 MVIS solves the ELP with the equidistant model while the Kalibr RS runs are radtan: readout is compared; fx, fy, cx, cy and distortion are shown without a difference because the lens models differ.

Run configs, commands and the full parameter tables are in Full tables at the end of this page.

Mixed t265-f1 + ELP-L, aux Xsens · 15 recordings

Read first: Kalibr treats ELP-L as global shutter; its intrinsics and baselines are inputs from an MVIS export. Data settings differ: see Notes.

Repeatability Focal + ppDistortionDistanceReadoutTime offsetCam–IMU distanceGyroAccel

  • MVIS 15 of 15
  • Kalibr 14 of 15
  • Basalt 0 of 15 not run: one IMU per run and no rolling-shutter model; no run holds the whole rig

MVIS made two runs per recording: its default IMU model ("MVIS") and Kalibr's IMU model ("MVIS (K-IMU)"), so the IMU terms of the second mean the same thing as Kalibr's.

Records behind these numbers: MVIS T7.json · Kalibr T7.json · Basalt T7.json

Fit: reprojection median, px (fit of each tool's own model, not accuracy)
Camera MVIS MVIS (K-IMU) Kalibr
t265 fisheye 10.2000.2000.367
ELP-L0.1810.1810.795
MVIS (K-IMU) − Kalibr ◆ 13 of 22 compared rows
  • t265 fisheye 1 · time offset td to base IMU +2.729 ms ◆ ≠n
  • t265 fisheye 1 · distance to base IMU ‖p‖ +3.69 mm ◆ ≠n
  • t265 IMU · gyro Dw[0,0] scale x −0.01342 ◆ ≠n
  • t265 IMU · gyro Dw[1,1] scale y −0.00928 ◆ ≠n
  • t265 IMU · gyro Dw[2,2] scale z −0.00134 ◆ ≠n
  • t265 IMU · gyro Dw[1,0] cross −0.00169 ≠n
  • t265 IMU · gyro Dw[2,0] cross +0.00856 ◆ ≠n
  • t265 IMU · gyro Dw[2,1] cross +0.00048 ≠n
  • t265 IMU · accel Da[0,0] scale x +0.00128 ≠n
  • t265 IMU · accel Da[1,1] scale y +0.00185 ◆ ≠n
  • t265 IMU · accel Da[2,2] scale z −0.00010 ≠n
  • Xsens MTi · gyro Dw[0,0] scale x −0.01256 ◆ ≠n
  • Xsens MTi · gyro Dw[1,1] scale y −0.00103 ◆ ≠n
  • Xsens MTi · gyro Dw[2,2] scale z −0.00967 ◆ ≠n
  • Xsens MTi · gyro Dw[1,0] cross −0.00661 ◆ ≠n
  • Xsens MTi · gyro Dw[2,0] cross −0.00148 ≠n
  • Xsens MTi · gyro Dw[2,1] cross −0.00007 ≠n
  • Xsens MTi · accel Da[0,0] scale x −0.00154 ≠n
  • Xsens MTi · accel Da[1,1] scale y −0.01073 ◆ ≠n
  • Xsens MTi · accel Da[2,2] scale z −0.00220 ≠n
  • Xsens MTi · time delay td to base IMU −0.019 ms ≠n
  • Xsens MTi · distance to base IMU ‖p‖ +9.99 mm ◆ ≠n

Dot = median difference Δ on an axis in units of the larger of the two tools' sd; shaded = ±1 sd; filled dot and ◆ = outside it; an arrow = beyond ±5 sd. No tool is the reference. "≠n" = the tools solved different recordings.

4 sensors, 44 parameter charts (open to see each tool's spread)

fx px axis 287 ± 1.22

MVIS 287.20 ± 0.44 (14)
MVIS (K-IMU) 287.20 ± 0.43 (15)
Kalibr 287.20 ± 0.44 (14) input

fy px axis 287 ± 1.44

MVIS 287.09 ± 0.54 (14)
MVIS (K-IMU) 287.00 ± 0.52 (15)
Kalibr 287.09 ± 0.54 (14) input

cx px axis 416 ± 0.843

MVIS 415.78 ± 0.36 (14)
MVIS (K-IMU) 415.80 ± 0.35 (15)
Kalibr 415.78 ± 0.36 (14) input

cy px axis 404 ± 0.789

MVIS 403.62 ± 0.28 (14)
MVIS (K-IMU) 403.62 ± 0.28 (15)
Kalibr 403.62 ± 0.28 (14) input

dist k1 axis −0.00587 ± 0.00344

MVIS −0.00586 ± 0.0013 (14)
MVIS (K-IMU) −0.00588 ± 0.0012 (15)
Kalibr −0.00587 ± 0.0013 (14) input

dist k2 axis 0.0341 ± 0.00697

MVIS 0.03410 ± 0.0039 (14)
MVIS (K-IMU) 0.03417 ± 0.0039 (15)
Kalibr 0.03411 ± 0.0039 (14) input

dist k3 axis −0.0314 ± 0.0113

MVIS −0.03143 ± 0.005 (14)
MVIS (K-IMU) −0.03157 ± 0.0049 (15)
Kalibr −0.03143 ± 0.005 (14) input

dist k4 axis 0.00454 ± 0.00497

MVIS 0.00454 ± 0.002 (14)
MVIS (K-IMU) 0.00457 ± 0.002 (15)
Kalibr 0.00453 ± 0.002 (14) input

time offset td to base IMU ms axis 2.04 ± 3.49 · line at 0

MVIS 2.036 ± 0.19 (14)
MVIS (K-IMU) 2.045 ± 0.18 (15)
Kalibr −0.684 ± 0.3 (14)

distance to base IMU ‖p‖ mm axis 11.9 ± 7.18

MVIS 11.99 ± 0.44 (14)
MVIS (K-IMU) 11.92 ± 0.43 (15)
Kalibr 8.22 ± 2.8 (14)

fx px axis 428 ± 2.18

MVIS 428.22 ± 0.74 (14)
MVIS (K-IMU) 428.34 ± 0.71 (15)
Kalibr 428.22 ± 0.73 (14) input

fy px axis 428 ± 2.36

MVIS 427.89 ± 0.9 (14)
MVIS (K-IMU) 427.92 ± 0.86 (15)
Kalibr 427.89 ± 0.89 (14) input

cx px axis 351 ± 0.691

MVIS 351.00 ± 0.36 (14)
MVIS (K-IMU) 351.02 ± 0.35 (15)
Kalibr 351.01 ± 0.36 (14) input

cy px axis 266 ± 0.574

MVIS 266.47 ± 0.23 (14)
MVIS (K-IMU) 266.49 ± 0.25 (15)
Kalibr 266.47 ± 0.23 (14) input

dist k1 axis −0.0943 ± 0.00474

MVIS −0.09428 ± 0.002 (14)
MVIS (K-IMU) −0.09405 ± 0.0019 (15)
Kalibr −0.09431 ± 0.002 (14) input

dist k2 axis −0.0243 ± 0.0167

MVIS −0.02435 ± 0.0072 (14)
MVIS (K-IMU) −0.02494 ± 0.0071 (15)
Kalibr −0.02428 ± 0.0072 (14) input

dist k3 axis 0.0202 ± 0.0428

MVIS 0.02020 ± 0.016 (14)
MVIS (K-IMU) 0.02150 ± 0.016 (15)
Kalibr 0.02013 ± 0.016 (14) input

dist k4 axis −0.0101 ± 0.0278

MVIS −0.01000 ± 0.012 (14)
MVIS (K-IMU) −0.01058 ± 0.011 (15)
Kalibr −0.01005 ± 0.012 (14) input

readout tr ms axis 16.7 ± 18.3 · line at 0

MVIS 16.670 ± 0.091 (14)
MVIS (K-IMU) 16.669 ± 0.086 (15)
Kalibr 0.000 ± 0 (14) input

baseline to t265 fisheye 1 mm axis 154 ± 0.329

MVIS 153.500 ± 0.17 (14)
MVIS (K-IMU) 153.510 ± 0.16 (15)
Kalibr 153.504 ± 0.17 (14) input

time offset td to base IMU ms axis −116 ± 1.75

MVIS −115.876 ± 0.64 (14)
MVIS (K-IMU) −115.919 ± 0.63 (15)
Kalibr −107.879 different model, not compared

distance to base IMU ‖p‖ mm axis 142 ± 0.931

MVIS 141.98 ± 0.45 (14)
MVIS (K-IMU) 142.02 ± 0.43 (15)
Kalibr 146.46 different model, not compared

gyro Dw[0,0] scale x axis 1.01 ± 0.0151 · line at 1

MVIS no value
MVIS (K-IMU) 1.00001 ± 0.0011 (15)
Kalibr 1.01343 ± 0.0036 (14)

gyro Dw[1,1] scale y axis 1.01 ± 0.00907 · line at 1

MVIS no value
MVIS (K-IMU) 1.00321 ± 0.0014 (15)
Kalibr 1.01249 ± 0.0027 (14)

gyro Dw[2,2] scale z axis 1 ± 0.00181

MVIS no value
MVIS (K-IMU) 1.00426 ± 0.00027 (15)
Kalibr 1.00560 ± 0.00049 (14)

gyro Dw[1,0] cross axis 0.00294 ± 0.00909

MVIS no value
MVIS (K-IMU) 0.00209 ± 0.0013 (15)
Kalibr 0.00378 ± 0.0028 (14)

gyro Dw[2,0] cross axis −0.00171 ± 0.00934

MVIS no value
MVIS (K-IMU) 0.00257 ± 0.00066 (15)
Kalibr −0.00599 ± 0.0033 (14)

gyro Dw[2,1] cross axis 0.00019 ± 0.00652

MVIS no value
MVIS (K-IMU) 0.00043 ± 0.00054 (15)
Kalibr −0.00005 ± 0.0027 (14)

accel Da[0,0] scale x axis 1.02 ± 0.00443

MVIS no value
MVIS (K-IMU) 1.01998 ± 0.00036 (15)
Kalibr 1.01870 ± 0.0014 (14)

accel Da[1,1] scale y axis 1.02 ± 0.00408

MVIS no value
MVIS (K-IMU) 1.01901 ± 0.00072 (15)
Kalibr 1.01716 ± 0.0018 (14)

accel Da[2,2] scale z axis 1.02 ± 0.0049

MVIS no value
MVIS (K-IMU) 1.01699 ± 0.00092 (15)
Kalibr 1.01709 ± 0.0022 (14)

t_ga gyro−accel ms axis −6.69 ± 0.244

MVIS not in this tool's model
MVIS (K-IMU) −6.693 ± 0.11 (15)
Kalibr not in this tool's model

gyro Dw[0,0] scale x axis 1.01 ± 0.0142 · line at 1

MVIS no value
MVIS (K-IMU) 1.00096 ± 0.0011 (15)
Kalibr 1.01352 ± 0.0036 (14)

gyro Dw[1,1] scale y axis 0.999 ± 0.00138 · line at 1

MVIS no value
MVIS (K-IMU) 0.99882 ± 0.00021 (15)
Kalibr 0.99985 ± 0.00044 (14)

gyro Dw[2,2] scale z axis 1.01 ± 0.00931 · line at 1

MVIS no value
MVIS (K-IMU) 1.00027 ± 0.0012 (15)
Kalibr 1.00994 ± 0.0027 (14)

gyro Dw[1,0] cross axis 0.00229 ± 0.00766

MVIS no value
MVIS (K-IMU) −0.00102 ± 0.00042 (15)
Kalibr 0.00559 ± 0.0028 (14)

gyro Dw[2,0] cross axis 0.00329 ± 0.00657

MVIS no value
MVIS (K-IMU) 0.00255 ± 0.00083 (15)
Kalibr 0.00404 ± 0.0023 (14)

gyro Dw[2,1] cross axis −0.000544 ± 0.00546

MVIS no value
MVIS (K-IMU) −0.00058 ± 0.0006 (15)
Kalibr −0.00051 ± 0.0026 (14)

accel Da[0,0] scale x axis 1 ± 0.0145 · line at 1

MVIS no value
MVIS (K-IMU) 1.00005 ± 0.00032 (15)
Kalibr 1.00159 ± 0.0052 (14)

accel Da[1,1] scale y axis 1.01 ± 0.0136 · line at 1

MVIS no value
MVIS (K-IMU) 0.99984 ± 0.00074 (15)
Kalibr 1.01057 ± 0.0048 (14)

accel Da[2,2] scale z axis 1 ± 0.00789 · line at 1

MVIS no value
MVIS (K-IMU) 1.00067 ± 0.00068 (15)
Kalibr 1.00287 ± 0.0032 (14)

time delay td to base IMU ms axis 7.24 ± 0.311

MVIS 7.228 ± 0.15 (14)
MVIS (K-IMU) 7.240 ± 0.15 (15)
Kalibr 7.260 ± 0.12 (14)

distance to base IMU ‖p‖ mm axis 124 ± 18.9

MVIS 124.10 ± 0.33 (14)
MVIS (K-IMU) 124.09 ± 0.32 (15)
Kalibr 114.10 ± 3 (14)

t_ga gyro−accel ms axis −0.483 ± 0.709 · line at 0

MVIS not in this tool's model
MVIS (K-IMU) −0.483 ± 0.22 (15)
Kalibr not in this tool's model

Whisker = lowest to highest value over the tool's solved recordings; box = median ± sd; tick = median. Min and max come from the per-recording values behind each record's median; only these two numbers are published, not the values. Rotations are not shown: the records do not hold them yet.

7 notes on models, inputs and run settings
  • Kalibr: 18 values are input, not estimated (hollow boxes). Their spread copies the input, so it is not that tool's repeatability.
  • Kalibr: 2 values come from another model (hatched lanes), so they are printed and not compared.
  • t_ga, the gyro–accel delay, is estimated by MVIS only; Kalibr and Basalt have no such term, so MVIS's td is not quite the same quantity.
  • Tg, the IMU g-sensitivity, is a term of Kalibr's IMU model, here from MVIS (K-IMU) and Kalibr; the MVIS default model has no counterpart, so it is not compared.
Kalibr IMU-model terms Tg (median; sd on hover)
MVIS (K-IMU) · t265 IMU
−0.048−0.626−0.0090.193−0.088−0.060−0.011−0.268−0.094
Kalibr · t265 IMU
0.0402.415−0.844−1.014−1.2932.639−0.101−2.8862.028
MVIS (K-IMU) · Xsens MTi
0.013−0.027−0.033−0.0060.0520.0590.0150.009−0.001
Kalibr · Xsens MTi
−0.1210.8320.791−0.6380.7081.119−0.096−1.207−0.799
  • Basalt not run: Basalt cannot calibrate T7 — no rolling-shutter model for ELP-L, one IMU per run, and one time offset shared by all cameras (the t265 and ELP clocks share no frame stamps).
  • Like for like: Kalibr has 14 of 15 recordings (bag 8 failed). Its ELP-L readout is fixed at 0, and ELP-L's stamps were shifted by the MVIS td of the same bag before each Kalibr run. Its td and lever are solved given these inputs. MVIS uses two corners per tag, non-base cameras at 4 Hz or lower and an estimated board shape; Kalibr has none of these.
  • Note: MVIS solves t265 fisheye 1 (GS) + ELP-L (rolling shutter, readout estimated) + both IMUs. Kalibr's camera + IMU solver is global-shutter only, so its runs take ELP-L as a GS camera and its readout tr is reported as 0 (its global-shutter model, not an estimate). Kalibr bag 8 is excluded: its base gyro scales (1.23 / 2.23) are far from the other 14 bags (about 1.01), a failed solve; MVIS keeps bag 8, so its n is 15 and Kalibr's is 14.

Run configs, commands and the full parameter tables are in Full tables at the end of this page.

ELP RS stereo + two IMUs (IMUs only) · 15 recordings

Read first: Kalibr has 3 of 15 recordings, IMUs only, from earlier runs with an MVIS export as camera input. Data settings differ: see Notes.

Repeatability Focal + ppDistortionDistanceReadoutTime offsetCam–IMU distanceGyroAccel

  • MVIS 15 of 15
  • Kalibr 3 of 15
  • Basalt 0 of 15 not run: no rolling-shutter model

MVIS made two runs per recording: its default IMU model ("MVIS") and Kalibr's IMU model ("MVIS (K-IMU)"), so the IMU terms of the second mean the same thing as Kalibr's.

Records behind these numbers: MVIS T8.json · Kalibr T8.json · Basalt T8.json

Fit: reprojection median, px (fit of each tool's own model, not accuracy)
Camera MVIS MVIS (K-IMU) Kalibr
ELP-L0.1630.162–
ELP-R0.1830.182–
MVIS (K-IMU) − Kalibr ◆ 16 of 20 compared rows
  • t265 IMU · gyro Dw[0,0] scale x −0.01289 ◆ ≠n
  • t265 IMU · gyro Dw[1,1] scale y −0.00841 ◆ ≠n
  • t265 IMU · gyro Dw[2,2] scale z −0.00024 ≠n
  • t265 IMU · gyro Dw[1,0] cross −0.00356 ◆ ≠n
  • t265 IMU · gyro Dw[2,0] cross +0.00551 ◆ ≠n
  • t265 IMU · gyro Dw[2,1] cross −0.00559 ◆ ≠n
  • t265 IMU · accel Da[0,0] scale x +0.00264 ◆ ≠n
  • t265 IMU · accel Da[1,1] scale y −0.00092 ≠n
  • t265 IMU · accel Da[2,2] scale z −0.00345 ◆ ≠n
  • Xsens MTi · gyro Dw[0,0] scale x −0.01104 ◆ ≠n
  • Xsens MTi · gyro Dw[1,1] scale y −0.00044 ◆ ≠n
  • Xsens MTi · gyro Dw[2,2] scale z −0.00714 ◆ ≠n
  • Xsens MTi · gyro Dw[1,0] cross −0.00294 ◆ ≠n
  • Xsens MTi · gyro Dw[2,0] cross −0.00303 ◆ ≠n
  • Xsens MTi · gyro Dw[2,1] cross +0.00582 ◆ ≠n
  • Xsens MTi · accel Da[0,0] scale x +0.01090 ◆ ≠n
  • Xsens MTi · accel Da[1,1] scale y −0.00815 ◆ ≠n
  • Xsens MTi · accel Da[2,2] scale z −0.00280 ≠n
  • Xsens MTi · time delay td to base IMU −0.006 ms ≠n
  • Xsens MTi · distance to base IMU ‖p‖ +8.09 mm ◆ ≠n

Dot = median difference Δ on an axis in units of the larger of the two tools' sd; shaded = ±1 sd; filled dot and ◆ = outside it; an arrow = beyond ±5 sd. No tool is the reference. "≠n" = the tools solved different recordings.

4 sensors, 45 parameter charts (open to see each tool's spread)

fx px axis 428 ± 1.39

MVIS 428.07 ± 0.62 (15)
MVIS (K-IMU) 428.05 ± 0.61 (15)
Kalibr not run

fy px axis 428 ± 1.8

MVIS 427.91 ± 0.77 (15)
MVIS (K-IMU) 427.90 ± 0.77 (15)
Kalibr not run

cx px axis 351 ± 0.953

MVIS 350.94 ± 0.38 (15)
MVIS (K-IMU) 350.94 ± 0.38 (15)
Kalibr not run

cy px axis 266 ± 0.688

MVIS 266.08 ± 0.32 (15)
MVIS (K-IMU) 266.09 ± 0.31 (15)
Kalibr not run

dist k1 axis −0.0937 ± 0.00545

MVIS −0.09368 ± 0.0022 (15)
MVIS (K-IMU) −0.09366 ± 0.0022 (15)
Kalibr not run

dist k2 axis −0.0256 ± 0.0164

MVIS −0.02565 ± 0.0074 (15)
MVIS (K-IMU) −0.02558 ± 0.0074 (15)
Kalibr not run

dist k3 axis 0.0153 ± 0.0293

MVIS 0.01540 ± 0.015 (15)
MVIS (K-IMU) 0.01529 ± 0.015 (15)
Kalibr not run

dist k4 axis −0.00731 ± 0.0192

MVIS −0.00723 ± 0.01 (15)
MVIS (K-IMU) −0.00738 ± 0.01 (15)
Kalibr not run

readout tr ms axis 16.6 ± 0.256

MVIS 16.618 ± 0.12 (15)
MVIS (K-IMU) 16.620 ± 0.12 (15)
Kalibr not run

time offset td to base IMU ms axis −116 ± 1.7

MVIS −115.884 ± 0.62 (15)
MVIS (K-IMU) −115.844 ± 0.62 (15)
Kalibr not run

distance to base IMU ‖p‖ mm axis 143 ± 1.03

MVIS 142.98 ± 0.39 (15)
MVIS (K-IMU) 143.01 ± 0.4 (15)
Kalibr not run

fx px axis 425 ± 1.48

MVIS 424.87 ± 0.65 (15)
MVIS (K-IMU) 424.86 ± 0.65 (15)
Kalibr not run

fy px axis 425 ± 1.79

MVIS 424.73 ± 0.8 (15)
MVIS (K-IMU) 424.71 ± 0.8 (15)
Kalibr not run

cx px axis 337 ± 0.845

MVIS 336.80 ± 0.34 (15)
MVIS (K-IMU) 336.80 ± 0.34 (15)
Kalibr not run

cy px axis 257 ± 0.629

MVIS 257.24 ± 0.3 (15)
MVIS (K-IMU) 257.25 ± 0.3 (15)
Kalibr not run

dist k1 axis −0.0915 ± 0.00515

MVIS −0.09147 ± 0.0024 (15)
MVIS (K-IMU) −0.09144 ± 0.0024 (15)
Kalibr not run

dist k2 axis −0.0209 ± 0.0128

MVIS −0.02087 ± 0.0054 (15)
MVIS (K-IMU) −0.02083 ± 0.0054 (15)
Kalibr not run

dist k3 axis 0.000751 ± 0.0229

MVIS 0.00088 ± 0.0094 (15)
MVIS (K-IMU) 0.00062 ± 0.0094 (15)
Kalibr not run

dist k4 axis 0.00248 ± 0.013

MVIS 0.00245 ± 0.006 (15)
MVIS (K-IMU) 0.00251 ± 0.0061 (15)
Kalibr not run

readout tr ms axis 16.6 ± 0.215

MVIS 16.594 ± 0.11 (15)
MVIS (K-IMU) 16.596 ± 0.11 (15)
Kalibr not run

baseline to ELP-L mm axis 59.2 ± 0.224

MVIS 59.207 ± 0.084 (15)
MVIS (K-IMU) 59.204 ± 0.085 (15)
Kalibr not run

time offset td to base IMU ms axis −116 ± 1.68

MVIS −115.931 ± 0.6 (15)
MVIS (K-IMU) −115.879 ± 0.6 (15)
Kalibr not run

distance to base IMU ‖p‖ mm axis 202 ± 1.03

MVIS 202.12 ± 0.41 (15)
MVIS (K-IMU) 202.12 ± 0.42 (15)
Kalibr not run

gyro Dw[0,0] scale x axis 1.01 ± 0.0114 · line at 1

MVIS no value
MVIS (K-IMU) 0.99983 ± 0.0012 (15)
Kalibr 1.01272 ± 0.0039 (3)

gyro Dw[1,1] scale y axis 1.01 ± 0.00747 · line at 1

MVIS no value
MVIS (K-IMU) 1.00294 ± 0.0013 (15)
Kalibr 1.01135 ± 0.0026 (3)

gyro Dw[2,2] scale z axis 1 ± 0.000737

MVIS no value
MVIS (K-IMU) 1.00415 ± 0.0003 (15)
Kalibr 1.00439 ± 0.00007 (3)

gyro Dw[1,0] cross axis 0.00363 ± 0.00512

MVIS no value
MVIS (K-IMU) 0.00185 ± 0.0011 (15)
Kalibr 0.00541 ± 0.0014 (3)

gyro Dw[2,0] cross axis −0.000545 ± 0.0048

MVIS no value
MVIS (K-IMU) 0.00221 ± 0.00073 (15)
Kalibr −0.00330 ± 0.0016 (3)

gyro Dw[2,1] cross axis 0.00179 ± 0.00651

MVIS no value
MVIS (K-IMU) −0.00101 ± 0.001 (15)
Kalibr 0.00459 ± 0.0031 (3)

accel Da[0,0] scale x axis 1.02 ± 0.00369

MVIS no value
MVIS (K-IMU) 1.01989 ± 0.00038 (15)
Kalibr 1.01725 ± 0.002 (3)

accel Da[1,1] scale y axis 1.02 ± 0.0034

MVIS no value
MVIS (K-IMU) 1.01905 ± 0.00063 (15)
Kalibr 1.01997 ± 0.0021 (3)

accel Da[2,2] scale z axis 1.02 ± 0.00345

MVIS no value
MVIS (K-IMU) 1.01668 ± 0.0011 (15)
Kalibr 1.02013 ± 0.0014 (3)

t_ga gyro−accel ms axis −6.7 ± 0.358

MVIS not in this tool's model
MVIS (K-IMU) −6.698 ± 0.13 (15)
Kalibr not in this tool's model

gyro Dw[0,0] scale x axis 1.01 ± 0.01 · line at 1

MVIS no value
MVIS (K-IMU) 1.00085 ± 0.0012 (15)
Kalibr 1.01189 ± 0.0036 (3)

gyro Dw[1,1] scale y axis 0.999 ± 0.000754

MVIS no value
MVIS (K-IMU) 0.99862 ± 0.00025 (15)
Kalibr 0.99906 ± 0.00013 (3)

gyro Dw[2,2] scale z axis 1 ± 0.00633 · line at 1

MVIS no value
MVIS (K-IMU) 1.00039 ± 0.0013 (15)
Kalibr 1.00753 ± 0.0022 (3)

gyro Dw[1,0] cross axis 0.00136 ± 0.00265

MVIS no value
MVIS (K-IMU) −0.00010 ± 0.00054 (15)
Kalibr 0.00283 ± 0.00075 (3)

gyro Dw[2,0] cross axis 0.00407 ± 0.00354

MVIS no value
MVIS (K-IMU) 0.00255 ± 0.00069 (15)
Kalibr 0.00558 ± 0.0017 (3)

gyro Dw[2,1] cross axis −0.00194 ± 0.00608

MVIS no value
MVIS (K-IMU) 0.00097 ± 0.00079 (15)
Kalibr −0.00485 ± 0.0026 (3)

accel Da[0,0] scale x axis 0.995 ± 0.017 · line at 1

MVIS no value
MVIS (K-IMU) 0.99997 ± 0.00037 (15)
Kalibr 0.98907 ± 0.01 (3)

accel Da[1,1] scale y axis 1 ± 0.016 · line at 1

MVIS no value
MVIS (K-IMU) 0.99932 ± 0.00096 (15)
Kalibr 1.00747 ± 0.0068 (3)

accel Da[2,2] scale z axis 1 ± 0.00567 · line at 1

MVIS no value
MVIS (K-IMU) 1.00093 ± 0.00049 (15)
Kalibr 1.00373 ± 0.0038 (3)

time delay td to base IMU ms axis 7.25 ± 0.247

MVIS 7.176 ± 0.038 (3)
MVIS (K-IMU) 7.248 ± 0.11 (15)
Kalibr 7.254 ± 0.027 (3)

distance to base IMU ‖p‖ mm axis 124 ± 10.7

MVIS 124.19 ± 0.18 (3)
MVIS (K-IMU) 123.94 ± 0.3 (15)
Kalibr 115.85 ± 1.2 (3)

t_ga gyro−accel ms axis −0.466 ± 0.79 · line at 0

MVIS not in this tool's model
MVIS (K-IMU) −0.466 ± 0.24 (15)
Kalibr not in this tool's model

Whisker = lowest to highest value over the tool's solved recordings; box = median ± sd; tick = median. Min and max come from the per-recording values behind each record's median; only these two numbers are published, not the values. Rotations are not shown: the records do not hold them yet.

5 notes on models, inputs and run settings
  • t_ga, the gyro–accel delay, is estimated by MVIS only; Kalibr and Basalt have no such term, so MVIS's td is not quite the same quantity.
  • Tg, the IMU g-sensitivity, is a term of Kalibr's IMU model, here from MVIS (K-IMU) and Kalibr; the MVIS default model has no counterpart, so it is not compared.
Kalibr IMU-model terms Tg (median; sd on hover)
MVIS (K-IMU) · t265 IMU
−0.074−0.4330.2110.253−0.0740.243−0.114−0.089−0.034
Kalibr · t265 IMU
0.0681.885−1.393−0.803−0.9682.3430.679−2.2381.657
MVIS (K-IMU) · Xsens MTi
−0.008−0.012−0.001−0.014−0.0120.0040.024−0.058−0.031
Kalibr · Xsens MTi
0.0181.2210.722−0.9631.0571.124−0.012−0.862−0.737
  • Basalt not run: Basalt has no rolling-shutter model.
  • Like for like: Kalibr's values come from separate earlier runs of bags 1–3 with t265 fisheye 1 only, so MVIS − Kalibr compares 15 recordings with 3. MVIS uses two corners per tag, non-base cameras at 4 Hz or lower and an estimated board shape; Kalibr has none of these.
  • Note: No RS-anchored Kalibr run exists: Kalibr's camera + IMU solver cannot use the ELP rolling-shutter cameras. T8's IMUs (t265 base, Xsens aux) are the same physical IMUs on the same bags as T7, so they are compared with separate earlier Kalibr runs of bags 1–3 (t265 fisheye 1 only), not the T7 runs. Its ELP cameras have no Kalibr counterpart and are listed with MVIS values only.

Run configs, commands and the full parameter tables are in Full tables at the end of this page.

Every parameter table, tool difference and run config (VI-Rig 4 IMUs + 4 cams)
How to read this
  • Spread shows repeatability across recordings, not accuracy. A tool can repeat well and still be biased.
  • 448.50 ± 0.48 (10): median ± sd across the 10 recordings that tool solved. With 3 or 4 recordings the sd itself is rough.
  • (3/15): this tool has 3 of the family's 15 recordings.
  • fixed: Kalibr doesn't estimate this value. Its camera + IMU runs take intrinsics and baselines as input, from an MVIS export or, on T6 and T11, from its own camera-only calibration; T7 ELP-L readout is held at 0. The spread here isn't repeatability.
  • shown: the tool uses a different model here, so the value has no difference next to it.
  • other model: Kalibr's coefficients here belong to a different lens model.
  • not in model, not reported, no run, no data, no RS model, not in one run: the tool has no value for this row, and the words say why. no run means the tool never ran with this sensor; not in one run means it ran with each sensor, but no single run holds both ends of the baseline. not run, in the recordings line: the tool has no run for the family.
  • Differences: the column header gives the subtraction, using stored medians. No tool is the reference.
  • ◆: the difference is larger than the larger of the two sds. It marks disagreement, not an error in either tool.
  • ≠n: the two medians come from different numbers of recordings.
  • ≠ model: the tools' models differ, so no difference is shown. fit: reprojection error measures fit and isn't comparable across models.
  • ‡ td: MVIS splits the IMU into gyro (td) and accel (td + t_ga); Kalibr and Basalt have one timeline. Basalt − Kalibr is the like-for-like check.
  • Each family folds; the first is open. Click a family's title to open or close it.

No ground truth: ◆ marks disagreement, not who is right.

median ± sd (recordings) · (3/15) partial · fixed Kalibr input · shown / other model, no Δ · ≠ model, fit: no Δ · ◆ |Δ| above the larger sd · ≠n different recording counts · ‡ see How to read this

On camera + IMU families the MVIS column uses Kalibr's IMU model, not the MVIS default. The default fills fewer rows and is in a closed fold under each family.

Key and MVIS column

Swipe a table sideways for the other tools and differences.

median ± sd (recordings) · (3/15) partial · fixed Kalibr input · shown / other model, no Δ · ≠ model, fit: no Δ · ◆ |Δ| above the larger sd · ≠n different recording counts · ‡ see How to read this

On camera + IMU families the MVIS column uses Kalibr's IMU model, not the MVIS default. The default fills fewer rows and is in a closed fold under each family.

T1 · t265 GS fisheye stereo

MVIS 15 of 15 · Kalibr 15 of 15 · Basalt 15 of 15

Camera · bags 01–15 · Kalibr pinhole-equi

Read first: MVIS estimates the board shape; Kalibr assumes a flat board.

Notes

Like for like: Bag 09: fisheye 2 starts one frame before fisheye 1. Kalibr ran on a copy with that frame dropped, because its 4 Hz sampling of each camera otherwise pairs frames one apart and it diverges.

Basalt: Basalt groups stereo frames by stamp and the t265 pair never shares one, so its fisheye 2 frames are snapped onto fisheye 1's (1.8–5 ms apart).

cam2 – t265 fisheye 1 · 8 rows · ◆ 6
ParameterMVISKalibrBasaltMVIS− KalibrBasalt− KalibrBasalt− MVIS
fx px286.54 ± 0.65 (15)285.09 ± 2.40 (15)284.14 ± 0.65 (15)+1.45−0.95◆ −2.41
fy px286.37 ± 0.72 (15)284.18 ± 2.59 (15)283.55 ± 0.79 (15)+2.20−0.63◆ −2.82
cx px415.52 ± 0.25 (15)414.10 ± 0.65 (15)413.73 ± 0.68 (15)◆ +1.42−0.37◆ −1.79
cy px404.33 ± 0.34 (15)406.22 ± 0.85 (15)407.13 ± 0.80 (15)◆ −1.89◆ +0.92◆ +2.81
dist k1−0.00779 ± 0.00199 (15)−0.00487 ± 0.04819 (15)−0.00863 ± 0.00332 (15)−0.00292−0.00376−0.00084
dist k20.03606 ± 0.00337 (15)0.04155 ± 0.12726 (15)0.04117 ± 0.00651 (15)−0.00549−0.00038+0.00512
dist k3−0.03384 ± 0.00416 (15)−0.04994 ± 0.12987 (15)−0.04155 ± 0.00637 (15)+0.01610+0.00839◆ −0.00771
dist k40.00564 ± 0.00157 (15)0.01186 ± 0.04414 (15)0.00859 ± 0.00198 (15)−0.00622−0.00327◆ +0.00296
cam3 – t265 fisheye 2 · 9 rows · ◆ 5
ParameterMVISKalibrBasaltMVIS− KalibrBasalt− KalibrBasalt− MVIS
fx px286.54 ± 0.63 (15)284.93 ± 2.42 (15)284.02 ± 0.59 (15)+1.61−0.91◆ −2.52
fy px286.08 ± 0.71 (15)284.48 ± 2.57 (15)283.29 ± 0.75 (15)+1.60−1.19◆ −2.79
cx px415.06 ± 0.23 (15)413.88 ± 0.67 (15)413.82 ± 0.65 (15)◆ +1.18−0.06◆ −1.24
cy px398.64 ± 0.33 (15)400.45 ± 0.84 (15)401.47 ± 0.78 (15)◆ −1.81◆ +1.02◆ +2.83
dist k1−0.00903 ± 0.00211 (15)−0.00739 ± 0.05345 (15)−0.00705 ± 0.00325 (15)−0.00164+0.00034+0.00198
dist k20.03775 ± 0.00336 (15)0.04182 ± 0.15804 (15)0.03298 ± 0.00889 (15)−0.00407−0.00884−0.00477
dist k3−0.03438 ± 0.00403 (15)−0.04948 ± 0.18055 (15)−0.03718 ± 0.00823 (15)+0.01510+0.01230−0.00280
dist k40.00572 ± 0.00155 (15)0.01283 ± 0.06911 (15)0.00772 ± 0.00250 (15)−0.00712−0.00511+0.00200
baseline to t265 fisheye 1 mm63.663 ± 0.034 (15)63.468 ± 0.099 (15)63.555 ± 0.135 (15)◆ +0.195+0.087−0.107

T2 · ELP RS stereo + readout

MVIS 15 of 15 · Kalibr 15 of 15 on ELP-L, 13 of 15 on ELP-R · Basalt 15 of 15, shown only

Camera · bags 01–15 · Kalibr pinhole-radtan-rs, one camera per run

Read first: Lens models differ, so only readout has a difference, and Kalibr wasn't re-run after the ELP stamp correction. Basalt is shown only.

Notes

Like for like: Kalibr has 13 of 15 recordings on ELP-R. MVIS uses an equidistant lens model, Kalibr and Basalt radtan, so fx, fy, cx, cy and distortion have no difference, and the dist[2] and dist[3] rows hold different coefficients per tool. Basalt solves this rolling-shutter pair as global shutter. Kalibr wasn't re-run after the ELP stamp correction; we expect it to be unchanged, but that wasn't tested. MVIS estimates the board shape; Kalibr assumes a flat board.

Note: Kalibr's rolling-shutter model calibrates one camera at a time, so it has no ELP stereo baseline. ELP-R bags 8 and 13 failed (autodiff overflow at bag-freq 15; the bag-freq-10 retry overflowed again on bag 8 and converged to a non-physical basin on bag 13) and are excluded.

Basalt: Basalt has no rolling-shutter model: it solves the ELP pair as global shutter with pinhole-radtan8 (seeded from kb4), so its T2 values are shown only. Since 2026-11-01 MVIS solves the ELP with the equidistant model while the Kalibr RS runs are radtan: readout is compared; fx, fy, cx, cy and distortion are shown without a difference because the lens models differ.

cam0 – ELP-L · 9 rows
ParameterMVISKalibrBasaltMVIS− Kalibr
fx px428.02 ± 0.77 (15)427.70 ± 6.59 (15)shown 427.07 ± 1.91 (15)≠ model
fy px427.21 ± 0.76 (15)426.31 ± 6.42 (15)shown 427.47 ± 2.23 (15)≠ model
cx px351.06 ± 0.46 (15)338.22 ± 2.94 (15)shown 348.63 ± 1.46 (15)≠ model
cy px267.80 ± 0.74 (15)271.04 ± 8.33 (15)shown 274.37 ± 1.48 (15)≠ model
dist k1−0.09126 ± 0.00172 (15)other model −0.36695 ± 0.02361 (15)shown 8.54347 ± 11.88550 (15)≠ model
dist k2−0.029 ± 0.006 (15)other model 0.101 ± 0.020 (15)shown 30.721 ± 18.766 (15)≠ model
dist[2] (MVIS k3, radtan p1)0.02039 ± 0.01227 (15)other model −0.00041 ± 0.00285 (15)shown −0.00195 ± 0.00054 (15)≠ model
dist[3] (MVIS k4, radtan p2)−0.00531 ± 0.00866 (15)other model 0.00224 ± 0.00079 (15)shown 0.00022 ± 0.00029 (15)≠ model
readout tr ms14.600 ± 0.409 (15)16.354 ± 1.999 (15)no RS model−1.755
cam1 – ELP-R · 9 rows · ◆ 1
ParameterMVISKalibrBasaltMVIS− Kalibr
fx px424.79 ± 0.77 (15)424.57 ± 3.89 (13/15)shown 423.53 ± 1.86 (15)≠ model
fy px424.09 ± 0.76 (15)424.57 ± 3.84 (13/15)shown 423.70 ± 2.13 (15)≠ model
cx px336.85 ± 0.46 (15)328.46 ± 2.34 (13/15)shown 336.19 ± 1.47 (15)≠ model
cy px259.00 ± 0.74 (15)261.01 ± 3.17 (13/15)shown 266.06 ± 1.49 (15)≠ model
dist k1−0.08985 ± 0.00129 (15)other model −0.35838 ± 0.00363 (13/15)shown −3.68841 ± 8.37771 (15)≠ model
dist k2−0.025 ± 0.006 (15)other model 0.094 ± 0.003 (13/15)shown 26.167 ± 16.306 (15)≠ model
dist[2] (MVIS k3, radtan p1)0.00629 ± 0.01126 (15)other model −0.00072 ± 0.00144 (13/15)shown −0.00213 ± 0.00051 (15)≠ model
dist[3] (MVIS k4, radtan p2)0.00015 ± 0.00738 (15)other model 0.00077 ± 0.00051 (13/15)shown −0.00044 ± 0.00034 (15)≠ model
readout tr ms14.598 ± 0.408 (15)17.369 ± 1.423 (13/15)no RS model◆ −2.771 ≠n

T7 · Mixed t265-f1 + ELP-L, aux Xsens

MVIS 15 of 15 · Kalibr 14 of 15 · Basalt not run

Camera + IMU · bags 01–15 · Kalibr with ELP-L as global shutter (bag 8 excluded)

Read first: Kalibr treats ELP-L as global shutter; its intrinsics and baselines are inputs from an MVIS export. Data settings differ: see Notes.

Notes, including why Basalt has no run

Basalt not run: Basalt cannot calibrate T7 — no rolling-shutter model for ELP-L, one IMU per run, and one time offset shared by all cameras (the t265 and ELP clocks share no frame stamps).

Like for like: Kalibr has 14 of 15 recordings (bag 8 failed). Its ELP-L readout is fixed at 0, and ELP-L's stamps were shifted by the MVIS td of the same bag before each Kalibr run. Its td and lever are solved given these inputs. MVIS uses two corners per tag, non-base cameras at 4 Hz or lower and an estimated board shape; Kalibr has none of these.

Note: MVIS solves t265 fisheye 1 (GS) + ELP-L (rolling shutter, readout estimated) + both IMUs. Kalibr's camera + IMU solver is global-shutter only, so its runs take ELP-L as a GS camera and its readout tr is reported as 0 (its global-shutter model, not an estimate). Kalibr bag 8 is excluded: its base gyro scales (1.23 / 2.23) are far from the other 14 bags (about 1.01), a failed solve; MVIS keeps bag 8, so its n is 15 and Kalibr's is 14.

cam0 – t265 fisheye 1 · 11 rows · ◆ 2
ParameterMVISKalibr IMU modelKalibrMVIS− Kalibr
fx px287.20 ± 0.43 (15)fixed 287.20 ± 0.44 (14/15)
fy px287.00 ± 0.52 (15)fixed 287.09 ± 0.54 (14/15)
cx px415.80 ± 0.35 (15)fixed 415.78 ± 0.36 (14/15)
cy px403.62 ± 0.28 (15)fixed 403.62 ± 0.28 (14/15)
dist k1−0.00588 ± 0.00125 (15)fixed −0.00587 ± 0.00128 (14/15)
dist k20.03417 ± 0.00387 (15)fixed 0.03411 ± 0.00393 (14/15)
dist k3−0.03157 ± 0.00489 (15)fixed −0.03143 ± 0.00498 (14/15)
dist k40.00457 ± 0.00197 (15)fixed 0.00453 ± 0.00201 (14/15)
time offset td to base IMU‡ ms2.045 ± 0.182 (15)−0.684 ± 0.301 (14/15)◆ +2.729 ≠n
distance to base IMU ‖p‖ mm11.92 ± 0.43 (15)8.22 ± 2.83 (14/15)◆ +3.69 ≠n
reproj median px0.200 ± 0.005 (15)0.367 ± 0.012 (14/15)fit
cam1 – ELP-L · 13 rows
ParameterMVISKalibr IMU modelKalibrMVIS− Kalibr
fx px428.34 ± 0.71 (15)fixed 428.22 ± 0.73 (14/15)
fy px427.92 ± 0.86 (15)fixed 427.89 ± 0.89 (14/15)
cx px351.02 ± 0.35 (15)fixed 351.01 ± 0.36 (14/15)
cy px266.49 ± 0.25 (15)fixed 266.47 ± 0.23 (14/15)
dist k1−0.09405 ± 0.00194 (15)fixed −0.09431 ± 0.00200 (14/15)
dist k2−0.02494 ± 0.00707 (15)fixed −0.02428 ± 0.00720 (14/15)
dist k30.02150 ± 0.01592 (15)fixed 0.02013 ± 0.01638 (14/15)
dist k4−0.01058 ± 0.01133 (15)fixed −0.01005 ± 0.01172 (14/15)
readout tr ms16.669 ± 0.086 (15)fixed 0.000 (14/15)
baseline to t265 fisheye 1 mm153.510 ± 0.164 (15)fixed 153.504 ± 0.170 (14/15)
time offset td to base IMU‡ ms−115.919 ± 0.632 (15)−107.879 ± 0.888 (14/15)≠ model
distance to base IMU ‖p‖ mm142.02 ± 0.43 (15)146.46 ± 2.21 (14/15)≠ model
reproj median px0.181 ± 0.006 (15)0.795 ± 0.031 (14/15)fit
base IMU – t265 IMU · 19 rows · ◆ 5
ParameterMVISKalibr IMU modelKalibrMVIS− Kalibr
gyro Dw[0,0] scale x1.00001 ± 0.00112 (15)1.01343 ± 0.00365 (14/15)◆ −0.01342 ≠n
gyro Dw[1,1] scale y1.00321 ± 0.00141 (15)1.01249 ± 0.00268 (14/15)◆ −0.00928 ≠n
gyro Dw[2,2] scale z1.00426 ± 0.00027 (15)1.00560 ± 0.00049 (14/15)◆ −0.00134 ≠n
gyro Dw[1,0] cross0.00209 ± 0.00132 (15)0.00378 ± 0.00280 (14/15)−0.00169 ≠n
gyro Dw[2,0] cross0.00257 ± 0.00066 (15)−0.00599 ± 0.00327 (14/15)◆ +0.00856 ≠n
gyro Dw[2,1] cross0.00043 ± 0.00054 (15)−0.00005 ± 0.00274 (14/15)+0.00048 ≠n
accel Da[0,0] scale x1.01998 ± 0.00036 (15)1.01870 ± 0.00143 (14/15)+0.00128 ≠n
accel Da[1,1] scale y1.01901 ± 0.00072 (15)1.01716 ± 0.00177 (14/15)◆ +0.00185 ≠n
accel Da[2,2] scale z1.01699 ± 0.00092 (15)1.01709 ± 0.00221 (14/15)−0.00010 ≠n
Tg[0,0] g-sensitivity mrad·s/m−0.048 ± 0.106 (15)0.040 ± 0.279 (14/15)≠ model
Tg[0,1] g-sensitivity mrad·s/m−0.626 ± 0.121 (15)2.415 ± 0.894 (14/15)≠ model
Tg[0,2] g-sensitivity mrad·s/m−0.009 ± 0.133 (15)−0.844 ± 0.717 (14/15)≠ model
Tg[1,0] g-sensitivity mrad·s/m0.193 ± 0.096 (15)−1.014 ± 0.165 (14/15)≠ model
Tg[1,1] g-sensitivity mrad·s/m−0.088 ± 0.108 (15)−1.293 ± 0.351 (14/15)≠ model
Tg[1,2] g-sensitivity mrad·s/m−0.060 ± 0.143 (15)2.639 ± 0.518 (14/15)≠ model
Tg[2,0] g-sensitivity mrad·s/m−0.011 ± 0.049 (15)−0.101 ± 0.407 (14/15)≠ model
Tg[2,1] g-sensitivity mrad·s/m−0.268 ± 0.075 (15)−2.886 ± 0.833 (14/15)≠ model
Tg[2,2] g-sensitivity mrad·s/m−0.094 ± 0.099 (15)2.028 ± 0.593 (14/15)≠ model
t_ga gyro−accel ms−6.693 ± 0.108 (15)not in model
aux IMU – Xsens MTi · 21 rows · ◆ 6
ParameterMVISKalibr IMU modelKalibrMVIS− Kalibr
gyro Dw[0,0] scale x1.00096 ± 0.00110 (15)1.01352 ± 0.00356 (14/15)◆ −0.01256 ≠n
gyro Dw[1,1] scale y0.99882 ± 0.00021 (15)0.99985 ± 0.00044 (14/15)◆ −0.00103 ≠n
gyro Dw[2,2] scale z1.00027 ± 0.00117 (15)1.00994 ± 0.00274 (14/15)◆ −0.00967 ≠n
gyro Dw[1,0] cross−0.00102 ± 0.00042 (15)0.00559 ± 0.00283 (14/15)◆ −0.00661 ≠n
gyro Dw[2,0] cross0.00255 ± 0.00083 (15)0.00404 ± 0.00232 (14/15)−0.00148 ≠n
gyro Dw[2,1] cross−0.00058 ± 0.00060 (15)−0.00051 ± 0.00264 (14/15)−0.00007 ≠n
accel Da[0,0] scale x1.00005 ± 0.00032 (15)1.00159 ± 0.00520 (14/15)−0.00154 ≠n
accel Da[1,1] scale y0.99984 ± 0.00074 (15)1.01057 ± 0.00478 (14/15)◆ −0.01073 ≠n
accel Da[2,2] scale z1.00067 ± 0.00068 (15)1.00287 ± 0.00316 (14/15)−0.00220 ≠n
Tg[0,0] g-sensitivity mrad·s/m0.013 ± 0.015 (15)−0.121 ± 0.140 (14/15)≠ model
Tg[0,1] g-sensitivity mrad·s/m−0.027 ± 0.075 (15)0.832 ± 0.570 (14/15)≠ model
Tg[0,2] g-sensitivity mrad·s/m−0.033 ± 0.077 (15)0.791 ± 0.462 (14/15)≠ model
Tg[1,0] g-sensitivity mrad·s/m−0.006 ± 0.020 (15)−0.638 ± 0.306 (14/15)≠ model
Tg[1,1] g-sensitivity mrad·s/m0.052 ± 0.058 (15)0.708 ± 0.413 (14/15)≠ model
Tg[1,2] g-sensitivity mrad·s/m0.059 ± 0.067 (15)1.119 ± 0.429 (14/15)≠ model
Tg[2,0] g-sensitivity mrad·s/m0.015 ± 0.021 (15)−0.096 ± 0.150 (14/15)≠ model
Tg[2,1] g-sensitivity mrad·s/m0.009 ± 0.076 (15)−1.207 ± 0.294 (14/15)≠ model
Tg[2,2] g-sensitivity mrad·s/m−0.001 ± 0.043 (15)−0.799 ± 0.254 (14/15)≠ model
time delay td to base IMU‡ ms7.240 ± 0.146 (15)7.260 ± 0.122 (14/15)−0.019 ≠n
distance to base IMU ‖p‖ mm124.09 ± 0.32 (15)114.10 ± 2.96 (14/15)◆ +9.99 ≠n
t_ga gyro−accel ms−0.483 ± 0.218 (15)not in model
MVIS default IMU model (calyx) · 26 of 64 rows, model-independent only · ◆ 3

These rows use Kalibr's recordings where Kalibr has them, so they compare the same recordings.

ParameterMVISKalibr IMU modelMVIS defaultKalibrdefault− Kalibrdefault− Kalibr IMU model
cam0 – t265 fisheye 1
fx px287.20 ± 0.43 (15)287.20 ± 0.44 (14/15)fixed 287.20 ± 0.44 (14/15)0.00 ≠n
fy px287.00 ± 0.52 (15)287.09 ± 0.54 (14/15)fixed 287.09 ± 0.54 (14/15)+0.09 ≠n
cx px415.80 ± 0.35 (15)415.78 ± 0.36 (14/15)fixed 415.78 ± 0.36 (14/15)−0.02 ≠n
cy px403.62 ± 0.28 (15)403.62 ± 0.28 (14/15)fixed 403.62 ± 0.28 (14/15)−0.01 ≠n
dist k1−0.00588 ± 0.00125 (15)−0.00586 ± 0.00128 (14/15)fixed −0.00587 ± 0.00128 (14/15)+0.00002 ≠n
dist k20.03417 ± 0.00387 (15)0.03410 ± 0.00394 (14/15)fixed 0.03411 ± 0.00393 (14/15)−0.00006 ≠n
dist k3−0.03157 ± 0.00489 (15)−0.03143 ± 0.00499 (14/15)fixed −0.03143 ± 0.00498 (14/15)+0.00014 ≠n
dist k40.00457 ± 0.00197 (15)0.00454 ± 0.00201 (14/15)fixed 0.00453 ± 0.00201 (14/15)−0.00003 ≠n
time offset td to base IMU‡ ms2.045 ± 0.182 (15)2.036 ± 0.188 (14/15)−0.684 ± 0.301 (14/15)◆ +2.720−0.009 ≠n
distance to base IMU ‖p‖ mm11.92 ± 0.43 (15)11.99 ± 0.44 (14/15)8.22 ± 2.83 (14/15)◆ +3.76+0.07 ≠n
reproj median px0.200 ± 0.005 (15)0.200 ± 0.005 (14/15)0.367 ± 0.012 (14/15)fitfit
cam1 – ELP-L
fx px428.34 ± 0.71 (15)428.22 ± 0.74 (14/15)fixed 428.22 ± 0.73 (14/15)−0.12 ≠n
fy px427.92 ± 0.86 (15)427.89 ± 0.90 (14/15)fixed 427.89 ± 0.89 (14/15)−0.02 ≠n
cx px351.02 ± 0.35 (15)351.00 ± 0.36 (14/15)fixed 351.01 ± 0.36 (14/15)−0.02 ≠n
cy px266.49 ± 0.25 (15)266.47 ± 0.23 (14/15)fixed 266.47 ± 0.23 (14/15)−0.02 ≠n
dist k1−0.09405 ± 0.00194 (15)−0.09428 ± 0.00199 (14/15)fixed −0.09431 ± 0.00200 (14/15)−0.00023 ≠n
dist k2−0.02494 ± 0.00707 (15)−0.02435 ± 0.00720 (14/15)fixed −0.02428 ± 0.00720 (14/15)+0.00059 ≠n
dist k30.02150 ± 0.01592 (15)0.02020 ± 0.01640 (14/15)fixed 0.02013 ± 0.01638 (14/15)−0.00130 ≠n
dist k4−0.01058 ± 0.01133 (15)−0.01000 ± 0.01174 (14/15)fixed −0.01005 ± 0.01172 (14/15)+0.00058 ≠n
readout tr ms16.669 ± 0.086 (15)16.670 ± 0.091 (14/15)fixed 0.000 (14/15)+0.001 ≠n
baseline to t265 fisheye 1 mm153.510 ± 0.164 (15)153.500 ± 0.173 (14/15)fixed 153.504 ± 0.170 (14/15)−0.010 ≠n
time offset td to base IMU‡ ms−115.919 ± 0.632 (15)−115.876 ± 0.640 (14/15)−107.879 ± 0.888 (14/15)≠ model+0.043 ≠n
distance to base IMU ‖p‖ mm142.02 ± 0.43 (15)141.98 ± 0.45 (14/15)146.46 ± 2.21 (14/15)≠ model−0.04 ≠n
reproj median px0.181 ± 0.006 (15)0.181 ± 0.006 (14/15)0.795 ± 0.031 (14/15)fitfit
aux IMU – Xsens MTi
time delay td to base IMU‡ ms7.240 ± 0.146 (15)7.228 ± 0.152 (14/15)7.260 ± 0.122 (14/15)−0.032−0.013 ≠n
distance to base IMU ‖p‖ mm124.09 ± 0.32 (15)124.10 ± 0.33 (14/15)114.10 ± 2.96 (14/15)◆ +9.99+0.01 ≠n

T8 · ELP RS stereo + two IMUs (IMUs only)

MVIS 15 of 15 · Kalibr 3 of 15, no values on ELP-L, ELP-R · Basalt not run

Camera + IMU · MVIS bags 1–15 · Kalibr bags 1–3, t265 fisheye 1 only

Read first: Kalibr has 3 of 15 recordings, IMUs only, from earlier runs with an MVIS export as camera input. Data settings differ: see Notes.

Notes, including why Basalt has no run

Basalt not run: Basalt has no rolling-shutter model.

Like for like: Kalibr's values come from separate earlier runs of bags 1–3 with t265 fisheye 1 only, so MVIS − Kalibr compares 15 recordings with 3. MVIS uses two corners per tag, non-base cameras at 4 Hz or lower and an estimated board shape; Kalibr has none of these.

Note: No RS-anchored Kalibr run exists: Kalibr's camera + IMU solver cannot use the ELP rolling-shutter cameras. T8's IMUs (t265 base, Xsens aux) are the same physical IMUs on the same bags as T7, so they are compared with separate earlier Kalibr runs of bags 1–3 (t265 fisheye 1 only), not the T7 runs. Its ELP cameras have no Kalibr counterpart and are listed with MVIS values only.

cam0 – ELP-L · 12 rows

Kalibr: no run. Its camera + IMU solver can't use rolling-shutter cameras.

ParameterMVISKalibr IMU modelKalibr
fx px428.05 ± 0.61 (15)no run
fy px427.90 ± 0.77 (15)no run
cx px350.94 ± 0.38 (15)no run
cy px266.09 ± 0.31 (15)no run
dist k1−0.09366 ± 0.00219 (15)no run
dist k2−0.02558 ± 0.00740 (15)no run
dist k30.01529 ± 0.01502 (15)no run
dist k4−0.00738 ± 0.00997 (15)no run
readout tr ms16.620 ± 0.121 (15)no run
time offset td to base IMU‡ ms−115.844 ± 0.617 (15)no run
distance to base IMU ‖p‖ mm143.01 ± 0.40 (15)no run
reproj median px0.162 ± 0.006 (15)no run
cam1 – ELP-R · 13 rows

Kalibr: no run. Its camera + IMU solver can't use rolling-shutter cameras.

ParameterMVISKalibr IMU modelKalibr
fx px424.86 ± 0.65 (15)no run
fy px424.71 ± 0.80 (15)no run
cx px336.80 ± 0.34 (15)no run
cy px257.25 ± 0.30 (15)no run
dist k1−0.09144 ± 0.00236 (15)no run
dist k2−0.02083 ± 0.00545 (15)no run
dist k30.00062 ± 0.00939 (15)no run
dist k40.00251 ± 0.00606 (15)no run
readout tr ms16.596 ± 0.109 (15)no run
baseline to ELP-L mm59.204 ± 0.085 (15)no run
time offset td to base IMU‡ ms−115.879 ± 0.598 (15)no run
distance to base IMU ‖p‖ mm202.12 ± 0.42 (15)no run
reproj median px0.182 ± 0.007 (15)no run
base IMU – t265 IMU · 19 rows · ◆ 7
ParameterMVISKalibr IMU modelKalibrMVIS− Kalibr
gyro Dw[0,0] scale x0.99983 ± 0.00117 (15)1.01272 ± 0.00388 (3/15)◆ −0.01289 ≠n
gyro Dw[1,1] scale y1.00294 ± 0.00128 (15)1.01135 ± 0.00259 (3/15)◆ −0.00841 ≠n
gyro Dw[2,2] scale z1.00415 ± 0.00030 (15)1.00439 ± 0.00007 (3/15)−0.00024 ≠n
gyro Dw[1,0] cross0.00185 ± 0.00111 (15)0.00541 ± 0.00141 (3/15)◆ −0.00356 ≠n
gyro Dw[2,0] cross0.00221 ± 0.00073 (15)−0.00330 ± 0.00161 (3/15)◆ +0.00551 ≠n
gyro Dw[2,1] cross−0.00101 ± 0.00101 (15)0.00459 ± 0.00312 (3/15)◆ −0.00559 ≠n
accel Da[0,0] scale x1.01989 ± 0.00038 (15)1.01725 ± 0.00204 (3/15)◆ +0.00264 ≠n
accel Da[1,1] scale y1.01905 ± 0.00063 (15)1.01997 ± 0.00206 (3/15)−0.00092 ≠n
accel Da[2,2] scale z1.01668 ± 0.00109 (15)1.02013 ± 0.00141 (3/15)◆ −0.00345 ≠n
Tg[0,0] g-sensitivity mrad·s/m−0.074 ± 0.093 (15)0.068 ± 0.443 (3/15)≠ model
Tg[0,1] g-sensitivity mrad·s/m−0.433 ± 0.260 (15)1.885 ± 1.225 (3/15)≠ model
Tg[0,2] g-sensitivity mrad·s/m0.211 ± 0.207 (15)−1.393 ± 1.041 (3/15)≠ model
Tg[1,0] g-sensitivity mrad·s/m0.253 ± 0.119 (15)−0.803 ± 0.236 (3/15)≠ model
Tg[1,1] g-sensitivity mrad·s/m−0.074 ± 0.162 (15)−0.968 ± 0.718 (3/15)≠ model
Tg[1,2] g-sensitivity mrad·s/m0.243 ± 0.236 (15)2.343 ± 0.104 (3/15)≠ model
Tg[2,0] g-sensitivity mrad·s/m−0.114 ± 0.064 (15)0.679 ± 0.446 (3/15)≠ model
Tg[2,1] g-sensitivity mrad·s/m−0.089 ± 0.105 (15)−2.238 ± 1.000 (3/15)≠ model
Tg[2,2] g-sensitivity mrad·s/m−0.034 ± 0.102 (15)1.657 ± 0.502 (3/15)≠ model
t_ga gyro−accel ms−6.698 ± 0.135 (15)not in model
aux IMU – Xsens MTi · 21 rows · ◆ 9
ParameterMVISKalibr IMU modelKalibrMVIS− Kalibr
gyro Dw[0,0] scale x1.00085 ± 0.00119 (15)1.01189 ± 0.00357 (3/15)◆ −0.01104 ≠n
gyro Dw[1,1] scale y0.99862 ± 0.00025 (15)0.99906 ± 0.00013 (3/15)◆ −0.00044 ≠n
gyro Dw[2,2] scale z1.00039 ± 0.00131 (15)1.00753 ± 0.00219 (3/15)◆ −0.00714 ≠n
gyro Dw[1,0] cross−0.00010 ± 0.00054 (15)0.00283 ± 0.00075 (3/15)◆ −0.00294 ≠n
gyro Dw[2,0] cross0.00255 ± 0.00069 (15)0.00558 ± 0.00170 (3/15)◆ −0.00303 ≠n
gyro Dw[2,1] cross0.00097 ± 0.00079 (15)−0.00485 ± 0.00261 (3/15)◆ +0.00582 ≠n
accel Da[0,0] scale x0.99997 ± 0.00037 (15)0.98907 ± 0.00999 (3/15)◆ +0.01090 ≠n
accel Da[1,1] scale y0.99932 ± 0.00096 (15)1.00747 ± 0.00680 (3/15)◆ −0.00815 ≠n
accel Da[2,2] scale z1.00093 ± 0.00049 (15)1.00373 ± 0.00376 (3/15)−0.00280 ≠n
Tg[0,0] g-sensitivity mrad·s/m−0.008 ± 0.030 (15)0.018 ± 0.121 (3/15)≠ model
Tg[0,1] g-sensitivity mrad·s/m−0.012 ± 0.092 (15)1.221 ± 0.746 (3/15)≠ model
Tg[0,2] g-sensitivity mrad·s/m−0.001 ± 0.050 (15)0.722 ± 0.527 (3/15)≠ model
Tg[1,0] g-sensitivity mrad·s/m−0.014 ± 0.021 (15)−0.963 ± 0.154 (3/15)≠ model
Tg[1,1] g-sensitivity mrad·s/m−0.012 ± 0.054 (15)1.057 ± 0.271 (3/15)≠ model
Tg[1,2] g-sensitivity mrad·s/m0.004 ± 0.048 (15)1.124 ± 0.514 (3/15)≠ model
Tg[2,0] g-sensitivity mrad·s/m0.024 ± 0.020 (15)−0.012 ± 0.129 (3/15)≠ model
Tg[2,1] g-sensitivity mrad·s/m−0.058 ± 0.078 (15)−0.862 ± 0.330 (3/15)≠ model
Tg[2,2] g-sensitivity mrad·s/m−0.031 ± 0.036 (15)−0.737 ± 0.296 (3/15)≠ model
time delay td to base IMU‡ ms7.248 ± 0.115 (15)7.254 ± 0.027 (3/15)−0.006 ≠n
distance to base IMU ‖p‖ mm123.94 ± 0.30 (15)115.85 ± 1.24 (3/15)◆ +8.09 ≠n
t_ga gyro−accel ms−0.466 ± 0.237 (15)not in model
MVIS default IMU model (calyx) · 27 of 65 rows, model-independent only · ◆ 2

Only the aux IMU td and lever rows are at Kalibr's 3 recordings.

ParameterMVISKalibr IMU modelMVIS defaultKalibrdefault− Kalibrdefault− Kalibr IMU model
cam0 – ELP-L
fx px428.05 ± 0.61 (15)428.07 ± 0.62 (15)no run+0.02
fy px427.90 ± 0.77 (15)427.91 ± 0.77 (15)no run+0.01
cx px350.94 ± 0.38 (15)350.94 ± 0.38 (15)no run0.00
cy px266.09 ± 0.31 (15)266.08 ± 0.32 (15)no run0.00
dist k1−0.09366 ± 0.00219 (15)−0.09368 ± 0.00220 (15)no run−0.00003
dist k2−0.02558 ± 0.00740 (15)−0.02565 ± 0.00742 (15)no run−0.00008
dist k30.01529 ± 0.01502 (15)0.01540 ± 0.01504 (15)no run+0.00012
dist k4−0.00738 ± 0.00997 (15)−0.00723 ± 0.00998 (15)no run+0.00015
readout tr ms16.620 ± 0.121 (15)16.618 ± 0.122 (15)no run−0.003
time offset td to base IMU‡ ms−115.844 ± 0.617 (15)−115.884 ± 0.623 (15)no run−0.040
distance to base IMU ‖p‖ mm143.01 ± 0.40 (15)142.98 ± 0.39 (15)no run−0.03
reproj median px0.162 ± 0.006 (15)0.163 ± 0.006 (15)no runfit
cam1 – ELP-R
fx px424.86 ± 0.65 (15)424.87 ± 0.65 (15)no run+0.01
fy px424.71 ± 0.80 (15)424.73 ± 0.80 (15)no run+0.01
cx px336.80 ± 0.34 (15)336.80 ± 0.34 (15)no run0.00
cy px257.25 ± 0.30 (15)257.24 ± 0.30 (15)no run−0.01
dist k1−0.09144 ± 0.00236 (15)−0.09147 ± 0.00236 (15)no run−0.00002
dist k2−0.02083 ± 0.00545 (15)−0.02087 ± 0.00544 (15)no run−0.00004
dist k30.00062 ± 0.00939 (15)0.00088 ± 0.00938 (15)no run+0.00026
dist k40.00251 ± 0.00606 (15)0.00245 ± 0.00605 (15)no run−0.00006
readout tr ms16.596 ± 0.109 (15)16.594 ± 0.111 (15)no run−0.002
baseline to ELP-L mm59.204 ± 0.085 (15)59.207 ± 0.084 (15)no run+0.003
time offset td to base IMU‡ ms−115.879 ± 0.598 (15)−115.931 ± 0.604 (15)no run−0.052
distance to base IMU ‖p‖ mm202.12 ± 0.42 (15)202.12 ± 0.41 (15)no run0.00
reproj median px0.182 ± 0.007 (15)0.183 ± 0.007 (15)no runfit
aux IMU – Xsens MTi
time delay td to base IMU‡ ms7.248 ± 0.115 (15)7.176 ± 0.038 (3/15)7.254 ± 0.027 (3/15)◆ −0.078−0.072 ≠n
distance to base IMU ‖p‖ mm123.94 ± 0.30 (15)124.19 ± 0.18 (3/15)115.85 ± 1.24 (3/15)◆ +8.34+0.25 ≠n