Анализ и сжатие изображений с использованием математической 3-D морфологи

-

Проблемы передачи и обработки информации

УДК 004.932.2

Г.И. Белявский, М.В. Штаба

АНАЛИЗ И СЖАТИЕ ИЗОБРАЖЕНИИ С ИСПОЛЬЗОВАНИЕМ МАТЕМАТИЧЕСКОЙ 3-D МОРФОЛОГИИ

Проблема сжатия информации всегда будет актуальной. Известные методы сжатия информации [1] обладают общим недостатком: временем, затрачиваемым на обработку информации, поскольку большинство форматов не являются растровыми. Чем больше степень сжатия, тем больше время, затрачиваемое на анализ изображения. Поэтому в каждом конкретном случае выбирается компромиссное решение. Известно, что для корректной передачи цвета требуется 16 миллионов оттенков (8 бит на каждую из трёх цветовых компонент). Таким образом, для описания картинки на экране, содержащей 575 линий по 720 пикселей, требуется 1,240 Мб. Для передачи такой информации по й-каналу ISDN (если не используется сжатие) требуется около 2,5 мин. Необходимо найти компромиссное решение между временем обработки информации, содержащейся в изображении, временем передачи информации и степенью сжатия данных. Следует отметить, что при сжатии изображений важно понимать контекст используемого изображения в процессе принятия решения и максимально сохранить информацию, необходимую для правильного решения.

Математическая 3-D морфология в обработке и сжатии изображений

Одной из фундаментальных проблем анализа изображений является создание адекватного математического описания, передающего их содержание и смысл. Это описание должно отражать лишь существенные (с точки зрения решаемой задачи) особенности изображения и не зависеть от несущественных деталей. Методы морфологического анализа являются, таким образом, шагом на пути решения проблемы описания семантики изображений [2].

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

шя

Рис. 1. Примеры изображений "единицы", сравнимые по форме

Все представленные на рис. 1 изображения имеют одну и ту же форму (в обычном понимании) и отличаются лишь условиями регистрации. Формально каждое серое изображение можно задать как функцию: ¡(х) = С1 х1 (х) + С2 х (х), х е Х, определён-

ную на поле зрения X и принимающую два значения: С1 и С2 на его подмножествах А— "единице" и А2 — "фоне" соответственно, х1(х) — индикаторная функция:

1,хе Д

¿ = 1,2,

