Operator Reference
classify_image_class_mlp (Operator)
classify_image_class_mlp — Classify an image with a multilayer perceptron.
Signature
classify_image_class_mlp(Image : ClassRegions : MLPHandle, RejectionThreshold : )
Description
classify_image_class_mlp performs a pixel classification
with the multilayer perceptron (MLP) MLPHandle on the
multichannel image Image. Before calling
classify_image_class_mlp the MLP must be trained with
train_class_mlp. Image must have NumInput
channels, as specified with create_class_mlp. On output,
ClassRegions contains NumOutput regions as the
result of the classification. Note that the order of the regions that
are returned in ClassRegions corresponds to the order of the
classes as defined by the training regions in
add_samples_image_class_mlp. The parameter
RejectionThreshold can be used to reject pixels that have
an uncertain classification. RejectionThreshold represents
a threshold on the probability measure returned by the
classification (see classify_class_mlp and
evaluate_class_mlp). All pixels having a probability below
RejectionThreshold are not assigned to any class. Because
an MLP typically assigns pixels that lie outside the convex hull of
the training data in the feature space to one of the classes with
high probability (confidence), it is useful in many cases to
explicitly train a rejection class, even if
RejectionThreshold is used, by adding samples for the
rejection class with add_samples_image_class_mlp and by
re-training the MLP with train_class_mlp.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on internal data level.
Parameters
Image (input_object) (multichannel-)image → object (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)
Input image.
ClassRegions (output_object) region-array → object
Segmented classes.
MLPHandle (input_control) class_mlp → (handle)
MLP handle.
RejectionThreshold (input_control) real → (real)
Threshold for the rejection of the classification.
Default: 0.5
Suggested values: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Restriction:
RejectionThreshold >= 0.0 && RejectionThreshold <= 1.0
Example (HDevelop)
read_image (Image, 'ic')
gen_rectangle1 (Board, 80, 320, 110, 350)
gen_rectangle1 (Capacitor, 359, 263, 371, 302)
gen_rectangle1 (Resistor, 200, 252, 290, 256)
gen_rectangle1 (IC, 180, 135, 216, 165)
concat_obj (Board, Capacitor, Classes)
concat_obj (Classes, Resistor, Classes)
concat_obj (Classes, IC, Classes)
create_class_mlp (3, 3, 4, 'softmax', 'principal_components', 3, 42, \
MLPHandle)
add_samples_image_class_mlp (Image, Classes, MLPHandle)
get_sample_num_class_mlp (MLPHandle, NumSamples)
train_class_mlp (MLPHandle, 200, 1, 0.01, Error, ErrorLog)
classify_image_class_mlp (Image, ClassRegions, MLPHandle, 0.5)
dev_display (ClassRegions)
Result
If the parameters are valid, the operator
classify_image_class_mlp returns the value 2 (
H_MSG_TRUE)
. If
necessary an exception is raised.
Possible Predecessors
train_class_mlp,
read_class_mlp
Alternatives
classify_image_class_gmm,
classify_image_class_knn,
classify_image_class_svm,
classify_image_class_lut,
class_ndim_norm,
class_2dim_sup
See also
add_samples_image_class_mlp,
create_class_mlp
Module
Foundation