HALCON Reference Manual 10.0.2
Table of Contents / Classification / Neural Nets ClassesClassesClasses | | | Operators

classify_class_mlpT_classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlp (Operator)

Name

classify_class_mlpT_classify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlp — Calculate the class of a feature vector by a multilayer perceptron.

Signature

classify_class_mlp( : : MLPHandle, Features, Num : Class, Confidence)

Herror T_classify_class_mlp(const Htuple MLPHandle, const Htuple Features, const Htuple Num, Htuple* Class, Htuple* Confidence)

Herror classify_class_mlp(const HTuple& MLPHandle, const HTuple& Features, const HTuple& Num, Hlong* Class, double* Confidence)

Herror classify_class_mlp(const HTuple& MLPHandle, const HTuple& Features, const HTuple& Num, HTuple* Class, HTuple* Confidence)

HTuple HClassMlp::ClassifyClassMlp(const HTuple& Features, const HTuple& Num, HTuple* Confidence) const

void HOperatorSetX.ClassifyClassMlp(
[in] VARIANT MLPHandle, [in] VARIANT Features, [in] VARIANT Num, [out] VARIANT* Class, [out] VARIANT* Confidence)

VARIANT HClassMlpX.ClassifyClassMlp(
[in] VARIANT Features, [in] VARIANT Num, [out] VARIANT* Confidence)

static void HOperatorSet.ClassifyClassMlp(HTuple MLPHandle, HTuple features, HTuple num, out HTuple classVal, out HTuple confidence)

HTuple HClassMlp.ClassifyClassMlp(HTuple features, HTuple num, out HTuple confidence)

int HClassMlp.ClassifyClassMlp(HTuple features, HTuple num, out double confidence)

Description

classify_class_mlpclassify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlp computes the best NumNumNumNumnum classes of the feature vector FeaturesFeaturesFeaturesFeaturesfeatures with the multilayer perceptron (MLP) MLPHandleMLPHandleMLPHandleMLPHandleMLPHandle and returns the classes in ClassClassClassClassclassVal and the corresponding confidences (probabilities) of the classes in ConfidenceConfidenceConfidenceConfidenceconfidence. Before calling classify_class_mlpclassify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlp, the MLP must be trained with train_class_mlptrain_class_mlptrain_class_mlpTrainClassMlpTrainClassMlp.

classify_class_mlpclassify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlp can only be called if the MLP is used as a classifier with OutputFunction = 'softmax'"softmax""softmax""softmax""softmax" (see create_class_mlpcreate_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlp). Otherwise, an error message is returned. classify_class_mlpclassify_class_mlpclassify_class_mlpClassifyClassMlpClassifyClassMlp corresponds to a call to evaluate_class_mlpevaluate_class_mlpevaluate_class_mlpEvaluateClassMlpEvaluateClassMlp and an additional step that extracts the best NumNumNumNumnum classes. As described with evaluate_class_mlpevaluate_class_mlpevaluate_class_mlpEvaluateClassMlpEvaluateClassMlp, the output values of the MLP 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 defined as in 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.

Parallelization

Parameters

MLPHandleMLPHandleMLPHandleMLPHandleMLPHandle (input_control)  class_mlp HClassMlp, HTupleHClassMlp, HTupleHClassMlpX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong)

MLP handle.

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

Feature vector.

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

Number of best classes to determine.

Default value: 1

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

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

Result of classifying the feature vector with the MLP.

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

Confidence(s) of the class(es) of the feature vector.

Result

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

Possible Predecessors

train_class_mlptrain_class_mlptrain_class_mlpTrainClassMlpTrainClassMlp, read_class_mlpread_class_mlpread_class_mlpReadClassMlpReadClassMlp

Alternatives

evaluate_class_mlpevaluate_class_mlpevaluate_class_mlpEvaluateClassMlpEvaluateClassMlp

See also

create_class_mlpcreate_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlp

References

Christopher M. Bishop: “Neural Networks for Pattern Recognition”; Oxford University Press, Oxford; 1995.
Andrew Webb: “Statistical Pattern Recognition”; Arnold, London; 1999.

Module

Foundation


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