[(),*<£ А;

причём множества А1 и А2 не пересекаются. [4]

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

форма - семантика изображения. Количество же этих слоёв-подмножеств может быть довольно большим и нести в себе значительный объём информации.

Основой интеллектуального анализа изображений в данной статье является подход Харалика (Haralick) и Шапиро (Shapiro), интерпретирующий цветное изображение как поверхность в трёх мерном пространстве, в котором третье измерение — это глубина цвета [5,6].

Алгоритм обработки и сжатия изображений

Основная задача заключается в том, чтобы представить цветное изо-бражение в виде аналогичном представлению серого изображения (1):

/(*) = С1%1 (*) + С2%2(х) + ... + спхп(*), хеХ,(2) где:

x'U)={w' |=1А-Л-

Здесь А. — это не пересекающиеся множества, представляющие собой цветовые слои.

Изложим некоторые предварительные соображения:

цветовая гамма выбирается исходя из конкретного изображения и является элементом кода;

число цветовых слоёв также зависит от конкретного изображения, и от качества его воспроизведения, т. е. от контекста его использования;

цветовая гамма строится на основе интенсивности цветов, с использованием методов кластерного анализа;

цвета с незначительной интенсивностью воспринимаются как шум и устраняются;

для адекватного воспроизведения цвета в работе используется стандартный подход, при котором цвета раскладываются на три цветовых компоненты: красная, зеленая и синяя;

кодирование каждого из слоёв происходит независимо друг от друга бинарным кодом.

Обработка цветов и кодирование подмножеств. Перейдем к более подробному описанию алгоритма кодирования цветного изображения.

Алгоритм кодирования выполняется в два прохода:

1. Первый проход. Анализ изображения и обработка цветов:

a. выделение цветов;

b. интеллектуальное прореживание, ведущее

к устранению неразличимых оттенков;

c. определение количества подмножеств (цветовых слоёв).

2. Второй проход. Кодирование:

a. представление двумерных массивов в качестве одномерных;

b. определение принадлежности пикселя к соответствующему подмножеству;

c. послойное, оптимальное с точки зрения объёма, кодирование подмножеств с использованием марковского свойства последовательности пикселей;

d. сохранение кода из последовательности символов переменной длины.

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

На рис. 2 отражены представления набора пикселей (сверху вниз): привычное представление в цвете; срез поверхности точек в 3-D пространстве A. (по функции top-surface [5]); срез объёмной фигуры, отражающей структуру изображения (функция Umbra [5]); собственный способ представления A'., повышающий эффективность кодирования.

3-D морфологические подходы Umbra и Top-surface являются способом представления изображения, как поверхности, и позволяют работать с его свойствами и раскрывают нам новую задачу оптимизации этого 3-D подхода. Таким образом, было создано более эффективное представление изображения, которое можно кодировать с высокими коэффициентами сжатия.

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

Построение модифицированных множеств A' основано на том, что на каждом из цветовых слоёв существует три смысловых состояния пикселя: прозрачный ("0" обязательно пустой на верхних слоях), закрашенный "1" и незначимый

Рис. 2. Разбиение изображения на цветовые слои, срез 3^ поверхности

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

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

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

На основе множеств Л' вычисляются слагае-

I

мые С. х (х) в разложении (1), т. е. изображение кодируется в последовательность значений - чередующееся количество прозрачных и заполненных пикселей, для каждого, уже изменённого, подмножества Л'. . Отметим, что выделяется код фона, который не кодируется, а является ин-

версией к сумме всех множеств. При этом коды сгруппированных пикселей могут быть достаточно громоздки, они должны быть объединены с другой информацией об изображении: данными о цветах, ширине и высоте изображения. Структура кода представлена на рис. 3.

Елок 0:1 ... | Елок 0:М

Блок 1:1 ... Елок 1 :М

Елок N: 1 ... БггокНМ

Рис. 3. Структура кодировки

На рис. 3 блоки "0:0, 0:1 и т. д." - это количество чередующихся сгруппированных заполненных либо пустых пикселей, по принципу "есть цвет - нет цвета".

Объём данных каждого элемента структуры

Ширина изображения 2 байта

Высота изображения 2 байта

Код цвета 3 байта, по байту на компоненту

Блок кодировки 1-4 байта, переменный

При максимальной длине блока кодировки в 4 байта алгоритм может обрабатывать изображение до 500 Мега пикселей.

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

Если закодировать некоторые наборы пикселей (рис. 2), представление Umbra, Top-surface и модифицированное множество A', то это будет выглядеть следующим образом:

Top-surface(A2,A3) = {1,1,2,2,1,1,2},{3,1,6}. Umbra(A2,A3) = {1,5,1,3},{2,2,4,2}. A'23 = {1,5,1,3},{3,1,6}.

Очевидно, что в последнем случае объём данных меньше.

Алгоритм декодирования. В алгоритм декодирования входит:

1. Прорисовка фона соответствующим цветом.

2. Переход от слоя к слою:

a. Перевод одномерных кодов в двумерные;

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

c. Прорисовка слоёв на изображении.

В основе декодирования лежит прорисовывание одних слоёв-подмножеств поверх других, в порядке, зарегистрированном при кодировании. При раскодировании блоки считываются с учётом их различной длины, кроме того, одномерный код каждого из слоёв отображается на сетчатку. То есть, воспроизводится разложение (2).

Отметим, что предлагаемый подход, использующий методы математической 3-D морфологии позволяет вычислять семейство функций

/*"(*)= ¿Сгзс;(*);£ = 1,2,...,л-1; хеХ.

i=k+1

Эта особенность метода позволяет решить следующую задачу. Допустим, нас интересует

только часть изображения, отличающаяся каким-то конкретным цветом или набором цветов. Рассмотрим следующий пример: при работе с физической картой местности, на которой цветом отмечены различные высоты, можно по запросу выделить интересующую область по интервалу высот, а "лишние" области изображения не передавать через канал связи (рис. 4). Для выделения интересующего слоя Ак нужно вычислить разность (х) - Д" (д). Если алгоритм декодирования выполняется на сервере по запросу клиента, то сокращается время передачи информации.

Рис. 4. Схема выделения и передачи отдельных информационных слоёв в изображении

Реализация и результаты

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

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

Результаты тестирования

BMP PNG GIF JPG (качество 3) JPG (качество 10) Новый алгоритм Рейтинг

657 Кб 95 Кб 48,1 Кб 69,9 Кб 143 Кб 40,1 Кб 1

1320 Кб 642 Кб 251Кб 49,4 Кб 209 Кб 504 Кб 4

405 Кб 149 Кб 138 Кб 71,8 Кб 146 Кб 167 Кб 4

533 Кб 69,6 Кб 48,5 Кб 36,7 КБ 65,4 Кб 46,6 Кб 2

408 Кб 30,6 Кб 30,5 Кб 26,6 Кб 47,8 Кб 15,1 Кб 1

а)

б)

г)

»ч»« И a

иа* ЛД.,.. M'fllaCWLIi  Can : 'rvH Щ

"T^l

д)

3

Рис. 5. Тестируемые изображения

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

Можно отметить основные отличия в сравниваемых алгоритмах:

также как и BMP является растровым представлением, однако изображение занимает меньший объём памяти;

максимальное количество цветов в GIF формате 256, тогда как в предложенном алгоритме хоть и используется устранение некоторых цветов для объединения в слои, но их количество может

быть большим. Цветопередача у предложенного алгоритма выше, а в некоторых примерах выше и степень сжатия;

по сравнению с JPEG высокого качества, у предложенного алгоритма лучше коэффициент сжатия, однако JPEG более низкого качества с потерей формы объектов занимает меньший объём памяти;

предложенный алгоритм близок к PNG, однако, в большинстве примеров показывает более высокую степень сжатия;

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

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

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

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Семенов Ю.А. Telecommunication technologies-телекоммуникационные технологии. 2007. URL: http:// book.itep.ru

2. Пытьев Ю.П. Морфологический анализ цветных изображений. 2005. URL: http://cityref.ru/ prosmotr/7518-0.htm

3. Пытьев Ю.П. Задачи морфологического анализа изображений. Математические методы исследования природных ресурсов Земли из космоса. Под ред. В.Г. Золотухина. М.: Наука. 1984.

4. Задорожный С.С. Морфологический анализ формы изображений. 2002. URL: http://www.butovo. com/~zss/bw_morf.html

5. Shapiro L.G., Stockman G. C. Computer Vision. Prentice Hall. 2001. P. 580.

6. Haralick R. M. and Shapiro L. G. Computer and Robot Vision. Addison-Wesley. 1992. Vol. 2. P. 453-507.

7. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. Диалог-МИФИ. 2003.

УДК 004.855.5

П.В. Трифонов

ПОВЫШЕНИЕ ТОЧНОСТИ БАЙЕСОВСКОГО КЛАССИФИКАТОРА

ТЕКСТОВЫХ ДОКУМЕНТОВ

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

обучаемых систем классификации текстовых документов.

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