DeepLearning_ClassifyObject


Header:AVLDL.h
Namespace:avl

Performs whole image classification using a trained deep-learning model.

Syntax

void avl::DeepLearning_ClassifyObject
(
	const avl::Image& inImage,
	atl::Optional<const avl::Rectangle2D&> inRoi,
	atl::Optional<const avl::CoordinateSystem2D&> inRoiAlignment,
	const avl::DeepModel_Classification& inDeepModel,
	const bool inCreateRelevanceHeatmap,
	atl::Array<avl::ClassConfidence>& outConfidences,
	atl::String& outClassName,
	int& outClassIndex,
	float& outScore,
	avl::Image& outRelevanceHeatmap
)

Parameters

Name Type Default Description
inImage const Image& Input image
inRoi Optional<const Rectangle2D&> NIL Area of interest
inRoiAlignment Optional<const CoordinateSystem2D&> NIL
inDeepModel const DeepModel_Classification& Trained model
inCreateRelevanceHeatmap const bool False Enable-Disable create relevance heatmap
outConfidences Array<ClassConfidence>& Returns confidences for all classes
outClassName String& Returns name of the class with highest confidence
outClassIndex int& Returns the index of the class with highest confidence
outScore float& Returns the value of the highest confidence
outRelevanceHeatmap Image& Returns heatmap indicating how strong specific parts of image influenced classification result

Requirements

For input inImage only pixel formats are supported: 1⨯uint8, 3⨯uint8.

Read more about pixel formats in Image documentation.

Hints

Loading Deep Learning Model may take longer timer. Consider using DeepLearning_LoadModel_ObjectClassification for pre-loading model before execution starts.

Remarks

  • Model provided on inDeepModel input will be loaded automatically on first usage of this filter.
  • This filter should not be executed along with running Deep Learning Service as it may result in degraded performance or even out-of-memory errors. However, if stopping Deep Learning Service is not an option (e.g. program uses other Deep Learning filters related to Anomaly Detection or Instances Segmentation) it is advised that this filter should be executed before other Deep Learning filters. Such "warm up" execution does not have to use real image or roi as long as provided image and roi have similar size.

Multithreaded environment

This function is not guaranteed to be thread-safe. When used in multithreaded environment, it has to be manually synchronized.

Errors

List of possible exceptions:

Error type Description
DomainError Not supported inImage pixel format in DeepLearning_ClassifyObject.

See Also

  • Models for Deep Learning may be created using Adaptive Vision Deep Learning Editor or using Training Api.