#include <voting_table.hh>
Inheritance diagram for voting_table:
Public Member Functions | |
voting_table (const calibration_ptr &_calib, const mimas::mm_xml_reference< XalanElement > &geometricVotingNode, int _samplingRate, int _fringe, short int minGradient, geometric_map_ptr _hash_map, bool _verbose) | |
Configure table. | |
std::vector< std::pair< mi_pose, double > > | recognise (const mimas::mm_image< bool > &scene_features, const std::vector< boost::numeric::ublas::vector< int > > &points, const mi_pose &poseInv, geometric_voting_statistics *statistic) const |
Generate match for a point-pair. | |
double | get_z_resolution (void) const |
Z-Resolution. | |
geometric_map_ptr | get_hash_map (void) const |
Get pointer to object for generating hash-functions. | |
Protected Member Functions | |
mi_pose | pose2d (const mi_pose &pose, int x, int y) const |
Convert 4-DOF transformation to two-dimensional transformation. | |
int | pose_depth (const mi_pose &pose) const |
Extract stack-level from 4-DOF transformation. | |
mi_pose | pose3d (const mi_pose &pose, int x, int y, int z) const |
Convert two-dimensional transformation to transformation with 4-DOF. | |
bool | verification (const mimas::mm_image< bool > &scene_features, const mi_pose &objectPose, geometric_voting_statistics *statistic) const |
Verify a hypothesis. | |
Protected Attributes | |
calibration_ptr | calib |
Calibration data. | |
int | sampling_rate |
Sampling-rate. | |
int | fringe |
Fringe. | |
double | min_hits |
Minimum fraction of matching features for a hypothesis. | |
double | max_misses |
Maximum fraction of unmatched features for a hypothesis. | |
int | skip |
Number of images being skipped from shared focus stack. | |
double | z_resolution |
Z-Resolution of focus stack. | |
std::vector< std::vector< boost::numeric::ublas::vector< int > > > | points_stack |
Feature lists. | |
int | max_num_features |
Maximum number of features. | |
boost::multi_array< std::map< int, int >, 2 > | hash_table |
Table with votes. | |
std::vector< mi_pose > | candidates |
Candidate list. | |
geometric_map_ptr | hash_map |
Hash functions. | |
bool | verbose |
mimas::mm_image_qtoutput< mimas::mm_rgba< unsigned char > > | display |
Display for debugging purposes. |
An object of this class holds the table for recognizing one object with four degrees of freedom.
|
Configure table. Creates the table with votes for a single type of micro-object.
|
|
Get pointer to object for generating hash-functions.
|
|
Z-Resolution. Get distance between the focussed planes of two consecutive images of the focus stack.
|
|
Convert 4-DOF transformation to two-dimensional transformation.
This does the inverse of the
|
|
Convert two-dimensional transformation to transformation with 4-DOF. The transformation-matrix and -vector are made 3-dimensional. The 4th degree of freedom (z-translation) is added.
|
|
Extract stack-level from 4-DOF transformation. The following condition always should hold: pose_depth( pose3d( anyPose, z ) ) == z |
|
Generate match for a point-pair. This method finds the best match for a single point-pair. The number of votes for all possible poses is accumulated and the best is returned.
|
|
Verify a hypothesis. After a hypothesis was formed, it is verified by projecting the object's features on the image and checking, wether most of them are there.
|
|
Candidate list. Each candidate is a different possible pose of the object (relative to a randomly selected point of pairs). |
|
Hash functions. Functionality for generating transformations from features. |
|
Table with votes. The table is two-dimensional and each element is a map, assigning mapping candidate-indices on number of votes.
|
|
Maximum fraction of unmatched features for a hypothesis. The maximum allowed number of features not being found in the scene. This number is used in the verification step.
|
|
Maximum number of features. Number of features of the stack-image, with has the most. |
|
Minimum fraction of matching features for a hypothesis. A match with a lower number of hits has to be discarded immediately. |
|
Feature lists. The features of each image of the micro-object's focus-stack is stored as an element of this list. |
|
Number of images being skipped from shared focus stack. An additional offset has to be taken into account, if only a part of the original focus stack is being used. |
|
Z-Resolution of focus stack. Distance between the focussed planes of two consecutive images of the focus stack. |