eVision Python API
Loading...
Searching...
No Matches
eVision.EasyDeepLearning.ESupervisedSegmenterMetrics Class Reference

Collection of metrics used to evaluate the state of a eVision.EasyDeepLearning.ESupervisedSegmenter tool. More...

Inheritance diagram for eVision.EasyDeepLearning.ESupervisedSegmenterMetrics:
Collaboration diagram for eVision.EasyDeepLearning.ESupervisedSegmenterMetrics:

Public Member Functions

None __init__ (self)
 Constructs an eVision.EasyDeepLearning.ESupervisedSegmenterMetrics object.
None __init__ (self, eVision.EasyDeepLearning.ESupervisedSegmenterMetrics other)
 Copy constructor of an eVision.EasyDeepLearning.ESupervisedSegmenterMetrics object.
None Load (self, str path)
 Loads an supervised segmentation metric.
None Load (self, eVision.ESerializer|None serializer)
 Loads an supervised segmentation metric.
None Save (self, str path)
 Saves an supervised segmentation metric.
None Save (self, eVision.ESerializer|None serializer)
 Saves an supervised segmentation metric.
bool IsValid (self)
 Indicates whether the object contains at least one result.
float GetPixelLabelAccuracy (self, str label)
 Pixel label accuracy.
float GetLabelError (self, str label)
 Label error.
int GetPixelConfusion (self, str trueLabel, str predictedLabel)
 Pixel-wise confusion between the given true and predicted labels.
float GetNormalizedPixelConfusion (self, str trueLabel, str predictedLabel)
 Pixel-wise normalized confusion between the given true and predicted labels.
float GetIntersectionOverUnion (self, str label)
 Intersection over union.
int GetGroundtruthBlobConfusion (self, str groundtruthLabel, str predictedLabel)
 Number of ground truth blobs of the given ground truth label that best match with blobs of the given predicted label.
int GetGroundtruthBlobConfusion (self, int groundtruthLabelIndex, int predictedLabelIndex)
 Number of ground truth blobs of the given ground truth label that best match with blobs of the given predicted label.
int GetPredictedBlobConfusion (self, str groundtruthLabel, str predictedLabel)
 Number of predicted blobs of the given predicted label that match to blobs of the given ground truth label.
int GetPredictedBlobConfusion (self, int groundtruthLabelIndex, int predictedLabelIndex)
 Number of predicted blobs of the given predicted label that match to blobs of the given ground truth label.
str GetLabel (self, int labelIdx)
 Label recognized by the segmenter that produced the results aggregated in the metrics.
Public Member Functions inherited from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics
None __init__ (self)
 Constructs an empty eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics object.
None __init__ (self, eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics other)
 Copy constructor.
bool IsDefectDetectionMetricsValid (self)
 Whether the defect detection metrics are valid or not.
float GetAccuracy (self, int index)
 The accuracy of the segmenter.
float GetAccuracy (self)
 The accuracy of the segmenter.
float GetBestWeightedAccuracy (self, float goodWeight, float badWeight)
 Best achievable weighted accuracy.
float GetBestWeightedAccuracyClassificationThreshold (self, float goodWeight, float badWeight)
 Classification threshold giving the best achievable weighted accuracy (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.GetBestWeightedAccuracy).
int GetConfusion (self, eVision.EasyDeepLearning.EConfusionMatrixElement element, int index)
 Confusion value of one label with another.
int GetConfusion (self, eVision.EasyDeepLearning.EConfusionMatrixElement element)
 Confusion value of one label with another.
float GetRecall (self, int index)
 Recall for the current threshold.
float GetRecall (self)
 Recall for the current threshold.
float GetPrecision (self, int index)
 Precision for the current threshold.
float GetPrecision (self)
 Precision for the current threshold.
float GetFScore (self, int index)
 The F1-Score for the current threshold.
float GetFScore (self)
 The F1-Score for the current threshold.
eVision.EasyDeepLearning.EROCPoint GetPrecisionRecallCurvePoint (self, int index)
 Get a point on the precision/recall curve.
eVision.EasyDeepLearning.EROCPoint GetPrecisionRecallCurvePoint (self)
 Get a point on the precision/recall curve.
