Поделиться через


ROIPooling

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

Операция roI-pooling вычисляет новую матрицу, выбрав максимальное (максимальное значение пула) в входных данных пула для каждого интересующего региона (ROI). Интересующие области предоставляются в качестве второго ввода оператору в качестве верхних левых и нижних правых углов областей в абсолютных пикселях исходного изображения. Входные данные в пуле вычисляются для каждого roI путем проецирования координат на карту входных признаков (первый вход для оператора) и учитывая все перекрывающиеся позиции. В проекции используется "пространственный масштаб", который является соотношением размера карты входных признаков по сравнению с размером входного изображения. Пространственный масштаб можно вычислить, умножив все шаги, происходящие до пула roI и принимая обратное, например сеть с четырьмя уровнями пула с шагами два будут иметь пространственный масштаб 1/16. Ширина и высота выходной фигуры определяются третьим аргументом, глубина вывода (количество фильтров) совпадает с глубиной ввода.

  • input — объединение входных данных для всего образа;
  • ROIs - Координаты ROI в виде абсолютных координат пикселей (x_min, y_min, x_max, y_max)
  • {roi output shape} — измерения (ширина, высота) выходных данных ROI в виде вектора BrainScript, например (4:4).
  • spatialScale — масштаб операнда от исходного размера изображения. Значение по умолчанию — 1/16, которое соответствует таким сетям, как AlexNet и VGG16.

Примечание

Изменено в CNTK версии 2.1.

В CNTK 2.1 добавлен параметр пространственного масштабирования, а координаты rois теперь передаются в качестве абсолютных значений пикселей, а не относительных значений, как в предыдущих версиях.