Giter Site home page Giter Site logo

bathy_nn_learning's Introduction

bathy_nn_learning

Introduction

This repository is intended for loop closure detection and feature matching in the context of Multibeam Echo Sounders (MBES).

Dependencies

Install the June 2022 version of AUVLib here:

git clone -b extended_bm [email protected]:ignaciotb/auvlib.git

For details, please refer to requirements.txt (for pip) or environment.yml (for conda).

Recommended for baseline: PCL 1.10 or its python binding

Data

Datasets are available for download here datasets

Usage

Step 1: Run scripts/parse_cereal.py to parse cereal data.

Step 2.1 - 2.3: Run other scripts in scripts/ to create datasets.

Step 3: Run train.py to train a model. (Modify param.py properly.)

Step 4: Run scripts in test/ to evaluate the model.

.
├── data               # datasets
│   ├── Circle100      # training set
│   │   ├── raw        # raw training set
│   │   └── processed  # processed training set
│   ├── Circle100Valid
│   │   └── ...
│   └── Circle100Test
│       └── ...
├── scripts     # scripts for data processing
├── utils       # utility functions 
├── test        # testing scripts
├── models.py   # model implementation
├── dataset.py  # dataset implementation
├── param.py    # parameters and configurations
└── train.py    # training script

Citation

If you find our work useful, please consider citing:

@inproceedings{tan2023data,
    title={Data-driven loop closure detection in bathymetric point clouds for underwater {SLAM}},
    author={Tan, Jiarui and Torroba, Ignacio and Xie, Yiping and Folkesson, John},
    booktitle={2023 IEEE International Conference on Robotics and Automation (ICRA)},
    pages={3131--3137},
    year={2023},
    organization={IEEE}

}

Acknowledgment

Part of the code is based on some examples in PyTorch Geometric.

bathy_nn_learning's People

Contributors

tjr16 avatar xyp8023 avatar

Stargazers

 avatar  avatar  avatar Alexios avatar Zhengyan Zhang avatar Dong Zhaoxin avatar weihao avatar Ning Wang avatar  avatar Zhuang Zhou avatar  avatar 刘国庆, Guoqing Liu avatar

Watchers

 avatar

bathy_nn_learning's Issues

undefined symbol: mbes _ ping

Hello, thank you very much for this job.
When I run the generate_training_set.py file to generate a training set, I get an error: Traceback (most recent call last):
File "bathy_nn_learning/scripts/generate_training_set.py", line 85, in
processed_bin = random_sample(raw_bin, num_sample1)
File "bathy_nn_learning/utils/dataset.py", line 58, in random_sample
pcd_np_sample = pcd_np[np.random.choice(pcd_np.shape[0], size=int(n_points), replace=False), :]
File "mtrand.pyx", line 984, in numpy.random.mtrand.RandomState.choice
ValueError: Cannot take a larger sample than population when 'replace=False' I thought the size of random sampling was too large, so I changed the parameter num_sample1 = 19000 to a smaller size, but after re-running the code, num of points: min will also be smaller, which is still the above error.
Why is this? Looking forward to your answer, thank you very much.

raise AttributeError

Hello, when I run the "test_place_recognition.py" program for the first time, I want to generate the "negative_pairs.pkl" file.
However, when calling the function "sample_negative_pairs" in the file "utils/dataset.py", the code is "_, _, train _ test _ pose, _ = pair _ dataset. Get _ train _ test (train _ idx, test _ idx)".
The prompt is as follows: the object "pair_dataset" has no attribute "get_train_test", which leads to "raise AttributeError" error.
But why click on "pair_dataset" will show that it has two attributes: "processed_dir" and "get_train_test".
Why is this happening? I would appreciate it if someone could answer my questions.

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.