Inherits opentl::modalities::Modality.
Public Types | |
Public Member Functions | |
| virtual modalities::Modality * | clone () const |
| Clone this class and all potential childs RECURSIVELY!! (deep copy). | |
| opentl::core::cvdata::VisContourSamplePts * | getContourData (int s=0) |
| virtual void | init () |
| Allocate data structures required by this class. | |
| IntensityEdges (const IntensityEdges &c) | |
| Deep Copy Constructor. | |
| IntensityEdges (const ObjModelPtrVector &objModels, opentl::modelprojection::Warp *warp, opentl::modelprojection::GLScene *scene, int camIdx, modelprojection::ContourSampler *contourSampler=NULL, opentl::modelprojection::GLRenderer *renderer=NULL) | |
| Constructor ATTENTION: The sensor vector element size/sequence must be identical for the warps of all object models !!! | |
| void | learnBackgroundEdges (const opentl::core::cvdata::Image &imageGray, bool bFirstFrame, double bgDistThreshold, double cannyT1, double cannyT2, double bgRunningAvgCoeff) |
| Learn a model of background edges (position and orientation) for subtraction, during pre-processing. | |
| virtual int | matchFeatLevel (const TargetPtrVector &targets, T_MEAS_FEATPtrVector &outputMeas, std::size_t partitionIdx) |
Matching on feature level
| |
| virtual int | matchPixLevel (const TargetPtrVector &targets, T_MEAS_PIXPtrVector &outputMeas, std::size_t partitionIdx) |
Matching on pixel level
| |
| virtual int | preProcess (const opentl::core::cvdata::Image &image, const std::vector< std::vector< int > > &preProcessROIs) |
| Compute the edge map of I (e.g. with Canny), and store it into mImageFeatDetected. | |
| void | readSilhouettesFromFile (std::string &silhouetteFile, TargetPtrVector &targets, std::vector< std::vector< int > > &parentIdxVector) |
| Read silhouette data from file. | |
| virtual int | sampleModelFeatures (const TargetPtrVector &targets) |
| Do GPU-based visible edge sample point computation. | |
| void | saveSilhouettesToFile (std::string &silhouetteFile, const TargetPtrVector &targets, const std::vector< std::vector< int > > &parentIdxVector) |
| Save silhouette data to file. | |
| virtual | ~IntensityEdges () |
| Destructor. | |
Public Attributes | |
| opentl::core::cvdata::Image * | m_bgCanny |
| std::vector< std::vector< int > > | mAngle_ratios |
| Ratios (vertical/horizontal) for each angle of the oriented DT. | |
| opentl::core::cvdata::Image * | mImageDebugOutput |
| Debug Image output. | |
| std::vector< double > | mNormalsx |
| Normal directions for each angle. | |
| std::vector< double > | mNormalsy |
| std::vector< std::vector < std::vector< std::vector < int > > > > | mSilhNorm |
| opentl::core::cvdata::Image * | mSilhOutputImage |
| Image for restoring the silhouette. | |
| opentl::core::cvdata::Image * | mSilhOutputImageGray |
| Image for restoring the silhouette. | |
| std::vector< std::vector < std::vector< std::vector < int > > > > | mSilhPos |
Static Public Attributes | |
| static std::vector < boost::shared_ptr < opentl::core::cvdata::Image > > | mPreProcessOutput_Canny |
| Canny edge map. | |
| static std::vector < boost::shared_ptr < opentl::core::cvdata::Image > > | mPreProcessOutput_D1 |
| Sobel X gradient. | |
| static std::vector < boost::shared_ptr < opentl::core::cvdata::Image > > | mPreProcessOutput_D2 |
| Sobel Y gradient. | |
| static std::vector < std::vector < boost::shared_ptr < opentl::core::cvdata::Image > > > | mPreProcessOutput_orientedDT |
| Oriented distance transform (for each angle). | |
| static std::vector < boost::shared_ptr < opentl::core::cvdata::Image > > | mSilhouetteBinaryImages |
| Binary silhouette Image. | |
| static std::vector < boost::shared_ptr < opentl::core::cvdata::Image > > | mSilhouetteImages |
| Silhouette Image. | |
Reimplemented from opentl::modalities::Modality.
| sample_discardBackgroundEdgeWithinPixelRange | (unsigned int) range to discard background edge pixel |
| sample_computeScreenPointJacobians | (bool) compute screen point jacobians |
| preProcess_cannyThreshold1 | (double) canny threshold1 |
| preProcess_cannyThreshold2 | (double) canny threshold2 |
| preProcess_bgOrientThresh | (double) background orient threshold |
| preProcess_numofAngles | (unsigned int) number of angles for computing orientedDT |
| matchF_alpha | (double) Missing detection rate |
| matchF_edgeSearchlengthAlongNormalinPixel | (unsigned int) edge search length along the normal in pixel |
| matchF_useRansac | (bool) use RANSAC |
| matchF_dotprodThreshold | (double) dot product threshold |
| matchF_angleThreshold | (double) angle threshold |
| matchF_enableDebugOutput | (bool) enable debug output |
| matchFeatLevel_robustFlag | (bool) robust flag |
| matchFeatLevel_useFixedCov | (bool) use fixed covariance |
| matchF_nearestNeighbor | (bool) nearest neighbour |
| matchF_maxMultiHypoAssoc | (unsigned int) Max. number of associations (for multi-hypotheses matching) |
| ONLINE_COUNT |
Reimplemented from opentl::modalities::Modality.
| opentl::modalities::IntensityEdges::IntensityEdges | ( | const ObjModelPtrVector & | objModels, | |
| opentl::modelprojection::Warp * | warp, | |||
| opentl::modelprojection::GLScene * | scene, | |||
| int | camIdx, | |||
| modelprojection::ContourSampler * | contourSampler = NULL, |
|||
| opentl::modelprojection::GLRenderer * | renderer = NULL | |||
| ) |
Constructor ATTENTION: The sensor vector element size/sequence must be identical for the warps of all object models !!!
| opentl::modalities::IntensityEdges::IntensityEdges | ( | const IntensityEdges & | c | ) |
Deep Copy Constructor.
| virtual opentl::modalities::IntensityEdges::~IntensityEdges | ( | ) | [virtual] |
Destructor.
| virtual modalities::Modality* opentl::modalities::IntensityEdges::clone | ( | ) | const [virtual] |
Clone this class and all potential childs RECURSIVELY!! (deep copy).
Implements opentl::modalities::Modality.
| opentl::core::cvdata::VisContourSamplePts* opentl::modalities::IntensityEdges::getContourData | ( | int | s = 0 |
) | [inline] |
| virtual void opentl::modalities::IntensityEdges::init | ( | ) | [virtual] |
| void opentl::modalities::IntensityEdges::learnBackgroundEdges | ( | const opentl::core::cvdata::Image & | imageGray, | |
| bool | bFirstFrame, | |||
| double | bgDistThreshold, | |||
| double | cannyT1, | |||
| double | cannyT2, | |||
| double | bgRunningAvgCoeff | |||
| ) |
Learn a model of background edges (position and orientation) for subtraction, during pre-processing.
| virtual int opentl::modalities::IntensityEdges::matchFeatLevel | ( | const TargetPtrVector & | targets, | |
| T_MEAS_FEATPtrVector & | outputMeas, | |||
| std::size_t | partitionIdx | |||
| ) | [virtual] |
Matching on feature level
| targets | Vector of targets | |
| outputMeas | Feature-space measurements and residuals (one per target and internal state) |
Reimplemented from opentl::modalities::Modality.
| virtual int opentl::modalities::IntensityEdges::matchPixLevel | ( | const TargetPtrVector & | targets, | |
| T_MEAS_PIXPtrVector & | outputMeas, | |||
| std::size_t | partitionIdx | |||
| ) | [virtual] |
Matching on pixel level
| targets | Vector of targets | |
| outputMeas | Pixel-space measurement (a unique residual value - chamfer distance) |
Reimplemented from opentl::modalities::Modality.
| virtual int opentl::modalities::IntensityEdges::preProcess | ( | const opentl::core::cvdata::Image & | image, | |
| const std::vector< std::vector< int > > & | preProcessROIs | |||
| ) | [virtual] |
Compute the edge map of I (e.g. with Canny), and store it into mImageFeatDetected.
| image | Input sensor data (e.g. camera image in RGB) | |
| preProcessROIs | Regions of interest (x0,y0,width,height), per target |
Reimplemented from opentl::modalities::Modality.
| void opentl::modalities::IntensityEdges::readSilhouettesFromFile | ( | std::string & | silhouetteFile, | |
| TargetPtrVector & | targets, | |||
| std::vector< std::vector< int > > & | parentIdxVector | |||
| ) |
Read silhouette data from file.
| silhouetteFile | name of the input file | |
| targets | Output target vector, containing the grid states (one target per level) | |
| parentIdxVector | Output indices of parent cells in the upper level grid (at l=0 it is empty) |
| virtual int opentl::modalities::IntensityEdges::sampleModelFeatures | ( | const TargetPtrVector & | targets | ) | [virtual] |
Do GPU-based visible edge sample point computation.
| targets | Vector of targets |
Reimplemented from opentl::modalities::Modality.
| void opentl::modalities::IntensityEdges::saveSilhouettesToFile | ( | std::string & | silhouetteFile, | |
| const TargetPtrVector & | targets, | |||
| const std::vector< std::vector< int > > & | parentIdxVector | |||
| ) |
Save silhouette data to file.
| silhouetteFile | name of the output file | |
| targets | Input target vector, containing the grid states (one target per level) | |
| parentIdxVector | Input indices of parent cells in the upper level grid (at l=0 it is empty) |
| std::vector<std::vector<int> > opentl::modalities::IntensityEdges::mAngle_ratios |
Ratios (vertical/horizontal) for each angle of the oriented DT.
Debug Image output.
| std::vector<double> opentl::modalities::IntensityEdges::mNormalsx |
Normal directions for each angle.
| std::vector<double> opentl::modalities::IntensityEdges::mNormalsy |
std::vector<boost::shared_ptr<opentl::core::cvdata::Image> > opentl::modalities::IntensityEdges::mPreProcessOutput_Canny [static] |
Canny edge map.
std::vector<boost::shared_ptr<opentl::core::cvdata::Image> > opentl::modalities::IntensityEdges::mPreProcessOutput_D1 [static] |
Sobel X gradient.
std::vector<boost::shared_ptr<opentl::core::cvdata::Image> > opentl::modalities::IntensityEdges::mPreProcessOutput_D2 [static] |
Sobel Y gradient.
std::vector<std::vector<boost::shared_ptr<opentl::core::cvdata::Image> > > opentl::modalities::IntensityEdges::mPreProcessOutput_orientedDT [static] |
Oriented distance transform (for each angle).
| std::vector<std::vector<std::vector<std::vector<int> > > > opentl::modalities::IntensityEdges::mSilhNorm |
std::vector<boost::shared_ptr<opentl::core::cvdata::Image> > opentl::modalities::IntensityEdges::mSilhouetteBinaryImages [static] |
Binary silhouette Image.
std::vector<boost::shared_ptr<opentl::core::cvdata::Image> > opentl::modalities::IntensityEdges::mSilhouetteImages [static] |
Silhouette Image.
Image for restoring the silhouette.
Image for restoring the silhouette.
| std::vector<std::vector<std::vector<std::vector<int> > > > opentl::modalities::IntensityEdges::mSilhPos |
Silhouette pixels 1st index: target MODEL (NOTE: two targets with the same model share the same silhouettes) 2nd index: level of the grid 3rd index: index of state cell (at this level) 4th index: mSilhPos: pixel coordinate (as a single array index) / mSilhNorm: normal to the silhouette (index in mAngle_ratios)
1.5.8