Solar
Public Member Functions | List of all members
SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW Class Reference

Retrieves keyframes closest to an input frame based on a Fast Bag Of Words implementaton. UUID: 9d1b1afa-bdbc-11e8-a355-529269fb1459 More...

#include <SolARKeyframeRetrieverFBOW.h>

Inheritance diagram for SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW:
Inheritance graph
[legend]
Collaboration diagram for SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW:
Collaboration graph
[legend]

Public Member Functions

org::bcom::xpcf::XPCFErrorCode onConfigured () override final
 
void unloadComponent () override final
 
FrameworkReturnCode addKeyframe (const SRef< datastructure::Keyframe > keyframe) override
 Add a keyframe to the retrieval model. More...
 
FrameworkReturnCode suppressKeyframe (uint32_t keyframe_id) override
 Suppress a keyframe from the retrieval model. More...
 
FrameworkReturnCode retrieve (const SRef< datastructure::Frame > frame, std::vector< uint32_t > &retKeyframes_id) override
 Retrieve a set of keyframes close to the frame pass in input. More...
 
FrameworkReturnCode retrieve (const SRef< datastructure::Frame > frame, const std::set< unsigned int > &canKeyframes_id, std::vector< uint32_t > &retKeyframes_id) override
 Retrieve a set of keyframes close to the frame pass in input. More...
 
FrameworkReturnCode saveToFile (const std::string &file) const override
 This method allows to save the keyframe feature to the external file. More...
 
FrameworkReturnCode loadFromFile (const std::string &file) override
 This method allows to load the keyframe feature from the external file. More...
 
FrameworkReturnCode match (const SRef< datastructure::Frame > frame, const SRef< datastructure::Keyframe > keyframe, std::vector< datastructure::DescriptorMatch > &matches) override
 Match a frame with a keyframe. More...
 
FrameworkReturnCode match (const std::vector< int > &indexDescriptors, const SRef< datastructure::DescriptorBuffer > descriptors, const SRef< datastructure::Keyframe > keyframe, std::vector< datastructure::DescriptorMatch > &matches) override
 Match a set of descriptors with a keyframe. More...
 
const SRef< datastructure::KeyframeRetrieval > & getConstKeyframeRetrieval () const override
 This method returns the keyframe retrieval. More...
 
std::unique_lock< std::mutex > getKeyframeRetrieval (SRef< datastructure::KeyframeRetrieval > &keyframeRetrieval) override
 This method returns the keyframe retrieval. More...
 
void setKeyframeRetrieval (const SRef< datastructure::KeyframeRetrieval > keyframeRetrieval) override
 This method is to set the keyframe retrieval. More...
 

Detailed Description

Retrieves keyframes closest to an input frame based on a Fast Bag Of Words implementaton. UUID: 9d1b1afa-bdbc-11e8-a355-529269fb1459

Properties
VOCpath path to the vocabulary file
type: string; default: ""
threshold the threshold above which keyframes are considered valid
type: float; range : [0..MAX FLOAT]; default: 0.f
matchingDistanceRatio distance ratio used to keep good matches
type: float; range : [0..MAX FLOAT]; default: 0.7f
matchingDistanceMax distance max used to keep good matches
type: float; range : [0..MAX FLOAT]; default: 100.f

Member Function Documentation

◆ addKeyframe()

FrameworkReturnCode SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::addKeyframe ( const SRef< datastructure::Keyframe >  keyframe)
override

Add a keyframe to the retrieval model.

Parameters
[in]keyframethe keyframe to add to the retrieval model
Returns
FrameworkReturnCode::SUCCESS if the keyfram adding succeed, else FrameworkReturnCode::_ERROR

◆ getConstKeyframeRetrieval()

const SRef< datastructure::KeyframeRetrieval > & SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::getConstKeyframeRetrieval ( ) const
override

This method returns the keyframe retrieval.

Returns
the keyframe retrieval

◆ getKeyframeRetrieval()

std::unique_lock< std::mutex > SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::getKeyframeRetrieval ( SRef< datastructure::KeyframeRetrieval > &  keyframeRetrieval)
override

