Доступно с лицензией Image Analyst.
Следующие методы и концепции являются ключевыми для понимания и выполнения обнаружения объектов в ArcGIS Pro.
Single Shot Detector (SSD)
Single Shot Detector (SSD) выполняет один проход изображения для выявления нескольких объектов. SSD рассматривается как одна из самых быстрых моделей определения объектов с довольно высокой точностью.
SSD состоит из двух компонентов: основная модель и головная часть SSD. Основная модель - это предварительно обученная сеть классификации изображений, работающая как экстрактор объектов. Обычно это сеть, такая как ResNet, обученная по Imagenet, из которой удален финальный, полностью соединенный слой классификации. Головная часть SSD - это один или несколько сверточных слоев, добавленных к основной модели, выходные данные интерпретируются как ограничивающие прямоугольники и классы объектов в пространственном местоположении активаций финального слоя.
Сеть ячеек
Вместо использования скользящего окна, SSD делит изображение с помощью сетки, каждая ячейка отвечает за обнаружение объектов в данном регионе снимка. Обнаружение объектов означает прогнозирования класса и местоположения объекта в регионе. Если объект отсутствует, ячейка рассматривается как класс фона и местоположение игнорируется. В примере ниже можно использовать сетку 4 на 4. Каждая ячейка может сообщать положение и форму содержащегося в ней объекта.
Если в одной ячейке имеется несколько объектов или вам необходимо определить несколько объектов различной формы, используется рамка якоря.
Рамка якоря
Каждой ячейке сетки SSD можно присвоить несколько рамок якоря. Эти рамки якорей подготовлены заранее и каждая отвечает за размер и форму в пределах ячейки. Например, плавательный бассейн на снимке ниже соответствует более высокой рамке якоря, а здание - более широкой.
SSD использует совпадение фраз при обучении, чтобы сопоставить соответствующую рамку якоря с ограничивающими прямоугольниками каждого истинного объекта на снимке. Фактически, рамка якоря с максимальной степенью пересечения с объектом ответственна за прогнозирование класса и местоположения этого объекта. Это свойство используется для обучения сети и для прогнозирования определенных объектов и их местоположений после обучения сети. На практике, каждая рамка якоря задается соотношением сторон и уровнем масштабирования.
Соотношение сторон
Не все объекты имеют квадратную форму. Некоторые длиннее, а некоторые шире, в той или иной степени. Архитектура SSD позволяет учитывать это, используя готовые пропорции рамок якорей. Вы можете использовать параметр пропорций для задания различных соотношений сторон рамок, связанных с каждой ячейкой сетки при каждом уровне масштабирования.
Уровень масштабирования
Рамки якорей могут иметь размер, отличающийся от размера ячейки сетки. Вам может потребоваться найти объекты, которые меньше или больше размера ячейки. Параметр масштаба используется для задания уровня масштабирования рамок якорей в ту или иную сторону, с учетом размера каждой ячейки. Как и в примере с рамкой якоря, размер здания значительно больше размера бассейна.
RetinaNet
RetinaNet - это однопроходная модель определения объектов, которая хорошо работает с плотными объектами с небольшими масштабами. Поэтому она стала популярной моделью определения объектов для обработки спутниковых и аэрофотоснимков.
Архитектура
Архитектура модели RetinaNet имеет четыре основных компонента1:
- Путь снизу вверх — основная сеть ResNet, которая вычисляет объекты при различных масштабах, независимо от размера входного изображения или сети.
- Путь сверху вниз и Боковые соединения — путь сверху вниз увеличивает разрешение грубых объектов из более высоких уровней пирамидных слоев, а боковые соединения объединяют слои снизу вверх и сверху вниз одинакового пространственного размера.
- Подсеть классификации — прогнозирует вероятность присутствия объекта в каждом пространственном местоположении для каждого поля якоря и класса объектов.
- Подсеть регрессии - уменьшает отступ ограничивающих прямоугольников от рамок якорей для каждого истинного объекта.
Focal Loss
Focal Loss (FL) - это расширение Cross-Entropy Loss (CE), которое предназначено для обработки проблемы разбалансировки класса в однопроходных моделях определения объектов. Однопроходные модели подвержены проблемам разбалансировки классов переднего и заднего планов, вызванных плотной выборкой рамок якорей (возможные местоположения объектов1). В RetinaNet каждый пирамидный слой может содержать тысячи рамок якорей. Только некоторые из них сопоставлены истинным объектам, а большая часть относится к классу заднего плана. Эти простые примеры (определение с высокой вероятностью) приводят к небольшим потерям значений, но все вместе могут перегрузить модель. FL сокращает потери от простых примеров и увеличивает значение корректирующих примеров неправильной классификации.
Масштабы
Масштаб рамок якорей. По умолчанию используется [2, 2.3, 2.6], что подходит для большинства объектов в любом наборе данных. Вы можете изменить масштабы, в соответствии с размером объектов в наборе данных.
Соотношение сторон
Соотношение сторон рамки привязки. По умолчанию используется [0.5, 1, 2], т.е. соотношение сторон рамок якорей будет 1:2, 1:1, 2:1. Вы можете изменить соотношения в соответствии с формой интересующих вас объектов.
YOLOv3
YOLO (You Only Look Once ) v3 использует Darknet-53 как базовую сеть. Это противоположность использования популярного семейства сетей ResNet в других моделях, таких как SSD и RetinaNet. Darknet-53 - это углубленная версия Darknet-19, которая использовалась в предыдущей версии, YOLOv2. В соответствии с названием, в этой архитектуре сети используется 53 сверточных слоя. Адаптация слоев невязки в стиле ResNet позволяла повысить точность при сохранении скорости. Такое извлечение объектов работает лучше, чем ResNet101, почти как ResNet152, при этом в 1.5 и 2 раза быстрее, соответственно2.
YOLOv3 содержит инкрементальные усовершенствования предыдущей версии2. В нем используется повышение разрешения и объединение слоев объектов с ранними слоями, содержащими объекты с высоким разрешением. Другое усовершенствование - использование трех масштабов определения. Это делает модель подходящей для определения на изображении объектов различных масштабов. Имеются также усовершенствования для выбора рамок якорей, функции потери и т.д. Подробный анализ архитектуры YOLOv3 можно найти в статье Что нового в YOLO v3? .
Faster R-CNN
До Faster R-CNN (Region-based Convolutional Neural Network), модели использовали различные алгоритмы прогнозирования регионов, которые вычислялись с помощью ЦПУ и являлись ограничивающим фактором. В Faster R-CNN архитектура определения объектов улучшена с помощью замены алгоритма поиска выборки в Fast R-CNN сверточной сетью, называемой Region Proposal Network (RPN). Остальная часть архитектуры осталась такой же, как и в Fast R-CNN; изображение проходит CNN для построения карты объектов, затем в регионах, прогнозируемых сетью RPN, объекты выбираются и их размер меняется с помощью слоя слияния, после объекты отправляются в слой FC с двумя головными элементами — классификатором softmax и регрессором ограничивающего прямоугольника. Эта структура повышает скорость определения, приближая ее к реальному времени3.
Regional Proposal Network
Region Proposal Network (Сеть прогнозирования регионов) обрабатывает изображение и возвращает интересующие регионы, содержащие объекты, так же, как и другие алгоритмы прогнозирования регионов. RPN также возвращает оценку объекта, т.е. измерение вероятности, с которой данный регион содержит объект, вместо заднего плана3. В Faster R-CNN, RPN и сеть определения используют общую базовую сеть; последний общий слой базовой сети создает карту объектов изображения, которое было использовано в RPN для прогноза регионов.
С использованием подхода скользящего окна, небольшая сеть накладывается на карту объектов. В каждом пространственном окне имеется несколько рамок якорей с заданными масштабами и пропорциями. Это позволяет модели определять объекты множества различных масштабов и пропорций на одном изображении. Обычно рамки якорей создаются с тремя различными масштабами и тремя пропорциями, это дает 9 рамок в каждом пространственном местоположении, что означает максимальное число вариантов в данном местоположении. Затем небольшая сеть передает данные в полностью соединенные слои с двумя головными частями — одна для оценки объектов, а вторая для координат ограничивающего прямоугольника, содержащего предполагаемый объект региона. Обратите внимание, что эти слои, хотя и похожи на последние несколько слоев детектора объектов Fast R-CNN, отличаются тем, что используют общие веса. RPN классифицирует регионы по классам независимо, т.к. его задача - только нахождение регионов, которые содержат объекты. Дополнительные сведения о RPN см. в Faster R-CNN для определения объектов .
Mask R-CNN
Mask R-CNN - это модель для сегментации экземпляров. Она была разработана на базе модели Faster R-CNN. Модель Faster R-CNN - это сверточная нейронная сеть, основанная на регионах 4, которая возвращает ограничивающие прямоугольники для каждого объекта и надпись класса с баллом достоверности.
Faster R-CNN прогнозирует класс объекта и ограничивающие прямоугольники, но Mask R-CNN является расширением Faster R-CNN с дополнительными ветвями для прогнозирования масок сегментации в каждом регионе интереса (RoI). На втором этапе Faster R-CNN, пул RoI заменен RoIAlign, что помогает сохранять пространственную информацию, которая смещается при использовании пула RoI. RoIAlign использует бинарную интерполяцию для создания карты объектов фиксированного размера, например, 7 на 7. Выходные данные из слоя RoIAlign затем подаются в головную часть Mask, которая состоит из двух сверточных слоев. Она генерирует маску для каждого RoI, разбивая изображение последовательным сопоставлением пикселей. Чтобы избежать избыточного сглаживания границ, которые не являются четкими, для объектов с неправильной формой границ, модель расширена дополнением модуля нейронной сети для рендеринга на основе точек, который называется PointRend.
Сегментация экземпляра
Сегментация экземпляра совмещает задачу обнаружения объекта, цель которой – найти объект и его ограничивающий прямоугольник на изображении, и задачу семантической сегментации, которая классифицирует каждый пиксель по заданным категориям. Поэтому можно определять объекты на изображении одновременно точно сегментируя маску для каждого экземпляра объекта.
Сегментация экземпляра позволяет решать множество проблем, таких как:
- Определение повреждений, когда важно узнать экстент повреждений.
- Автопилотирование автомобилей, где важно знать положение каждого автомобиля в сцене.
- Генерация контуров зданий для каждого конкретного здания - обычная проблема ГИС.
Справочная информация
[1] Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollár. Focal Loss for Dense Object Detection, http://arxiv.org/abs/1708.02002 arXiv:1708.02002, (2017).
[2] Joseph Redmon, Ali Farhadi. YOLOv3: An Incremental Improvement, https://arxiv.org/abs/1804.02767 arXiv:1804.02767, (2018).
[3] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, http://arxiv.org/abs/1506.01497 arXiv:1506.01497, (2015).
[4] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, http://arxiv.org/abs/1506.01497 arXiv:1506.01497, (2015).