Coder Social home page Coder Social logo

v-slam-based-on-nerf's Introduction

Depth Fusion Visual SLAM

Introduction

We present a depth fusion visual SLAM that enables stable SLAM in outdoor scenes using color and depth inputs. Our approach consists of a depth prediction architecture to enhance depth information and a SLAM architecture for tracking and map creation. We design a depth fusion technique to combine estimated depth with captured depth, refining the depth information. To improve and stabilize tracking, we introduce a tracker model filter that uses two quaternion parameters instead of nine rotation matrix parameters. We also develop a weighted sample module to filter irrelevant information for tracking. Our method is implemented on our own dataset, collected using a ZED 2 camera.

Image text

Install and run

Setup

To setup the environment:

sudo apt-get install libopenexr-dev
    
conda env create -f environment.yaml
conda activate DFVSlam

Run

To run the Depth Fusion Visual SLAM, run the following command, change the yaml according to your config:

python -W ignore run.py configs/Highbay/parking.yaml

Dataset

We implement our method on collected outdoor RosBag through ZED 2 camera. To extract images from Rosbag, run the script:

python rosbag2image.py

You need to modify the rosbag name, topic name accordingly. using generateAllFrame to extract alll information. Using shuffleData to shuffle training and testing dataset for finetune DeepPruner model. Using sampleData to generate data for Depth fusion Visual SLAM.

Data Structure:

DataSet
|----- Left RGB Image
|----- Depth Image

Sample of left RGB data:

left RGB

Result

Our method is able to reconstruct the geometry in the rendered cube precisely within limited iterations. As shown in Fig, there are two frames of results with depth and color information. From left to right, we visualize the captured images, generated images, and residual images for color and depth.

The generated results successfully map the outdoor scene including cars and trees and filter things outside of the cube, such as the sky which represents gray. Besides, the correct render demonstrates the success of tracking. bestresult1

As shown in , our method has a low reconstruction render loss and its tracking loss compared with the ground truth pose is also very low.

v-slam-based-on-nerf's People

Contributors

hongqingthomas avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

flyinggh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.