HALCON Reference Manual 10.0.2
Table of Contents / Classification / Gaussian Mixture Models ClassesClassesClasses | | | Operators

classify_class_gmmT_classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmm (Operator)

Name

classify_class_gmmT_classify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmm — Calculate the class of a feature vector by a Gaussian Mixture Model.

Signature

classify_class_gmm( : : GMMHandle, Features, Num : ClassID, ClassProb, Density, KSigmaProb)

Herror T_classify_class_gmm(const Htuple GMMHandle, const Htuple Features, const Htuple Num, Htuple* ClassID, Htuple* ClassProb, Htuple* Density, Htuple* KSigmaProb)

Herror classify_class_gmm(const HTuple& GMMHandle, const HTuple& Features, const HTuple& Num, HTuple* ClassID, HTuple* ClassProb, HTuple* Density, HTuple* KSigmaProb)

HTuple HClassGmm::ClassifyClassGmm(const HTuple& Features, const HTuple& Num, HTuple* ClassProb, HTuple* Density, HTuple* KSigmaProb) const

void HOperatorSetX.ClassifyClassGmm(
[in] VARIANT GMMHandle, [in] VARIANT Features, [in] VARIANT Num, [out] VARIANT* ClassID, [out] VARIANT* ClassProb, [out] VARIANT* Density, [out] VARIANT* KSigmaProb)

VARIANT HClassGmmX.ClassifyClassGmm(
[in] VARIANT Features, [in] Hlong Num, [out] VARIANT* ClassProb, [out] VARIANT* Density, [out] VARIANT* KSigmaProb)

static void HOperatorSet.ClassifyClassGmm(HTuple GMMHandle, HTuple features, HTuple num, out HTuple classID, out HTuple classProb, out HTuple density, out HTuple KSigmaProb)

HTuple HClassGmm.ClassifyClassGmm(HTuple features, int num, out HTuple classProb, out HTuple density, out HTuple KSigmaProb)

Description

classify_class_gmmclassify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmm computes the best NumNumNumNumnum classes of the feature vector FeaturesFeaturesFeaturesFeaturesfeatures with the Gaussian Mixture Model (GMM) GMMHandleGMMHandleGMMHandleGMMHandleGMMHandle and returns the classes in ClassIDClassIDClassIDClassIDclassID and the corresponding probabilities of the classes in ClassProbClassProbClassProbClassProbclassProb. Before calling classify_class_gmmclassify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmm, the GMM must be trained with train_class_gmmtrain_class_gmmtrain_class_gmmTrainClassGmmTrainClassGmm.

classify_class_gmmclassify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmm corresponds to a call to evaluate_class_gmmevaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmm and an additional step that extracts the best NumNumNumNumnum classes. As described with evaluate_class_gmmevaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmm, the output values of the GMM can be interpreted as probabilities of the occurrence of the respective classes. However, here the posterior probability ClassProbClassProbClassProbClassProbclassProb is further normalized as ClassProbClassProbClassProbClassProbclassProb = p(i|x)/p(x) , where p(i|x) and p(x) are specified with evaluate_class_gmmevaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmm. In most cases it should be sufficient to use NumNumNumNumnum = 1 in order to decide whether the probability of the best class is high enough. In some applications it may be interesting to also take the second best class into account (NumNumNumNumnum = 2), particularly if it can be expected that the classes show a significant degree of overlap.

DensityDensityDensityDensitydensity and KSigmaProbKSigmaProbKSigmaProbKSigmaProbKSigmaProb are explained with evaluate_class_gmmevaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmm.

Parallelization

Parameters

GMMHandleGMMHandleGMMHandleGMMHandleGMMHandle (input_control)  class_gmm HClassGmm, HTupleHClassGmm, HTupleHClassGmmX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong)

GMM handle.

FeaturesFeaturesFeaturesFeaturesfeatures (input_control)  real-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Feature vector.

NumNumNumNumnum (input_control)  integer HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Number of best classes to determine.

Default value: 1

Suggested values: 1, 2, 3, 4, 5

ClassIDClassIDClassIDClassIDclassID (output_control)  integer(-array) HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Result of classifying the feature vector with the GMM.

ClassProbClassProbClassProbClassProbclassProb (output_control)  real-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

A-posteriori probability of the classes.

DensityDensityDensityDensitydensity (output_control)  real-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Probability density of the feature vector.

KSigmaProbKSigmaProbKSigmaProbKSigmaProbKSigmaProb (output_control)  real-array HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Normalized k-sigma-probability for the feature vector.

Result

If the parameters are valid, the operator classify_class_gmmclassify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmm returns the value 2 (H_MSG_TRUE). If necessary an exception is raised.

Possible Predecessors

train_class_gmmtrain_class_gmmtrain_class_gmmTrainClassGmmTrainClassGmm, read_class_gmmread_class_gmmread_class_gmmReadClassGmmReadClassGmm

Alternatives

evaluate_class_gmmevaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmm

See also

create_class_gmmcreate_class_gmmcreate_class_gmmCreateClassGmmCreateClassGmm

References

Christopher M. Bishop: “Neural Networks for Pattern Recognition”; Oxford University Press, Oxford; 1995.
Mario A.T. Figueiredo: “Unsupervised Learning of Finite Mixture Models”; IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 24, No. 3; March 2002.

Module

Foundation


Table of Contents / Classification / Gaussian Mixture Models ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH