eVision C++ API 26.10.0-beta.2.dev
Loading...
Searching...
No Matches
eVision::EasyDeepLearning::ESupervisedSegmenter Class Reference

Supervised segmentation tool. More...

#include <eVision/EasyDeepLearning/EasySegment/ESupervisedSegmenter.h>

Inheritance diagram for eVision::EasyDeepLearning::ESupervisedSegmenter:
Collaboration diagram for eVision::EasyDeepLearning::ESupervisedSegmenter:

Public Member Functions

 ESupervisedSegmenter ()
 Constructs a ESupervisedSegmenter object.
 ESupervisedSegmenter (const eVision::EasyDeepLearning::ESupervisedSegmenter &other)
 Copy constructor of a ESupervisedSegmenter object.
virtual ~ESupervisedSegmenter () throw ()
eVision::EasyDeepLearning::ESupervisedSegmenter & operator= (const eVision::EasyDeepLearning::ESupervisedSegmenter &other)
 Assignment operator.
virtual void SerializeSettings (eVision::ESerializer *serializer)
 Serializes the settings of the supervised segmenter.
uint32_t GetChannels () const
 Number of channels of input images. It can either be 1 for grayscale images or 3 for color images.
virtual eVision::EasyDeepLearning::EDeepLearningToolType GetToolType () const
 Type of the deep learning tool.
void SetCapacity (eVision::EasyDeepLearning::ESupervisedSegmenterCapacity capacity)
 Capacity of the ESupervisedSegmenter.
eVision::EasyDeepLearning::ESupervisedSegmenterCapacity GetCapacity () const
 Capacity of the ESupervisedSegmenter.
void SetForceGrayscale (bool forceGrayscale)
 Forces the ESupervisedSegmenter to convert all images to grayscale (default: false).
bool GetForceGrayscale () const
 Forces the ESupervisedSegmenter to convert all images to grayscale (default: false).
int GetPatchSize () const
 Patch size (width and height of the patches processed by the neural network).
void SetPatchSize (int patchSize)
 Patch size (width and height of the patches processed by the neural network).
void SetSamplingDensity (float density)
 Sampling density (default value: 1.25, its value must be equal or greater than 1).
float GetSamplingDensity () const
 Sampling density (default value: 1.25, its value must be equal or greater than 1).
void SetScale (float scale)
 Down-scaling applied to images before processing them. Its value is between 0 and 1 (default value: 1).
float GetScale () const
 Down-scaling applied to images before processing them. Its value is between 0 and 1 (default value: 1).
void SetClassificationThreshold (float threshold)
 Classification threshold for determining whether an image contains blobs with a label different than background.
float GetClassificationThreshold () const
 Classification threshold for determining whether an image contains blobs with a label different than background.
eVision::EasyDeepLearning::ESupervisedSegmenterMetrics GetTrainingMetrics (int iteration) const
 Training metrics at the given iteration.
eVision::EasyDeepLearning::ESupervisedSegmenterMetrics GetValidationMetrics (int iteration) const
 Validation metrics at the given iteration.
void Train (eVision::EasyDeepLearning::EDataset &dataset)
 Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.
void Train (eVision::EasyDeepLearning::EDataset &dataset, const eVision::EasyDeepLearning::EDataAugmentation &dataAugmentation)
 Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.
void Train (eVision::EasyDeepLearning::EDataset &trainingDataset, eVision::EasyDeepLearning::EDataset &validationDataset)
 Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.
void Train (eVision::EasyDeepLearning::EDataset &trainingDataset, eVision::EasyDeepLearning::EDataset &validationDataset, const eVision::EasyDeepLearning::EDataAugmentation &dataAugmentation)
 Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.
void Train (eVision::EasyDeepLearning::EDataset &dataset, int iterations)
 Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.
void Train (eVision::EasyDeepLearning::EDataset &dataset, const eVision::EasyDeepLearning::EDataAugmentation &dataAugmentation, int iterations)
 Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.
void Train (eVision::EasyDeepLearning::EDataset &trainingDataset, eVision::EasyDeepLearning::EDataset &validationDataset, int iterations)
 Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.
void Train (eVision::EasyDeepLearning::EDataset &trainingDataset, eVision::EasyDeepLearning::EDataset &validationDataset, const eVision::EasyDeepLearning::EDataAugmentation &dataAugmentation, int iterations)
 Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.
eVision::EasyDeepLearning::ESupervisedSegmenterResult Apply (const eVision::EBaseROI &img)
 Applies the unsupervised segmenter on the given image and its mask region.
eVision::EasyDeepLearning::ESupervisedSegmenterResult Apply (const eVision::EBaseROI &img, const eVision::ERegion &mask)
 Applies the unsupervised segmenter on the given image and its mask region.
eVision::EasyDeepLearning::ESupervisedSegmenterResult Apply (const eVision::EBaseROI &img, const eVision::EFrame &frame)
 Applies the unsupervised segmenter on the given image and its mask region.
