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

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

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

Сводка

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

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

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

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

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

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

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

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

  • Для получения информации о требованиях к запуску этого инструмента и возможных с ним проблемах см. FAQ по глубокому обучениюPDF с FAQ по глубокому обучению.

Синтаксис

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 поддерживают до 3 каналов.

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

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

Ниже приведен пример использования опции 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

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