Экспорт обучающих данных для глубокого обучения (Spatial Analyst)

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

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

Сводка

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

Использование

  • Этот инструмент будет создавать учебные наборы данных для поддержки приложений, созданных сторонними производителями для глубокого обучения, например Google TensorFlow, Keras, PyTorch или Microsoft CNTK.

  • Обучающие выборки для глубокого обучения формируются на основе небольших фрагментов изображений, содержащих объект или класс интереса, которые называются «кусочками изображений».

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

  • Если задать параметр Система привязки, то данные обучения может экспортировать в область карты или область пикселов (сырая область изображения) для использования для тренировки модели глубокого обучения.

  • Этот инструмент поддерживает экспорт данных обучения из набора изображений. Вы можете добавить папку с изображениями в качестве Входного растра. Если ваш Входной растр представляет собой набор данных мозаики или сервис изображений, вы также можете задать Режим обработки, чтобы обработать мозаику как в качестве единого входного параметра, так и по отдельности для каждого растрового элемента.

  • Размер ячейки и экстент можно настроить с помощью параметров среды геообработки.

  • Информацию о требованиях к запуску этого инструмента и проблемах, с которыми вы можете столкнуться, см. в разделе Часто задаваемые вопросы по глубокому обучениюDeep Learning FAQ PDF.

Синтаксис

ExportTrainingDataForDeepLearning(in_raster, out_folder, in_class_data, image_chip_format, {tile_size_x}, {tile_size_y}, {stride_x}, {stride_y}, {output_nofeature_tiles}, {metadata_format}, {start_index}, {class_value_field}, {buffer_radius}, {in_mask_polygons}, {rotation_angle}, {reference_system}, {processing_mode}, {blacken_around_feature}, {crop_mode})
ParameterОбъяснениеТип данных
in_raster

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

В качестве входных изображений могут быть мультиспектральные снимки, снимки с БПЛА, или снимки National Agriculture Imagery Program (NAIP). Входными данными может быть папка с изображениями.

Raster Dataset; Raster Layer; Mosaic Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; Folder
out_folder

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

Папку также можно задать как URL-адрес папки, который использует файл подключения к облачному хранилищу (*.acs).

Folder
in_class_data

Данные обучающей выборки - векторные или растровые.

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

Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service
image_chip_format

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

PNG и JPEG поддерживают до трех каналов.

  • TIFFБудет использоваться формат TIFF.
  • PNGБудет использоваться формат PNG.
  • JPEGБудет использоваться формат JPEG.
  • MRFБудет использоваться формат Meta Raster Format (MRF)
String
tile_size_x
(Дополнительный)

Размер кусочков изображений по измерению X.

Long
tile_size_y
(Дополнительный)

Размер кусочков изображений по измерению Y.

Long
stride_x
(Дополнительный)

Расстояние для смещения по направлению X, при создании следующих кусочков изображения.

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

Long
stride_y
(Дополнительный)

Расстояние для смещения по направлению Y, при создании следующих кусочков изображения.

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

Long
output_nofeature_tiles
(Дополнительный)

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

  • ALL_TILESЭкспортируются все кусочки, включая те, которые не захватывают обучающие выборки.
  • ONLY_TILES_WITH_FEATURESЭкспортируются только кусочки изображений, которые захватывают обучающие выборки. Это значение по умолчанию
Boolean
metadata_format
(Дополнительный)

Задает формат надписей выходных метаданных.

Опции меток выходных метаданных для обучающих данных: Прямоугольники KITTI, Прямоугольники PASCAL VOC, Классифицированные листы (карта классов), Маски RCNN, Надписанные листы, Мульти-надписанные листы и Экспорт листов. Если ваши обучающие данные представляют собой векторный слой, например слой зданий или стандартный файл классификации обучающих выборок, используйте опции прямоугольников KITTI или PASCAL VOC. Выходные метаданные – это файл .txt или .xml, содержащий обучающие выборки данных, которые попадают в минимальный ограничивающий прямоугольник. Имя файла метаданных соответствует имени входного изображения. Если ваши входные данные обучающих выборок – карта классов, используйте Классифицированные листы в качестве выходного формата метаданных.

  • KITTI_rectanglesМетаданные соответствуют формату Karlsruhe Institute of Technology and Toyota Technological Institute (KITTI) Object Detection Evaluation dataset. Набор данных KITTI представляет собой набор зрительных тестов. Файлы меток – это файлы с простым текстом. Все значения, как числовые так и строковые, разделены пробелами, и каждая строка соответствует одному объекту.Этот формат используется для обнаружения объектов.
  • PASCAL_VOC_rectanglesМетаданные соответствуют формату набора данных Pattern Analysis, Statistical Modeling and Computational Learning, Visual Object Classes (PASCAL_VOC) dataset. Набор данных PASCAL VOC – стандартизированные данные изображений, предназначенные для распознавания объектных классов. Файлы меток хранятся в формате XML и содержат информацию об имени изображения, значении класса и ограничивающих прямоугольниках.Этот формат используется для обнаружения объектов. Это настройка по умолчанию.
  • Classified_TilesВыходными данными будет один классифицированный кусочек изображения на один входной кусочек изображения. Другие метаданные для кусочков изображений не используются. Только выходные данные статистики содержат больше информации для классов, включая имя класса, значение класса и выходную статистику.Этот формат используется для классификации пикселов.
  • RCNN_MasksВыходными данными будет кусочек изображения, имеющий маску в областях, где присутствует образец. Модель генерирует ограничивающие рамки и маски сегментации для каждого экземпляра объекта на изображении. Модель основана на Feature Pyramid Network (FPN) и опорной сети ResNet101 в модели глубокого обучения.Этот формат используется для обнаружения объектов.
  • Labeled_TilesКаждый выходной лист будет надписан по определенному классу.Этот формат используется для классификации объектов.
  • MultiLabeled_TilesКаждый выходной тайл будет надписан одним или несколькими классами. Например, тайл может быть подписан как "сельскохозяйственные земли" и "облачно".Этот формат используется для классификации объектов.
  • Export_TilesВыходными данными будут кусочки изображений без подписи.Этот формат используется для методов улучшения изображений, например Супер разрешение.

