Computes the Intersection-Over-Union metric for class 0 and/or 1.
Source:R/metrics.R
metric_binary_iou.Rd
Formula:
iou <- true_positives / (true_positives + false_positives + false_negatives)
Intersection-Over-Union is a common evaluation metric for semantic image segmentation.
To compute IoUs, the predictions are accumulated in a confusion matrix,
weighted by sample_weight
and the metric is then calculated from it.
If sample_weight
is NULL
, weights default to 1.
Use sample_weight
of 0 to mask values.
This class can be used to compute IoUs for a binary classification task
where the predictions are provided as logits. First a threshold
is applied
to the predicted values such that those that are below the threshold
are
converted to class 0 and those that are above the threshold
are converted
to class 1.
IoUs for classes 0 and 1 are then computed, the mean of IoUs for the classes
that are specified by target_class_ids
is returned.
Usage
metric_binary_iou(
...,
target_class_ids = list(0L, 1L),
threshold = 0.5,
name = NULL,
dtype = NULL
)
Arguments
- ...
For forward/backward compatability.
- target_class_ids
A list or list of target class ids for which the metric is returned. Options are
0
,1
, orc(0, 1)
. With0
(or1
), the IoU metric for class 0 (or class 1, respectively) is returned. Withc(0, 1)
, the mean of IoUs for the two classes is returned.- threshold
A threshold that applies to the prediction logits to convert them to either predicted class 0 if the logit is below
threshold
or predicted class 1 if the logit is abovethreshold
.- name
(Optional) string name of the metric instance.
- dtype
(Optional) data type of the metric result.
Value
a Metric
instance is returned. The Metric
instance can be passed
directly to compile(metrics = )
, or used as a standalone object. See
?Metric
for example usage.
Examples
Standalone usage:
m <- metric_binary_iou(target_class_ids=c(0L, 1L), threshold = 0.3)
m$update_state(c(0, 1, 0, 1), c(0.1, 0.2, 0.4, 0.7))
m$result()
m$reset_state()
m$update_state(c(0, 1, 0, 1), c(0.1, 0.2, 0.4, 0.7),
sample_weight = c(0.2, 0.3, 0.4, 0.1))
m$result()
Usage with compile()
API:
model %>% compile(
optimizer = 'sgd',
loss = 'mse',
metrics = list(metric_binary_iou(
target_class_ids = 0L,
threshold = 0.5
))
)
See also
Other iou metrics: metric_iou()
metric_mean_iou()
metric_one_hot_iou()
metric_one_hot_mean_iou()
Other metrics: Metric()
custom_metric()
metric_auc()
metric_binary_accuracy()
metric_binary_crossentropy()
metric_binary_focal_crossentropy()
metric_categorical_accuracy()
metric_categorical_crossentropy()
metric_categorical_focal_crossentropy()
metric_categorical_hinge()
metric_cosine_similarity()
metric_f1_score()
metric_false_negatives()
metric_false_positives()
metric_fbeta_score()
metric_hinge()
metric_huber()
metric_iou()
metric_kl_divergence()
metric_log_cosh()
metric_log_cosh_error()
metric_mean()
metric_mean_absolute_error()
metric_mean_absolute_percentage_error()
metric_mean_iou()
metric_mean_squared_error()
metric_mean_squared_logarithmic_error()
metric_mean_wrapper()
metric_one_hot_iou()
metric_one_hot_mean_iou()
metric_poisson()
metric_precision()
metric_precision_at_recall()
metric_r2_score()
metric_recall()
metric_recall_at_precision()
metric_root_mean_squared_error()
metric_sensitivity_at_specificity()
metric_sparse_categorical_accuracy()
metric_sparse_categorical_crossentropy()
metric_sparse_top_k_categorical_accuracy()
metric_specificity_at_sensitivity()
metric_squared_hinge()
metric_sum()
metric_top_k_categorical_accuracy()
metric_true_negatives()
metric_true_positives()