eVision.EasyDeepLearning.EROCPoint GetROCPoint (self, int index)
 ROC (Receiver Operating Characteristic) point.
eVision.EasyDeepLearning.EROCPoint GetROCPoint (self)
 ROC (Receiver Operating Characteristic) point.

Protected Member Functions

float _WeightedPixelAccuracy__getter (self)
 \cond
float _BalancedPixelAccuracy__getter (self)
 \cond
float _PixelAccuracy__getter (self)
 \cond
float _WeightedError__getter (self)
 \cond
float _BalancedError__getter (self)
 \cond
float _Error__getter (self)
 \cond
float _WeightedIntersectionOverUnion__getter (self)
 \cond
float _BalancedIntersectionOverUnion__getter (self)
 \cond
float _BlobDetectionAveragePrecision__getter (self)
 \cond
float _BlobDetectionBestFScore__getter (self)
 \cond
float _BlobDetectionBestFScoreThreshold__getter (self)
 \cond
float _BlobDetectionRecall__getter (self)
 \cond
float _BlobDetectionPrecision__getter (self)
 \cond
float _BlobDetectionFScore__getter (self)
 \cond
int _NumLabels__getter (self)
 \cond
Protected Member Functions inherited from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics
int _NumDefectiveSample__getter (self)
 \cond
int _NumGoodSample__getter (self)
 \cond
float _BestAccuracy__getter (self)
 \cond
float _BestBalancedAccuracy__getter (self)
 \cond
float _BestAccuracyClassificationThreshold__getter (self)
 \cond
float _BestBalancedAccuracyClassificationThreshold__getter (self)
 \cond
float _AreaUnderROCCurve__getter (self)
 \cond
float _AveragePrecision__getter (self)
 \cond
float _BestFScore__getter (self)
 \cond
float _BestFScoreThreshold__getter (self)
 \cond
int _PrecisionRecallCurveIndex__getter (self)
 \cond
int _NumPrecisionRecallCurvePoint__getter (self)
 \cond
int _NumberOfClassifiers__getter (self)
 \cond
float _ClassificationThreshold__getter (self)
 \cond
 _ClassificationThreshold__setter (self, float value)
 Classification threshold.

Properties

 WeightedPixelAccuracy = property(_WeightedPixelAccuracy__getter, None)
 \endcond
 BalancedPixelAccuracy = property(_BalancedPixelAccuracy__getter, None)
 \endcond
 PixelAccuracy = property(_PixelAccuracy__getter, None)
 \endcond
 WeightedError = property(_WeightedError__getter, None)
 \endcond
 BalancedError = property(_BalancedError__getter, None)
 \endcond
 Error = property(_Error__getter, None)
 \endcond
 WeightedIntersectionOverUnion = property(_WeightedIntersectionOverUnion__getter, None)
 \endcond
 BalancedIntersectionOverUnion = property(_BalancedIntersectionOverUnion__getter, None)
 \endcond
 BlobDetectionAveragePrecision = property(_BlobDetectionAveragePrecision__getter, None)
 \endcond
 BlobDetectionBestFScore = property(_BlobDetectionBestFScore__getter, None)
 \endcond
 BlobDetectionBestFScoreThreshold = property(_BlobDetectionBestFScoreThreshold__getter, None)
 \endcond
 BlobDetectionRecall = property(_BlobDetectionRecall__getter, None)
 \endcond
 BlobDetectionPrecision = property(_BlobDetectionPrecision__getter, None)
 \endcond
 BlobDetectionFScore = property(_BlobDetectionFScore__getter, None)
 \endcond
 NumLabels = property(_NumLabels__getter, None)
 \endcond
