/BoVF-with-MLP-Classifier

Comparative Evaluation of Feature Descriptors Through Bag of Visual Features with Multilayer Perceptron on Embedded GPU System, published in 17th IEEE Latin American Robotics Symposium/8th Brazilian Symposium of Robotics (LARS/SBR 2020)

MIT LicenseMIT

Comparative Evaluation of Feature Descriptors Through Bag of Visual Features with Multilayer Perceptron on Embedded GPU System

Paper published in 17th IEEE Latin American Robotics Symposium/8th Brazilian Symposium of Robotics

LARS/SBR 2020

GitHub repo size GitHub

People

Alexandra Raibolt (Lattes | E-mail)

Alberto Angonese (Lattes | E-mail)

Paulo Rosa (Lattes | E-mail)

Abstract

Loop Closure Detection (LCD) is one of the most significant steps for a Simultaneous Localization and Mapping (SLAM) system of an autonomous robot. Many of the state-of-the-art techniques for the LCD problem are based on handcrafted resources and Bag of Visual Words (BoVW). Even with advances in Machine Learning (ML) area, Deep Learning (DL) methods and Convolutional Neural Networks (CNNs) are not fully explored in the LCD problem context. We addressed the LCD problem proposing a hybrid Deep Neural Network (DNN) architecture for deployment on an embedded GPU system: NVIDIA’s Jetson Nano. The main idea of this work consists of reformulating a Local Binary Descriptor into convolutional filters of a CNN to produce a sparse model as an efficient alternative to traditional CNNs. This paper discusses the evaluation of the Bag of Visual Features (BoVF) approach, extracting features through Local Feature Descriptors such as SIFT, SURF, and KAZE and Local Binary Descriptors such as BRIEF, ORB, BRISK, AKAZE, and FREAK were evaluated for the recognition and classification steps. For this task, we used six visual datasets (MNIST, JAFFE, Extended CK+, FEI, CIFAR-10, and FER-2013) through Multilayer Perceptron (MLP) classifier. Experimentally, we demonstrated the feasibility to produce promising results combining BoVF with MLP classifier. Therefore, empirically, we can assume that the computed descriptors generated by a Local Binary Descriptor alongside a hybrid DNN architecture, can accomplish satisfactory results addressed in future work in the Feature Detection step, and reformulated in the Feature Extraction step into convolutional filters of CNN architecture of the proposed system.

Notice:

  • The proposed work was implemented in Python (version 3.6) as well as OpenCV (version 4.1) using a GPU ARM architecture and might not work with other versions.

  • In this repository, only the directory with the MNIST, CIFAR-10, and FER-2013 visual datasets are available. The directory where the other visual datasets should stay is not available in this GitHub repository since it would violate the dataset rules.

  • To download and use other visual datasets presented here, we strongly recommend reading the use of the norms of them. However, we recommend reading the use of the norms of the CIFAR-10, FER-2013, and MNIST as well.

References

  • A. Raibolt, A. Angonese and P. Rosa, "Comparative Evaluation of Feature Descriptors Through Bag of Visual Features with Multilayer Perceptron on Embedded GPU System," 2020 Latin American Robotics Symposium (LARS), 2020 Brazilian Symposium on Robotics (SBR) and 2020 Workshop on Robotics in Education (WRE), Natal, Brazil, 2020, pp. 1-6, doi: 10.1109/LARS/SBR/WRE51543.2020.9306931.
@INPROCEEDINGS{9306931,
  author={A. {Raibolt} and A. {Angonese} and P. {Rosa}},
  booktitle={2020 Latin American Robotics Symposium (LARS), 2020 Brazilian Symposium on Robotics (SBR) and 2020 Workshop on Robotics in Education (WRE)}, 
  title={Comparative Evaluation of Feature Descriptors Through Bag of Visual Features with Multilayer Perceptron on Embedded GPU System}, 
  year={2020},
  volume={},
  number={},
  pages={1-6},
  doi={10.1109/LARS/SBR/WRE51543.2020.9306931}}

Dependencies

To install the dependencies run:

pip install -r requirements.txt

Usage

python main.py --detector <detector> --descriptor <descriptor> --dataset <dataset>

Arguments Info
-h, --help Show help message and exit
--detector Specify SIFT or SURF or KAZE or ORB or BRISK or AKAZE
--descriptor Specify SIFT or SURF or KAZE or BRIEF or ORB or BRISK or AKAZE or FREAK
--dataset Specify MNIST or JAFFE or Extended-CK+ or FEI or CIFAR-10 or FER-2013

Examples

Help

python main.py --help

Evaluation of BRIEF Descriptor on CIFAR-10 visual datasets

python main.py --detector ORB --descriptor BRIEF --dataset CIFAR-10

Credits

License

Code released under the MIT license.