5th Workshop on Maritime Computer Vision (MaCVi)

MaCVi @ WACV 2027

Challenges / LOOKOUT visual odometry

LOOKOUT: Maritime Monocular Visual Odometry

Recover a camera trajectory from video recorded aboard a moving boat.

Water reflections, waves, changing visibility and distant shorelines make visual odometry challenging at sea. This challenge explores how well monocular methods can track motion using the visual structure available in real maritime scenes, including RGB and thermal imagery.

v0.1 development release is available. The full development dataset contains 92 RGB and thermal clips (68 training, 24 validation). Start developing and evaluating locally today. Competition dates, online submissions and the leaderboard will be announced separately.

Download development dataset (6.8 GB) SHA-256 checksum

Get the starter and setup guide Follow release updates

Task and inputs

Estimate a timestamped camera-position trajectory for each monocular video clip. Allowed inference inputs are the video, camera calibration and decoded frame timestamps. GPS, IMU, AIS, speed, heading and other clip-specific navigation signals are excluded. Reference trajectories are separate evaluation labels.

Development dataset

The development selection contains 68 training and 24 validation clips, split by recording boat. It includes RGB and thermal recordings. The package manifest lists every sequence and its camera mode. Test data remains withheld.

Each anonymous sequence includes video, frame timestamps, camera calibration and a local reference-position trajectory. Calibration is nominal and derived from the camera field of view. Reference positions are in metres with a local origin; the vertical coordinate is zero.

Getting started

You can start today: clone the public starter and follow its README to run a synthetic trajectory through the evaluator using only Python and NumPy. This exercises the prediction format and scoring workflow without a GPU or dataset download. It is an artificial example, not a real-data baseline.

The starter provides a DPVO baseline, independent inference and local evaluation commands, and a pinned setup guide. DPVO inference requires the documented CUDA environment; local evaluation needs Python and NumPy. To work with the real videos:

  1. Download the archive and its checksum, verify and extract it using the commands below, then read LICENSE.txt and RULES.md.
  2. Follow the public starter’s QUICKSTART.md to install the inference environment and obtain the upstream checkpoint.
  3. Run a sample clip, then score it locally against its separate reference.
  4. Develop on the training split and report results and coverage on the validation split.
curl -fLO https://macvi.org/downloads/lookout/v0.1/lookout-vo-dev-v0.1.tar
curl -fLO https://macvi.org/downloads/lookout/v0.1/lookout-vo-dev-v0.1.tar.sha256
sha256sum --check lookout-vo-dev-v0.1.tar.sha256
tar -xf lookout-vo-dev-v0.1.tar
(cd release && sha256sum --check CHECKSUMS.sha256)
git clone https://github.com/LOOKOUT-AI/lookout-vo-challenge.git
# After following the starter's QUICKSTART.md:
python lookout-vo-challenge/starter/infer.py --dataset release/release_manifest.json --clips clip_000 --output runs/demo
python lookout-vo-challenge/starter/evaluate.py --dataset release/release_manifest.json --clips clip_000 --predictions runs/demo

Use the current public starter with the downloaded manifest. See its release notes and known limitations for baseline validation updates. A fresh GPU reproduction is still pending; no official baseline score or competition ranking is claimed here.

Prediction format

Provide one JSON prediction per sequence with key, frame_indices, times and positions. Positions are finite three-dimensional points in one consistent coordinate system. Frame indices identify decoded source-video frames, and times must match their released timestamps. The package quick start specifies the full format.

Local evaluation

The evaluator aligns each predicted trajectory to the reference using one global similarity transform, including scale. It measures the difference in relative position displacement over eligible 100–800 metre reference-path segments and reports mean drift as a percentage of segment length. This is a position-only metric inspired by KITTI; orientation and absolute recovered scale are not scored. Absolute trajectory error is also reported.

Report the expected, scored and unscored clip counts together with drift. Missing predictions and failed clips are recorded explicitly; summary drift statistics cover scored clips only. Temporal coverage must accompany results. The development release does not define an official ranking, failure penalty or minimum-coverage threshold.

Training and release terms

Train on the supplied training split. External pretraining is allowed and must be disclosed. Validation references may be used for development and evaluation, but do not train on validation or test videos, including through self-supervised training. The dataset is released under CC BY-NC 4.0; the public starter code uses the MIT License. Upstream DPVO and checkpoint terms apply separately. Read RULES.md and the supplied LICENSE.txt before using the release.

Updates and support

Follow the MaCVi Discord community for release updates or ask questions in the MaCVi support forum. The first release supports local development. Online submission and leaderboard support will follow.