Создание проекта и получение входных данных
Для начала вы создадите проект ArcGIS Pro и получите входные данные, необходимые для рабочего процесса.
- Откройте ArcGIS Pro. Если будет предложено, войдите под вашей учетной записью ArcGIS.
Примечание:
Если у вас нет доступа к ArcGIS Pro или учетной записи организации ArcGIS, см. варианты доступа к программному обеспечению.
- В разделе Новый проект выберите Карта.
- В окне Новый проект задайте следующие параметры:
- Для параметра Имя введите Alexandra_Land_Cover.
- Для параметра Местоположение щелкните кнопку Обзор и выберите подходящее расположение папки.
- Нажмите OK.
Откроется проект. На данный момент он отображает только базовую карту по умолчанию.
Вы добавите полученные с дрона изображения района города Александра в Южной Африке. Изображение имеет высокое разрешение, каждый пиксел представляет собой квадрат размером примерно 2,5 на 2,5 сантиметра на земле. Он был получен Лабораториями полетов Южной Африки. Слой хранится в ArcGIS Online в качестве мозаичного сервиса изображений.
Примечание:
Лаборатории полетов Южной Африки— некоммерческая организация, которая занимается получением изображений с помощью дронов в Южной Африке и стремится предоставить местным сообществам знания и навыки, необходимые для решения социальных проблем в этой стране.
- На ленте щелкните вкладку Карта. В группе Слой щелкните кнопку Добавить данные.
- В окне Добавить данные в разделе Портал щелкните ArcGIS Online. В окне поиска введите Alexandra_Orthomosaic owner:Esri_Tutorials и нажмите Enter. В списке результатов щелкните слой с названием Alexandra_Orthomosaic и щелкните ОК.
Появится мозаичный слой изображения, и карта приблизится к нему.
Примечание:
Этот слой изображений Истинное орто был создан из нескольких изображений, полученных с помощью дронов. Он был сгенерирован в приложении Site Scan for ArcGIS и сохранен в ArcGIS Online непосредственно из Site Scan.
Чтобы применить рабочий процесс, предложенный в этом руководстве, к вашим собственным изображениям, ознакомьтесь с разделом Применение этого рабочего процесса к вашим собственным изображениям в конце руководства для получения советов.
- Масштабируйте и перемещайте карту, чтобы более внимательно изучить местоположения зданий.
Далее вы загрузите пакет глубокого обучения High Resolution Land Cover Classification – USA из ArcGIS Living Atlas. Этот пакет глубокого обучения представляет собой предварительно обученную модель, обученную на большом наборе данных для точной классификации объектов наземного покрова. Используя эту предварительно обученную модель, вы можете использовать знания и опыт, заложенные в модели, для извлечения различных типов наземного покрова в изучаемой области. Это экономит ваше время и усилия по сравнению с самостоятельным обучением модели.
- Перейдите в ArcGIS Living Atlas.
- В поле поиска введите High Resolution Land Cover Classification – USA и нажмите Enter.
- В списке результатов нажмите High Resolution Land Cover Classification – USA, чтобы перейти на страницу элемента модели.
- На странице элемента модели прочитайте описание, чтобы ознакомиться с ней.
Модель была обучена работать с изображениями с разрешением от 80 до 100 сантиметров (или от 0,8 до 1 метра), что означает, что она будет работать лучше всего при входных данных с аналогичным разрешением.
- Щелкните Загрузить.
Примечание:
Большинство веб-браузеров по умолчанию скачивают все в папку Загрузки.
- Переместите загруженный пакет глубокого обучения в такое место на вашем компьютере, где вы сможете легко его найти.
- Нажмите Ctrl+S, чтобы сохранить проект.
Классификация пикселов при помощи глубокого обучения
Теперь вы создадите слой наземного покрова, используя инструмент геообработки Классифицировать пикселы при помощи глубокого обучения и предварительно обученную модель, которую вы скачали.
Примечание:
Для использования инструментов глубокого обучения в ArcGIS Pro необходимо, чтобы на вашем компьютере были установлены библиотеки глубокого обучения. Если эти файлы еще не установлены, сохраните проект, закройте ArcGIS Pro и следуйте инструкциям по установке в статье Подготовка к глубокому обучению в ArcGIS Pro. В этих инструкциях вы также можете узнать, как проверить, можно ли запускать рабочие процессы глубокого обучения, используя ваше оборудование и программное обеспечение, а также познакомится с другими советами по использованию. После завершения вы можете открыть проект повторно и продолжить работу с руководством.
- Щелкните вкладку Вид на ленте. В группе Окна щелкните Геообработка.
- На панели Геообработка в поле поиска введите Классифицировать пикселы с помощью глубокого обучения. В списке результатов щелкните инструмент Классифицировать пикселы с помощью глубокого обучения, чтобы открыть его.
- Задайте следующие параметры для инструмента Классифицировать пикселы при помощи глубокого обучения:
- Для параметра Входной растр выберите Alexandra_Orthomosaic.
- Для Выходного набора растровых данных введите Land_Cover_Raster.
- Для Определение модели нажмите кнопку Обзор.
- В окне Определение модели найдите загруженный вами пакет глубокого обучения HighResolutionLandCoverClassification_USA.dlpk. Выберите его и щелкните OK.
Через несколько секунд аргументы модели загрузятся автоматически.
- В разделе Аргументы найдите аргумент batch_size.
Классификация пикселов глубокого обучения не может быть выполнена для всего изображения одновременно. Вместо этого инструмент разделит изображение на небольшие фрагменты на основе значения аргумента tile_size. Размер пакета 4 означает, что инструмент будет обрабатывать четыре фрагмента изображения одновременно. При запуске инструмента вы можете получить сообщение об ошибке, поскольку на вашем компьютере недостаточно памяти для этого уровня обработки. В этом случае попробуйте уменьшить значение batch_size с 4 до 2 или даже до 1. Если у вас мощный компьютер, вы также можете увеличить значение batch_size для более быстрой обработки.
На данный момент вы сохраните значение по умолчанию 4, а также примете другие значения аргументов по умолчанию. Далее вам нужно будет задать размер ячейки, который будет использоваться при работе инструмента.
- Выберите вкладку Параметры среды.
- В разделе Растровый анализ для параметра Размер ячейки введите значение 0,9 (то есть 0,9 метра или 90 сантиметров).
Исходный размер ячейки (или пиксела) изображения с дрона составляет 2,5 сантиметра (или 0,025 метра). Это очень высокое разрешение, которое потребует обработки большого количества пикселов и увеличит время обработки. Кроме того, малый размер ячеек может быть слишком подробным для точной классификации объектов. Как вы узнали ранее, модели необходимы входные изображения с размером ячейки 80–100 сантиметров (или 0,8–1 метр). При изменении размера ячейки обработки до 0,9 метра изображение будет автоматически пересчитываться до большего размера ячейки на лету, прежде чем использоваться в качестве входных данных для классификации с помощью глубокого обучения. Повторно выбранное изображение будет более подходящим в качестве входных данных модели. Это обеспечит более быстрый процесс обработки и более точные результаты классификации наземного покрова.
Примечание:
Чтобы лучше понять, как настройка размера ячейки может повлиять на результаты, см. раздел Размер ячейки изображения в статье Обнаружение объектов с различным разрешением с помощью текстового SAM.
- Для Типа процессора выберите GPU. Для GPU ID выберите 0.
Примечание:
Для этого руководства рекомендуется графический процессор NVIDIA с объемом выделенной памяти не менее 4 ГБ. Если у вас есть только центральный процессор, процесс все равно должен работать, но его выполнение займет гораздо больше времени. В этом случае выберите опцию CPU. Чтобы узнать больше о графических процессорах и о том, как они используются в процессах глубокого обучения, см. раздел Проверка доступности графических процессоров в руководстве Подготовка к глубокому обучению в ArcGIS Pro.
- Примите остальные значения по умолчанию и щелкните Запустить.
Пока инструмент обрабатывает данные, вы можете нажать на Просмотр подробной информации для получения дополнительной информации.
Подсказка:
Если вы получили сообщение об ошибке нехватки памяти, попробуйте уменьшить значение Batch_size с 4 до 2 или даже 1 и запустите процесс еще раз.
Через пару минут результирующий слой Land_Cover_Raster появится на панели Содержание и на карте. Это растровый слой, в котором каждое значение пиксела представляет одну из девяти категорий наземного покрова.
Список типов наземного покрова можно просмотреть на панели Содержание.
- Масштабируйте и перемещайте карту, чтобы изучить слой Land_Cover_Raster.
Вы видите различные объекты наземного покрова, такие как растительность, здания, водоемы и дороги. Этот растр высокого разрешения предоставляет глубокое понимание о распределении этих типов наземного покрова в районе города Александра.
Примечание:
Вы можете заметить, что участки растительности были извлечены с хорошей общей точностью, но результаты для зданий оказались менее качественными, особенно в районах с нелегальным жильем. В зависимости от разрешения изображения и конкретного типа представленных на нем зданий качество результатов может различаться, и для извлечения различных типов объектов может быть полезным использование различных методов. Эффективный подход к извлечению зданий с высокой точностью описан в статье Обнаружение объектов с разным разрешением с помощью текстового SAM.
- На панели инструментов быстрого доступа, щелкните кнопку Сохранить проект, чтобы сохранить проект.
Создание слоя объектов наземного покрова
Получив растр наземного покрова, в зависимости от ваших целей, может быть полезно создать на его основе полигональный слой. Это позволит вам продолжить рабочий процесс анализа, используя любые векторные инструменты геообработки, доступные в ArcGIS Pro. Это можно сделать с помощью инструмента Растр в полигон. Далее вы присвоите символы новому слою.
- На панели Геообработка дважды щёлкните кнопку Назад.
- Найдите и откройте инструмент Растр в полигоны.
- В инструменте Растр в полигоны задайте следующие параметры:
- Для Входного растра выберите Land_Cover_Raster.
- Для Поля выберите Класс.
- Для Выходных полигональных объектов введите Land_Cover_Features.
- Примите все остальные значения по умолчанию и щелкните Запустить.
Слой Land_Cover_Features создан и добавлен на карту.
Примечание:
Цвет слоя был назначен случайным образом и его можно изменить.
В новом слое различные участки наземного покрова преобразованы в полигональные объекты. Каждому полигону присвоен определенный тип наземного покрова. Теперь вам нужно будет присвоить слою символы, чтобы сделать эти типы наземного покрова видимыми. Вы можете обозначить символом каждый тип по отдельности, выбрав для каждого свой цвет. Однако для ускорения рабочего процесса вы будете использовать файл слоя с уже настроенной для вас символикой.
- Загрузите файл слоя Land_Cover_Symbology.lyrx.
- На панели Содержание убедитесь, что выбран слой Land_Cover_Features.
- Щелкните на ленте вкладку Векторный слой. В разделе Отображение щелкните кнопку Символы.
Появится панель Символы.
- На панели Условные обозначения нажмите кнопку параметров и выберите Импортировать условные обозначения.
- В инструменте Применить символы слоя задайте следующие параметры:
- Убедитесь, что в качестве Входного слоя установлен Land_Cover_Features.
- Возле опции Слой символов щёлкните кнопку Обзор. Перейдите в папку Загрузки, выберите файл Land_Cover_Symbology.lyrx и нажмите ОК.
Подсказка:
При необходимости вы можете переместить файл Land_Cover_Symbology.lyrx в папку проекта Alexandra_Land_Cover и получить к нему доступ там. Это будет особенно полезно, если вы планируете повторно использовать эти условные обозначения для других слоев.
- Щелкните Запустить.
Слой Land_Cover_Features обновляется.
Теперь типы наземного покрова видны. Более подробную информацию можно найти в легенде слоя на панели Содержание.
Примечание:
Предложенные условные обозначения учитывают дальтонизм.
Если вы предпочитаете разработать свою цветовую схему при работе с собственными данными, вы можете изучить опцию условных обозначений Уникальные значения в ArcGIS Pro. Это позволяет вам выбрать поле и вручную выбрать цвета для каждого значения атрибута, создав индивидуальную схему символов для ваших данных о наземном покрове. Если вы хотите узнать больше о выборе цветов для карт, ознакомьтесь с серией обучающих материалов Выбор цветов для карт.
Расчет общей площади растительности
Теперь вы определите зеленые насаждения (или площади, покрытые растительностью) в районе города Александра и вычислите общую площадь, которую они занимают.
- На панели Содержание щелкните правой кнопкой мыши слой Land_Cover_Features и выберите Таблица атрибутов.
- В таблице атрибутов слоя Land_Cover_Features найдите поле Класс.
Здесь хранятся значения типов наземного покрова. Два типа наземного покрова соответствуют территориям, покрытым растительностью: Low Vegetation (Низкая растительность) и Tree Canopy (Древесный полог). Вы сгенерируете запрос, включающий эти два типа.
- Щелкните Выбрать по атрибуту.
- В окне Выбрать по атрибутам в разделе Выражение сформируйте выражение, Где Класс включает значения Low Vegetation, Tree Canopy.
- Нажмите OK.
Теперь на карте выделены все полигональные объекты, обозначающие растительность.
- В таблице атрибутов щелкните кнопку Показать выбранные записи.
Растительность представлена 831 полигоном.
Примечание:
Вы можете получить другое число.
Теперь вы определите, какую площадь поверхности покрывают этот 831 полигон.
- Щелкните правой кнопкой мыши поле Shape_Area и выберите Изучить статистику.
Для Land_Cover_Features появляется вид Data Engineering. Он показывает различную статистику по атрибуту Shape_Area.
- Прокрутите страницу по горизонтали и найдите ячейку Сумма.
Это значение соответствует сумме площадей поверхностей всех выбранных в данный момент полигонов.
Примечание:
Вы можете получить другое число.
Можно сделать вывод, что общая площадь зеленых насаждений в этом районе Александры составляет около 403 990 квадратных метров или 0,404 квадратных километра.
Создание слоя зеленых насаждений
На последнем этапе вы создадите слой, содержащий только зеленые насаждения в вашей исследуемой области, используя инструмент Экспорт объектов.
- На панели Содержание щелкните правой кнопкой мыши слой Land_Cover_Features, выберите Данные и выберите Экспорт объектов.
- В окне Экспорт объектов задайте следующие параметры:
- Убедитесь, что в качестве входных данных выбран слой Land_Cover_Features.
- Убедитесь, что опция Использовать выбранные записи включена.
- В поле Выходной класс объектов введите Green_Spaces.
Если опция Использовать выбранные записи включена, в новый слой будут экспортированы только выбранные в данный момент полигональные объекты.
- Нажмите OK.
Новый слой добавлен на карту. Вам придется немного почистить этот новый слой, чтобы лучше его рассмотреть.
- Закройте вид Data Engineering Land_Cover_Features. Закройте таблицу атрибутов.
- На ленте щелкните вкладку Карта. В группе Выборка нажмите Очистить, чтобы очистить выборку объектов слоя Land_Cover_Features.
- На панели Содержание щелкните флажки Land_Cover_Features и Land_Cover_Raster, чтобы отключить эти слои.
Теперь на карте отображается только слой Green_Spaces, отображаемый поверх исходных изображений, полученных с помощью дрона.
- Нажмите Ctrl+S, чтобы сохранить проект.
Вы можете использовать слой Green_Spaces в любых картах или исследовательских проектах. Вы также можете поделиться им со своим сообществом, опубликовав его в ArcGIS Online в виде веб-слоя.
Применение этого рабочего процесса к своим собственным изображениям (дополнительно)
Для применения этого рабочего процесса к вашим собственным изображениям, помните следующее:
- Где хранить свои изображения — в этом уроке вы использовали слой изображений, который был создан в Site Scan for ArcGIS из необработанных изображений с дрона и сохранен в ArcGIS Online непосредственно из Site Scan. При работе с собственными данными вы также можете разместить их на ArcGIS Online. Другой вариант — использовать изображения, хранящиеся на вашем локальном компьютере.
Соблюдение требований к данным модели — как вы можете прочитать на странице описания High Resolution Land Cover Classification – USAА, в качестве входных данных модели необходимы 8-битные 3-канальные изображения высокого разрешения (80–100 см).
- Подготовка вашего изображения – необходимо наличие трех каналов в изображении: красный, зеленый и синий (или RGB). Если в вашем изображении более трех каналов, вам следует извлечь соответствующие каналы, прежде чем приступать к процессу глубокого обучения. Для модели также в качестве входных данных необходимы изображения с 8-битной глубиной пиксела. Если ваше изображение имеет другую глубину пиксела, например 16 бит, вам следует преобразовать его в 8 бит. Пошаговые инструкции по реализации этих изменений см. в разделе Выберите подходящие каналы изображений в руководстве Улучшение модели глубокого обучения с помощью трансферного обучения.
- Поиск информации о ваших изображениях – если вы не уверены в свойствах вашего изображения (например, количестве каналов, глубине пиксела или размере ячейки), на панели Содержание щелкните правой кнопкой мыши слой изображений и выберите Свойства. На панели Свойства щелкните панель Источник и в разделе Информация о растре найдите значения параметров Количество каналов, Размер ячейки X, Размер ячейки Y и Глубина пиксела.
- Экспериментирование с размером ячейки – при использовании инструмента геообработки Классифицировать пикселы при помощи глубокого обучения вы можете попробовать несколько значений параметра Размер ячейки, чтобы увидеть, какое из них даст наилучший результат для ваших изображений. Однако для данной модели вполне подойдет значение 0,9, поскольку она рассчитана на размер ячейки 80–100 сантиметров (или 0,8–1 метр). Не рекомендуется использовать изображения с более грубым размером ячеек, чем необходимо модели.
Экспериментирование с небольшим экстентом — во время экспериментов вы можете ограничить обработку небольшим экстентом для более быстрого получения результатов. На вкладке Параметры среды в разделе Экстент обработки нажмите кнопку Нарисовать экстент и нарисуйте на карте маленький полигон.
В этом уроке вы использовали предварительно обученную модель глубокого обучения для классификации изображений с высоким разрешением, полученных с помощью дрона, по типам наземного покрова на уровне пикселов для района города Александра, Южная Африка. Затем вы преобразовали подробный растровый слой наземного покрова в векторный слой и присвоили ему символы. Вы выбрали полигоны, представляющие растительность, и вычислили общую площадь поверхности, которую они покрывают. Наконец, вы получили векторный слой, содержащий только зеленые насаждения в изучаемой области.
Чтобы узнать о других вариантах извлечения данных о наземном покрове с помощью GeoAI, ознакомьтесь со статьей Разблокирование ландшафтов: картографирование наземного покрова с использованием предварительно обученных моделей глубокого обучения.
Больше обучающих материалов, аналогичных этим, доступно в серии Попробуйте глубокое обучение в ArcGIS
Вы можете найти больше учебных пособий в галерее учебных пособий.