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 46 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::CMatrix | connectivity_matrix |
std::vector< unsigned > | planesVicinity_order |
Friends | |
class | PbMapMaker |
|
inline |
Definition at line 368 of file SemanticClustering.h.
References DEFAULT_VECTOR_U, and vicinity.
|
inlineprivate |
Arrange the semantic groups
Definition at line 189 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 124 of file SemanticClustering.h.
References connectivity_matrix, currentSemanticGroup, groups, min, mPbMap, neighborGroups, planesVicinity_order, vicinity, and mrpt::pbmap::PbMap::vPlanes.
|
inlineprivate |
Build the proximity matrix
Definition at line 67 of file SemanticClustering.h.
References connectivity_matrix, currentSemanticGroup, groups, mPbMap, neighborGroups, planesVicinity_order, 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 377 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 365 of file SemanticClustering.h.
|
private |
Definition at line 60 of file SemanticClustering.h.
Referenced by buildCoVisibilityMatrix(), buildProximityMatrix(), and evalPartition().
|
private |
Definition at line 49 of file SemanticClustering.h.
Referenced by buildCoVisibilityMatrix(), buildProximityMatrix(), mrpt::pbmap::PbMapMaker::detectPlanesCloud(), and evalPartition().
|
private |
Definition at line 55 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), buildProximityMatrix(), mrpt::pbmap::PbMapMaker::detectPlanesCloud(), and evalPartition().
|
private |
Definition at line 51 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), buildProximityMatrix(), and evalPartition().
|
private |
Definition at line 53 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), buildProximityMatrix(), and evalPartition().
|
private |
Definition at line 62 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), and buildProximityMatrix().
|
private |
Definition at line 58 of file SemanticClustering.h.
Referenced by arrangeNewGroups(), buildCoVisibilityMatrix(), buildProximityMatrix(), and SemanticClustering().
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020 |