| Operatoren |
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, GenParamNames, GenParamValues : 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 GenParamNames und GenParamValues 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 2^(NumDim*(8-bit_depth)) 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 2^(NumDim*bit_depth+2) 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.
Handle des k-NN-Klassifikators.
Namen der generischen Parameter, die für die Erzeugung des LUT Klassifikators angepasst werden können.
Defaultwert: []
Wertevorschläge: 'bit_depth', 'rejection_threshold'
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
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
| Operatoren |