Looper Insight 9
2 mono + 1 rolling-shutter colour camera + IMU @ 400 Hz

- Cameras
- 2 × 544×640 mono global shutter + 1920×1088 colour rolling shutter
- IMU
- 400 Hz
- Board
- AprilGrid 6×6, tag 55 mm
- Format
- EuRoC mav0
- Licence
- CC BY-NC 4.0
Demo and values
Section titled “Demo and values”One MVIS camera + IMU run on hand-held recording 1: the two mono cameras, the rolling-shutter colour camera and its readout time, solved together.
Reprojection is how far, in pixels, the detected corners lie from where the solve puts them. td is the camera–IMU time offset, and the lever arm is the camera–IMU position offset.
Calibration process
Section titled “Calibration process”MVIS's own player, from this run: the detected board corners, then the rig's path as the solve refines it. Press Play or drag the bar; pick a camera card to look through that camera. We publish no camera images.
Solved rig
Section titled “Solved rig”The solved positions and orientations, to scale in the IMU frame. Drag sideways to orbit. Tap a sensor to see its values.
| Sensor | fx, fy, cx, cy px | Lever mm | log(R) rad | td ms | Readout ms | t_ga ms | Reprojection px |
|---|---|---|---|---|---|---|---|
| cam0 | 334.1, 334.1, 272.0, 318.5 | [−12.5, +38.4, +17.3] | [+0.0109, +0.0025, −1.5656] | +1.24 | global | 0.161 | |
| cam1 | 334.0, 333.9, 269.6, 318.4 | [−12.2, −60.8, +16.7] | [+0.0080, +0.0023, −1.5642] | +1.25 | global | 0.167 | |
| cam2 | 775.1, 775.2, 960.1, 535.7 | [−12.5, −11.2, +16.1] | [+0.0066, +0.0108, −3.1361] | −5.84 | 32.36 | 0.449 | |
| IMU (base) | 0 | 0 | 0 | −5.08 ± 0.04 |
Lever arms and rotations are each sensor in the base IMU frame; rotation is log(R) in rad. td is the time offset to the base IMU, t_imu = t_sensor + td. Reprojection is the median per camera (all cameras: median 0.175 px): how well the model fits the corners, not how accurate it is.
Check against a reference
Section titled “Check against a reference”No published reference. No published calibration exists for this device, so this page has nothing to compare against. What we can show is how much each value moves over the 10 hand-held recordings. All 10 recordings and tools: Dataset eval →
Config and run
Section titled “Config and run”input: format: euroc path: 1/mav0 cam_topics: - /cam0 - /cam1 - /cam2 imu_topics: - /imu0 window_mode: manual t0: 0.0 window: 0.0board: board_type: apriltag rows: 6 cols: 6 tag_size: 0.055 tag_spacing: 0.3 tag_family: t36h11camera_input: path: insight9_seed_calib.yaml free_intrinsics: true estimate_readout: false cameras: - {} - {} - estimate_readout: true rolling_mode: 0solve: state_hz: 30.0 max_iterations: 40 imu_intrinsics: dw_da imu_intrinsics_model: calyx corner_subsample: top_left estimate_t_ga: true sigma_t_ga: 0.01 init_kwargs: keyframe_hz: 2.0 scale_rel_tol: 0.3 sigma_g: 0.00021 sigma_a: 0.0032 sigma_bg: 0.001 sigma_ba: 0.002output: path: cam_imu.jsonmvis cam-imu -c looper_insight9_bag1_cam_imu.yamlThe marked lines are the choices that matter for this rig:
camera_input.free_intrinsics: Camera intrinsics stay free in the camera + IMU solve.camera_input.cameras: The colour camera (cam2) has a rolling shutter, so its readout time is estimated.solve.estimate_t_ga: Estimates t_ga, the time offset between the gyroscope and the accelerometer.solve.sigma_g: IMU noise from a still recording of this unit, measured density × 2.5. The other three sigmas are set the same way.
This is the config of the run on this page, with every path cut to its file name. Point the paths at your copy.
The solve took about 6 min on one desktop. It writes cam_imu.json, a calibration YAML and a report beside the config.
- MVIS
- MVIS main, measured-noise batch of 2026-11-08
- Run date
- 2026-11-08
- Data
- Calibench, looper-insight9/ →
- Config
looper_insight9_bag1_cam_imu.yaml, above- Command
mvis cam-imu -c looper_insight9_bag1_cam_imu.yaml
Dataset
Section titled “Dataset”- Hand-held recording 1 of 10, about 66 s. The run uses the whole recording.
- Cameras: two 544 × 640 global-shutter mono cameras at 20 Hz and a 1920 × 1088 rolling-shutter colour camera at about 4.3 Hz, all fitted with the equidistant lens model. IMU at 400 Hz.
- Board: AprilGrid 6×6, tag 55 mm, spacing 0.3, t36h11.
- Access is by automatic approval on the Hub; the data is CC BY-NC 4.0, commercial use by request.
- Solve window: 66.4 s.
Download: Calibench, looper-insight9/ → The recordings are listed there, not copied here.
Chessboard and robot-arm recordings Device wiki
The sensor page also shows our own unit on a chessboard and two robot-arm recordings, each solved on its own. Looper Insight 9 →