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_knnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn führt auf dem mehrkanaligen Bild ImageImageImageimageimage eine Pixelklassifikation mit dem k-NN-Klassifikator KNNHandleKNNHandleKNNHandleKNNHandleknnhandle durch. Der k-NN muss vor der Verwendung von classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn mit train_class_knntrain_class_knnTrainClassKnnTrainClassKnntrain_class_knn trainiert werden. ImageImageImageimageimage muss die bei create_class_knncreate_class_knnCreateClassKnnCreateClassKnncreate_class_knn mit NumInputNumInputNumInputnumInputnum_input spezifizierte Anzahl von Kanälen besitzen. Als Ausgabe werden in ClassRegionsClassRegionsClassRegionsclassRegionsclass_regions NumClassesNumClassesNumClassesnumClassesnum_classes Regionen als Ergebnis der Pixelklassifikation zurückgegeben. Die Reihenfolge der Regionen in ClassRegionsClassRegionsClassRegionsclassRegionsclass_regions entspricht dabei der Reihenfolge der Klassen, wie sie durch die Trainingsregionen in add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnadd_samples_image_class_knn definiert wurde. Der Parameter RejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_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_knnClassifyClassKnnClassifyClassKnnclassify_class_knn). Alle Pixel mit einer Wahrscheinlichkeit unterhalb von RejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_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 RejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold, eine Rückweisungsklasse explizit zu trainieren, indem mit add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnadd_samples_image_class_knn Trainingsmuster für die Rückweisungsklasse abgespeichert werden und der k-NN mit train_class_knntrain_class_knnTrainClassKnnTrainClassKnntrain_class_knn neu trainiert wird.

Ausführungsinformationen

Parameter

ImageImageImageimageimage (input_object)  (multichannel-)image objectHImageHObjectHObjectHobject (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)

Eingabebild.

ClassRegionsClassRegionsClassRegionsclassRegionsclass_regions (output_object)  region-array objectHRegionHObjectHObjectHobject * (real)

Segmentierte Klassen.

DistanceImageDistanceImageDistanceImagedistanceImagedistance_image (output_object)  image objectHImageHObjectHObjectHobject *

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

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

Handle des k-NN-Klassifikators.

RejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Schwellenwert für die Rückweisung der Klassifikation.

Default: 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_knnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn den Wert 2 ( H_MSG_TRUE) . Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_class_knntrain_class_knnTrainClassKnnTrainClassKnntrain_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnread_class_knn

Alternativen

classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm, classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlpclassify_image_class_mlp, classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmclassify_image_class_gmm, classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormclass_ndim_norm, class_2dim_supclass_2dim_supClass2dimSupClass2dimSupclass_2dim_sup

Siehe auch

add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnadd_samples_image_class_knn, create_class_knncreate_class_knnCreateClassKnnCreateClassKnncreate_class_knn

Modul

Foundation