ClassesClassesClassesClasses | | | | Operators

add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvm (Operator)

Name

add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvm — Add training samples from an image to the training data of a support vector machine.

Signature

add_samples_image_class_svm(Image, ClassRegions : : SVMHandle : )

Herror add_samples_image_class_svm(const Hobject Image, const Hobject ClassRegions, const Hlong SVMHandle)

Herror T_add_samples_image_class_svm(const Hobject Image, const Hobject ClassRegions, const Htuple SVMHandle)

Herror add_samples_image_class_svm(Hobject Image, Hobject ClassRegions, const HTuple& SVMHandle)

void HClassSvm::AddSamplesImageClassSvm(const HImage& Image, const HRegionArray& ClassRegions) const

void AddSamplesImageClassSvm(const HObject& Image, const HObject& ClassRegions, const HTuple& SVMHandle)

void HImage::AddSamplesImageClassSvm(const HRegion& ClassRegions, const HClassSvm& SVMHandle) const

void HClassSvm::AddSamplesImageClassSvm(const HImage& Image, const HRegion& ClassRegions) const

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

void HImageX.AddSamplesImageClassSvm(
[in] IHRegionX* ClassRegions, [in] IHClassSvmX* SVMHandle)

void HClassSvmX.AddSamplesImageClassSvm(
[in] IHImageX* Image, [in] IHRegionX* ClassRegions)

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

void HImage.AddSamplesImageClassSvm(HRegion classRegions, HClassSvm SVMHandle)

void HClassSvm.AddSamplesImageClassSvm(HImage image, HRegion classRegions)

Description

add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvm adds training samples from the image ImageImageImageImageImageimage to the support vector machine (SVM) given by SVMHandleSVMHandleSVMHandleSVMHandleSVMHandleSVMHandle. add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvm is used to store the training samples before training a classifier for the pixel classification of multichannel images with classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm. add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvm works analogously to add_sample_class_svmadd_sample_class_svmAddSampleClassSvmadd_sample_class_svmAddSampleClassSvmAddSampleClassSvm.

The image ImageImageImageImageImageimage must have a number of channels equal to NumFeatures, as specified with create_class_svmcreate_class_svmCreateClassSvmcreate_class_svmCreateClassSvmCreateClassSvm. The training regions for the NumClasses pixel classes are passed in ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions. Hence, ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions must be a tuple containing NumClasses regions. The order of the regions in ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions determines the class of the pixels. If there are no samples for a particular class in ImageImageImageImageImageimage, an empty region must be passed at the position of the class in ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions. With this mechanism it is possible to use multiple images to add training samples for all relevant classes to the SVM by calling add_samples_image_class_svmadd_samples_image_class_svmAddSamplesImageClassSvmadd_samples_image_class_svmAddSamplesImageClassSvmAddSamplesImageClassSvm multiple times with the different images and suitably chosen regions.

The regions in ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions should contain representative training samples for the respective classes. Hence, they need not cover the entire image. The regions in ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions should not overlap each other, because this would lead to the fact that in the training data the samples from the overlapping areas would be assigned to multiple classes, which may lead to slower convergence of the training and a lower classification performance.

A further application of this operator is the automatic novelty detection, where, e.g., anomalies in color or texture can be detected. For this mode a training set that defines a sample region (e.g., skin regions for skin detection or samples of the correct texture) is passed to the SVMHandleSVMHandleSVMHandleSVMHandleSVMHandleSVMHandle, which is created in the Mode 'novelty-detection'"novelty-detection""novelty-detection""novelty-detection""novelty-detection""novelty-detection". After training, regions that differ from the trained sample regions are detected (e.g., the rejection class for skin or errors in texture).

Parallelization

This operator modifies the state of the following input parameter:

The value of this parameter may not be shared across multiple threads without external synchronization.

Parameters

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

Training image.

ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions (input_object)  region-array objectHRegionHRegionHRegionArrayHRegionXHobject

Regions of the classes to be trained.

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

SVM handle.

Result

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

Possible Predecessors

create_class_svmcreate_class_svmCreateClassSvmcreate_class_svmCreateClassSvmCreateClassSvm

Possible Successors

train_class_svmtrain_class_svmTrainClassSvmtrain_class_svmTrainClassSvmTrainClassSvm, write_samples_class_svmwrite_samples_class_svmWriteSamplesClassSvmwrite_samples_class_svmWriteSamplesClassSvmWriteSamplesClassSvm

Alternatives

read_samples_class_svmread_samples_class_svmReadSamplesClassSvmread_samples_class_svmReadSamplesClassSvmReadSamplesClassSvm

See also

classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm, add_sample_class_svmadd_sample_class_svmAddSampleClassSvmadd_sample_class_svmAddSampleClassSvmAddSampleClassSvm, clear_samples_class_svmclear_samples_class_svmClearSamplesClassSvmclear_samples_class_svmClearSamplesClassSvmClearSamplesClassSvm, get_sample_num_class_svmget_sample_num_class_svmGetSampleNumClassSvmget_sample_num_class_svmGetSampleNumClassSvmGetSampleNumClassSvm, get_sample_class_svmget_sample_class_svmGetSampleClassSvmget_sample_class_svmGetSampleClassSvmGetSampleClassSvm, add_samples_image_class_mlpadd_samples_image_class_mlpAddSamplesImageClassMlpadd_samples_image_class_mlpAddSamplesImageClassMlpAddSamplesImageClassMlp

Module

Foundation


ClassesClassesClassesClasses | | | | Operators