Подготовка обучающих данных облаков точек (3D Analyst)

Краткая информация

Создает данные, для использования в обучении и проверке модели PointCNN для классификации облака точек.

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

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

    Более подробно об интерактивном редактировании классификации LAS

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

    • Указать облако точек проверки Набор данных должен ссылаться на другой набор точек, отличный от входного облака точек.
    • Указать облако точек проверки с границами проверки. Это приведет к созданию данных проверки из части облака точек проверки, перекрывающих границы проверки.
    • Указать границы обучения и границы проверки без облака точек проверки. Это приведет к созданию обучающих данных из части входного облака точек, которое пересекает ограничивающие объекты обучения, и созданию облака точек проверки из части входного облака точек, пересекающего ограничивающие объекты проверки. Ограничивающие объекты не должны перекрывать друг друга.
  • При обучении модели классификации облака точек, экспортируйте обучающие данные и данные проверки, используя размер блока, который гарантировано захватывает классифицируемый объект и окружающий его контекст. Размер блока не обязательно должен покрывать объект целиком - указание достаточного количества окружающих данных с достаточным контекстом позволит получить вполне подходящую классификацию. Если блок содержит больше точек, чем указанное ограничение на число точек, для одного и того же местоположения будет создано несколько блоков. Например, если параметр Предел количества точек на блок установлен на 10000, и данный блок содержит 22000 точек, будут созданы три блока по 10000 точек, чтобы образцы гарантировано содержались в каждом блоке. Некоторые точки могут быть дублированы в двух блоках, но все точки гарантировано попадут хотя бы в один блок.

  • Лучше избегать размера блока и предела количества точек на блок, которое приведет к созданию множества блоков с превышением ограничения на количество точек. Число точек для заданного размера блока можно подобрать с использованием инструмента Статистика точек LAS как растр, создав выходной растр, который использует опцию Количество точек в параметре Метод. Размер ячейки растра должен соответствовать желаемому размеру блока. Вы можете оценить гистограмму изображения растра, чтобы прикинуть число блоков, попадающих в конкретный размер блока, и соответствующим образом настроить ограничение точек.

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

  • Убедитесь, что выходные данные записаны в местоположение, где на диске достаточно свободного места, чтобы разместить обучающие данные. Инструмент создает частично перекрывающиеся блоки несжатых файлов HDF5, которые реплицируют каждую точку в четырех блоках. В блоках, которые превышают максимальный предел точек, некоторые точки в конечном итоге могут дублироваться больше четырех раз. Результирующие обучающие данные могут занять в три раза больше дискового пространства, чем исходные данные облака точек.

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

Параметры

ПодписьОписаниеТип данных
Входное облако точек

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

LAS Dataset Layer; File
Размер блока

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

Linear Unit
Выходные обучающие данные

Расположение и имя выходных обучающих данных (*.pctd).

File
Обучающие ограничивающие объекты
(Дополнительный)

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

Feature Layer
Облако точек проверки
(Дополнительный)

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

LAS Dataset Layer; File
Ограничивающие объекты проверки
(Дополнительный)

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

Feature Layer
Коды классов интереса
(Дополнительный)

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

Long
Предельное количество точек в блоке
(Дополнительный)

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

Long

arcpy.ddd.PreparePointCloudTrainingData(in_point_cloud, block_size, out_training_data, {training_boundary}, {validation_point_cloud}, {validation_boundary}, {class_codes_of_interest}, {block_point_limit})
ИмяОписаниеТип данных
in_point_cloud

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

LAS Dataset Layer; File
block_size

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

Linear Unit
out_training_data

Расположение и имя выходных обучающих данных (*.pctd).

File
training_boundary
(Дополнительный)

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

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

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

LAS Dataset Layer; File
validation_boundary
(Дополнительный)

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

Feature Layer
class_codes_of_interest
[class_codes_of_interest,...]
(Дополнительный)

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

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

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

Long

Пример кода

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

В следующем примере показано использование этого инструмента в окне Python.

import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.PreparePointCloudTrainingData('training_source.lasd', '20 Meters', 'vegetation_training.pctd', 
                                        validation_point_cloud='validation_source.lasd')

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