Prova intersezione sopra Unione
Intersezione su Union è una metrica di valutazione utilizzato per misurare la precisione di un rilevatore di oggetto un set di dati particolare.
Più formalmente, al fine di applicare Intersezione sopra Unione per valutare un (arbitrario) rilevatore oggetto abbiamo bisogno:
- La terra-verità di delimitazione scatole (vale a dire, la mano etichettato delimitazione scatole dal set di test che specificare dove nell'immagine si trova il nostro oggetto).
- Le caselle di delimitazione previste dal nostro modello.
Sotto ho incluso un esempio visivo di una terra-verità rettangolo di selezione rispetto a un rettangolo di selezione previsto:

Il predetto rettangolo di selezione è disegnato in rosso, mentre la terra-verità (cioè , etichettato a mano) il riquadro di delimitazione è disegnato in verde.
Nella figura sopra possiamo vedere che il nostro rilevatore di oggetti ha rilevato la presenza di un segnale di stop in un'immagine.
Computing Intersezione sopra Unione può quindi essere determinata mediante:

Finché abbiamo questi due insiemi di delimitazione scatole possiamo applicare Intersezione sopra dell'Unione.
Ecco il codice Python
# import the necessary packages
from collections import namedtuple
import numpy as np
import cv2
# define the `Detection` object
Detection = namedtuple("Detection", ["image_path", "gt", "pred"])
def bb_intersection_over_union(boxA, boxB):
# determine the (x, y)-coordinates of the intersection rectangle
xA = max(boxA[0], boxB[0])
yA = max(boxA[1], boxB[1])
xB = min(boxA[2], boxB[2])
yB = min(boxA[3], boxB[3])
# compute the area of intersection rectangle
interArea = (xB - xA) * (yB - yA)
# compute the area of both the prediction and ground-truth
# rectangles
boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1])
boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1])
# compute the intersection over union by taking the intersection
# area and dividing it by the sum of prediction + ground-truth
# areas - the interesection area
iou = interArea/float(boxAArea + boxBArea - interArea)
# return the intersection over union value
return iou
Il gt
e pred
sono
gt
: Il terreno verità rettangolo di selezione.
pred
: il bounding box previsto dal nostro modello.
Per ulteriori informazioni, è possibile fare clic this post
fonte
2017-01-15 11:41:04
Questa non è una questione Matlab. Rimuovi il tag 'Matlab'. – Ratbert
Puoi suggerire altri tag rilevanti per favore? – Sambas23
Vedi anche: [Calcoledi IoU per AABB] (http://stackoverflow.com/a/42874377/562769) –