Для формата метаданных KITTI создается 15 столбцов, но только 5 из них будут использованы инструментом. Первый столбец – значение класса. Следующие 3 столбца пропускаются. Столбцы 5-8 задают минимальный ограничивающий прямоугольник, который состоит из четырех координат местоположений изображения: левый, верхний, правый и нижний пиксел, соответственно. Минимальный ограничивающий прямоугольник определяет обучающий кусочек изображения, который используется классификатором глубокого обучения. Остальные столбцы не используются.

Ниже приведен пример использования опции PASCAL VOC:

<?xml version=”1.0”?>
- <layout>
      <image>000000000</image>
      <object>1</object>
    - <part>
         <class>1</class>
       - <bndbox>
            <xmin>31.85</xmin>
            <ymin>101.52</ymin>
            <xmax>256.00</xmax>
            <ymax>256.00</ymax>
         </bndbox>
      </part>
  </layout>

Для дополнительной информации см. Визуальные объектные классы PASCAL Визуальные объектные классы PASCAL.

String
start_index
(Дополнительный)

Прежние версии:

Этот параметр больше не используется. Используйте значение 0 или # в Python.

Long
class_value_field
(Дополнительный)

Поле, содержащее значения классов. Если поле не указано, система ищет поле value или classvalue. Если объект не содержит поле класса, система определяет, что все записи относятся к одному классу.

Field
buffer_radius
(Дополнительный)

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

Используются линейные единицы измерения пространственной привязки in_class_data.

Double
in_mask_polygons
(Дополнительный)

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

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

Feature Layer
rotation_angle
(Дополнительный)

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

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

Угол поворота по умолчанию равен 0.

Double
reference_system
(Дополнительный)

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

  • MAP_SPACEБудет использоваться основанная на карте система координат. Это значение по умолчанию
  • PIXEL_SPACEБудет использоваться пространство изображения - без поворота и искажений.
String
processing_mode
(Дополнительный)

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

  • PROCESS_AS_MOSAICKED_IMAGEВсе растровые элементы в наборе данных мозаики или сервисе изображений будут объединены в мозаику и обработаны. Это значение по умолчанию
  • PROCESS_ITEMS_SEPARATELYВсе растровые элементы в наборе данных мозаики или сервисе изображений будут обработаны как отдельные изображения.
String
blacken_around_feature
(Дополнительный)

Определяет, где затемнять пикселы вокруг каждого объекта или элемента в каждом листе изображения.

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

  • NO_BLACKENПикселы, окружающие объекты или явления, затемнены не будут. Это значение по умолчанию
  • BLACKEN_AROUND_FEATUREПикселы, окружающие объекты или явления, затемнены не будут.
Boolean
crop_mode
(Дополнительный)

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

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

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

Пример кода

ExportTrainingDataForDeepLearning, пример 1 (окно Python)

В этом примере создаются учебные примеры для глубокого обучения.

# Import system modules
import arcpy
from arcpy.sa import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("spatialAnalyst")

ExportTrainingDataForDeepLearning("c:/test/image.tif", "c:/test/outfolder",
             "c:/test/training.shp", "TIFF", "256", "256", "128", "128", 
             "ONLY_TILES_WITH_FEATURES", "Labeled_Tiles", 0, "Classvalue", 0, 
			 None, 0,  "MAP_SPACE", "PROCESS_AS_MOSAICKED_IMAGE", "NO_BLACKEN", 
			 "FIXED_SIZE")
ExportTrainingDataForDeepLearning, пример 2 (автономный скрипт)

В этом примере создаются учебные примеры для глубокого обучения.

# Import system modules and check out ArcGIS Image Analyst extension license
import arcpy
arcpy.CheckOutExtension("SpatialAnalyst")
from arcpy.sa import *

# Set local variables
inRaster = "C:/test/InputRaster.tif"
out_folder = "c:/test/OutputFolder"
in_training = "c:/test/TrainingData.shp"
image_chip_format = "TIFF"
tile_size_x = "256"
tile_size_y = "256"
stride_x="128"
stride_y="128"
output_nofeature_tiles="ONLY_TILES_WITH_FEATURES"
metadata_format="Labeled_Tiles"
start_index = 0
classvalue_field = "Classvalue"
buffer_radius = 0
in_mask_polygons = "MaskPolygon"
rotation_angle = 0
reference_system = "MAP_SPACE"
processing_mode = "PROCESS_AS_MOSAICKED_IMAGE"
blacken_around_feature = "NO_BLACKEN"
crop_mode = "FIXED_SIZE"

# Execute 
ExportTrainingDataForDeepLearning(inRaster, out_folder, in_training, 
             image_chip_format,tile_size_x, tile_size_y, stride_x, 
             stride_y,output_nofeature_tiles, metadata_format, start_index, 
			 classvalue_field, buffer_radius, in_mask_polygons, rotation_angle, 
			 reference_system, processing_mode, blacken_around_feature, crop_mode)

Информация о лицензиях

  • Basic: Требуется Дополнительный модуль Spatial Analyst или Image Analyst
  • Standard: Требуется Дополнительный модуль Spatial Analyst или Image Analyst
  • Advanced: Требуется Дополнительный модуль Spatial Analyst или Image Analyst

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