eVision::EasyDeepLearning::ESupervisedSegmenterResult Apply (const eVision::EBaseROI &img, const eVision::EFrame &frame, const eVision::ERegion &mask)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageBW8 > &imgs)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageBW8 > &imgs, const eVision::EFrame &frame)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageBW8 > &imgs, const std::vector< eVision::ERegion > &masks)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageBW8 > &imgs, const eVision::EFrame &frame, const std::vector< eVision::ERegion > &masks)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageBW16 > &imgs)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageBW16 > &imgs, const eVision::EFrame &frame)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageBW16 > &imgs, const std::vector< eVision::ERegion > &masks)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageBW16 > &imgs, const eVision::EFrame &frame, const std::vector< eVision::ERegion > &masks)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageC24 > &imgs)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageC24 > &imgs, const eVision::EFrame &frame)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageC24 > &imgs, const std::vector< eVision::ERegion > &masks)
 Applies the unsupervised segmenter on the given image and its mask region.
void Apply (const std::vector< eVision::EBaseROI * > &imgs, const std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult * > &results)
 Applies the unsupervised segmenter on the given image and its mask region.
void Apply (const std::vector< eVision::EBaseROI * > &imgs, const std::vector< eVision::ERegion * > &masks, const std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult * > &results)
 Applies the unsupervised segmenter on the given image and its mask region.
std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > Apply (const std::vector< eVision::EImageC24 > &imgs, const eVision::EFrame &frame, const std::vector< eVision::ERegion > &masks)
 Applies the unsupervised segmenter on the given image and its mask region.
void Apply (const std::vector< eVision::EBaseROI * > &imgs, const eVision::EFrame &frame, const std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult * > &results)
 Applies the unsupervised segmenter on the given image and its mask region.
void Apply (const std::vector< eVision::EBaseROI * > &imgs, const eVision::EFrame &frame, const std::vector< eVision::ERegion * > &masks, const std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult * > &results)
 Applies the unsupervised segmenter on the given image and its mask region.
eVision::EasyDeepLearning::ESupervisedSegmenterMetrics Evaluate (const eVision::EasyDeepLearning::EDataset &dataset)
 Evaluates the dataset.
virtual int GetNumPatchesForImage (int imageWidth, int imageHeight) const
 Number of patches that will be extracted from an input image to perform inference.
bool GetScaleDisabledAtInference () const
 Whether to apply the scale parameter at inference or not.
void SetScaleDisabledAtInference (bool disable)
 Whether to apply the scale parameter at inference or not.
float GetInferenceScale () const
 The effective scale applied when performing inference.
 ESupervisedSegmenter (CppWrapperInternal::InternalConstructor)
Public Member Functions inherited from eVision::EasyDeepLearning::EDeepLearningTool
virtual ~EDeepLearningTool () throw ()
virtual void Load (const std::string &filePath)
 Loads a deep learning tool. The given ESerializer must have been created for reading.
virtual void Load (eVision::ESerializer *serializer)
 Loads a deep learning tool. The given ESerializer must have been created for reading.
std::unique_ptr< eVision::EasyDeepLearning::EDeepLearningTool > Clone () const
 Clones this tool.
virtual void Save (const std::string &filePath, bool includeTrainingModel)
 Saves the settings, inference and training model of the deep learning tool.
virtual void Save (const std::string &filePath)
 Saves the settings, inference and training model of the deep learning tool.
virtual void Save (eVision::ESerializer *serializer, bool includeTrainingModel)
 Saves the settings, inference and training model of the deep learning tool.
virtual void Save (eVision::ESerializer *serializer)
 Saves the settings, inference and training model of the deep learning tool.
void SerializeInferenceModel (eVision::ESerializer *serializer)
 Serializes the inference model of the tool.
void SerializeTrainingModel (eVision::ESerializer *serializer)
 Serializes the training model of the tool.
void SaveSettings (const std::string &filePath)
 Saves the settings of the tool to a file.
void SaveInferenceModel (const std::string &filePath)
 Saves the tool's inference model to a file.
void SaveTrainingModel (const std::string &filePath)
 Saves the tool's training model to a file.
void LoadSettings (const std::string &filePath)
 Loads the settings of a tool.
void LoadInferenceModel (const std::string &filePath)
 Loads the tool's inference model. The inference model is required to apply the tool on new images.
void LoadTrainingModel (const std::string &filePath)
 Loads the tool's training model. The training model is required to continue a training.
void UnloadInferenceModel ()
 Unloads the inference model.
void UnloadTrainingModel ()
 Unloads the training model.
void UnloadModels ()
 Unloads the inference and training model.
bool HasInferenceModel () const
 Whether the inference model is loaded or created when the tool is not yet trained.
bool HasTrainingModel () const
 Whether the training model is loaded or created when the tool is not yet trained.
bool IsTrained () const
 Tells whether the deep learning tool has been trained.
void SetEnableGPU (bool enable)
 Enable the use of a GPU for training and inference of the deep learning tool. If the active engine is not the default engine, EDeepLearningTool::SetEnableGPU will be false even if the active device has a GPU device type. Setting EDeepLearningTool::SetEnableGPU to any value when the active engine is not the default one will throw an exception.
