| Подпись | Описание | Тип данных |
Входное облако точек | Облако точек, которое будет использоваться для создания обучающих данных для выявления объектов. | LAS Dataset Layer; File |
Входные обучающие объекты | Объекты-мультипатч, которые будут идентифицировать объекты, которые будут использоваться для обучения модели. | Feature Layer |
Входные объекты проверки | Объекты-мультипатч, которые будут идентифицировать объекты, которые будут использоваться для проверки модели в течение процесса обучения. | Feature Layer |
Размер блока | Диаметр каждого блока обучающих данных, который будет создан из входного облака точек. Как правило, размер блока должен быть достаточно большим, чтобы охватить интересующие объекты и их окружение. | Linear Unit |
Выходные обучающие данные | Расположение и имя выходных обучающих данных (файл *.pcotd). | File |
Обучающие ограничивающие объекты (Дополнительный) | Полигональные объекты, которые будут ограничивать подмножество точек из входного облака, которое будет использоваться для обучения модели. Этот параметр необходим, если не задано значение параметра Облако точек проверки. | Feature Layer |
Поле кода обучения (Дополнительный) | Поле, которое идентифицирует уникальный ID для каждого типа объекта в обучающих объектах-мультипатч. Если поле не определено, объектам присваивается идентификатор 0. | Field |
Облако точек проверки (Дополнительный) | Облако точек, которое будет использоваться для проверки модели глубокого обучения в процессе обучения. Этот набор данных должен ссылаться на набор точек, отличный от входного облака точек, чтобы гарантировать качество обученной модели. Если облако точек проверки не задано, входное облако точек можно использовать для определения наборов данных обучения и проверки, указав классы полигональных объектов для параметров Обучающие ограничивающие объекты и Объекты, ограничивающие проверку. | LAS Dataset Layer; File |
Объекты, ограничивающие проверку (Дополнительный) | Полигональные объекты, которые будут ограничивать подмножество точек, используемых для проверки модели в процессе обучения. Если облако точек проверки не задано, точки будут взяты из входного облака точек, а для параметра Обучающие ограничивающие объекты потребуется полигон. | Feature Layer |
Поле кода проверки (Дополнительный) | Поле, которое идентифицирует уникальный ID для каждого типа объекта в объектах-мультипатч проверки. Если поле не определено, объектам присваивается идентификатор 0. | Field |
Предельное количество точек в блоке (Дополнительный) | Максимальное количество точек, которое может храниться в каждом блоке обучающих данных. Если блок содержит число точек, превышающее это значение, для одного и того же местоположения будет создано несколько блоков, чтобы гарантировать использование всех точек в обучении. Количество по умолчанию - 500 000. | Long |
Базовое значение высоты поверхности (Дополнительный) | Растровая поверхность, которая будет использоваться для предоставления значений относительной высоты для каждой точки в данных облака точек. Точки, которые не перекрываются с растром, будут исключены из анализа. | Raster Layer |
Исключенные коды классов (Дополнительный) | Коды классов, которые будут исключены из обучающих данных. Можно указать любое значение в диапазоне от 0 до 255. | Long |
Экспортировать только содержащие объекты обучающие блоки. (Дополнительный) | Указывает, будут ли обучающие данные включать только содержащие объекты блоки, или же будут также включены блоки, не содержащие объектов. Этот параметр не повлияет на данные, используемые для проверки.
| Boolean |
Краткая информация
Создает обучающие данные облака точек для моделей выявления объектов при помощи глубокого обучения.
Иллюстрация

