Мне было интересно, если кто-то имеет дело с такого рода проблемы раньше:
Я хочу разграничить фрагменты на основе соседних пикселей одного и того же класса (леса) с пороговым расстоянием 3 пикселя (что является биологически значимым для моего вида интереса).
Меня беспокоит, см. Приложенное изображение для примера, что иногда эти фрагменты фактически являются коридорами, и часто коридоры и фактические фрагменты группируются в один и тот же фрагмент из-за их близости.
Мне интересно, есть ли способ отличить коридоры от фрагментов по форме, количеству окружающих пикселей и т. Д.?
Например, в следующем окне возможные коридоры обозначены красными прямоугольниками, а фрагменты - зелеными.
У меня есть доступ к QGIS и R.
Ответы:
Перед началом любого анализа я настоятельно рекомендую применить фильтр к вашим данным, чтобы убрать эффект «соли и перца». Любой алгоритм будет бороться с текущей структурой ваших данных. Простое фокусное большинство, скорее всего, приведет к нежелательным результатам. Более надежный метод - применение метода сита, в котором можно указать минимальную единицу отображения. Это можно сделать с помощью функции gdal_sieve.py в GDAL,
raster > analysis > sieve
функции в QGIS или функции сита в ArcGIS Gradient Metrics Toolbox .Это похоже на то, что может быть решено с операторами математической морфологии (например, извлечение дорог из изображений ). Я предположил бы, что оператор расширения, сопровождаемый оператором Закрытия, прояснит коридоры. Затем можно применить оператор «Открытие», чтобы удалить коридоры, и развести растры, чтобы вывести идентифицированные коридоры как отдельные объекты. Эти типы функций декомпозиции изображений несколько автоматизированы в программном обеспечении MSPA и GUIDOS, но, опять же, это заметно будет зависеть от разрывов в ваших данных.
Существует плагин QGIS для MSPA, а также доступные функции в GRASS (доступны через графический интерфейс QGIS). Одной из проблем MSPA и GUIDOS является то, что вы ограничены в размере изображения. К сожалению, в программном обеспечении ESRI морфологические операторы доступны только в расширении ArcScan . С некоторыми копаниями вы найдете другие программные опции, а также методы определения морфологических операторов посредством растровой алгебры с пользовательскими матрицами ядра.
Другим подходом могут быть методы фильтрации обнаружения краев, такие как оператор ядра Sobal . В ArcGIS Gradient Metrics Toolbox есть функция sobal, а также в пакете SpaceEco R. Преимущество реализации R состоит в том, что вы можете вернуть градиентную функцию оператора, тогда как реализация ArcGIS возвращает только функцию 1-го порядка (которая может быть всем, что вам нужно). Я полагаю, что в наборе инструментов Orfeo (доступном как дополнение QGIS) есть опциональная опция в функции EdgeExtraction.
источник
Это не полное решение, но, проверьте эти инструменты для анализа подключения (первое хорошо соответствует тому, что вы ищете):
MSPA - Анализ морфологических пространственных образов ( http://forest.jrc.ec.europa.eu/download/software/guidos/mspa ) из набора инструментов GUIDOS ( http://forest.jrc.ec.europa.eu/download/software / guidos ) и
Conefor Sensinode ( http://www.conefor.org/ ).
Также рассмотрите возможность обучения алгоритму машинного обучения для классификации ваших экземпляров (коридор и фрагменты). Вы можете дать пространственные атрибуты на уровне фрагмента (например, размер фрагмента, отношение площади периметра, коэффициент окружности) и основанные на расстоянии объекты (например, расстояние до фрагментов) для классификации. Для расчета функций уровня патча, необходимых для классификации, вы можете попробовать FragStats ( https://www.umass.edu/landeco/research/fragstats/fragstats.html ).
Вы также можете рассмотреть более простую «экспертную систему правил» для классификации каждого экземпляра. Например, коридоры будут иметь более высокое отношение площади периметра, чем фрагменты среды обитания и т. Д.
Более интересный материал для анализа подключения: http://conservationcorridor.org/corridor-toolbox/programs-and-tools/
Однако тот факт, что некоторые коридоры не имеют «полного пиксельного подключения», будет проблемой, с которой вам нужно разобраться в первую очередь. Я думаю, что вы должны определить какой-то критерий порогового значения на основе расстояния, чтобы решить, является ли какой-то пиксель частью коридора или нет.
источник
Кажется, это зависит от формы вашего фрагмента. Если ширина более чем в 2 (или 3) раза больше высоты (или наоборот), вы можете назвать это коридором?
Вы уже пришли к разграничению фрагментов?
источник