rh_feature_extraction (hydro)

Maintainer: Gerardo Aragon-Camarasa

1. Overview

This package contains the SIFTGPU library and its corresponding ros nodes implementations. It will also include future feature extraction developments. This also includes some ros test nodes to validate and verify its utility. The SIFTGPU library is included within this package, therefore, there is no need to download or set-up the library; default options should work out-of-box. If required, the MAKEFILE is located at "../rh_feature_extraction/SiftGPU_src"; options are well commented.

2. Nodes

2.1 RHsiftgpu_node

Node that interfaces the library with ros. This node receives a pair of images and computes the corresponding SIFT features.

2.1.1 Subscribed Topics

Main topic message where captured images are transmitted.

2.1.2 Published Topics

Topic message where SIFT features, descriptors for the left and right camera are published. SIFT matches between images are only attached to the left camera. Matching is performed on the GPU.

2.1.3 Parameters

  • /RH/sift_gpu/lib_path (string)

File path where the SIFTGPU library is located. By default, this is located at "$(find rh_feature_extraction)/bin/libsiftgpu.so"

  • /RH/sift_gpu/ratio_max (double)

Log-likelihood ratio used for matching SIFT descriptors between images. More information is Lowe's paper.

2.2 RHloadImgs_test

Simple node that loads two sets of specific test images given in the parameter server and loops through them every 5 seconds. This node is for testing the RHsiftgpu_node.

2.2.2 Published Topics

Main topic message where captured images are transmitted.

2.2.3 Parameters

  • /RH/test_image1 (string)
  • /RH/test_image2 (string)
  • /RH/test_image3 (string)
  • /RH/test_image4 (string)

File path where test images are located. Set 1: test_image1 and test_image2 and set 2: test_image3 and test_image4.

2.3 RHdisplay_keypoints_test

Simple node that displays SIFT features and the pair of images where they were extracted.

2.3.2 Published Topics

Main topic message where captured images are transmitted.

Topic message where SIFT features, descriptors for the left and right camera are published. SIFT matches between images are only attached to the left camera. Matching is performed on the GPU.

3. Launch files

3.1 RH_siftgpu_test.launch

Loads the main SIFTGPU node and test nodes. This launch file is for demonstrating and testing purposes of this package. In this launch file, it is also included how the parameters stored in the server are stored.

It is required to set the path of two set of images within the launch file.