/learned-brief

In brief, this repo provides a framework for transferring the knowledge from BRIEF local image descriptor to an unsupervised-learning--based descriptor via the use of an autoencoder

Primary LanguageJupyter Notebook

Learned BRIEF

This repository contains the code for the learned BRIEF local image descriptor. In Step 1, original BRIEF descriptor is implemented as a convolutional neural network (using convolutional layers to implement the average blurring and a fully-connected layer to implement BRIEF's binary pixel tests). In Step 2, this CNN is integrated to be the encoder part of an autoencoder, and the decoder is learned (trained to invert an encoding into its patch), and in Step 3, the whole autoencoder is trained. Learned BRIEF descriptor is then taken to be the encoder part of the trained autoencoder.

Trained models can be found are under weights_pub/, both the whole autoencoder and only the encoder part (i.e. only the descriptor).

For more details, refer to the paper or the YouTube video.

Steps 1-3

Additional experiments

We also provide a notebook for training a descriptor with the same autoencoder architecture from scratch (without the initialisation of weights to mimic BRIEF), and the model trained using this setup.