Direct Graphical Models
v.1.7.0
|
Namespaces | |
fex | |
mathop | |
Mathematical operations. | |
parallel | |
random | |
Random number generation. | |
Serialize | |
OpenCV Mat Serialization class. | |
Timer | |
Timer | |
vis | |
Classes | |
class | CBaseRandomModel |
Base abstract class for random model training. More... | |
class | CCMat |
Confusion matrix class. More... | |
class | CDecode |
Base abstract class for random model decoding. More... | |
class | CDecodeExact |
Exact decoding class. More... | |
class | CDiffFeaturesConcatenator |
Difference features concatenator class. More... | |
class | CEdgeModelPotts |
Potts Edge Model for dense graphical models. More... | |
class | CFeaturesConcatenator |
Features concatenator base abstract class. More... | |
class | CGraph |
Interface class for graphical models. More... | |
class | CGraph3 |
Triple graph class. More... | |
class | CGraphDense |
Fully-connected (dense) graph class. More... | |
class | CGraphDenseExt |
Extended Dense graph class for 2D image classifaction. More... | |
class | CGraphDenseKit |
Kit class for constructing Dense Graph objects. More... | |
class | CGraphExt |
General graph extension abstract class for 2D image classifaction. More... | |
class | CGraphKit |
Abstract Kit class for constructing Graph-related objects. More... | |
class | CGraphLayeredExt |
Extended Pairwise Layered graph class. More... | |
class | CGraphPairwise |
Pairwise graph class. More... | |
class | CGraphPairwiseExt |
Extended Pairwise graph class for 2D image classifaction. More... | |
class | CGraphPairwiseKit |
Kit class for constructing Pairwise Graph objects. More... | |
class | CGraphWeiss |
Pairwise graph class. More... | |
class | CInfer |
Base abstract class for random model inference. More... | |
class | CInferChain |
Inference for chain graphs. More... | |
class | CInferDense |
Dense Inference for Dense CRF. More... | |
class | CInferExact |
Exact inference class. More... | |
class | CInferLBP |
Sum product Loopy Belief Propagation inference class. More... | |
class | CInferTree |
Inference for tree graphs (undirected graphs without loops) More... | |
class | CInferTRW |
Tree-reweighted inference class. More... | |
class | CInferViterbi |
Max product Viterbi inference class. More... | |
class | CKDGauss |
Multivariate Gaussian distribution class. More... | |
class | CKDNode |
k-D Node class for the k-D Tree data structure More... | |
class | CKDTree |
Class implementing k-D Tree data structure. More... | |
class | CMessagePassing |
Abstract base class for message passing inference algorithmes. More... | |
class | CPDFGaussian |
Gaissian-based PDF class. More... | |
class | CPDFHistogram |
Histogram-based PDF class (1D) More... | |
class | CPDFHistogram2D |
Histogram-based PDF class (2D) More... | |
class | CPowell |
The Powell search method class. More... | |
class | CPrior |
Base abstract class for prior probability estimation. More... | |
class | CPriorEdge |
Edge prior probability estimation class. More... | |
class | CPriorNode |
Node prior probability estimation class More... | |
class | CPriorTriplet |
Triplet prior probability estimation class. More... | |
class | CSamplesAccumulator |
Samples accumulator abstract class. More... | |
class | CSimpleFeaturesConcatenator |
Simple features concatenator class. More... | |
class | CTrainEdge |
Base abstract class for edge potentials training. More... | |
class | CTrainEdgeConcat |
Concatenated edge training class. More... | |
class | CTrainEdgePotts |
Potts edge training class. More... | |
class | CTrainEdgePottsCS |
Contrast-Sensitive Potts training class. More... | |
class | CTrainEdgePrior |
Contrast-Sensitive Potts training with edge prior probability class. More... | |
class | CTrainLink |
Base abstract class for link (inter-layer edge) potentials training. More... | |
class | CTrainLinkNested |
Nested link (inter-layer edge) training class. More... | |
class | CTrainNode |
Base abstract class for node potentials training. More... | |
class | CTrainNodeBayes |
Bayes training class. More... | |
class | CTrainNodeCvANN |
OpenCV Artificial neural network training class. More... | |
class | CTrainNodeCvGM |
OpenCV Gaussian Model training class. More... | |
class | CTrainNodeCvGMM |
OpenCV Gaussian Mixture Model training class. More... | |
class | CTrainNodeCvKNN |
OpenCV Nearest Neighbor training class. More... | |
class | CTrainNodeCvRF |
OpenCV Random Forest training class. More... | |
class | CTrainNodeCvSVM |
OpenCV Support Vector Machines training class. More... | |
class | CTrainNodeGM |
Gaussian Model training class. More... | |
class | CTrainNodeGMM |
Gaussian Mixture Model training class. More... | |
class | CTrainNodeKNN |
Nearest Neighbor training class. More... | |
class | CTrainNodeMsRF |
Microsoft Sherwood Random Forest training class. More... | |
class | CTrainTriplet |
Base abstract class for triplet potential training. More... | |
struct | Edge |
Edge structure More... | |
class | IEdgeModel |
Interface class for edge models used in dense graphical models. More... | |
class | IGraphPairwise |
Interface class for graphical models. More... | |
class | IPDF |
Interface class for Probability Density Function (PDF) More... | |
class | ITrain |
Interface class for random model training. More... | |
struct | Node |
Node structure More... | |
struct | TrainNodeCvANNParams |
OpenCV Artificial neural network parameters. More... | |
struct | TrainNodeCvGMMParams |
OpenCV Random Forest parameters. More... | |
struct | TrainNodeCvKNNParams |
OpenCV k-Nearest Neighbors parameters. More... | |
struct | TrainNodeCvRFParams |
OpenCV Random Forest parameters. More... | |
struct | TrainNodeCvSVMParams |
OpenCV Support Vector machine parameters. More... | |
struct | TrainNodeGMMParams |
Gaussian Mixture Model parameters. More... | |
struct | TrainNodeKNNParams |
k-Nearest Neighbors parameters More... | |
struct | TrainNodeMsRFParams |
Microsoft Research Random Forest parameters. More... | |
struct | Triplet |
Triplet structure More... | |
Typedefs | |
using | vec_triplet_t = std::vector< Triplet > |
using | ptr_node_t = std::unique_ptr< Node > |
using | vec_node_t = std::vector< ptr_node_t > |
using | ptr_edge_t = std::unique_ptr< Edge > |
using | vec_edge_t = std::vector< ptr_edge_t > |
using | GaussianMixture = std::vector< CKDGauss > |
typedef struct DirectGraphicalModels::TrainNodeCvANNParams | TrainNodeCvANNParams |
OpenCV Artificial neural network parameters. More... | |
typedef struct DirectGraphicalModels::TrainNodeCvGMMParams | TrainNodeCvGMMParams |
OpenCV Random Forest parameters. More... | |
typedef struct DirectGraphicalModels::TrainNodeCvKNNParams | TrainNodeCvKNNParams |
OpenCV k-Nearest Neighbors parameters. More... | |
typedef struct DirectGraphicalModels::TrainNodeCvRFParams | TrainNodeCvRFParams |
OpenCV Random Forest parameters. More... | |
typedef struct DirectGraphicalModels::TrainNodeCvSVMParams | TrainNodeCvSVMParams |
OpenCV Support Vector machine parameters. More... | |
typedef struct DirectGraphicalModels::TrainNodeGMMParams | TrainNodeGMMParams |
Gaussian Mixture Model parameters. More... | |
typedef struct DirectGraphicalModels::TrainNodeKNNParams | TrainNodeKNNParams |
k-Nearest Neighbors parameters More... | |
typedef struct DirectGraphicalModels::TrainNodeMsRFParams | TrainNodeMsRFParams |
Microsoft Research Random Forest parameters. More... | |
using | vec_nColor_t = std::vector< std::pair< Scalar, std::string > > |
using | ptr_edgeModel_t = std::shared_ptr< IEdgeModel > |
Enumerations | |
enum | RandomModelType { RM_UNARY = 1, RM_PAIRWISE, RM_TRIPLET } |
Random model types. More... | |
enum | GraphType { GraphType::pairwise, GraphType::dense } |
Types of the graphical model. More... | |
enum | graphEdgesType { GRAPH_EDGES_NONE = 0, GRAPH_EDGES_GRID = 1, GRAPH_EDGES_DIAG = 2, GRAPH_EDGES_LINK = 4 } |
Graph edges types. More... | |
enum | INFER { INFER::LBP, INFER::TRW, INFER::Viterbi } |
Types of the inference / decoding objects. More... | |
enum | ePotNormApproach { eP_APP_NORM_STANDARD, eP_APP_NORM_SYMMETRIC, eP_APP_NORM_ASYMMETRIC } |
Normalization approach flag. More... | |
enum | EdgeRandomModel : byte { Potts = 0, PottsCS, Prior, Concat } |
Types of the edge potential finction. More... | |
enum | ePotPenalApproach { eP_APP_PEN_CHAR, eP_APP_PEN_PM, eP_APP_PEN_EXP } |
Penalization approach flag. More... | |
enum | NodeRandomModel : byte { Bayes = 0, GMM, CvGMM, KNN, CvKNN, CvRF, MsRF, CvANN, CvSVM, GM, CvGM } |
Types of the node potential finction. More... | |
Functions | |
float | getAveragePrecision (const vec_byte_t &predictions, const vec_float_t &potentials, const vec_byte_t >, byte state) |
Returns Average Precision for the selected state (class) state. More... | |
float | calculateContrast (const Mat &featureVector1, const Mat &featureVector2) |
float | penalizerChar (float x, float l) |
float | penalizerPM (float x, float l) |
float | penalizerExp (float x, float l) |
double | fastPow (double a, double b) |
template<typename T , void(T::*)(byte b) SomeMethod> | |
void | DGM_ELEMENTWISE1 (T &self, const Mat &m) |
template<typename T , void(T::*)(byte b1, byte b2) SomeMethod> | |
void | DGM_ELEMENTWISE2 (T &self, const Mat &m1, const Mat &m2) |
template<typename T , void(T::*)(byte b1, byte b2) SomeMethod> | |
void | DGM_ELEMENTWISE2 (T &self, const Mat &m1, const Mat &m2, const Mat &mask) |
template<typename T , void(T::*)(const Mat &vec, byte b) SomeMethod> | |
void | DGM_VECTORWISE1 (T &self, const Mat &m1, const Mat &m2) |
template<typename T , void(T::*)(const Mat &vec, byte b) SomeMethod> | |
void | DGM_VECTORWISE1 (T &self, const vec_mat_t &m1, const Mat &m2) |
template<typename T , void(T::*)(const Mat &vec, byte b1, byte b2) SomeMethod> | |
void | DGM_VECTORWISE2 (T &self, const Mat &m1, const Mat &m2, const Mat &m3) |
template<typename T , void(T::*)(const Mat &vec, byte b1, byte b2) SomeMethod> | |
void | DGM_VECTORWISE2 (T &self, const vec_mat_t &m1, const Mat &m2, const Mat &m3) |
using DirectGraphicalModels::GaussianMixture = typedef std::vector<CKDGauss> |
using DirectGraphicalModels::ptr_edge_t = typedef std::unique_ptr<Edge> |
Definition at line 55 of file GraphPairwise.h.
using DirectGraphicalModels::ptr_edgeModel_t = typedef std::shared_ptr<IEdgeModel> |
using DirectGraphicalModels::ptr_node_t = typedef std::unique_ptr<Node> |
Definition at line 24 of file GraphPairwise.h.
typedef struct DirectGraphicalModels::TrainNodeCvANNParams DirectGraphicalModels::TrainNodeCvANNParams |
OpenCV Artificial neural network parameters.
typedef struct DirectGraphicalModels::TrainNodeCvGMMParams DirectGraphicalModels::TrainNodeCvGMMParams |
OpenCV Random Forest parameters.
typedef struct DirectGraphicalModels::TrainNodeCvKNNParams DirectGraphicalModels::TrainNodeCvKNNParams |
OpenCV k-Nearest Neighbors parameters.
typedef struct DirectGraphicalModels::TrainNodeCvRFParams DirectGraphicalModels::TrainNodeCvRFParams |
OpenCV Random Forest parameters.
typedef struct DirectGraphicalModels::TrainNodeCvSVMParams DirectGraphicalModels::TrainNodeCvSVMParams |
OpenCV Support Vector machine parameters.
Gaussian Mixture Model parameters.
k-Nearest Neighbors parameters
typedef struct DirectGraphicalModels::TrainNodeMsRFParams DirectGraphicalModels::TrainNodeMsRFParams |
Microsoft Research Random Forest parameters.
using DirectGraphicalModels::vec_edge_t = typedef std::vector<ptr_edge_t> |
Definition at line 56 of file GraphPairwise.h.
using DirectGraphicalModels::vec_nColor_t = typedef std::vector<std::pair<Scalar, std::string> > |
using DirectGraphicalModels::vec_node_t = typedef std::vector<ptr_node_t> |
Definition at line 25 of file GraphPairwise.h.
using DirectGraphicalModels::vec_triplet_t = typedef std::vector<Triplet> |
enum DirectGraphicalModels::EdgeRandomModel : byte |
Types of the edge potential finction.
Enumerator | |
---|---|
Potts | Potts Model. |
PottsCS | Contrast-Sensitive Potts Model. |
Prior | Contrast-Sensitive Potts Model with Prior. |
Concat | Concatenated Model. |
Definition at line 10 of file TrainEdge.h.
Normalization approach flag.
These flags specify the approach for normalization of the edge potential matrix. The difference between symmetric and asymmetric approaches:
Enumerator | |
---|---|
eP_APP_NORM_STANDARD | Standard approach. |
eP_APP_NORM_SYMMETRIC | Symmetric approach. |
eP_APP_NORM_ASYMMETRIC | Asymmetric approach. |
Definition at line 27 of file PriorEdge.h.
Penalization approach flag.
These flags specify which penalization function \(\mathcal{P}(d;\,\lambda)\) for penalizing the diagonal elements of the edge potential matrix will be used. Argument \(d\) usually represent the Euclidean distance between two feature vectors, which correspond to the both nodes of an edge, and thus, is a measure of similarity (or contrast) between them. Parameter \(\lambda\) defines the penalization strength. The penaliztion functions are given as follows:
Enumerator | |
---|---|
eP_APP_PEN_CHAR | Charbonnier penalization approach. |
eP_APP_PEN_PM | Perrona-Malik penalization approach. |
eP_APP_PEN_EXP | Exponential penalization approach. |
Definition at line 18 of file TrainEdgePottsCS.h.
Graph edges types.
Define the grid of edges, connecting nodes of the graph
Enumerator | |
---|---|
GRAPH_EDGES_NONE | No edges. |
GRAPH_EDGES_GRID | Vertical and horizontal edges. |
GRAPH_EDGES_DIAG | Diagonal edges. |
GRAPH_EDGES_LINK | Links (inter-layer edges) |
Definition at line 18 of file GraphLayeredExt.h.
|
strong |
Types of the graphical model.
Enumerator | |
---|---|
pairwise | Pairwise graph. |
dense | Dense (complete) graph. |
Definition at line 10 of file GraphKit.h.
|
strong |
Types of the inference / decoding objects.
Enumerator | |
---|---|
LBP | Loopy Belief Propagation inference. |
TRW | Convergent Tree-Reweighted inference. |
Viterbi | Viterbi inference. |
Definition at line 21 of file GraphPairwiseKit.h.
enum DirectGraphicalModels::NodeRandomModel : byte |
Types of the node potential finction.
Definition at line 10 of file TrainNode.h.
Random model types.
Define the maximal number of nodes in the cliques
Definition at line 13 of file BaseRandomModel.h.
float DirectGraphicalModels::calculateContrast | ( | const Mat & | featureVector1, |
const Mat & | featureVector2 | ||
) |
|
inline |
Definition at line 61 of file macroses.h.
|
inline |
Definition at line 75 of file macroses.h.
|
inline |
Definition at line 91 of file macroses.h.
|
inline |
Definition at line 109 of file macroses.h.
|
inline |
Definition at line 128 of file macroses.h.
|
inline |
Definition at line 150 of file macroses.h.
|
inline |
Definition at line 172 of file macroses.h.
|
inline |
float DirectGraphicalModels::penalizerChar | ( | float | x, |
float | l | ||
) |
float DirectGraphicalModels::penalizerExp | ( | float | x, |
float | l | ||
) |
float DirectGraphicalModels::penalizerPM | ( | float | x, |
float | l | ||
) |
const TrainNodeCvANNParams DirectGraphicalModels::TRAIN_NODE_CV_ANN_PARAMS_DEFAULT |
Definition at line 25 of file TrainNodeCvANN.h.
const TrainNodeCvGMMParams DirectGraphicalModels::TRAIN_NODE_CV_GMM_PARAMS_DEFAULT |
Definition at line 24 of file TrainNodeCvGMM.h.
const TrainNodeCvKNNParams DirectGraphicalModels::TRAIN_NODE_CV_KNN_PARAMS_DEFAULT |
Definition at line 21 of file TrainNodeCvKNN.h.
const TrainNodeCvRFParams DirectGraphicalModels::TRAIN_NODE_CV_RF_PARAMS_DEFAULT |
Definition at line 30 of file TrainNodeCvRF.h.
const TrainNodeCvSVMParams DirectGraphicalModels::TRAIN_NODE_CV_SVM_PARAMS_DEFAULT |
Definition at line 23 of file TrainNodeCvSVM.h.
const TrainNodeGMMParams DirectGraphicalModels::TRAIN_NODE_GMM_PARAMS_DEFAULT |
Definition at line 23 of file TrainNodeGMM.h.
const TrainNodeKNNParams DirectGraphicalModels::TRAIN_NODE_KNN_PARAMS_DEFAULT |
Definition at line 22 of file TrainNodeKNN.h.
const TrainNodeMsRFParams DirectGraphicalModels::TRAIN_NODE_MS_RF_PARAMS_DEFAULT |
Definition at line 35 of file TrainNodeMsRF.h.