GithubHelp home page GithubHelp logo

hyye / dsl Goto Github PK

View Code? Open in Web Editor NEW
105.0 4.0 20.0 5.07 MB

Implementation of Monocular Direct Sparse Localization in a Prior 3D Surfel Map (DSL)

Home Page: https://sites.google.com/view/dsl-ram-lab/

License: GNU General Public License v3.0

CMake 3.75% C++ 91.53% C 0.22% GLSL 3.49% Python 1.01%

dsl's Introduction

DSL

Project page: https://sites.google.com/view/dsl-ram-lab/

Monocular Direct Sparse Localization in a Prior 3D Surfel Map

Authors: Haoyang Ye, Huaiyang Huang, and Ming Liu from RAM-LAB.

Paper and Video

Related publications:

@inproceedings{ye2020monocular,
  title={Monocular direct sparse localization in a prior 3d surfel map},
  author={Ye, Haoyang and Huang, Huaiyang and Liu, Ming},
  booktitle={2020 IEEE International Conference on Robotics and Automation (ICRA)},
  pages={8892--8898},
  year={2020},
  organization={IEEE}
}
@inproceedings{ye20213d,
  title={3D Surfel Map-Aided Visual Relocalization with Learned Descriptors},
  author={Ye, Haoyang and Huang, Huaiyang and Hutter, Marco and Sandy, Timothy and Liu, Ming},
  booktitle={2021 International Conference on Robotics and Automation (ICRA)},
  pages={5574-5581},
  year={2021},
  organization={IEEE}
}

Video: https://www.youtube.com/watch?v=LTihCBGcURo

Dependency

  1. Pangolin.
  2. CUDA.
  3. Ceres-solver.
  4. PCL, the default version accompanying by ROS.
  5. OpenCV, the default version accompanying by ROS.

Build

  1. git submodule update --init --recursive
  2. mkdir build && cd build
  3. cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
  4. make -j8

Example

The sample config file can be downloaded from this link.

To run the example:

[path_to_build]/src/dsl_main --path "[path_to_dataset]/left_pinhole"

Preparing Your Own Data

  1. Collect LiDAR and camera data.
  2. Build LiDAR map and obtain LiDAR poses (the poses are not necessary).
  3. Pre-process LiDAR map to make the [path_to_dataset]/*.pcd map file contains normal_x, normal_y, normal_z fields (downsample & normal estimation).
  4. Extract and undistort images into [path_to_dataset]/images.
  5. Set the first camera pose to initial_pose and other camera parameters in [path_to_dataset]/config.yaml.

Note

This implementation of DSL takes Ceres Solver as backend, which is different from the the implementation of the original paper with DSO-backend. This leads to different performance, i.e., speed and accuracy, compared to the reported results.

Credits

This work is inspired from several open-source projects, such as DSO, DSM, Elastic-Fusion, SuperPoint, DBoW2, NetVlad, LIO-mapping and etc.

Licence

The source code is released under GPL-3.0.

dsl's People

Contributors

hyye avatar

Stargazers

Lang avatar Arjun S Kumar avatar  avatar guyupan avatar  avatar  avatar Xu Kuan avatar Xiaobing Han avatar grdiv avatar yangxi shi avatar Grandzxw avatar NEU-Junshun avatar Pengyu Yin avatar  avatar Lilinxiang_ysu avatar heshixiong avatar  avatar  avatar Xinrui Wu avatar  avatar liyunlong avatar AnchaoQu avatar  avatar FredericBRHong avatar Harshal Deshpande avatar  avatar maky avatar Zhili avatar TaeYoung Kim avatar  avatar Catalina avatar 曹明伟,Mingwei Cao avatar Iam1100 avatar Shuyang ZHANG avatar neu-yuezhang avatar Yanliang Wang avatar Hu Zhu avatar (Q_o) avatar Shigeki Kobayashi avatar  avatar davci avatar Houzhan Zhang avatar Zhiyong Wang avatar Hengwang Zhao avatar  avatar  avatar SongShuangfu avatar Darren Wong avatar XuBin avatar  avatar liu jiacheng avatar  avatar  avatar Bin Chao avatar Rui Tian avatar  avatar  avatar Ruby avatar  avatar  avatar merlin.yoo avatar Jun avatar tortoise avatar YiChenCityU avatar dongxuan li avatar zha0ming1e avatar Ricardo Achilles avatar June avatar bygreencn avatar Fangget avatar Angie avatar  avatar Tomato1107 avatar  avatar Artem avatar  avatar Martin Valgur avatar Robin Ross avatar Yoon, Seungje avatar  avatar Matt Shaffer avatar  avatar Howar King avatar Zhenhua Xu avatar Robotics_Qi avatar 爱可可-爱生活 avatar Huaiyang HUANG avatar  avatar 刘国庆, Guoqing Liu avatar Chen Yao avatar  avatar gogojjh avatar Charles avatar XuLei avatar hanliming avatar  avatar Qin Shi avatar  avatar  avatar 然 avatar

Watchers

 avatar Robotics_Qi avatar  avatar Matt Shaffer avatar

dsl's Issues

The sample config is lost.

Dear Professor:
Thank you for your wonderful work. However, the config file is lost and could you please provide some sample data for us to do some test?
Yours
Qi Wu

How to build surfel map

Hi,
I'm reading your code these days, it's a brilliant work. And I try to run the code on the KITTI dataset, but I failed. I'm wondering how to build a surfel map from a Lidar PointCloud map? And what value you set about surfel_size when you tested the code on the outside scene?
Thanks !

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.