classify_image_class_mlp
— Klassifizieren eines Bildes durch ein mehrschichtiges Perzeptron.
classify_image_class_mlp(Image : ClassRegions : MLPHandle, RejectionThreshold : )
classify_image_class_mlp
führt auf dem mehrkanaligen Bild
Image
eine Pixelklassifikation mit dem mehrschichtigen
Perzepton (MLP) MLPHandle
durch. Das MLP muss vor der
Verwendung von classify_image_class_mlp
mit
train_class_mlp
trainiert werden. Image
muss die
bei create_class_mlp
mit NumInput
spezifizierte
Anzahl von Kanälen besitzen. Als Ausgabe werden in
ClassRegions
NumOutput
Regionen als Ergebnis der
Pixelklassifikation zurückgegeben. Die Reihenfolge der Regionen in
ClassRegions
entspricht dabei der Reihenfolge der Klassen,
wie sie durch die Trainingsregionen in
add_samples_image_class_mlp
definiert wurde. Der Parameter
RejectionThreshold
erlaubt die Zurückweisung von zu unsicher
klassifizierten Pixeln. Er stellt einen Schwellenwert auf
dem von der Klassifikation zurückgelieferten
Wahrscheinlichkeitsmaß dar (siehe classify_class_mlp
und
evaluate_class_mlp
). Alle Pixel mit einer
Wahrscheinlichkeit unterhalb von RejectionThreshold
werden
keiner Klasse zugeordnet. Da ein MLP Pixeldaten, die im
Merkmalsraum außerhalb der konvexen Hülle der Trainingsdaten
liegen, typischerweise mit einer relativ hohen Wahrscheinlichkeit
(Konfidenz) einer der Klassen zuordnet, empfiehlt es sich in vielen
Fällen trotz der Verwendung von RejectionThreshold
, eine
Rückweisungsklasse explizit zu trainieren, indem mit
add_samples_image_class_mlp
Trainingsmuster für die
Rückweisungsklasse abgespeichert werden und das Netz mit
train_class_mlp
neu trainiert wird.
Image
(input_object) (multichannel-)image →
object (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)
Eingabebild.
ClassRegions
(output_object) region-array →
object
Segmentierte Klassen.
MLPHandle
(input_control) class_mlp →
(handle)
Handle des MLP.
RejectionThreshold
(input_control) real →
(real)
Schwellenwert für die Rückweisung der Klassifikation.
Defaultwert: 0.5
Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Restriktion: RejectionThreshold >= 0.0 && RejectionThreshold <= 1.0
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)
Sind die Parameterwerte korrekt, dann liefert
classify_image_class_mlp
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
train_class_mlp
,
read_class_mlp
classify_image_class_gmm
,
classify_image_class_knn
,
classify_image_class_svm
,
classify_image_class_lut
,
class_ndim_norm
,
class_2dim_sup
add_samples_image_class_mlp
,
create_class_mlp
Foundation