Properties inherited from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics
 NumDefectiveSample = property(_NumDefectiveSample__getter, None)
 \endcond
 NumGoodSample = property(_NumGoodSample__getter, None)
 \endcond
 BestAccuracy = property(_BestAccuracy__getter, None)
 \endcond
 BestBalancedAccuracy = property(_BestBalancedAccuracy__getter, None)
 \endcond
 BestAccuracyClassificationThreshold = property(_BestAccuracyClassificationThreshold__getter, None)
 \endcond
 BestBalancedAccuracyClassificationThreshold = property(_BestBalancedAccuracyClassificationThreshold__getter, None)
 \endcond
 AreaUnderROCCurve = property(_AreaUnderROCCurve__getter, None)
 \endcond
 AveragePrecision = property(_AveragePrecision__getter, None)
 \endcond
 BestFScore = property(_BestFScore__getter, None)
 \endcond
 BestFScoreThreshold = property(_BestFScoreThreshold__getter, None)
 \endcond
 PrecisionRecallCurveIndex = property(_PrecisionRecallCurveIndex__getter, None)
 \endcond
 NumPrecisionRecallCurvePoint = property(_NumPrecisionRecallCurvePoint__getter, None)
 \endcond
 NumberOfClassifiers = property(_NumberOfClassifiers__getter, None)
 \endcond
 ClassificationThreshold = property(_ClassificationThreshold__getter, _ClassificationThreshold__setter)
 \endcond

Detailed Description

Collection of metrics used to evaluate the state of a eVision.EasyDeepLearning.ESupervisedSegmenter tool.

A metric is a value summarizing the quality of a collection of supervised segmentation results (see eVision.EasyDeepLearning.ESupervisedSegmenterResult) with respect to their ground truth. The eVision.EasyDeepLearning.ESupervisedSegmenterMetrics contains three types of metrics:

  • pixel based metrics that are related to the quality of the segmentation masks
  • blob based metrics that are related to the ability of the supervised segmentation tool to detect foreground blobs
  • defect detection metrics that are related to the ability of the supervised segmentation tool to differentiate between images that contains foreground pixels (defective images) and images that are entirely background (good images).

The pixel metrics are the error (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.Error), the pixel accuracy (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.PixelAccuracy), the pixel confusion (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPixelConfusion), the pixel per-label accuracy (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPixelLabelAccuracy) and the intersection over union (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetIntersectionOverUnion).

The blob based metrics are two confusion matrices (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetGroundtruthBlobConfusion and eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPredictedBlobConfusion), and various defect detection metrics (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionRecall, eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionPrecision, and eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionFScore). Note that the metrics for defective blob detection are different from the metrics for defective image detection because, in the case of blob detection, we have no "good" ground truth results.

See eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics for a description of the defect detection metrics. These metrics are available when eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.IsDefectDetectionMetricsValid is true, i.e. when both images that are entirely background and images with non-background pixels have been added to the metrics.

Most metrics depends upon the eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.ClassificationThreshold.

Remarks:

License(s): BasicTypes

Constructor & Destructor Documentation

◆ __init__() [1/2]

None eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.__init__ ( self)

◆ __init__() [2/2]

None eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.__init__ ( self,
eVision.EasyDeepLearning.ESupervisedSegmenterMetrics other )

Copy constructor of an eVision.EasyDeepLearning.ESupervisedSegmenterMetrics object.

Parameters
otherReference to the eVision.EasyDeepLearning.ESupervisedSegmenterMetrics object that should be copied

Member Function Documentation

◆ _BalancedError__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._BalancedError__getter ( self)
protected

\cond

Balanced error.

The balanced error is the weighted error (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.WeightedError) where each label is given an equal weight.

Remarks:

The error is also called the cross-entropy loss.

◆ _BalancedIntersectionOverUnion__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._BalancedIntersectionOverUnion__getter ( self)
protected

\cond

Balanced Intersection over Union (IoU).

The balanced intersection over union is the weighted intersection over union (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.WeightedIntersectionOverUnion) where each label is given equal weight.

◆ _BalancedPixelAccuracy__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._BalancedPixelAccuracy__getter ( self)
protected

\cond

Balanced accuracy.

The balanced accuracy is the weighted accuracy (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.WeightedPixelAccuracy) where each label is given an equal weight.

◆ _BlobDetectionAveragePrecision__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._BlobDetectionAveragePrecision__getter ( self)
protected

\cond

Average precision for blob detection.

Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label. The average precision for blob detection is the average of the precision (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionPrecision) over all the possible classification threshold values. As such, the average precision does not depend on a specific classification threshold.

◆ _BlobDetectionBestFScore__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._BlobDetectionBestFScore__getter ( self)
protected

\cond

Best F1-Score of the segmenter for blob detection.

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionBestFScoreThreshold for the corresponding threshold.

See eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.GetFScore for a definition of the F1-Score. Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ _BlobDetectionBestFScoreThreshold__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._BlobDetectionBestFScoreThreshold__getter ( self)
protected

\cond

Classification threshold that achieves the best F1-Score for blob detection.

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionBestFScore for the corresponding F1-Score.

See eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.GetFScore for a definition of the F1-Score. Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ _BlobDetectionFScore__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._BlobDetectionFScore__getter ( self)
protected

\cond

F1-Score for defective blob detection given the current classification threshold (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.ClassificationThreshold).

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionBestFScore for the corresponding F1-Score.

See eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.GetFScore for a definition of the F1-Score. Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ _BlobDetectionPrecision__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._BlobDetectionPrecision__getter ( self)
protected

\cond

Precision for blob detection given the current classification threshold (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.ClassificationThreshold).

The precision is the proportion of detected defective blobs that match ground truth defective blobs.

Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ _BlobDetectionRecall__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._BlobDetectionRecall__getter ( self)
protected

\cond

Recall for blob detection given the current classification threshold (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.ClassificationThreshold).

The recall is the proportion of ground truth defective blobs that are matched to predicted defective blobs.

Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ _Error__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._Error__getter ( self)
protected

\cond

Error.

Remarks:

The error is also called the cross-entropy loss.

◆ _NumLabels__getter()

int eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._NumLabels__getter ( self)
protected

\cond

Number of labels recognized by the segmenter that produced the results aggregated in the metrics.

◆ _PixelAccuracy__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._PixelAccuracy__getter ( self)
protected

\cond

Accuracy.

The accuracy is the ratio of the number of correctly classified pixels to the total number of pixels.

Remarks:

The accuracy will be skewed towards the most represented labels in the dataset. For example, if your dataset has 1% of defective pixels, the accuracy will mostly reflect the results on the 99% of good pixels and will say nothing about the capability of the model to detect the defect labels.

◆ _WeightedError__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._WeightedError__getter ( self)
protected

\cond

Weighted error.

The weighted error is the weighted average of each label error (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetLabelError) with respect to the dataset label weights.

Remarks:

The error is also called the cross-entropy loss.

◆ _WeightedIntersectionOverUnion__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._WeightedIntersectionOverUnion__getter ( self)
protected

\cond

Weighted Intersection over Union (IoU).

The weighted intersection over union is the weighted averaged of each label intersection over union (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetIntersectionOverUnion) with respect to the dataset label weights.

◆ _WeightedPixelAccuracy__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics._WeightedPixelAccuracy__getter ( self)
protected

\cond

Weighted accuracy.

The weighted accuracy is the weighted average of each label accuracy (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPixelLabelAccuracy) with respect to the dataset label weights.

◆ GetGroundtruthBlobConfusion() [1/2]

int eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetGroundtruthBlobConfusion ( self,
int groundtruthLabelIndex,
int predictedLabelIndex )

Number of ground truth blobs of the given ground truth label that best match with blobs of the given predicted label.

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPredictedBlobConfusion for the number of predicted blobs that match to these ground truth blobs.

Remarks:

A ground truth blob is matched to the subset of predicted blobs from the same predicted label that has the best intersection over union with the ground truth blob. Otherwise, the ground truth blob is matched to background.

Parameters
groundtruthLabelIndexGround truth label index
predictedLabelIndexPredicted label index

◆ GetGroundtruthBlobConfusion() [2/2]

int eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetGroundtruthBlobConfusion ( self,
str groundtruthLabel,
str predictedLabel )

Number of ground truth blobs of the given ground truth label that best match with blobs of the given predicted label.

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPredictedBlobConfusion for the number of predicted blobs that match to these ground truth blobs.

Remarks:

A ground truth blob is matched to the subset of predicted blobs from the same predicted label that has the best intersection over union with the ground truth blob. Otherwise, the ground truth blob is matched to background.

Parameters
groundtruthLabelGround truth label
predictedLabelPredicted label

◆ GetIntersectionOverUnion()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetIntersectionOverUnion ( self,
str label )

Intersection over union.

The intersection over union if the ratio between the number of correctly classified pixels from the given label to the total number of pixels that belongs to that label or are predicted as being from that label.

