Skip to main content

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

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

Тренирует модель глубокого обучения для классификации облака точек.

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

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

  • Для этого инструмента требуется установка Deep Learning Essentials, который содержит несколько решений нейронных сетей, включая нейронные архитектуры для классификации облаков точек.

    Чтобы настроить компьютер на работу в среде глубокого обучения в ArcGIS Pro, см. раздел Установка сред глубокого обучения для ArcGIS.

  • Модель классификации облака точек может быть обучена с помощью видеокарты NVIDIA с поддержкой CUDA или CPU. Использование графического процессора обычно быстрее, чем использование центрального процессора. Используйте ЦПУ только, если нет доступного графического процессора. При использовании центрального процессора для обучения, начните с использования архитектуры RandLA-Net, так как она использует меньше памяти, чем PointCNN. Также можно поэкспериментировать с использованием наименьших возможных обучающих выборок, чтобы оценить время обработки данных, до обучения с полным набором обучающих данных.

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

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

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

    • Epoch—Номер эпохи, с которой связан результат

    • Training Loss—Результат функции потерь энтропии, который усредняется с данными обучения

    • Validation Loss—Результат функции потерь энтропии, который выявляется при применении обученной модели в эпоху данных проверки

    • Accuracy—Отношение точек в данных проверки, которые корректно классифицированы моделью обученной в данную эпоху (истинно положительные) ко всем точкам в данных проверки

    • Precision—Общая средняя точность для всех кодов классов

    • Recall—Общее среднее найденных значений для всех кодов классов

    • F1 Score—Гармоническое среднее общего среднего значений точности и полноты для всех кодов классов

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

    Более подробно о доступе к результатам классификации облака точек

  • Создается папка для хранения контрольных моделей, которые являются моделями, созданными в конце каждой эпохи. Имя этой папки такое же, как у модели, с суффиксом .checkpoints и хранится в значении параметра Местоположение выходной модели. После завершения обучения в папке контрольных точек создается таблица CSV, имя которой начинается со значения параметра Имя выходной модели и заканчивается на _stats.csv. Таблица содержит следующие поля, в зависимости от результатов, получаемых для каждого кода класса и каждой эпохи:

    • Epoch—Номер эпохи, связанный с результатом в строке. Значение, соответствующее модели, созданной в парке контрольных точек моделей. Результаты получаются путем применения модели, обученной в эпоху присутствия данных проверки.

    • Class_Code—Код класса, для которого получены результаты.

    • Precision—Отношение точек, которые были корректно классифицированы (истинно положительные) и всех классифицированных точек (истинно положительные и ложно положительные).

    • Recall—Отношение точек, которые были корректно классифицированы (истинно положительные), и всех точек, которые должны быть классифицированы по этому значению (истинно положительные и ложно отрицательные).

    • F1_Score—Гармоническое среднее точности и вызванного значения.

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

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

Параметры

Подпись Объяснение Тип данных

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

Обучающие данные облака точек (файл *.pctd), которые будут использованы для тренировки модели классификации.

File

Местоположение выходной модели

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

Folder

Имя выходной модели

Имя выходного файла определения модели Esri (*.emd), пакета глубокого обучения (*.dlpk) и каталог, который будет создан для их хранения.

String

Предварительно обученная модель

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

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

File

Выбор атрибутов

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

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

  • IntensityThe measure of the magnitude of the lidar pulse return will be used.

  • Return NumberThe ordinal position of the point obtained from a given lidar pulse will be used.

  • Number of ReturnsThe total number of lidar returns that were identified as points from the pulse associated with a given point will be used.

  • Red BandThe red band's value from a point cloud with color information will be used.

  • Green BandThe green band's value from a point cloud with color information will be used.

  • Blue BandThe blue band's value from a point cloud with color information will be used.

  • Near Infrared BandThe near infrared band's value from a point cloud with near infrared information will be used.

  • Relative HeightThe relative height of each point in relation to a reference surface, which would typically be a bare earth DEM, will be used.

String

Минимальное количество точек на блок

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

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

Long

Перекодировка классов

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

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

Столбцы таблицы значений:

  • Current ClassThe class code value in the training data.

  • Remapped ClassThe class code that the existing code will be changed to.

Value Table

Коды классов интереса

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

Коды классов, которые будут для фильтрации блоков в обучающих данных. Если заданы коды классов интереса, все остальные коды классов будут пересчитаны на код класса фона.

Long

Код класса фона

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

Значение кода класса, которое будет использовано для всех остальных кодов классов, если указаны коды классов интереса.

Long

Описание класса

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

Описание каждого кода класса, представленного в обучающих данных.

Столбцы таблицы значений:

  • Current CodeThe class code value that was learned by the model.

  • Class DescriptionThe object described by the class code.

Value Table

Критерии выборки модели

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

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

  • Validation LossThe model that achieves the lowest result when the entropy loss function is applied to the validation data will be used.

  • RecallThe model that achieves the best macro average of the recall for all class codes will be used. Each class code's recall value is determined by the ratio of correctly classified points (true positives) over all the points that should have been classified with this value (expected positives). This is the default.

  • F1 ScoreThe model that achieves the best harmonic mean between the macro average of the precision and recall values for all class codes will be used. This provides a balance between precision and recall, which favors better overall performance.

  • PrecisionThe model that achieves the best macro average of the precision for all class codes will be used. Each class code's precision is determined by the ratio of points that are correctly classified (true positives) over all the points that are classified (true positives and false positives).

  • AccuracyThe model that achieves the highest ratio of corrected classified points over all the points in the validation data will be used.

String

Максимальное число эпох

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

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

Long

Итераций на период времени (%)

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

Процент данных, которые будут обработаны за каждую эпоху обучения. По умолчанию используется 100.

Double

Скорость обучения

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

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

Double

Размер пакета

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

Количество блоков обучающих данных, которые будут обработаны в любой момент времени. Значение по умолчанию равно 2.

Long

Завершить обучение, когда модель больше не улучшается

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

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

  • ОтмеченоThe model training will stop when the model is no longer improving. This is the default.

  • Не отмеченоThe model training will continue until the maximum number of epochs has been reached.

Boolean

Стратегия скорости обучения

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

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

  • One Cycle Learning RateThe learning rate will be cycled throughout each epoch using Fast.AI's implementation of the 1cycle technique for training neural networks to help improve the training of a convolutional neural network. This is the default.

  • Fixed Learning RateThe same learning rate will be used throughout the training process.

String

Архитектура модели

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

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

  • PointCNNThe PointCNN architecture will be used.

  • RandLA-NetThe RandLA-Net architecture will be used. RandLA-Net is built on the principles of simple random sampling and local feature aggregation.

  • Semantic Query NetworkThe Semantic Query Network (SQN) architecture will be used. SQN does not require a comprehensive classification of the training data as the other neural network architectures do.

  • Point Transformer V3The Point Transformer V3 architecture will be used. This is the default.

String

Функция потерь

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

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

  • Cross Entropy LossCross entropy loss will be used. This function is best suited for training data in which each class has a similar number of points to the other classes. This is the default.

  • Focal LossFocal loss will be used. This function is best suited for training data in which the classes that are being trained may have point counts with great variation.

String

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

Подпись Объяснение Тип данных

Выходная модель

Итоговая модель, созданная этим инструментом.

File

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

Файл .csv, содержащий точность, полноту и оценки F1 для каждого кода класса и эпохи.

Text File

Выходная статистика эпох

Файл .csv, содержащий потери при обучении, потери при проверке, точность, достоверность, полноту и F1, полученные в каждой эпохе.

Text File

Параметры среды

Тип процессора, GPU ID

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

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst