Condividi tramite


ROIPooling

    ROIPooling (input,
                ROIs,
                {ROI output shape}, 
                spatialScale = {spatial scale wrt image (float)})

L'operazione di pooling ROI calcola una nuova matrice selezionando il valore massimo (max pooling) nell'input di pooling per ogni area di interesse (ROI). Le aree di interesse vengono date come secondo input all'operatore come angolo superiore sinistro e inferiore destro delle aree in pixel assoluti dell'immagine originale. L'input di pooling viene calcolato per roi proiettando le coordinate sulla mappa delle funzionalità di input (primo input all'operatore) e considerando tutte le posizioni sovrapposte. La proiezione usa la "scala spaziale", ovvero il rapporto delle dimensioni della mappa delle funzionalità di input rispetto alle dimensioni dell'immagine di input. La scala spaziale può essere calcolata moltiplicando tutti i passi che si verificano prima del pool di ROI e prendendo l'inversa, ad esempio una rete con quattro livelli di pooling con stride due avrebbe una scala spaziale di 1/16. La larghezza e l'altezza della forma di output sono determinate dal terzo argomento, la profondità di output (numero di filtri) corrisponde alla profondità di input.

  • input - Inserimento in pool per l'intera immagine
  • ROIs - Coordinate ROI come coordinate di pixel assolute (x_min, y_min, x_max, y_max)
  • {roi output shape} - dimensioni (larghezza, altezza) dell'output del ROI, come vettore BrainScript, ad esempio (4:4).
  • spatialScale - scala dell'operando dalle dimensioni originali dell'immagine. Il valore predefinito è 1/16, che corrisponde ad esempio alle reti AlexNet e VGG16.

Nota

Modificata in CNTK versione 2.1.

In CNTK 2.1 è stato aggiunto il parametro della scala spaziale e le coordinate delle INTERFACCE di base vengono ora passate come valori pixel assoluti anziché valori relativi come nelle versioni precedenti.