Выявление объектов

Доступно с лицензией Image Analyst.

Чтобы обнаружить объекты на входных изображениях с помощью инструмента Выявить объекты при помощи глубокого обучения, который генерирует ограничивающие рамки вокруг объектов или пространственных объектов на изображении для определения их местоположения. На следующем рисунке приведен пример обнаружения пальм с помощью инструментов глубокого обучения в ArcGIS:

Выявление пальм

Типичный рабочий процесс обнаружения объектов с использованием глубокого обучения состоит из трех основных шагов:

  1. Создайте и экспортируйте обучающие выборки. Создайте обучающие выборки на панели Отметить объекты для глубокого обучения и используйте инструмент Экспорт обучающих данных для глубокого обучения, чтобы преобразовать выборки в обучающие данные для глубокого обучения.
  2. Обучите модель глубокого обучения. Воспользуйтесь инструментом Тренировать модель глубокого обучения для тренировки модели с помощью обучающих выборок, созданных на предыдущем шаге.
  3. Построение выводов - используйте инструмент Выявить объекты при помощи глубокого обучения. Вы используете модель, созданную на шаге 2.

После завершения рабочего процесса обнаружения объектов рекомендуется выполнить анализ контроля качества и просмотреть результаты. Если вы не удовлетворены результатами, вы можете улучшить модель, добавив больше обучающих выборок и выполнив рабочий процесс заново. Для упрощения просмотра результатов используйте панель Атрибуты. Для упрощения проверки точности результатов используйте инструмент Вычислить точность для выявления объектов.

Другие примеры, поддерживаемые метаданные и типы архитектуре модели приведены в разделе Архитектуры моделей глубокого обучения.

Создание и экспорт обучающих выборок

Создайте схему обучения и обучающие выборки и экспортируйте данные обучения.

