GithubHelp home page GithubHelp logo

declutter-reconstruct's Introduction

Robust Structure Identification and Room Segmentation of Cluttered Indoor Environments from Occupancy Grid Maps

Introduction

ROSE^2 is a method for RObust StructurE identification and ROom SEgmentation of 2D occupancy maps, which may be cluttered and incomplete. Our method identifies the main directions of walls and is resilient to clutter and partial observations, allowing to extract a clean, abstract geometrical floor-plan-like description of the environment, which is used to segment, i.e., to identify rooms in, the original occupancy grid map. This repository should be used with the code provided by ROSE. For full details refer to the paper.

New repository

We have released a new version of the code integrated with ROS here. In the new version we have also slightly improved the code and fixed some broken dependencies. If you want to use the outcome of the method for something new, use the new version of the code. If you want to replicate the results of the paper, use this code.

Structure of the repository

  1. The folder RESULTS contains the results as described in our paper
  2. The folder CODE contains the source code of our method
  3. The folder MAPFILES contains the maps we used in our method for evaluation

Simple working example

Run the main .py file inside the CODE folder, and select the maps you want to process in the DATA folder on the prompt.

python runME.py

If you have some doubts/bugs just write to me and I'll be happy to help.

The code currently published probably needs some code-level adjustments to fully work. I will try to refactor it and update some stuff in the next future so to make it more ready-to-use. However, it should be pretty straighforward to replicate the results obtained in the RESULTS folder. In the meantime if you have some issue just write me and I will try promptly answer.

Thanks for your interest in our work!

Integration with ROS

We are developing an integration of our code with ROS, so that it could be used online by a mobile robot. The first release is here so refer to this one if you want to use the method with a robot.

declutter-reconstruct's People

Contributors

goldleaf3i avatar

Stargazers

 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  avatar

declutter-reconstruct's Issues

No module named 'FFT_MQ'

Hello, I tried to run your code, but there was a package called "FFT_MQ" that couldn't find. I tried to search it online or in the project of ROSE^1, but I couldn't find any package with the same name. Maybe this is a package designed by yourself?

Hope to get your answer! thank!

Which opencv version do u use?

Hi, may I ask what exact version of opencv do u use in this project? I met something wrong like this:

Traceback (most recent call last):
  File "runMe.py", line 231, in <module>
    main()
  File "runMe.py", line 86, in main
    start_main(action, parameters_object, paths)
  File "runMe.py", line 225, in start_main
    minibatch.start_main(par, parameters_object, paths)
  File "/home/spacex/melodic_workspace/declutter-reconstruct/code/minibatch.py", line 170, in start_main
    (contours, vertices) = lay.external_contour(img_cont)
  File "/home/spacex/melodic_workspace/declutter-reconstruct/code/util/layout.py", line 76, in external_contour
    contours.pop(0)
AttributeError: 'tuple' object has no attribute 'pop'

The version of opencv-python I'm using is 3.4.17.63. Thank you!

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.