Assuming that the given label is the positive class, the intersection over union is expressed as IOU = TP / (TP + FP + FN) where TP is the number of true positive, FP the number of false positive (pixels that belongs to label but are not predicted as label) and FN the number of false negative (pixels predicted as label but that do not belong to label).

Remarks:

The intersection over union is also called the Jaccard index.

Parameters
labelLabel

◆ GetLabel()

str eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetLabel ( self,
int labelIdx )

Label recognized by the segmenter that produced the results aggregated in the metrics.

Parameters
labelIdxIndex of the label between 0 and eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.NumLabels - 1.

◆ GetLabelError()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetLabelError ( self,
str label )

Label error.

Parameters
labelLabel

◆ GetNormalizedPixelConfusion()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetNormalizedPixelConfusion ( self,
str trueLabel,
str predictedLabel )

Pixel-wise normalized confusion between the given true and predicted labels.

The normalized confusion is the ratio of the number of pixels belonging to the 'trueLabel' that are classified as 'predictedLabel' to the total number of pixels belonging to the 'trueLabel'.

Parameters
trueLabelTrue label
predictedLabelPredicted label

◆ GetPixelConfusion()

int eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPixelConfusion ( self,
str trueLabel,
str predictedLabel )

Pixel-wise confusion between the given true and predicted labels.

The confusion is the number of pixels belonging to the 'trueLabel' that are classified as 'predictedLabel'.

Parameters
trueLabelTrue label
predictedLabelPredicted label

◆ GetPixelLabelAccuracy()

float eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPixelLabelAccuracy ( self,
str label )

Pixel label accuracy.

The label accuracy is the ratio of the number of correctly classified pixels of the given class to the total number of ground truth pixels from that class. If there are no ground truth pixels from the requested label, the method returns '-1'.

Parameters
labelLabel

◆ GetPredictedBlobConfusion() [1/2]

int eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPredictedBlobConfusion ( self,
int groundtruthLabelIndex,
int predictedLabelIndex )

Number of predicted blobs of the given predicted label that match to blobs of the given ground truth label.

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetGroundtruthBlobConfusion for the number of ground truth blobs that match to these predicted blobs.

Remarks:

A predicted blob may be counted several times in the confusion matrix for predicted blobs:

  • Once if the more than 50% of the blob intersects ground truth background.
  • Once for each non-background label the predicted blob has an intersection with.
Parameters
groundtruthLabelIndexGround truth label index
predictedLabelIndexPredicted label index

◆ GetPredictedBlobConfusion() [2/2]

int eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPredictedBlobConfusion ( self,
str groundtruthLabel,
str predictedLabel )

Number of predicted blobs of the given predicted label that match to blobs of the given ground truth label.

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetGroundtruthBlobConfusion for the number of ground truth blobs that match to these predicted blobs.

Remarks:

A predicted blob may be counted several times in the confusion matrix for predicted blobs:

  • Once if the more than 50% of the blob intersects ground truth background.
  • Once for each non-background label the predicted blob has an intersection with.
Parameters
groundtruthLabelGround truth label
predictedLabelPredicted label

◆ IsValid()

bool eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.IsValid ( self)

Indicates whether the object contains at least one result.

◆ Load() [1/2]

None eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.Load ( self,
eVision.ESerializer | None serializer )

Loads an supervised segmentation metric.

The given eVision.ESerializer must have been created for reading.

Parameters
serializerThe serializer.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ Load() [2/2]

None eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.Load ( self,
str path )

Loads an supervised segmentation metric.

The given eVision.ESerializer must have been created for reading.

Parameters
pathThe file path.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ Save() [1/2]

None eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.Save ( self,
eVision.ESerializer | None serializer )

Saves an supervised segmentation metric.

The given eVision.ESerializer must have been created for writing.

Parameters
serializerThe serializer.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ Save() [2/2]

None eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.Save ( self,
str path )

Saves an supervised segmentation metric.

The given eVision.ESerializer must have been created for writing.

Parameters
pathThe file path.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

Property Documentation

◆ BalancedError

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BalancedError = property(_BalancedError__getter, None)
static

\endcond

Balanced error.

The balanced error is the weighted error (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.WeightedError) where each label is given an equal weight.

Remarks:

The error is also called the cross-entropy loss.

◆ BalancedIntersectionOverUnion

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BalancedIntersectionOverUnion = property(_BalancedIntersectionOverUnion__getter, None)
static

