ClassesClassesClassesClasses | | | | Operators

classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm (Operator)

Name

classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm — Classify an image with a support vector machine.

Signature

classify_image_class_svm(Image : ClassRegions : SVMHandle : )

Herror classify_image_class_svm(const Hobject Image, Hobject* ClassRegions, const Hlong SVMHandle)

Herror T_classify_image_class_svm(const Hobject Image, Hobject* ClassRegions, const Htuple SVMHandle)

Herror classify_image_class_svm(Hobject Image, Hobject* ClassRegions, const HTuple& SVMHandle)

HRegionArray HImage::ClassifyImageClassSvm(const HClassSvm& SVMHandle) const

HRegionArray HClassSvm::ClassifyImageClassSvm(const HImage& Image) const

void ClassifyImageClassSvm(const HObject& Image, HObject* ClassRegions, const HTuple& SVMHandle)

HRegion HImage::ClassifyImageClassSvm(const HClassSvm& SVMHandle) const

HRegion HClassSvm::ClassifyImageClassSvm(const HImage& Image) const

void HOperatorSetX.ClassifyImageClassSvm(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ClassRegions, [in] VARIANT SVMHandle)

IHRegionX* HImageX.ClassifyImageClassSvm([in] IHClassSvmX* SVMHandle)

IHRegionX* HClassSvmX.ClassifyImageClassSvm([in] IHImageX* Image)

static void HOperatorSet.ClassifyImageClassSvm(HObject image, out HObject classRegions, HTuple SVMHandle)

HRegion HImage.ClassifyImageClassSvm(HClassSvm SVMHandle)

HRegion HClassSvm.ClassifyImageClassSvm(HImage image)

Description

classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm performs a pixel classification with the support vector machine (SVM) SVMHandleSVMHandleSVMHandleSVMHandleSVMHandleSVMHandle on the multichannel image ImageImageImageImageImageimage. Before calling classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm the SVM must be trained with train_class_svmtrain_class_svmTrainClassSvmtrain_class_svmTrainClassSvmTrainClassSvm. ImageImageImageImageImageimage must have NumFeatures channels, as specified with create_class_svmcreate_class_svmCreateClassSvmcreate_class_svmCreateClassSvmCreateClassSvm. On output, ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions contains NumClasses regions as the result of the classification.

To prevent that the SVM assigns pixels that lie outside the convex hull of the training data in the feature space to one of the classes, it is useful in many cases to explicitly train a rejection class by adding samples for the rejection class with add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvm and by re-training the SVM with train_class_svmtrain_class_svmTrainClassSvmtrain_class_svmTrainClassSvmTrainClassSvm.

An alternative for explicitly defining a rejection class is to use an SVM in the mode 'novelty-detection'"novelty-detection""novelty-detection""novelty-detection""novelty-detection""novelty-detection". Please refer to the description in create_class_svmcreate_class_svmCreateClassSvmcreate_class_svmCreateClassSvmCreateClassSvm and add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvm.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)

Input image.

ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions (output_object)  region-array objectHRegionHRegionHRegionArrayHRegionXHobject *

Segmented classes.

SVMHandleSVMHandleSVMHandleSVMHandleSVMHandleSVMHandle (input_control)  class_svm HClassSvm, HTupleHTupleHClassSvm, HTupleHClassSvmX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

SVM handle.

Example (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)
clear_class_svm (SVMHandleReduced)
clear_class_svm (SVMHandle)

Result

If the parameters are valid the operator classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.

Possible Predecessors

train_class_svmtrain_class_svmTrainClassSvmtrain_class_svmTrainClassSvmTrainClassSvm, read_class_svmread_class_svmReadClassSvmread_class_svmReadClassSvmReadClassSvm, reduce_class_svmreduce_class_svmReduceClassSvmreduce_class_svmReduceClassSvmReduceClassSvm

Alternatives

classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmm, classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnn, classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlp, classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut, class_ndim_boxclass_ndim_boxClassNdimBoxclass_ndim_boxClassNdimBoxClassNdimBox, class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm, class_2dim_supclass_2dim_supClass2dimSupclass_2dim_supClass2dimSupClass2dimSup

See also

add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvm, create_class_svmcreate_class_svmCreateClassSvmcreate_class_svmCreateClassSvmCreateClassSvm

Module

Foundation


ClassesClassesClassesClasses | | | | Operators