bool GetEnableGPU () const
 Enable the use of a GPU for training and inference of the deep learning tool. If the active engine is not the default engine, EDeepLearningTool::SetEnableGPU will be false even if the active device has a GPU device type. Setting EDeepLearningTool::SetEnableGPU to any value when the active engine is not the default one will throw an exception.
void SetGPUIndexes (const std::vector< uint32_t > &indexes)
 Indexes of the GPUs to use for computations.
std::vector< uint32_t > GetGPUIndexes () const
 Indexes of the GPUs to use for computations.
uint32_t GetNumGPUs () const
 Number of detected NVIDIA GPU.
void SetEngine (const std::string &engineName)
 Sets the engine with which to execute or train the neural network.
std::string GetEngine () const
 Sets the engine with which to execute or train the neural network.
eVision::EasyDeepLearning::EDeepLearningInferencePrecision GetInferencePrecision () const
 Inference precision.
void SetInferencePrecision (eVision::EasyDeepLearning::EDeepLearningInferencePrecision prec)
 Inference precision.
int GetNumAvailableDevices () const
 Available devices for the current EDeepLearningTool::SetEngine.
std::string GetAvailableDeviceName (int i) const
 Name of the i-th device of the current engine.
eVision::EasyDeepLearning::EDeepLearningDevice GetAvailableDevice (int i) const
 i-th EDeepLearningDevice of the current engine.
std::vector< eVision::EasyDeepLearning::EDeepLearningDevice > GetAvailableDevices () const
 Get all available device for the current engine.
int GetNumActiveDevices () const
 Gets the number of devices with which to run or train the model.
void SetActiveDevice (const eVision::EasyDeepLearning::EDeepLearningDevice &device)
 Sets the device with which to run or train the model.
eVision::EasyDeepLearning::EDeepLearningDevice GetActiveDevice (int i) const
 Gets the active device. By default, it returns the first active device.
eVision::EasyDeepLearning::EDeepLearningDevice GetActiveDevice () const
 Gets the active device. By default, it returns the first active device.
void SetActiveDeviceByName (const std::string &name)
 Sets the device with which to run the model using its name.
void SetActiveDeviceById (int id)
 Sets the device with which to run the model using its index in the list returned by EDeepLearningTool::GetAvailableDevices.
std::vector< eVision::EasyDeepLearning::EDeepLearningDevice > GetActiveDevices () const
 Devices with which to run or train the model.
void SetActiveDevices (const std::vector< eVision::EasyDeepLearning::EDeepLearningDevice > &devices)
 Devices with which to run or train the model.
void SetActiveDevicesById (const std::vector< int > &ids)
 Sets the devices with which to run the model using their index in the list returned by EDeepLearningTool::GetAvailableDevices.
eVision::EasyDeepLearning::EDeepLearningExecutionSettings GetExecutionSettings () const
 Execution settings of the tool (engine, device(s), inference precision, batch size settings).
void SetExecutionSettings (const eVision::EasyDeepLearning::EDeepLearningExecutionSettings &settings)
 Execution settings of the tool (engine, device(s), inference precision, batch size settings).
bool HasEngineSetupData () const
 Whether the inference model has engine setup data.
void ClearEngineSetupData ()
 Clears the engine data saved in the inference model. Use this method when your engine fails.
eVision::EasyDeepLearning::EDeepLearningDevice GetEngineSetupDataDevice () const
 Device corresponding to the engine data contained in the tool.
eVision::EasyDeepLearning::EDeepLearningInferencePrecision GetEngineSetupDataInferencePrecision () const
 Inference precision corresponding to the engine data contained in the tool.
int32_t GetEngineSetupDataBatchSize () const
 Batch size corresponding to the engine data contained in the tool.
bool GetOptimizeBatchSize () const
 Indicates whether to optimize the batch size (see EDeepLearningTool::SetBatchSize) to maximize the training and inference speed according to the engine, the device and the available memory.
void SetOptimizeBatchSize (bool optimize)
 Indicates whether to optimize the batch size (see EDeepLearningTool::SetBatchSize) to maximize the training and inference speed according to the engine, the device and the available memory.
int32_t GetBatchSizeForMaximumInferenceSpeed () const
 Computes the batch size that will maximize the inference speed on NVIDIA GPU. For all other devices, it will return 1.
void SetBatchSize (int32_t size)
 Batch size. The batch size is the number of images that are processed together during training and batch inference.
int32_t GetBatchSize () const
 Batch size. The batch size is the number of images that are processed together during training and batch inference.
bool IsTraining () const
 Indicates whether the object is currently training.
int WaitForTrainingCompletion (int timeout)
 Waits until the training is complete or the timeout is expired. A call to this method will block the calling thread for the shortest time between the timeout and the time it takes for the training to complete.
int WaitForTrainingCompletion ()
 Waits until the training is complete or the timeout is expired. A call to this method will block the calling thread for the shortest time between the timeout and the time it takes for the training to complete.
