УДК 004.932
СИНТЕЗ АЛГОРИТМА РАСПОЗНАВАНИЯ ИЗОБРАЖЕНИЯ НА ОСНОВЕ
ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ
Д.В. Табырца, С.А. Попов, Н.П. Малисов
В статье рассматривается подход к синтезу алгоритма распознавания контура изображения на основе существующих методов распознавания образов и использования теории вейвлет-анализа
Ключевые слова: распознавание, алгоритм, контур изображения, вейвлет-анализ
Распознавание изображений, полученных в результате приема пришедшей от распознаваемого объекта пространственно распределенной электромагнитной энергии, является одной из актуальных задач компьютерной обработки и распознавания изображений [1]. Одним из путей ее решения состоит в создании для обработки принимаемых изображений алгоритмов, использующих методы цифровой обработки данных. Однако вследствие трудоемкости известных алгоритмов распознавания возникает проблема обеспечения ее решения в реальном масштабе времени с высокой степенью качества. Предлагается новый алгоритм распознавания, полученный с использованием математического аппарата вейвлет-преобразования, который позволяет найти одно из решений данной задачи.
Вейвлеты являются подходящим средством для анализа различных нестационарных сигналов. К таким сигналам можно отнести и сцены изображений объектов. В первую очередь этот вывод обусловлен характером фонов изображения.
Благодаря возможности разбиения пространства сигнала на частотные поддиапазоны, а также пространственной ограниченности вейвлеты обладают большими преимуществами по сравнению с традиционными методами контурного анализа при обработке нестационарных сигналов, к которым можно отнести и изображения интересующих объектов.
В то же время вейвлет-преобразование гораздо проще в реализации, чем применявшиеся ранее методы и может применяться на всех стадиях выделения и распознавания контуров изображений.
Алгоритмы на основе вейвлет-анализа могут производить как стандартную для контурного анализа обработку изображений, так и адаптивную, менее восприимчивую к изменениям характеристик контура[2].
Одним из наиболее очевидных и простых способов обнаружения границ является дифференци-
Табырца Дмитрий Владимирович - ВАИУ, адъюнкт, тел. 8-910-746-77-96
Попов Сергей Александрович - ВАИУ, канд. техн. наук, доцент, тел. 8-919-238-81-93
Малисов Николай Павлович - ВАИУ, адъюнкт, тел. 8-910-738-29-78
рование яркости, рассматриваемой как функция пространственных координат. Очевидно, в двухмерном случае, если мы имеем изображение со значениями яркости / (х^ Х2), то обнаружение контуров, перпендикулярных оси Х1, обеспечивает
й й д/ взятие частной производной —, а перпендику-
дх
1
д/
лярных оси х2 - частной производной ----------. Эти
дх2
производные характеризуют скорости изменения яркости в направлениях х1 и х2 соответственно.
Можно вычислить производную и по произвольному направлению. Нам, однако, необходимо найти характеристику, позволяющую обнаружить контур независимо от его ориентации. В качестве такой характеристики, являющейся признаком наличия контура в локальной области, можно использовать градиент яркости: V/(х х^).
Так как направление нас не интересует, ограничимся рассмотрением модуля градиента:
=|/2+(1:)2 ■ (1)
Отметим, что для вычисления модуля градиента вместо производных д / дх^ и д / дх2 можно
брать производные по любой паре перпендикулярных направлений. Итак, для выделения контура произвольного направления можно использовать модуль градиента поля яркости. В случае цифровых изображений, представленных матрицей отсчетов, вместо производных берутся дискретные разности: д/ (х, х2)
--------- и 5 (п , п ) = /(п , п ) - /(п -1, п ) , (2)
дх ГГ ^ ■'М’ г Л1 ’ г’’ у ’
д/ (х, х2)
--------- и 5 (п , п ) = /(п , п ) - /(п , п - 1) . (3)
дх2 24 Г Г -1 у \’ г’ у М’ 2 ’ у ’
Тогда преобразование, выделяющее перепады яркости, будет заключаться в вычислении модуля
«дискретного градиента изображения» / (п , п^):
g(И, п2) ^[51(п1,п2)]2 +[52(п1,п2)]2 . (4)
Видно, что это вычисление производится в два этапа. Сначала изображение обрабатывается двумя двумерными фильтрами для получения дискретных разностей. Импульсные характеристики этих систем, соответствующие размерам 2x1 и 1x2, имеют вид:
^-1) и (-1 1). (5)
На втором шаге вычисленные разности нелинейным образом комбинируются для получения g (п^,п2). При реализации процедуры детектирования контуров стараются избегать трудоемких операций типа умножения и извлечения квадратного корня. Поэтому используют выражения, вычисляемые проще, аппроксимирующие дискретный градиент. Чаще всего модуль градиента заменяют выражениями [2]
£(П1,П2 )= К (п1,П2 ) + ^2 (п1,П2 ) (6)
или
€п1,п2 ЬК (п1,п2 К (п1,п2 )}. (7)
Следует заметить, что такие приближения градиента уже не являются одинаково чувствительными к границам с любой ориентацией. Действительно, для строго вертикальных или горизонтальных границ все три формулы (4), (6) и (7) дают одинаковые результаты. Но для границы с наклоном 45°, при котором п^,п2)=«2(п\,п2), имеем:
51(п1,п2)]2 +[52(п:,п2)]2 = л/2 |«1(п1,п2) ,
|«1 (п^,п2 )| +|«2 (п,п2 )|=2|«1 (п^,п2 )|, шах!«!(п^ ,п2),«2 (^ ,п2 )}=|«1 (} ,п2 )| .
Приближенные значения градиента отличаются от точного в раз. Однако такие вариации на
практике считаются приемлемыми.
Общим недостатком рассмотренного выше метода выделения перепадов яркости является высокая чувствительность к шуму. Это объясняется тем, что действие разностных операторов состоит в вычислении и комбинировании разностей отсчетов в пределах «окна» малых размеров. Каждая разность вычисляется непосредственно по отсчетам, поэтому шум на изображении попадает в результат преобразования с усилением.
В то же время сам подход к выделению контуров с помощью локальных преобразований изображения скользящим окном представляется довольно естественным и очень удобным для реализации. Можно, сохранив достоинство дифференциальных методов, повысить их помехоустойчивость, если перед применением дифференциального оператора применить сглаживание значений яркости в пределах окна, то есть согласовать с ними некото-
рую поверхность первого или второго порядка. Такой подход реализуется дифференциальными методами с согласованием.
Рассмотрим метод согласования на примере обработки изображения окном 2x2. Учтем, что дискретное изображение получено из непрерывного:
х1 =Ап1
/ (п1= п2 ) = / (х1> х2)
х2 =Ап2
По наблюдаемым значениям яркости в пределах выбранного «окна»
( / (п1 -1, п2-1) / (п1 -1’п2) Л
(/(п1,п2 -1) /(nl,п2) )
построим на нем аппроксимирующую плоскость:
J€(xl, х2 ) = ах1 + Ьх2 + с (8)
Если плоскость построена, то есть определены коэффициенты а, Ь , и с, а значит известны част-
/х1,х2, ) дЯх1х2, )
ные производные,
\х1,х 2, дх1
• = а.
дх
= Ь
2
то можно вычислить искомый модуль градиента, который служит признаком локального перепада яркости:
VfXx1 х2 ) = V а2 + Ь
(9)
При построении плоскости удобнее всего воспользоваться методом наименьших квадратов. При поиске коэффициентов будем минимизировать величину:
82 =
+
[Я^ п2 )-/ (хl, п2 )! + €п1 - 1, п2 )-/(п1 - 1 п2 )] + f{nl, п2 - 1)-/( п2 - 1)2 + [.^п1 - 1, п2 - 1) - / (п1 - 1, п2 - 1)) .
Для любого положения окна коэффициенты будут определяться одинаковыми функциями отсчетов, поэтому возьмем окно при »1 = п2 =1, для
которого все выкладки будут более компактными. Итак, на рассматриваемом окне:
е2 =[а+Ь+с - / (1,1) ]2 +[Ь+с - / (0,1) ]2 +
+[а+с - / (1,0) ]2 +[с - / (0,0) ]2
В точке минимума все производные погрешности аппроксимации по коэффициентам равны
де2 0 нулю: ----=0
да
де
2
=0 ,
де
2
=0
откуда
дЬ дс
2а+Ь+2с=/(1,1)+/(1,0), а+2Ь+2с=/(1,1)+/(1,0),
а+Ь+2с=2( / (1,1)+/(0,1)+/(1,0)+/(0,0))
2
Окончательно выражения для коэффициентов будут иметь вид
а=2( / (1,1)+/(1,0) - / (0,1) - / (0,0)),
ь=2( / (1,1)+/(0,1) - / (1,0) - / (0,0)). (10)
Коэффициенты а,Ь могут быть вычислены путем линейной обработки изображения масками 2x2, что равнозначно усреднению дискретных разностей по окну 2x2 . При этом градиент менее чувствителен к шуму.
Теперь рассмотрим одномерное вейвлет-преобразование. В качестве базового вейвлета выберем вейвлет Хаара, как наиболее простой. Данный вейвлет в своем составе имеет две функции, аппроксимирующую р^) и детализирующую |//(/), представленные на рисунке. В теории сигналов данные функции рассматривают как фильтры низких и высоких частот соответственно, а в общем вейвлет является квадратурным зеркальным фильтром.
Ф(0
1 1.1’ —
0.5- ^ (‘) 1
0 2
1 “2 0 1 2 -1.1-1 1
Аппроксимирующая и детализирующая функции вейвлета Хаара
Для вейвлета Хаара коэффициенты преобразования ап-1 ^ и dn - ■, в дискретном случае, вычисляются следующим образом
ап-1, j =х^+1+х^, j=0,...,2п-1 -1, (11)
dn-1,у =х^1_22/±1, j=0,...,гn-1-1, (12)
Из данных уравнений можно получить значения ИХ низкочастотного и высокочастотного фильтров вейвлета. Обозначим ИХ низкочастотного фильтра как Ь=<!—^,—^ I, а высокочастотного
172 ->/2 ]
как Н=
\____1_
172’ 72]'
Во время преобразования высокочастотный фильтр пропускает только определенный диапазон высоких частот, в то время как на низкочастотном именно этот диапазон не пропускается. Если же пропустить через высокочастотный фильтр результаты низкочастотной фильтрации, получим выделение второго высокочастотного диапазона, но отличающегося от первого более низкой частотой.
Все вышесказанное справедливо для одномерного случая. Однако изображения являются двумерными сигналами, поэтому применение к ним одномерного преобразования наталкивается на ряд сложностей. Конечно, можно представить изображение длинным одномерным сигналом, или обрабатывать его по строкам или столбцам. Но в этом случае есть риск нарушить структуру изображения.
Выходом является многомерное вейвлет-
преобразование. Его получение займет не намного больше времени, чем одномерное. Рассмотрим один из способов его получения на примере наиболее распространенного двумерного случая.
Для получения двумерного вейвлет-
преобразования можно воспользоваться следующим методом: сначала находится вейвлет-
преобразование по строкам, а потом полученный результат подвергается повторному вейвлет-
преобразованию по столбцам. Аналогично можно получать результаты преобразования и для больших размерностей. Основным преимуществом данного метода является простота реализации, а именно возможно использование тех же функций, что и для одномерного случая. В результате двумерного преобразования получаются четыре вида коэффициентов. Это вызвано тем, что к каждой группе коэффициентов применяется последовательно по два фильтра высоких или низких частот соответственно. Введем в качестве обозначения каждой группы последовательность фильтров применявшихся для ее получения, при этом для удобства чтения введем порядок слева направо. В соответствии с введенными обозначениями получим следующие группы коэффициентов: ЬЬ, ЬН , НЬ , НН . Наибольший интерес, в рамках рассматриваемой темы, представляют коэффициенты ЬН и НЬ . Рассмотрим процесс их формирования. Для этого возьмем матрицу пикселов изображения 2x2, необходимую для формирования одного коэффициента. Данная матрица будет иметь вид:
( / (0,0) / (1,0)) [/(0,1) /(1,1) Л.
Согласно с предложенным методом запишем выражение для коэффициента ЬН :
ЬН=1 / (0,0)+/(1,0) )_Г / (0,1)+/(1,1)
72 ' 72 А 72 ' 72 '• (13)
Упростив выражение, получим:
ЬН =-(/(1,1)+/(0,1) - / (0,0) - / (1,0)). (14)
Сравнив данное выражение с (5.10), видим, что ЬИ отличается от Ь только знаком и коэффициентом перед скобкой. Аналогично можно показать близость НЬ к а .
Из приведенного примера следует, что коэффициенты ЬН и НЬ можно использовать для нахождения градиента и реализовать стандартный дифференциальный метод выделения контура объекта.
Но простой дифференциальный метод не отражает всех возможностей вейвлет-преобразования. Благодаря кратномасштабному анализу оно дает возможность выделять контуры даже при сильно размытом изображении [3]. Как известно, при размытии изображения граница между ним и фоном переходит из области высоких в область средних и низких частот. Этот факт делает невозможным ее определение с помощью обычных методов, базирующихся на основе анализа высокочастотной составляющей спектра изображения. В то же время вейвлет-преобразование разбивает пространства сигнала на составляющие подпространства, характеризующиеся определенными частотными характеристиками. В сумме эти подпространства покрывают весь диапазон частот изображения. Следовательно, существует возможность построить по одной и той же схеме фильтры как высоких, так и средних частот для анализа структуры изображения.
Построим алгоритм обнаружения границы изображения на основе вейвлет-преобразования. Очевидно, что сначала необходимо произвести вейвлет-преобразование. Произведем его до максимально возможного уровня. Казалось бы, что для обнаружения начальной точки изображения нам необходимо применить диадное преобразование, однако, благодаря возможности кратномасштабного анализа, мы применим стандартный пирамидальный алгоритм, чем значительно сократим количество требуемых операций. Другой положительной стороной является сокращение количества проверяемых элементов в два раза. На первоначальном этапе обнаружения необходимо задать основные характеристики фильтра: частотный интервал нахождения границы изображения и приоритеты для каждого частотного диапазона. Примем положение, что значения приоритетов могут возрастать только в одном направлении.
Каждый новый уровень вейвлет-
преобразования можно представить как более грубую аппроксимацию функции яркости / (х, у) и значения производных на ней. Так как вейвлет-преобразование разбивает эту функцию на поддиапазоны, характеризующиеся своей средней частотой а>с, то каждый уровень детализирующих коэффициентов характеризует особенности данной функции с данной частотой.
Соответственно, так как вейвлет-
коэффициенты покрывают весь частотный диапазон возможного нахождения границы, то обнаружение границы сводится только к выбору коэффициента нужного уровня. Для этого и нужны приоритеты.
Рассмотрим систему обнаружения границы изображения. В качестве признака наличия или отсутствия границы примем значение модуля градиента, получаемого из коэффициентов ЬН и НЬ , путем равнения его с порогом. Начинать фильтрацию следует с уровня имеющего наименьший при-
оритет. Это вызвано тем, что таких коэффициентов меньше всего, а коэффициенты более низких уровней похожи на коэффициенты более высоких уровней. При нахождении на уровне коэффициента превосходящего порог необходимо проверить, нет ли коэффициентов с более высоким приоритетом, так как каждому уровню более высокого уровня соответствует четыре коэффициента более низкого уровня. Это достаточно легко сделать.
По достижении самого значимого уровня, превосходящего порог, полагаем, что найдена точка начала контура, за нее примем центр области использовавшейся для получения коэффициента.
Таким образом, мы получили алгоритм, основной отличительной чертой которого является адаптация по частоте, так как одновременно рассматриваются все частотные составляющие функции яркости, а решение принимается в соответствии с выбранным уровнем значимости. Распишем полученный алгоритм по шагам:
Шаг 1: Определяем границы частотного диапазона нахождения границы и устанавливаем значение приоритета для каждого уровня преобразования попадающего в этот диапазон.
Шаг 2: Производим вейвлет-преобразование изображения до заданного уровня.
Шаг 3: По полученным коэффициентам определяем значение модуля градиента.
Шаг 4: Определим значения порога для каждого уровня.
Шаг 5: Начиная с уровня с наименьшим приоритетом, производим сравнение коэффициентов с порогом.
Шаг 6: Если коэффициент превышает порог, то смотрим коэффициенты более значимого уровня. Если нижний уровень отсутствует, то принимаем решение об обнаружении контура.
Шаг 7: При отсутствии на уровне коэффициентов превышающих порог переходим на нижестоящий уровень. При отсутствии такового принимаем решение об отсутствии контуров изображений.
Алгоритм выделения границ изображения будем строить на основе алгоритма его обнаружения. Для большей корректности описания контура примем, что он является бесконечно тонкой линией, проходящей между пикселями. Во-первых, это соответствует определению. Во-вторых, устраняется неопределенность в плюс минус один пиксель.
Для достижения этой цели откажемся от традиционной координатной сетки с узлами в центрах пикселов и перейдем к новой, с узлами в их углах пикселов. Таким образом, в новых координатах изображение имеет размер (п-1^(п-1). Данная
координатная сетка хорошо согласуется с результатами вейвлет-преобразования. Так как один вейвлет-коэффициент первого уровня получается на основе четырех пикселей, то его центр является узлом новой координатной сетки. Аналогично, к данной координатной структуре относятся и центры коэффициентов более высоких уровней. В ито-
ге, облегчается процедура обнаружения и выделения контуров, и появляется объединять в одном пространстве различные частотные поддиапазоны, что является основополагающим для данного алгоритма.
Описание алгоритма. По своей сути он похож на алгоритм обнаружения контура изображения. Основным отличием является возможность движения не только в сторону большего приоритета, но и в сторону меньшего. Это важно, так как мы начинаем с уже известного частотного поддиапазона и должны, по мере изменения характера границы, производить его адаптацию. Чтобы упростить алгоритм, возьмем пороговые уровни из алгоритма обнаружения контура. Это можно сделать, полагаясь при условии, что количество коэффициентов достаточно велико. Распишем алгоритм по шагам.
Шаг 1: Производим вейвлет-преобразование на том же уровне вокруг текущего коэффициента со смещением на один пиксель в направлении движения часовой стрелки.
Шаг 2: Если обнаружен коэффициент, превышающий порог, то производим спуск на один уровень и просматриваем коэффициенты, примыкающие к базовому. Если уровня внизу нет, то принимаем решение об обнаружении следующей точки контура.
Шаг 3: Если на данном уровне не обнаружены превышающие порог коэффициенты, то поднимаемся на уровень вверх. Если данная ситуация возникает на последнем уровне, то принимаем решение об отсутствии точки контура.
Данный алгоритм достаточно прост в реализации и ничем не уступает другим применяемым алгоритмам.
В ходе этапа выделения контура изображения объекта наблюдения, формируется комплекснозначный код контура Г={;г(п)}п = 0-к_1. На его основе необходимо принять решение о принадлежности изображения к одному из заданных классов N o,Nl,..., т_1.
На вход системы обработки чаще всего поступает эталонный контур объекта наблюдения, а зашумленный и подверженный различным преобразованиям с неизвестными параметрами контур
Z(c) =Г(с) +К , где N - шумовой контур.
Как уже было рассмотрено выше, неизвестные параметры преобразований препятствуют точному определению класса изображения, и для получения достоверных результатов требуется удаление их влияния. Предположим, что нас не интересует информация о параметрах преобразования, тогда оптимальным решением задачи является применение инвариантного к преобразованиям описания контура.
Одним из вариантов такого описания являются модули коэффициентов вейвлет-разложения контуров. При этом нет разницы, какие это коэффициенты: аппроксимирующие или детализирую-
щие. Модули зависят от угла поворота соседних элементарных векторов друг относительно друга и их длины и не зависят от ориентации контура в пространстве, кроме того, они носят чисто вещественный характер.
При рассмотрении теоретических основ обработки и ее методов рассматривался алгоритм эква-лизации контуров, в результате работы данного алгоритма контур представляется в виде п элементарных векторов равных по модулю. Это открывает возможность построить однозначную зависимость угла между векторами от величины модуля коэффициента и может послужить для различных структурных методов анализа изображений.
Все это, а также разбиение контура на частотные поддиапазоны дает огромные возможности для анализа кода контура. Заметим, что хотя модули коэффициентов и дают информацию об углах поворота элементарных векторов друг относительно друга, но эта информация обладает двойственностью и позволяет определить угол в диапазоне от 0° до 180° Для определения угла в диапазоне от 0° до 360° необходимо ввести знаковую функцию. В качестве нее может быть взят синус от разницы аргументов двух комплексных чисел использовавшихся при преобразовании.
Из всего вышесказанного вытекает огромное множество различных алгоритмов распознавания и анализа контуров изображений. Остановим свое внимание на одном из алгоритмов, учитывающем частотно-пространственное представление контура.
Шаг 1: Находим норму контура и производим нормирование вектора Г.
Шаг 2: Производим диадное одноуровневое вейвлет-разложение нормированного комплекснозначного вектора Г .
Шаг 3: Находим вектор, состоящий из модулей коэффициентов разложения (высоко- или низкочастотных).
Шаг 4: Находим к расстояний между аппроксимирующими коэффициентами эталонного контура і -го класса N и полученного контура Ъ путем
сдвига последнего на один элементарный вектор.
Шаг 5: Выбираем минимальное из расстояний в качестве расстояния от распознаваемого изображения до і -го класса.
Шаг 6: Выбираем к/2 коэффициентов соответствующих пакетному разложению в соответствии с выбранным началом контура.
Шаг 7: Производим дальнейшее разложение до достижения максимального уровня.
Шаг 8: Составляем результирующий вектор из значений модулей коэффициентов разложения.
Шаг 9: Находим расстояние между данным вектором и вектором эталонного контура.
Шаг 10: Сравниваем полученное значение с порогом. При его превышении принимаем решение о принадлежности к данному классу иначе о принадлежности к классу шумовых контуров.
приблизить его к реальному масштабу времени, что дает возможность перейти от использования многоканальной по числу эталонов структуры к одноканальной, а это обеспечивает значительное снижение аппаратурных затрат.
Литература
1. Фисенко В.Т. Компьютерная обработка и распознавание изображений: учебное пособие. - Спб: СпбГУ ИТМО, 2008 - 192 с.
2. Фурман Я.А. Введение в контурный анализ; приложения к обработке изображений и сигналов - М. Физмалит, 2003-592с.
3. Штарк Г.Г. Применение вейвлетов для ЦОС.- М. Техносфера, 2007-192 с.
Военный авиационный инженерный университет (г. Воронеж)
SYNTHESIS ALGORITHM OF RECOGNITION THE IMAGE ON THE BASIS
WAVELET-TRANSFORMATION
D.V. Tabyrtsa, SA. Popov, N.P. Malisov
In this article is the approach to syntheses of algorithm of recognition of a contour of the image on the basis of existing methods of recognition of images and the use of the theory of the wavelet-analysis.
Key words: recognition, algorithm, contour of image, wavelet-analysis
Данный алгоритм позволяет не только определять класс контура но и производить распознавание близких по форме изображений. Это достигается за счет использования при распознавании определенных частотных поддиапазонов. Данный учет может производиться за счет весовой функции, в которой для каждого диапазона задан вес, характеризующий влияние его на расстояние до класса.
Положительной стороной данных алгоритмов является возможность построения достаточно простого и эффективного программного комплекса автоматизированных систем анализа изображений, за счет использования полученных результатов обработки изображений в дальнейшем. Это позволяет существенно снизить время идентификации и