Skip to content

bferrarini/FloppyNet_TRO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 

Repository files navigation

FloppyNet

FloppyNet is a BNN designed for VPR and loop closure detection in particular.

This repository shares several tool for training and deploying FloppyNet on a Rasperry PI4.

  1. main.py is the only file you need for:
    • Training FloppyNet and the other BNNs presented in our paper.
    • Exporting a model in Larq-Compute-Engine format for ARM64 cpus (i.e. RPI4).
    • Computing an image descriptor
  2. TRO_pretrained contains the model trained for the paper. Both H5 and LCE (.tflite) formats are available.
    • RPI4 includes an engine to run the LCE models: lce_cnn
  3. scripts includes detailed instructions on how to used main.py with serverl examples.

The project has been developed within Eclipse+PyDev but the code can be exectuded from a command line.

Software Requirements

The main python3 packages required to use the provided code are the following.

  • Tensorflow >= 2.3.1
  • larq >= 0.10.2
  • larq-compute-engine >= 0.4.3
  • opencv >= 4.4.0
  • prettytable >= 2.0.0

How to cite this work

If you use this code, please cite us:

@ARTICLE{9725251,
  author={Ferrarini, Bruno and Milford, Michael J. and McDonald-Maier, Klaus D. and Ehsan, Shoaib},
  journal={IEEE Transactions on Robotics}, 
  title={Binary Neural Networks for Memory-Efficient and Effective Visual Place Recognition in Changing Environments}, 
  year={2022},
  volume={38},
  number={4},
  pages={2617-2631},
  doi={10.1109/TRO.2022.3148908}}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published