int WaitForIterationCompletion ()
 Waits until an iteration is complete. A call to this method will block the calling thread until a training iteration in the training thread is finished. This method returns the number of trained iterations.
int StopTraining (bool wait)
 Stops training and returns the last completed iteration. If the parameter 'wait' is set to true, the method will wait for the training thread to completely stop. Otherwise, the method will return immediately.
float GetCurrentTrainingProgression () const
 Current training progression as a percentage (between 0 and 1).
uint32_t GetCurrentTrainingFinishedIterations () const
 Number of iterations that are already finished in the current training.
uint32_t GetCurrentTrainingNumIterations () const
 Total number of training iterations that will be performed during the current training of the deep learning tool.
uint32_t GetNumTrainedIterations () const
 Number of iterations that were performed to train this deep learning tool.
int GetBestIteration () const
 Iteration at which the minimum validation error was reached. After training, the tool is in the state it was at this best iteration.
void SetImageCacheSize (uint64_t size)
 Size in byte of the image cache. The cache is used during training to store reformatted and normalized images. A correctly sized cache can reduce the hard drive accesses and the preprocessing time for each image.
uint64_t GetImageCacheSize () const
 Size in byte of the image cache. The cache is used during training to store reformatted and normalized images. A correctly sized cache can reduce the hard drive accesses and the preprocessing time for each image.
std::string GetPath () const
 Path of the tool when loaded or saved using EDeepLearningTool::Save or EDeepLearningTool::Load.
std::string GetInferenceModelPath () const
 Path of the inference model when loaded or saved using EDeepLearningTool::SaveInferenceModel, EDeepLearningTool::LoadInferenceModel or EDeepLearningTool::SerializeInferenceModel.
std::string GetTrainingModelPath () const
 Path of the training model when loaded or saved using EDeepLearningTool::SaveTrainingModel, EDeepLearningTool::LoadTrainingModel or EDeepLearningTool::SerializeTrainingModel.
std::string GetSettingsPath () const
 Path of the settings when loaded or saved using EDeepLearningTool::SaveSettings, EDeepLearningTool::LoadSettings or EDeepLearningTool::SerializeSettings.
void SetAutoSavePeriod (int period)
 Auto-save period. The auto-save period is the number of training iterations between each automatic save of the model.
int GetAutoSavePeriod () const
 Auto-save period. The auto-save period is the number of training iterations between each automatic save of the model.
void SetLearningRate (eVision::EasyDeepLearning::EDeepLearningLearningRateType type, const std::vector< float > &parameters)
 Specifies how the value of the learning rate and how it evolves during training.
eVision::EasyDeepLearning::EDeepLearningLearningRateType GetLearningRateType () const
 Learning rate type.
std::vector< float > GetLearningRateParameters () const
 Parameters of the learning rate.
void SetEnableDeterministicTraining (bool enable)
 Whether to use deterministic training algorithm that allows to repeatable training results. Default value: false.
bool GetEnableDeterministicTraining () const
 Whether to use deterministic training algorithm that allows to repeatable training results. Default value: false.
void SetDeterministicTrainingRandomSeed (int32_t seed)
 Random seed to use when EDeepLearningTool::SetEnableDeterministicTraining is set to true. The default value is 42.
int32_t GetDeterministicTrainingRandomSeed () const
 Random seed to use when EDeepLearningTool::SetEnableDeterministicTraining is set to true. The default value is 42.
void InitializeInference (int width, int height, eVision::EImageType imageType, int numImages)
 Initializes the neural network for inference (i.e. making predictions with the neural network).
void InitializeInference (const eVision::EBaseROI &img)
 Initializes the neural network for inference (i.e. making predictions with the neural network).
void InitializeInference (std::vector< const eVision::EBaseROI * > &imgList)
 Initializes the neural network for inference (i.e. making predictions with the neural network).
void InitializeInference (std::vector< eVision::EImageBW8 > &imgList)
 Initializes the neural network for inference (i.e. making predictions with the neural network).
void InitializeInference (std::vector< eVision::EImageBW16 > &imgList)
 Initializes the neural network for inference (i.e. making predictions with the neural network).
void InitializeInference (std::vector< eVision::EImageC24 > &imgList)
 Initializes the neural network for inference (i.e. making predictions with the neural network).
uint32_t GetNumLabels () const
 Number of labels of this tool. If the tool is not trained, the method will throw an exception.
std::string GetLabel (uint32_t index) const
 Gets the label from its index. If the tool is not trained, the method may throw an exception.
virtual void SetLabel (uint32_t index, const std::string &label)
 Changes a label predicted by the tool.
void SetLabelWeight (uint32_t index, float weight)
 Sets the label weight. If the tool is not trained, the label weights are not defined. After training, they are set to the value of the training dataset label weights.
float GetLabelWeight (uint32_t index) const
 Gets the label weight. If the tool is not trained, the label weights are not defined. After training, they are set to the value of the training dataset label weights.
void SetLabelColor (uint32_t index, const eVision::ERGBColor &c)
 Changes a label color.
