Земля сегмента из данных о лидаре с помощью алгоритма SMRF
сегментирует облако точки ввода, groundPtsIdx
= segmentGroundSMRF(ptCloud
)ptCloud
в землю и неземлю указывает и возвращает логический матричный или векторный groundPtsIdx
. Функция устанавливает наземные индексы точки на true
и true
для неназемных точек.
дополнительно задает размерность элемента сетки.groundPtsIdx
= segmentGroundSMRF(ptCloud
,gridResolution
)
[
дополнительно возвращает наземные точки и неназемные точки как отдельный groundPtsIdx
,nonGroundPtCloud
,groundPtCloud
] = segmentGroundSMRF(___)pointCloud
объекты. Используйте этот синтаксис с любой из комбинаций входных аргументов в предыдущих синтаксисах.
[___] = segmentGroundSMRF(___,
задает опции с помощью одного или нескольких аргументов значения имени. Например, Name,Value
)'ElevationThreshold',0.4
устанавливает порог вертикального изменения для идентификации, что неземля указывает на 0,4.
Простой морфологический фильтр (SMRF) алгоритм [1] данные об облаке точек сегментов в наземные и неназемные точки. Алгоритм разделен на три этапа:
Создайте минимальную поверхность вертикального изменения из данных об облаке точек.
Сегментируйте поверхность на наземные и неназемные элементы сетки.
Сегментируйте исходные данные об облаке точек.
Минимальное поверхностное создание
Разделите данные об облаке точек на сетку по измерению xy- (вид с высоты птичьего полета). Задайте размерность элемента сетки с помощью gridResolution
.
Найдите самое низкое вертикальное изменение (Zmin) значение для каждого элемента сетки (пиксель).
Объедините все значения Zmin в 2D матрицу (растровое изображение), чтобы создать минимальную карту поверхности вертикального изменения.
Поверхностная сегментация карты
Примените морфологическую вводную операцию на минимальную поверхностную карту. Для получения дополнительной информации о морфологическом открытии, смотрите Типы Морфологических Операций.
Используйте дискообразный элемент структурирования с радиусом 1 пикселя. Для получения дополнительной информации смотрите Элементы Структурирования.
Вычислите наклон между минимальной поверхностью, и открыл поверхностные карты в каждом элементе сетки. Если различие больше порога вертикального изменения, классифицируйте пиксель как неземлю.
Выполните шаги 1 - 3 итеративно. Увеличьте радиус элемента структурирования на 1 пиксель в каждой итерации, пока это не достигнет максимального радиуса, заданного MaxWindowRadius
.
Конечный результат процесса итерации является бинарной маской, где каждый пиксель классифицируется как являющийся или землей или неземлей.
Сегментация облака точек
Примените бинарную маску на исходную минимальную поверхностную карту, чтобы устранить незаземляющие сетки.
Заполните незаполненные сетки с помощью методов интерполяции изображения, чтобы создать предполагаемую модель вертикального изменения.
Вычислите разность в вертикальном изменении между каждой точкой в исходном облаке точек и предполагаемой моделью вертикального изменения. Если различие больше ElevationThreshold
, классифицируйте пиксель как неземлю.
[1] Pingel, Томас Дж., Кит К. Кларк и Уильям А. Макбрайд. “Улучшенный Простой Морфологический Фильтр для Классификации Ландшафтов Бортовых Данных о ЛИДАРЕ”. Журнал ISPRS Фотограмметрии и Дистанционного зондирования 77 (март 2013): 21–30. https://www.sciencedirect.com/science/article/abs/pii/S0924271613000026? via%3Dihub.