\endcond

Balanced Intersection over Union (IoU).

The balanced intersection over union is the weighted intersection over union (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.WeightedIntersectionOverUnion) where each label is given equal weight.

◆ BalancedPixelAccuracy

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BalancedPixelAccuracy = property(_BalancedPixelAccuracy__getter, None)
static

\endcond

Balanced accuracy.

The balanced accuracy is the weighted accuracy (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.WeightedPixelAccuracy) where each label is given an equal weight.

◆ BlobDetectionAveragePrecision

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionAveragePrecision = property(_BlobDetectionAveragePrecision__getter, None)
static

\endcond

Average precision for blob detection.

Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label. The average precision for blob detection is the average of the precision (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionPrecision) over all the possible classification threshold values. As such, the average precision does not depend on a specific classification threshold.

◆ BlobDetectionBestFScore

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionBestFScore = property(_BlobDetectionBestFScore__getter, None)
static

\endcond

Best F1-Score of the segmenter for blob detection.

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionBestFScoreThreshold for the corresponding threshold.

See eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.GetFScore for a definition of the F1-Score. Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ BlobDetectionBestFScoreThreshold

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionBestFScoreThreshold = property(_BlobDetectionBestFScoreThreshold__getter, None)
static

\endcond

Classification threshold that achieves the best F1-Score for blob detection.

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionBestFScore for the corresponding F1-Score.

See eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.GetFScore for a definition of the F1-Score. Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ BlobDetectionFScore

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionFScore = property(_BlobDetectionFScore__getter, None)
static

\endcond

F1-Score for defective blob detection given the current classification threshold (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.ClassificationThreshold).

See eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionBestFScore for the corresponding F1-Score.

See eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.GetFScore for a definition of the F1-Score. Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ BlobDetectionPrecision

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionPrecision = property(_BlobDetectionPrecision__getter, None)
static

\endcond

Precision for blob detection given the current classification threshold (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.ClassificationThreshold).

The precision is the proportion of detected defective blobs that match ground truth defective blobs.

Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ BlobDetectionRecall

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.BlobDetectionRecall = property(_BlobDetectionRecall__getter, None)
static

\endcond

Recall for blob detection given the current classification threshold (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.ClassificationThreshold).

The recall is the proportion of ground truth defective blobs that are matched to predicted defective blobs.

Blob detection is the ability of the segmenter to correctly detect foreground ground truth blobs, regardless of their specific label.

◆ Error

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.Error = property(_Error__getter, None)
static

\endcond

Error.

Remarks:

The error is also called the cross-entropy loss.

◆ NumLabels

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.NumLabels = property(_NumLabels__getter, None)
static

\endcond

Number of labels recognized by the segmenter that produced the results aggregated in the metrics.

◆ PixelAccuracy

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.PixelAccuracy = property(_PixelAccuracy__getter, None)
static

\endcond

Accuracy.

The accuracy is the ratio of the number of correctly classified pixels to the total number of pixels.

Remarks:

The accuracy will be skewed towards the most represented labels in the dataset. For example, if your dataset has 1% of defective pixels, the accuracy will mostly reflect the results on the 99% of good pixels and will say nothing about the capability of the model to detect the defect labels.

◆ WeightedError

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.WeightedError = property(_WeightedError__getter, None)
static

\endcond

Weighted error.

The weighted error is the weighted average of each label error (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetLabelError) with respect to the dataset label weights.

Remarks:

The error is also called the cross-entropy loss.

◆ WeightedIntersectionOverUnion

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.WeightedIntersectionOverUnion = property(_WeightedIntersectionOverUnion__getter, None)
static

\endcond

Weighted Intersection over Union (IoU).

The weighted intersection over union is the weighted averaged of each label intersection over union (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetIntersectionOverUnion) with respect to the dataset label weights.

◆ WeightedPixelAccuracy

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.WeightedPixelAccuracy = property(_WeightedPixelAccuracy__getter, None)
static

\endcond

Weighted accuracy.

The weighted accuracy is the weighted average of each label accuracy (eVision.EasyDeepLearning.ESupervisedSegmenterMetrics.GetPixelLabelAccuracy) with respect to the dataset label weights.