classify_image_class_svmT_classify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm (Operator)
Name
classify_image_class_svmT_classify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm — Klassifizieren eines Bildes durch eine Support-Vektor-Maschine.
Signatur
def classify_image_class_svm(image: HObject, svmhandle: HHandle) -> HObject
Beschreibung
classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm führt auf dem mehrkanaligen Bild
ImageImageImageImageimageimage eine Pixelklassifikation mit der
Support-Vektor-Maschine (SVM) SVMHandleSVMHandleSVMHandleSVMHandleSVMHandlesvmhandle durch. Die SVM
muss vor der Verwendung von classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm mit
train_class_svmtrain_class_svmTrainClassSvmTrainClassSvmTrainClassSvmtrain_class_svm trainiert werden. ImageImageImageImageimageimage muss die
bei create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm mit NumFeaturesNumFeaturesNumFeaturesNumFeaturesnumFeaturesnum_features 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_svmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvmAddSamplesImageClassSvmadd_samples_image_class_svm definiert wurde.
Damit eine SVM Pixeldaten, die im Merkmalsraum außerhalb der konvexen Hülle
der Trainingsdaten liegen, nicht einfach klassifiziert, empfiehlt es sich in
vielen Fällen, eine Rückweisungsklasse explizit zu trainieren, indem mit
add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvmAddSamplesImageClassSvmadd_samples_image_class_svm Trainingsmuster für die
Rückweisungsklasse abgespeichert werden und die SVM mit
train_class_svmtrain_class_svmTrainClassSvmTrainClassSvmTrainClassSvmtrain_class_svm neu trainiert wird.
Eine Möglichkeit, die explizite Angabe einer Rückweisungsklasse zu vermeiden,
ist die Verwendung einer SVM im Modus 'novelty-detection'"novelty-detection""novelty-detection""novelty-detection""novelty-detection""novelty-detection" ( siehe
die entsprechende Beschreibung in create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm und
add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvmAddSamplesImageClassSvmadd_samples_image_class_svm).
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
Parameter
ImageImageImageImageimageimage (input_object) (multichannel-)image → objectHImageHObjectHImageHobject (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)
Eingabebild.
ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions (output_object) region-array → objectHRegionHObjectHRegionHobject *
Segmentierte Klassen.
SVMHandleSVMHandleSVMHandleSVMHandleSVMHandlesvmhandle (input_control) class_svm → HClassSvm, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle der SVM.
Beispiel (HDevelop)
read_image (Image, 'ic')
gen_rectangle1 (Board, 20, 270, 160, 420)
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_svm (3, 'rbf', 0.01, 0.01, 4, 'one-versus-all', \
'normalization', 3, SVMHandle)
add_samples_image_class_svm (Image, Classes, SVMHandle)
train_class_svm (SVMHandle, 0.001, 'default')
reduce_class_svm (SVMHandle, 'bottom_up', 2, 0.01, SVMHandleReduced)
classify_image_class_svm (Image, ClassRegions, SVMHandleReduced)
dev_display (ClassRegions)
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
Vorgänger
train_class_svmtrain_class_svmTrainClassSvmTrainClassSvmTrainClassSvmtrain_class_svm,
read_class_svmread_class_svmReadClassSvmReadClassSvmReadClassSvmread_class_svm,
reduce_class_svmreduce_class_svmReduceClassSvmReduceClassSvmReduceClassSvmreduce_class_svm
Alternativen
classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmClassifyImageClassGmmclassify_image_class_gmm,
classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn,
classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlpClassifyImageClassMlpclassify_image_class_mlp,
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_svmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvmAddSamplesImageClassSvmadd_samples_image_class_svm,
create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm
Modul
Foundation