Задача нахождения объектов на изображении

Материал из Викиконспекты
Перейти к: навигация, поиск

Задача нахождения объектов на изображении — задача машинного обучения, в рамках которой выполняется определение наличия или отсутствия объекта определённого домена на изображении, нахождение границ этого объекта в системе координат пикселей исходного изображения. В зависимости от алгоритма обучения, объект может характеризоваться координатами обрамляющего его прямоугольника (bounding box), ключевыми точками, контуром объекта.

Область применимости

Задача детекции объектов — одна из самых распространённых задач, связанных с компьютерным зрением (Computer Vision). Область применимости задачи является очень широкой — от распознавания животных, людей, предметов до военных целей, метеорологии, систем безопасности. В настоящее время основные алгоритмы детекции объектов основаны на глубоких нейронных сетях.

R-CNN

Схема работы R-CNN

Region-CNN (R-CNN, Region-based Convolutional Network) — алгоритм, основанный на свёрточных нейронных сетях. Вместо того, чтобы использовать для поиска изображений скользящие окна фиксированного размера, на первом шаге алгоритм пытается найти селективным поиском "регионы" — bounding box-ы разных размеров, которые, предположительно, содержат объект. Это обеспечивает более быстрое и эффективное нахождение объектов независимо от размера объекта, расстояния до камеры, угла зрения. Суммарное количество регионов для каждого изображения, сгенерированных на первом шаге, примерно равно двум тысячам. Найденные регионы при помощи аффинных преобразований приобретают размер, который нужно подать на вход CNN. Также вместо аффинных преобразований можно использовать паддинги, либо расширять bounding-box до размеров, необходимых для входа CNN. В качестве CNN зачастую используется архитектура CaffeNet, извлекающая для каждого региона порядка 4096 признаков. На последнем этапе вектора признаков регионов обрабатываются SVM, проводящими классификацию объектов, по одной SVM на каждый домен.

Селективный поиск, в свою очередь, тоже можно обучать с помощью линейной регрессии параметров региона — ширины, высоты, центра. Этот метод, названный bounding-box regression, позволяет более точно выделить объект. В качестве данных для регрессии используются признаки, полученные в результате работы CNN.

Fast R-CNN

Схема работы Fast R-CNN

За счёт того, что в R-CNN для каждого из 2000 регионов классификация производится отдельно, обучение сети занимает большой объём времени. Оригинальной версии алгоритма R-CNN для обработки каждого тестового изображения требовалось порядка 47 секунд, поэтому его авторы предложили алгоритм, улучшающий производительность - Fast R-CNN. Его характерной особенностью является подача на вход CNN всего изображения для формирования карты объектов. Преобразование признаков к фиксированному размеру производится с помощью Region of Interest (RoI). Принцип RoI заключается в делении региона сетку, размер ячеек которой совпадает с размерностью выхода, после чего по ячейкам сетки проводится выбор максимального значения. Таким образом, операция свёртки применяется только один раз для каждого изображения. Также в Fast R-CNN используется совместное обучение SVM, CNN и bounding-box регрессора вместо независимого обучения.

Faster R-CNN

Схема работы Faster R-CNN

Fast R-CNN, как и оригинальный алгоритм R-CNN, использует для нахождения регионов селективный поиск. Несмотря на то, что за счёт единоразовой свёртки время обучения на одном тестовом изображении алгоритмом снизилось с 49 до 2.3 секунд, селективный поиск, который выполняет предложения регионов, является узким местом в производительности Fast R-CNN. Авторы алгоритма Faster R-CNN, призванного решить эту проблему, предложили вычислять регионы с помощью отдельного модуля Region Proposal Network (RPN). RPN является свёрточной сетью, выполняющей роль генератора предложений. Исходное изображение является входом свёрточной сети, генерирующей карту признаков. Сгенерированная карта признаков попадает в RPN, после чего значения передаются в два полносвязных слоя — box-regression-layer (сокр. reg layer), прогнозирующий значения смещения для bounding box-ов, и box-classification-layer (сокр. cls layer), классифицирующий изображения в пределах предлагаемой области. Также важную роль играют anchor-ы - рамки с разными положениями и размерами для скользящего окна. Anchor-ы используются для расчёта вероятностей нахождения объекта внутри рамки cls-слоем, а за сдвиг их местоположения отвечает reg-слой.

YOLO

См.также

Источники информации