Results — repeatability across recordings
Batch 2026-11-08a · results commit e893730 ·
records in calibench-vi/results · the Space shows the same parameter tables.
This page shows repeatability, not accuracy. Repeatability is how much each tool’s estimates scatter when we calibrate the same rig from different recordings.
- No ground truth: these datasets have none, so no tool is the reference. A tool can repeat well and still be biased.
- Shared recordings only: we compare tools only on recordings that every compared tool ran.
- No reprojection error: it measures how well a model fits its own data, so we do not use it here.
- Who ran it: the MVIS authors run this board and made every run, including the Kalibr and Basalt runs.
Run dates and data settings
- 2026-11-08: MVIS and Kalibr on T6 and T11, and Basalt on T11, were re-run with IMU noise measured at rest (white-noise density × 2.5, the same values for every tool; bias walks at the defaults).
- 2026-11-08: MVIS on T2 and T12 was re-run with the current MVIS code.
- 2026-11-07: Kalibr camera + IMU on T6 and T11 was re-run from its own camera calibration.
- 2026-11-07: on T3, every tool ran on the same view-filtered bags (≤ 85°).
- 2026-11-04: Kalibr on T1 bag 09 was re-run.
- 2026-11-02: Kalibr on T7 was re-run.
- 2026-10-22 or earlier: all other Kalibr and Basalt runs.
- T6c: the MVIS values come from camera-only runs.
Data settings still differ from MVIS on T6, T7 and T8.
Overall
Real recordings have no ground truth. Measured points are repeatability only: a tool can repeat well and still be biased.
Measured tier A
- MVIS 0.78
- Kalibr 0.38
- Basalt 0.68
3 of 6 aspects have points
Capability tier C
- MVIS 0.68
- Kalibr 0.51
- Basalt 0.43
11 of 11 aspects have points
Usability tier U
- MVIS 0.67
- Kalibr 0.79
- Basalt 0.54
4 of 4 aspects have points
Project facts no points
| Fact | MVIS | Kalibr | Basalt |
|---|---|---|---|
| Public since, GitHub stars | unreleased (0.1.0) | 2014, about 5.8k | 2019, about 1.0k |
| Peer-reviewed papers | IJRR 2024, on the C++ predecessor | 5 papers | 3DV 2018, CVPR 2020 |
| Licence | GPL-3.0 or commercial | BSD | BSD-3 |
Licence: BSD: use in closed products with the notice kept. GPL-3.0: free, but products that ship it must be GPL too; a commercial licence is available.
Derived total derived
- MVIS 0.71
- Kalibr 0.56
- Basalt 0.55
The derived total is the mean of the three tier values, each tier the mean of its aspects. Sum of points over the 18 aspects that have points: MVIS 12.45, Kalibr 9.89, Basalt 8.99.
Maturity, papers and licence are shown, not counted. Counting them as in the first draft puts Basalt first (0.67 against 0.65 for MVIS).
Equal tiers: MVIS first in 18 of 18 leave-one-aspect-out variants.
Head to head (measured)
Camera-only repeatability: MVIS and Basalt repeat about equally well; both repeat better than Kalibr.
Camera-IMU repeatability: MVIS repeats better than Kalibr (T6, T11); about equal: MVIS and Basalt (T11), Kalibr and Basalt (T11).
Aspects
● 1 · ◐ ½ · ○ 0; other values are means of sub-checks, which open under the aspect name. – = no points, with the reason.
| Aspect | Home | MVIS | Kalibr | Basalt |
|---|---|---|---|---|
A1 Camera-only repeatability RuleSpread of focal length, principal point, distortion and camera distance across recordings of one rig. | – | 0.676 pair-families | 0.316 pair-families | 0.544 pair-families |
A2 Camera-IMU repeatability RuleSpread of the camera-IMU distance, gyro and accel terms. The time offset is left out: MVIS also fits a gyro-accel delay. | – | 0.673 pair-families | 0.333 pair-families | 0.502 pair-families |
A3 Rolling-shutter readout repeatability RuleReadout spread. On T2 the lens models differ (MVIS equidistant, Kalibr RS radtan); T8 and T11 have one tool only. | – | –inputs differ between tools | –inputs differ between tools | –inputs differ between tools |
A4 Accuracy against known truth RuleError against simulation truth, all tools on the same rendered data. Accuracy against known truth: not measured for any tool. It needs simulated recordings run through all three tools. | – | –not measured | –not measured | –not measured |
A5 Solve robustness RuleShare of attempted rows that end ok and physical, on rows the tool's model supports. 1 = at least 99 %, 0.5 = 90-99 %, 0 = under 90 %. Kalibr: one final fail and one unphysical IMU fit. Basalt: our build with robustness patches; physicality on three families unchecked. | – | 1.00176 of 176 | 0.5090 of 92 | 1.0076 of 76, provisional |
A6 Runtime RuleBag to calibration, detection included, same machine, same rows. Timing definitions differ between the tools today. | – | –pending | –pending | –pending |
| Aspect | Home | MVIS | Kalibr | Basalt | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C1 Lens models, fisheye included Rule(a) pinhole-radtan (b) KB4 / equidistant (c) a unified wide model (d) mixed models per rig | Shared | 1.00 | 1.00 | 1.00 | ||||||||||||||||||||||||
C2 Calibration targets Rule1 = two or more target families, 0.5 = one | Shared | 1.00 | 1.00 | 0.50AprilGrid only | ||||||||||||||||||||||||
C3 Board model RuleEstimates a non-planar board | Designed into MVIS | 1.00 | 0.00 | 0.00 | ||||||||||||||||||||||||
C4 Rolling shutter Rule and sub-checks
| Designed into MVIS | 1.00 | 0.25 | 0.00 | ||||||||||||||||||||||||
C5 Time offsets and clocks Rule and sub-checks
| Mixed | 0.70 | 0.50 | 0.20 | ||||||||||||||||||||||||
C6 IMU intrinsic model Rule and sub-checks
| Mixed | 0.75 | 1.00 | 0.25 | ||||||||||||||||||||||||
C7 Multi-sensor rigs Rule and sub-checks
| Mixed | 1.00 | 0.83 | 0.33 | ||||||||||||||||||||||||
C8 Trajectory model Rule1 = continuous-time spline; 0.5 = discrete states with a known bias | Kalibr feature / Basalt feature | 0.50 | 1.00 | 1.00 | ||||||||||||||||||||||||
C9 Mocap-to-IMU RuleSupported | Basalt feature | 0.00 | 0.00 | 1.00 | ||||||||||||||||||||||||
C10 Vignetting RuleExperimental = 0.5 | Basalt feature | 0.00 | 0.00 | 0.50 | ||||||||||||||||||||||||
C11 Calibration simulation Rule1 = scenario generator with images or bags; 0.5 = re-simulates corners from a calibration | Designed into MVIS | 0.50 | 0.00 | 0.00 |
| Aspect | Home | MVIS | Kalibr | Basalt | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
U1 Install and platforms Rule1 = prebuilt packages for a current OS; 0.5 = source build or container | Shared | 0.50 | 0.50 | 1.00 | ||||||||||||||||
U2 Public docs per feature Rule1 = a guide or wiki page per feature; 0.5 = one calibration doc | Shared | 1.00 | 1.00 | 0.50 | ||||||||||||||||
U3 Reports and diagnostics Rule and sub-checks
| Shared | 0.67 | 0.67 | 0.17 | ||||||||||||||||
U4 Export formats Rule1 = two or more external formats or tools; 0.5 = one | Shared | 0.50 | 1.00 | 0.50 |
Reader presets
| Preset | MVIS | Kalibr | Basalt | Leads |
|---|---|---|---|---|
| Equal tiers A, C, U (default) | 0.71 | 0.56 | 0.55 | MVIS |
| Algorithm only (A + C) | 0.73 | 0.44 | 0.56 | MVIS |
| Capability only | 0.68 | 0.51 | 0.43 | MVIS |
| Usability only | 0.67 | 0.79 | 0.54 | Kalibr |
| Capability without any tool's home rows or sub-checks | 0.97 | 0.90 | 0.53 | MVIS |
| Measured only (A1 + A2 + A5) | 0.78 | 0.38 | 0.68 | MVIS |
| Camera-only measured (A1) | 0.67 | 0.31 | 0.54 | MVIS |
| Camera-only user (C1-C3, C4 a-b, C10, C11, A1) | 0.74 | 0.40 | 0.36 | MVIS |
| GS camera-IMU user (C5-C9) | 0.59 | 0.67 | 0.56 | Kalibr |
| RS or mixed-rig camera-IMU user (C4-C9) | 0.66 | 0.60 | 0.46 | MVIS |
| First draft: maturity, papers, licence counted (old tier G) | 0.65 | 0.61 | 0.67 | Basalt |
Columns, rules and what has no points
- Kalibr, default settings (view shuffle on). Camera-only runs start from the MVIS focal length.
- Basalt 0.1.7. Capabilities as released; measured cells from our headless build with robustness patches.
- T6 counted despite 'settings differ': Kalibr now starts from its own camera calibration; the remaining differences (board shape, data windows) are tool settings.
- T7 left out: Kalibr has no rolling-shutter camera-IMU model, so no like-for-like T7 run exists.
- IMU-only calibration without a camera: none of the three tools, so it does not separate them.
- Number of IMU conventions: a convention, not a quality lever.
- Uncertainty output: pending, Basalt not checked.
- Determinism: MVIS gives the same result when run twice (to rounding); Kalibr's default view shuffle varies run to run. Not counted until it has a rule.
VI-Rig: 4 IMUs + 3 cameras
Section titled “VI-Rig: 4 IMUs + 3 cameras”Our flagship rig. Dataset page.
| Family | Focal + pp px | Distortion | Distance mm | Time offset ms | Cam–IMU distance mm | Gyro | Accel |
|---|---|---|---|---|---|---|---|
| T6c · camera n = 10 matched 3 GS cameras — camera calibration | MVIS = Basalt> Kalibr ×4.6 ab | MVIS = Basalt> Kalibr ×9.9 cab | Kalibr only | — | — | — | — |
| T6 · cam+IMU n = 10 matched 3 GS cameras + 4 IMUs | input, not compared | input, not compared | input, not compared | Tie de | MVIS ×3.4 d | MVIS ×2.5K-IMU df | MVIS ×2.7K-IMU df |
T6c · camera · 3 GS cameras — camera calibration More repeatable or tie: Focal + pp MVIS = Basalt > Kalibr · Distortion MVIS = Basalt > Kalibr n = 10 matched · MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10
T6 · cam+IMU · 3 GS cameras + 4 IMUs More repeatable or tie: Time offset tie · Cam–IMU distance MVIS · Gyro MVIS K-IMU · Accel MVIS K-IMU n = 10 matched · MVIS 10 of 10 · Kalibr 10 of 10 · Basalt not run
- Time offsetTiede
- Cam–IMU distance MVIS×3.4d
- Gyro MVIS×2.5K-IMUdf
- Accel MVIS×2.7K-IMUdf
- Focal + pp · Distortion · Distance: input, not compared
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.
- a Basalt's fisheye-2 frames are snapped onto fisheye-1 (1.8–5 ms apart).
- b The tool pairs here use different parameters, because one tool is not compared on every camera; the cell lists which.
- c Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
- d Data settings still differ between the tools on this family.
- e MVIS also fits a gyro–accel delay (t_ga) that Kalibr and Basalt do not, so its td is not quite the same quantity.
- f 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
- T6 reprojection error (3 rows): fit quality, not repeatability and not accuracy
- T6 IMU g-sensitivity Tg (36 rows): Kalibr absorbs it in its IMU model
- T6 gyro–accel delay t_ga (4 rows): MVIS only
- T6 Basalt: not run: one IMU per run; no run holds the whole rig
Focal length + principal point · T6c · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10) · 3 GS cameras — camera calibration, camera
The spreads of MVIS and Basalt differ by 1.00×, but a gap this size appears often by chance with 10 recordings (p = 0.99). Treated as a tie. Both scatter less than Kalibr: across the same 10 recordings Kalibr's estimates scatter about 4.6× more than MVIS's and 5.1× more than Basalt's. Holds with any one recording left out.
MVIS here: the camera values of the T6 camera+IMU solve.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 12 param. | 0.22 | 0.13 – 0.39 | 0.0059 (raw 0.002) | MVIS tighter | holds with any one recording left out |
| MVIS ÷ Basalt · 8 param. | 1 | 0.83 – 1.74 | 0.99 | tie: gap within chance | |
| Kalibr ÷ Basalt · 8 param. | 5.07 | 2.89 – 14.33 | 0.0059 (raw 0.002) | Basalt tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Blackfly · fx px | 0.983 | 2.17 | – |
| Blackfly · fy px | 1.12 | 2.5 | – |
| Blackfly · cx px | 0.551 | 3.28 | – |
| Blackfly · cy px | 0.661 | 1.44 | – |
| t265 fisheye 1 · fx px | 0.392 | 1.61 | 0.403 |
| t265 fisheye 1 · fy px | 0.316 | 1.69 | 0.332 |
| t265 fisheye 1 · cx px | 0.205 | 0.553 | 0.204 |
| t265 fisheye 1 · cy px | 0.207 | 1.09 | 0.175 |
| t265 fisheye 2 · fx px | 0.395 | 1.99 | 0.395 |
| t265 fisheye 2 · fy px | 0.317 | 2.08 | 0.333 |
| t265 fisheye 2 · cx px | 0.217 | 0.589 | 0.204 |
| t265 fisheye 2 · cy px | 0.164 | 1.01 | 0.135 |
- Basalt · shown only · 4 rows: other camera model (pinhole-radtan8)
- a Basalt's fisheye-2 frames are snapped onto fisheye-1 (1.8–5 ms apart).
- b The tool pairs here use different parameters, because one tool is not compared on every camera; the cell lists which.
Repeatability only — a tool can repeat well and still be biased.
Distortion coefficients · T6c · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10) · 3 GS cameras — camera calibration, camera
The spreads of MVIS and Basalt differ by 1.5×, but a gap this size appears often by chance with 10 recordings (p = 0.055). Treated as a tie. Both scatter less than Kalibr: across the same 10 recordings Kalibr's estimates scatter about 9.9× more than MVIS's and 19× more than Basalt's. Holds with any one recording left out.
MVIS here: the camera values of the T6 camera+IMU solve.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 12 param. | 0.1 | 0.05 – 0.32 | 0.0059 (raw 0.002) | MVIS tighter | holds with any one recording left out |
| MVIS ÷ Basalt · 8 param. | 1.47 | 1 – 2.74 | 0.055 | tie: gap within chance | |
| Kalibr ÷ Basalt · 8 param. | 19.49 | 4.54 – 66.05 | 0.0059 (raw 0.002) | Basalt tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Blackfly · dist k1 | 0.00256 | 0.00996 | – |
| Blackfly · dist k2 | 0.00261 | 0.00889 | – |
| Blackfly · dist p1 | 0.000167 | 0.000385 | – |
| Blackfly · dist p2 | 0.000185 | 0.000954 | – |
| t265 fisheye 1 · dist k1 | 0.00155 | 0.0188 | 0.00115 |
| t265 fisheye 1 · dist k2 | 0.0037 | 0.042 | 0.00248 |
| t265 fisheye 1 · dist k3 | 0.00435 | 0.0373 | 0.00239 |
| t265 fisheye 1 · dist k4 | 0.0017 | 0.011 | 0.000761 |
| t265 fisheye 2 · dist k1 | 0.0013 | 0.0324 | 0.00104 |
| t265 fisheye 2 · dist k2 | 0.00336 | 0.0785 | 0.00276 |
| t265 fisheye 2 · dist k3 | 0.00419 | 0.073 | 0.00289 |
| t265 fisheye 2 · dist k4 | 0.00171 | 0.0224 | 0.001 |
- Basalt · shown only · 4 rows: other camera model (pinhole-radtan8)
- c 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).
- b The tool pairs here use different parameters, because one tool is not compared on every camera; the cell lists which.
Repeatability only — a tool can repeat well and still be biased.
Camera–camera distance · T6c · Kalibr only (MVIS no value · Kalibr 10 of 10 · Basalt no value) · 3 GS cameras — camera calibration, camera
Kalibr only: no value for this tool
- MVIS · missing · 2 rows: no value for this tool
- Basalt · missing · 2 rows: not in one run
Repeatability only — a tool can repeat well and still be biased.
Focal length + principal point · T6 · Input, not compared (MVIS 10 of 10 · Kalibr input · Basalt not run) · 3 GS cameras + 4 IMUs, 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.
- Kalibr · input, not compared · 12 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 · 12 rows: not run: one IMU per run; no run holds the whole rig
Repeatability only — a tool can repeat well and still be biased.
Distortion coefficients · T6 · Input, not compared (MVIS 10 of 10 · Kalibr input · Basalt not run) · 3 GS cameras + 4 IMUs, 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.
- Kalibr · input, not compared · 12 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 · 12 rows: not run: one IMU per run; no run holds the whole rig
Repeatability only — a tool can repeat well and still be biased.
Camera–camera distance · T6 · Input, not compared (MVIS 10 of 10 · Kalibr input · Basalt not run) · 3 GS cameras + 4 IMUs, 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.
- Kalibr · input, not compared · 2 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 · 2 rows: not run: one IMU per run; no run holds the whole rig
Repeatability only — a tool can repeat well and still be biased.
Camera–IMU time offset · T6 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt not run) · 3 GS cameras + 4 IMUs, cam+IMU
The spreads of MVIS and Kalibr differ by 1.03×, but a gap this size appears often by chance with 10 recordings (p = 0.73). Treated as a tie.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 6 param. | 1.03 | 0.82 – 1.33 | 0.73 | tie: gap within chance |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| Blackfly · time offset td to base IMU ms | 0.0964 | 0.149 | 0.65 |
| t265 fisheye 1 · time offset td to base IMU ms | 0.155 | 0.247 | 0.63 |
| t265 fisheye 2 · time offset td to base IMU ms | 0.237 | 0.244 | 0.97 |
| GX3-25 · time delay td to base IMU ms | 0.208 | 0.189 | 1.10 |
| GX3-35 · time delay td to base IMU ms | 0.209 | 0.17 | 1.23 |
| t265 IMU · time delay td to base IMU ms | 0.212 | 0.188 | 1.13 |
- Basalt · 6 rows: not run: one IMU per run; no run holds the whole rig
- d Data settings still differ between the tools on this family.
- e 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 · T6 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt not run) · 3 GS cameras + 4 IMUs, cam+IMU
Across the same 10 recordings, Kalibr's estimates scatter about 3.4× more than MVIS's (median over 6 parameters). A gap this large appeared in 0.59 % of recording-by-recording swaps. Holds with any one recording left out.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 6 param. | 0.29 | 0.16 – 0.51 | 0.0059 | MVIS tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| Blackfly · distance to base IMU ‖p‖ mm | 1.41 | 3.64 | 0.39 |
| t265 fisheye 1 · distance to base IMU ‖p‖ mm | 1.48 | 3.19 | 0.46 |
| t265 fisheye 2 · distance to base IMU ‖p‖ mm | 1.7 | 3.99 | 0.43 |
| GX3-25 · distance to base IMU ‖p‖ mm | 0.198 | 0.883 | 0.22 |
| GX3-35 · distance to base IMU ‖p‖ mm | 0.189 | 0.862 | 0.22 |
| t265 IMU · distance to base IMU ‖p‖ mm | 0.194 | 1.42 | 0.14 |
- Basalt · 6 rows: not run: one IMU per run; no run holds the whole rig
- d 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 · T6 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt not run) · 3 GS cameras + 4 IMUs, cam+IMU
Across the same 10 recordings, Kalibr's estimates scatter about 2.5× more than MVIS's (median over 24 parameters). A gap this large appeared in 0.59 % of recording-by-recording swaps. Holds with any one recording left out.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 24 param. | 0.4 | 0.25 – 0.6 | 0.0059 | MVIS tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| Xsens MTi · gyro Dw[0,0] scale x | 0.00149 | 0.00344 | 0.43 |
| Xsens MTi · gyro Dw[1,1] scale y | 0.00051 | 0.00182 | 0.28 |
| Xsens MTi · gyro Dw[2,2] scale z | 0.00201 | 0.00248 | 0.81 |
| Xsens MTi · gyro Dw[1,0] cross | 0.000808 | 0.00266 | 0.30 |
| Xsens MTi · gyro Dw[2,0] cross | 0.00143 | 0.00393 | 0.36 |
| Xsens MTi · gyro Dw[2,1] cross | 0.00144 | 0.00345 | 0.42 |
| GX3-25 · gyro Dw[0,0] scale x | 0.000544 | 0.00193 | 0.28 |
| GX3-25 · gyro Dw[1,1] scale y | 0.00161 | 0.0039 | 0.41 |
| GX3-25 · gyro Dw[2,2] scale z | 0.00235 | 0.00197 | 1.19 |
| GX3-25 · gyro Dw[1,0] cross | 0.000649 | 0.00239 | 0.27 |
| GX3-25 · gyro Dw[2,0] cross | 0.00149 | 0.00333 | 0.45 |
| GX3-25 · gyro Dw[2,1] cross | 0.0016 | 0.00438 | 0.37 |
| GX3-35 · gyro Dw[0,0] scale x | 0.000392 | 0.00172 | 0.23 |
| GX3-35 · gyro Dw[1,1] scale y | 0.0016 | 0.00388 | 0.41 |
| GX3-35 · gyro Dw[2,2] scale z | 0.00228 | 0.00211 | 1.08 |
| GX3-35 · gyro Dw[1,0] cross | 0.000785 | 0.00242 | 0.32 |
| GX3-35 · gyro Dw[2,0] cross | 0.00131 | 0.0032 | 0.41 |
| GX3-35 · gyro Dw[2,1] cross | 0.00175 | 0.00448 | 0.39 |
| t265 IMU · gyro Dw[0,0] scale x | 0.00139 | 0.00344 | 0.40 |
| t265 IMU · gyro Dw[1,1] scale y | 0.00203 | 0.00276 | 0.74 |
| t265 IMU · gyro Dw[2,2] scale z | 0.000568 | 0.00208 | 0.27 |
| t265 IMU · gyro Dw[1,0] cross | 0.00163 | 0.00408 | 0.40 |
| t265 IMU · gyro Dw[2,0] cross | 0.000649 | 0.00264 | 0.25 |
| t265 IMU · gyro Dw[2,1] cross | 0.00141 | 0.00351 | 0.40 |
- Basalt · 24 rows: not run: one IMU per run; no run holds the whole rig
- d Data settings still differ between the tools on this family.
- f 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 · T6 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt not run) · 3 GS cameras + 4 IMUs, cam+IMU
Across the same 10 recordings, Kalibr's estimates scatter about 2.7× more than MVIS's (median over 12 parameters). A gap this large appeared in 0.2 % of recording-by-recording swaps. Holds with any one recording left out.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 12 param. | 0.37 | 0.27 – 0.58 | 0.002 | MVIS tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| Xsens MTi · accel Da[0,0] scale x | 0.000437 | 0.000925 | 0.47 |
| Xsens MTi · accel Da[1,1] scale y | 0.00163 | 0.00332 | 0.49 |
| Xsens MTi · accel Da[2,2] scale z | 0.00132 | 0.00292 | 0.45 |
| GX3-25 · accel Da[0,0] scale x | 0.00179 | 0.00627 | 0.29 |
| GX3-25 · accel Da[1,1] scale y | 0.000409 | 0.00167 | 0.24 |
| GX3-25 · accel Da[2,2] scale z | 0.00137 | 0.00239 | 0.57 |
| GX3-35 · accel Da[0,0] scale x | 0.00173 | 0.0053 | 0.33 |
| GX3-35 · accel Da[1,1] scale y | 0.000384 | 0.00149 | 0.26 |
| GX3-35 · accel Da[2,2] scale z | 0.00133 | 0.00315 | 0.42 |
| t265 IMU · accel Da[0,0] scale x | 0.000525 | 0.00611 | 0.09 |
| t265 IMU · accel Da[1,1] scale y | 0.0016 | 0.00544 | 0.29 |
| t265 IMU · accel Da[2,2] scale z | 0.002 | 0.00206 | 0.97 |
- Basalt · 12 rows: not run: one IMU per run; no run holds the whole rig
- d Data settings still differ between the tools on this family.
- f 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.
Parameter tables, tool differences and run configs (VI-Rig 3 cams)
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.
T6c · 3 GS cameras — camera calibration
MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10, Blackfly shown only
Camera · april 01–10 · Kalibr kalibr_calibrate_cameras, 3 cameras jointly
Read first: MVIS runs the Blackfly and the t265 pair separately, so it has no baseline to the Blackfly; Kalibr solves the three cameras jointly.
Notes
Like for like: MVIS uses two corners per tag and estimates the board shape; Kalibr uses all four corners and assumes a flat board.
Note: MVIS runs camera-only per bag, the Blackfly alone and the t265 pair (the rig's cameras share no frame stamps), so it has no baseline to the Blackfly; Kalibr's 10 camera-only runs solve the three cameras jointly.
Basalt: t265 pair (kb4, fisheye 2 snapped onto fisheye 1) and Blackfly alone (pinhole-radtan8, a different model from radtan: its intrinsics are shown only); no camera-only Basalt run holds both devices, so no baselines to the Blackfly.
cam0 – Blackfly · 8 rows · ◆ 3
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr |
|---|---|---|---|---|
| fx px | 449.95 ± 0.98 (10) | 446.75 ± 2.17 (10) | shown 448.12 ± 1.02 (10) | ◆ +3.20 |
| fy px | 449.10 ± 1.12 (10) | 444.89 ± 2.50 (10) | shown 446.93 ± 0.98 (10) | ◆ +4.21 |
| cx px | 369.81 ± 0.55 (10) | 368.67 ± 3.28 (10) | shown 368.56 ± 0.47 (10) | +1.13 |
| cy px | 279.90 ± 0.66 (10) | 278.41 ± 1.44 (10) | shown 281.06 ± 0.51 (10) | ◆ +1.50 |
| dist k1 | −0.31405 ± 0.00256 (10) | −0.30796 ± 0.00996 (10) | shown 0.31003 ± 6.46473 (10) | −0.00609 |
| dist k2 | 0.084 ± 0.003 (10) | 0.077 ± 0.009 (10) | shown 11.204 ± 13.707 (10) | +0.007 |
| dist p1 | 0.00003 ± 0.00017 (10) | 0.00011 ± 0.00038 (10) | shown −0.00034 ± 0.00026 (10) | −0.00008 |
| dist p2 | −0.00013 ± 0.00018 (10) | 0.00014 ± 0.00095 (10) | shown −0.00032 ± 0.00024 (10) | −0.00027 |
cam1 – t265 fisheye 1 · 9 rows · ◆ 5
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 286.30 ± 0.39 (10) | 285.72 ± 1.61 (10) | 286.17 ± 0.40 (10) | +0.58 | +0.45 | −0.13 |
| fy px | 285.95 ± 0.32 (10) | 285.13 ± 1.69 (10) | 285.60 ± 0.33 (10) | +0.82 | +0.47 | ◆ −0.35 |
| cx px | 415.16 ± 0.20 (10) | 415.83 ± 0.55 (10) | 415.00 ± 0.20 (10) | ◆ −0.67 | ◆ −0.83 | −0.16 |
| cy px | 403.99 ± 0.21 (10) | 404.09 ± 1.09 (10) | 404.05 ± 0.17 (10) | −0.10 | −0.05 | +0.06 |
| dist k1 | −0.00451 ± 0.00155 (10) | 0.00165 ± 0.01882 (10) | −0.00455 ± 0.00115 (10) | −0.00617 | −0.00621 | −0.00004 |
| dist k2 | 0.03678 ± 0.00370 (10) | 0.02307 ± 0.04201 (10) | 0.04107 ± 0.00248 (10) | +0.01371 | +0.01800 | ◆ +0.00429 |
| dist k3 | −0.03395 ± 0.00435 (10) | −0.02549 ± 0.03728 (10) | −0.04057 ± 0.00239 (10) | −0.00847 | −0.01508 | ◆ −0.00662 |
| dist k4 | 0.00501 ± 0.00170 (10) | 0.00321 ± 0.01100 (10) | 0.00755 ± 0.00076 (10) | +0.00180 | +0.00434 | ◆ +0.00254 |
| baseline to Blackfly mm | not in one run | 71.856 ± 1.457 (10) | not in one run |
cam2 – t265 fisheye 2 · 9 rows · ◆ 3
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 286.28 ± 0.39 (10) | 285.37 ± 1.99 (10) | 286.05 ± 0.39 (10) | +0.91 | +0.68 | −0.23 |
| fy px | 285.73 ± 0.32 (10) | 284.57 ± 2.08 (10) | 285.32 ± 0.33 (10) | +1.15 | +0.75 | ◆ −0.40 |
| cx px | 414.58 ± 0.22 (10) | 415.44 ± 0.59 (10) | 414.58 ± 0.20 (10) | ◆ −0.86 | ◆ −0.86 | 0.00 |
| cy px | 398.45 ± 0.16 (10) | 398.62 ± 1.01 (10) | 398.38 ± 0.13 (10) | −0.16 | −0.24 | −0.08 |
| dist k1 | −0.00618 ± 0.00130 (10) | 0.00218 ± 0.03237 (10) | −0.00554 ± 0.00104 (10) | −0.00837 | −0.00773 | +0.00064 |
| dist k2 | 0.04011 ± 0.00336 (10) | 0.02374 ± 0.07849 (10) | 0.04308 ± 0.00276 (10) | +0.01637 | +0.01934 | +0.00297 |
| dist k3 | −0.03668 ± 0.00419 (10) | −0.02631 ± 0.07301 (10) | −0.04154 ± 0.00289 (10) | −0.01037 | −0.01523 | ◆ −0.00486 |
| dist k4 | 0.00632 ± 0.00171 (10) | 0.00280 ± 0.02243 (10) | 0.00763 ± 0.00100 (10) | +0.00352 | +0.00483 | +0.00131 |
| baseline to Blackfly mm | not in one run | 71.630 ± 2.455 (10) | not in one run |
T6 · 3 GS cameras + 4 IMUs
MVIS 10 of 10 · Kalibr 10 of 10 · Basalt not run
Camera + IMU · april 01–10 · Kalibr 3 cameras + 4 IMUs jointly
Read first: Kalibr's intrinsics and baselines are inputs from its own camera-only calibration; its td and lever are solved given them. Data settings differ: see Notes.
Notes, including why Basalt has no run
Basalt not run: Basalt cannot calibrate T6 — one IMU per run (the rig has four) and frames grouped by exact stamp (the t265 pair and the Blackfly share none), so no single run holds the rig.
Like for like: MVIS uses two corners per tag, non-base cameras at 4 Hz or lower and an estimated board shape; Kalibr has none of these. Every tool uses the same IMU noise, measured at rest (the rig's noisiest IMU, one set for all four IMUs). Kalibr's runs date from 2026-11-08.
Note: Kalibr starts from its own camera-only calibration of each bag. Every tool uses the same IMU noise, measured at rest on the rig's noisiest IMU.
cam0 – Blackfly · 11 rows · ◆ 1
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| fx px | 448.30 ± 0.61 (10) | fixed 446.75 ± 2.17 (10) | |
| fy px | 447.62 ± 0.58 (10) | fixed 444.89 ± 2.50 (10) | |
| cx px | 370.78 ± 0.71 (10) | fixed 368.67 ± 3.28 (10) | |
| cy px | 281.31 ± 0.69 (10) | fixed 278.41 ± 1.44 (10) | |
| dist k1 | −0.31178 ± 0.00310 (10) | fixed −0.30796 ± 0.00996 (10) | |
| dist k2 | 0.08088 ± 0.00268 (10) | fixed 0.07731 ± 0.00889 (10) | |
| dist p1 | −0.00033 ± 0.00010 (10) | fixed 0.00011 ± 0.00038 (10) | |
| dist p2 | −0.00012 ± 0.00013 (10) | fixed 0.00014 ± 0.00095 (10) | |
| time offset td to base IMU‡ ms | −4.293 ± 0.093 (10) | −5.438 ± 0.149 (10) | ◆ +1.145 |
| distance to base IMU ‖p‖ mm | 89.32 ± 1.41 (10) | 91.41 ± 3.64 (10) | −2.09 |
| reproj median px | 0.349 ± 0.032 (10) | 0.483 ± 0.209 (10) | fit |
cam1 – t265 fisheye 1 · 12 rows · ◆ 2
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| fx px | 287.08 ± 0.36 (10) | fixed 285.72 ± 1.61 (10) | |
| fy px | 286.70 ± 0.34 (10) | fixed 285.13 ± 1.69 (10) | |
| cx px | 415.32 ± 0.27 (10) | fixed 415.83 ± 0.55 (10) | |
| cy px | 403.53 ± 0.25 (10) | fixed 404.09 ± 1.09 (10) | |
| dist k1 | −0.00341 ± 0.00286 (10) | fixed 0.00165 ± 0.01882 (10) | |
| dist k2 | 0.03197 ± 0.00592 (10) | fixed 0.02307 ± 0.04201 (10) | |
| dist k3 | −0.03046 ± 0.00596 (10) | fixed −0.02549 ± 0.03728 (10) | |
| dist k4 | 0.00456 ± 0.00208 (10) | fixed 0.00321 ± 0.01100 (10) | |
| baseline to Blackfly mm | 71.267 ± 0.140 (10) | fixed 71.856 ± 1.457 (10) | |
| time offset td to base IMU‡ ms | −5.022 ± 0.149 (10) | −5.999 ± 0.247 (10) | ◆ +0.977 |
| distance to base IMU ‖p‖ mm | 130.10 ± 1.48 (10) | 133.92 ± 3.19 (10) | ◆ −3.83 |
| reproj median px | 0.225 ± 0.013 (10) | 0.272 ± 0.126 (10) | fit |
cam2 – t265 fisheye 2 · 12 rows · ◆ 1
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| fx px | 287.02 ± 0.33 (10) | fixed 285.37 ± 1.99 (10) | |
| fy px | 286.40 ± 0.32 (10) | fixed 284.57 ± 2.08 (10) | |
| cx px | 414.56 ± 0.32 (10) | fixed 415.44 ± 0.59 (10) | |
| cy px | 397.96 ± 0.28 (10) | fixed 398.62 ± 1.01 (10) | |
| dist k1 | −0.00397 ± 0.00264 (10) | fixed 0.00218 ± 0.03237 (10) | |
| dist k2 | 0.03443 ± 0.00611 (10) | fixed 0.02374 ± 0.07849 (10) | |
| dist k3 | −0.03139 ± 0.00675 (10) | fixed −0.02631 ± 0.07301 (10) | |
| dist k4 | 0.00430 ± 0.00258 (10) | fixed 0.00280 ± 0.02243 (10) | |
| baseline to Blackfly mm | 69.849 ± 0.327 (10) | fixed 71.630 ± 2.455 (10) | |
| time offset td to base IMU‡ ms | −7.798 ± 0.237 (10) | −8.778 ± 0.244 (10) | ◆ +0.980 |
| distance to base IMU ‖p‖ mm | 111.39 ± 1.72 (10) | 114.03 ± 3.99 (10) | −2.63 |
| reproj median px | 0.239 ± 0.014 (10) | 0.288 ± 0.140 (10) | fit |
base IMU – Xsens MTi · 19 rows · ◆ 4
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| gyro Dw[0,0] scale x | 0.99863 ± 0.00149 (10) | 0.99998 ± 0.00344 (10) | −0.00135 |
| gyro Dw[1,1] scale y | 0.99778 ± 0.00051 (10) | 0.99679 ± 0.00182 (10) | +0.00099 |
| gyro Dw[2,2] scale z | 1.00183 ± 0.00201 (10) | 1.00589 ± 0.00248 (10) | ◆ −0.00406 |
| gyro Dw[1,0] cross | −0.00147 ± 0.00081 (10) | 0.00235 ± 0.00266 (10) | ◆ −0.00382 |
| gyro Dw[2,0] cross | 0.00329 ± 0.00143 (10) | 0.00682 ± 0.00393 (10) | −0.00353 |
| gyro Dw[2,1] cross | 0.00179 ± 0.00144 (10) | 0.01213 ± 0.00345 (10) | ◆ −0.01034 |
| accel Da[0,0] scale x | 0.99988 ± 0.00044 (10) | 1.00005 ± 0.00093 (10) | −0.00017 |
| accel Da[1,1] scale y | 0.99681 ± 0.00163 (10) | 0.99549 ± 0.00332 (10) | +0.00132 |
| accel Da[2,2] scale z | 1.00043 ± 0.00132 (10) | 1.00476 ± 0.00292 (10) | ◆ −0.00433 |
| Tg[0,0] g-sensitivity mrad·s/m | 0.016 ± 0.048 (10) | 0.512 ± 0.824 (10) | ≠ model |
| Tg[0,1] g-sensitivity mrad·s/m | 0.074 ± 0.087 (10) | 0.042 ± 0.564 (10) | ≠ model |
| Tg[0,2] g-sensitivity mrad·s/m | 0.053 ± 0.085 (10) | 2.760 ± 1.449 (10) | ≠ model |
| Tg[1,0] g-sensitivity mrad·s/m | −0.033 ± 0.033 (10) | 0.184 ± 0.967 (10) | ≠ model |
| Tg[1,1] g-sensitivity mrad·s/m | −0.004 ± 0.064 (10) | 0.032 ± 0.643 (10) | ≠ model |
| Tg[1,2] g-sensitivity mrad·s/m | 0.020 ± 0.086 (10) | 3.582 ± 1.728 (10) | ≠ model |
| Tg[2,0] g-sensitivity mrad·s/m | 0.012 ± 0.074 (10) | 0.101 ± 0.275 (10) | ≠ model |
| Tg[2,1] g-sensitivity mrad·s/m | 0.058 ± 0.090 (10) | −1.158 ± 0.364 (10) | ≠ model |
| Tg[2,2] g-sensitivity mrad·s/m | −0.100 ± 0.087 (10) | 0.093 ± 0.296 (10) | ≠ model |
| t_ga gyro−accel ms | −0.307 ± 0.109 (10) | not in model |
aux IMU – GX3-25 · 21 rows · ◆ 4
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| gyro Dw[0,0] scale x | 0.99989 ± 0.00054 (10) | 0.99849 ± 0.00193 (10) | +0.00140 |
| gyro Dw[1,1] scale y | 1.00107 ± 0.00161 (10) | 1.00185 ± 0.00390 (10) | −0.00078 |
| gyro Dw[2,2] scale z | 1.00310 ± 0.00235 (10) | 1.01022 ± 0.00197 (10) | ◆ −0.00712 |
| gyro Dw[1,0] cross | −0.00110 ± 0.00065 (10) | 0.00045 ± 0.00239 (10) | −0.00155 |
| gyro Dw[2,0] cross | −0.00240 ± 0.00149 (10) | −0.01170 ± 0.00333 (10) | ◆ +0.00929 |
| gyro Dw[2,1] cross | 0.00170 ± 0.00160 (10) | −0.00122 ± 0.00438 (10) | +0.00293 |
| accel Da[0,0] scale x | 0.99729 ± 0.00179 (10) | 0.99594 ± 0.00627 (10) | +0.00134 |
| accel Da[1,1] scale y | 1.00073 ± 0.00041 (10) | 1.00340 ± 0.00167 (10) | ◆ −0.00267 |
| accel Da[2,2] scale z | 1.00040 ± 0.00137 (10) | 1.00156 ± 0.00239 (10) | −0.00116 |
| Tg[0,0] g-sensitivity mrad·s/m | 0.041 ± 0.110 (10) | −1.083 ± 0.406 (10) | ≠ model |
| Tg[0,1] g-sensitivity mrad·s/m | 0.038 ± 0.060 (10) | −0.181 ± 0.517 (10) | ≠ model |
| Tg[0,2] g-sensitivity mrad·s/m | −0.072 ± 0.126 (10) | 1.498 ± 0.973 (10) | ≠ model |
| Tg[1,0] g-sensitivity mrad·s/m | 0.001 ± 0.092 (10) | −0.526 ± 0.339 (10) | ≠ model |
| Tg[1,1] g-sensitivity mrad·s/m | −0.026 ± 0.056 (10) | −0.033 ± 0.398 (10) | ≠ model |
| Tg[1,2] g-sensitivity mrad·s/m | 0.038 ± 0.076 (10) | 1.217 ± 0.829 (10) | ≠ model |
| Tg[2,0] g-sensitivity mrad·s/m | −0.036 ± 0.087 (10) | −0.224 ± 0.341 (10) | ≠ model |
| Tg[2,1] g-sensitivity mrad·s/m | 0.002 ± 0.067 (10) | 0.131 ± 0.245 (10) | ≠ model |
| Tg[2,2] g-sensitivity mrad·s/m | −0.103 ± 0.091 (10) | 1.146 ± 0.569 (10) | ≠ model |
| time delay td to base IMU‡ ms | −0.032 ± 0.209 (10) | −0.133 ± 0.189 (10) | +0.101 |
| distance to base IMU ‖p‖ mm | 131.31 ± 0.20 (10) | 129.26 ± 0.88 (10) | ◆ +2.05 |
| t_ga gyro−accel ms | 0.147 ± 0.068 (10) | not in model |
aux IMU – GX3-35 · 21 rows · ◆ 6
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| gyro Dw[0,0] scale x | 0.99888 ± 0.00039 (10) | 0.99818 ± 0.00172 (10) | +0.00070 |
| gyro Dw[1,1] scale y | 0.99978 ± 0.00160 (10) | 1.00242 ± 0.00388 (10) | −0.00264 |
| gyro Dw[2,2] scale z | 1.00149 ± 0.00228 (10) | 1.00859 ± 0.00211 (10) | ◆ −0.00710 |
| gyro Dw[1,0] cross | −0.00161 ± 0.00078 (10) | 0.00090 ± 0.00242 (10) | ◆ −0.00250 |
| gyro Dw[2,0] cross | −0.00179 ± 0.00131 (10) | −0.01102 ± 0.00320 (10) | ◆ +0.00923 |
| gyro Dw[2,1] cross | −0.00232 ± 0.00175 (10) | −0.00612 ± 0.00448 (10) | +0.00381 |
| accel Da[0,0] scale x | 0.99673 ± 0.00173 (10) | 0.99543 ± 0.00530 (10) | +0.00130 |
| accel Da[1,1] scale y | 1.00005 ± 0.00038 (10) | 1.00237 ± 0.00149 (10) | ◆ −0.00232 |
| accel Da[2,2] scale z | 1.00009 ± 0.00133 (10) | 1.00623 ± 0.00315 (10) | ◆ −0.00614 |
| Tg[0,0] g-sensitivity mrad·s/m | 0.006 ± 0.100 (10) | −0.924 ± 0.474 (10) | ≠ model |
| Tg[0,1] g-sensitivity mrad·s/m | −0.026 ± 0.034 (10) | −0.013 ± 0.691 (10) | ≠ model |
| Tg[0,2] g-sensitivity mrad·s/m | −0.061 ± 0.081 (10) | −0.251 ± 1.086 (10) | ≠ model |
| Tg[1,0] g-sensitivity mrad·s/m | −0.024 ± 0.069 (10) | −0.556 ± 0.390 (10) | ≠ model |
| Tg[1,1] g-sensitivity mrad·s/m | −0.024 ± 0.031 (10) | 0.182 ± 0.584 (10) | ≠ model |
| Tg[1,2] g-sensitivity mrad·s/m | 0.038 ± 0.052 (10) | −0.144 ± 1.024 (10) | ≠ model |
| Tg[2,0] g-sensitivity mrad·s/m | −0.042 ± 0.086 (10) | 0.140 ± 0.334 (10) | ≠ model |
| Tg[2,1] g-sensitivity mrad·s/m | 0.009 ± 0.031 (10) | 0.188 ± 0.251 (10) | ≠ model |
| Tg[2,2] g-sensitivity mrad·s/m | −0.012 ± 0.061 (10) | 1.292 ± 0.607 (10) | ≠ model |
| time delay td to base IMU‡ ms | −1.612 ± 0.209 (10) | −1.680 ± 0.170 (10) | +0.068 |
| distance to base IMU ‖p‖ mm | 94.70 ± 0.19 (10) | 93.58 ± 0.86 (10) | ◆ +1.12 |
| t_ga gyro−accel ms | 0.081 ± 0.066 (10) | not in model |
aux IMU – t265 IMU · 21 rows · ◆ 3
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| gyro Dw[0,0] scale x | 0.99736 ± 0.00139 (10) | 0.99908 ± 0.00344 (10) | −0.00172 |
| gyro Dw[1,1] scale y | 1.00472 ± 0.00203 (10) | 1.00911 ± 0.00276 (10) | ◆ −0.00439 |
| gyro Dw[2,2] scale z | 1.00288 ± 0.00057 (10) | 1.00142 ± 0.00208 (10) | +0.00146 |
| gyro Dw[1,0] cross | 0.00242 ± 0.00163 (10) | 0.00617 ± 0.00408 (10) | −0.00376 |
| gyro Dw[2,0] cross | 0.00296 ± 0.00065 (10) | 0.00080 ± 0.00264 (10) | +0.00216 |
| gyro Dw[2,1] cross | −0.00170 ± 0.00141 (10) | −0.01204 ± 0.00351 (10) | ◆ +0.01034 |
| accel Da[0,0] scale x | 1.01987 ± 0.00053 (10) | 1.01601 ± 0.00611 (10) | +0.00386 |
| accel Da[1,1] scale y | 1.01927 ± 0.00160 (10) | 1.01475 ± 0.00544 (10) | +0.00452 |
| accel Da[2,2] scale z | 1.01301 ± 0.00200 (10) | 1.00913 ± 0.00206 (10) | ◆ +0.00388 |
| Tg[0,0] g-sensitivity mrad·s/m | 0.006 ± 0.042 (10) | 1.183 ± 0.753 (10) | ≠ model |
| Tg[0,1] g-sensitivity mrad·s/m | 0.020 ± 0.067 (10) | 5.084 ± 1.362 (10) | ≠ model |
| Tg[0,2] g-sensitivity mrad·s/m | −0.018 ± 0.096 (10) | 0.238 ± 0.726 (10) | ≠ model |
| Tg[1,0] g-sensitivity mrad·s/m | 0.000 ± 0.040 (10) | −0.908 ± 0.691 (10) | ≠ model |
| Tg[1,1] g-sensitivity mrad·s/m | −0.030 ± 0.050 (10) | 0.003 ± 0.318 (10) | ≠ model |
| Tg[1,2] g-sensitivity mrad·s/m | −0.068 ± 0.080 (10) | 1.923 ± 0.432 (10) | ≠ model |
| Tg[2,0] g-sensitivity mrad·s/m | 0.043 ± 0.035 (10) | −1.374 ± 1.098 (10) | ≠ model |
| Tg[2,1] g-sensitivity mrad·s/m | −0.031 ± 0.091 (10) | −6.191 ± 1.532 (10) | ≠ model |
| Tg[2,2] g-sensitivity mrad·s/m | 0.026 ± 0.054 (10) | 0.110 ± 0.803 (10) | ≠ model |
| time delay td to base IMU‡ ms | 2.830 ± 0.212 (10) | 2.753 ± 0.188 (10) | +0.077 |
| distance to base IMU ‖p‖ mm | 125.15 ± 0.19 (10) | 124.41 ± 1.42 (10) | +0.74 |
| t_ga gyro−accel ms | −6.564 ± 0.054 (10) | not in model |
MVIS default IMU model (calyx) · 41 of 117 rows, model-independent only · ◆ 6
| Parameter | MVISKalibr IMU model | MVIS default | Kalibr | default− Kalibr | default− Kalibr IMU model |
|---|---|---|---|---|---|
| cam0 – Blackfly | |||||
| fx px | 448.30 ± 0.61 (10) | 448.30 ± 0.61 (10) | fixed 446.75 ± 2.17 (10) | 0.00 | |
| fy px | 447.62 ± 0.58 (10) | 447.63 ± 0.58 (10) | fixed 444.89 ± 2.50 (10) | +0.02 | |
| cx px | 370.78 ± 0.71 (10) | 370.78 ± 0.72 (10) | fixed 368.67 ± 3.28 (10) | 0.00 | |
| cy px | 281.31 ± 0.69 (10) | 281.31 ± 0.69 (10) | fixed 278.41 ± 1.44 (10) | 0.00 | |
| dist k1 | −0.31178 ± 0.00310 (10) | −0.31177 ± 0.00309 (10) | fixed −0.30796 ± 0.00996 (10) | +0.00001 | |
| dist k2 | 0.08088 ± 0.00268 (10) | 0.08088 ± 0.00267 (10) | fixed 0.07731 ± 0.00889 (10) | 0.00000 | |
| dist p1 | −0.00033 ± 0.00010 (10) | −0.00033 ± 0.00010 (10) | fixed 0.00011 ± 0.00038 (10) | 0.00000 | |
| dist p2 | −0.00012 ± 0.00013 (10) | −0.00012 ± 0.00013 (10) | fixed 0.00014 ± 0.00095 (10) | 0.00000 | |
| time offset td to base IMU‡ ms | −4.293 ± 0.093 (10) | −4.279 ± 0.096 (10) | −5.438 ± 0.149 (10) | ◆ +1.158 | +0.014 |
| distance to base IMU ‖p‖ mm | 89.32 ± 1.41 (10) | 89.35 ± 1.41 (10) | 91.41 ± 3.64 (10) | −2.06 | +0.03 |
| reproj median px | 0.349 ± 0.032 (10) | 0.349 ± 0.032 (10) | 0.483 ± 0.209 (10) | fit | fit |
| cam1 – t265 fisheye 1 | |||||
| fx px | 287.08 ± 0.36 (10) | 287.09 ± 0.36 (10) | fixed 285.72 ± 1.61 (10) | +0.01 | |
| fy px | 286.70 ± 0.34 (10) | 286.70 ± 0.34 (10) | fixed 285.13 ± 1.69 (10) | +0.01 | |
| cx px | 415.32 ± 0.27 (10) | 415.33 ± 0.27 (10) | fixed 415.83 ± 0.55 (10) | +0.01 | |
| cy px | 403.53 ± 0.25 (10) | 403.53 ± 0.26 (10) | fixed 404.09 ± 1.09 (10) | −0.01 | |
| dist k1 | −0.00341 ± 0.00286 (10) | −0.00340 ± 0.00284 (10) | fixed 0.00165 ± 0.01882 (10) | +0.00001 | |
| dist k2 | 0.03197 ± 0.00592 (10) | 0.03209 ± 0.00589 (10) | fixed 0.02307 ± 0.04201 (10) | +0.00012 | |
| dist k3 | −0.03046 ± 0.00596 (10) | −0.03059 ± 0.00591 (10) | fixed −0.02549 ± 0.03728 (10) | −0.00013 | |
| dist k4 | 0.00456 ± 0.00208 (10) | 0.00457 ± 0.00206 (10) | fixed 0.00321 ± 0.01100 (10) | +0.00001 | |
| baseline to Blackfly mm | 71.267 ± 0.140 (10) | 71.268 ± 0.139 (10) | fixed 71.856 ± 1.457 (10) | +0.001 | |
| time offset td to base IMU‡ ms | −5.022 ± 0.149 (10) | −5.014 ± 0.155 (10) | −5.999 ± 0.247 (10) | ◆ +0.984 | +0.008 |
| distance to base IMU ‖p‖ mm | 130.10 ± 1.48 (10) | 130.13 ± 1.48 (10) | 133.92 ± 3.19 (10) | ◆ −3.79 | +0.03 |
| reproj median px | 0.225 ± 0.013 (10) | 0.225 ± 0.013 (10) | 0.272 ± 0.126 (10) | fit | fit |
| cam2 – t265 fisheye 2 | |||||
| fx px | 287.02 ± 0.33 (10) | 287.02 ± 0.33 (10) | fixed 285.37 ± 1.99 (10) | 0.00 | |
| fy px | 286.40 ± 0.32 (10) | 286.41 ± 0.32 (10) | fixed 284.57 ± 2.08 (10) | +0.01 | |
| cx px | 414.56 ± 0.32 (10) | 414.57 ± 0.32 (10) | fixed 415.44 ± 0.59 (10) | 0.00 | |
| cy px | 397.96 ± 0.28 (10) | 397.96 ± 0.28 (10) | fixed 398.62 ± 1.01 (10) | 0.00 | |
| dist k1 | −0.00397 ± 0.00264 (10) | −0.00397 ± 0.00264 (10) | fixed 0.00218 ± 0.03237 (10) | 0.00000 | |
| dist k2 | 0.03443 ± 0.00611 (10) | 0.03443 ± 0.00610 (10) | fixed 0.02374 ± 0.07849 (10) | 0.00000 | |
| dist k3 | −0.03139 ± 0.00675 (10) | −0.03146 ± 0.00673 (10) | fixed −0.02631 ± 0.07301 (10) | −0.00007 | |
| dist k4 | 0.00430 ± 0.00258 (10) | 0.00431 ± 0.00257 (10) | fixed 0.00280 ± 0.02243 (10) | +0.00001 | |
| baseline to Blackfly mm | 69.849 ± 0.327 (10) | 69.849 ± 0.328 (10) | fixed 71.630 ± 2.455 (10) | 0.000 | |
| time offset td to base IMU‡ ms | −7.798 ± 0.237 (10) | −7.791 ± 0.237 (10) | −8.778 ± 0.244 (10) | ◆ +0.987 | +0.007 |
| distance to base IMU ‖p‖ mm | 111.39 ± 1.72 (10) | 111.45 ± 1.70 (10) | 114.03 ± 3.99 (10) | −2.58 | +0.06 |
| reproj median px | 0.239 ± 0.014 (10) | 0.239 ± 0.015 (10) | 0.288 ± 0.140 (10) | fit | fit |
| aux IMU – GX3-25 | |||||
| time delay td to base IMU‡ ms | −0.032 ± 0.209 (10) | −0.022 ± 0.208 (10) | −0.133 ± 0.189 (10) | +0.111 | +0.011 |
| distance to base IMU ‖p‖ mm | 131.31 ± 0.20 (10) | 131.31 ± 0.20 (10) | 129.26 ± 0.88 (10) | ◆ +2.05 | 0.00 |
| aux IMU – GX3-35 | |||||
| time delay td to base IMU‡ ms | −1.612 ± 0.209 (10) | −1.602 ± 0.209 (10) | −1.680 ± 0.170 (10) | +0.078 | +0.010 |
| distance to base IMU ‖p‖ mm | 94.70 ± 0.19 (10) | 94.70 ± 0.19 (10) | 93.58 ± 0.86 (10) | ◆ +1.12 | 0.00 |
| aux IMU – t265 IMU | |||||
| time delay td to base IMU‡ ms | 2.830 ± 0.212 (10) | 2.832 ± 0.212 (10) | 2.753 ± 0.188 (10) | +0.079 | +0.002 |
| distance to base IMU ‖p‖ mm | 125.15 ± 0.19 (10) | 125.16 ± 0.19 (10) | 124.41 ± 1.42 (10) | +0.75 | +0.01 |
VI-Rig: 4 IMUs + 4 cameras
Section titled “VI-Rig: 4 IMUs + 4 cameras”Our rig with T265 and ELP cameras, global and rolling shutter. Dataset page.
| Family | Focal + pp px | Distortion | Distance mm | Readout ms | Time offset ms | Cam–IMU distance mm | Gyro | Accel |
|---|---|---|---|---|---|---|---|---|
| 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
- Readout MVIS×4.2
- Focal + pp · Distortion · Distance: not compared
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.
- a Basalt's fisheye-2 frames are snapped onto fisheye-1 (1.8–5 ms apart).
- b Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
- 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.
- 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.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 8 param. | 0.31 | 0.15 – 0.5 | 0.00098 (raw 0.00049) | MVIS tighter | holds with any one recording left out |
| MVIS ÷ Basalt · 8 param. | 0.62 | 0.36 – 0.83 | 0.00018 (raw 0.000061) | MVIS tighter | holds with any one recording left out |
| Kalibr ÷ Basalt · 8 param. | 1.87 | 1.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.
| 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.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 8 param. | 0.03 | 0.01 – 0.11 | 0.00018 (raw 0.000061) | MVIS tighter | holds with any one recording left out |
| MVIS ÷ Basalt · 8 param. | 0.61 | 0.4 – 0.91 | 0.023 | MVIS tighter | holds with any one recording left out |
| Kalibr ÷ Basalt · 8 param. | 19.97 | 5.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.
| 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.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 1 param. | 0.34 | 0.23 – 0.53 | 0.0016 (raw 0.00055) | MVIS tighter | holds with any one recording left out |
| MVIS ÷ Basalt · 1 param. | 0.25 | 0.13 – 0.95 | 0.08 (raw 0.04) | tie: gap within chance | |
| Kalibr ÷ Basalt · 1 param. | 0.73 | 0.36 – 2.66 | 0.98 | tie: gap within chance |
| 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
- 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
- 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
- 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.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.24 | 0.15 – 0.48 | 0.00073 | MVIS tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| 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 |
- 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.
- 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.
- 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.
- 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.
- 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.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.88 | 0.65 – 1.18 | 0.35 | tie: gap within chance |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| 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 |
- 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.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.13 | 0.09 – 0.24 | 0.00024 | MVIS tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| 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 |
- 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).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 12 param. | 0.35 | 0.26 – 0.47 | 0.00049 | MVIS tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| 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 |
- 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).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 6 param. | 0.23 | 0.15 – 0.3 | 0.00012 | MVIS tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| 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 |
- 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
- 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
- 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
- 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
- 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.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 1 param. | 1.39 | not bounded at n = 3 | 0.5 | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| Xsens MTi · time delay td to base IMU ms | 0.0378 | 0.0271 | 1.39 |
- 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.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 1 param. | 0.15 | not bounded at n = 3 | 0.25 | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| Xsens MTi · distance to base IMU ‖p‖ mm | 0.183 | 1.24 | 0.15 |
- 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).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 12 param. | 0.45 | not bounded at n = 3 | 0.25 | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| 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 |
- 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).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 6 param. | 0.26 | not bounded at n = 3 | 0.25 | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Ratio |
|---|---|---|---|
| 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 |
- 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.
Parameter tables, tool differences and run configs (VI-Rig 4 cams)
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
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 286.54 ± 0.65 (15) | 285.09 ± 2.40 (15) | 284.14 ± 0.65 (15) | +1.45 | −0.95 | ◆ −2.41 |
| fy px | 286.37 ± 0.72 (15) | 284.18 ± 2.59 (15) | 283.55 ± 0.79 (15) | +2.20 | −0.63 | ◆ −2.82 |
| cx px | 415.52 ± 0.25 (15) | 414.10 ± 0.65 (15) | 413.73 ± 0.68 (15) | ◆ +1.42 | −0.37 | ◆ −1.79 |
| cy px | 404.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 k2 | 0.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 k4 | 0.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
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 286.54 ± 0.63 (15) | 284.93 ± 2.42 (15) | 284.02 ± 0.59 (15) | +1.61 | −0.91 | ◆ −2.52 |
| fy px | 286.08 ± 0.71 (15) | 284.48 ± 2.57 (15) | 283.29 ± 0.75 (15) | +1.60 | −1.19 | ◆ −2.79 |
| cx px | 415.06 ± 0.23 (15) | 413.88 ± 0.67 (15) | 413.82 ± 0.65 (15) | ◆ +1.18 | −0.06 | ◆ −1.24 |
| cy px | 398.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 k2 | 0.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 k4 | 0.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 mm | 63.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
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr |
|---|---|---|---|---|
| fx px | 428.02 ± 0.77 (15) | 427.70 ± 6.59 (15) | shown 427.07 ± 1.91 (15) | ≠ model |
| fy px | 427.21 ± 0.76 (15) | 426.31 ± 6.42 (15) | shown 427.47 ± 2.23 (15) | ≠ model |
| cx px | 351.06 ± 0.46 (15) | 338.22 ± 2.94 (15) | shown 348.63 ± 1.46 (15) | ≠ model |
| cy px | 267.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 ms | 14.600 ± 0.409 (15) | 16.354 ± 1.999 (15) | no RS model | −1.755 |
cam1 – ELP-R · 9 rows · ◆ 1
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr |
|---|---|---|---|---|
| fx px | 424.79 ± 0.77 (15) | 424.57 ± 3.89 (13/15) | shown 423.53 ± 1.86 (15) | ≠ model |
| fy px | 424.09 ± 0.76 (15) | 424.57 ± 3.84 (13/15) | shown 423.70 ± 2.13 (15) | ≠ model |
| cx px | 336.85 ± 0.46 (15) | 328.46 ± 2.34 (13/15) | shown 336.19 ± 1.47 (15) | ≠ model |
| cy px | 259.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 ms | 14.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
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| fx px | 287.20 ± 0.43 (15) | fixed 287.20 ± 0.44 (14/15) | |
| fy px | 287.00 ± 0.52 (15) | fixed 287.09 ± 0.54 (14/15) | |
| cx px | 415.80 ± 0.35 (15) | fixed 415.78 ± 0.36 (14/15) | |
| cy px | 403.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 k2 | 0.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 k4 | 0.00457 ± 0.00197 (15) | fixed 0.00453 ± 0.00201 (14/15) | |
| time offset td to base IMU‡ ms | 2.045 ± 0.182 (15) | −0.684 ± 0.301 (14/15) | ◆ +2.729 ≠n |
| distance to base IMU ‖p‖ mm | 11.92 ± 0.43 (15) | 8.22 ± 2.83 (14/15) | ◆ +3.69 ≠n |
| reproj median px | 0.200 ± 0.005 (15) | 0.367 ± 0.012 (14/15) | fit |
cam1 – ELP-L · 13 rows
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| fx px | 428.34 ± 0.71 (15) | fixed 428.22 ± 0.73 (14/15) | |
| fy px | 427.92 ± 0.86 (15) | fixed 427.89 ± 0.89 (14/15) | |
| cx px | 351.02 ± 0.35 (15) | fixed 351.01 ± 0.36 (14/15) | |
| cy px | 266.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 k3 | 0.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 ms | 16.669 ± 0.086 (15) | fixed 0.000 (14/15) | |
| baseline to t265 fisheye 1 mm | 153.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‖ mm | 142.02 ± 0.43 (15) | 146.46 ± 2.21 (14/15) | ≠ model |
| reproj median px | 0.181 ± 0.006 (15) | 0.795 ± 0.031 (14/15) | fit |
base IMU – t265 IMU · 19 rows · ◆ 5
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| gyro Dw[0,0] scale x | 1.00001 ± 0.00112 (15) | 1.01343 ± 0.00365 (14/15) | ◆ −0.01342 ≠n |
| gyro Dw[1,1] scale y | 1.00321 ± 0.00141 (15) | 1.01249 ± 0.00268 (14/15) | ◆ −0.00928 ≠n |
| gyro Dw[2,2] scale z | 1.00426 ± 0.00027 (15) | 1.00560 ± 0.00049 (14/15) | ◆ −0.00134 ≠n |
| gyro Dw[1,0] cross | 0.00209 ± 0.00132 (15) | 0.00378 ± 0.00280 (14/15) | −0.00169 ≠n |
| gyro Dw[2,0] cross | 0.00257 ± 0.00066 (15) | −0.00599 ± 0.00327 (14/15) | ◆ +0.00856 ≠n |
| gyro Dw[2,1] cross | 0.00043 ± 0.00054 (15) | −0.00005 ± 0.00274 (14/15) | +0.00048 ≠n |
| accel Da[0,0] scale x | 1.01998 ± 0.00036 (15) | 1.01870 ± 0.00143 (14/15) | +0.00128 ≠n |
| accel Da[1,1] scale y | 1.01901 ± 0.00072 (15) | 1.01716 ± 0.00177 (14/15) | ◆ +0.00185 ≠n |
| accel Da[2,2] scale z | 1.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/m | 0.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
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| gyro Dw[0,0] scale x | 1.00096 ± 0.00110 (15) | 1.01352 ± 0.00356 (14/15) | ◆ −0.01256 ≠n |
| gyro Dw[1,1] scale y | 0.99882 ± 0.00021 (15) | 0.99985 ± 0.00044 (14/15) | ◆ −0.00103 ≠n |
| gyro Dw[2,2] scale z | 1.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] cross | 0.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 x | 1.00005 ± 0.00032 (15) | 1.00159 ± 0.00520 (14/15) | −0.00154 ≠n |
| accel Da[1,1] scale y | 0.99984 ± 0.00074 (15) | 1.01057 ± 0.00478 (14/15) | ◆ −0.01073 ≠n |
| accel Da[2,2] scale z | 1.00067 ± 0.00068 (15) | 1.00287 ± 0.00316 (14/15) | −0.00220 ≠n |
| Tg[0,0] g-sensitivity mrad·s/m | 0.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/m | 0.052 ± 0.058 (15) | 0.708 ± 0.413 (14/15) | ≠ model |
| Tg[1,2] g-sensitivity mrad·s/m | 0.059 ± 0.067 (15) | 1.119 ± 0.429 (14/15) | ≠ model |
| Tg[2,0] g-sensitivity mrad·s/m | 0.015 ± 0.021 (15) | −0.096 ± 0.150 (14/15) | ≠ model |
| Tg[2,1] g-sensitivity mrad·s/m | 0.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‡ ms | 7.240 ± 0.146 (15) | 7.260 ± 0.122 (14/15) | −0.019 ≠n |
| distance to base IMU ‖p‖ mm | 124.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.
| Parameter | MVISKalibr IMU model | MVIS default | Kalibr | default− Kalibr | default− Kalibr IMU model |
|---|---|---|---|---|---|
| cam0 – t265 fisheye 1 | |||||
| fx px | 287.20 ± 0.43 (15) | 287.20 ± 0.44 (14/15) | fixed 287.20 ± 0.44 (14/15) | 0.00 ≠n | |
| fy px | 287.00 ± 0.52 (15) | 287.09 ± 0.54 (14/15) | fixed 287.09 ± 0.54 (14/15) | +0.09 ≠n | |
| cx px | 415.80 ± 0.35 (15) | 415.78 ± 0.36 (14/15) | fixed 415.78 ± 0.36 (14/15) | −0.02 ≠n | |
| cy px | 403.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 k2 | 0.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 k4 | 0.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‡ ms | 2.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‖ mm | 11.92 ± 0.43 (15) | 11.99 ± 0.44 (14/15) | 8.22 ± 2.83 (14/15) | ◆ +3.76 | +0.07 ≠n |
| reproj median px | 0.200 ± 0.005 (15) | 0.200 ± 0.005 (14/15) | 0.367 ± 0.012 (14/15) | fit | fit |
| cam1 – ELP-L | |||||
| fx px | 428.34 ± 0.71 (15) | 428.22 ± 0.74 (14/15) | fixed 428.22 ± 0.73 (14/15) | −0.12 ≠n | |
| fy px | 427.92 ± 0.86 (15) | 427.89 ± 0.90 (14/15) | fixed 427.89 ± 0.89 (14/15) | −0.02 ≠n | |
| cx px | 351.02 ± 0.35 (15) | 351.00 ± 0.36 (14/15) | fixed 351.01 ± 0.36 (14/15) | −0.02 ≠n | |
| cy px | 266.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 k3 | 0.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 ms | 16.669 ± 0.086 (15) | 16.670 ± 0.091 (14/15) | fixed 0.000 (14/15) | +0.001 ≠n | |
| baseline to t265 fisheye 1 mm | 153.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‖ mm | 142.02 ± 0.43 (15) | 141.98 ± 0.45 (14/15) | 146.46 ± 2.21 (14/15) | ≠ model | −0.04 ≠n |
| reproj median px | 0.181 ± 0.006 (15) | 0.181 ± 0.006 (14/15) | 0.795 ± 0.031 (14/15) | fit | fit |
| aux IMU – Xsens MTi | |||||
| time delay td to base IMU‡ ms | 7.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‖ mm | 124.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.
| Parameter | MVISKalibr IMU model | Kalibr |
|---|---|---|
| fx px | 428.05 ± 0.61 (15) | no run |
| fy px | 427.90 ± 0.77 (15) | no run |
| cx px | 350.94 ± 0.38 (15) | no run |
| cy px | 266.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 k3 | 0.01529 ± 0.01502 (15) | no run |
| dist k4 | −0.00738 ± 0.00997 (15) | no run |
| readout tr ms | 16.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‖ mm | 143.01 ± 0.40 (15) | no run |
| reproj median px | 0.162 ± 0.006 (15) | no run |
cam1 – ELP-R · 13 rows
Kalibr: no run. Its camera + IMU solver can't use rolling-shutter cameras.
| Parameter | MVISKalibr IMU model | Kalibr |
|---|---|---|
| fx px | 424.86 ± 0.65 (15) | no run |
| fy px | 424.71 ± 0.80 (15) | no run |
| cx px | 336.80 ± 0.34 (15) | no run |
| cy px | 257.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 k3 | 0.00062 ± 0.00939 (15) | no run |
| dist k4 | 0.00251 ± 0.00606 (15) | no run |
| readout tr ms | 16.596 ± 0.109 (15) | no run |
| baseline to ELP-L mm | 59.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‖ mm | 202.12 ± 0.42 (15) | no run |
| reproj median px | 0.182 ± 0.007 (15) | no run |
base IMU – t265 IMU · 19 rows · ◆ 7
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| gyro Dw[0,0] scale x | 0.99983 ± 0.00117 (15) | 1.01272 ± 0.00388 (3/15) | ◆ −0.01289 ≠n |
| gyro Dw[1,1] scale y | 1.00294 ± 0.00128 (15) | 1.01135 ± 0.00259 (3/15) | ◆ −0.00841 ≠n |
| gyro Dw[2,2] scale z | 1.00415 ± 0.00030 (15) | 1.00439 ± 0.00007 (3/15) | −0.00024 ≠n |
| gyro Dw[1,0] cross | 0.00185 ± 0.00111 (15) | 0.00541 ± 0.00141 (3/15) | ◆ −0.00356 ≠n |
| gyro Dw[2,0] cross | 0.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 x | 1.01989 ± 0.00038 (15) | 1.01725 ± 0.00204 (3/15) | ◆ +0.00264 ≠n |
| accel Da[1,1] scale y | 1.01905 ± 0.00063 (15) | 1.01997 ± 0.00206 (3/15) | −0.00092 ≠n |
| accel Da[2,2] scale z | 1.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/m | 0.211 ± 0.207 (15) | −1.393 ± 1.041 (3/15) | ≠ model |
| Tg[1,0] g-sensitivity mrad·s/m | 0.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/m | 0.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
| Parameter | MVISKalibr IMU model | Kalibr | MVIS− Kalibr |
|---|---|---|---|
| gyro Dw[0,0] scale x | 1.00085 ± 0.00119 (15) | 1.01189 ± 0.00357 (3/15) | ◆ −0.01104 ≠n |
| gyro Dw[1,1] scale y | 0.99862 ± 0.00025 (15) | 0.99906 ± 0.00013 (3/15) | ◆ −0.00044 ≠n |
| gyro Dw[2,2] scale z | 1.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] cross | 0.00255 ± 0.00069 (15) | 0.00558 ± 0.00170 (3/15) | ◆ −0.00303 ≠n |
| gyro Dw[2,1] cross | 0.00097 ± 0.00079 (15) | −0.00485 ± 0.00261 (3/15) | ◆ +0.00582 ≠n |
| accel Da[0,0] scale x | 0.99997 ± 0.00037 (15) | 0.98907 ± 0.00999 (3/15) | ◆ +0.01090 ≠n |
| accel Da[1,1] scale y | 0.99932 ± 0.00096 (15) | 1.00747 ± 0.00680 (3/15) | ◆ −0.00815 ≠n |
| accel Da[2,2] scale z | 1.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/m | 0.004 ± 0.048 (15) | 1.124 ± 0.514 (3/15) | ≠ model |
| Tg[2,0] g-sensitivity mrad·s/m | 0.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‡ ms | 7.248 ± 0.115 (15) | 7.254 ± 0.027 (3/15) | −0.006 ≠n |
| distance to base IMU ‖p‖ mm | 123.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.
| Parameter | MVISKalibr IMU model | MVIS default | Kalibr | default− Kalibr | default− Kalibr IMU model |
|---|---|---|---|---|---|
| cam0 – ELP-L | |||||
| fx px | 428.05 ± 0.61 (15) | 428.07 ± 0.62 (15) | no run | +0.02 | |
| fy px | 427.90 ± 0.77 (15) | 427.91 ± 0.77 (15) | no run | +0.01 | |
| cx px | 350.94 ± 0.38 (15) | 350.94 ± 0.38 (15) | no run | 0.00 | |
| cy px | 266.09 ± 0.31 (15) | 266.08 ± 0.32 (15) | no run | 0.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 k3 | 0.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 ms | 16.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‖ mm | 143.01 ± 0.40 (15) | 142.98 ± 0.39 (15) | no run | −0.03 | |
| reproj median px | 0.162 ± 0.006 (15) | 0.163 ± 0.006 (15) | no run | fit | |
| cam1 – ELP-R | |||||
| fx px | 424.86 ± 0.65 (15) | 424.87 ± 0.65 (15) | no run | +0.01 | |
| fy px | 424.71 ± 0.80 (15) | 424.73 ± 0.80 (15) | no run | +0.01 | |
| cx px | 336.80 ± 0.34 (15) | 336.80 ± 0.34 (15) | no run | 0.00 | |
| cy px | 257.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 k3 | 0.00062 ± 0.00939 (15) | 0.00088 ± 0.00938 (15) | no run | +0.00026 | |
| dist k4 | 0.00251 ± 0.00606 (15) | 0.00245 ± 0.00605 (15) | no run | −0.00006 | |
| readout tr ms | 16.596 ± 0.109 (15) | 16.594 ± 0.111 (15) | no run | −0.002 | |
| baseline to ELP-L mm | 59.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‖ mm | 202.12 ± 0.42 (15) | 202.12 ± 0.41 (15) | no run | 0.00 | |
| reproj median px | 0.182 ± 0.007 (15) | 0.183 ± 0.007 (15) | no run | fit | |
| aux IMU – Xsens MTi | |||||
| time delay td to base IMU‡ ms | 7.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‖ mm | 123.94 ± 0.30 (15) | 124.19 ± 0.18 (3/15) | 115.85 ± 1.24 (3/15) | ◆ +8.34 | +0.25 ≠n |
TUM-VI
Section titled “TUM-VI”Calibration bags from TUM. Example.
| Family | Focal + pp px | Distortion | Distance mm | Time offset ms | Cam–IMU distance mm | Gyro | Accel |
|---|---|---|---|---|---|---|---|
| T3 · camera n = 8 matched Camera stereo (raw) | MVIS = Basalt> Kalibr ×1.5 | Not separated a | Tie | — | — | — | — |
| T9 · cam+IMU n = 4 matched Camera + IMU, raw stream | n = 4 · too few | n = 4 · too few a | n = 4 · too few | n = 4 · too few b | n = 4 · too few | n = 4 · too few c | n = 4 · too few c |
| T10 · cam+IMU n = 4 matched Camera + IMU, standard-512 | n = 4 · too few | n = 4 · too few a | n = 4 · too few | n = 4 · too few b | n = 4 · too few | n = 4 · too few c | n = 4 · too few c |
T3 · camera · Camera stereo (raw) More repeatable or tie: Focal + pp MVIS = Basalt > Kalibr · Distortion not separated · Distance tie n = 8 matched · MVIS 8 of 8 · Kalibr 8 of 8 · Basalt 8 of 8
T9 · cam+IMU · Camera + IMU, raw stream Too few recordings (n = 4) n = 4 matched · MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4
T10 · cam+IMU · Camera + IMU, standard-512 Too few recordings (n = 4) n = 4 matched · MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4
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 = 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.
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
- b MVIS also fits a gyro–accel delay (t_ga) that Kalibr and Basalt do not, so its td is not quite the same quantity.
- c 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
- T9 reprojection error (2 rows): fit quality, not repeatability and not accuracy
- T9 IMU g-sensitivity Tg (9 rows): Kalibr absorbs it in its IMU model
- T9 gyro–accel delay t_ga (1 row): MVIS only
- T10 reprojection error (2 rows): fit quality, not repeatability and not accuracy
- T10 IMU g-sensitivity Tg (9 rows): Kalibr absorbs it in its IMU model
- T10 gyro–accel delay t_ga (1 row): MVIS only
Focal length + principal point · T3 · 8 matched recordings (MVIS 8 of 8 · Kalibr 8 of 8 · Basalt 8 of 8) · Camera stereo (raw), camera
The spreads of MVIS and Basalt differ by 1.1×, but a gap this size appears often by chance with 8 recordings (p = 0.44). Treated as a tie. Both scatter less than Kalibr: across the same 8 recordings Kalibr's estimates scatter about 1.5× more than MVIS's and 1.5× more than Basalt's. Holds with any one recording left out.
MVIS here: its camera-only run.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 8 param. | 0.67 | 0.42 – 0.84 | 0.031 (raw 0.016) | MVIS tighter | holds with any one recording left out |
| MVIS ÷ Basalt · 8 param. | 1.1 | 0.83 – 2.11 | 0.44 | tie: gap within chance | |
| Kalibr ÷ Basalt · 8 param. | 1.55 | 1.21 – 2.94 | 0.023 (raw 0.0078) | Basalt tighter | holds with any one recording left out |
The 95 % interval of MVIS ÷ Kalibr 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.
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| TUM-VI cam0 · fx px | 0.375 | 0.643 | 0.401 |
| TUM-VI cam0 · fy px | 0.409 | 0.656 | 0.411 |
| TUM-VI cam0 · cx px | 0.286 | 0.196 | 0.236 |
| TUM-VI cam0 · cy px | 0.165 | 0.236 | 0.11 |
| TUM-VI cam1 · fx px | 0.404 | 0.672 | 0.435 |
| TUM-VI cam1 · fy px | 0.426 | 0.666 | 0.428 |
| TUM-VI cam1 · cx px | 0.285 | 0.186 | 0.211 |
| TUM-VI cam1 · cy px | 0.379 | 0.324 | 0.306 |
Repeatability only — a tool can repeat well and still be biased.
Distortion coefficients · T3 · 8 matched recordings (MVIS 8 of 8 · Kalibr 8 of 8 · Basalt 8 of 8) · Camera stereo (raw), camera
Basalt is tighter than Kalibr; the other pairs are not separated. No single tool is marked.
MVIS here: its camera-only run.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 8 param. | 0.42 | 0.13 – 0.95 | 0.078 (raw 0.039) | tie: gap within chance | |
| MVIS ÷ Basalt · 8 param. | 1.38 | 0.72 – 2.34 | 0.16 | tie: gap within chance | |
| Kalibr ÷ Basalt · 8 param. | 3.35 | 1.6 – 11.12 | 0.023 (raw 0.0078) | Basalt tighter | holds with any one recording left out |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| TUM-VI cam0 · dist k1 | 0.00167 | 0.00392 | 0.00143 |
| TUM-VI cam0 · dist k2 | 0.00284 | 0.00685 | 0.00203 |
| TUM-VI cam0 · dist k3 | 0.00201 | 0.00488 | 0.00147 |
| TUM-VI cam0 · dist k4 | 0.000498 | 0.00118 | 0.00039 |
| TUM-VI cam1 · dist k1 | 0.00126 | 0.00318 | 0.00105 |
| TUM-VI cam1 · dist k2 | 0.0022 | 0.00568 | 0.0015 |
| TUM-VI cam1 · dist k3 | 0.0016 | 0.00384 | 0.000984 |
| TUM-VI cam1 · dist k4 | 0.000389 | 0.000883 | 0.000242 |
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
Repeatability only — a tool can repeat well and still be biased.
Camera–camera distance · T3 · 8 matched recordings (MVIS 8 of 8 · Kalibr 8 of 8 · Basalt 8 of 8) · Camera stereo (raw), camera
The spreads of MVIS and Kalibr differ by 1.2×, but a gap this size appears often by chance with 8 recordings (p = 0.26). Treated as a tie. The spreads of MVIS and Basalt differ by 1.02×, but a gap this size appears often by chance with 8 recordings (p = 0.88). Treated as a tie. The spreads of Kalibr and Basalt differ by 1.2×, but a gap this size appears often by chance with 8 recordings (p = 0.26). Treated as a tie.
MVIS here: its camera-only run.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 1 param. | 0.82 | 0.27 – 1.06 | 0.26 (raw 0.086) | tie: gap within chance | |
| MVIS ÷ Basalt · 1 param. | 0.98 | 0.45 – 1.2 | 0.88 | tie: gap within chance | |
| Kalibr ÷ Basalt · 1 param. | 1.2 | 0.93 – 1.83 | 0.26 (raw 0.11) | tie: gap within chance |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| TUM-VI cam1 · baseline to TUM-VI cam0 mm | 0.0804 | 0.0978 | 0.0818 |
Repeatability only — a tool can repeat well and still be biased.
Focal length + principal point · T9 · 4 matched recordings (MVIS 4 of 4 · Kalibr input · Basalt 4 of 4) · Camera + IMU, raw stream, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 8 param. | 0.84 | not bounded at n = 4 | 0.75 | too few recordings |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| TUM-VI cam0 · fx px | 0.0861 | 0.111 | 0.78 |
| TUM-VI cam0 · fy px | 0.0842 | 0.119 | 0.71 |
| TUM-VI cam0 · cx px | 0.149 | 0.163 | 0.91 |
| TUM-VI cam0 · cy px | 0.0434 | 0.045 | 0.96 |
| TUM-VI cam1 · fx px | 0.0546 | 0.105 | 0.52 |
| TUM-VI cam1 · fy px | 0.0517 | 0.128 | 0.40 |
| TUM-VI cam1 · cx px | 0.128 | 0.135 | 0.95 |
| TUM-VI cam1 · cy px | 0.123 | 0.118 | 1.04 |
- Kalibr · input, not compared · 8 rows: Kalibr's camera+IMU run starts from these values, from one MVIS export used for all recordings, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
Repeatability only — a tool can repeat well and still be biased.
Distortion coefficients · T9 · 4 matched recordings (MVIS 4 of 4 · Kalibr input · Basalt 4 of 4) · Camera + IMU, raw stream, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 8 param. | 0.8 | not bounded at n = 4 | 0.38 | too few recordings |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| TUM-VI cam0 · dist k1 | 0.00107 | 0.00137 | 0.78 |
| TUM-VI cam0 · dist k2 | 0.0019 | 0.00277 | 0.69 |
| TUM-VI cam0 · dist k3 | 0.00126 | 0.00211 | 0.60 |
| TUM-VI cam0 · dist k4 | 0.000271 | 0.00054 | 0.50 |
| TUM-VI cam1 · dist k1 | 0.000731 | 0.000879 | 0.83 |
| TUM-VI cam1 · dist k2 | 0.00133 | 0.00149 | 0.89 |
| TUM-VI cam1 · dist k3 | 0.000988 | 0.00106 | 0.93 |
| TUM-VI cam1 · dist k4 | 0.000259 | 0.000271 | 0.96 |
- Kalibr · input, not compared · 8 rows: Kalibr's camera+IMU run starts from these values, from one MVIS export used for all recordings, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
Repeatability only — a tool can repeat well and still be biased.
Camera–camera distance · T9 · 4 matched recordings (MVIS 4 of 4 · Kalibr input · Basalt 4 of 4) · Camera + IMU, raw stream, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 1 param. | 1.35 | not bounded at n = 4 | 0.75 | too few recordings |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| TUM-VI cam1 · baseline to TUM-VI cam0 mm | 0.00699 | 0.00519 | 1.35 |
- Kalibr · input, not compared · 1 row: Kalibr's camera+IMU run starts from these values, from one MVIS export used for all recordings, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
Repeatability only — a tool can repeat well and still be biased.
Camera–IMU time offset · T9 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · Camera + IMU, raw stream, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.08 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| MVIS ÷ Basalt · 2 param. | 0.11 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| Kalibr ÷ Basalt · 2 param. | 1.48 | not bounded at n = 4 | 0.38 (raw 0.25) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| TUM-VI cam0 · time offset td to base IMU ms | 0.0105 | 0.148 | 0.0999 |
| TUM-VI cam1 · time offset td to base IMU ms | 0.012 | 0.149 | 0.0999 |
- b 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 · T9 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · Camera + IMU, raw stream, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.96 | not bounded at n = 4 | 1 | too few recordings | |
| MVIS ÷ Basalt · 2 param. | 1.38 | not bounded at n = 4 | 1 (raw 0.5) | too few recordings | |
| Kalibr ÷ Basalt · 2 param. | 1.43 | not bounded at n = 4 | 1 (raw 0.62) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| TUM-VI cam0 · distance to base IMU ‖p‖ mm | 0.37 | 0.488 | 0.228 |
| TUM-VI cam1 · distance to base IMU ‖p‖ mm | 0.406 | 0.332 | 0.346 |
Repeatability only — a tool can repeat well and still be biased.
Gyro scale + cross-axis · T9 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · Camera + IMU, raw stream, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 6 param. | 0.57 | not bounded at n = 4 | 0.75 (raw 0.25) | too few recordings | |
| MVIS ÷ Basalt · 6 param. | 0.92 | not bounded at n = 4 | 0.75 (raw 0.5) | too few recordings | |
| Kalibr ÷ Basalt · 6 param. | 1.33 | not bounded at n = 4 | 0.75 (raw 0.25) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| BMI160 imu0 · gyro Dw[0,0] scale x | 0.000162 | 0.000416 | 0.000184 |
| BMI160 imu0 · gyro Dw[1,1] scale y | 0.000126 | 0.000135 | 0.000132 |
| BMI160 imu0 · gyro Dw[2,2] scale z | 0.000153 | 0.000222 | 0.000156 |
| BMI160 imu0 · gyro Dw[1,0] cross | 0.000166 | 0.000552 | 0.000443 |
| BMI160 imu0 · gyro Dw[2,0] cross | 0.000321 | 0.000682 | 0.000137 |
| BMI160 imu0 · gyro Dw[2,1] cross | 0.000123 | 0.000133 | 0.000447 |
- c 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 · T9 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · Camera + IMU, raw stream, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 3 param. | 3.07 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| MVIS ÷ Basalt · 3 param. | 2.07 | not bounded at n = 4 | 0.38 | too few recordings | |
| Kalibr ÷ Basalt · 3 param. | 1.54 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| BMI160 imu0 · accel Da[0,0] scale x | 0.000876 | 0.000269 | 0.0000544 |
| BMI160 imu0 · accel Da[1,1] scale y | 0.000439 | 0.000536 | 0.000348 |
| BMI160 imu0 · accel Da[2,2] scale z | 0.000905 | 0.000295 | 0.000437 |
- c 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 · T10 · 4 matched recordings (MVIS 4 of 4 · Kalibr input · Basalt 4 of 4) · Camera + IMU, standard-512, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 8 param. | 0.84 | not bounded at n = 4 | 0.62 | too few recordings |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| TUM-VI cam0 · fx px | 0.0849 | 0.18 | 0.47 |
| TUM-VI cam0 · fy px | 0.096 | 0.176 | 0.55 |
| TUM-VI cam0 · cx px | 0.072 | 0.0909 | 0.79 |
| TUM-VI cam0 · cy px | 0.0255 | 0.0265 | 0.96 |
| TUM-VI cam1 · fx px | 0.137 | 0.139 | 0.99 |
| TUM-VI cam1 · fy px | 0.157 | 0.13 | 1.21 |
| TUM-VI cam1 · cx px | 0.0558 | 0.0949 | 0.59 |
| TUM-VI cam1 · cy px | 0.0736 | 0.0833 | 0.88 |
- Kalibr · input, not compared · 8 rows: Kalibr's camera+IMU run starts from these values, from one MVIS export used for all recordings, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
Repeatability only — a tool can repeat well and still be biased.
Distortion coefficients · T10 · 4 matched recordings (MVIS 4 of 4 · Kalibr input · Basalt 4 of 4) · Camera + IMU, standard-512, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 8 param. | 0.33 | not bounded at n = 4 | 0.25 | too few recordings |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| TUM-VI cam0 · dist k1 | 0.000763 | 0.0023 | 0.33 |
| TUM-VI cam0 · dist k2 | 0.00112 | 0.00488 | 0.23 |
| TUM-VI cam0 · dist k3 | 0.0005 | 0.00394 | 0.13 |
| TUM-VI cam0 · dist k4 | 0.000121 | 0.00102 | 0.12 |
| TUM-VI cam1 · dist k1 | 0.00105 | 0.00171 | 0.61 |
| TUM-VI cam1 · dist k2 | 0.00197 | 0.00424 | 0.46 |
| TUM-VI cam1 · dist k3 | 0.00156 | 0.00415 | 0.38 |
| TUM-VI cam1 · dist k4 | 0.000425 | 0.00129 | 0.33 |
- Kalibr · input, not compared · 8 rows: Kalibr's camera+IMU run starts from these values, from one MVIS export used for all recordings, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
Repeatability only — a tool can repeat well and still be biased.
Camera–camera distance · T10 · 4 matched recordings (MVIS 4 of 4 · Kalibr input · Basalt 4 of 4) · Camera + IMU, standard-512, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 1 param. | 0.45 | not bounded at n = 4 | 0.5 | too few recordings |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| TUM-VI cam1 · baseline to TUM-VI cam0 mm | 0.0243 | 0.0543 | 0.45 |
- Kalibr · input, not compared · 1 row: Kalibr's camera+IMU run starts from these values, from one MVIS export used for all recordings, and keeps them fixed. Their spread copies the input, so it is not Kalibr's repeatability.
Repeatability only — a tool can repeat well and still be biased.
Camera–IMU time offset · T10 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · Camera + IMU, standard-512, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.06 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| MVIS ÷ Basalt · 2 param. | 0.08 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| Kalibr ÷ Basalt · 2 param. | 1.33 | not bounded at n = 4 | 0.38 (raw 0.25) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| TUM-VI cam0 · time offset td to base IMU ms | 0.0116 | 0.165 | 0.124 |
| TUM-VI cam1 · time offset td to base IMU ms | 0.0084 | 0.165 | 0.124 |
- b 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 · T10 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · Camera + IMU, standard-512, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 1 | not bounded at n = 4 | 1 | too few recordings | |
| MVIS ÷ Basalt · 2 param. | 1.06 | not bounded at n = 4 | 1 | too few recordings | |
| Kalibr ÷ Basalt · 2 param. | 1.06 | not bounded at n = 4 | 1 (raw 0.88) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| TUM-VI cam0 · distance to base IMU ‖p‖ mm | 0.176 | 0.214 | 0.198 |
| TUM-VI cam1 · distance to base IMU ‖p‖ mm | 0.314 | 0.259 | 0.246 |
Repeatability only — a tool can repeat well and still be biased.
Gyro scale + cross-axis · T10 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · Camera + IMU, standard-512, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 6 param. | 0.38 | not bounded at n = 4 | 0.75 (raw 0.25) | too few recordings | |
| MVIS ÷ Basalt · 6 param. | 0.6 | not bounded at n = 4 | 0.75 (raw 0.25) | too few recordings | |
| Kalibr ÷ Basalt · 6 param. | 1.12 | not bounded at n = 4 | 0.75 | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| BMI160 imu0 · gyro Dw[0,0] scale x | 0.000184 | 0.000349 | 0.000268 |
| BMI160 imu0 · gyro Dw[1,1] scale y | 0.000147 | 0.000159 | 0.000143 |
| BMI160 imu0 · gyro Dw[2,2] scale z | 0.000151 | 0.000333 | 0.000293 |
| BMI160 imu0 · gyro Dw[1,0] cross | 0.000119 | 0.00051 | 0.000489 |
| BMI160 imu0 · gyro Dw[2,0] cross | 0.000129 | 0.000808 | 0.00015 |
| BMI160 imu0 · gyro Dw[2,1] cross | 0.000108 | 0.000347 | 0.000559 |
- c 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 · T10 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · Camera + IMU, standard-512, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 3 param. | 0.61 | not bounded at n = 4 | 0.5 (raw 0.25) | too few recordings | |
| MVIS ÷ Basalt · 3 param. | 0.52 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| Kalibr ÷ Basalt · 3 param. | 1.56 | not bounded at n = 4 | 0.5 (raw 0.38) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| BMI160 imu0 · accel Da[0,0] scale x | 0.0000368 | 0.000167 | 0.0000713 |
| BMI160 imu0 · accel Da[1,1] scale y | 0.00028 | 0.000462 | 0.000296 |
| BMI160 imu0 · accel Da[2,2] scale z | 0.000471 | 0.000466 | 0.000995 |
- c 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.
Parameter tables, tool differences and run configs (TUM-VI)
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.
T3 · Camera stereo (raw)
MVIS 8 of 8 · Kalibr 8 of 8 · Basalt 8 of 8
Camera · cam1–cam8 · Kalibr kalibr_calibrate_cameras, pinhole-equi
Read first: Every tool ran on the same bags, filtered to view angles of 85° or less.
Notes
Note: Every tool ran on the same ≤ 85° view-filtered bags (TUM-VI corners beyond 85° break pinhole-equi in Kalibr).
cam0 – TUM-VI cam0 · 8 rows · ◆ 2
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 381.94 ± 0.37 (8) | 381.77 ± 0.64 (8) | 381.65 ± 0.40 (8) | +0.17 | −0.12 | −0.29 |
| fy px | 381.88 ± 0.41 (8) | 381.73 ± 0.66 (8) | 381.65 ± 0.41 (8) | +0.15 | −0.08 | −0.24 |
| cx px | 509.78 ± 0.29 (8) | 510.06 ± 0.20 (8) | 510.17 ± 0.24 (8) | −0.28 | +0.11 | ◆ +0.38 |
| cy px | 513.81 ± 0.17 (8) | 514.08 ± 0.24 (8) | 514.11 ± 0.11 (8) | ◆ −0.27 | +0.03 | ◆ +0.30 |
| dist k1 | 0.00500 ± 0.00167 (8) | 0.00475 ± 0.00392 (8) | 0.00523 ± 0.00143 (8) | +0.00025 | +0.00048 | +0.00023 |
| dist k2 | −0.00160 ± 0.00284 (8) | −0.00240 ± 0.00685 (8) | −0.00137 ± 0.00203 (8) | +0.00080 | +0.00103 | +0.00024 |
| dist k3 | −0.00048 ± 0.00201 (8) | 0.00000 ± 0.00488 (8) | −0.00076 ± 0.00147 (8) | −0.00048 | −0.00076 | −0.00028 |
| dist k4 | −0.00011 ± 0.00050 (8) | −0.00023 ± 0.00118 (8) | −0.00004 ± 0.00039 (8) | +0.00012 | +0.00019 | +0.00008 |
cam1 – TUM-VI cam1 · 9 rows · ◆ 2
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 380.57 ± 0.40 (8) | 380.70 ± 0.67 (8) | 380.30 ± 0.43 (8) | −0.13 | −0.40 | −0.26 |
| fy px | 380.49 ± 0.43 (8) | 380.65 ± 0.67 (8) | 380.26 ± 0.43 (8) | −0.16 | −0.38 | −0.22 |
| cx px | 505.06 ± 0.28 (8) | 505.35 ± 0.19 (8) | 505.40 ± 0.21 (8) | ◆ −0.30 | +0.05 | ◆ +0.34 |
| cy px | 509.61 ± 0.38 (8) | 509.94 ± 0.32 (8) | 510.00 ± 0.31 (8) | −0.33 | +0.05 | ◆ +0.38 |
| dist k1 | 0.00662 ± 0.00126 (8) | 0.00592 ± 0.00318 (8) | 0.00660 ± 0.00105 (8) | +0.00070 | +0.00067 | −0.00003 |
| dist k2 | −0.00362 ± 0.00220 (8) | −0.00273 ± 0.00568 (8) | −0.00299 ± 0.00150 (8) | −0.00089 | −0.00026 | +0.00063 |
| dist k3 | 0.00070 ± 0.00160 (8) | 0.00039 ± 0.00384 (8) | 0.00050 ± 0.00098 (8) | +0.00031 | +0.00011 | −0.00020 |
| dist k4 | −0.00035 ± 0.00039 (8) | −0.00036 ± 0.00088 (8) | −0.00036 ± 0.00024 (8) | +0.00001 | 0.00000 | −0.00001 |
| baseline to TUM-VI cam0 mm | 101.048 ± 0.080 (8) | 101.049 ± 0.098 (8) | 101.047 ± 0.082 (8) | −0.001 | −0.002 | −0.001 |
T9 · Camera + IMU, raw stream
MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4
Camera + IMU · imu1–imu4 · Kalibr scale-misalignment vs MVIS (kalibr model)
Read first: Kalibr's intrinsics and baselines are inputs from an MVIS export; its td and lever are solved given them.
cam0 – TUM-VI cam0 · 11 rows · ◆ 4
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 382.71 ± 0.09 (4) | fixed 382.14 (4) | 382.54 ± 0.11 (4) | ◆ −0.17 | ||
| fy px | 382.67 ± 0.08 (4) | fixed 382.26 (4) | 382.50 ± 0.12 (4) | ◆ −0.17 | ||
| cx px | 509.90 ± 0.15 (4) | fixed 509.82 (4) | 509.94 ± 0.16 (4) | +0.04 | ||
| cy px | 514.01 ± 0.04 (4) | fixed 514.51 (4) | 514.09 ± 0.05 (4) | ◆ +0.08 | ||
| dist k1 | 0.00467 ± 0.00107 (4) | fixed 0.00477 (4) | 0.00445 ± 0.00137 (4) | −0.00023 | ||
| dist k2 | −0.00326 ± 0.00190 (4) | fixed −0.00223 (4) | −0.00239 ± 0.00277 (4) | +0.00088 | ||
| dist k3 | 0.00117 ± 0.00126 (4) | fixed −0.00007 (4) | 0.00023 ± 0.00211 (4) | −0.00094 | ||
| dist k4 | −0.00057 ± 0.00027 (4) | fixed −0.00023 (4) | −0.00028 ± 0.00054 (4) | +0.00029 | ||
| time offset td to base IMU‡ ms | 0.147 ± 0.014 (4) | −0.784 ± 0.148 (4) | −0.715 ± 0.100 (4) | ◆ +0.931 | +0.069 | ◆ −0.862 |
| distance to base IMU ‖p‖ mm | 94.96 ± 0.37 (4) | 95.34 ± 0.49 (4) | 95.01 ± 0.23 (4) | −0.38 | −0.33 | +0.05 |
| reproj median px | 0.096 ± 0.006 (4) | 0.108 ± 0.007 (4) | not reported | fit |
cam1 – TUM-VI cam1 · 12 rows · ◆ 4
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 381.29 ± 0.05 (4) | fixed 381.68 (4) | 381.13 ± 0.11 (4) | ◆ −0.17 | ||
| fy px | 381.27 ± 0.05 (4) | fixed 381.86 (4) | 381.09 ± 0.13 (4) | ◆ −0.18 | ||
| cx px | 505.30 ± 0.13 (4) | fixed 505.17 (4) | 505.34 ± 0.13 (4) | +0.04 | ||
| cy px | 510.12 ± 0.12 (4) | fixed 510.40 (4) | 510.09 ± 0.12 (4) | −0.02 | ||
| dist k1 | 0.00604 ± 0.00073 (4) | fixed 0.00755 (4) | 0.00589 ± 0.00088 (4) | −0.00014 | ||
| dist k2 | −0.00380 ± 0.00133 (4) | fixed −0.00667 (4) | −0.00298 ± 0.00149 (4) | +0.00082 | ||
| dist k3 | 0.00130 ± 0.00099 (4) | fixed 0.00285 (4) | 0.00050 ± 0.00106 (4) | −0.00080 | ||
| dist k4 | −0.00052 ± 0.00026 (4) | fixed −0.00087 (4) | −0.00031 ± 0.00027 (4) | +0.00021 | ||
| baseline to TUM-VI cam0 mm | 101.138 ± 0.007 (4) | fixed 101.004 ± 0.038 (4) | 101.134 ± 0.005 (4) | −0.004 | ||
| time offset td to base IMU‡ ms | 0.150 ± 0.015 (4) | −0.787 ± 0.149 (4) | −0.715 ± 0.100 (4) | ◆ +0.937 | +0.072 | ◆ −0.865 |
| distance to base IMU ‖p‖ mm | 100.04 ± 0.41 (4) | 98.31 ± 0.33 (4) | 99.62 ± 0.35 (4) | ◆ +1.73 | ◆ +1.31 | ◆ −0.42 |
| reproj median px | 0.092 ± 0.005 (4) | 0.109 ± 0.005 (4) | not reported | fit |
base IMU – BMI160 imu0 · 19 rows · ◆ 7
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| gyro Dw[0,0] scale x | 0.94568 ± 0.00016 (4) | 0.94493 ± 0.00042 (4) | 0.94562 ± 0.00018 (4) | ◆ +0.00076 | ◆ +0.00070 | −0.00006 |
| gyro Dw[1,1] scale y | 1.09414 ± 0.00013 (4) | 1.09419 ± 0.00014 (4) | 1.09416 ± 0.00013 (4) | −0.00005 | −0.00003 | +0.00002 |
| gyro Dw[2,2] scale z | 1.01744 ± 0.00015 (4) | 1.01863 ± 0.00022 (4) | 1.01740 ± 0.00016 (4) | ◆ −0.00119 | ◆ −0.00123 | −0.00004 |
| gyro Dw[1,0] cross | 0.00113 ± 0.00017 (4) | 0.00202 ± 0.00055 (4) | 0.00135 ± 0.00044 (4) | ◆ −0.00088 | ◆ −0.00067 | +0.00021 |
| gyro Dw[2,0] cross | 0.00052 ± 0.00032 (4) | 0.00127 ± 0.00068 (4) | 0.00058 ± 0.00014 (4) | ◆ −0.00076 | ◆ −0.00069 | +0.00006 |
| gyro Dw[2,1] cross | 0.00634 ± 0.00012 (4) | 0.00497 ± 0.00013 (4) | 0.00580 ± 0.00045 (4) | ◆ +0.00137 | ◆ +0.00083 | ◆ −0.00054 |
| accel Da[0,0] scale x | 1.00717 ± 0.00088 (4) | 1.00739 ± 0.00027 (4) | 1.00736 ± 0.00005 (4) | −0.00022 | −0.00003 | +0.00019 |
| accel Da[1,1] scale y | 1.00696 ± 0.00044 (4) | 1.00622 ± 0.00054 (4) | 1.00665 ± 0.00035 (4) | ◆ +0.00074 | +0.00043 | −0.00031 |
| accel Da[2,2] scale z | 0.97126 ± 0.00091 (4) | 0.97202 ± 0.00030 (4) | 0.97239 ± 0.00044 (4) | −0.00076 | +0.00037 | ◆ +0.00114 |
| Tg[0,0] g-sensitivity mrad·s/m | 0.010 ± 0.013 (4) | 0.016 ± 0.040 (4) | not in model | ≠ model | ||
| Tg[0,1] g-sensitivity mrad·s/m | 0.088 ± 0.032 (4) | 1.043 ± 0.272 (4) | not in model | ≠ model | ||
| Tg[0,2] g-sensitivity mrad·s/m | 0.082 ± 0.080 (4) | 0.152 ± 0.105 (4) | not in model | ≠ model | ||
| Tg[1,0] g-sensitivity mrad·s/m | −0.017 ± 0.030 (4) | −0.490 ± 0.324 (4) | not in model | ≠ model | ||
| Tg[1,1] g-sensitivity mrad·s/m | −0.031 ± 0.027 (4) | −0.049 ± 0.106 (4) | not in model | ≠ model | ||
| Tg[1,2] g-sensitivity mrad·s/m | −0.026 ± 0.105 (4) | −0.015 ± 0.086 (4) | not in model | ≠ model | ||
| Tg[2,0] g-sensitivity mrad·s/m | −0.014 ± 0.027 (4) | −0.150 ± 0.041 (4) | not in model | ≠ model | ||
| Tg[2,1] g-sensitivity mrad·s/m | −0.075 ± 0.036 (4) | −0.092 ± 0.139 (4) | not in model | ≠ model | ||
| Tg[2,2] g-sensitivity mrad·s/m | 0.017 ± 0.020 (4) | 0.010 ± 0.053 (4) | not in model | ≠ model | ||
| t_ga gyro−accel ms | −1.508 ± 0.070 (4) | not in model | not in model |
MVIS default IMU model (calyx) · 23 of 42 rows, model-independent only · ◆ 3
| Parameter | MVISKalibr IMU model | MVIS default | Kalibr | default− Kalibr | default− Kalibr IMU model |
|---|---|---|---|---|---|
| cam0 – TUM-VI cam0 | |||||
| fx px | 382.71 ± 0.09 (4) | 382.71 ± 0.09 (4) | fixed 382.14 (4) | 0.00 | |
| fy px | 382.67 ± 0.08 (4) | 382.67 ± 0.08 (4) | fixed 382.26 (4) | 0.00 | |
| cx px | 509.90 ± 0.15 (4) | 509.90 ± 0.15 (4) | fixed 509.82 (4) | 0.00 | |
| cy px | 514.01 ± 0.04 (4) | 514.01 ± 0.04 (4) | fixed 514.51 (4) | 0.00 | |
| dist k1 | 0.00467 ± 0.00107 (4) | 0.00467 ± 0.00107 (4) | fixed 0.00477 (4) | 0.00000 | |
| dist k2 | −0.00326 ± 0.00190 (4) | −0.00326 ± 0.00190 (4) | fixed −0.00223 (4) | 0.00000 | |
| dist k3 | 0.00117 ± 0.00126 (4) | 0.00117 ± 0.00126 (4) | fixed −0.00007 (4) | 0.00000 | |
| dist k4 | −0.00057 ± 0.00027 (4) | −0.00057 ± 0.00027 (4) | fixed −0.00023 (4) | 0.00000 | |
| time offset td to base IMU‡ ms | 0.147 ± 0.014 (4) | 0.172 ± 0.010 (4) | −0.784 ± 0.148 (4) | ◆ +0.957 | ◆ +0.026 |
| distance to base IMU ‖p‖ mm | 94.96 ± 0.37 (4) | 94.95 ± 0.37 (4) | 95.34 ± 0.49 (4) | −0.39 | 0.00 |
| reproj median px | 0.096 ± 0.006 (4) | 0.096 ± 0.006 (4) | 0.108 ± 0.007 (4) | fit | fit |
| cam1 – TUM-VI cam1 | |||||
| fx px | 381.29 ± 0.05 (4) | 381.29 ± 0.05 (4) | fixed 381.68 (4) | 0.00 | |
| fy px | 381.27 ± 0.05 (4) | 381.27 ± 0.05 (4) | fixed 381.86 (4) | 0.00 | |
| cx px | 505.30 ± 0.13 (4) | 505.30 ± 0.13 (4) | fixed 505.17 (4) | 0.00 | |
| cy px | 510.12 ± 0.12 (4) | 510.12 ± 0.12 (4) | fixed 510.40 (4) | 0.00 | |
| dist k1 | 0.00604 ± 0.00073 (4) | 0.00604 ± 0.00073 (4) | fixed 0.00755 (4) | 0.00000 | |
| dist k2 | −0.00380 ± 0.00133 (4) | −0.00380 ± 0.00133 (4) | fixed −0.00667 (4) | 0.00000 | |
| dist k3 | 0.00130 ± 0.00099 (4) | 0.00130 ± 0.00099 (4) | fixed 0.00285 (4) | 0.00000 | |
| dist k4 | −0.00052 ± 0.00026 (4) | −0.00052 ± 0.00026 (4) | fixed −0.00087 (4) | 0.00000 | |
| baseline to TUM-VI cam0 mm | 101.138 ± 0.007 (4) | 101.138 ± 0.007 (4) | fixed 101.004 ± 0.038 (4) | 0.000 | |
| time offset td to base IMU‡ ms | 0.150 ± 0.015 (4) | 0.176 ± 0.012 (4) | −0.787 ± 0.149 (4) | ◆ +0.962 | ◆ +0.025 |
| distance to base IMU ‖p‖ mm | 100.04 ± 0.41 (4) | 100.04 ± 0.41 (4) | 98.31 ± 0.33 (4) | ◆ +1.74 | +0.01 |
| reproj median px | 0.092 ± 0.005 (4) | 0.092 ± 0.005 (4) | 0.109 ± 0.005 (4) | fit | fit |
T10 · Camera + IMU, standard-512
MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4
Camera + IMU · imu1–imu4 · Kalibr scale-misalignment vs MVIS (kalibr model)
Read first: Kalibr's intrinsics and baselines are inputs from an MVIS export; its td and lever are solved given them.
cam0 – TUM-VI cam0 · 11 rows · ◆ 6
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 191.51 ± 0.08 (4) | fixed 191.03 (4) | 191.80 ± 0.18 (4) | ◆ +0.29 | ||
| fy px | 191.49 ± 0.10 (4) | fixed 190.95 (4) | 191.77 ± 0.18 (4) | ◆ +0.29 | ||
| cx px | 254.59 ± 0.07 (4) | fixed 255.07 (4) | 254.76 ± 0.09 (4) | ◆ +0.16 | ||
| cy px | 256.65 ± 0.03 (4) | fixed 257.36 (4) | 256.82 ± 0.03 (4) | ◆ +0.18 | ||
| dist k1 | 0.00367 ± 0.00076 (4) | fixed 0.00659 (4) | 0.00259 ± 0.00230 (4) | −0.00108 | ||
| dist k2 | −0.00145 ± 0.00112 (4) | fixed −0.00617 (4) | −0.00049 ± 0.00488 (4) | +0.00096 | ||
| dist k3 | −0.00016 ± 0.00050 (4) | fixed 0.00315 (4) | −0.00056 ± 0.00394 (4) | −0.00040 | ||
| dist k4 | −0.00012 ± 0.00012 (4) | fixed −0.00106 (4) | −0.00014 ± 0.00102 (4) | −0.00002 | ||
| time offset td to base IMU‡ ms | 0.182 ± 0.015 (4) | −0.723 ± 0.165 (4) | −0.644 ± 0.124 (4) | ◆ +0.905 | +0.079 | ◆ −0.827 |
| distance to base IMU ‖p‖ mm | 94.55 ± 0.18 (4) | 95.60 ± 0.21 (4) | 94.36 ± 0.20 (4) | ◆ −1.05 | ◆ −1.24 | −0.19 |
| reproj median px | 0.077 ± 0.002 (4) | 0.081 ± 0.003 (4) | not reported | fit |
cam1 – TUM-VI cam1 · 12 rows · ◆ 9
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 190.86 ± 0.14 (4) | fixed 190.50 (4) | 191.12 ± 0.14 (4) | ◆ +0.26 | ||
| fy px | 190.84 ± 0.16 (4) | fixed 190.48 (4) | 191.11 ± 0.13 (4) | ◆ +0.27 | ||
| cx px | 252.28 ± 0.06 (4) | fixed 252.85 (4) | 252.44 ± 0.09 (4) | ◆ +0.16 | ||
| cy px | 254.70 ± 0.07 (4) | fixed 255.10 (4) | 254.84 ± 0.08 (4) | ◆ +0.14 | ||
| dist k1 | 0.00585 ± 0.00105 (4) | fixed 0.00791 (4) | 0.00330 ± 0.00171 (4) | ◆ −0.00255 | ||
| dist k2 | −0.00389 ± 0.00197 (4) | fixed −0.00655 (4) | 0.00035 ± 0.00424 (4) | ◆ +0.00424 | ||
| dist k3 | 0.00149 ± 0.00156 (4) | fixed 0.00304 (4) | −0.00149 ± 0.00415 (4) | −0.00298 | ||
| dist k4 | −0.00061 ± 0.00042 (4) | fixed −0.00097 (4) | 0.00017 ± 0.00129 (4) | +0.00078 | ||
| baseline to TUM-VI cam0 mm | 101.185 ± 0.024 (4) | fixed 101.120 ± 0.038 (4) | 101.122 ± 0.054 (4) | ◆ −0.063 | ||
| time offset td to base IMU‡ ms | 0.182 ± 0.010 (4) | −0.730 ± 0.165 (4) | −0.644 ± 0.124 (4) | ◆ +0.912 | +0.086 | ◆ −0.827 |
| distance to base IMU ‖p‖ mm | 99.31 ± 0.31 (4) | 99.66 ± 0.26 (4) | 98.79 ± 0.25 (4) | ◆ −0.36 | ◆ −0.88 | ◆ −0.52 |
| reproj median px | 0.078 ± 0.002 (4) | 0.080 ± 0.003 (4) | not reported | fit |
base IMU – BMI160 imu0 · 19 rows · ◆ 6
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| gyro Dw[0,0] scale x | 1.00173 ± 0.00018 (4) | 1.00244 ± 0.00035 (4) | 1.00175 ± 0.00027 (4) | ◆ −0.00071 | ◆ −0.00069 | +0.00002 |
| gyro Dw[1,1] scale y | 0.99997 ± 0.00015 (4) | 1.00015 ± 0.00016 (4) | 1.00000 ± 0.00014 (4) | ◆ −0.00018 | −0.00015 | +0.00003 |
| gyro Dw[2,2] scale z | 1.00117 ± 0.00015 (4) | 1.00192 ± 0.00033 (4) | 1.00087 ± 0.00029 (4) | ◆ −0.00075 | ◆ −0.00105 | ◆ −0.00030 |
| gyro Dw[1,0] cross | −0.00044 ± 0.00012 (4) | −0.00115 ± 0.00051 (4) | −0.00054 ± 0.00049 (4) | ◆ +0.00072 | ◆ +0.00062 | −0.00010 |
| gyro Dw[2,0] cross | 0.00092 ± 0.00013 (4) | 0.00079 ± 0.00081 (4) | 0.00088 ± 0.00015 (4) | +0.00014 | +0.00010 | −0.00004 |
| gyro Dw[2,1] cross | 0.00086 ± 0.00011 (4) | −0.00061 ± 0.00035 (4) | 0.00042 ± 0.00056 (4) | ◆ +0.00147 | ◆ +0.00103 | −0.00044 |
| accel Da[0,0] scale x | 1.00328 ± 0.00004 (4) | 1.00296 ± 0.00017 (4) | 1.00293 ± 0.00007 (4) | ◆ +0.00032 | −0.00003 | ◆ −0.00035 |
| accel Da[1,1] scale y | 1.00527 ± 0.00028 (4) | 1.00515 ± 0.00046 (4) | 1.00527 ± 0.00030 (4) | +0.00012 | +0.00012 | 0.00000 |
| accel Da[2,2] scale z | 1.00203 ± 0.00047 (4) | 1.00194 ± 0.00047 (4) | 1.00148 ± 0.00099 (4) | +0.00009 | −0.00046 | −0.00055 |
| Tg[0,0] g-sensitivity mrad·s/m | 0.015 ± 0.011 (4) | 0.020 ± 0.045 (4) | not in model | ≠ model | ||
| Tg[0,1] g-sensitivity mrad·s/m | 0.001 ± 0.009 (4) | 0.964 ± 0.274 (4) | not in model | ≠ model | ||
| Tg[0,2] g-sensitivity mrad·s/m | 0.006 ± 0.014 (4) | 0.108 ± 0.102 (4) | not in model | ≠ model | ||
| Tg[1,0] g-sensitivity mrad·s/m | −0.015 ± 0.016 (4) | −0.522 ± 0.343 (4) | not in model | ≠ model | ||
| Tg[1,1] g-sensitivity mrad·s/m | −0.015 ± 0.022 (4) | −0.032 ± 0.093 (4) | not in model | ≠ model | ||
| Tg[1,2] g-sensitivity mrad·s/m | 0.010 ± 0.013 (4) | −0.009 ± 0.103 (4) | not in model | ≠ model | ||
| Tg[2,0] g-sensitivity mrad·s/m | 0.005 ± 0.056 (4) | −0.096 ± 0.020 (4) | not in model | ≠ model | ||
| Tg[2,1] g-sensitivity mrad·s/m | −0.027 ± 0.033 (4) | −0.076 ± 0.098 (4) | not in model | ≠ model | ||
| Tg[2,2] g-sensitivity mrad·s/m | 0.009 ± 0.025 (4) | 0.002 ± 0.035 (4) | not in model | ≠ model | ||
| t_ga gyro−accel ms | −1.641 ± 0.057 (4) | not in model | not in model |
MVIS default IMU model (calyx) · 23 of 42 rows, model-independent only · ◆ 4
| Parameter | MVISKalibr IMU model | MVIS default | Kalibr | default− Kalibr | default− Kalibr IMU model |
|---|---|---|---|---|---|
| cam0 – TUM-VI cam0 | |||||
| fx px | 191.51 ± 0.08 (4) | 191.51 ± 0.08 (4) | fixed 191.03 (4) | 0.00 | |
| fy px | 191.49 ± 0.10 (4) | 191.49 ± 0.10 (4) | fixed 190.95 (4) | 0.00 | |
| cx px | 254.59 ± 0.07 (4) | 254.59 ± 0.07 (4) | fixed 255.07 (4) | 0.00 | |
| cy px | 256.65 ± 0.03 (4) | 256.65 ± 0.03 (4) | fixed 257.36 (4) | 0.00 | |
| dist k1 | 0.00367 ± 0.00076 (4) | 0.00367 ± 0.00076 (4) | fixed 0.00659 (4) | 0.00000 | |
| dist k2 | −0.00145 ± 0.00112 (4) | −0.00145 ± 0.00112 (4) | fixed −0.00617 (4) | 0.00000 | |
| dist k3 | −0.00016 ± 0.00050 (4) | −0.00016 ± 0.00050 (4) | fixed 0.00315 (4) | 0.00000 | |
| dist k4 | −0.00012 ± 0.00012 (4) | −0.00012 ± 0.00012 (4) | fixed −0.00106 (4) | 0.00000 | |
| time offset td to base IMU‡ ms | 0.182 ± 0.015 (4) | 0.184 ± 0.012 (4) | −0.723 ± 0.165 (4) | ◆ +0.907 | +0.002 |
| distance to base IMU ‖p‖ mm | 94.55 ± 0.18 (4) | 94.55 ± 0.18 (4) | 95.60 ± 0.21 (4) | ◆ −1.05 | 0.00 |
| reproj median px | 0.077 ± 0.002 (4) | 0.077 ± 0.002 (4) | 0.081 ± 0.003 (4) | fit | fit |
| cam1 – TUM-VI cam1 | |||||
| fx px | 190.86 ± 0.14 (4) | 190.86 ± 0.14 (4) | fixed 190.50 (4) | 0.00 | |
| fy px | 190.84 ± 0.16 (4) | 190.84 ± 0.16 (4) | fixed 190.48 (4) | 0.00 | |
| cx px | 252.28 ± 0.06 (4) | 252.28 ± 0.06 (4) | fixed 252.85 (4) | 0.00 | |
| cy px | 254.70 ± 0.07 (4) | 254.70 ± 0.07 (4) | fixed 255.10 (4) | 0.00 | |
| dist k1 | 0.00585 ± 0.00105 (4) | 0.00585 ± 0.00105 (4) | fixed 0.00791 (4) | 0.00000 | |
| dist k2 | −0.00389 ± 0.00197 (4) | −0.00389 ± 0.00197 (4) | fixed −0.00655 (4) | 0.00000 | |
| dist k3 | 0.00149 ± 0.00156 (4) | 0.00149 ± 0.00156 (4) | fixed 0.00304 (4) | 0.00000 | |
| dist k4 | −0.00061 ± 0.00042 (4) | −0.00061 ± 0.00042 (4) | fixed −0.00097 (4) | 0.00000 | |
| baseline to TUM-VI cam0 mm | 101.185 ± 0.024 (4) | 101.185 ± 0.024 (4) | fixed 101.120 ± 0.038 (4) | 0.000 | |
| time offset td to base IMU‡ ms | 0.182 ± 0.010 (4) | 0.184 ± 0.008 (4) | −0.730 ± 0.165 (4) | ◆ +0.914 | +0.002 |
| distance to base IMU ‖p‖ mm | 99.31 ± 0.31 (4) | 99.31 ± 0.31 (4) | 99.66 ± 0.26 (4) | ◆ −0.36 | 0.00 |
| reproj median px | 0.078 ± 0.002 (4) | 0.078 ± 0.002 (4) | 0.080 ± 0.003 (4) | fit | fit |
Looper Insight-9
Section titled “Looper Insight-9”Two global-shutter cameras, one rolling-shutter camera and a MEMS IMU, from Looper Robotics. Example.
| Family | Focal + pp px | Distortion | Distance mm | Readout ms | Time offset ms | Cam–IMU distance mm | Gyro | Accel |
|---|---|---|---|---|---|---|---|---|
| T4 · camera n = 10 matched Camera stereo | Kalibr ×1.4 | Tie a | Tie | — | — | — | — | — |
| T11 · cam+IMU n = 10 matched 3-cam + IMU | MVIS ×1.8 | Tie a | Tie | MVIS only | Not separated b | Tie | Tie c | Tie c |
T4 · camera · Camera stereo More repeatable or tie: Focal + pp Kalibr · Distortion tie · Distance tie n = 10 matched · MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10
T11 · cam+IMU · 3-cam + IMU More repeatable or tie: Focal + pp MVIS · Distortion tie · Distance tie · Time offset not separated · Cam–IMU distance tie · Gyro tie · Accel tie n = 10 matched · MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10
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 = 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.
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
- b MVIS also fits a gyro–accel delay (t_ga) that Kalibr and Basalt do not, so its td is not quite the same quantity.
- c 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
- T11 reprojection error (2 rows): fit quality, not repeatability and not accuracy
- T11 focal length + principal point of Looper RS cam2 (4 rows): no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- T11 distortion coefficients of Looper RS cam2 (4 rows): no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- T11 rolling-shutter readout of Looper RS cam2 (1 row): no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- T11 camera–camera distance of Looper RS cam2 (1 row): no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- T11 camera–imu time offset of Looper RS cam2 (1 row): no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- T11 camera–imu distance of Looper RS cam2 (1 row): no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- T11 reproj median of Looper RS cam2 (1 row): no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- T11 IMU g-sensitivity Tg (9 rows): Kalibr absorbs it in its IMU model
- T11 gyro–accel delay t_ga (1 row): MVIS only
Focal length + principal point · T4 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10) · Camera stereo, camera
Across the same 10 recordings, MVIS's estimates scatter about 1.7× more than Kalibr's (median over 8 parameters); Basalt's about 1.4×. A gap this large appeared in 0.59 % (MVIS) and 1.6 % (Basalt) of recording-by-recording swaps. Holds with any one recording left out.
MVIS here: its camera-only run.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 8 param. | 1.68 | 1.24 – 2.3 | 0.018 (raw 0.0059) | Kalibr tighter | holds with any one recording left out |
| MVIS ÷ Basalt · 8 param. | 1.04 | 0.85 – 1.22 | 0.56 | tie: gap within chance | |
| Kalibr ÷ Basalt · 8 param. | 0.71 | 0.58 – 0.92 | 0.031 (raw 0.016) | Kalibr tighter | holds with any one recording left out |
The 95 % interval of MVIS ÷ Kalibr 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.
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Looper GS cam0 · fx px | 0.379 | 0.187 | 0.383 |
| Looper GS cam0 · fy px | 0.374 | 0.186 | 0.38 |
| Looper GS cam0 · cx px | 0.106 | 0.169 | 0.109 |
| Looper GS cam0 · cy px | 0.0451 | 0.0548 | 0.0321 |
| Looper GS cam1 · fx px | 0.398 | 0.202 | 0.382 |
| Looper GS cam1 · fy px | 0.399 | 0.197 | 0.381 |
| Looper GS cam1 · cx px | 0.117 | 0.162 | 0.0915 |
| Looper GS cam1 · cy px | 0.0701 | 0.0489 | 0.0516 |
Repeatability only — a tool can repeat well and still be biased.
Distortion coefficients · T4 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10) · Camera stereo, camera
The spreads of MVIS and Kalibr differ by 1.6×, but a gap this size appears often by chance with 10 recordings (p = 0.21). Treated as a tie. The spreads of MVIS and Basalt differ by 1.2×, but a gap this size appears often by chance with 10 recordings (p = 0.21). Treated as a tie. The spreads of Kalibr and Basalt differ by 1.8×, but a gap this size appears often by chance with 10 recordings (p = 0.21). Treated as a tie.
MVIS here: its camera-only run.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 8 param. | 0.62 | 0.39 – 1.13 | 0.21 (raw 0.068) | tie: gap within chance | |
| MVIS ÷ Basalt · 8 param. | 1.22 | 0.94 – 1.52 | 0.21 (raw 0.11) | tie: gap within chance | |
| Kalibr ÷ Basalt · 8 param. | 1.77 | 0.96 – 2.62 | 0.21 (raw 0.08) | tie: gap within chance |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Looper GS cam0 · dist k1 | 0.00109 | 0.00139 | 0.000789 |
| Looper GS cam0 · dist k2 | 0.00284 | 0.00481 | 0.00156 |
| Looper GS cam0 · dist k3 | 0.00381 | 0.00588 | 0.00177 |
| Looper GS cam0 · dist k4 | 0.0017 | 0.00244 | 0.000639 |
| Looper GS cam1 · dist k1 | 0.0011 | 0.00095 | 0.00103 |
| Looper GS cam1 · dist k2 | 0.00224 | 0.00393 | 0.00226 |
| Looper GS cam1 · dist k3 | 0.00259 | 0.00515 | 0.00288 |
| Looper GS cam1 · dist k4 | 0.00103 | 0.00219 | 0.00126 |
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
Repeatability only — a tool can repeat well and still be biased.
Camera–camera distance · T4 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10) · Camera stereo, camera
The spreads of MVIS and Kalibr differ by 1.4×, but a gap this size appears often by chance with 10 recordings (p = 0.72). Treated as a tie. The spreads of MVIS and Basalt differ by 1.04×, but a gap this size appears often by chance with 10 recordings (p = 0.79). Treated as a tie. The spreads of Kalibr and Basalt differ by 1.3×, but a gap this size appears often by chance with 10 recordings (p = 0.72). Treated as a tie.
MVIS here: its camera-only run.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 1 param. | 0.74 | 0.56 – 1.31 | 0.72 (raw 0.24) | tie: gap within chance | |
| MVIS ÷ Basalt · 1 param. | 0.96 | 0.72 – 1.57 | 0.79 | tie: gap within chance | |
| Kalibr ÷ Basalt · 1 param. | 1.3 | 0.8 – 1.72 | 0.72 (raw 0.32) | tie: gap within chance |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Looper GS cam1 · baseline to Looper GS cam0 mm | 0.176 | 0.238 | 0.183 |
Repeatability only — a tool can repeat well and still be biased.
Focal length + principal point · T11 · 10 matched recordings (MVIS 10 of 10 · Kalibr input · Basalt 10 of 10) · 3-cam + IMU, cam+IMU
Across the same 10 recordings, Basalt's estimates scatter about 1.8× more than MVIS's (median over 8 parameters). A gap this large appeared in 4.9 % of recording-by-recording swaps. Holds with any one recording left out.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 8 param. | 0.57 | 0.34 – 0.98 | 0.049 | MVIS 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.
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| Looper GS cam0 · fx px | 0.155 | 0.44 | 0.35 |
| Looper GS cam0 · fy px | 0.164 | 0.435 | 0.38 |
| Looper GS cam0 · cx px | 0.132 | 0.154 | 0.86 |
| Looper GS cam0 · cy px | 0.065 | 0.0408 | 1.59 |
| Looper GS cam1 · fx px | 0.121 | 0.449 | 0.27 |
| Looper GS cam1 · fy px | 0.13 | 0.443 | 0.29 |
| Looper GS cam1 · cx px | 0.119 | 0.0931 | 1.28 |
| Looper GS cam1 · cy px | 0.0818 | 0.0562 | 1.46 |
- 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.
- MVIS · only this tool · 4 rows: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Kalibr · missing · 4 rows: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Basalt · missing · 4 rows: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
Repeatability only — a tool can repeat well and still be biased.
Distortion coefficients · T11 · 10 matched recordings (MVIS 10 of 10 · Kalibr input · Basalt 10 of 10) · 3-cam + IMU, cam+IMU
The spreads of MVIS and Basalt differ by 1.3×, but a gap this size appears often by chance with 10 recordings (p = 0.17). Treated as a tie.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 8 param. | 1.3 | 0.86 – 1.75 | 0.17 | tie: gap within chance |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| Looper GS cam0 · dist k1 | 0.00123 | 0.0012 | 1.03 |
| Looper GS cam0 · dist k2 | 0.00408 | 0.00243 | 1.68 |
| Looper GS cam0 · dist k3 | 0.00483 | 0.00284 | 1.70 |
| Looper GS cam0 · dist k4 | 0.00187 | 0.00111 | 1.68 |
| Looper GS cam1 · dist k1 | 0.000887 | 0.00137 | 0.65 |
| Looper GS cam1 · dist k2 | 0.00328 | 0.00265 | 1.24 |
| Looper GS cam1 · dist k3 | 0.00426 | 0.00328 | 1.30 |
| Looper GS cam1 · dist k4 | 0.00174 | 0.00133 | 1.31 |
- 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.
- MVIS · only this tool · 4 rows: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Kalibr · missing · 4 rows: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Basalt · missing · 4 rows: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
Repeatability only — a tool can repeat well and still be biased.
Camera–camera distance · T11 · 10 matched recordings (MVIS 10 of 10 · Kalibr input · Basalt 10 of 10) · 3-cam + IMU, cam+IMU
The spreads of MVIS and Basalt differ by 1.1×, but a gap this size appears often by chance with 10 recordings (p = 0.38). Treated as a tie.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 1 param. | 1.11 | 0.9 – 1.39 | 0.38 | tie: gap within chance |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| Looper GS cam1 · baseline to Looper GS cam0 mm | 0.211 | 0.191 | 1.10 |
- 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.
- MVIS · only this tool · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Kalibr · missing · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Basalt · missing · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
Repeatability only — a tool can repeat well and still be biased.
Rolling-shutter readout · T11 · MVIS only (MVIS only · Kalibr no value · Basalt no value) · 3-cam + IMU, cam+IMU
MVIS only: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- MVIS · only this tool · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Kalibr · missing · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Basalt · missing · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
Repeatability only — a tool can repeat well and still be biased.
Camera–IMU time offset · T11 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10) · 3-cam + IMU, cam+IMU
MVIS is tighter than Basalt; the other pairs are not separated. No single tool is marked.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.59 | 0.36 – 1.19 | 0.22 (raw 0.11) | tie: gap within chance | |
| MVIS ÷ Basalt · 2 param. | 0.5 | 0.34 – 0.65 | 0.012 (raw 0.0039) | MVIS tighter | holds with any one recording left out |
| Kalibr ÷ Basalt · 2 param. | 0.85 | 0.43 – 1.28 | 0.43 | tie: gap within chance |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Looper GS cam0 · time offset td to base IMU ms | 0.0767 | 0.131 | 0.156 |
| Looper GS cam1 · time offset td to base IMU ms | 0.0801 | 0.135 | 0.156 |
- MVIS · only this tool · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Kalibr · missing · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Basalt · missing · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- b 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 · T11 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10) · 3-cam + IMU, cam+IMU
The spreads of MVIS and Kalibr differ by 1.1×, but a gap this size appears often by chance with 10 recordings (p = 1). Treated as a tie. The spreads of MVIS and Basalt differ by 1.2×, but a gap this size appears often by chance with 10 recordings (p = 1). Treated as a tie. The spreads of Kalibr and Basalt differ by 1.03×, but a gap this size appears often by chance with 10 recordings (p = 1). Treated as a tie.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.9 | 0.67 – 1.24 | 1 (raw 0.39) | tie: gap within chance | |
| MVIS ÷ Basalt · 2 param. | 0.87 | 0.56 – 1.28 | 1 (raw 0.47) | tie: gap within chance | |
| Kalibr ÷ Basalt · 2 param. | 0.97 | 0.59 – 1.57 | 1 (raw 0.87) | tie: gap within chance |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Looper GS cam0 · distance to base IMU ‖p‖ mm | 0.375 | 0.512 | 0.564 |
| Looper GS cam1 · distance to base IMU ‖p‖ mm | 0.375 | 0.341 | 0.329 |
- MVIS · only this tool · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Kalibr · missing · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
- Basalt · missing · 1 row: no Kalibr rolling-shutter run; Basalt has no rolling-shutter model
Repeatability only — a tool can repeat well and still be biased.
Gyro scale + cross-axis · T11 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10) · 3-cam + IMU, cam+IMU
The spreads of MVIS and Kalibr differ by 1.2×, but a gap this size appears often by chance with 10 recordings (p = 0.28). Treated as a tie. The spreads of MVIS and Basalt differ by 1.4×, but a gap this size appears often by chance with 10 recordings (p = 0.14). Treated as a tie. The spreads of Kalibr and Basalt differ by 1.4×, but a gap this size appears often by chance with 10 recordings (p = 0.28). Treated as a tie.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 6 param. | 1.15 | 0.94 – 1.64 | 0.28 (raw 0.17) | tie: gap within chance | |
| MVIS ÷ Basalt · 6 param. | 0.73 | 0.5 – 1 | 0.14 (raw 0.047) | tie: gap within chance | |
| Kalibr ÷ Basalt · 6 param. | 0.73 | 0.41 – 1.17 | 0.28 (raw 0.14) | tie: gap within chance |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Looper MEMS imu0 · gyro Dw[0,0] scale x | 0.000875 | 0.00131 | 0.00144 |
| Looper MEMS imu0 · gyro Dw[1,1] scale y | 0.000964 | 0.000679 | 0.00131 |
| Looper MEMS imu0 · gyro Dw[2,2] scale z | 0.000329 | 0.000342 | 0.000454 |
| Looper MEMS imu0 · gyro Dw[1,0] cross | 0.00122 | 0.00103 | 0.000703 |
| Looper MEMS imu0 · gyro Dw[2,0] cross | 0.000459 | 0.000337 | 0.00048 |
| Looper MEMS imu0 · gyro Dw[2,1] cross | 0.000619 | 0.000549 | 0.00111 |
- c 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 · T11 · 10 matched recordings (MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10) · 3-cam + IMU, cam+IMU
The gap between MVIS and Kalibr is clear but under 20 % (1.2×), so it is treated as a tie. The spreads of MVIS and Basalt differ by 1.2×, but a gap this size appears often by chance with 10 recordings (p = 0.7). Treated as a tie. The spreads of Kalibr and Basalt differ by 1.01×, but a gap this size appears often by chance with 10 recordings (p = 0.92). Treated as a tie.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 3 param. | 0.82 | 0.62 – 0.95 | 0.029 (raw 0.0098) | tie: gap under 20 % | |
| MVIS ÷ Basalt · 3 param. | 0.81 | 0.6 – 1.4 | 0.7 (raw 0.35) | tie: gap within chance | |
| Kalibr ÷ Basalt · 3 param. | 1.01 | 0.78 – 1.93 | 0.92 | tie: gap within chance |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Looper MEMS imu0 · accel Da[0,0] scale x | 0.000395 | 0.000286 | 0.000485 |
| Looper MEMS imu0 · accel Da[1,1] scale y | 0.000281 | 0.000502 | 0.000495 |
| Looper MEMS imu0 · accel Da[2,2] scale z | 0.00159 | 0.00195 | 0.00179 |
- c 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.
Parameter tables, tool differences and run configs (Looper Insight-9)
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.
T4 · Camera stereo
MVIS 10 of 10 · Kalibr 10 of 10 · Basalt 10 of 10
Camera · stereo01–stereo10 · Kalibr pinhole-equi
cam0 – Looper GS cam0 · 8 rows · ◆ 3
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 335.60 ± 0.38 (10) | 335.00 ± 0.19 (10) | 335.33 ± 0.38 (10) | ◆ +0.60 | +0.33 | −0.27 |
| fy px | 335.60 ± 0.37 (10) | 334.97 ± 0.19 (10) | 335.31 ± 0.38 (10) | ◆ +0.63 | +0.35 | −0.28 |
| cx px | 271.99 ± 0.11 (10) | 271.93 ± 0.17 (10) | 272.01 ± 0.11 (10) | +0.06 | +0.09 | +0.03 |
| cy px | 318.49 ± 0.05 (10) | 318.48 ± 0.05 (10) | 318.46 ± 0.03 (10) | +0.02 | −0.01 | −0.03 |
| dist k1 | −0.02356 ± 0.00109 (10) | −0.02167 ± 0.00139 (10) | −0.02323 ± 0.00079 (10) | ◆ −0.00189 | ◆ −0.00156 | +0.00033 |
| dist k2 | 0.01131 ± 0.00284 (10) | 0.01157 ± 0.00481 (10) | 0.01362 ± 0.00156 (10) | −0.00026 | +0.00205 | +0.00230 |
| dist k3 | −0.01022 ± 0.00381 (10) | −0.01366 ± 0.00588 (10) | −0.01356 ± 0.00177 (10) | +0.00344 | +0.00010 | −0.00334 |
| dist k4 | 0.00123 ± 0.00170 (10) | 0.00324 ± 0.00244 (10) | 0.00236 ± 0.00064 (10) | −0.00200 | −0.00088 | +0.00113 |
cam1 – Looper GS cam1 · 9 rows · ◆ 6
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 335.62 ± 0.40 (10) | 335.09 ± 0.20 (10) | 335.41 ± 0.38 (10) | ◆ +0.53 | +0.32 | −0.22 |
| fy px | 335.61 ± 0.40 (10) | 335.07 ± 0.20 (10) | 335.38 ± 0.38 (10) | ◆ +0.54 | +0.31 | −0.23 |
| cx px | 269.29 ± 0.12 (10) | 269.42 ± 0.16 (10) | 269.31 ± 0.09 (10) | −0.13 | −0.10 | +0.02 |
| cy px | 318.27 ± 0.07 (10) | 318.25 ± 0.05 (10) | 318.22 ± 0.05 (10) | +0.01 | −0.03 | −0.04 |
| dist k1 | −0.02366 ± 0.00110 (10) | −0.02123 ± 0.00095 (10) | −0.02336 ± 0.00103 (10) | ◆ −0.00243 | ◆ −0.00212 | +0.00030 |
| dist k2 | 0.01135 ± 0.00224 (10) | 0.00922 ± 0.00393 (10) | 0.01321 ± 0.00226 (10) | +0.00213 | ◆ +0.00399 | +0.00186 |
| dist k3 | −0.00975 ± 0.00259 (10) | −0.00998 ± 0.00515 (10) | −0.01417 ± 0.00288 (10) | +0.00022 | −0.00420 | ◆ −0.00442 |
| dist k4 | 0.00053 ± 0.00103 (10) | 0.00150 ± 0.00219 (10) | 0.00304 ± 0.00126 (10) | −0.00097 | +0.00154 | ◆ +0.00251 |
| baseline to Looper GS cam0 mm | 99.129 ± 0.176 (10) | 99.188 ± 0.238 (10) | 99.126 ± 0.183 (10) | −0.059 | −0.062 | −0.004 |
T11 · 3-cam + IMU
MVIS 10 of 10 · Kalibr 10 of 10, no values on Looper RS cam2 · Basalt 10 of 10, no values on Looper RS cam2
Camera + IMU · bags 1–10 · Kalibr from its own camera calibration
Read first: Kalibr's intrinsics and baselines are inputs from its own camera-only calibration; its td and lever are solved given them.
Notes
Like for like: Every tool uses the same IMU noise, measured at rest on this unit. Kalibr's td and lever are solved given its inputs. RS cam2 is MVIS only.
Note: Kalibr's camera + IMU solver is global-shutter only, so the RS cam2 is not in its runs. Every tool uses the same IMU noise, measured at rest on this unit.
Basalt: cam0 + cam1 (no rolling-shutter model, so no cam2).
cam0 – Looper GS cam0 · 11 rows · ◆ 3
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 333.93 ± 0.15 (10) | fixed 335.00 ± 0.19 (10) | 334.24 ± 0.44 (10) | +0.31 | ||
| fy px | 333.93 ± 0.16 (10) | fixed 334.97 ± 0.19 (10) | 334.19 ± 0.43 (10) | +0.26 | ||
| cx px | 272.18 ± 0.14 (10) | fixed 271.93 ± 0.17 (10) | 271.96 ± 0.15 (10) | ◆ −0.23 | ||
| cy px | 318.58 ± 0.07 (10) | fixed 318.48 ± 0.05 (10) | 318.51 ± 0.04 (10) | −0.07 | ||
| dist k1 | −0.02193 ± 0.00122 (10) | fixed −0.02167 ± 0.00139 (10) | −0.02156 ± 0.00120 (10) | +0.00037 | ||
| dist k2 | 0.01207 ± 0.00406 (10) | fixed 0.01157 ± 0.00481 (10) | 0.01092 ± 0.00243 (10) | −0.00115 | ||
| dist k3 | −0.01359 ± 0.00479 (10) | fixed −0.01366 ± 0.00588 (10) | −0.01093 ± 0.00284 (10) | +0.00266 | ||
| dist k4 | 0.00288 ± 0.00186 (10) | fixed 0.00324 ± 0.00244 (10) | 0.00135 ± 0.00111 (10) | −0.00153 | ||
| time offset td to base IMU‡ ms | 1.326 ± 0.087 (10) | −0.272 ± 0.131 (10) | 0.580 ± 0.156 (10) | ◆ +1.598 | ◆ +0.852 | ◆ −0.746 |
| distance to base IMU ‖p‖ mm | 43.73 ± 0.37 (10) | 44.56 ± 0.51 (10) | 45.05 ± 0.56 (10) | ◆ −0.83 | +0.49 | ◆ +1.33 |
| reproj median px | 0.153 ± 0.006 (10) | 0.195 ± 0.008 (10) | not reported | fit |
cam1 – Looper GS cam1 · 12 rows · ◆ 8
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 333.99 ± 0.12 (10) | fixed 335.09 ± 0.20 (10) | 334.26 ± 0.45 (10) | +0.27 | ||
| fy px | 333.91 ± 0.13 (10) | fixed 335.07 ± 0.20 (10) | 334.22 ± 0.44 (10) | +0.32 | ||
| cx px | 269.53 ± 0.12 (10) | fixed 269.42 ± 0.16 (10) | 269.25 ± 0.09 (10) | ◆ −0.29 | ||
| cy px | 318.46 ± 0.09 (10) | fixed 318.25 ± 0.05 (10) | 318.31 ± 0.06 (10) | ◆ −0.15 | ||
| dist k1 | −0.02296 ± 0.00090 (10) | fixed −0.02123 ± 0.00095 (10) | −0.02152 ± 0.00137 (10) | ◆ +0.00144 | ||
| dist k2 | 0.01788 ± 0.00329 (10) | fixed 0.00922 ± 0.00393 (10) | 0.01120 ± 0.00265 (10) | ◆ −0.00668 | ||
| dist k3 | −0.01837 ± 0.00428 (10) | fixed −0.00998 ± 0.00515 (10) | −0.01195 ± 0.00328 (10) | ◆ +0.00642 | ||
| dist k4 | 0.00396 ± 0.00176 (10) | fixed 0.00150 ± 0.00219 (10) | 0.00210 ± 0.00133 (10) | ◆ −0.00186 | ||
| baseline to Looper GS cam0 mm | 99.003 ± 0.211 (10) | fixed 99.188 ± 0.238 (10) | 98.980 ± 0.191 (10) | −0.023 | ||
| time offset td to base IMU‡ ms | 1.360 ± 0.092 (10) | −0.256 ± 0.135 (10) | 0.580 ± 0.156 (10) | ◆ +1.616 | ◆ +0.836 | ◆ −0.780 |
| distance to base IMU ‖p‖ mm | 63.96 ± 0.38 (10) | 63.33 ± 0.34 (10) | 63.21 ± 0.33 (10) | ◆ +0.63 | −0.12 | ◆ −0.74 |
| reproj median px | 0.161 ± 0.006 (10) | 0.209 ± 0.009 (10) | not reported | fit |
cam2 – Looper RS cam2 · 13 rows
Kalibr: not in its runs, which are global-shutter only.
Basalt: no rolling-shutter model.
| Parameter | MVISKalibr IMU model | Kalibr | Basalt |
|---|---|---|---|
| fx px | 775.21 ± 0.53 (10) | no run | no run |
| fy px | 775.31 ± 0.49 (10) | no run | no run |
| cx px | 960.13 ± 0.22 (10) | no run | no run |
| cy px | 535.71 ± 0.27 (10) | no run | no run |
| dist k1 | −0.03264 ± 0.00129 (10) | no run | no run |
| dist k2 | 0.00067 ± 0.00441 (10) | no run | no run |
| dist k3 | −0.00223 ± 0.00569 (10) | no run | no run |
| dist k4 | 0.00072 ± 0.00238 (10) | no run | no run |
| readout tr ms | 32.148 ± 0.231 (10) | no run | no run |
| baseline to Looper GS cam0 mm | 49.527 ± 0.116 (10) | no run | no run |
| time offset td to base IMU‡ ms | −5.673 ± 0.150 (10) | no run | no run |
| distance to base IMU ‖p‖ mm | 22.94 ± 0.43 (10) | no run | no run |
| reproj median px | 0.434 ± 0.016 (10) | no run | no run |
base IMU – Looper MEMS imu0 · 19 rows · ◆ 4
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| gyro Dw[0,0] scale x | 1.00082 ± 0.00087 (10) | 0.99846 ± 0.00131 (10) | 0.99882 ± 0.00144 (10) | ◆ +0.00236 | +0.00036 | ◆ −0.00200 |
| gyro Dw[1,1] scale y | 1.00000 ± 0.00096 (10) | 0.99998 ± 0.00068 (10) | 0.99995 ± 0.00131 (10) | +0.00002 | −0.00003 | −0.00005 |
| gyro Dw[2,2] scale z | 0.99572 ± 0.00033 (10) | 0.99575 ± 0.00034 (10) | 0.99571 ± 0.00045 (10) | −0.00003 | −0.00004 | −0.00001 |
| gyro Dw[1,0] cross | 0.00176 ± 0.00122 (10) | 0.00175 ± 0.00103 (10) | 0.00206 ± 0.00070 (10) | +0.00001 | +0.00031 | +0.00030 |
| gyro Dw[2,0] cross | −0.00078 ± 0.00046 (10) | 0.00127 ± 0.00034 (10) | 0.00008 ± 0.00048 (10) | ◆ −0.00205 | ◆ −0.00119 | ◆ +0.00086 |
| gyro Dw[2,1] cross | −0.00166 ± 0.00062 (10) | −0.00180 ± 0.00055 (10) | −0.00176 ± 0.00111 (10) | +0.00014 | +0.00004 | −0.00010 |
| accel Da[0,0] scale x | 0.99618 ± 0.00040 (10) | 0.99574 ± 0.00029 (10) | 0.99563 ± 0.00049 (10) | ◆ +0.00043 | −0.00011 | ◆ −0.00055 |
| accel Da[1,1] scale y | 0.99681 ± 0.00028 (10) | 0.99636 ± 0.00050 (10) | 0.99625 ± 0.00049 (10) | +0.00045 | −0.00011 | ◆ −0.00055 |
| accel Da[2,2] scale z | 1.00457 ± 0.00159 (10) | 1.00541 ± 0.00195 (10) | 1.00477 ± 0.00179 (10) | −0.00084 | −0.00064 | +0.00020 |
| Tg[0,0] g-sensitivity mrad·s/m | −0.077 ± 0.075 (10) | −0.234 ± 0.108 (10) | not in model | ≠ model | ||
| Tg[0,1] g-sensitivity mrad·s/m | 0.029 ± 0.039 (10) | −0.246 ± 0.118 (10) | not in model | ≠ model | ||
| Tg[0,2] g-sensitivity mrad·s/m | −0.073 ± 0.130 (10) | 0.063 ± 0.184 (10) | not in model | ≠ model | ||
| Tg[1,0] g-sensitivity mrad·s/m | −0.131 ± 0.099 (10) | 0.804 ± 0.164 (10) | not in model | ≠ model | ||
| Tg[1,1] g-sensitivity mrad·s/m | 0.006 ± 0.078 (10) | 0.021 ± 0.055 (10) | not in model | ≠ model | ||
| Tg[1,2] g-sensitivity mrad·s/m | 0.051 ± 0.162 (10) | −2.207 ± 0.370 (10) | not in model | ≠ model | ||
| Tg[2,0] g-sensitivity mrad·s/m | 0.139 ± 0.189 (10) | 0.000 ± 0.258 (10) | not in model | ≠ model | ||
| Tg[2,1] g-sensitivity mrad·s/m | −0.048 ± 0.041 (10) | 1.381 ± 0.082 (10) | not in model | ≠ model | ||
| Tg[2,2] g-sensitivity mrad·s/m | 0.001 ± 0.068 (10) | −0.018 ± 0.190 (10) | not in model | ≠ model | ||
| t_ga gyro−accel ms | −5.297 ± 0.107 (10) | not in model | not in model |
MVIS default IMU model (calyx) · 36 of 55 rows, model-independent only · ◆ 4
| Parameter | MVISKalibr IMU model | MVIS default | Kalibr | default− Kalibr | default− Kalibr IMU model |
|---|---|---|---|---|---|
| cam0 – Looper GS cam0 | |||||
| fx px | 333.93 ± 0.15 (10) | 333.92 ± 0.16 (10) | fixed 335.00 ± 0.19 (10) | −0.01 | |
| fy px | 333.93 ± 0.16 (10) | 333.91 ± 0.16 (10) | fixed 334.97 ± 0.19 (10) | −0.01 | |
| cx px | 272.18 ± 0.14 (10) | 272.18 ± 0.13 (10) | fixed 271.93 ± 0.17 (10) | 0.00 | |
| cy px | 318.58 ± 0.07 (10) | 318.58 ± 0.07 (10) | fixed 318.48 ± 0.05 (10) | 0.00 | |
| dist k1 | −0.02193 ± 0.00122 (10) | −0.02197 ± 0.00123 (10) | fixed −0.02167 ± 0.00139 (10) | −0.00004 | |
| dist k2 | 0.01207 ± 0.00406 (10) | 0.01205 ± 0.00408 (10) | fixed 0.01157 ± 0.00481 (10) | −0.00002 | |
| dist k3 | −0.01359 ± 0.00479 (10) | −0.01349 ± 0.00483 (10) | fixed −0.01366 ± 0.00588 (10) | +0.00009 | |
| dist k4 | 0.00288 ± 0.00186 (10) | 0.00283 ± 0.00187 (10) | fixed 0.00324 ± 0.00244 (10) | −0.00005 | |
| time offset td to base IMU‡ ms | 1.326 ± 0.087 (10) | 1.315 ± 0.077 (10) | −0.272 ± 0.131 (10) | ◆ +1.587 | −0.011 |
| distance to base IMU ‖p‖ mm | 43.73 ± 0.37 (10) | 43.70 ± 0.37 (10) | 44.56 ± 0.51 (10) | ◆ −0.86 | −0.03 |
| reproj median px | 0.153 ± 0.006 (10) | 0.154 ± 0.006 (10) | 0.195 ± 0.008 (10) | fit | fit |
| cam1 – Looper GS cam1 | |||||
| fx px | 333.99 ± 0.12 (10) | 333.99 ± 0.12 (10) | fixed 335.09 ± 0.20 (10) | 0.00 | |
| fy px | 333.91 ± 0.13 (10) | 333.91 ± 0.13 (10) | fixed 335.07 ± 0.20 (10) | 0.00 | |
| cx px | 269.53 ± 0.12 (10) | 269.53 ± 0.12 (10) | fixed 269.42 ± 0.16 (10) | 0.00 | |
| cy px | 318.46 ± 0.09 (10) | 318.46 ± 0.08 (10) | fixed 318.25 ± 0.05 (10) | 0.00 | |
| dist k1 | −0.02296 ± 0.00090 (10) | −0.02297 ± 0.00089 (10) | fixed −0.02123 ± 0.00095 (10) | 0.00000 | |
| dist k2 | 0.01788 ± 0.00329 (10) | 0.01779 ± 0.00328 (10) | fixed 0.00922 ± 0.00393 (10) | −0.00009 | |
| dist k3 | −0.01837 ± 0.00428 (10) | −0.01823 ± 0.00426 (10) | fixed −0.00998 ± 0.00515 (10) | +0.00014 | |
| dist k4 | 0.00396 ± 0.00176 (10) | 0.00393 ± 0.00174 (10) | fixed 0.00150 ± 0.00219 (10) | −0.00003 | |
| baseline to Looper GS cam0 mm | 99.003 ± 0.211 (10) | 99.001 ± 0.211 (10) | fixed 99.188 ± 0.238 (10) | −0.002 | |
| time offset td to base IMU‡ ms | 1.360 ± 0.092 (10) | 1.349 ± 0.080 (10) | −0.256 ± 0.135 (10) | ◆ +1.606 | −0.010 |
| distance to base IMU ‖p‖ mm | 63.96 ± 0.38 (10) | 63.96 ± 0.37 (10) | 63.33 ± 0.34 (10) | ◆ +0.63 | 0.00 |
| reproj median px | 0.161 ± 0.006 (10) | 0.162 ± 0.006 (10) | 0.209 ± 0.009 (10) | fit | fit |
| cam2 – Looper RS cam2 | |||||
| fx px | 775.21 ± 0.53 (10) | 775.21 ± 0.51 (10) | no run | 0.00 | |
| fy px | 775.31 ± 0.49 (10) | 775.33 ± 0.48 (10) | no run | +0.02 | |
| cx px | 960.13 ± 0.22 (10) | 960.12 ± 0.22 (10) | no run | −0.01 | |
| cy px | 535.71 ± 0.27 (10) | 535.69 ± 0.27 (10) | no run | −0.02 | |
| dist k1 | −0.03264 ± 0.00129 (10) | −0.03266 ± 0.00131 (10) | no run | −0.00002 | |
| dist k2 | 0.00067 ± 0.00441 (10) | 0.00066 ± 0.00441 (10) | no run | −0.00001 | |
| dist k3 | −0.00223 ± 0.00569 (10) | −0.00217 ± 0.00568 (10) | no run | +0.00006 | |
| dist k4 | 0.00072 ± 0.00238 (10) | 0.00069 ± 0.00237 (10) | no run | −0.00003 | |
| readout tr ms | 32.148 ± 0.231 (10) | 32.136 ± 0.224 (10) | no run | −0.012 | |
| baseline to Looper GS cam0 mm | 49.527 ± 0.116 (10) | 49.527 ± 0.117 (10) | no run | 0.000 | |
| time offset td to base IMU‡ ms | −5.673 ± 0.150 (10) | −5.687 ± 0.141 (10) | no run | −0.014 | |
| distance to base IMU ‖p‖ mm | 22.94 ± 0.43 (10) | 22.90 ± 0.38 (10) | no run | −0.04 | |
| reproj median px | 0.434 ± 0.016 (10) | 0.434 ± 0.016 (10) | no run | fit | |
Monado MGC
Section titled “Monado MGC”Reverb G2 headset calibration from the Monado SLAM Datasets. Example.
| Family | Focal + pp px | Distortion | Distance mm | Time offset ms | Cam–IMU distance mm | Gyro | Accel |
|---|---|---|---|---|---|---|---|
| T5 · camera n = 4 matched cam0 + cam1 stereo | n = 4 · too few | n = 4 · too few a | n = 4 · too few | — | — | — | — |
| T12 · cam+IMU n = 4 matched cam0 + cam1 + IMU | n = 4 · too few | n = 4 · too few a | n = 4 · too few | n = 4 · too few bc | n = 4 · too few b | n = 4 · too few bd | n = 4 · too few bd |
T5 · camera · cam0 + cam1 stereo Too few recordings (n = 4) n = 4 matched · MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4
T12 · cam+IMU · cam0 + cam1 + IMU Too few recordings (n = 4) n = 4 matched · MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4
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 = 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.
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
- b Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
- c MVIS also fits a gyro–accel delay (t_ga) that Kalibr and Basalt do not, so its td is not quite the same quantity.
- d 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
- T12 reprojection error (2 rows): fit quality, not repeatability and not accuracy
- T12 IMU g-sensitivity Tg (9 rows): Kalibr absorbs it in its IMU model
- T12 gyro–accel delay t_ga (1 row): MVIS only
Focal length + principal point · T5 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · cam0 + cam1 stereo, camera
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its camera-only run.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 8 param. | 0.69 | not bounded at n = 4 | 1 (raw 0.38) | too few recordings | |
| MVIS ÷ Basalt · 8 param. | 0.72 | not bounded at n = 4 | 1 (raw 0.38) | too few recordings | |
| Kalibr ÷ Basalt · 8 param. | 1.02 | not bounded at n = 4 | 1 | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Reverb G2 cam0 · fx px | 0.0452 | 0.803 | 0.175 |
| Reverb G2 cam0 · fy px | 0.0771 | 0.758 | 0.154 |
| Reverb G2 cam0 · cx px | 0.225 | 0.329 | 0.334 |
| Reverb G2 cam0 · cy px | 0.187 | 0.186 | 0.221 |
| Reverb G2 cam1 · fx px | 0.176 | 0.096 | 0.167 |
| Reverb G2 cam1 · fy px | 0.152 | 0.112 | 0.163 |
| Reverb G2 cam1 · cx px | 0.235 | 0.341 | 0.306 |
| Reverb G2 cam1 · cy px | 0.159 | 0.288 | 0.275 |
Repeatability only — a tool can repeat well and still be biased.
Distortion coefficients · T5 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · cam0 + cam1 stereo, camera
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its camera-only run.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 8 param. | 0.23 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| MVIS ÷ Basalt · 8 param. | 2.55 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| Kalibr ÷ Basalt · 8 param. | 8.92 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Reverb G2 cam0 · dist k1 | 0.00215 | 0.0313 | 0.00202 |
| Reverb G2 cam0 · dist k2 | 0.00772 | 0.111 | 0.00381 |
| Reverb G2 cam0 · dist k3 | 0.0113 | 0.15 | 0.00445 |
| Reverb G2 cam0 · dist k4 | 0.00538 | 0.0678 | 0.0021 |
| Reverb G2 cam1 · dist k1 | 0.0031 | 0.00473 | 0.00125 |
| Reverb G2 cam1 · dist k2 | 0.0136 | 0.0166 | 0.00323 |
| Reverb G2 cam1 · dist k3 | 0.0201 | 0.022 | 0.00457 |
| Reverb G2 cam1 · dist k4 | 0.00944 | 0.00978 | 0.00224 |
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
Repeatability only — a tool can repeat well and still be biased.
Camera–camera distance · T5 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · cam0 + cam1 stereo, camera
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its camera-only run.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 1 param. | 1.19 | not bounded at n = 4 | 1 (raw 0.62) | too few recordings | |
| MVIS ÷ Basalt · 1 param. | 1.28 | not bounded at n = 4 | 1 (raw 0.5) | too few recordings | |
| Kalibr ÷ Basalt · 1 param. | 1.07 | not bounded at n = 4 | 0.75 (raw 0.25) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Reverb G2 cam1 · baseline to Reverb G2 cam0 mm | 0.0513 | 0.0429 | 0.0402 |
Repeatability only — a tool can repeat well and still be biased.
Focal length + principal point · T12 · 4 matched recordings (MVIS 4 of 4 · Kalibr input · Basalt 4 of 4) · cam0 + cam1 + IMU, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 8 param. | 0.92 | not bounded at n = 4 | 0.62 | too few recordings |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| Reverb G2 cam0 · fx px | 0.144 | 0.143 | 1.01 |
| Reverb G2 cam0 · fy px | 0.145 | 0.147 | 0.99 |
| Reverb G2 cam0 · cx px | 0.0494 | 0.122 | 0.40 |
| Reverb G2 cam0 · cy px | 0.056 | 0.0653 | 0.86 |
| Reverb G2 cam1 · fx px | 0.161 | 0.138 | 1.17 |
| Reverb G2 cam1 · fy px | 0.136 | 0.132 | 1.03 |
| Reverb G2 cam1 · cx px | 0.0952 | 0.139 | 0.68 |
| Reverb G2 cam1 · cy px | 0.0899 | 0.107 | 0.84 |
- 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.
Repeatability only — a tool can repeat well and still be biased.
Distortion coefficients · T12 · 4 matched recordings (MVIS 4 of 4 · Kalibr input · Basalt 4 of 4) · cam0 + cam1 + IMU, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 8 param. | 1.05 | not bounded at n = 4 | 0.75 | too few recordings |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| Reverb G2 cam0 · dist k1 | 0.00149 | 0.00183 | 0.81 |
| Reverb G2 cam0 · dist k2 | 0.00279 | 0.00581 | 0.48 |
| Reverb G2 cam0 · dist k3 | 0.00294 | 0.00819 | 0.36 |
| Reverb G2 cam0 · dist k4 | 0.00125 | 0.00364 | 0.34 |
| Reverb G2 cam1 · dist k1 | 0.00203 | 0.0015 | 1.35 |
| Reverb G2 cam1 · dist k2 | 0.00744 | 0.00467 | 1.59 |
| Reverb G2 cam1 · dist k3 | 0.00992 | 0.00597 | 1.66 |
| Reverb G2 cam1 · dist k4 | 0.00441 | 0.00246 | 1.79 |
- 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.
- a Coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
Repeatability only — a tool can repeat well and still be biased.
Camera–camera distance · T12 · 4 matched recordings (MVIS 4 of 4 · Kalibr input · Basalt 4 of 4) · cam0 + cam1 + IMU, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Basalt · 1 param. | 3.11 | not bounded at n = 4 | 0.38 | too few recordings |
| Parameter | MVIS sd | Basalt sd | Ratio |
|---|---|---|---|
| Reverb G2 cam1 · baseline to Reverb G2 cam0 mm | 0.0382 | 0.0123 | 3.11 |
- 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.
Repeatability only — a tool can repeat well and still be biased.
Camera–IMU time offset · T12 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · cam0 + cam1 + IMU, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.49 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| MVIS ÷ Basalt · 2 param. | 1.61 | not bounded at n = 4 | 0.38 (raw 0.25) | too few recordings | |
| Kalibr ÷ Basalt · 2 param. | 3.27 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Reverb G2 cam0 · time offset td to base IMU ms | 0.118 | 0.246 | 0.0738 |
| Reverb G2 cam1 · time offset td to base IMU ms | 0.118 | 0.238 | 0.0738 |
- b Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
- c 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 · T12 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · cam0 + cam1 + IMU, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its default IMU model.
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 2 param. | 0.12 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| MVIS ÷ Basalt · 2 param. | 0.19 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| Kalibr ÷ Basalt · 2 param. | 1.56 | not bounded at n = 4 | 0.62 | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Reverb G2 cam0 · distance to base IMU ‖p‖ mm | 0.0358 | 0.11 | 0.173 |
| Reverb G2 cam1 · distance to base IMU ‖p‖ mm | 0.042 | 0.968 | 0.251 |
- b Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
Repeatability only — a tool can repeat well and still be biased.
Gyro scale + cross-axis · T12 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · cam0 + cam1 + IMU, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 6 param. | 0.01 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| MVIS ÷ Basalt · 6 param. | 1.07 | not bounded at n = 4 | 0.62 | too few recordings | |
| Kalibr ÷ Basalt · 6 param. | 93.45 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Reverb G2 IMU · gyro Dw[0,0] scale x | 0.000705 | 0.0585 | 0.0006 |
| Reverb G2 IMU · gyro Dw[1,1] scale y | 0.00103 | 0.0607 | 0.000503 |
| Reverb G2 IMU · gyro Dw[2,2] scale z | 0.000169 | 0.0162 | 0.00023 |
| Reverb G2 IMU · gyro Dw[1,0] cross | 0.000373 | 0.0345 | 0.000385 |
| Reverb G2 IMU · gyro Dw[2,0] cross | 0.000109 | 0.0264 | 0.000415 |
| Reverb G2 IMU · gyro Dw[2,1] cross | 0.000662 | 0.0489 | 0.00046 |
- b Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
- d 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 · T12 · 4 matched recordings (MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4) · cam0 + cam1 + IMU, cam+IMU
Only 4 recordings hold values from every compared tool. With 4 recordings the smallest possible p is 0.12, so no gap can be decided. Ratios are shown for reference only.
MVIS here: its run with Kalibr's IMU model (K-IMU).
| Pair | R | 95 % interval | p (Holm) | Decision | Leave one out |
|---|---|---|---|---|---|
| MVIS ÷ Kalibr · 3 param. | 0.02 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| MVIS ÷ Basalt · 3 param. | 0.13 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings | |
| Kalibr ÷ Basalt · 3 param. | 21.48 | not bounded at n = 4 | 0.38 (raw 0.12) | too few recordings |
| Parameter | MVIS sd | Kalibr sd | Basalt sd |
|---|---|---|---|
| Reverb G2 IMU · accel Da[0,0] scale x | 0.000102 | 0.0175 | 0.000814 |
| Reverb G2 IMU · accel Da[1,1] scale y | 0.000394 | 0.0126 | 0.00393 |
| Reverb G2 IMU · accel Da[2,2] scale z | 0.000882 | 0.0404 | 0.000197 |
- b Kalibr starts from MVIS camera values for each recording; its spread here includes the spread of that input.
- d 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.
Parameter tables, tool differences and run configs (Monado MGC)
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.
T5 · cam0 + cam1 stereo
MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4
Camera · stereo01 rounds 1–4 · Kalibr pinhole-equi, cam0 + cam1 jointly
cam0 – Reverb G2 cam0 · 8 rows · ◆ 1
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 270.01 ± 0.05 (4) | 269.92 ± 0.80 (4) | 269.87 ± 0.17 (4) | +0.09 | −0.05 | −0.15 |
| fy px | 270.15 ± 0.08 (4) | 270.02 ± 0.76 (4) | 269.92 ± 0.15 (4) | +0.13 | −0.10 | ◆ −0.23 |
| cx px | 322.44 ± 0.22 (4) | 322.46 ± 0.33 (4) | 322.41 ± 0.33 (4) | −0.03 | −0.05 | −0.02 |
| cy px | 229.09 ± 0.19 (4) | 229.12 ± 0.19 (4) | 229.10 ± 0.22 (4) | −0.03 | −0.02 | +0.01 |
| dist k1 | 0.08259 ± 0.00215 (4) | 0.07701 ± 0.03126 (4) | 0.08125 ± 0.00202 (4) | +0.00558 | +0.00424 | −0.00133 |
| dist k2 | −0.04528 ± 0.00772 (4) | −0.02100 ± 0.11101 (4) | −0.03825 ± 0.00381 (4) | −0.02428 | −0.01726 | +0.00702 |
| dist k3 | 0.23454 ± 0.01129 (4) | 0.20501 ± 0.14995 (4) | 0.22596 ± 0.00445 (4) | +0.02952 | +0.02095 | −0.00857 |
| dist k4 | −0.13254 ± 0.00538 (4) | −0.12148 ± 0.06777 (4) | −0.12902 ± 0.00210 (4) | −0.01106 | −0.00753 | +0.00353 |
cam1 – Reverb G2 cam1 · 9 rows · ◆ 4
| Parameter | MVIS | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 268.76 ± 0.18 (4) | 268.72 ± 0.10 (4) | 268.65 ± 0.17 (4) | +0.04 | −0.07 | −0.11 |
| fy px | 268.79 ± 0.15 (4) | 268.74 ± 0.11 (4) | 268.66 ± 0.16 (4) | +0.05 | −0.08 | −0.13 |
| cx px | 323.71 ± 0.23 (4) | 323.55 ± 0.34 (4) | 323.50 ± 0.31 (4) | +0.16 | −0.05 | −0.21 |
| cy px | 236.66 ± 0.16 (4) | 237.05 ± 0.29 (4) | 237.04 ± 0.27 (4) | ◆ −0.39 | −0.01 | ◆ +0.38 |
| dist k1 | 0.08219 ± 0.00310 (4) | 0.07818 ± 0.00473 (4) | 0.07953 ± 0.00125 (4) | +0.00401 | +0.00135 | −0.00266 |
| dist k2 | −0.05120 ± 0.01356 (4) | −0.03220 ± 0.01665 (4) | −0.04379 ± 0.00323 (4) | ◆ −0.01900 | −0.01159 | +0.00741 |
| dist k3 | 0.24337 ± 0.02005 (4) | 0.21896 ± 0.02197 (4) | 0.23718 ± 0.00457 (4) | ◆ +0.02441 | +0.01822 | −0.00619 |
| dist k4 | −0.13566 ± 0.00944 (4) | −0.12585 ± 0.00978 (4) | −0.13368 ± 0.00224 (4) | ◆ −0.00982 | −0.00783 | +0.00198 |
| baseline to Reverb G2 cam0 mm | 108.434 ± 0.051 (4) | 108.424 ± 0.043 (4) | 108.416 ± 0.040 (4) | +0.010 | −0.008 | −0.018 |
T12 · cam0 + cam1 + IMU
MVIS 4 of 4 · Kalibr 4 of 4 · Basalt 4 of 4
Camera + IMU · imucalib01 rounds 1–4 · Kalibr scale-misalignment vs MVIS (kalibr model)
Read first: Kalibr's intrinsics and baselines are inputs from an MVIS export; its td and lever are solved given them.
Notes
Note: the camera + IMU twin of T5 (same pair, same 4 sessions). Both tools start from the camera calibration of the same round: MVIS from T5 camera-only (refined in cam-IMU), Kalibr from the MVIS T12 export (fixed).
Basalt: the kb4 rows, seeded from Basalt's T5 round.
cam0 – Reverb G2 cam0 · 11 rows · ◆ 8
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 269.83 ± 0.14 (4) | fixed 269.88 ± 0.12 (4) | 269.71 ± 0.14 (4) | −0.13 | ||
| fy px | 270.09 ± 0.14 (4) | fixed 270.08 ± 0.15 (4) | 269.89 ± 0.15 (4) | ◆ −0.20 | ||
| cx px | 322.55 ± 0.05 (4) | fixed 322.62 ± 0.06 (4) | 322.44 ± 0.12 (4) | −0.11 | ||
| cy px | 229.25 ± 0.06 (4) | fixed 229.22 ± 0.06 (4) | 229.16 ± 0.07 (4) | ◆ −0.09 | ||
| dist k1 | 0.08374 ± 0.00149 (4) | fixed 0.08285 ± 0.00123 (4) | 0.08021 ± 0.00183 (4) | ◆ −0.00354 | ||
| dist k2 | −0.04770 ± 0.00279 (4) | fixed −0.04607 ± 0.00447 (4) | −0.03643 ± 0.00581 (4) | ◆ +0.01128 | ||
| dist k3 | 0.23499 ± 0.00294 (4) | fixed 0.23258 ± 0.00600 (4) | 0.22293 ± 0.00819 (4) | ◆ −0.01206 | ||
| dist k4 | −0.13155 ± 0.00124 (4) | fixed −0.13055 ± 0.00271 (4) | −0.12743 ± 0.00364 (4) | ◆ +0.00412 | ||
| time offset td to base IMU‡ ms | −1.261 ± 0.115 (4) | −0.203 ± 0.246 (4) | −0.436 ± 0.074 (4) | ◆ −1.058 | −0.232 | ◆ +0.825 |
| distance to base IMU ‖p‖ mm | 53.89 ± 0.04 (4) | 53.73 ± 0.11 (4) | 53.67 ± 0.17 (4) | ◆ +0.16 | −0.06 | ◆ −0.22 |
| reproj median px | 0.117 ± 0.005 (4) | 0.142 ± 0.064 (4) | not reported | fit |
cam1 – Reverb G2 cam1 · 12 rows · ◆ 3
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| fx px | 268.63 ± 0.16 (4) | fixed 268.71 ± 0.21 (4) | 268.50 ± 0.14 (4) | −0.13 | ||
| fy px | 268.62 ± 0.14 (4) | fixed 268.71 ± 0.18 (4) | 268.49 ± 0.13 (4) | −0.13 | ||
| cx px | 323.62 ± 0.10 (4) | fixed 323.67 ± 0.12 (4) | 323.55 ± 0.14 (4) | −0.07 | ||
| cy px | 236.95 ± 0.09 (4) | fixed 236.98 ± 0.10 (4) | 237.10 ± 0.11 (4) | ◆ +0.16 | ||
| dist k1 | 0.07967 ± 0.00203 (4) | fixed 0.07948 ± 0.00166 (4) | 0.07921 ± 0.00150 (4) | −0.00046 | ||
| dist k2 | −0.04150 ± 0.00744 (4) | fixed −0.04137 ± 0.00538 (4) | −0.03966 ± 0.00467 (4) | +0.00183 | ||
| dist k3 | 0.22776 ± 0.00992 (4) | fixed 0.22814 ± 0.00677 (4) | 0.22831 ± 0.00597 (4) | +0.00055 | ||
| dist k4 | −0.12830 ± 0.00441 (4) | fixed −0.12854 ± 0.00305 (4) | −0.12953 ± 0.00246 (4) | −0.00123 | ||
| baseline to Reverb G2 cam0 mm | 108.500 ± 0.038 (4) | fixed 108.507 ± 0.054 (4) | 108.408 ± 0.012 (4) | ◆ −0.092 | ||
| time offset td to base IMU‡ ms | −1.265 ± 0.115 (4) | −0.213 ± 0.238 (4) | −0.436 ± 0.074 (4) | ◆ −1.052 | −0.223 | ◆ +0.829 |
| distance to base IMU ‖p‖ mm | 58.46 ± 0.04 (4) | 58.31 ± 0.97 (4) | 58.31 ± 0.25 (4) | +0.15 | −0.01 | −0.16 |
| reproj median px | 0.121 ± 0.009 (4) | 0.140 ± 0.066 (4) | not reported | fit |
base IMU – Reverb G2 IMU · 19 rows · ◆ 5
| Parameter | MVISKalibr IMU model | Kalibr | Basalt | MVIS− Kalibr | Basalt− Kalibr | Basalt− MVIS |
|---|---|---|---|---|---|---|
| gyro Dw[0,0] scale x | 1.00125 ± 0.00070 (4) | 1.00286 ± 0.05848 (4) | 1.00135 ± 0.00060 (4) | −0.00161 | −0.00151 | +0.00010 |
| gyro Dw[1,1] scale y | 1.00004 ± 0.00103 (4) | 1.00248 ± 0.06067 (4) | 1.00129 ± 0.00050 (4) | −0.00244 | −0.00119 | ◆ +0.00125 |
| gyro Dw[2,2] scale z | 1.00030 ± 0.00017 (4) | 1.00037 ± 0.01617 (4) | 0.99974 ± 0.00023 (4) | −0.00007 | −0.00063 | ◆ −0.00056 |
| gyro Dw[1,0] cross | −0.00007 ± 0.00037 (4) | 0.00012 ± 0.03447 (4) | 0.00005 ± 0.00038 (4) | −0.00019 | −0.00007 | +0.00012 |
| gyro Dw[2,0] cross | 0.00004 ± 0.00011 (4) | 0.00046 ± 0.02642 (4) | 0.00025 ± 0.00042 (4) | −0.00042 | −0.00021 | +0.00021 |
| gyro Dw[2,1] cross | −0.00039 ± 0.00066 (4) | −0.00066 ± 0.04892 (4) | 0.00080 ± 0.00046 (4) | +0.00027 | +0.00146 | ◆ +0.00119 |
| accel Da[0,0] scale x | 1.00779 ± 0.00010 (4) | 1.00721 ± 0.01747 (4) | 1.00679 ± 0.00081 (4) | +0.00058 | −0.00042 | ◆ −0.00100 |
| accel Da[1,1] scale y | 1.01189 ± 0.00039 (4) | 1.01291 ± 0.01257 (4) | 1.01173 ± 0.00393 (4) | −0.00102 | −0.00118 | −0.00016 |
| accel Da[2,2] scale z | 1.00897 ± 0.00088 (4) | 1.00999 ± 0.04037 (4) | 1.00655 ± 0.00020 (4) | −0.00102 | −0.00344 | ◆ −0.00242 |
| Tg[0,0] g-sensitivity mrad·s/m | −0.039 ± 0.080 (4) | −0.020 ± 5.076 (4) | not in model | ≠ model | ||
| Tg[0,1] g-sensitivity mrad·s/m | 0.063 ± 0.072 (4) | 0.510 ± 1.130 (4) | not in model | ≠ model | ||
| Tg[0,2] g-sensitivity mrad·s/m | −0.049 ± 0.059 (4) | −2.304 ± 11.510 (4) | not in model | ≠ model | ||
| Tg[1,0] g-sensitivity mrad·s/m | −0.007 ± 0.066 (4) | −0.576 ± 0.875 (4) | not in model | ≠ model | ||
| Tg[1,1] g-sensitivity mrad·s/m | −0.004 ± 0.077 (4) | −0.284 ± 4.087 (4) | not in model | ≠ model | ||
| Tg[1,2] g-sensitivity mrad·s/m | −0.007 ± 0.114 (4) | −0.452 ± 17.028 (4) | not in model | ≠ model | ||
| Tg[2,0] g-sensitivity mrad·s/m | −0.030 ± 0.045 (4) | 1.674 ± 3.397 (4) | not in model | ≠ model | ||
| Tg[2,1] g-sensitivity mrad·s/m | −0.048 ± 0.066 (4) | −0.415 ± 0.838 (4) | not in model | ≠ model | ||
| Tg[2,2] g-sensitivity mrad·s/m | 0.005 ± 0.080 (4) | 0.074 ± 4.868 (4) | not in model | ≠ model | ||
| t_ga gyro−accel ms | 2.517 ± 0.017 (4) | not in model | not in model |
MVIS default IMU model (calyx) · 23 of 42 rows, model-independent only · ◆ 3
| Parameter | MVISKalibr IMU model | MVIS default | Kalibr | default− Kalibr | default− Kalibr IMU model |
|---|---|---|---|---|---|
| cam0 – Reverb G2 cam0 | |||||
| fx px | 269.83 ± 0.14 (4) | 269.83 ± 0.14 (4) | fixed 269.88 ± 0.12 (4) | 0.00 | |
| fy px | 270.09 ± 0.14 (4) | 270.09 ± 0.14 (4) | fixed 270.08 ± 0.15 (4) | 0.00 | |
| cx px | 322.55 ± 0.05 (4) | 322.55 ± 0.05 (4) | fixed 322.62 ± 0.06 (4) | 0.00 | |
| cy px | 229.25 ± 0.06 (4) | 229.25 ± 0.06 (4) | fixed 229.22 ± 0.06 (4) | 0.00 | |
| dist k1 | 0.08374 ± 0.00149 (4) | 0.08374 ± 0.00149 (4) | fixed 0.08285 ± 0.00123 (4) | 0.00000 | |
| dist k2 | −0.04770 ± 0.00279 (4) | −0.04770 ± 0.00279 (4) | fixed −0.04607 ± 0.00447 (4) | 0.00000 | |
| dist k3 | 0.23499 ± 0.00294 (4) | 0.23499 ± 0.00294 (4) | fixed 0.23258 ± 0.00600 (4) | 0.00000 | |
| dist k4 | −0.13155 ± 0.00124 (4) | −0.13155 ± 0.00125 (4) | fixed −0.13055 ± 0.00271 (4) | 0.00000 | |
| time offset td to base IMU‡ ms | −1.261 ± 0.115 (4) | −1.261 ± 0.118 (4) | −0.203 ± 0.246 (4) | ◆ −1.058 | 0.000 |
| distance to base IMU ‖p‖ mm | 53.89 ± 0.04 (4) | 53.89 ± 0.04 (4) | 53.73 ± 0.11 (4) | ◆ +0.16 | 0.00 |
| reproj median px | 0.117 ± 0.005 (4) | 0.117 ± 0.004 (4) | 0.142 ± 0.064 (4) | fit | fit |
| cam1 – Reverb G2 cam1 | |||||
| fx px | 268.63 ± 0.16 (4) | 268.63 ± 0.16 (4) | fixed 268.71 ± 0.21 (4) | 0.00 | |
| fy px | 268.62 ± 0.14 (4) | 268.62 ± 0.14 (4) | fixed 268.71 ± 0.18 (4) | 0.00 | |
| cx px | 323.62 ± 0.10 (4) | 323.62 ± 0.10 (4) | fixed 323.67 ± 0.12 (4) | 0.00 | |
| cy px | 236.95 ± 0.09 (4) | 236.95 ± 0.09 (4) | fixed 236.98 ± 0.10 (4) | 0.00 | |
| dist k1 | 0.07967 ± 0.00203 (4) | 0.07967 ± 0.00203 (4) | fixed 0.07948 ± 0.00166 (4) | 0.00000 | |
| dist k2 | −0.04150 ± 0.00744 (4) | −0.04150 ± 0.00744 (4) | fixed −0.04137 ± 0.00538 (4) | 0.00000 | |
| dist k3 | 0.22776 ± 0.00992 (4) | 0.22776 ± 0.00992 (4) | fixed 0.22814 ± 0.00677 (4) | 0.00000 | |
| dist k4 | −0.12830 ± 0.00441 (4) | −0.12830 ± 0.00441 (4) | fixed −0.12854 ± 0.00305 (4) | 0.00000 | |
| baseline to Reverb G2 cam0 mm | 108.500 ± 0.038 (4) | 108.500 ± 0.038 (4) | fixed 108.507 ± 0.054 (4) | 0.000 | |
| time offset td to base IMU‡ ms | −1.265 ± 0.115 (4) | −1.265 ± 0.118 (4) | −0.213 ± 0.238 (4) | ◆ −1.053 | 0.000 |
| distance to base IMU ‖p‖ mm | 58.46 ± 0.04 (4) | 58.46 ± 0.04 (4) | 58.31 ± 0.97 (4) | +0.15 | 0.00 |
| reproj median px | 0.121 ± 0.009 (4) | 0.121 ± 0.009 (4) | 0.140 ± 0.066 (4) | fit | fit |
About these results
Section titled “About these results”How the verdicts are made
For each family and group of parameters, we decide a verdict in five steps:
- We take only the recordings every compared tool ran.
- For each tool, we measure the scatter (standard deviation) of each parameter across those recordings.
- We compare two tools by the median ratio of their scatters.
- A tool is marked more repeatable only if both of these hold:
- its scatter is at least 20 % smaller, and
- a gap that large would rarely appear (under 5 %, Holm-adjusted within the cell) if we swapped the two tools’ results recording by recording.
- Otherwise it is a tie: either the gap is within chance, or it is under 20 %.
Notes on the test:
- Too few recordings: with fewer than 6 shared recordings, no gap can pass this test (the smallest possible p is 2/2ⁿ). Those cells say “too few recordings”.
- Not compared: values a tool received as input, and rows where the tools’ models differ.
- Distortion coefficients trade off against each other, so their scatter can overstate differences in the lens mapping.
- Many tests: each cell is a separate 5 % test. Across the 27 tested cells on this page, of which 14 name a tool, one or two calls may be chance. The intervals are not adjusted for multiple tests.
Agreement between tools
The parameter tables also show the differences between the tools’ medians. No tool is the reference.
- Disagreement: two tools disagree where their medians differ by more than either tool’s scatter.
- ◆ marks disagreement, not an error in either tool.
- ‡ on a time offset: MVIS splits the gyro (td) and accel (td + t_ga) timelines, so Basalt − Kalibr is the like-for-like check there. Here td is the camera–IMU time offset, and t_ga is the time offset between the gyroscope and accelerometer channels.
How to read the parameter tables
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 runmeans the tool never ran with this sensor;not in one runmeans 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.
Family numbers
Each family is one test in the MVIS regression suite. On 2026-11-02 the numbers changed so the VI-Rig datasets come first. Older material uses the old numbers.
| New | Old |
|---|---|
| T1 | T3 |
| T2 | T4 |
| T3 | T1 |
| T4 | T2 |
| T5 | T5 |
| T6 | T11 |
| T7 | T8 |
| T8 | T12 |
| T9 | T6 |
| T10 | T7 |
| T11 | T10 |
| T12 | T9 |