Skip to main content

Создание файлов сигнатур, классов и кластерного анализа

Доступно с лицензией Spatial Analyst.

С помощью дополнительного модуля ArcGIS Spatial Analyst можно создать классификацию, сгруппировав ячейки растра в классы или кластеры. Обычно класс представляет собой известную категорию, такую ​​как леса, жилые районы или водоемы, а кластер представляет собой группу ячеек, основанную на статистике их атрибутов. Сигнатура — это поднабор ячеек, представляющих класс или кластер. Статистика сигнатур хранится в файле сигнатур, который будет использоваться для классификации всех ячеек на пересечении входных каналов.

Что такое класс?

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

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

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

Идентификация классов для классификации с обучением

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

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

Создание кластеров в классификации без обучения

Первым шагом в классификации без обучения является создание кластеров. Статистически кластеры — это естественно возникшие группы данных. Для инструмента Изокластер требуются входные растровые каналы, количество классов, имя выходного файла сигнатур, количество итераций, минимальный размер класса и интервал, с которым берутся точки выборки для расчета кластеров (конечные три параметра обсуждаются ниже).

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

Хранение статистики класса или кластера: файл сигнатур

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

Файл сигнатур можно отобразить в любом текстовом редакторе.

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

Как определяются кластеры для классификации без обучения

Алгоритм, используемый для создания кластеров в классификации без обучения, называется Изокластер. Префикс "изо" алгоритма кластеризации "изодата" означает итеративную самоорганизацию (Iterative Self‑Organizing — ISO), метод выполнения кластеризации. Кластеры рассчитываются с использованием поднабора ячеек в изучаемой области. Все расчеты кластера выполняются по значениям ячеек в многомерном пространстве атрибутов и не основаны на каких-либо пространственных характеристиках. То есть среднее значение получается из значений атрибутов для различных входных каналов. Значения дисперсии и ковариации рассчитываются на основе вариаций внутри и между каналами.

В следующем примере используется метод кластеризации K-среднего или ISO. Для теоретического объяснения методологии будет использоваться двухканальный растр. Эта же методология работает для любого количества введенных каналов или в n-мерном пространстве. Следующее обсуждение носит концептуальный характер и позволяет лучше понять метод кластеризации ISO.

  • На пустом графике диапазон значений первого канала откладывается по оси x, а диапазон значений второго канала — по оси y.

  • Линия проведена под углом 45 градусов и разделена на указанное вами количество классов. Центральная точка каждого из этих сегментов линии является начальным средним значением классов.

Определены средние значения для классов

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

Вычисляется расстояние от каждой точки до точки усредненного центра.

Вычисляется расстояние от каждой точки до точки усредненного центра.
  • Наносится следующая точка выборки, и описанная выше процедура повторяется для всех точек выборки.

Расстояние вычисляется для всех точек выборки.

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

Для каждого класса вычисляются новые точки усредненного центра.

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

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