Git Product home page Git Product logo

mwms's Introduction

Manhattan World Max Stabbing (MWMS)

This repository provides supplementary materials and a MATLAB implementation of IEEE Robotics and Automation Letters (RA-L) with ICRA 2022 paper: "Quasi-globally Optimal and Real-time Visual Compass in Manhattan Structured Environments" for the purpose of research and study only. Note that this repository only includes simplified proposed 3-DoF rotation estimation example codes to understand how MWMS works in Manhattan structured environments.

MWMS

1. Goal

Our goal is to estimate the drift-free 3-DoF rotational motion of the camera with respect to the indoor/outdoor Manhattan structured environments called a Manhattan frame (MF). MWMS first detects and tracks the vertical dominant direction (VDD) from an RGB-D camera or an IMU to compute 2-DoF of the MF rotation, and then searches for the optimal third DoF by the proposed Mine-and-Stab (MnS). Once we find an initial rotation estimate of the camera, we refine the absolute camera orientation by minimizing the average orthogonal distance from the endpoints of the lines to the MW axes. Our method is insensitive to noise and can achieve quasi-global optimality in terms of maximizing the number of inlier lines in real-time.

MWMS

It is noteworthy that without loss of generality, the dominant plane in any direction can be treated as a vertical dominant direction (VDD) in an indoor structured environment.

2. Prerequisites

We have tested this package on the MATLAB R2020a on Windows 10 64-bit. Some of the functions such as estimateSurfaceNormalGradient_mex.mexw64 are compiled as MEX files to speed up the surface normal computation. You can use estimateSurfaceNormalGradient.m instead if you cannot compile the MEX file in your OS.

3. Usage

  • Download the ICL-NUIM dataset from https://www.doc.ic.ac.uk/~ahanda/VaFRIC/iclnuim.html, 'of kt0' is recommended.

  • Or, Use the ICL-NUIMdataset/of_kt0/ included in this package.

  • Define 'datasetPath' correctly in your directory at setupParams_ICL_NUIM.m file.

  • Run MWMS_core/main_script_ICL_NUIM.m, which will give you the 3-DoF camera orientation tracking results. Enjoy! :)

4. License

The package is licensed under the MIT License, see http://opensource.org/licenses/MIT.

if you use MWMS in an academic work, please cite:

@inproceedings{kim2022quasi,
  author = {Kim, Pyojin and Li, Haoang and Joo, Kyungdon},
  title = {Quasi-globally Optimal and Real-time Visual Compass in Manhattan Structured Environments},
  year = {2022},
  booktitle = {IEEE Robotics and Automation Letters (RA-L)},
 }

mwms's People

Contributors

pyojinkim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

wuyou33 xldownxl

mwms's Issues

IMU Gravity Vector Test

Hello everyone,

first of all, thank you for the great work and the great repository!
After I ran the ICL dataset successfully, I asked myself if you also included some code to test your method with the IMU gravity vector instead of RGBD. I personally did not find any code on the IMU part in the repository, did I oversee it or is there no demo code for that part of the method provided?

Thank you already for your help!

optsLAPO lacks parameters

Hello
First of all,thanks for your great work.I have some questions to ask you. When I was running the code, there was an error, which prompted me that optsLPVO lacks parameters. There should be 23 parameters, but there are only 20 parameters in the load_param_MWMS.m file,As shown in the picture below.I would appreciate it if you could help me.Thanks for your work again!
image

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.