ROIPooling
ROIPooling (input,
ROIs,
{ROI output shape},
spatialScale = {spatial scale wrt image (float)})
A operação roi-pooling calcula uma nova matriz selecionando o valor máximo (máximo de agrupamento) na entrada de agrupamento para cada região de interesse (ROI). As regiões de interesse são dadas como a segunda entrada para o operador como os cantos superior esquerdo e inferior direito das regiões em pixels absolutos da imagem original. A entrada de agrupamento é calculada por ROI projetando as coordenadas no mapa de funções de entrada (primeira entrada para o operador) e considerando todas as posições sobrepostas. A projeção utiliza a "escala espacial" que é a relação de tamanho do mapa de características de entrada sobre o tamanho da imagem de entrada. A escala espacial pode ser calculada multiplicando todos os passos que ocorrem antes do roi-pooling e tomando o inverso, por exemplo, uma rede que tem quatro camadas de pool com passo dois teria uma escala espacial de 1/16. A largura e a altura da forma de saída são determinadas pelo terceiro argumento, a profundidade de saída (número de filtros) é a mesma que a profundidade de entrada.
input
- entrada de agrupamento para toda a imagemROIs
- Coordenadas ROI como coordenadas absolutas de pixels(x_min, y_min, x_max, y_max)
{roi output shape}
- dimensões (largura, altura) da saída ROI, como vetor BrainScript, por exemplo.(4:4)
spatialScale
- a escala de ópera do tamanho original da imagem. O padrão é 1/16, que corresponde, por exemplo, às redes AlexNet e VGG16.
Nota
Alterada na versão 2.1 CNTK.
Em CNTK 2.1 foi adicionado o parâmetro da escala espacial e as coordenadas dos ROIs passam agora como valores absolutos de pixel em vez de valores relativos como nas versões anteriores.