Программа разделения многомерной гистограммы по унимодальным кластерам

1. НАЗНАЧЕНИЕ ПРОГРАММЫ

Программа предназначена для кластеризации многоспектральных изображенийРеализован быстрый непараметрический алгоритм неконтролируемой классификации многоспектральных данных, основанный на построении многомерной гистограммы и разбиении ее на унимодальные кластеры. Унимодальность важна для применения теории распознавания образов. Программа разработана Сидоровой В.С. в лаборатории Обработки Изображений Института Вычислительной Математики и Математической геофизики Сибирского отделенияРоссийской Академии Наук. 

2. особенностиПРОГРАММЫ

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

Поиск максимумов ведется методом наискорейшего подъема с учетом дискретности данных (яркостей по спектральным каналам). Быстрота алгоритма достигается за счет представления векторов яркостей в форме линейного списка, упорядоченного по возрастанию векторов.

В программе предусмотрена возможностьвлияния на детальность кластеризации путем маскирования младших разрядов (битов) в каждом спектральном канале или многократным сглаживанием гистораммы по ближайшей окрестности векторов. Это осуществляется заданием различных режимов. Может быть задан автоматический режим, ориентиром служит вводимое максимальное число кластеров. Кроме того, можно задать порог для значений гистограммы, ниже которого соответствующие вектора не рассматриваются. Более подробно задание параметров описано в меню Help пользовательского окна програмы.

Характеристики кластеров: значения наиболее вероятных векторов и их плотности вероятности,площади, граничные точки по всем спектральным каналам, ковариации заносятсяв таблицы и могут быть показаны на экране и занесены в файл. Карта кластеров получается в виде BMP-файла (256-цветного). Полученные характеристики кластеров могут быть непосредственно использованы. анализированы или подвергнуты дальнейшей обработке в зависимости от целей и задач.

Алгоритм реализован в программной среде системы объектно-ориентированного программирования Visual C++ версии 5.0 фирмы Microsoft c библиотекой классов MFC, разработанная для ОСWindows.
При разработке программы  использовался механизм многодокументного интерфейса MDI, который позволяет работать одновременно с несколькими изображениями (документами), каждое из которых связано со своим окном. 

3. УправлениеПРОГРАММОЙ

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

Меню главного окна  состоит из команд File, View, Help. Каждая из этих команд является, в свою очередь, раскрываемым меню с командами:
File:New...         - создание нового пустого дочернего окна,
Open...      - чтение существующего файла изображения или файла-таблицы кластеров,
View:ToolBar    - управление видимостью панели инструментов,
          StatusBar - управление видимостью линейки состояния,
Help: About...   - сведения о программе.

Using… - подробное описание программы, вводимых параметров и полученныхрезультатоов.

В главном окне всплывает подсказка: Откройте файл изображения. МенюFile поможет выбрать файл для обработки. При нажатии на команду меню File/Open внутри главного окна создается дочернее окно. При создании дочернего окна меню по умолчанию главного окна заменяется на меню дочернего окна, состоящего из команд File, Clust, View, Window, Help.Каждоеиз этих меню содержит подменю.
Меню File содержит те же команды, что и в меню главного окна, дополненные командами
File:Close       - закрыть файл,
Save        - сохранить файл,
Save as    - сохранить файл под другим именем. 

Print- печать,

PrintPreview - предварительны просмотр печати,

PrintSetup - установка параметров печати.

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

Clust:ClustGist- запускает программу кластеризации изображения, которая строит многомерную

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

ClustTable - дополнительная возможность вывести текущую таблицу на экран.

ClustMap- дополнительная возможность вывести текущую карту кластеров на экран 

RestoreMap-возвращает исходную окраску кластерам.

   Window: New...  - создание нового окна с видом текущего (активного)     документа, 

Cascade      - каскадное расположение окон,
Tile    - расположить окна горизонтально (одно под другим), 

ArrangeIcons - упорядочивает свернутые окна таблиц и изображений в левом нижнем углуглавного окна.
  Содержимое меню Help остается неизменным. 

демонстрационная версия

·Загрузите файл DEMO.ZIP

·Запустите разархивированный файл scroll.exe

·Вглавном окне всплываетподсказка: Откройте файл изображения. Меню File поможет выбрать файл для обработки. При нажатии на команду File/Open. В основном меню внутри главного окна создается дочернее окно, в которое выводится файл. 

·При создании дочернего окна меню по умолчанию главного окна заменяется на меню дочернего окна, состоящего из команд File, Clust, View, Window, Help. Каждоеизэтих меню содержит подменю. 

Для запуска программы кластеризации нажмите кнопку меню Clust/ClustGist. На дисплее появится окно для ввода параметров.Описание параметров содержится в меню Helpв разделе “Программа кластеризации”.Там же описаны полученные файлы и средства программыдля работы с ними. Примеры задания параметров и полученные результаты приводятся в демонстрационной версии (смотри ниже). 

·Выход из программы осуществляется закрытием окна
 
 

ТЕСТОВАЯ ЗАДАЧА

С помощью алгоритма исследовались изображения тающих весной снегов на поверхности Земли. Снимки получены со спутника в пяти спектральных каналах. В демонстрационной версии представлены три спектральных канала (123):два в видимой части спектра, соответствующие синему (0.44 мкм) и зеленому(0.52 мкм) диапазону и один вближнем инфракрасном на длине волны 3.7 мкм. Изображение было записано как RGB файл, где B и G соответствовали синему и зеленому, а R инфракрасному диапазону. Сопоставление полученных цветных изображений с картами таяния снега, полученными метеорологами, показало, что выбранные спектральные каналы позволяют визуально различить стадии таяния снега в соответствии с картами: сплошной снег соответствует светло-голубому цвету, по мере таяния снега голубой темнеет и краснеет, это соответствует усилению инфракрасного излучения от теплеющих объектов поверхности Земли. Участки суши с растаявшим снегом имеют уже красный цвет на изображении.

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

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

РЕЗУЛЬТАТ КЛАСТЕРИЗАЦИИ

Данные снимка

приемная станция ИТЦ “СканЭкс” 54:47N, 83:07E, спутник NOAA 17, бит/пиксел 16,

NNканалов 12345, Направление нисходящее, Дата: Apr 17, 2003, Время: 05:036:14,

Номервитка: 4216,LAT-58° - 49°N, LONG - 076° -086° E

Примеры кластеризации (фрагмента снимка):

1) Вариант по умолчанию.

       Вводимые параметры:

срез гистораммы 0,

максимальное число кластеров 50,

            режим автоматический, 

начальный срез битов 2,число отображаемых кластеров - все,

число наибольших кластеров для оконтуривания -1.

Получено:

срез битов 3, сглаживаний гистограммы 1,

различных векторов 5688,

унимодальных кластеров 36.

2) Вводимые параметры:

срез гистораммы 0,максимальное число кластеров 100, режим автоматический, 

начальный срез битов 2,число отображаемых кластеров - все,

число наибольших кластеров для оконтуривания -0.

Получено:

срез битов 3, сглаживаний гистограммы 0,

различных векторов 5688,

унимодальных кластеров 69.

ИНФОРМАЦИОННЫЕ  РЕСУРСЫ*ЛАБОРАТОРИЯ ОБРАБОТКИ ИЗОБРАЖЕНИЙ

© 2010 Институт Вычислительной Математики и Математической Геофизики СО РАН