eVision::ERGBColor GetLabelColor (uint32_t index) const
 Label color. The label colors affect how the results will be displayed.
void SetLabelOpacity (uint32_t index, uint8_t opacity)
 Changes a label opacity (between 0 for fully transparent and 255 for opaque color).
uint8_t GetLabelOpacity (uint32_t index) const
 Gets the label opacity (between 0 for fully transparent and 255 for opaque color). The label opacities affect with the label colors how the results will be displayed.
int GetOptimalNumImagesForBatchSize (const eVision::EBaseROI &sampleImage) const
 Optimal number of images to process together for inference given the batch size and EDeepLearningTool::GetNumPatchesForImage.
int GetOptimalNumImagesForBatchSize (int imageWidth, int imageHeight) const
 Optimal number of images to process together for inference given the batch size and EDeepLearningTool::GetNumPatchesForImage.
int GetNumPatchesForImage (const eVision::EBaseROI &sampleImage) const
 Number of patches that will be extracted from an input image to perform inference.
virtual void Clean ()
 Reset the engine and clean CPU and GPU memory allocated for running the model.
 EDeepLearningTool (CppWrapperInternal::InternalConstructor)

Additional Inherited Members

Static Public Member Functions inherited from eVision::EasyDeepLearning::EDeepLearningTool
static std::unique_ptr< eVision::EasyDeepLearning::EDeepLearningTool > Create (const std::string &path)
 Factory method to open a deep learning tool.
static std::unique_ptr< eVision::EasyDeepLearning::EDeepLearningTool > Create (eVision::ESerializer *serializer)
 Factory method to open a deep learning tool.
static std::unique_ptr< eVision::EasyDeepLearning::EDeepLearningTool > Create (eVision::EasyDeepLearning::EDeepLearningToolType type)
 Factory method to open a deep learning tool.
static int GetNumAvailableEngines ()
 Number of available engines.
static std::string GetAvailableEngineName (int id)
 Gets the name of the engine given its id.
static std::vector< std::string > GetAvailableEngines ()
 Available engines.
static std::vector< eVision::EasyDeepLearning::EDeepLearningDevice > GetAvailableDevicesForEngine (const std::string &engine)
 Available devices for the specified engine.
Public Attributes inherited from eVision::EasyDeepLearning::EDeepLearningTool
CppWrapperInternal::WrappedClass wrappedClass_

Detailed Description

Supervised segmentation tool.

The supervised segmentation tool segments the pixels of an image into various labels by learning a deep learning model on a dataset of segmented images.

The tool can work with images of any resolution higher than ESupervisedSegmenter::GetPatchSize by merging the results obtained by applying the deep neural network using a sliding window algorithm. The overlap between the sliding windows is controlled by ESupervisedSegmenter::SetSamplingDensity.

For defect detection/foreground blobs detection, the supervised segmenter offers a tradeoff between a high good detection rate and a high defect detection rate through a classification threshold that can be configured after training (ESupervisedSegmenter::SetClassificationThreshold).

License(s): EasySegment or EasySegmentInference

Constructor & Destructor Documentation

◆ ESupervisedSegmenter() [1/3]

eVision::EasyDeepLearning::ESupervisedSegmenter::ESupervisedSegmenter ( )

Constructs a ESupervisedSegmenter object.

◆ ESupervisedSegmenter() [2/3]

eVision::EasyDeepLearning::ESupervisedSegmenter::ESupervisedSegmenter ( const eVision::EasyDeepLearning::ESupervisedSegmenter & other)

Copy constructor of a ESupervisedSegmenter object.

Parameters
otherReference to the ESupervisedSegmenter object that should be copied

◆ ~ESupervisedSegmenter()

eVision::EasyDeepLearning::ESupervisedSegmenter::~ESupervisedSegmenter ( )
throw ( )
virtual

◆ ESupervisedSegmenter() [3/3]

eVision::EasyDeepLearning::ESupervisedSegmenter::ESupervisedSegmenter ( CppWrapperInternal::InternalConstructor )

Member Function Documentation

◆ Apply() [1/20]

eVision::EasyDeepLearning::ESupervisedSegmenterResult eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const eVision::EBaseROI & img)

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgImage to classify and segment defects in.

◆ Apply() [2/20]

eVision::EasyDeepLearning::ESupervisedSegmenterResult eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const eVision::EBaseROI & img,
const eVision::EFrame & frame )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgImage to classify and segment defects in.
frameFrame of reference in which the region was defined

◆ Apply() [3/20]

eVision::EasyDeepLearning::ESupervisedSegmenterResult eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const eVision::EBaseROI & img,
const eVision::EFrame & frame,
const eVision::ERegion & mask )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgImage to classify and segment defects in.
frameFrame of reference in which the region was defined
maskMask region of the image.

◆ Apply() [4/20]

eVision::EasyDeepLearning::ESupervisedSegmenterResult eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const eVision::EBaseROI & img,
const eVision::ERegion & mask )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgImage to classify and segment defects in.
maskMask region of the image.

