Giter Club home page Giter Club logo

slam-dschar's Introduction

SLAM Datasets Characterization Framework

An extendable and generic SLAM dataset analysis and characterization framework suitable for characterizing visual-inertial SLAM datasets based on an extended number of characterization metrics.

Characterization Metrics

A characterization metric is a measurement of a certain quantity that can be used as a partial or a full descriptor of the SLAM dataset. In our system, we currently support general non-sensory metrics, inertial metrics, and visual metrics. The total number of supported metrics is currently at 73 different metrics.

Running the Framework

It is advised to run the docker version of the system in order to have a smooth operation. To do so, you need to first build the docker image:

./build_docker.sh

Then, you have to run the docker image, but change the path to mount the dataset you want to characterize.

./run_docker.sh

Make sure to update the path to your dataset inside:

in_data/you_ds_config_file.txt

Credit / License

This project is developed by Islam A. Ali, as part of my PhD thesis in Computing Science at the University of Alberta, Edmonton, Canada. For researchers/developers wishing to leverage or utilize the code, please use the citation of the paper below:

@inproceedings{ali2022we,
  title={Are We Ready for Robust and Resilient SLAM? A Framework For Quantitative Characterization of SLAM Datasets},
  author={Ali, Islam and Zhang, Hong},
  booktitle={2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  year={2022},
  pages={2810--2816},
  organization={IEEE}
}

The codebase is licensed under the GNU General Public License v3 (GPL-3)

License: GPL v3

slam-dschar's People

Contributors

islamaali avatar

Stargazers

hu_tianyi avatar  avatar Grandzxw avatar

Watchers

hu_tianyi avatar  avatar

Forkers

armandb

slam-dschar's Issues

Disparity Parameters + Normalization

The paper says that "The framework uses the default values of the configuration parameters of any underlying engines such as feature extraction, disparity calculations", but the disparity parameters (i.e. for SGBM) seem to be manually set and different than the opencv default:
-32, // MinDisparity
144, // NumDisparities
9, // block size
60, // P1
2400, // P2
90, // Disp12MaxDiff
16, // PreFilterCap
1, // UniquenessRatio
60, // SpeckleWindowSize
20, // SpeckleRange
true // SGBM mode
are these from an example somewhere, and if not, how did you arrive at these parameters?

Additionally, the disparity output seems to be normalized w/ NORM_MINMAX before the statistics are collected. Unless the min/max pixel values are always 0,255 will this not degrade the value of comparing the disparity mean and stddev across frames within an input or across input sequences?

Data Not Written to Reports + Segfaults

Hello,
Thanks for the great work!
Ran it out of the box using the docker instructions and this is kind of how that went:

Unless the report filepath exists, the analysis data isn't written to the reports. Something like adding the line in kitti_min.sh to the other scripts fixed it and allowed the reports to be generated: mkdir ../out_data/reports/KITTI

Characterization option failure:
[g] (general) just immediately segfaults for me
[b] (inertial diff) segfaults
^I don't know what to attribute this to except some issue in the docker build...I remember seeing some red text in the docker build but don't remember what it was

[3] (brightness) gets to 99% for the first input then segfaults...maybe some aggregation or file writing error?
[a] (inertial dynamic range) segfaults with a floating point exception...maybe a divide by 0? Not sure.
^Will probably try and meander my way through these errors in the next couple of weeks.

Thought I'd bring up the part about the reports ASAP and the rest is in case it's useful somehow.

My system is ubuntu 20.04 and docker version is: Docker version 20.10.21, build baeda1f. The dataset I've been working with is euroc

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.