Если у вас есть обучающие выборки в наборе растровых данных или классе объектов, вы можете воспользоваться инструментом Экспорт обучающих данных для глубокого обучения и перейти к расположенному ниже разделу Обучение модели глубокого обучения.

  1. Создайте схему обучения.
    1. Добавьте изображение, используемое для создания на карте обучающих выборок.
    2. Выберите добавленное вами изображение на панели Содержание.
    3. Щелкните вкладку Изображения.
    4. Щелкните Инструменты глубокого обучения и выберите Отметить объекты для глубокого обучения.

      Панель Классификация изображений отображается с пустой схемой.

    5. На панели Классификация изображений щелкните правой кнопкой Новая схема и выберите Редактировать свойства.

      Редактирование новой схемы

    6. Введите имя для схемы.

      Редактирование имени схемы

    7. Щелкните Сохранить.

    Схема переименована на панели Классификации изображений, и вы можете добавить туда классы.

  2. Добавить в схему новый класс.
    1. Щелкните правой кнопкой созданную вами схему и выберите Добавить новый класс.

      Опция Добавить новый класс

    2. Введите имя класса.

      Имя нового класса

    3. Введите имя класса

      Значение не должно быть равным нулю.

    4. При необходимости выберите цвет для класса.
    5. Нажмите OK.

      Класс будет добавлен в схему на панели Классификации изображений.

    6. При желании повторите шаги с 2a по 2e, чтобы добавить еще классы.
  3. Создайте обучающие выборки.
    1. Выберите инструмент рисования, например круг, и используйте его, чтобы нарисовать границу вокруг объекта.

      Инструмент Круг

      Пример пальмы
      Этот обучающий образец пальмы был создан с помощью инструмента Круг.

      Если вы не уверены в объекте, не включайте его. Границы могут пересекаться.

    2. Воспользуйтесь инструментами рисования, чтобы выбрать другие объекты.

      Поскольку окончательная модель будет учитывать размер идентифицируемых вами объектов, вы можете выбрать объекты различных размеров.

      Обучающие выборки
      Эти обучающие выборки были созданы в различных областях и имеют разные размеры, чтобы отображать разнообразие выборок.

  4. Когда вы закончите создавать обучающие выборки, щелкните Сохранить на панели Классификация изображений.

    Кнопка Сохранить

    1. В окне Сохранить текущие обучающие выборки найдите базу геоданных.
    2. Введите имя для класса объектов и щелкните Сохранить.

    Прежде чем вы сможете обучить модель, вы должны экспортировать обучающие образцы в виде фрагментов изображений. Фрагмент изображения - это небольшое изображение, которое содержит один или несколько объектов для определения.

  5. На панели Классификации изображений щелкните вкладку Экспорт обучающих данных и выполните следующие действия:
    1. Укажите значение Выходной папки.

      Это путь и имя папки, предназначенной для хранения выходных кусочков изображений и метаданных.

    2. Можно также ввести значение Полигон маски.

      Это полигональный класс объектов, который обозначает области, где будут создаваться кусочки изображений. Будут создаваться только те кусочки, которые находятся полностью внутри полигонов.

    3. При необходимости выберите для кусочков значение Формат изображения.

      Допустимыми форматами являются TIFF, PNG, JPEG и MRF.

    4. Можно, кроме того, задать значения Размера листа по X и Размера листа по Y.

      Это размеры x и y фрагментов изображений. Значения по умолчанию, как правила, позволяют получить хорошие результаты. Обычно для обоих размеров указывается одно и то же значение.

    5. При необходимости укажите значения Шаг по X и Шаг по Y.

      Это расстояние для смещения по направлению x и y при создании следующих кусочков изображения. Когда шаг равен размеру листа, наложения (перекрытия) не будет. Если шаг равен половине размера листа, величина перекрытия составит 50 процентов.

    6. Можно также указать значение Угол поворота.

      Кусочек изображения будет повернут на указанный угол для создания дополнительного фрагмента изображения. Дополнительный фрагмент изображения создается для каждого угла до тех пор, пока этот кусочек не повернется полностью. Например, если вы укажете угол поворота 45 градусов, будет создано восемь фрагментов изображения. Фрагменты изображений создаются для следующих углов: 45, 90, 135, 180, 225, 270 и 315 градусов.

    7. Вы можете также выбрать значение Система привязки.

      Это система привязки, которая будет использоваться при интерпретации входного изображения. Вариантами являются Пространство карты и Пиксельное пространство. В пространстве карты используется система координат карты, которая является настройкой по умолчанию, если для входного растра задана пространственная привязка. В пиксельном пространстве используется система координат пространства изображения, у которой нет поворота и искажений. Параметр Пиксельное пространство рекомендуется использовать, когда входные изображения повернуты или наклонены. Указанная система привязки должна совпадать с привязкой, которая использовалась для тренировки модели глубокого обучения.

    8. Вы можете также поставить отметку Выходные листы Нет объектов.

      Если стоит эта отметка, экспортируются все кусочки изображений, включая те, которые не захватывают обучающие выборки. Если опция не отмечена, экспортируются только кусочки изображений, которые захватывают обучающие выборки. По умолчанию не отмечен.

    9. При необходимости выберите значение Формат метаданных.

      Форматами метаданных, поддерживаемыми обнаружением объектов, являются Отмеченные листы, Классы визуальных объектов Pascal и маски RCNN.

    10. Щелкните Запустить, чтобы экспортировать обучающие данные.

Вкладка Экспорт учебных данных

Тренировка модели глубокого обучения

Инструмент Тренировать модель глубокого обучения использует кусочки изображений, которые вы пометили, чтобы определить, какие комбинации пикселов в данном изображении являются пальмами. Вы будете использовать эти обучающие образцы для тренировки модели глубокого обучения. Обязательными параметрами инструмента являются только Входные обучающие данные и Выходная модель.

