From 4d03617fc643519e3d6d8a0b524cbbe902a0d4d9 Mon Sep 17 00:00:00 2001 From: "Salvador E. Tropea" Date: Thu, 6 Nov 2025 14:06:28 -0300 Subject: [PATCH] [SaliencyEvaluationMetrics][Removed] Redundant operations --- src/nodes/nodes_img.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/nodes/nodes_img.py b/src/nodes/nodes_img.py index c15a472..0de3c1a 100644 --- a/src/nodes/nodes_img.py +++ b/src/nodes/nodes_img.py @@ -673,8 +673,7 @@ def _get_s_measure(pred, gt): x = pred.mean() q = x else: - gt[gt >= 0.5] = 1 - gt[gt < 0.5] = 0 + # gt is assumed to be binary q = alpha * _object(pred, gt) + (1 - alpha) * _region(pred, gt) if q < 0: q = torch.tensor([0.0], device=pred.device) @@ -724,9 +723,7 @@ def _region(pred, gt): def _get_e_measure(pred, gt): - gt[gt >= 0.5] = 1 - gt[gt < 0.5] = 0 - + # gt is assumed to be binary pred = (pred - pred.mean()) / (pred.std() + 1e-8) gt = (gt - gt.mean()) / (gt.std() + 1e-8) @@ -738,8 +735,7 @@ def _get_e_measure(pred, gt): def _get_weighted_f_measure(pred, gt): - gt[gt >= 0.5] = 1 - gt[gt < 0.5] = 0 + # gt is assumed to be binary # Implementation based on https://github.com/wenguanwang/SODsurvey/ # Generates a weight map that gives more importance to pixels near the center. @@ -838,17 +834,17 @@ class SaliencyEvaluationMetrics: logger.debug(f"F_max: {f_max}") # 3. S-measure - s_measure = _get_s_measure(pred_i, gt_binary.clone()) + s_measure = _get_s_measure(pred_i, gt_binary) s_measure_total += s_measure logger.debug(f"S: {s_measure}") # 4. E-measure - e_measure = _get_e_measure(pred_i, gt_binary.clone()) + e_measure = _get_e_measure(pred_i, gt_binary) e_measure_total += e_measure logger.debug(f"E: {e_measure}") # 5. Weighted F-measure - wf = _get_weighted_f_measure(pred_i, gt_binary.clone()) + wf = _get_weighted_f_measure(pred_i, gt_binary) weighted_f_total += wf logger.debug(f"wF: {wf}")