Подпись | Описание | Тип данных |
Входное облако точек | Облако точек, которое будет использоваться для обнаружения объектов. | LAS Dataset Layer |
Входное определение модели | Модель обнаружения объектов, которая будет использоваться. Могут быть указаны файл определения модели Esri (.emd), пакет глубокого обучения (.dlpk) или опубликованная модель обнаружения объектов из ArcGIS Online или Portal for ArcGIS. | File; String |
Целевые объекты | Объекты, которые будут идентифицированы во входном облаке точек, а также пороговые значения достоверности и наложения, которые будут использоваться для принятия обнаруженных объектов.
| Value Table |
Выходные объекты | Выходные объекты-мультипатчи, которые будут содержать ограничивающие рамки, окружающие объекты, выявленные во входном облаке точек. | Feature Class |
Размер пакета (Дополнительный) | Количество блоков из входного облака точек, которые будут обрабатываться одновременно. Если значение не указано, одновременно будет обрабатываться один блок. | Long |
Обработка границ | Полигональный объект, определяющий область интереса, которая будет обрабатываться. | Feature Layer |
Базовая поверхность | Растровая поверхность, которая будет использоваться для расчета относительных высот для каждой точки. Этот параметр является обязательным, если входная модель содержит атрибут относительной высоты, который указывает, что она была обучена с использованием растровой поверхности базовых высот. | Raster Layer |
Исключаемые классы | Коды классов из входного облака точек, которые будут исключены из точек, обрабатываемых для обнаружения объектов. Если модель обучалась с пропущенными точками определенных кодов классов, для получения наилучших результатов точки во входном облаке точек должны иметь те же классы идентифицированных и исключенных объектов. | Long |
Краткая информация
Выявляет объекты, захваченные в облаке точек, с помощью модели глубокого обучения.
Иллюстрация
Использование
Этот инструмент требует установки Deep Learning Essentials, который предоставляет множество решений для нейронных сетей, включающих нейронные архитектуры для классификации облаков точек.
Чтобы настроить компьютер на работу в среде глубокого обучения в ArcGIS AllSource, см. раздел Установка сред глубокого обучения для ArcGIS.
Модели обнаружения объектов не требуют классификации входного облака точек. Однако облако точек, которое будет оцениваться, должно иметь характеристики, аналогичные данным облака точек, используемым для обучения модели. Например, модель обнаружения объектов, обученная на наземном облаке точек для классификации автомобилей, подойдет для другого наземного облака точек, но она может не работать должным образом с облаком точек, полученным в результате воздушной лидарной съемки.
Модель идентифицирует множество объектов, некоторые из которых могут перекрываться. Для их уточнения используются два ключевых порога: порог оценки достоверности и порог наложения. Показатель достоверности представляет собой числовое значение от 0,0 до 1,0, которое указывает, насколько вероятно, что объект будет правильно идентифицирован. Более высокий показатель подразумевает большую уверенность, и можно установить пороговое значение для фильтрации обнаружений, получивших уровень достоверности ниже заданного.
В тех случаях, когда несколько похожих объектов имеют перекрывающиеся ограничивающие рамки, еще более важным становится порог наложения. В этом измерении используется коэффициент пересечения и объединения (IoU), который рассчитывается путем деления объема пересечения на объем объединения перекрывающихся ограничивающих рамок. Для объектов, IoU которых превышает порог наложения, сохраняется только объект с наивысшим показателем достоверности. Алгоритм немаксимального подавления (NMS) используется для обеспечения того, чтобы в окончательный результат входили только наиболее релевантные обнаружения.
Параметр Базовая поверхность требуется, когда входная модель была обучена с атрибутами относительной высоты. Растровая поверхность используется в качестве базовой высоты, от которой интерполируются относительные высоты для каждой точки. Это предоставляет дополнительную информацию для модели, которую можно использовать для более простой дифференциации объектов. Растровая поверхность, заданная для этого параметра, должна представлять тот же тип данных, что и растр, использованный в обучающих данных, по которым создавалась модель. В большинстве случаев это будет растр, созданный из наземных классифицированных точек. Растровая поверхность может быть построена из классифицированных точек поверхности земли в наборе данных LAS путем применения фильтра поверхности земли и использования инструмента Набор данных LAS в растр. Поверхность земли также может быть сгенерирована по слою сцены облака точек с помощью инструмента Облако точек в растр. Растровые поверхности, которые не происходят из входного облака точек, использовать можно, но необходимо убедиться, что z-значения в растре точно соответствуют z-значениям в облаке точек.
Если входная модель была обучена по точкам из определенных классов, исключенных из обучающих данных, используйте параметр Исключенные коды классов, чтобы гарантировать, что одинаковые точки не будут использоваться в наборе точек, который оценивается моделью. Исключение классов, которые не обеспечивают полезного контекста для целей данной модели, уменьшит количество оцениваемых точек, что повышает скорость обучения и применения модели. Например, точки, представляющие здания, обычно не имеют отношения к точкам, представляющим такие объекты, как светофоры, линии электропередач или автомобили. Точки зданий также могут быть надежно классифицированы с помощью инструмента Классифицировать здания в LAS. Если точки с классом 6, представляющие здания, были исключены из обучающих данных, которые использовались для создания модели, входное облако точек также должно классифицировать точки зданий и исключить их из этого инструмента.
Параметры
arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel(in_point_cloud, in_trained_model, target_objects, out_features, {batch_size}, boundary, reference_height, excluded_class_codes)
Имя | Описание | Тип данных |
in_point_cloud | Облако точек, которое будет использоваться для обнаружения объектов. | LAS Dataset Layer |
in_trained_model | Модель обнаружения объектов, которая будет использоваться. Могут быть указаны файл определения модели Esri (.emd), пакет глубокого обучения (.dlpk) или опубликованная модель обнаружения объектов из ArcGIS Online или Portal for ArcGIS. | File; String |
target_objects [target_objects,...] | Объекты, которые будут идентифицированы во входном облаке точек, а также пороговые значения достоверности и наложения, которые будут использоваться для принятия обнаруженных объектов.
| Value Table |
out_features | Выходные объекты-мультипатчи, которые будут содержать ограничивающие рамки, окружающие объекты, выявленные во входном облаке точек. | Feature Class |
batch_size (Дополнительный) | Количество блоков из входного облака точек, которые будут обрабатываться одновременно. Если значение не указано, одновременно будет обрабатываться один блок. | Long |
boundary | Полигональный объект, определяющий область интереса, которая будет обрабатываться. | Feature Layer |
reference_height | Растровая поверхность, которая будет использоваться для расчета относительных высот для каждой точки. Этот параметр является обязательным, если входная модель содержит атрибут относительной высоты, который указывает, что она была обучена с использованием растровой поверхности базовых высот. | Raster Layer |
excluded_class_codes [excluded_class_codes,...] | Коды классов из входного облака точек, которые будут исключены из точек, обрабатываемых для обнаружения объектов. Если модель обучалась с пропущенными точками определенных кодов классов, для получения наилучших результатов точки во входном облаке точек должны иметь те же классы идентифицированных и исключенных объектов. | Long |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
arcpy.env.workspace = 'C:/data/detect_cars'
arcpy.ddd.DetectObjectsFromPointCloudUsingTrainedModel('2018_survey.lasd', 'cars.emd',
[(1, 0.7, 0.4)], 'Cars_in_Point_Cloud.shp',
10, 'study_area_boundary.shp',
'dem.tif', [2, 6, 7, 18])