Table of Contents
Fetching ...

CMax-SLAM: Event-based Rotational-Motion Bundle Adjustment and SLAM System using Contrast Maximization

Shuang Guo, Guillermo Gallego

TL;DR

This paper tackles rotational ego-motion estimation with event cameras by introducing the first event-based rotation-only BA, embedded in a full SLAM system (CMax-SLAM) that jointly uses a front-end angular-velocity estimator and a back-end continuous-time trajectory refinement. The core idea leverages Contrast Maximization to align asynchronously captured events into a sharp panoramic IWE, with a trajectory-driven warping that naturally yields a by-product map without frame conversion. It provides a comprehensive benchmark against prior methods, demonstrates significant accuracy gains on synthetic and real data, and shows the method’s versatility across indoor, outdoor, and space scenarios, including a star-tracking application. The work also discusses evaluation pitfalls for rotation-only methods, proposes proxy metrics (Event Area and GM) for real-world data, and releases code and novel data, highlighting the approach’s potential for real-time, high-dynamic-range ego-motion estimation in challenging environments.

Abstract

Event cameras are bio-inspired visual sensors that capture pixel-wise intensity changes and output asynchronous event streams. They show great potential over conventional cameras to handle challenging scenarios in robotics and computer vision, such as high-speed and high dynamic range. This paper considers the problem of rotational motion estimation using event cameras. Several event-based rotation estimation methods have been developed in the past decade, but their performance has not been evaluated and compared under unified criteria yet. In addition, these prior works do not consider a global refinement step. To this end, we conduct a systematic study of this problem with two objectives in mind: summarizing previous works and presenting our own solution. First, we compare prior works both theoretically and experimentally. Second, we propose the first event-based rotation-only bundle adjustment (BA) approach. We formulate it leveraging the state-of-the-art Contrast Maximization (CMax) framework, which is principled and avoids the need to convert events into frames. Third, we use the proposed BA to build CMax-SLAM, the first event-based rotation-only SLAM system comprising a front-end and a back-end. Our BA is able to run both offline (trajectory smoothing) and online (CMax-SLAM back-end). To demonstrate the performance and versatility of our method, we present comprehensive experiments on synthetic and real-world datasets, including indoor, outdoor and space scenarios. We discuss the pitfalls of real-world evaluation and propose a proxy for the reprojection error as the figure of merit to evaluate event-based rotation BA methods. We release the source code and novel data sequences to benefit the community. We hope this work leads to a better understanding and fosters further research on event-based ego-motion estimation. Project page: https://github.com/tub-rip/cmax_slam

CMax-SLAM: Event-based Rotational-Motion Bundle Adjustment and SLAM System using Contrast Maximization

TL;DR

This paper tackles rotational ego-motion estimation with event cameras by introducing the first event-based rotation-only BA, embedded in a full SLAM system (CMax-SLAM) that jointly uses a front-end angular-velocity estimator and a back-end continuous-time trajectory refinement. The core idea leverages Contrast Maximization to align asynchronously captured events into a sharp panoramic IWE, with a trajectory-driven warping that naturally yields a by-product map without frame conversion. It provides a comprehensive benchmark against prior methods, demonstrates significant accuracy gains on synthetic and real data, and shows the method’s versatility across indoor, outdoor, and space scenarios, including a star-tracking application. The work also discusses evaluation pitfalls for rotation-only methods, proposes proxy metrics (Event Area and GM) for real-world data, and releases code and novel data, highlighting the approach’s potential for real-time, high-dynamic-range ego-motion estimation in challenging environments.

Abstract

Event cameras are bio-inspired visual sensors that capture pixel-wise intensity changes and output asynchronous event streams. They show great potential over conventional cameras to handle challenging scenarios in robotics and computer vision, such as high-speed and high dynamic range. This paper considers the problem of rotational motion estimation using event cameras. Several event-based rotation estimation methods have been developed in the past decade, but their performance has not been evaluated and compared under unified criteria yet. In addition, these prior works do not consider a global refinement step. To this end, we conduct a systematic study of this problem with two objectives in mind: summarizing previous works and presenting our own solution. First, we compare prior works both theoretically and experimentally. Second, we propose the first event-based rotation-only bundle adjustment (BA) approach. We formulate it leveraging the state-of-the-art Contrast Maximization (CMax) framework, which is principled and avoids the need to convert events into frames. Third, we use the proposed BA to build CMax-SLAM, the first event-based rotation-only SLAM system comprising a front-end and a back-end. Our BA is able to run both offline (trajectory smoothing) and online (CMax-SLAM back-end). To demonstrate the performance and versatility of our method, we present comprehensive experiments on synthetic and real-world datasets, including indoor, outdoor and space scenarios. We discuss the pitfalls of real-world evaluation and propose a proxy for the reprojection error as the figure of merit to evaluate event-based rotation BA methods. We release the source code and novel data sequences to benefit the community. We hope this work leads to a better understanding and fosters further research on event-based ego-motion estimation. Project page: https://github.com/tub-rip/cmax_slam
Paper Structure (58 sections, 33 equations, 17 figures, 8 tables)

This paper contains 58 sections, 33 equations, 17 figures, 8 tables.

Figures (17)

  • Figure 1: The proposed CMax-SLAM system takes as input the asynchronous event stream to estimate the rotational ego-motion of the camera while producing a sharp panoramic map (IWE) as by-product. We can further reconstruct a grayscale map by feeding the events and the estimated trajectory to the mapping module of SMT Kim14bmvc.
  • Figure 2: Maps produced by the rotation estimators involved in the benchmark. (a) Grayscale panoramic map by Kim14bmvc (red and blue dots indicate positive and negative inlier events while yellow and green dots represent positive and negative outlier events in the current FOV respectively). (b) Local IWE after CMax by Gallego17ral, where the darkness represents the amount of accumulated events. (c) Probabilistic map by Reinbacher17iccp, where dark means $\approx 1$ (edge), and white means $\approx 0$ (no edge). The green dots indicate the events in the current FOV. (d) Global map containing projected visible events by Kim21ral (blue and red dots have the same meaning as in \ref{['fig:map_compare:SMT']}, and pink dots indicate pixels with both positive and negative events).
  • Figure 3: Overview of the proposed rotational event-based SLAM system.
  • Figure 4: Three event slicing strategies: (a) constant event count, (b) constant duration, and (c) proposed strategy that selects a fixed number of events around equispaced timestamps (with output frequency $f$). Green and yellow dots represent processed and skipped events, respectively. Blue arrows are the boundaries of the event slices. Red dashed lines indicate the selected timestamps for angular velocity estimation.
  • Figure 5: Effect of Bundle Adjustment (Offline smoothing). Parts of the panoramic IWEs obtained with the estimated trajectories (before / after BA refinement) and GT. Synthetic data, as in \ref{['tab:synth_data']}. Gamma correction $\gamma = 0.75$ applied for better visualization.
  • ...and 12 more figures