classify_image_class_knnT_classify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn (Operator)

Name

classify_image_class_knnT_classify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn — Klassifizieren eines Bildes durch einen k-NN-Klassifikator

Signatur

classify_image_class_knn(Image : ClassRegions, DistanceImage : KNNHandle, RejectionThreshold : )

Herror T_classify_image_class_knn(const Hobject Image, Hobject* ClassRegions, Hobject* DistanceImage, const Htuple KNNHandle, const Htuple RejectionThreshold)

void ClassifyImageClassKnn(const HObject& Image, HObject* ClassRegions, HObject* DistanceImage, const HTuple& KNNHandle, const HTuple& RejectionThreshold)

HRegion HImage::ClassifyImageClassKnn(HImage* DistanceImage, const HClassKnn& KNNHandle, double RejectionThreshold) const

HRegion HClassKnn::ClassifyImageClassKnn(const HImage& Image, HImage* DistanceImage, double RejectionThreshold) const

static void HOperatorSet.ClassifyImageClassKnn(HObject image, out HObject classRegions, out HObject distanceImage, HTuple KNNHandle, HTuple rejectionThreshold)

HRegion HImage.ClassifyImageClassKnn(out HImage distanceImage, HClassKnn KNNHandle, double rejectionThreshold)

HRegion HClassKnn.ClassifyImageClassKnn(HImage image, out HImage distanceImage, double rejectionThreshold)

def classify_image_class_knn(image: HObject, knnhandle: HHandle, rejection_threshold: float) -> Tuple[HObject, HObject]

Beschreibung

classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn führt auf dem mehrkanaligen Bild ImageImageImageImageimageimage eine Pixelklassifikation mit dem k-NN-Klassifikator KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle durch. Der k-NN muss vor der Verwendung von classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn mit train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn trainiert werden. ImageImageImageImageimageimage muss die bei create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnncreate_class_knn mit NumInput spezifizierte Anzahl von Kanälen besitzen. Als Ausgabe werden in ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions NumClassesNumClassesNumClassesNumClassesnumClassesnum_classes Regionen als Ergebnis der Pixelklassifikation zurückgegeben. Die Reihenfolge der Regionen in ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions entspricht dabei der Reihenfolge der Klassen, wie sie durch die Trainingsregionen in add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnAddSamplesImageClassKnnadd_samples_image_class_knn definiert wurde. Der Parameter RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold 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_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnnclassify_class_knn). Alle Pixel mit einer Wahrscheinlichkeit unterhalb von RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold werden keiner Klasse zugeordnet. Da ein k-NN-Klassifikator bei Pixeldaten, die im Merkmalsraum außerhalb der konvexen Hülle der Trainingsdaten liegen einer der Klassen zuordnet, empfiehlt es sich in vielen Fällen, trotz der Verwendung von RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold, eine Rückweisungsklasse explizit zu trainieren, indem mit add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnAddSamplesImageClassKnnadd_samples_image_class_knn Trainingsmuster für die Rückweisungsklasse abgespeichert werden und der k-NN mit train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn neu trainiert wird.

Ausführungsinformationen

Parameter

ImageImageImageImageimageimage (input_object)  (multichannel-)image objectHImageHObjectHImageHobject (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)

Eingabebild.

ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions (output_object)  region-array objectHRegionHObjectHRegionHobject * (real)

Segmentierte Klassen.

DistanceImageDistanceImageDistanceImageDistanceImagedistanceImagedistance_image (output_object)  image objectHImageHObjectHImageHobject *

Bild mit Distanzen pro Pixel zum jeweiligen nächsten Nachbarn.

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandleknnhandle (input_control)  class_knn HClassKnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des k-NN-Klassifikators.

RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Schwellenwert für die Rückweisung der Klassifikation.

Defaultwert: 0.5

Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 5.0, 10.0, 255.0

Restriktion: RejectionThreshold >= 0.0

Beispiel (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_knn (3, KNNHandle)
add_samples_image_class_knn (Image, Classes, KNNHandle)
get_sample_num_class_knn (KNNHandle, NumSamples)
train_class_knn (KNNHandle, [], [])
classify_image_class_knn (Image, ClassRegions, DistanceImage, KNNHandle, 0.5)
dev_display (ClassRegions)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn den Wert TRUE. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnntrain_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnnread_class_knn

Alternativen

classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm, classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlpClassifyImageClassMlpclassify_image_class_mlp, classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmClassifyImageClassGmmclassify_image_class_gmm, classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm, class_2dim_supclass_2dim_supClass2dimSupClass2dimSupClass2dimSupclass_2dim_sup

Siehe auch

add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnAddSamplesImageClassKnnadd_samples_image_class_knn, create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnncreate_class_knn

Modul

Foundation