aritra0593 / Reinforced-Feature-Points

Reinforced Feature Points: Optimizing Feature Detection and Description for a High-Level Task

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reinforced Feature Points

  • Introduction
  • Installation
  • Testing

Introduction

We address a core problem of computer vision: Detection and description of 2D feature points for image matching.

Link: https://arxiv.org/pdf/1912.00623.pdf

Reinforced feature points follows a new training methodology which embeds the feature detector in a complete vision pipeline, and where the learnable parameters are trained in an end-to-end fashion.

For initialization, we use the pre-trained SuperPoint architecture, and then train it in our vision pipeline to minimize relative pose error. That’s why we call our network as Reinforced SuperPoint.

This training methodology poses little restrictions on the task to learn, and works for any architecture which predicts key point heat maps, and descriptors for key point locations.

In our paper, we have shown 3 different tasks. For the task of relative pose estimation, we have used RANSAC and NGRANSAC as robust estimators.

This repo contains the code for testing image pairs for relative pose estimation using RANSAC. Two of the several datasets used in the benchmark are also uploaded along with pre-computed image pairs, that were used for the computation of the results.

The folder named 'Training' contains the training pipeline using RANSAC based on pre-trained superpoint.

We will be uploading the codes for NGRANSAC soon.

Installation

Reinforced SuperPoint is based on PyTorch.

Reinforced SuperPoint requires the following python packages, and we tested it with the package version in brackets.

  • pytorch (1.2.0)
  • opencv (3.4.2)

Training

To run the training code, go into the folder named Training, and then run this:

python main.py

Testing

First clone this repo to your local machine.

For testing the network, please go inside the main folder and run the demo.py script as follows:

python demo.py ’reichstag’

This will create a folder with the name ‘reichstag’ inside the ‘output’ folder. It would contain a .txt file that contains rotation and translational errors for each image pairs.

About

Reinforced Feature Points: Optimizing Feature Detection and Description for a High-Level Task


Languages

Language:Python 100.0%