◆ Apply() [5/20]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EBaseROI * > & imgs,
const eVision::EFrame & frame,
const std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult * > & results )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined
resultsVector of ESupervisedSegmenterResult to put the segmented defects.

◆ Apply() [6/20]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EBaseROI * > & imgs,
const eVision::EFrame & frame,
const std::vector< eVision::ERegion * > & masks,
const std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult * > & results )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined
masksVector of mask regions for the images.
resultsVector of ESupervisedSegmenterResult to put the segmented defects.

◆ Apply() [7/20]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EBaseROI * > & imgs,
const std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult * > & results )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
resultsVector of ESupervisedSegmenterResult to put the segmented defects.

◆ Apply() [8/20]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EBaseROI * > & imgs,
const std::vector< eVision::ERegion * > & masks,
const std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult * > & results )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
masksVector of mask regions for the images.
resultsVector of ESupervisedSegmenterResult to put the segmented defects.

◆ Apply() [9/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageBW16 > & imgs)

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.

◆ Apply() [10/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageBW16 > & imgs,
const eVision::EFrame & frame )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined

◆ Apply() [11/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageBW16 > & imgs,
const eVision::EFrame & frame,
const std::vector< eVision::ERegion > & masks )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined
masksVector of mask regions for the images.

◆ Apply() [12/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageBW16 > & imgs,
const std::vector< eVision::ERegion > & masks )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
masksVector of mask regions for the images.

◆ Apply() [13/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageBW8 > & imgs)

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.

◆ Apply() [14/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageBW8 > & imgs,
const eVision::EFrame & frame )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined

◆ Apply() [15/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageBW8 > & imgs,
const eVision::EFrame & frame,
const std::vector< eVision::ERegion > & masks )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined
masksVector of mask regions for the images.

◆ Apply() [16/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageBW8 > & imgs,
const std::vector< eVision::ERegion > & masks )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
masksVector of mask regions for the images.

◆ Apply() [17/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageC24 > & imgs)

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.

◆ Apply() [18/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageC24 > & imgs,
const eVision::EFrame & frame )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined

◆ Apply() [19/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageC24 > & imgs,
const eVision::EFrame & frame,
const std::vector< eVision::ERegion > & masks )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined
masksVector of mask regions for the images.

◆ Apply() [20/20]

std::vector< eVision::EasyDeepLearning::ESupervisedSegmenterResult > eVision::EasyDeepLearning::ESupervisedSegmenter::Apply ( const std::vector< eVision::EImageC24 > & imgs,
const std::vector< eVision::ERegion > & masks )

Applies the unsupervised segmenter on the given image and its mask region.

We recommend to use pointer-based versions of this method to avoid unnecessary image and result copies.

Parameters
imgsVector of image to classify and segment defects in.
masksVector of mask regions for the images.

◆ Evaluate()

eVision::EasyDeepLearning::ESupervisedSegmenterMetrics eVision::EasyDeepLearning::ESupervisedSegmenter::Evaluate ( const eVision::EasyDeepLearning::EDataset & dataset)

Evaluates the dataset.

Parameters
datasetDataset to evaluate

License(s): EasySegment

◆ GetCapacity()

eVision::EasyDeepLearning::ESupervisedSegmenterCapacity eVision::EasyDeepLearning::ESupervisedSegmenter::GetCapacity ( ) const

Capacity of the ESupervisedSegmenter.

A higher capacity makes the supervised segmenter capable of learning more information at the cost of a slower processing speed.

◆ GetChannels()

uint32_t eVision::EasyDeepLearning::ESupervisedSegmenter::GetChannels ( ) const

Number of channels of input images. It can either be 1 for grayscale images or 3 for color images.

If the segmenter tool is not trained or the value was not explicitly set, its value will be 0.

◆ GetClassificationThreshold()

float eVision::EasyDeepLearning::ESupervisedSegmenter::GetClassificationThreshold ( ) const

Classification threshold for determining whether an image contains blobs with a label different than background.

By default, its value is set during training to maximize the weighted accuracy (see ESupervisedSegmenterMetrics).

◆ GetForceGrayscale()

bool eVision::EasyDeepLearning::ESupervisedSegmenter::GetForceGrayscale ( ) const

Forces the ESupervisedSegmenter to convert all images to grayscale (default: false).

Setting this property to false will make the underlying neural network operates with the same number of channels as the images in the dataset used for training. Otherwise, color images will be converted to grayscale before using them.

◆ GetInferenceScale()

float eVision::EasyDeepLearning::ESupervisedSegmenter::GetInferenceScale ( ) const

The effective scale applied when performing inference.

If ESupervisedSegmenter::GetScaleDisabledAtInference is true, it is equal to 1.0. Otherwise, it is equal to ESupervisedSegmenter::SetScale.

◆ GetNumPatchesForImage()

int eVision::EasyDeepLearning::ESupervisedSegmenter::GetNumPatchesForImage ( int imageWidth,
int imageHeight ) const
virtual

