create_class_lut_knn
— Erzeugen einer Look-Up Tabelle anhand eines k-Nearest-Neighbor-Klassifikators
zur Klassifizierung von Byte-Bildern.
create_class_lut_knn( : : KNNHandle, GenParamName, GenParamValue : ClassLUTHandle)
create_class_lut_knn
erzeugt eine Look-Up Tabelle (LUT)
ClassLUTHandle
anhand eines trainierten
k-Nearest-Neighbor-Klassifikators
(k-NN) KNNHandle
zur Klassifizierung von mehrkanaligen
Byte-Bildern. Mit diesem k-NN-basierten LUT Klassifikator kann der Operator
classify_image_class_knn
, der für die spätere Klassifikation
benötigt wird, durch den Operator classify_image_class_lut
ersetzt
werden. Die Klassifikation wird dadurch deutlich beschleunigt, weil die
entsprechende Klasse nicht in jedem Bildpunkt extra berechnet werden muss,
da alle möglichen Antworten des k-NN in der LUT gespeichert sind. Für die
Erzeugung der LUT sind der im zuvor aufgerufenen Operator
create_class_knn
definierte Parameter NumDim
,
von Bedeutung.
In NumDim
ist festgelegt, wie viele Kanäle die zu klassifizierenden
Bilder haben dürfen. Beim Erzeugen der LUT werden alle
Pixelwerte mit classify_class_knn
klassifiziert und die
resultierenden Klassen in der LUT gespeichert. Aufgrund der diskreten
Struktur der LUT kann es dabei zu einem Genauigkeitsverlust gegenüber
der Klassifizierung mit classify_image_class_knn
kommen.
Über den Parameter 'bit_depth'
kann die Klassifizierungsgenauigkeit, der Speichbedarf und die
Laufzeit zur Erzeugung der LUT angepasst werden.
Die folgenden Parameter des k-NN-basierten LUT Klassifikators können mit
GenParamName
und GenParamValue
gesetzt werden:
Anzahl der verwendeten Bits der Bildpixel. 'bit_depth' steuert
den Speicherbedarf der LUT und ist durch die Bittiefe des Bildes beschränkt
('bit_depth' <= 8). Ist die Bittiefe der LUT
kleiner ('bit_depth' < 8), werden die Klassen von
mehreren Pixelkombinationen auf den selben Eintrag der LUT abgebildet,
was die Klassifizierungsgenauigkeit verringern kann. Einer dieser Cluster
enthält
Pixelkombinationen,
wobei NumDim
die in create_class_knn
spezifizierte
Dimension der LUT beschreibt. Für 'bit_depth' = 7,
NumDim
= 3 werden beispielsweise die Klassen
von 8 Pixelkombinationen auf den selben Eintrag der LUT
abgebildet. Die LUT benötigt maximal
Bytes vom Speicher.
Für NumDim
= 3,
'bit_depth' = 8 werden beispielsweise durch eine
interne Speicheroptimierung ca. 8 MB Speicher für die LUT benötigt.
Die Laufzeit der Klassifizierung in classify_image_class_lut
wird minimal, falls die LUT in den Cache passt.
Defaultwert ist 8,
typische Werte sind [6,7,8].
Beschränkungen: 'bit_depth' >= 1,
'bit_depth' <= 8.
Schwellwert zur Zurückweisung unsicher klassifizierter Punkte des kNN.
Der Parameter stellt einen Schwellwert auf dem von der Klassifikation
zurückgelieferten Distanzwert dar
(siehe classify_class_knn
).
Alle Pixel mit einer Distanz oberhalb von
'rejection_threshold' werden keiner Klasse zugeordnet.
Defaultwert ist 5.
Beschränkungen: 'rejection_threshold' >= 0.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
KNNHandle
(input_control) class_knn →
(handle)
Handle des k-NN-Klassifikators.
GenParamName
(input_control) attribute.name-array →
(string)
Namen der generischen Parameter, die für die Erzeugung des LUT Klassifikators angepasst werden können.
Defaultwert: []
Wertevorschläge: 'bit_depth' , 'rejection_threshold'
GenParamValue
(input_control) attribute.value-array →
(string / integer / real)
Werte der generischen Parameter, die für die Erzeugung des LUT Klassifikators angepasst werden können.
Defaultwert: []
Wertevorschläge: 8, 7, 6, 0.5, 5, 10, 50
ClassLUTHandle
(output_control) class_lut →
(handle)
Handle des LUT Klassifikators.
Sind die Parameterwerte korrekt, dann liefert
create_class_lut_knn
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
train_class_knn
,
read_class_knn
create_class_lut_svm
,
create_class_lut_gmm
,
create_class_lut_mlp
classify_image_class_lut
,
clear_class_lut
Foundation