Jak obliczyć wynik (IU (średnia przecięcie na poziomie Unii) jak w dokumencie?Jak obliczyć średnią wartość IU w segmentacji obrazu?
Długo, Jonathan, Evan Shelhamer i Trevor Darrell. "W pełni konwergentne sieci do segmentacji semantycznej".
Jak obliczyć wynik (IU (średnia przecięcie na poziomie Unii) jak w dokumencie?Jak obliczyć średnią wartość IU w segmentacji obrazu?
Długo, Jonathan, Evan Shelhamer i Trevor Darrell. "W pełni konwergentne sieci do segmentacji semantycznej".
dla każdej klasy przecięcia nad Unii (jm) wynik:
prawda dodatnie/(true dodatnie + fałszywie dodatnie + fałszywie ujemnych)
oznaczać jm jest po prostu średnią dla wszystkich klas.
chodzi o zapis na papierze:
n_ij: liczba piksele klasy i przewidziano, że należą do klasy j. Więc dla klasy i:
można znaleźć kod mATLAB do obliczania tego bezpośrednio w DevKit Pascak here
Czy istnieje wersja Pythona z tego samego kodu ? –
@stochastic_zeitgeist check [to] (http://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/) – Miki
Myślę, że jest to tylko dla prostokątnych ramek ograniczających. W przypadku nieregularnych kształtów, myślę, że [to] (https://gist.github.com/meetshah1995/6a5ad112559ef1536d0191f8b9fe8d1e) powinno działać. –
To powinno pomóc
def computeIoU(y_pred_batch, y_true_batch):
return np.mean(np.asarray([pixelAccuracy(y_pred_batch[i], y_true_batch[i]) for i in range(len(y_true_batch))]))
def pixelAccuracy(y_pred, y_true):
y_pred = np.argmax(np.reshape(y_pred,[N_CLASSES_PASCAL,img_rows,img_cols]),axis=0)
y_true = np.argmax(np.reshape(y_true,[N_CLASSES_PASCAL,img_rows,img_cols]),axis=0)
y_pred = y_pred * (y_true>0)
return 1.0 * np.sum((y_pred==y_true)*(y_true>0))/np.sum(y_true>0)
jaki jest sens używania argmax w kodzie? – Eliethesaiyan
Dane wyjściowe 'y_pred' mają kształt' n_classes * h * w', które chcemy przekonwertować na jeden obraz, gdzie wartości pikseli są równe klasie tego piksela i dlatego przyjmujemy wartość arg max na osi klasy. –
dzięki .... rozumiem teraz – Eliethesaiyan
zobacz także: [jak obliczyć Iou z Python] (http://stackoverflow.com/a/42874377/562769) –