Использование
Обучающие данные выявления объектов облаков точек задаются директорией с расширением .pcotd, которая содержит две поддиректориями: одна содержит данные, использующиеся для обучения модели, а другая содержит данные, использующиеся для проверки модели в процессе обучения. Входное облако точек всегда должно указываться вместе с отдельными объектами-мультипатчами, представляющими собой ограничивающие прямоугольники объектов для обучения и проверки. Ограничивающий полигон может быть задан для ограничения данных, экспортируемых для обучения. Данные проверки могут задаваться следующим образом:
- Указать облако точек проверки в дополнение к входному облаку точек. Набор данных должен ссылаться на другой набор точек, отличный от входного облака точек. Также можно указать границу для обрезки облака точек проверки.
- Указать только входное облако точек с границами обучения и проверки. Это приведет к тому, что данные обучения и проверки будут получены из одного и того же входного облака точек, поэтому нет необходимости указывать набор данных для параметра Облако точек проверки. Избегайте перекрытия между двумя наборами данных граничащих полигонов, чтобы не использовать одни и те же данные облака точек для обучения и проверки.
Каждый тип объекта, присутствующий в облаке точек, содержится в ограничивающем прямоугольнике мультипатч. Неопознанные объекты в обучающих или проверочных данных приведут к тому, что модель не сможет эффективно научиться идентифицировать объект. Если облако точек содержит неопознанные объекты, используйте граничащие объекты, чтобы ограничить экспортированные наборы обучающих данных местоположением, в котором объекты корректно содержались в ограничивающем прямоугольнике.
Точки, представляющие объекты, не нуждаются в классификации, чтобы быть использованными в обучающем наборе данных для обнаружения объектов. Это упрощает задачу надписывания объектов и позволяет создавать ограничивающие прямоугольники в качестве объектов-мультипатчей. Ограничивающие прямоугольники можно создавать посредством интерактивного 3D-редактирования класса объектов-мультипатчей. Однако если объекты представлены классифицированными облаками точек, ограничивающие прямоугольники для этих точек можно создать с помощью инструмента Извлечь объекты из облака точек.
Во входном облаке точек должна быть достаточно постоянная плотность точек. Оцените облако точек, чтобы определить, содержит ли оно местоположения с более высокой плотностью точек, например области, полученные в результате перекрывающихся линий полета или простаивающих наземных сканеров. Для воздушного лидара с перекрывающимися линиями полета можно использовать инструмент Классифицировать перекрытие LAS, чтобы пометить перекрывающиеся точки и добиться более равномерного их распределения. Другие типы облаков точек с избыточной выборкой горячих точек можно проредить до достижения равномерного распределения с помощью инструмента Проредить LAS.
Точки в облаке можно исключить из обучающих данных по кодам их классов, что поможет повысить производительность обучения модели за счет сокращения количества точек, которые необходимо обработать. Исключенные точки должны принадлежать классам, которые можно легко классифицировать, и не обязательно предоставлять точную информацию для объектов, для которых обучается модель. Рассмотрите возможность отфильтровывания точек, которые классифицируются как перекрывающиеся или в качестве шума. Наземные классификационные точки также могут быть отфильтрованы, если во время генерации обучающих данных вычисляется высота относительно земной поверхности.
По возможности укажите размер блока, который в достаточной степени охватывал бы объекты, для которых будет обучаться модель. Хотя каждый блок не всегда будет содержать весь объект, перекрывающиеся блоки, созданные в обучающих данных, будут захватывать достаточное количество различных представлений объекта для успешного обучения модели.
Ограничение точек блока должно соответствовать размеру блока и среднему интервалу между точками данных. Число точек в заданном блоке можно приблизительно оценить с помощью инструмента Статистика точек LAS как растра со значением Метод параметра Число точек и желаемым размером блока в качестве размера ячейки выходного растра. Гистограмма изображения этого растра может проиллюстрировать распределение точек по блоку в наборе данных. Если гистограмма отображает большое число блоков с большой дисперсией, это может указывать на присутствие нерегулярно выбранных данных, содержащих возможные горячие точки плотных скоплений точек. Если блок содержит больше точек, чем задано лимитом, этот блок будет создан несколько раз, чтобы обеспечить попадания всех его точек в обучающие данные. Например, если лимит точек составляет 10 000, а данный блок содержит 22 000 точек, будут созданы три блока по 10 000 точек, чтобы получить равномерную выборку в каждом блоке. Также следует избегать задания лимита точек на блок, который значительно превышает номинальное количество точек в большинстве блоков. В некоторых архитектурах данные подвергаются повышению частоты дискретизации для соответствия ограничению количества точек. По этим причинам используйте размер блока и ограничение количества точек блока, которые будут близки к ожидаемому количеству точек, охватывающему большинство блоков в обучающих данных. После создания обучающих данных в окне сообщений инструмента отображается гистограмма, а ее изображение сохраняется в папке, содержащей обучающие данные и данные проверки. Эту гистограмму можно просмотреть, чтобы определить, была ли задана правильная комбинация размера блока и ограничение числа точек. Если значения указывают на неоптимальный предел числа точек, перезапустите инструмент с более подходящим значением параметра Ограничение точек в блоке.
Ограничение числа точек блока должно учитывать выделенный объем памяти графического процессора на компьютере, который будет использоваться для обучения. Распределение памяти во время обучения будет зависеть от количества точек на блок, используемых атрибутов и общего числа блоков, которые одновременно обрабатываются в данном пакете. Если для эффективного обучения модели требуются больший размер блока и ограничение количества точек, размер пакета можно уменьшить на этапе обучения, чтобы обеспечить обработку большего числа точек.
-
Убедитесь в том, что выходные данные записаны в местоположение с достаточным для размещения обучающих данных объемом дискового пространства. Этот инструмент создает частично перекрывающиеся блоки файлов HDF5 без сжатия, которые реплицируют каждую точку в четырех блоках. В блоках, в которых превышено максимальное число точек, некоторые точки могут дублироваться более четырех раз. Полученные обучающие данные могут занимать как минимум втрое больше места на диске, чем исходные данные облака точек.
В окне сообщений инструмента отображается соотношение квартилей для каждого типа объектов. Это соотношение рассчитывается путем деления объемов объектов третьего квартиля на первый квартиль. Эта метрика служит индикатором изменчивости размеров объектов. Большее соотношение квартилей предполагает большую изменчивость объемов объектов, тогда как меньшее соотношение указывает на меньшую изменчивость. Если наблюдается значительное изменение объема, вам может потребоваться настроить параметры вокселей в параметре инструмента Обучение модели выявления объектов облака точек Настройки архитектуры, чтобы получить точную модель.
Параметры
arcpy.ddd.PreparePointCloudObjectDetectionTrainingData(in_point_cloud, in_training_features, in_validation_features, block_size, out_training_data, {training_boundary}, {training_code_field}, {validation_point_cloud}, {validation_boundary}, {validation_code_field}, {block_point_limit}, {reference_height}, {excluded_class_codes}, {blocks_contain_objects})| Имя | Описание | Тип данных |
in_point_cloud | Облако точек, которое будет использоваться для создания обучающих данных для выявления объектов. | LAS Dataset Layer; File |
in_training_features | Объекты-мультипатч, которые будут идентифицировать объекты, которые будут использоваться для обучения модели. | Feature Layer |
in_validation_features | Объекты-мультипатч, которые будут идентифицировать объекты, которые будут использоваться для проверки модели в течение процесса обучения. | Feature Layer |
block_size | Диаметр каждого блока обучающих данных, который будет создан из входного облака точек. Как правило, размер блока должен быть достаточно большим, чтобы охватить интересующие объекты и их окружение. | Linear Unit |
out_training_data | Расположение и имя выходных обучающих данных (файл *.pcotd). | File |
training_boundary (Дополнительный) | Полигональные объекты, которые будут ограничивать подмножество точек из входного облака, которое будет использоваться для обучения модели. Этот параметр необходим, если не задано значение параметра validation_point_cloud. | Feature Layer |
training_code_field (Дополнительный) | Поле, которое идентифицирует уникальный ID для каждого типа объекта в обучающих объектах-мультипатч. Если поле не определено, объектам присваивается идентификатор 0. | Field |
validation_point_cloud (Дополнительный) | Источник облака точек, которое будет использоваться для проверки модели глубокого обучения. Этот набор данных должен ссылаться на набор точек, отличный от входного облака точек, чтобы гарантировать качество обученной модели. Если облако точек проверки не задано, входное облако точек можно использовать для определения наборов данных обучения и проверки, указав классы полигональных объектов для параметров training_boundary и validation_boundary. | LAS Dataset Layer; File |
validation_boundary (Дополнительный) | Полигональные объекты, которые будут ограничивать подмножество точек, используемых для проверки модели в процессе обучения. Если облако точек проверки не задано, точки будут взяты из входного облака точек, а для параметра training_boundary потребуется полигон. | Feature Layer |
validation_code_field (Дополнительный) | Поле, которое идентифицирует уникальный ID для каждого типа объекта в объектах-мультипатч проверки. Если поле не определено, объектам присваивается идентификатор 0. | Field |
block_point_limit (Дополнительный) | Максимальное количество точек, которое может храниться в каждом блоке обучающих данных. Если блок содержит число точек, превышающее это значение, для одного и того же местоположения будет создано несколько блоков, чтобы гарантировать использование всех точек в обучении. Количество по умолчанию - 500 000. | Long |
reference_height (Дополнительный) | Растровая поверхность, которая будет использоваться для предоставления значений относительной высоты для каждой точки в данных облака точек. Точки, которые не перекрываются с растром, будут исключены из анализа. | Raster Layer |
excluded_class_codes [excluded_class_codes,...] (Дополнительный) | Коды классов, которые будут исключены из обучающих данных. Можно указать любое значение в диапазоне от 0 до 255. | Long |
blocks_contain_objects (Дополнительный) | Указывает, будут ли обучающие данные включать только содержащие объекты блоки, или же будут также включены блоки, не содержащие объектов. Этот параметр не повлияет на данные, используемые для проверки.
| Boolean |
Пример кода
В следующем примере показано использование этого инструмента в окне Python:
import arcpy
arpy.env.workspace = r"C:\GIS_Data"
arcpy.ddd.PreparePointCloudObjectDetectionTrainingData("Training.lasd", r"Objects.fgdb\Training_FCs",
r"Objects.fgdb\Validation_FCs", "12 Meters",
"Training_Cars.pcotd", training_code_field="Car_Type",
validation_code_field="Car_Type", reference_surface="DEM.tif",
excluded_classes=[2, 7, 18])Параметры среды
Информация о лицензиях
- Basic: Обязательно 3D Analyst
- Standard: Обязательно 3D Analyst
- Advanced: Обязательно 3D Analyst