OP-LIMAP: Optical Flow LIMAP

OP-LIMAP: Optical Flow LIMAP

Accurate mapping in dynamic environments is crucial for robotic navigation, manipulation, and scene understanding. Traditional SLAM methods assume static scenes, leading to inaccuracies when objects move. LIMAP (3D Line Mapping) uses line segments to represent scene layout and performs well in static settings, but lacks support for dynamic changes. We propose OP-LIMAP, an extension of LIMAP that integrates optical flow to handle dynamic scenes. By estimating motion, we semantically segment static and dynamic regions and discard non-contributing line features. This preprocessing step improves scene reconstruction by focusing only on stable structures. Experimental results validate OP-LIMAP’s ability to generate accurate line maps in dynamic environments, enhancing real-world robotic perception.

Accurate mapping in dynamic environments is crucial for robotic navigation, manipulation, and scene understanding. Traditional SLAM methods assume static scenes, leading to inaccuracies when objects move. LIMAP (3D Line Mapping) uses line segments to represent scene layout and performs well in static settings, but lacks support for dynamic changes. We propose OP-LIMAP, an extension of LIMAP that integrates optical flow to handle dynamic scenes. By estimating motion, we semantically segment static and dynamic regions and discard non-contributing line features. This preprocessing step improves scene reconstruction by focusing only on stable structures. Experimental results validate OP-LIMAP’s ability to generate accurate line maps in dynamic environments, enhancing real-world robotic perception.

Category

May 15, 2024

ROB 530 – Mobile Robotics

ROB 530 – Mobile Robotics

Services

May 15, 2024

Lidar; SLAM; Sensing

Lidar; SLAM; Sensing

Client

May 15, 2024

Course Final Project

Course Final Project

Year

May 15, 2024

Winter 2024

Winter 2024

ROB 530: Mobile Robotics W24 Project

Example - Car Factory

Alt Text: Image showcasing example car factory model used in project

Installation

Cloning the Repository

This repository includes multiple nested Git submodules. Use the following steps to clone it properly:


Installation via pipenv

This method was tested on:

  • Ubuntu 20.04

  • CMake version 3.17

🛠 Via Installation Script

We’ve created an installation script to automate setup. It does the following:

  • Verifies your CMake version is compatible

  • Recursively updates submodules

  • Locates colmap and PoseLib via CMake

  • Checks for required apt dependencies (does not install them)

  • Installs asdf for managing Python versions

  • Installs pipenv for environment management

  • Sets up Python 3.9 and all necessary Python dependencies

  • Installs LIMap

  • Overrides a file in a third-party directory to ensure compatibility

Note: This is needed because LIMap does not pin Hierarchical-Localization version, which introduced changes like pathlib.Path.

🛠 Manual Install

  1. Follow LIMap installation instructions (up to Python deps step, excluding OpenCV).

  2. Ensure your CMake is version 3.17 or above (prepend to PATH).

  3. Install pipenv:

  4. Create a pipenv environment:

  5. Install PyTorch & Torchvision:

  6. Install LIMap dependencies:

  7. Install LIMap itself:

  8. If a third-party package is not found:

    bashCopyEditpipenv install -vv -e ./limap/third-party/[PACKAGE_NAME]

Installation via Anaconda

  1. Create a new Conda environment:

    
    
  2. Follow the steps in Via Installation Script, adjusting the CUDA version if needed (e.g., use 11.8 if you're on 12).

  3. Install the package:

  4. Verify installation:

Setup

📝 Files for the above example are located in the repository.

📦 TODO: Add downloader script for small (~100 image) dataset from Google Drive.

Running Examples

Run Line Mapping with Depth Maps (Fitnmerge)

Visualize 3D Line Maps


Hybrid Localization with NN Detectors

Let's talk 🙉

I am: Super busy ATM!

Email:

saketp@umich.edu

Reach out:

© Copyright 2025

Let's talk 🙉

I am: Super busy ATM!

Email:

saketp@umich.edu

Reach out:

© Copyright 2025