Number of patches that will be extracted from an input image to perform inference.

For EasyClassify and EasyLocate, this will always be equal to 1. For EasySegment, the number of patches will depend on the scale, patch size and sampling density parameters.

Parameters
imageWidthWidth of the image for which to get the number of patch
imageHeightHeight of the image for which to get the number of patch

Reimplemented from eVision::EasyDeepLearning::EDeepLearningTool.

◆ GetPatchSize()

int eVision::EasyDeepLearning::ESupervisedSegmenter::GetPatchSize ( ) const

Patch size (width and height of the patches processed by the neural network).

There are three supported patch size: 64x64, 128x128, and 256x256. By default, the patch size is 0 and it means that the patch size will be 128x128 if all images in the training and validation dataset have a higher resolution or the patch size will be 64x64.

◆ GetSamplingDensity()

float eVision::EasyDeepLearning::ESupervisedSegmenter::GetSamplingDensity ( ) const

Sampling density (default value: 1.25, its value must be equal or greater than 1).

The sampling density is the parameter of the sliding window algorithm used for processing a whole image using subwindows of size ESupervisedSegmenter::GetPatchSize. It indicates how much overlap there will be between the image patches: the stride between two consecutive patches is ESupervisedSegmenter::GetPatchSize / ESupervisedSegmenter::SetSamplingDensity.

◆ GetScale()

float eVision::EasyDeepLearning::ESupervisedSegmenter::GetScale ( ) const

Down-scaling applied to images before processing them. Its value is between 0 and 1 (default value: 1).

◆ GetScaleDisabledAtInference()

bool eVision::EasyDeepLearning::ESupervisedSegmenter::GetScaleDisabledAtInference ( ) const

Whether to apply the scale parameter at inference or not.

If you disable the scale at inference, make sure your images are already scaled. For example, if you trained with images of 1024x1024 and a scale of 0.5, the inference images should be 512 x 512 images with the same field of view as the training images.

◆ GetToolType()

eVision::EasyDeepLearning::EDeepLearningToolType eVision::EasyDeepLearning::ESupervisedSegmenter::GetToolType ( ) const
virtual

Type of the deep learning tool.

Implements eVision::EasyDeepLearning::EDeepLearningTool.

◆ GetTrainingMetrics()

eVision::EasyDeepLearning::ESupervisedSegmenterMetrics eVision::EasyDeepLearning::ESupervisedSegmenter::GetTrainingMetrics ( int iteration) const

Training metrics at the given iteration.

Parameters
iterationIteration at which to get the metrics

◆ GetValidationMetrics()

eVision::EasyDeepLearning::ESupervisedSegmenterMetrics eVision::EasyDeepLearning::ESupervisedSegmenter::GetValidationMetrics ( int iteration) const

Validation metrics at the given iteration.

Parameters
iterationIteration at which to get the metrics

◆ operator=()

eVision::EasyDeepLearning::ESupervisedSegmenter & eVision::EasyDeepLearning::ESupervisedSegmenter::operator= ( const eVision::EasyDeepLearning::ESupervisedSegmenter & other)

Assignment operator.

Parameters
otherReference to the ESupervisedSegmenter object that should be copied

◆ SerializeSettings()

void eVision::EasyDeepLearning::ESupervisedSegmenter::SerializeSettings ( eVision::ESerializer * serializer)
virtual

Serializes the settings of the supervised segmenter.

Parameters
serializerPointer to ESerializer

Implements eVision::EasyDeepLearning::EDeepLearningTool.

◆ SetCapacity()

void eVision::EasyDeepLearning::ESupervisedSegmenter::SetCapacity ( eVision::EasyDeepLearning::ESupervisedSegmenterCapacity capacity)

Capacity of the ESupervisedSegmenter.

A higher capacity makes the supervised segmenter capable of learning more information at the cost of a slower processing speed.

Parameters
capacityCapacity

◆ SetClassificationThreshold()

void eVision::EasyDeepLearning::ESupervisedSegmenter::SetClassificationThreshold ( float threshold)

Classification threshold for determining whether an image contains blobs with a label different than background.

By default, its value is set during training to maximize the weighted accuracy (see ESupervisedSegmenterMetrics).

Parameters
thresholdClassification threshold

◆ SetForceGrayscale()

void eVision::EasyDeepLearning::ESupervisedSegmenter::SetForceGrayscale ( bool forceGrayscale)

Forces the ESupervisedSegmenter to convert all images to grayscale (default: false).

Setting this property to false will make the underlying neural network operates with the same number of channels as the images in the dataset used for training. Otherwise, color images will be converted to grayscale before using them.

Parameters
forceGrayscaleWhether to force grayscale.

◆ SetPatchSize()

void eVision::EasyDeepLearning::ESupervisedSegmenter::SetPatchSize ( int patchSize)

Patch size (width and height of the patches processed by the neural network).

Parameters
patchSizeSize of the patch

