Оценить модель классификации облака точек (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]])

Информация о лицензиях

  • Basic: Обязательно 3D Analyst
  • Standard: Обязательно 3D Analyst
  • Advanced: Обязательно 3D Analyst

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