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 44 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< mrpt::vector_uint > &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 315 of file SemanticClustering.h.
References DEFAULT_VECTOR_U.
|
inlineprivate |
Arrange the semantic groups
Definition at line 175 of file SemanticClustering.h.
References DEFAULT_VECTOR_U, and mrpt::pbmap::PbMap::vPlanes.
|
inlineprivate |
Build the co-visibility matrix
Definition at line 118 of file SemanticClustering.h.
References min, and mrpt::pbmap::PbMap::vPlanes.
|
inlineprivate |
Build the proximity matrix
Definition at line 65 of file SemanticClustering.h.
References mrpt::pbmap::PbMap::vPlanes.
|
inline |
Evaluate the partition of the current semantic groups into new ones with minNcut
Definition at line 325 of file SemanticClustering.h.
References mrpt::graphs::CGraphPartitioner< GRAPH_MATRIX, num_t >::RecursiveSpectralPartition(), and mrpt::pbmap::PbMap::vPlanes.
Referenced by mrpt::pbmap::PbMapMaker::run().
|
friend |
Definition at line 312 of file SemanticClustering.h.
|
private |
Definition at line 58 of file SemanticClustering.h.
|
private |
Definition at line 48 of file SemanticClustering.h.
Referenced by mrpt::pbmap::PbMapMaker::detectPlanesCloud().
|
private |
Definition at line 54 of file SemanticClustering.h.
Referenced by mrpt::pbmap::PbMapMaker::detectPlanesCloud().
|
private |
Definition at line 50 of file SemanticClustering.h.
|
private |
Definition at line 52 of file SemanticClustering.h.
|
private |
Definition at line 60 of file SemanticClustering.h.
|
private |
Definition at line 56 of file SemanticClustering.h.
Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019 |