Table of Contents
Fetching ...

DUFOMap: Efficient Dynamic Awareness Mapping

Daniel Duberg, Qingwen Zhang, MingKai Jia, Patric Jensfelt

TL;DR

DUFOMap addresses the challenge of dynamic objects in robotic mapping by introducing online dynamic-awareness through void-region classification in a voxelized UFOMap. It identifies regions that have been observed as free (void) and labels points as dynamic if they fall into these regions, incorporating locality-aware robustness to pose and sensor noise via parameters $d_p$ and $d_s$. The method delivers strong accuracy (high $SA$, $DA$, and $AA$) across multiple sensors and datasets, while maintaining competitive online performance and practicality on modest hardware. Its contributions include a parameter-stable online framework, a robust treatment of real-world errors, and extensive validation across diverse setups, making it suitable for real-time planning and localization with dynamic environments.

Abstract

The dynamic nature of the real world is one of the main challenges in robotics. The first step in dealing with it is to detect which parts of the world are dynamic. A typical benchmark task is to create a map that contains only the static part of the world to support, for example, localization and planning. Current solutions are often applied in post-processing, where parameter tuning allows the user to adjust the setting for a specific dataset. In this paper, we propose DUFOMap, a novel dynamic awareness mapping framework designed for efficient online processing. Despite having the same parameter settings for all scenarios, it performs better or is on par with state-of-the-art methods. Ray casting is utilized to identify and classify fully observed empty regions. Since these regions have been observed empty, it follows that anything inside them at another time must be dynamic. Evaluation is carried out in various scenarios, including outdoor environments in KITTI and Argoverse 2, open areas on the KTH campus, and with different sensor types. DUFOMap outperforms the state of the art in terms of accuracy and computational efficiency. The source code, benchmarks, and links to the datasets utilized are provided. See https://kth-rpl.github.io/dufomap for more details.

DUFOMap: Efficient Dynamic Awareness Mapping

TL;DR

DUFOMap addresses the challenge of dynamic objects in robotic mapping by introducing online dynamic-awareness through void-region classification in a voxelized UFOMap. It identifies regions that have been observed as free (void) and labels points as dynamic if they fall into these regions, incorporating locality-aware robustness to pose and sensor noise via parameters and . The method delivers strong accuracy (high , , and ) across multiple sensors and datasets, while maintaining competitive online performance and practicality on modest hardware. Its contributions include a parameter-stable online framework, a robust treatment of real-world errors, and extensive validation across diverse setups, making it suitable for real-time planning and localization with dynamic environments.

Abstract

The dynamic nature of the real world is one of the main challenges in robotics. The first step in dealing with it is to detect which parts of the world are dynamic. A typical benchmark task is to create a map that contains only the static part of the world to support, for example, localization and planning. Current solutions are often applied in post-processing, where parameter tuning allows the user to adjust the setting for a specific dataset. In this paper, we propose DUFOMap, a novel dynamic awareness mapping framework designed for efficient online processing. Despite having the same parameter settings for all scenarios, it performs better or is on par with state-of-the-art methods. Ray casting is utilized to identify and classify fully observed empty regions. Since these regions have been observed empty, it follows that anything inside them at another time must be dynamic. Evaluation is carried out in various scenarios, including outdoor environments in KITTI and Argoverse 2, open areas on the KTH campus, and with different sensor types. DUFOMap outperforms the state of the art in terms of accuracy and computational efficiency. The source code, benchmarks, and links to the datasets utilized are provided. See https://kth-rpl.github.io/dufomap for more details.
Paper Structure (25 sections, 7 figures, 4 tables)

This paper contains 25 sections, 7 figures, 4 tables.

Figures (7)

  • Figure 1: The mapping pipeline integrates all point clouds into a global map, which initially contains numerous dynamic points. The unprocessed map is shown in the upper right. After processing with DUFOMap, the algorithm effectively detects and removes dynamic points, resulting in a clean and refined map suitable for downstream tasks.
  • Figure 2: Limitations of height threshold. (a) When an object is under, for example, a tree, using a height threshold $h_{\text{max}}$ typically ignores the tree's highest points (the red point). (b) However, when choosing a threshold $h_{\text{max}}$, larger objects, such as a truck, may still have remaining points (purple points). Two real-world images captured from Argoverse 2 datasets demonstrate these limitations in practice.
  • Figure 3: Example of point cloud integration in DUFOMap (shown as a single slice of the 3D grid). (a) From the sensor position, the triangle to the left, ray casting (orange lines) is performed for each point (orange dot) in the point cloud. All cells intersecting a ray are marked as intersected (purple), and the cells where a point falls within are marked as hit (gray). Unknown cells are white. (b) Cells that are intersected and surrounded exclusively by other intersected or hit cells are classified as void regions (red).
  • Figure 4: Example of integration with larger localization errors (shown as a single slice of the 3D grid). (a) Point cloud with the real sensor position (green) offset one cell up compared to \ref{['fig:step_1']}, showing that some cells are now incorrectly classified (x). (b) By increasing the number of neighboring cells that must be intersected or hit to two (i.e., $d_p=2$) we account for a localization error of up to two voxels in any direction. This leads to a more conservative classification of void regions (red) compared to \ref{['fig:step_2']}. (c) Extending the hits away from the sensor to allow classification of void regions next to obstacles (shown in (d)).
  • Figure 5: Qualitative results from a self-collected dataset with a sparse LiDAR sensor (VLP-16). Points labeled as true positives are colored yellow, whereas incorrectly classified points are colored orange. The first column provides ground truth labels obtained by human annotation. The third row presents the clean map output from different methods, with orange marking any remaining dynamic points in the output map.
  • ...and 2 more figures