KlassenKlassenKlassenKlassen | | | | Operatoren

create_class_lut_knnT_create_class_lut_knnCreateClassLutKnncreate_class_lut_knnCreateClassLutKnnCreateClassLutKnn (Operator)

Name

create_class_lut_knnT_create_class_lut_knnCreateClassLutKnncreate_class_lut_knnCreateClassLutKnnCreateClassLutKnn — Erzeugen einer Look-Up Tabelle anhand eines k-Nearest-Neighbor-Klassifikators zur Klassifizierung von Byte-Bildern.

Signatur

create_class_lut_knn( : : KNNHandle, GenParamName, GenParamValue : ClassLUTHandle)

Herror T_create_class_lut_knn(const Htuple KNNHandle, const Htuple GenParamName, const Htuple GenParamValue, Htuple* ClassLUTHandle)

Herror create_class_lut_knn(const HTuple& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* ClassLUTHandle)

HClassLUT HClassKnn::CreateClassLutKnn(const HTuple& GenParamName, const HTuple& GenParamValue) const

void HClassLUT::CreateClassLutKnn(const HClassKnn& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue)

void CreateClassLutKnn(const HTuple& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ClassLUTHandle)

void HClassLUT::HClassLUT(const HClassKnn& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue)

void HClassLUT::CreateClassLutKnn(const HClassKnn& KNNHandle, const HTuple& GenParamName, const HTuple& GenParamValue)

HClassLUT HClassKnn::CreateClassLutKnn(const HTuple& GenParamName, const HTuple& GenParamValue) const

void HOperatorSetX.CreateClassLutKnn(
[in] VARIANT KNNHandle, [in] VARIANT GenParamName, [in] VARIANT GenParamValue, [out] VARIANT* ClassLUTHandle)

void HClassLUTX.CreateClassLutKnn(
[in] IHClassKnnX* KNNHandle, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

IHClassLUTX* HClassKnnX.CreateClassLutKnn(
[in] VARIANT GenParamName, [in] VARIANT GenParamValue)

static void HOperatorSet.CreateClassLutKnn(HTuple KNNHandle, HTuple genParamName, HTuple genParamValue, out HTuple classLUTHandle)

public HClassLUT(HClassKnn KNNHandle, HTuple genParamName, HTuple genParamValue)

void HClassLUT.CreateClassLutKnn(HClassKnn KNNHandle, HTuple genParamName, HTuple genParamValue)

HClassLUT HClassKnn.CreateClassLutKnn(HTuple genParamName, HTuple genParamValue)

Beschreibung

create_class_lut_knncreate_class_lut_knnCreateClassLutKnncreate_class_lut_knnCreateClassLutKnnCreateClassLutKnn erzeugt eine Look-Up Tabelle (LUT) ClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleclassLUTHandle anhand eines trainierten k-Nearest-Neighbor-Klassifikators (k-NN) KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleKNNHandle zur Klassifizierung von mehrkanaligen Byte-Bildern. Mit diesem k-NN-basierten LUT Klassifikator kann der Operator classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnn, der für die spätere Klassifikation benötigt wird, durch den Operator classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut 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_knncreate_class_knnCreateClassKnncreate_class_knnCreateClassKnnCreateClassKnn 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_knnclassify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn 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_knnclassify_image_class_knnClassifyImageClassKnnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnn kommen. Über den Parameter 'bit_depth'"bit_depth""bit_depth""bit_depth""bit_depth""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 GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue gesetzt werden:

'bit_depth'"bit_depth""bit_depth""bit_depth""bit_depth""bit_depth":

Anzahl der verwendeten Bits der Bildpixel. 'bit_depth'"bit_depth""bit_depth""bit_depth""bit_depth""bit_depth" steuert den Speicherbedarf der LUT und ist durch die Bittiefe des Bildes beschränkt ('bit_depth'"bit_depth""bit_depth""bit_depth""bit_depth""bit_depth" <= 8). Ist die Bittiefe der LUT kleiner ('bit_depth'"bit_depth""bit_depth""bit_depth""bit_depth""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_knncreate_class_knnCreateClassKnncreate_class_knnCreateClassKnnCreateClassKnn spezifizierte Dimension der LUT beschreibt. Für 'bit_depth'"bit_depth""bit_depth""bit_depth""bit_depth""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'"bit_depth""bit_depth""bit_depth""bit_depth""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_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut wird minimal, falls die LUT in den Cache passt. Defaultwert ist 8, typische Werte sind [6,7,8]. Beschränkungen: 'bit_depth'"bit_depth""bit_depth""bit_depth""bit_depth""bit_depth" >= 1, 'bit_depth'"bit_depth""bit_depth""bit_depth""bit_depth""bit_depth" <= 8.

'rejection_threshold'"rejection_threshold""rejection_threshold""rejection_threshold""rejection_threshold""rejection_threshold":

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_knnclassify_class_knnClassifyClassKnnclassify_class_knnClassifyClassKnnClassifyClassKnn). Alle Pixel mit einer Distanz oberhalb von 'rejection_threshold'"rejection_threshold""rejection_threshold""rejection_threshold""rejection_threshold""rejection_threshold" werden keiner Klasse zugeordnet. Defaultwert ist 5. Beschränkungen: 'rejection_threshold'"rejection_threshold""rejection_threshold""rejection_threshold""rejection_threshold""rejection_threshold" >= 0.

Parallelisierung

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.

Parameter

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleKNNHandle (input_control)  class_knn HClassKnn, HTupleHTupleHClassKnn, HTupleHClassKnnX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des k-NN-Klassifikators.

GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der generischen Parameter, die für die Erzeugung des LUT Klassifikators angepasst werden können.

Defaultwert: []

Wertevorschläge: 'bit_depth'"bit_depth""bit_depth""bit_depth""bit_depth""bit_depth", 'rejection_threshold'"rejection_threshold""rejection_threshold""rejection_threshold""rejection_threshold""rejection_threshold"

GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value-array HTupleHTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

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

ClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleclassLUTHandle (output_control)  class_lut HClassLUT, HTupleHTupleHClassLUT, HTupleHClassLUTX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des LUT Klassifikators.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert create_class_lut_knncreate_class_lut_knnCreateClassLutKnncreate_class_lut_knnCreateClassLutKnnCreateClassLutKnn den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_class_knntrain_class_knnTrainClassKnntrain_class_knnTrainClassKnnTrainClassKnn, read_class_knnread_class_knnReadClassKnnread_class_knnReadClassKnnReadClassKnn

Nachfolger

classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut

Alternativen

create_class_lut_svmcreate_class_lut_svmCreateClassLutSvmcreate_class_lut_svmCreateClassLutSvmCreateClassLutSvm, create_class_lut_gmmcreate_class_lut_gmmCreateClassLutGmmcreate_class_lut_gmmCreateClassLutGmmCreateClassLutGmm, create_class_lut_mlpcreate_class_lut_mlpCreateClassLutMlpcreate_class_lut_mlpCreateClassLutMlpCreateClassLutMlp

Siehe auch

classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut, clear_class_lutclear_class_lutClearClassLutclear_class_lutClearClassLutClearClassLut

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren