Классификация пикселов

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

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

Пример классификации пикселов

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

  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. Выберите инструмент рисования, например, Полигон.

      Полигон, инструмент

    3. Нарисуйте многоугольник вокруг пикселей, которые должны представлять созданный класс.

      Полигоны выборки

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

    4. Повторите шаги с 3a по 3c, чтобы создать обучающие выборки для всех классов в схеме.

      Обучающие выборки

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

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

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

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

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

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

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

      Опция Классифицированные листы является наилучшим форматом для многоканальных входных растровых данных. Если входные данные представляют собой многомерный растр и вы хотите использовать архитектуру модели PSETAE, укажите параметр Маски RCNN.

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

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

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

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

Когда вы вводите обучающие данные, соответствующее значение Тип модели определяется на основе значения Формат метаданных. Например, если указан формат метаданных Классифицированные листы, для параметра Model Type выбирается опция U-Net. Раскрывающийся список Тип модели также обновляется за счет типов моделей, поддерживающих формат метаданных Классифицированные листы.

Ниспадающий список Тип модели

Для тренировки модели глубокого обучения выполните следующие шаги:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. В параметре Выходной набор растровых данных задайте имя выходного набора данных.

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

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

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

  5. Для параметра Аргументы примите значения по умолчанию или измените их.

    Параметр Аргументы заполняется на основе информации из параметра Определение модели. Эти аргументы меняются в зависимости от архитектуры указанной модели. В этом примере используется архитектура модели U-Net, поэтому заполняются следующие аргументы.

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

    Инструмент Классифицировать пикселы при помощи глубокого обучения

Полученный классифицированный растр показан ниже.

Результат классификации пикселов

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