Main MRPT website > C++ reference for MRPT 1.5.8
List of all members | Public Member Functions | Private Member Functions | Private Attributes | Friends
mrpt::pbmap::SemanticClustering Class Reference

Detailed Description

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
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


class PbMapMaker

Constructor & Destructor Documentation

◆ SemanticClustering()

mrpt::pbmap::SemanticClustering::SemanticClustering ( PbMap mPbM)

Definition at line 315 of file SemanticClustering.h.


Member Function Documentation

◆ arrangeNewGroups()

void mrpt::pbmap::SemanticClustering::arrangeNewGroups ( std::vector< mrpt::vector_uint > &  parts)

Arrange the semantic groups

Definition at line 175 of file SemanticClustering.h.

References DEFAULT_VECTOR_U, and mrpt::pbmap::PbMap::vPlanes.

◆ buildCoVisibilityMatrix()

void mrpt::pbmap::SemanticClustering::buildCoVisibilityMatrix ( )

Build the co-visibility matrix

Definition at line 118 of file SemanticClustering.h.

References min, and mrpt::pbmap::PbMap::vPlanes.

◆ buildProximityMatrix()

void mrpt::pbmap::SemanticClustering::buildProximityMatrix ( )

Build the proximity matrix

Definition at line 65 of file SemanticClustering.h.

References mrpt::pbmap::PbMap::vPlanes.

◆ evalPartition()

int mrpt::pbmap::SemanticClustering::evalPartition ( std::set< unsigned > &  observedPlanes)

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().

Friends And Related Function Documentation

◆ PbMapMaker

friend class PbMapMaker

Definition at line 312 of file SemanticClustering.h.

Member Data Documentation

◆ connectivity_matrix

mrpt::math::CMatrix mrpt::pbmap::SemanticClustering::connectivity_matrix

Definition at line 58 of file SemanticClustering.h.

◆ currentSemanticGroup

unsigned mrpt::pbmap::SemanticClustering::currentSemanticGroup

Definition at line 48 of file SemanticClustering.h.

Referenced by mrpt::pbmap::PbMapMaker::detectPlanesCloud().

◆ groups

std::map<unsigned, std::vector<unsigned> > mrpt::pbmap::SemanticClustering::groups

Definition at line 54 of file SemanticClustering.h.

Referenced by mrpt::pbmap::PbMapMaker::detectPlanesCloud().

◆ mPbMap

PbMap& mrpt::pbmap::SemanticClustering::mPbMap

Definition at line 50 of file SemanticClustering.h.

◆ neighborGroups

std::vector<unsigned> mrpt::pbmap::SemanticClustering::neighborGroups

Definition at line 52 of file SemanticClustering.h.

◆ planesVicinity_order

std::vector<unsigned> mrpt::pbmap::SemanticClustering::planesVicinity_order

Definition at line 60 of file SemanticClustering.h.

◆ vicinity

std::map<unsigned, std::vector<unsigned> > mrpt::pbmap::SemanticClustering::vicinity

Definition at line 56 of file SemanticClustering.h.

Page generated by Doxygen 1.8.14 for MRPT 1.5.8 Git: f67d0f871 Wed Sep 25 18:32:17 2019 +0200 at lun oct 28 01:58:29 CET 2019