There are three supported patch size: 64x64, 128x128, and 256x256. By default, the patch size is 0 and it means that the patch size will be 128x128 if all images in the training and validation dataset have a higher resolution or the patch size will be 64x64.

◆ SetSamplingDensity()

void eVision::EasyDeepLearning::ESupervisedSegmenter::SetSamplingDensity ( float density)

Sampling density (default value: 1.25, its value must be equal or greater than 1).

The sampling density is the parameter of the sliding window algorithm used for processing a whole image using subwindows of size ESupervisedSegmenter::GetPatchSize. It indicates how much overlap there will be between the image patches: the stride between two consecutive patches is ESupervisedSegmenter::GetPatchSize / ESupervisedSegmenter::SetSamplingDensity.

Parameters
densitySampling density

◆ SetScale()

void eVision::EasyDeepLearning::ESupervisedSegmenter::SetScale ( float scale)

Down-scaling applied to images before processing them. Its value is between 0 and 1 (default value: 1).

Parameters
scaleScale

◆ SetScaleDisabledAtInference()

void eVision::EasyDeepLearning::ESupervisedSegmenter::SetScaleDisabledAtInference ( bool disable)

Whether to apply the scale parameter at inference or not.

If you disable the scale at inference, make sure your images are already scaled. For example, if you trained with images of 1024x1024 and a scale of 0.5, the inference images should be 512 x 512 images with the same field of view as the training images.

Parameters
disableWhether to disable the scaling when doing inference

◆ Train() [1/8]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Train ( eVision::EasyDeepLearning::EDataset & dataset)

Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See EDeepLearningTool::GetBestIteration.

If no iterations is given, the training will stop automatically.

Parameters
datasetEDataset with which to train and validate the deep learning tool

License(s): EasySegment

◆ Train() [2/8]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Train ( eVision::EasyDeepLearning::EDataset & dataset,
const eVision::EasyDeepLearning::EDataAugmentation & dataAugmentation )

Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See EDeepLearningTool::GetBestIteration.

If no iterations is given, the training will stop automatically.

Parameters
datasetEDataset with which to train and validate the deep learning tool
dataAugmentationData augmentation to use during training

License(s): EasySegment

◆ Train() [3/8]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Train ( eVision::EasyDeepLearning::EDataset & dataset,
const eVision::EasyDeepLearning::EDataAugmentation & dataAugmentation,
int iterations )

Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See EDeepLearningTool::GetBestIteration.

If no iterations is given, the training will stop automatically.

Parameters
datasetEDataset with which to train and validate the deep learning tool
dataAugmentationData augmentation to use during training
iterationsNumber of iterations for training.

License(s): EasySegment

◆ Train() [4/8]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Train ( eVision::EasyDeepLearning::EDataset & dataset,
int iterations )

Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See EDeepLearningTool::GetBestIteration.

If no iterations is given, the training will stop automatically.

Parameters
datasetEDataset with which to train and validate the deep learning tool
iterationsNumber of iterations for training.

License(s): EasySegment

◆ Train() [5/8]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Train ( eVision::EasyDeepLearning::EDataset & trainingDataset,
eVision::EasyDeepLearning::EDataset & validationDataset )

Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See EDeepLearningTool::GetBestIteration.

If no iterations is given, the training will stop automatically.

Parameters
trainingDatasetEDataset with which to train the deep learning tool
validationDatasetEDataset with which to validate the deep learning tool

License(s): EasySegment

◆ Train() [6/8]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Train ( eVision::EasyDeepLearning::EDataset & trainingDataset,
eVision::EasyDeepLearning::EDataset & validationDataset,
const eVision::EasyDeepLearning::EDataAugmentation & dataAugmentation )

Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See EDeepLearningTool::GetBestIteration.

If no iterations is given, the training will stop automatically.

Parameters
trainingDatasetEDataset with which to train the deep learning tool
validationDatasetEDataset with which to validate the deep learning tool
dataAugmentationData augmentation to use during training

License(s): EasySegment

◆ Train() [7/8]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Train ( eVision::EasyDeepLearning::EDataset & trainingDataset,
eVision::EasyDeepLearning::EDataset & validationDataset,
const eVision::EasyDeepLearning::EDataAugmentation & dataAugmentation,
int iterations )

Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See EDeepLearningTool::GetBestIteration.

If no iterations is given, the training will stop automatically.

Parameters
trainingDatasetEDataset with which to train the deep learning tool
validationDatasetEDataset with which to validate the deep learning tool
dataAugmentationData augmentation to use during training
iterationsNumber of iterations for training.

License(s): EasySegment

◆ Train() [8/8]

void eVision::EasyDeepLearning::ESupervisedSegmenter::Train ( eVision::EasyDeepLearning::EDataset & trainingDataset,
eVision::EasyDeepLearning::EDataset & validationDataset,
int iterations )

Trains the ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See EDeepLearningTool::GetBestIteration.

If no iterations is given, the training will stop automatically.

Parameters
trainingDatasetEDataset with which to train the deep learning tool
validationDatasetEDataset with which to validate the deep learning tool
iterationsNumber of iterations for training.

License(s): EasySegment