Compartilhar via


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 imagem
  • ROIs - 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.