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 теперь передаются в качестве абсолютных значений пикселей, а не относительных значений, как в предыдущих версиях.