All Projects → HyHuang1995 → gmmloc

HyHuang1995 / gmmloc

Licence: GPL-3.0 License
Implementation for IROS2020: "GMMLoc: Structure Consistent Visual Localization with Gaussian Mixture Model"

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to gmmloc

codac
Codac is a library for constraint programming over reals, trajectories and sets.
Stars: ✭ 31 (-65.93%)
Mutual labels:  localization, slam, state-estimation
awesome-mobile-robotics
Useful links of different content related to AI, Computer Vision, and Robotics.
Stars: ✭ 243 (+167.03%)
Mutual labels:  localization, slam
Iscloam
Intensity Scan Context based full SLAM implementation for autonomous driving. ICRA 2020
Stars: ✭ 232 (+154.95%)
Mutual labels:  localization, slam
slam gmapping
Slam Gmapping for ROS2
Stars: ✭ 56 (-38.46%)
Mutual labels:  localization, slam
Pythonrobotics
Python sample codes for robotics algorithms.
Stars: ✭ 13,934 (+15212.09%)
Mutual labels:  localization, slam
Mola
A Modular Optimization framework for Localization and mApping (MOLA)
Stars: ✭ 206 (+126.37%)
Mutual labels:  localization, slam
ai for robotics
Visualizations of algorithms covered in Sebastian Thrun's excellent Artificial Intelligence for Robotics course on Udacity.
Stars: ✭ 125 (+37.36%)
Mutual labels:  localization, slam
Door Slam
Distributed, Online, and Outlier Resilient SLAM for Robotic Teams
Stars: ✭ 107 (+17.58%)
Mutual labels:  localization, slam
Landmark Detection Robot Tracking SLAM-
Simultaneous Localization and Mapping(SLAM) also gives you a way to track the location of a robot in the world in real-time and identify the locations of landmarks such as buildings, trees, rocks, and other world features.
Stars: ✭ 14 (-84.62%)
Mutual labels:  localization, slam
AVP-SLAM-PLUS
An implementation of AVP-SLAM and some new contributions
Stars: ✭ 371 (+307.69%)
Mutual labels:  slam, state-estimation
ros-vrep-slam
ROS and V-REP for Robot Mapping and Localization
Stars: ✭ 39 (-57.14%)
Mutual labels:  localization, slam
direct lidar odometry
Direct LiDAR Odometry: Fast Localization with Dense Point Clouds
Stars: ✭ 202 (+121.98%)
Mutual labels:  localization, slam
Dl Vision Papers
深度学习和三维视觉相关的论文
Stars: ✭ 123 (+35.16%)
Mutual labels:  localization, slam
Iris lama
LaMa - A Localization and Mapping library
Stars: ✭ 217 (+138.46%)
Mutual labels:  localization, slam
Ov2slam
OV²SLAM is a Fully Online and Versatile Visual SLAM for Real-Time Applications
Stars: ✭ 119 (+30.77%)
Mutual labels:  localization, slam
JuliaAutonomy
Julia sample codes for Autonomy, Robotics and Self-Driving Algorithms.
Stars: ✭ 21 (-76.92%)
Mutual labels:  localization, slam
Urbannavdataset
UrbanNav: an Open-Sourcing Localization Data Collected in Asian Urban Canyons, Including Tokyo and Hong Kong
Stars: ✭ 79 (-13.19%)
Mutual labels:  localization, slam
Rtabmap
RTAB-Map library and standalone application
Stars: ✭ 1,376 (+1412.09%)
Mutual labels:  localization, slam
SRLCD
fast loop closure detection (online visual place recognition) via saliency re-identification IROS 2020
Stars: ✭ 78 (-14.29%)
Mutual labels:  localization, slam
GA SLAM
🚀 SLAM for autonomous planetary rovers with global localization
Stars: ✭ 40 (-56.04%)
Mutual labels:  localization, slam

GMMLoc

Build Status LICENSE

Dense Map Based Visual Localization. [project]

Paper and Video

Related publication:

@article{huang2020gmmloc,
  title={GMMLoc: Structure Consistent Visual Localization with Gaussian Mixture Models},
  author={Huang, Huaiyang and Ye, Haoyang and Sun, Yuxiang and Liu, Ming},
  journal={IEEE Robotics and Automation Letters},
  volume={5},
  number={4},
  pages={5043--5050},
  year={2020},
  publisher={IEEE}
}

Demo videos:

v103 gmmloc

Prerequisites

We have tested this library in Ubuntu 18.04. Prerequisites for installation:

  1. ROS (melodic)

  2. OpenCV3

apt-get install libopencv-dev
  1. miscs:
apt-get install python-wstool python-catkin-tools 
  1. evo (optional)
pip install evo --upgrade --no-binary evo

Installation

Initialize a workspace:

mkdir -p /EXAMPLE/CATKIN/WORK_SPACE
cd /EXAMPLE/CATKIN/WORK_SPACE

mkdir src
catkin init
catkin config --extend /opt/ros/melodic
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin config --merge-devel

Clone the code:

cd src
git clone [email protected]:hyhuang1995/gmmloc.git

If using SSH keys for github, prepare the dependencies via:

wstool init . ./gmmloc/gmmloc_ssh.rosinstall
wstool update

or using https instead:

wstool init . ./gmmloc/gmmloc_https.rosinstall
wstool update

Compile with:

catkin build gmmloc_ros

Running Examples

We provide examples on EuRoC Vicon Room sequences. For example, to run the demo on V1_03_difficult:

  1. Download the sequence (ASL Format)

  2. Replace the /PATH/TO/EUROC/DATASET/ in v1.launch with where the sequence is decompressed:

<param name="data_path" value="/PATH/TO/EUROC/DATASET/$(arg seq)/mav0/" />
  1. Launch:
roslaunch v1.launch seq:=V1_03_difficult

Evaluation

If evo is installed, we provide script for evaluating on Vicon Room sequences.

roscd gmmloc_ros
./scripts/evaluate_euroc.sh

and the results would be saved to gmmloc_ros/expr. By default, we follow the evaluation protocol of DSO to perform evaluation without multi-threading. If you would like to run the script in online mode, uncomment this line in the script:

rosparam set /gmmloc/online True

Credits

Our implementation is built on top of ORB-SLAM2, we thank Raul et al. for their great work.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].