Public Member Functions | Private Member Functions | List of all members
pose_prediction_ism::PaperPredictionNonNormalized Class Reference

#include <old_prediction_non_normalized.h>

Inheritance diagram for pose_prediction_ism::PaperPredictionNonNormalized:
Inheritance graph
[legend]

Public Member Functions

 PaperPredictionNonNormalized (std::string dbfileName)
 
AttributedPointCloud predictUnfoundPoses (ISM::PosePtr &referencePose, std::string patternName, double numberOfSpecifiers)
 RecognizerPredictionISM::calcUnfoundPoses Processes the following steps for each object in the objectpattern set. More...
 
 ~PaperPredictionNonNormalized ()
 
- Public Member Functions inherited from pose_prediction_ism::PosePredictor
void clearPointCloud ()
 
void disableRandom ()
 
void enableRandom (double sphere_radius, double max_projection_angle)
 
AttributedPointCloud getAttributedPointCloud () const
 
std::string getMarkerNameSpace () const
 
PredictorType getPredictorType () const
 
void setFoundObjects (const FoundObjects &value)
 
void setPredictionGenerationFactor (double prediction_generation_factor_)
 
void traverseISM (std::string pattern_name, unsigned int level)
 

Private Member Functions

void addPointToPointCloudWithNumber (ISM::PosePtr poseToAdd, IsmObject object, unsigned int numberOfHypotheses)
 
void calculateRecursiveUnfoundPoses (ISM::PosePtr &referencePose, std::string patternName, unsigned int weight)
 
void createAttributedPointCloud (ISM::PosePtr reference_pose_ptr, double percentage_of_records_for_prediction)
 
bool nonReferenceObjectProcessing (IsmObject object, ISM::VoteSpecifierPtr specifier, ISM::PosePtr &referencePose, unsigned int weight, unsigned int specifiersSize)
 nonReferenceObjectProcessing Processes a non reference Object Processes the following steps. More...
 
bool referenceObjectProcessing (std::string objectType, ISM::VoteSpecifierPtr specifier, ISM::PosePtr &referencePose, unsigned int weight, unsigned int specifiersSize)
 referenceObjectProcessing Processes a reference object. Processes the following steps. More...
 

Additional Inherited Members

- Protected Types inherited from pose_prediction_ism::PosePredictor
typedef std::pair< std::string, std::string > IsmObject
 
typedef std::vector< IsmObjectIsmObjects
 
typedef std::set< IsmObjectIsmObjectSet
 
typedef std::map< IsmObject, unsigned int > SizeMap
 
typedef boost::variate_generator< boost::mt19937, boost::uniform_real<> > UniformDistributionGenerator
 
- Protected Member Functions inherited from pose_prediction_ism::PosePredictor
void addPointToPointCloud (ISM::PosePtr pose_to_add, std::string type, std::string identifier)
 RecognizerPredictionISM::addPointToPointCloud Adds an ISM Pose with object type and identifier as attributed point to the attributed point cloud if the number of hypotheses is higher than the threshold. More...
 
IsmObjectSet getObjectTypesAndIdsBelongingToPattern (std::string type)
 
bool isFoundObject (IsmObject object)
 
bool isPointCloudEmpty ()
 
bool isReferenceObject (IsmObject object)
 
 PosePredictor (std::string database_filename, std::string name_space, PredictorType predictor_type)
 
ISM::PosePtr predictPose (ISM::PosePtr reference_pose_ptr, IsmObjects path_to_object)
 
 ~PosePredictor ()
 
- Protected Attributes inherited from pose_prediction_ism::PosePredictor
AttributedPointCloud attributed_point_cloud_
 
double average_votes_ = 0
 
double prediction_generation_factor_ = 1
 
SizeMap specifiers_size_map_
 
UniformDistributionGeneratorudg_dist_
 
UniformDistributionGeneratorudg_rot_
 
ISM::PatternToObjectToVoteMap votes_
 

Detailed Description

Definition at line 22 of file old_prediction_non_normalized.h.

Constructor & Destructor Documentation

pose_prediction_ism::PaperPredictionNonNormalized::PaperPredictionNonNormalized ( std::string  dbfileName)

Definition at line 22 of file old_prediction_non_normalized.cpp.

pose_prediction_ism::PaperPredictionNonNormalized::~PaperPredictionNonNormalized ( )

Definition at line 26 of file old_prediction_non_normalized.cpp.

Member Function Documentation

