Имеем
ОООDОDО^> OOODO^ OOO.
Слой 8 (Правило O:=OO)
1) Ожидаем O O.type = AB.
Имеем ООО^ OO ^ O O.type = AB .
Строка разобрана.
Описанная слоевая грамматика также была испро -бована в задаче подсчета максимальной степени уравнения для определения метода его решения (как квадратного или линейного).
4. Сравнение с аналогами и результаты
Для решения рассмотренной в примере задачи разбора алгебраических выражений можно предложить другие типы грамматик. Например, LL1, ССП(слабой стратегии предшествования). Ниже приведены данные сравнения этих грамматик.
Кол-во Необходимость
правил преобразования
<LL1> 22 ДА
<СПГ> 21 НЕТ
<СГ> 15 НЕТ
Как видно, СГ выигрывает в количестве правил, у нее отсутствует необходимость дополнительного преобразования для работы распознавателя и возможно распараллеливание. При этом в грамматике данного примера отсутствуют все приведенные в начале статьи недостатки, чего нельзя сказать о двух других типах.
5. Выводы
Представленная СГ иногда способна частично, полностью устранить недостатки существующих типов (невозможность распараллеливания, уменьшение необходимости преобразований, разделение представления одного семантического объекта на несколько нетерминалов). Благодаря разделению на слои уменьшается количество потенциальных конфликтов выбора между правилами в процессе вывода, что приводит к ослаблению, а иногда и исключению вообще необходимости преобразовывать исходные правила. Из-за использования атрибутов, поиска на каждом шаге подстроки для замены (при восходящем разборе) анализ с помощью такого типа грамматик замедляется по сравнению с классическими типами. Но эти потери могут быть оправданы целями, поставленными разработчиками анализа.
Литература: 1. Grune Ceriel Jacobs Parsing Techniques. A Practical Guide DICK. 1998. 2. Льюис Ф, Розенкранц Д, Стирнз Р. Теоретические основы проектирования компиляторов М.:Мир, 1997. 654 с. 3. Josef Grosch. Cocktail Toolbox for Compiler Construction. Object-Oriented Attribute Grammars Achern, Germany: CoCoLab — Datenverarbeitung. 1994. 40 с. // www.cocolab.com 4. Тэйз А., Грибомонт П, Льюис Дж. Логический подход к искусственному интеллекту М.: Мир, 1990. 429 с.
Поступила в редколлегию 21.03.2003
Рецензент: д-р техн. наук, проф. Шабанов-Кушнаренко С.Ю.
Лещинская Елена Леонидовна, студентка 5-го курса специальности ПОАС ХНУРЭ. Научные интересы: проектирование и разработка трансляторов, САПР, систем ИИ, ДБ и БЗ. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-16-46; 24-39-25; e-mail: leo@starnet.com.ua, leshinskayahelen@yahoo.com
УДК 681.327.12.001.362
ФИЛЬТРАЦИЯ ЛОКАЛЬНЫХ ПОМЕХ И ШУМА НА ЭТАПЕ, ПРЕДШЕСТВУЮЩЕМ ПРОЦЕССУ СЕГМЕНТАЦИИ
ГАРЯЧЕВСКАЯ И.В.______________________
Рассматриваются вопросы выбора методов сглаживания цветного изображения, применимых на этапе, предшествующем выделению контуров. Описывается разработанный метод, проводящий «мягкое» сглаживание, без нарушения структуры изображений. Сглаживанию подвергаются только однородные участки изображений, а грани и углы объектов после выделения контуров остаются четкими и не размытыми.
1. Введение
Ряд задач обработки сложных изображений связан с поиском объектов характерной формы. К таким задачам относятся: обнаружение и опознавание цели в телевизионных системах наблюдения; обна-
ружение и отслеживание перемещения транспортных средств в реальных условиях в реальном масштабе времени; распознавание произвольно расположенных на листе символов (например, букв и условных знаков на географической карте) и др. Основной особенностью этого типа задач является наличие небольшого числа эталонных изображений (силуэт автомобиля, профиль детали). Существенной характеристикой объекта является его форма, а не линейные размеры, положение в пространстве и т.д. В общем случае под обработкой изображений можно понимать низкоуровневую обработку и непосредственно распознавание. К низкоуровневой (предварительной) обработке изображений можно отнести борьбу с помехами (локальными и шумом), выделение объекта из фона (сегментация), выделение контуров объекта и его деталей для осуществления перехода в пространство признаков и проведения непосредственно распознавания. Борьба с помехами— это первый этап, повышающий качество входного изображения.
108
РИ, 2003, № 4
Под повышением качества исходного изображения будем понимать такую обработку последнего, в результате которой последующее выделение контуров даст наилучший результат с точки зрения визуальной оценки. При этом исходное изображение (объект исследования) не обязательно должно быть подвергнуто воздействию локальных помех или шума. Очень часто возникает ситуация, когда предварительной обработке фильтрами должно подвергаться не зашумленное изображение. Причиной сказанного выше служит то обстоятельство, что в цветных изображениях с помощью цвета пытаются передать дополнительную информацию, касающуюся объема и формы объекта. В этом случае в пределах одного объекта, как правило, происходит частая смена цветов, в результате чего объект начинает приобретать объем. Если при этом попытаться непосредственно выделить контур без предварительной обработки изображения каким-либо фильтром (выбор типа фильтра определяется конкретным видом изображения), то в результате мы получим не только выделенный контур объекта в целом, но и контуры каждой области однородного цвета. Поскольку на реальных изображениях смена цветов происходит очень часто, то после выделения контура область, ограниченная основным контуром, будет «изрезана» контурами областей однородных цветов (либо одинаковых яркостей, если выделение контура осуществлялось по одной из составляющих цветного изображения).
Для исследований выделяем следующие задачи: подавление импульсного шума и локальных помех; выравнивание значений тона в однородных областях с сохранением структуры изображения.
2. Анализ основных достижений и публикаций
За долгие годы было разработано большое количество методов и алгоритмов фильтрации, опубликованных в литературе.
Простейший алгоритм подавления шума — это скользящий усредняющий (или прямоугольный) фильтр [1]. Для сглаживания обычно выбирают маску некоторого размера и строят сглаженное изображение в виде свертки исходного изображения с маской, например:
1
9
1 1 1 1 1 1 1 1 1 2 1
1 1 1 F = — 1 2 1 F = — 2 4 2
1 1 1 2 10 1 1 1 3 16 1 2 1
Легко заметить, что каждая маска удовлетворяет основному требованию к маскам сглаживающих фильтров, а именно: центральный элемент каждой маски не меньше любого из остальных, сумма всех элементов, с учетом коэффициента, равна 1. Все элементы, входящие в состав маски, являются положительными числами.
Фильтр Гаусса похож на прямоугольный фильтр, но значениям соседей приписываются различные веса, определяемые пространственным гауссовым распределением. Фильтр Гаусса вероятно наиболее распространенный алгоритм подавления шума. Он
включен в модель многих алгоритмов, например в определитель границ Кенни [2]. Фильтр Гаусса — один из самых популярных, использующийся как составляющая часть многих алгоритмов выделения границ. При его работе происходит значительное подавление шума, но сильно изменяется структура изображения. В частности, тонкие линии (особенно толщиной в два пикселя) и острые углы значительно искажаются.
Для подавления локальных помех используются медианные фильтры [3], в основе которых лежит алгоритм перебора и упорядочивания элементов массива (одномерного либо двумерного) по неубыванию либо по невозрастанию. Значение цвета, оказавшегося в результате перестановок на центральном месте окна, называется медианой. Именно этим значением заменяется цвет точки растра, находящейся в данный момент под центральным элементом окна медианного фильтра. Этот фильтр предназначен для подавления локальных помех, но при небольших размерах окна происходит подавление импульсного шума (при этом часто значение цвета центральной точки окна не учитывается). Одним из самых больших недостатков медианного фильтра является «скругление» острых углов структур изображения; кроме того, линии, ширина которых не превышает половины ширины окна, исчезают, что действительно неприемлемо при условии дальнейшего выделения контуров.
Для подавления помех с сохранением структуры изображения был разработан фильтр SUSAN [5]. Основным объектом, используемым этим фильтром, является круглая маска с центральным пикселем, именуемым «ядром». Точки, яркость которых приблизительно равна (сходна) яркости ядра, составляют так называемую «область значений, сходных с ядром» или USAN. Концепция ассоциации некоторой точки с локальной областью, имеющей подобную яркость,— основа метода SUSAN. Эта область включает много важной информации о структуре изображения вокруг некоторой точки. Из размера и положения области SUSAN могут быть определены границы (одномерные характеристики) и углы пересечения (двумерные характеристики). Недостатком этого фильтра является его беспомощность при удалении импульсного шума, однако он лучше других сохраняет структуру изображения.
Все изложенные выше методы подавления помех не могут быть применимы в случае последующего выделения границ, так как предварительное подавление помех не подчеркивает, а размывает границы объектов на изображении. Однако выделение контура из исходного изображения дает много лишних контуров. Решение может быть найдено в генерации лучших свойств сглаживающих фильтров и фильтров, направленных на удаление шума и локальных помех с сохранением структуры изображения.
РИ, 2003, № 4
109
3. Постановка задачи исследования
Цель проводимого исследования — выбрать из существующих фильтров наиболее подходящие для подавления шума и локальных помех с обязательным сохранением структуры изображения; произвести объединение лучших черт существующих фильтров для создания фильтра, удовлетворяющего поставленной задаче, а также адаптировать его для обработки цветного изображения.
4. Реализация
За основу был выбран фильтр SU SAN как наиболее точно сохраняющий структуру изображения. Алгоритм подавления шума SUSAN, как и некоторые существующие технологии фильтрации изображений, сохраняет структуру изображения за счет сглаживания с использованием только тех соседей, которые составляют часть «однородного региона» с центральным пикселем. Фильтр SUSAN вычисляет среднее значение всех точек в области, лежащей внутри USAN. Обычно центральная точка исключается из рассмотрения, что позволяет подавить несильные импульсные отклонения яркости. Очевидно, что USAN включает наибольшее число подходящих соседей для нахождения среднего значения, не затрагивая никакие точки независимых регионов. Таким путем сохраняется структура изображения.
В отношении устранения размытости границ на изображении ясно, что на смазанных границах точки будут перетянуты в область, с которой их значения ближе. Таким образом, фильтр SUSAN может значительно улучшить качество изображения, не изменяя его структуру. Другой особенностью является то, что применяя фильтр итеративно, можно получить более сильное подавление шума без потери качества изображения (обычно более сильному подавлению шума соответствует большее смазывание структуры исходного изображения). Кроме того, уровень сглаживания не влияет на локализацию характеристик, что выгодно отличает его от других фильтров, например медианного. К недостаткам можно отнести то, что подавление импульсного шума данным фильтром затруднено (в случае появления импульсного шума площадь области USAN равна 1, т.е. включает только ядро, а потому никаких изменений с этой точкой не будет произведено).
Приведенный фильтр изначально был разработан для обработки монохроматических изображений. Непосредственное применение данного фильтра к цветным изображениям приводит к сильному искажению цветов. Причина этого заключается в следующем. В системе RGB каждый цвет кодируется тремя байтами, которые часто записывают одним числом в виде ОхХХХХХХ (префикс 0х указывает на то, что число записано в шестнадцатеричной системе исчисления, Х — шестнадцатеричная цифра). Два младших разряда этого числа
(нулевой байт) определяют яркость красной составляющей цвета. Два следующих разряда этого числа (первый байт) определяют яркость зеленой составляющей цвета. Последние два разряда (второй байт) — яркость синей составляющей цвета. Отсюда видно, что яркость ни одной из составляющих не может превышать значения 255 (что соответствует значению 0xFF в шестнадцатеричной системе). Если применять сглаживающий фильтр непосредственно к цветному изображению, то при сложении цветов нескольких точек в процессе свертки значения яркостей некоторых составляющих могут превысить величину 255, в результате чего происходит перенос в старший разряд, т.е. искажается составляющая, расположенная в старшем байте.
Решение этой проблемы лежит в разложении исходного изображения на составляющие. После этого каждая составляющая подвергается обработке выбранным фильтром. Затем обработанные составляющие складываются, и на выходе получается сглаженное цветное изображение.
Как уже было отмечено, за основу разрабатываемого метода подавления шумов на цветных изображениях был выбран фильтр SUSAN, как наиболее точно сохраняющий структуру исходного изображения. Однако данный фильтр не предназначен для удаления импульсного шума, потому было предложено следующее решение: изображение обрабатывается фильтром SUSAN; в случае, когда область USAN меньше некоторого порога, применяется двумерный медианный фильтр с размером окна 3 на 3 и центром в точке ядра SUSAN.
Полученный метод обладает всеми достоинствами фильтра SU SAN, в частности— точное сохранение структуры изображения (границы однородных областей, линии и их пересечения, углы), причем сохраняется как форма, так и расположение свойств. Фильтр хорошо подавляет импульсные шумы. Применяя его итеративно, можно добиться уровня шума, близкого к нулю. При этом он не наследует недостатки медианного фильтра, такие как сглаживание углов и удаление тонких линий.
5. Тестирование
Испытания проводились как на тестовых задачах, так и на реальных изображениях.
На рис. 1, а исходное изображение красного автомобиля на сложном фоне.
Выделение контуров непосредственно из исходного изображения приводит к появлению большого количества контуров, которыми изрезан фон и сам объект (рис.1,г). Выделение границ объекта на таком изображении затруднительно. Результаты сглаживания фильтром SUSAN представлены на рис.1,б, а работа сглаживающего фильтра — на рис.1,в. Результаты выделения контуров на сглаженном изображении представлены на рис.1, д и е соответственно.
110
РИ, 2003, № 4
а г
б д
в е
Рис.1. Изображение автомобиля: а — исходное изображение; б — изображение, сглаженное фильтром SUSAN; в — изображение, полученное после сглаживающего фильтра; г —контуры, выделенные из реального изображения; д — контуры, выделенные из сглаженного изображения фильтром SUSAN; е — контуры, выделенные после сглаживающего фильтра
Оба фильтра сократили количество линий. Визуально трудно определить, какой из них работает лучше и лучше сохраняет структуру изображения. Однако если процедуру сглаживания произвести несколько раз (для фильтра SUSAN 8 раз, для сглаживающего фильтра 6 раз), то даже визуальная оценка свидетельствует о том, что после сглаживающего фильтра изображение выглядит размытым, в то время как после многократного применения фильтра SUSAN изображение объекта четко выделяется из смазанного фона. Результаты приведены на рис 2, а, б.
а в
б г
Рис 2. Процедура сглаживания:а — изображение после 8 — разового применения фильтра SUSAN; б — изображение после применения сглаживающего фильтра 6 раз; в — контур SUSAN; г — контур после сглаживающего фильтра РИ, 2003, № 4
Выделенные впоследствии контуры выглядят уже совершено по-разному. После сглаживающего фильтра большая часть контуров потеряна (рис. 2, в), в то время как многократное применение фильтра SU SAN не нарушило целостность контура (рис. 2, г).
Одной из тестовых задач был квадрат, представленный на рис. 3, а.
На изображение был добавлен случайный импульсный шум (рис. 3, б). Значение яркости плавно меняется и внутри квадрата, и снаружи. Задача проведения теста: сгладить перепады яркости, устранить импульсный шум и выделить контур, не нарушив структуру объекта. Для тестирования использовались сглаживающая (скользящая) маска, медианный фильтр, фильтр Гаусса, фильтр SUSAN и разработанный фильтр, описанный в этой статье. На рис.4 даны фрагменты изображения, представленного на рис. 3 (верхний левый угол квадрата).
а б
Рис 3. Квадрат: а — исходное изображение; б — изображение, подвергшееся случайному импульсному шуму
Это тестирование наглядно показывало, что, как и было отмечено выше, медианный фильтр почти полностью (лучше других) справился с импульсным шумом (рис.4,а), но полученный контур (рис.4,б) имеет недостаток: скруглились углы. Фильтр SU SAN (рис.4,в) совсем не смог справиться с импульсным шумом, но не повредил структуру изображения (рис.4,г). Сглаживающий фильтр, справился плохо с шумом (рис.4,д) и выделенный после этого контур искажен (рис.4,е). Фильтр Гаусса, так же как и медианный, почти подавил импульсный шум (порог больше 1) (рис.4,ж), но полученный контур после такой фильтрации хуже, чем у остальных (рис.4,з). Результаты, полученные после разработанного фильтра, выглядят вполне удовлетворительными. Как уже было отмечено, разработанный фильтр — это генерация двух фильтров : медианного и SU SAN, в результате его работы импульсный шум практически удален (рис.4,и). В то же время четко сохранилась структура объекта, и полученный контур не имеет существенных недостатков (рис.4, к).
111
а
в
г
Д
ж
и
Рис.4. Результаты фильтрации и выделенный после этого контур разностным оператором
6. Выводы и перспективы дальнейших разработок в данном направлении
В результате проведенных исследований было установлено, что применения двумерного медианного фильтра с размером окна 3 на 3 и центром в точке ядра области U SAN фильтра SU SAN дает наиболее хорошие результаты. Предложенный метод объединения двух этих фильтров в один производит «мягкое» сглаживание, не нарушая структуру изображений. Сглаживанию подвергаются только однородные участки изображений, а грани и углы объектов остаются четкими и не размытыми. При этом он лишен таких стандартных для сглаживающих фильтров недостатков, как удаление значащих контуров и «скругление» углов. Метод разработан с учетом специфики цветных изображений и не приводит к искажению тона локальных областей.
Применение данного метода возможно как в задачах предварительной обработки изображения, предшествующей процессу сегментации путем выделения границ, так и для повышения качества изображений, например фотографий.
Скорость работы описанного фильтра очень высокая и его можно применять в системах, работающих в реальном времени. Он может быть включен в систему по идентификации объектов как один из этапов низкоуровневой обработки.
Дальнейшие исследования в этой области будут направлены на удаление локальных помех, возникших в результате неточного выделения контуров.
Литература: 1. McDonnell M.J. Box-_ltering techniques. Computer Graphics and Image Processing, 17:65{70, 1981. 2. Canny J.F. A computational approach to edge detection. IEEE Trans. on Pattern Analysis and Machine Intelligence, 8(6):679{698, November, 1986. 3. Яншин B.B. Анализ и обработка изображений: принципы и алгоритмы. М.: Машиностроение. 1995. 112 с. 4. Путятин Е.П., Аверин С.И. Обработка изображений в робототехнике. М.: Машиностроение, 1990. 320 с. 5. Smith S.M. and Brady J.M. SUSAN — a new approach to low level image processing. Int. Journal of Computer Vision, 23(1):45{78, May 1997.
Поступила в коллегию 14.04.2003
Рецензент: д-р физ.-мат. наук, проф. Смеляков С.В.
Гарячевская Ирина Васильевна, аспирантка кафедры информатики, инженер ИВЦ ХНУРЭ. Научные интересы: распознавание образов, обработка изображений. Адрес: Украина, 61000, Харьков, пр. Ленина, 14, тел. 702-14-38. e-mail: irisha@imagefilterer.com.ua
112
РИ, 2003, № 4