Calcul de l'IoU moyen dans la détection d'objets

import numpy as np

# get IoU overlap ratio
def compute_mean_iou(y_pred, y_true):
  mean_iou = []
  for i in range(y_pred.shape[0]):
    area_a = (y_pred[i][2] - y_pred[i][0]) * (y_pred[i][3] - y_pred[i][1])
    area_b = (y_true[i][2] - y_true[i][0]) * (y_true[i][3] - y_true[i][1])
    iou_x1 = np.maximum(y_pred[i][0], y_true[i][0])
    iou_y1 = np.maximum(y_pred[i][1], y_true[i][1])
    iou_x2 = np.minimum(y_pred[i][2], y_true[i][2])
    iou_y2 = np.minimum(y_pred[i][3], y_true[i][3])
    iou_w = iou_x2 - iou_x1
    iou_h = iou_y2 - iou_y1
    if iou_w < 0 or iou_h < 0:
	    mean_iou.append(0.0)
    else: 
      area_iou = iou_w * iou_h
      iou = area_iou / (area_a + area_b - area_iou)
      mean_iou.append(iou)
  return sum(mean_iou)/len(mean_iou)

# [x1, y1, x2, y2]
a = np.array(([[0, 0, 1, 3],[0, 0, 1, 3]]), dtype=np.float32)

b = np.array(([[0, 0, 1, 1],[0, 0, 1, 1]]), dtype=np.float32)
print(compute_mean_iou(a, b))

https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_93.py

Recommended Posts

Calcul de l'IoU moyen dans la détection d'objets
Détection automatisée du répertoire de construction dans waf
Calcul en temps réel de la valeur moyenne avec corroutine
Calcul séquentiel de la valeur moyenne avec l'algorithme en ligne
Découvrez la bonne efficacité de calcul de la vectorisation en Python
Calcul de l'écart type et du coefficient de corrélation en Python
[Cinema 4D] fonction de vérification de tous les objets de la scène
[python] Calcul des mois et des années de différence de date / heure
Outil de création de données d'entraînement pour la détection d'objets OpenCV
Diminuer le nom de classe de l'affichage des résultats de détection de la détection d'objets
Utiliser Mean avec DataFrame
Orienté objet en python
Calculer la date avec python
Détection des marqueurs ArUco
Calculer les dates en Python
Application de la conversion affine par tenseur - de la détection de base à la détection d'objet -
Maya | Découvrez le nombre de polygones dans l'objet sélectionné
Imprimer le nom de l'objet directement sous l'objet spécifié dans Blender
Comparaison des méthodes de détection des couleurs dans OpenCV inRange, numpy, cupy
Analyse d'image avec l'API Object Detection à essayer en 1 heure