ROIPooling
ROIPooling (input,
ROIs,
{ROI output shape},
spatialScale = {spatial scale wrt image (float)})
A operação de pool de ROI calcula uma nova matriz selecionando o valor máximo (pooling máximo) na entrada de pool para cada ROI (região de interesse). 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 pool é computada por ROI projetando as coordenadas no mapa de recursos de entrada (primeira entrada para o operador) e considerando todas as posições sobrepostas. A projeção usa a "escala espacial" que é a taxa de tamanho do mapa de recursos de entrada sobre o tamanho da imagem de entrada. A escala espacial pode ser calculada multiplicando todos os passos que ocorrem antes do pool de ROI 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 pool para toda a imagemROIs
- Coordenadas ROI como coordenadas de pixel absoluto(x_min, y_min, x_max, y_max)
{roi output shape}
- dimensões (largura, altura) da saída ROI, como um vetor BrainScript, por exemplo.(4:4)
.spatialScale
- a escala do operando do tamanho da imagem original. O padrão é 1/16, que corresponde, por exemplo, redes AlexNet e VGG16.
Observação
Alterado no CNTK versão 2.1.
Em CNTK 2.1, o parâmetro de escala espacial foi adicionado e as coordenadas dos ROIs agora são passadas como valores de pixel absolutos em vez de valores relativos como nas versões anteriores.