Поскольку входные данные обучения основаны на значении Формат метаданных , по умолчанию будет присвоено соответствующее значение Тип модели. Например, если вы указали формат метаданных Виртуальные объектные классы Pascal в процессе экспорта, значением Тип модели будет Single Shot Detector. Ниспадающий список параметров Типы моделей также будет обновлен типами моделей, поддерживающими формат Виртуальные объектные классы Pascal. Параметры Размер пакета, Аргументы модели и Опорная модель заполняются на основе значения Тип модели.

  1. Откройте инструмент Тренировать модель глубокого обучения.
  2. Для параметра Входные обучающие данные найдите и выберите папку с обучающими данными, в которой хранятся фрагменты изображений.
  3. Для параметра Выходная модель укажите путь к файлу и имя папки, в которой будет сохранена выходная модель после обучения.
  4. Можно также задать значение параметра Максимальное число эпох.

    Эпоха – это полный цикл набора обучающих данных. В течение каждой эпохи обучающий набор данных, который вы сохраняли в папке imagechips, передается вперед и назад через нейронную сеть один раз. Обычно для начального просмотра используется от 20 до 50 эпох. Значение по умолчанию равно 20. Если модель можно еще улучшить, переобучите ее с помощью того же инструмента.

  5. При необходимости измените значение параметра Тип модели в ниспадающем списке.

    Тип модели определяет алгоритм глубокого обучения и нейронную сеть, которые будут использоваться для обучения модели, например, Single Shot Detector (SSD). Дополнительную информацию о моделях см. в разделе Модели глубокого обучения в ArcGIS. Примеры документации, поддерживаемые метаданные и подробные сведения об архитектуре модели приведены в разделе Архитектуры моделей глубокого обучения.

  6. При необходимости измените значение параметра Аргументы модели.

    Параметр Аргументы модели заполняется информацией из определения модели. Эти аргументы меняются в зависимости от архитектуры указанной модели. Список аргументов модели, поддерживаемых инструментом, доступен в параметре Аргументы модели.

  7. Также можно задать значение параметра Размер пакета.

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

  8. Можете указать значение параметра Скорость обучения.

    Если значение не задано, оптимальная скорость обучения будет извлечена из кривой обучения в процессе обучения.

  9. При необходимости укажите значение параметра Опорная модель.

    Значение по умолчанию основывается на архитектуре модели. Вы можете изменить опорную модель по умолчанию, нажав на раскрывающийся список.

  10. Можете указать значение параметра Предварительно обученная модель.

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

  11. При необходимости измените значение параметра % проверки.

    Это процент обучающих выборок, которые будут использоваться для проверки модели. Это значение зависит от таких факторов, как число обучающих выборок и архитектура модели. Как правило, при небольшом объеме обучающих данных для проверки необходимо от 10 до 20 процентов. Если имеется большой объем обучающих данных, например, несколько тысяч выборок, для проверки достаточно будет меньшего процента, например, от 2 до 5 процентов данных. Значением по умолчанию является 10.

  12. Можно также отметить параметр Завершить, когда модель перестанет улучшаться.

    Если он отмечен, обучение модели будет остановлено, когда модель перестанет улучшаться, независимо от заданного значения параметра Max Epochs. Эта опция по умолчанию включена.

  13. Можно также отметить параметр Закрепление модели.

    Этот параметр указывает, будут ли закреплены опорные слои в предварительно обученной модели, чтобы веса и смещения оставались такими, как они были изначально задуманы. Если вы отметите этот параметр, опорные слои будут закреплены, а предзаданные веса и смещения не будут изменены в параметре Опорная модель. Если опция не отмечена, опорные слои не будут закреплены, а веса и смещения параметра Опорная модель можно изменить, чтобы они соответствовали обучающим выборкам. Это требует больше времени для обработки, но обычно дает лучшие результаты. Эта опция по умолчанию включена.

  14. Щелкните Запустить, чтобы начать обучение.

На следующем рисунке показана панель Тренировать модель глубокого обучения со значением Single Shot Detector (определение объектов) в качестве параметра Тип модели.

Параметры инструмента Тренировать модель глубокого обучения

Построение выводов

Чтобы выполнить вывод, вы используете полученную модель глубокого обучения для анализа новых данных. Построение выводов - это процесс, в ходе которого информация, полученная в процессе тренировки глубокого обучения, используется для выявления похожих объектов в наборах данных. Вы используете инструмент Выявить объекты при помощи глубокого обучения, поскольку вы выполняете рабочий процесс обнаружения объектов.

  1. Откройте инструмент Выявить объекты при помощи глубокого обучения.
  2. Для параметра Входной растр найдите и выберите входные растровые данные, на которых вы хотите выявить объекты.

    Входными данными может быть единичный набор растровых данных, несколько растров из набора данных мозаики или сервис изображений, папка с изображениями, либо класс пространственных объектов со вложениями изображений.

  3. Для параметра Выходные выявленные объекты введите имя выходного класса объектов.

    Этот выходной класс объектов будет содержать геометрические элементы, окружающие объекты, обнаруженные на входном изображении.

  4. Задайте значение Определения модели (*.emd или *.dlpk).

    Это файл модели, содержащий выходные обучающие данные. Это выходные данные раздела тренировки глубокого обучения.

  5. Параметр Аргументы заполняется согласно значению параметра Определение модели. Эти аргументы меняются в зависимости от архитектуры используемой модели. В этом примере используется модель Single Shot Detector, поэтому заполняются следующие аргументы. Можно принять значения по умолчанию или изменить их.

    Эти аргументы меняются в зависимости от архитектуры используемой модели. В этом примере используется модель Single Shot Detector, поэтому заполняются следующие аргументы. Можно принять значения по умолчанию или изменить их.

    1. padding — Количество пикселов на границе листов изображений, из которых складываются прогнозные данные для смежных листов. Увеличьте это значение, чтобы сгладить результат и одновременно уменьшить артефакты. Максимальное значение padding может составлять половину значения размера листа.
    2. threshold — в результате включаются обнаруженные объекты, достоверность которых превышает это пороговое значение. Допустимые значения находятся в диапазоне от 0 до 1.0.
    3. batch_size - количество листов изображений, обработанных на каждом этапе построения модели. Оно зависит от объема памяти графического адаптера.
    4. nms_overlap - коэффициент максимального перекрытия для двух перекрывающихся объектов, который определяется как отношение площади пересечения к площади объединения. Значение по умолчанию равно 0,1.
    5. exclude_pad_detections — если равно true, инструмент будет фильтровать потенциально усеченные обнаружения вблизи краев, которые находятся в дополненной области кусочков изображений.
    6. test_time_augmentation — увеличивает время тестирования в процессе прогнозирования. Если задано значение true, то конечный результат объединит прогнозы по перевернутым и повернутым вариантам входного изображения.
  6. Дополнительно включите опцию Не максимальное подавление.

    Когда она включена, обнаруженные повторяющиеся объекты удаляются из выходных данных, а вы должны предоставить информацию для следующих трех параметров:

    1. Поле балла достоверности - поле в классе объектов, содержащее баллы достоверности, полученные в результате применения данного метода выявления объектов.
    2. Поле значений класса - имя поля значений класса во входном классе пространственных объектов.
    3. Коэффициент максимального перекрытия - коэффициент максимального перекрытия для двух перекрывающихся объектов, который определяется как отношение площади пересечения к площади объединения.
  7. Щелкните Запустить, чтобы начать построение выводов.

    Параметры инструмента Выявить объекты при помощи глубокого обучения

На приведенном ниже изображении обнаруженные пальмы обозначены ограничивающим полигоном.

Результат выявления пальм

Подробный пример обнаружения объектов приведен в разделе Применение глубокого обучения для оценки состояния пальм.

Связанные разделы