Оценить модель классификации облака точек (3D Analyst)

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

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

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

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

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

  • Архитектура глубокого обучения PointCNN используется для создания модели классификации облака точек. Использование этой архитектуры может давать немного разные результаты при обработке одного и того же набора входных данных. Вы можете указать одну и ту же модель в качестве входной несколько раз для оценки согласованности результатов классификации в облаке точек. См. PointCNN: Свертка точек, преобразованных по X для дополнительной информации о потенциальной вариабельности результатов классификации.

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

    • <base name>_ModelStatistics.csv — таблица, в которой перечислены параметры accuracy, precision, recall и F1 score.
    • <base name>_ClassCodeStatistics.csv — таблица, суммирующая результаты параметров accuracy, precision, recall и F1 score для каждого кода класса.
    • <base name>_ConfusionMatrices.csv — таблица, суммирующая, как каждая точка в каждом коде класса базового облака точек классифицируется входной моделью. В дополнение к истинно положительным и ложно положительным, в этой таблице также указаны классы, где выявились ложно положительные.
    • <base name>_ConfusionMatrix_<model number>.png — изображение диаграммы, по которой удобно оценить матрицу неточностей для данной модели.
  • Параметр Базовая поверхность требуется, когда входная модель была обучена с атрибутами относительной высоты. Растровая поверхность используется в качестве базовой высоты, от которой интерполируются относительные высоты для каждой точки. Это предоставляет дополнительную информацию для модели, которую можно использовать для более простой дифференциации объектов. Растровая поверхность, заданная для этого параметра, должна представлять тот же тип данных, что и растр, использованный в обучающих данных, по которым создавалась модель. В большинстве случаев это будет растр, созданный из наземных классифицированных точек. Растровая поверхность может быть построена из классифицированных точек поверхности земли в наборе данных LAS путем применения фильтра поверхности земли и использования инструмента Набор данных LAS в растр. Поверхность земли также может быть сгенерирована по слою сцены облака точек с помощью инструмента Облако точек в растр. Растровые поверхности, которые не происходят из входного облака точек, использовать можно, но необходимо убедиться, что z-значения в растре точно соответствуют z-значениям в облаке точек.

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

Параметры

ПодписьОписаниеТип данных
Входное определение модели

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

Value Table
Базовое облако точек

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

LAS Dataset Layer; File
Целевая папка

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

Folder
Исходное имя

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

String
Обработка границ
(Дополнительный)

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

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

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

Value Table
Базовая поверхность
(Дополнительный)

Растровая поверхность, которая будет использоваться для получения значений относительной высоты для каждой точки в данных облаков точек. Точки, которые не перекрываются с растром, будут исключены из анализа.

Raster Layer
Исключенные коды классов
(Дополнительный)

Коды классов, исключенные из обработки. Можно задать любое значение от 0 до 255.

Long

Производные выходные данные

ПодписьОписаниеТип данных
Выходная матрица несоответствий

Таблица в формате CSV, где сохраняется матрица неточностей для каждого кода класса в каждой входной модели.

Text File
Выходная статистика модели

Таблица в формате CSV, где суммирована общая статистка по входным моделям.

Text File
Выходная статистика кодов классов

Таблица в формате CSV, где суммирована статистка для каждого кода класса в каждой входной модели.

Text File

arcpy.ddd.EvaluatePointCloudClassificationModel(in_trained_model, in_point_cloud, target_folder, base_name, {boundary}, {class_remap}, {reference_height}, {excluded_class_codes})
ИмяОписаниеТип данных
in_trained_model
[in_trained_model,...]

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

Value Table
in_point_cloud

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

LAS Dataset Layer; File
target_folder

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

Folder
base_name

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

String
boundary
(Дополнительный)

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

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

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

Value Table
reference_height
(Дополнительный)

Растровая поверхность, которая будет использоваться для получения значений относительной высоты для каждой точки в данных облаков точек. Точки, которые не перекрываются с растром, будут исключены из анализа.

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

Коды классов, исключенные из обработки. Можно задать любое значение от 0 до 255.

Long

Производные выходные данные

ИмяОписаниеТип данных
out_confusion_matrices

Таблица в формате CSV, где сохраняется матрица неточностей для каждого кода класса в каждой входной модели.

Text File
out_model_statistics

Таблица в формате CSV, где суммирована общая статистка по входным моделям.

Text File
out_class_code_statistics

Таблица в формате CSV, где суммирована статистка для каждого кода класса в каждой входной модели.

Text File

Пример кода

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

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

import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.EvaluatePointCloudUsingTrainedModel(
        ['Transmission_Power_Lines.dlpk', 'Distribution_Power_Lines.dlpk'], 
        'Classified_Power_Lines.lasd', 'D:/Evaluate_PointCNN_Models', 
        'Power_Line_Results_', 'test_boundary.shp', [[18, 14], [20, 14]])

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