MRPT
1.9.9
|
This class arranges the planes of a PbMap into groups according to a co-visibility measure The groups are divided using graph minimum normaized-cut (minNcut). The resulting groups can be used to represent semantic groups corresponding human identifiable structures such as rooms, or environments as an office. These groups of closely related planes can be used also for relocalization.
Definition at line 45 of file SemanticClustering.h.
#include <mrpt/pbmap/SemanticClustering.h>
Public Member Functions | |
SemanticClustering (PbMap &mPbM) | |
int | evalPartition (std::set< unsigned > &observedPlanes) |
Private Member Functions | |
void | buildProximityMatrix () |
void | buildCoVisibilityMatrix () |
void | arrangeNewGroups (std::vector< std::vector< uint32_t >> &parts) |
Private Attributes | |
unsigned | currentSemanticGroup |
PbMap & | mPbMap |
std::vector< unsigned > | neighborGroups |
std::map< unsigned, std::vector< unsigned > > | groups |
std::map< unsigned, std::vector< unsigned > > | vicinity |
mrpt::math::CMatrixF | connectivity_matrix |
std::vector< unsigned > | planesVicinity_order |
Friends | |
class | PbMapMaker |
|
inline |
Definition at line 331 of file SemanticClustering.h.
References DEFAULT_VECTOR_U, and vicinity.
|
inlineprivate |
Arrange the semantic groups
Definition at line 166 of file SemanticClustering.h.
References DEFAULT_VECTOR_U, groups, mPbMap, neighborGroups, planesVicinity_order, vicinity, and mrpt::pbmap::PbMap::vPlanes.
Referenced by evalPartition().
|
inlineprivate |
Build the co-visibility matrix
Definition at line 123 of file SemanticClustering.h.
References connectivity_matrix, currentSemanticGroup, groups, min, mPbMap, neighborGroups, planesVicinity_order, mrpt::math::CMatrixDynamic< T >::resize(), mrpt::math::MatrixVectorBase< Scalar, Derived >::setZero(), vicinity, and mrpt::pbmap::PbMap::vPlanes.
|
inlineprivate |
Build the proximity matrix
Definition at line 66 of file SemanticClustering.h.
References connectivity_matrix, currentSemanticGroup, groups, mPbMap, neighborGroups, planesVicinity_order, mrpt::math::CMatrixDynamic< T >::resize(), mrpt::math::MatrixVectorBase< Scalar, Derived >::setZero(), vicinity, and mrpt::pbmap::PbMap::vPlanes.
Referenced by evalPartition().
|
inline |
Evaluate the partition of the current semantic groups into new ones with minNcut
Definition at line 340 of file SemanticClustering.h.
References arrangeNewGroups(), buildProximityMatrix(), connectivity_matrix, currentSemanticGroup, groups, mPbMap, neighborGroups, mrpt::graphs::CGraphPartitioner< GRAPH_MATRIX, num_t >::RecursiveSpectralPartition(), and mrpt::pbmap::PbMap::vPlanes.
Referenced by mrpt::pbmap::PbMapMaker::run().
|
friend |
Definition at line 328 of file SemanticClustering.h.
|
private |
Definition at line 59 of file SemanticClustering.h.
Referenced by buildCoVisibilityMatrix(), buildProximityMatrix(), and evalPartition().
|
private |
Definition at line 48 of file SemanticClustering.h.
Referenced by buildCoVisibilityMatrix(), buildProximityMatrix(), mrpt::pbmap::PbMapMaker::detectPlanesCloud(), and evalPartition().
|
private |
Definition at line 54 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), buildProximityMatrix(), mrpt::pbmap::PbMapMaker::detectPlanesCloud(), and evalPartition().
|
private |
Definition at line 50 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), buildProximityMatrix(), and evalPartition().
|
private |
Definition at line 52 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), buildProximityMatrix(), and evalPartition().
|
private |
Definition at line 61 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), and buildProximityMatrix().
|
private |
Definition at line 57 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), buildProximityMatrix(), and SemanticClustering().
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 8fe78517f Sun Jul 14 19:43:28 2019 +0200 at lun oct 28 02:10:00 CET 2019 |