void pose_prediction_ism::PaperPredictionNonNormalized::addPointToPointCloudWithNumber ( ISM::PosePtr  poseToAdd,
IsmObject  object,
unsigned int  numberOfHypotheses 
)
private

Definition at line 146 of file old_prediction_non_normalized.cpp.

void pose_prediction_ism::PaperPredictionNonNormalized::calculateRecursiveUnfoundPoses ( ISM::PosePtr &  referencePose,
std::string  patternName,
unsigned int  weight 
)
private

Definition at line 43 of file old_prediction_non_normalized.cpp.

void pose_prediction_ism::PaperPredictionNonNormalized::createAttributedPointCloud ( ISM::PosePtr  reference_pose_ptr,
double  percentage_of_records_for_prediction 
)
privatevirtual
bool pose_prediction_ism::PaperPredictionNonNormalized::nonReferenceObjectProcessing ( IsmObject  object,
ISM::VoteSpecifierPtr  specifier,
ISM::PosePtr &  referencePose,
unsigned int  weight,
unsigned int  specifiersSize 
)
private

nonReferenceObjectProcessing Processes a non reference Object Processes the following steps.

  • Calculate absolute pose of unknown object.
  • Calculate full pose for next call of this function.
  • Check whether this non-reference object is identical to the reference of the ism
    in which it is object. If this non-reference object is equal to the reference of the ism in which it resides.
    • Every single vote for a hypotheses in specifier has to be repreated for all
      redundancies in lower parts of the tree.
    • As all votes are identical, just skip all further votes and insert points
      for all of them at once.
    • Stop going through all further votes.
    If this non-reference object is not equal to the reference of the ism in which it resides.
    • Insert absolute unkown object pose into tesselated sphere quad just for one vote,
      but considering all redundancies of the isms in lover parts of the tree
Parameters
object
specifier
referencePose
weight
specifiersSize

Definition at line 90 of file old_prediction_non_normalized.cpp.

AttributedPointCloud pose_prediction_ism::PaperPredictionNonNormalized::predictUnfoundPoses ( ISM::PosePtr &  referencePose,
std::string  patternName,
double  numberOfSpecifiers 
)
virtual

RecognizerPredictionISM::calcUnfoundPoses Processes the following steps for each object in the objectpattern set.

  • Look whether we have an unfound object (reference object can never be
    found as they do not exist). Else ignore vote, as we already know itsattributedPoint.pose.
  • If the object was not found
    • Get all votes that fit to combination of this reference
      (to reference and non-reference objects) and unfound object.
    • If we have a reference object
      • search under it for unknown object.
    • If we have a non-reference object
      • we have not found and save its position.
    • Save that we found this object as missing in our currently considered scene hypotheses.
Parameters
referencePose
patternName
weight
depth

Implements pose_prediction_ism::PosePredictor.

Definition at line 31 of file old_prediction_non_normalized.cpp.

bool pose_prediction_ism::PaperPredictionNonNormalized::referenceObjectProcessing ( std::string  objectType,
ISM::VoteSpecifierPtr  specifier,
ISM::PosePtr &  referencePose,
unsigned int  weight,
unsigned int  specifiersSize 
)
private

referenceObjectProcessing Processes a reference object. Processes the following steps.

  • Calculate absolute pose of unknown object.
  • Calculate full pose for next call of this function.
  • Check whether this reference object is identical to
    the reference of the ism in which it is object. If this reference object is equal to the reference of the ism in which it resides.
    • Every single vote for a hypotheses in specifier has to be repreated
      for all redundancies in lower parts of the tree.
    • One level higher in the scene model hierarchy, object pose hypotheses
      should be replicated for every vote in specifiers as well as every time
      this function would have been called. Reference object in this ism gets
      reference of next higher ism.
    • If position of this object in scene is equal to pose of reference, then
      it has been chosen as reference and its pose will be equal to the reference
      through all votes. So we do not need to process any other votes here.
    If this reference object is not equal to the reference of the ism in which it resides.
    • One level higher in the scene model hierarchy, object pose hypotheses
      should be replicated for every time this function would have been called.
Parameters
objectTypeThe object type
specifierThe vote specifier
referencePoseThe reference pose of this function call
weightThe weight of this call
specifiersSizeThe size of the specifier container.
Returns
Returns true, if we do not have to process further

Definition at line 112 of file old_prediction_non_normalized.cpp.


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


asr_lib_pose_prediction_ism
Author(s): Heizmann Heinrich, Heller Florian, Meißner Pascal, Stöckle Patrick
autogenerated on Thu Jan 9 2020 07:19:57