| Подпись | Описание | Тип данных |
Входное облако точек | Облако точек, которое будет использоваться для создания обучающих данных и, возможно, данных проверки, если облако точек проверки не предоставлено. В этом случае и границы обучения, и границы проверки должны быть указаны. | LAS Dataset Layer; File |
Размер блока | Диаметр каждого блока обучающих данных, который будет создан из входного облака точек. Как правило, размер блока должен быть достаточно большим, чтобы охватить интересующие объекты и их окружение. | Linear Unit |
Выходные обучающие данные | Расположение и имя выходных обучающих данных (файл *.pctd). | File |
Обучающие ограничивающие объекты (Дополнительный) | Полигональные объекты, которые будут ограничивать подмножество точек из входного облака, которое будет использоваться для обучения модели. Этот параметр необходим, если не задано значение параметра Облако точек проверки. | Feature Layer |
Облако точек проверки (Дополнительный) | Облако точек, которое будет использоваться для проверки модели глубокого обучения в процессе обучения. Этот набор данных должен ссылаться на набор точек, отличный от входного облака точек, чтобы гарантировать качество обученной модели. Если облако точек проверки не задано, входное облако точек можно использовать для определения наборов данных обучения и проверки, указав классы полигональных объектов для параметров Обучающие ограничивающие объекты и Объекты, ограничивающие проверку. | LAS Dataset Layer; File |
Объекты, ограничивающие проверку (Дополнительный) | Полигональные объекты, которые будут ограничивать подмножество точек, используемых для проверки модели в процессе обучения. Если облако точек проверки не задано, точки будут взяты из входного облака точек, а для параметра Обучающие ограничивающие объекты потребуется полигон. | Feature Layer |
Фильтровать блоки по коду класса (Дополнительный) | Коды классов, которые будут использоваться для ограничения экспортируемых блоков обучающих данных. Все точки в блоках, которые содержат хотя бы одно из значений, перечисленных для этого параметра, будут экспортированы, за исключением классов, указанных в параметре Исключенные коды классов, или точек, помеченных как Исключенные. Можно задать любое значение от 0 до 255. | Value Table |
Предельное количество точек в блоке (Дополнительный) | Максимальное количество точек, которое будет допустимо в каждом блоке обучающих данных. Если блок содержит число точек, превышающее это значение, для одного и того же местоположения будет создано несколько блоков, чтобы гарантировать использование всех точек в обучении. Значение по умолчанию - 8,192. | Long |
Базовая поверхность (Дополнительный) | Растровая поверхность, которая будет использоваться для предоставления значений относительной высоты для каждой точки в данных облака точек. Точки, которые не перекрываются с растром, будут исключены из анализа. | Raster Layer |
Исключенные коды классов (Дополнительный) | Коды классов, которые будут исключены из обучающих данных. Можно указать любое значение в диапазоне от 0 до 255. | Long |
Краткая информация
Создает данные, для использования в обучении и проверке модели классификации облака точек.
Использование
Необходимо проверить входное облако точек, чтобы убедиться, что все точки корректно классифицированы по объектам интереса. Качество модели классификации зависит от качества данных, используемых для обучения и проверки. Если классификация облака точек требует усовершенствования, можно использовать интерактивное редактирование классификации точек.
Более подробно об интерактивном редактировании классификации LAS
Обучающие данные облака точек задаются директорией, с расширением .pctd, с двумя поддиректориями, одна из которых содержит данные, предназначенные для использования в обучении в модели классификации, а другая содержит данные, для проверки обученной модели. Необходимо указать входное облако точек, которое служит источником обучающих данных. Можно указать ограничивающие объекты обучения, для ограничения точек, экспортируемых для обучения. Данные проверки также необходимы и могут быть указаны следующими способами:
- Указать облако точек проверки Набор данных должен ссылаться на другой набор точек, отличный от входного облака точек.
- Указать облако точек проверки с границами проверки. Это приведет к созданию данных проверки из части облака точек проверки, перекрывающих границы проверки.
- Указать границы обучения и границы проверки без облака точек проверки. Это приведет к созданию обучающих данных из части входного облака точек, которое пересекает ограничивающие объекты обучения, и созданию облака точек проверки из части входного облака точек, пересекающего ограничивающие объекты проверки. Ограничивающие объекты не должны перекрывать друг друга.
Во входном облаке точек должна быть достаточно постоянная плотность точек. Оцените облако точек, чтобы определить, содержит ли оно местоположения с более высокой плотностью точек, например области, полученные в результате перекрывающихся линий полета или простаивающих наземных сканеров. Для воздушного лидара с перекрывающимися линиями полета можно использовать инструмент Классифицировать перекрытие LAS, чтобы пометить перекрывающиеся точки и добиться более равномерного их распределения. Другие типы облаков точек с избыточной выборкой горячих точек можно проредить до достижения равномерного распределения с помощью инструмента Проредить LAS.
Точки в облаке можно исключить из обучающих данных по кодам их классов, что поможет повысить производительность обучения модели за счет сокращения количества точек, которые необходимо обработать. Исключенные точки должны принадлежать классам, которые можно легко классифицировать, и не обязательно предоставлять точную информацию для объектов, для которых обучается модель. Рассмотрите возможность отфильтровывания точек, которые классифицируются как перекрывающиеся или в качестве шума. Наземные классификационные точки также могут быть отфильтрованы, если во время генерации обучающих данных вычисляется высота относительно земной поверхности.
Информация о базовой высоте может быть включена в обучающие данные, чтобы предоставить дополнительный атрибут для процесса обучения. Это делается путем указания растра в параметре Базовая поверхность. Этот растр используется для извлечения атрибута относительной высоты для каждой накладывающейся точки. Атрибут вычисляется по z-значению каждой точки, из которого вычитается высота, полученная из растра с помощью билинейной интерполяции. Включение этой информации может помочь дифференцировать объекты, имеющие явное отличие относительной высоты от растровой поверхности. Это также обеспечивает еще одну основу для нейронной сети, чтобы сделать вывод о направленных отношениях. Например, при обучении для линий электропередач и использовании растра высот земли в качестве базовой поверхности точки линий электропередач, скорее всего, попадут в определенный диапазон относительных высот над землей. Кроме того, если базовая высота основывается на высоте поверхности, это может служить причиной не включения наземных точек в обучающие данные, когда наличие наземных точек не обеспечивает полезного контекста для идентификации интересующих объектов. Нейронная сеть попытается изучить классификацию всех данных, которые ей предоставляются во время обучения. Поскольку с помощью инструмента Классифицировать поверхность Земли LAS можно добиться высококачественной классификации наземных объектов, нет необходимости обучать нейронную сеть идентифицировать и отличать наземные точки от других классов. Наземные точки, которые обычно представлены классом 2, а иногда и классом 8 и классом 20, можно исключить, перечислив их в параметре Исключенные коды классов. Когда это будет сделано, нейронная сеть будет обрабатывать обучающие данные быстрее, поскольку наземные точки обычно составляют примерно половину от общего числа точек, полученных в лидарной съемке.
Растровая поверхность, используемая в качестве входных данных для параметра Базовая поверхность, может создаваться из поднабора точек LAS, таких, как классифицированные точки поверхности земли, путем фильтрации набора данных LAS и использования инструмента Набор данных LAS в растр. Желаемый поднабор точек из набора данных LAS можно отфильтровать с использованием любой комбинации кодов классификации, возвращаемых значений и флагов классификации. Фильтры точек можно применить в диалоговом окне свойств слоя набора данных LAS или с помощью инструмента Создать слой набора данных LAS. Поверхность растра также может быть сгенерирована по слою сцены облака точек с помощью инструмента Облако точек в растр.
Параметр Исключенные коды классов можно использовать для исключения точек, связанных с кодами классов, не дающих полезного контекста для идентификации интересующих объектов. Их исключение повысит скорость процесса обучения за счет уменьшения количества оцениваемых точек. Например, классифицированные точки зданий обычно несущественны при обучении модели классификации для таких объектов, как светофоры, линии электропередачи и другого оборудования. Точки зданий также могут быть надежно классифицированы с помощью инструмента Классифицировать здания в LAS. Указание класса 6, представляющего здания, в качестве исключенного класса приведет к исключению точек здания из обучающих данных. Любое облако точек, которое будет использовать модель, обученную с исключенными классами, должно иметь эти же классифицированные классы перед применением модели. Эти классы также должны быть перечислены в параметре Исключенные коды классов инструментов Классификация облака точек с использованием обучающей модели и Оценить обучающие данные облака точек, чтобы модель могла вывести свою классификацию с использованием облака точек, которое соответствует характеристикам данных, используемых для обучения модели.
Ограничение точек блока должно соответствовать размеру блока и среднему интервалу между точками данных. Число точек в заданном блоке можно приблизительно оценить с помощью инструмента Статистика точек LAS как растра со значением Метод параметра Число точек и желаемым размером блока в качестве размера ячейки выходного растра. Гистограмма изображения этого растра может проиллюстрировать распределение точек по блоку в наборе данных. Если гистограмма отображает большое число блоков с большой дисперсией, это может указывать на присутствие нерегулярно выбранных данных, содержащих возможные горячие точки плотных скоплений точек. Если блок содержит больше точек, чем задано лимитом, этот блок будет создан несколько раз, чтобы обеспечить попадания всех его точек в обучающие данные. Например, если лимит точек составляет 10 000, а данный блок содержит 22 000 точек, будут созданы три блока по 10 000 точек, чтобы получить равномерную выборку в каждом блоке. Также следует избегать задания лимита точек на блок, который значительно превышает номинальное количество точек в большинстве блоков. В некоторых архитектурах данные подвергаются повышению частоты дискретизации для соответствия ограничению количества точек. По этим причинам используйте размер блока и ограничение количества точек блока, которые будут близки к ожидаемому количеству точек, охватывающему большинство блоков в обучающих данных. После создания обучающих данных в окне сообщений инструмента отображается гистограмма, а ее изображение сохраняется в папке, содержащей обучающие данные и данные проверки. Эту гистограмму можно просмотреть, чтобы определить, была ли задана правильная комбинация размера блока и ограничение числа точек. Если значения указывают на неоптимальный предел числа точек, перезапустите инструмент с более подходящим значением параметра Ограничение точек в блоке.
-
Убедитесь в том, что выходные данные записаны в местоположение с достаточным для размещения обучающих данных объемом дискового пространства. Этот инструмент создает частично перекрывающиеся блоки файлов HDF5 без сжатия, которые реплицируют каждую точку в четырех блоках. В блоках, в которых превышено максимальное число точек, некоторые точки могут дублироваться более четырех раз. Полученные обучающие данные могут занимать как минимум втрое больше места на диске, чем исходные данные облака точек.
Параметры
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}, {reference_height}, {excluded_class_codes})| Имя | Описание | Тип данных |
in_point_cloud | Облако точек, которое будет использоваться для создания обучающих данных и, возможно, данных проверки, если облако точек проверки не предоставлено. В этом случае и границы обучения, и границы проверки должны быть указаны. | LAS Dataset Layer; File |
block_size | Диаметр каждого блока обучающих данных, который будет создан из входного облака точек. Как правило, размер блока должен быть достаточно большим, чтобы охватить интересующие объекты и их окружение. | Linear Unit |
out_training_data | Расположение и имя выходных обучающих данных (файл *.pctd). | File |
training_boundary (Дополнительный) | Полигональные объекты, которые будут ограничивать подмножество точек из входного облака, которое будет использоваться для обучения модели. Этот параметр необходим, если не задано значение параметра validation_point_cloud. | Feature Layer |
validation_point_cloud (Дополнительный) | Источник облака точек, которое будет использоваться для проверки модели глубокого обучения. Этот набор данных должен ссылаться на набор точек, отличный от входного облака точек, чтобы гарантировать качество обученной модели. Если облако точек проверки не задано, входное облако точек можно использовать для определения наборов данных обучения и проверки, указав классы полигональных объектов для параметров training_boundary и validation_boundary. | LAS Dataset Layer; File |
validation_boundary (Дополнительный) | Полигональные объекты, которые будут ограничивать подмножество точек, используемых для проверки модели в процессе обучения. Если облако точек проверки не задано, точки будут взяты из входного облака точек, а для параметра training_boundary потребуется полигон. | Feature Layer |
class_codes_of_interest [class_codes_of_interest,...] (Дополнительный) | Коды классов, которые будут использоваться для ограничения экспортируемых блоков обучающих данных. Все точки в блоках, которые содержат хотя бы одно из значений, перечисленных для этого параметра, будут экспортированы, за исключением классов, указанных в параметре excluded_class_codes, или точек, помеченных как Исключенные. Можно задать любое значение от 0 до 255. | Value Table |
block_point_limit (Дополнительный) | Максимальное количество точек, которое будет допустимо в каждом блоке обучающих данных. Если блок содержит число точек, превышающее это значение, для одного и того же местоположения будет создано несколько блоков, чтобы гарантировать использование всех точек в обучении. Значение по умолчанию - 8,192. | Long |
reference_height (Дополнительный) | Растровая поверхность, которая будет использоваться для предоставления значений относительной высоты для каждой точки в данных облака точек. Точки, которые не перекрываются с растром, будут исключены из анализа. | Raster Layer |
excluded_class_codes [excluded_class_codes,...] (Дополнительный) | Коды классов, которые будут исключены из обучающих данных. Можно указать любое значение в диапазоне от 0 до 255. | Long |
Пример кода
В следующем примере показано использование этого инструмента в окне Python:
import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.PreparePointCloudTrainingData('training_source.lasd', '35 Meters', 'vegetation_training.pctd',
validation_point_cloud='validation_source.lasd',
class_codes_of_interest=[14, 15], block_point_limit=12000,
reference_height='Ground_Elevation.tif',
excluded_class_codes=[2, 6, 8, 9, 20])Параметры среды
Информация о лицензиях
- Basic: Обязательно 3D Analyst
- Standard: Обязательно 3D Analyst
- Advanced: Обязательно 3D Analyst