This method returns the keyframe retrieval.

Parameters
[out]keyframeRetrievalthe keyframe retrieval of map
Returns
the keyframe retrieval

◆ loadFromFile()

FrameworkReturnCode SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::loadFromFile ( const std::string &  file)
override

This method allows to load the keyframe feature from the external file.

Parameters
[in]thefile name
Returns
FrameworkReturnCode::SUCCESS if the suppression succeed, else FrameworkReturnCode::_ERROR.

◆ match() [1/2]

FrameworkReturnCode SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::match ( const SRef< datastructure::Frame >  frame,
const SRef< datastructure::Keyframe >  keyframe,
std::vector< datastructure::DescriptorMatch > &  matches 
)
override

Match a frame with a keyframe.

Parameters
[in]framethe frame to match
[in]keyframekeyframe to match
[out]matchesa set of matches between frame and keyframe
Returns
FrameworkReturnCode::SUCCESS if the retrieve succeed, else FrameworkReturnCode::_ERROR

◆ match() [2/2]

FrameworkReturnCode SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::match ( const std::vector< int > &  indexDescriptors,
const SRef< datastructure::DescriptorBuffer >  descriptors,
const SRef< datastructure::Keyframe >  keyframe,
std::vector< datastructure::DescriptorMatch > &  matches 
)
override

Match a set of descriptors with a keyframe.

Parameters
[in]indexDescriptorsindex of descriptors to match.
[in]descriptorsa descriptor buffer contains all descriptors
[in]keyframekeyframe to match
[out]matchesa set of matches between frame and keyframe
Returns
FrameworkReturnCode::SUCCESS if the retrieve succeed, else FrameworkReturnCode::_ERROR

◆ retrieve() [1/2]

FrameworkReturnCode SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::retrieve ( const SRef< datastructure::Frame >  frame,
const std::set< unsigned int > &  canKeyframes_id,
std::vector< uint32_t > &  retKeyframes_id 
)
override

Retrieve a set of keyframes close to the frame pass in input.

Parameters
[in]framethe frame for which we want to retrieve close keyframes.
[in]canKeyframes_ida set includes id of keyframe candidates
[out]retKeyframes_ida set of keyframe ids which are close to the frame pass in input
Returns
FrameworkReturnCode::SUCCESS if the retrieve succeed, else FrameworkReturnCode::_ERROR

◆ retrieve() [2/2]

FrameworkReturnCode SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::retrieve ( const SRef< datastructure::Frame >  frame,
std::vector< uint32_t > &  retKeyframes_id 
)
override

Retrieve a set of keyframes close to the frame pass in input.

Parameters
[in]framethe frame for which we want to retrieve close keyframes.
[out]retKeyframes_ida set of keyframe ids which are close to the frame pass in input
Returns
FrameworkReturnCode::SUCCESS if the retrieve succeed, else FrameworkReturnCode::_ERROR

◆ saveToFile()

FrameworkReturnCode SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::saveToFile ( const std::string &  file) const
override

This method allows to save the keyframe feature to the external file.

Parameters
[in]thefile name
Returns
FrameworkReturnCode::SUCCESS if the suppression succeed, else FrameworkReturnCode::_ERROR.

◆ setKeyframeRetrieval()

void SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::setKeyframeRetrieval ( const SRef< datastructure::KeyframeRetrieval >  keyframeRetrieval)
override

This method is to set the keyframe retrieval.

Parameters
[in]keyframeRetrievalthe keyframe retrieval of map

◆ suppressKeyframe()

FrameworkReturnCode SolAR::MODULES::FBOW::SolARKeyframeRetrieverFBOW::suppressKeyframe ( uint32_t  keyframe_id)
override

Suppress a keyframe from the retrieval model.

Parameters
[in]keyframe_idthe keyframe to supress from the retrieval model
Returns
FrameworkReturnCode::SUCCESS if the keyfram adding succeed, else FrameworkReturnCode::_ERROR

The documentation for this class was generated from the following file: