7.3. ПРОСТРАНСТВЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ

Как мы отметили ранее, процесс аналлза сцены является по существу процессом упрощения—сложный объект (исходное изображение) превращается в более простой с помощью нескольких последовательных операций. Естественным этапом этой последовательности является превращение исходного изображения в контурный рисунок. Мы надеемся, что такой шаг сохранил бы существенные детали исходного изображения, сократив в то же время объем вычислений при последующих операциях. Для перехода к контурным изображениям существуют также психологические мотивы. Эксперименты показали, что внимание человека концентрируется в основном на границах между более или менее однородными областями. Мы признаем, конечно, что упрощение изображения до контурного рисунка связано с некоторым риском. Контурное изображение обычно содержит меньше информации, чем исходное, и нет гарантии, что ііоте- рянная информация является несущественной. Пока, однако, мы примем, что преобразование изображения в контурный рисунок является при некоторых обстоятельствах полезным, и сосредоточим наше внимание на способах осуществления этой операции.

Контурное изображение может быть получено из исходного путем выделения областей, содержащих резкие переходы от темного к светлому, и подавления областей с примерно однородной интенсивностью. Другими словами, контуры есть края, а края — это по определению переходы между двумя существенно различными интенсивностями. На языке функций интенсивности край — это область плоскости (X, Y), где велик градиент функции ^(л:, і/). Для получения контурного рисунка, таким образом, требуется оценка величины модуля градиента функции. Эту величину можно вычислить, если известны производные этой функции по каким-либо двум ортогональным направлениям. Следовательно, нужно только выбрать два ортогональных направления и способ приближенного вычисления (одномерной) производной, чтобы иметь все необходимые составляющие алгоритма получения контурных рисунков.

В качестве примера, представляющего интерес в историческом и практическом плане, аппроксимируем модуль градиента в точке изображения (г, /) следующим образом:

Заметим, что здесь в качестве ортогональных направлений выбраны линии, наклон которых равен -fl и —1. Схематически мы рассматриваем для клетки (і, /) окно размером 2x2, элементы которого по

диагонали связаны операцией вычитания;

Направленная производная для каждого направления аппроксимируется просто разностью соседних элементов. Оператор R{i, /) иногда называют перекрестным оператором Робертса. Рассмотрим прка качественно, в чем заключается его действие. Если точка (і, j) находится в области однородной интенсивности, значение R{i, j), как и можно было ожидать, равно 0. Если между столбцами / и /+1 наблюдается перепад интенсивности, R (г, /) имеет большую ве

личину; то же самое происходит, если перепад наблюдается между строками і и і+1. Для повышения скорости вычислений перекрестный оператор Робертса часто упрощ,ают путем использования абсолютных значений вместо квадратов и квадратных корней. Определим оператор ^(г, /):

Ясно, что R{i, i)^F(i, /)<К2 R(i, j) и F(t, /) в качественном отношении ведет себя так же, как и R (/, /).

На рис. 7.3 показан результат применения оператора F к дискретному изображению рис. 7.2 с последующим выводом на экран элементов (і, j), для которых F (і, /)>2. Наиболее заметный дефект этого изображения заключается в том, что задний край клина потерян. Как мы отмечали выше, между интенсивностями с обеих сторон от пропавшей линии существует разность только в один полутоновый уровень квантования. Если такую разность считать существенной и сделать пороговую величину меньше 2, появится недопустимо большое число «ложных» линий на полу и на стене. В целом, однако, большое количество «существенной» информации, содержащейся в рис. 7.2 здесь сохранилось.

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

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

Теперь рассмотрим несколько подробнее задачу взятия градиента. Трудность здесь порождается существованием шумов. Мы можем сказать, что с точки зрения теории связи дискретная функция интенсивности g{i, j) есть сумма двух функций: «идеального» изображения или сигнала s(t,/) и чисто шумового изображения п(і, j). Проблема возникает из-за того, что на самом деле мы хотим оценить градиент не суммы g, а идеального изображения s. Для иллюстрации этого ограничимся одномерным случаем и для простоты рассмотрим только аналоговые функции. На рис. 7.4 показана одно-

мерная идеальная функция интенсивности s{x), которая претерпевает резкое изменение вблизи точки лго- К сожалению, в нашем распоряжении имеется только сумма §'(л:)=5(л:)+п(л:) (рис. 7.5). Какая же процедура подойдет для оценки положения точки Хо по функции g(jc)? Интуиция подсказывает, что решение должно быть связано с операцией усреднения. Нам желательно сгладить функцию

 

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

Как показано на рис. 7.6, этот оператор выделяет два интервала («окна») длиной Wi и и>2 непосредственно перед точкой х и после нее, усредняет функцию g по каждому из этих «окон» и вычисляет разность средних величин. Если выбрано окно подходящих размеров, подобный оператор может работать очень хорошо. Для расчета градиента в двумерном изображении точно так же требуется некоторая комбинация усреднения и взятия разностей. По этому принципу был построен ряд операторов для оценки градиента, использующих окна различных размеров.

В качестве примера оператора оценки градиента, использующего окно размером 3x3, рассмотрим следующий оператор ‘), в котором для простоты элементы изображения в этом окне обозначены так:

Определим величину формулой  и величину Sy формулой

Тогда градиент в точке е можно либо определить с помощью выражения

либо использовать более эффективное с точки зрения скорости вычислений выражение

Остановимся на определении 5*. Это определение пред9тавляет собой попытку оценить частную производную функции иртенсив- ности в направлении X. Сначала формируются два взвешенных средних значения для оценки интенсивности в точках f я d (нормирующие множители Опущены). Затем для расчета частной производной берется разность этих взвешенных средних. Аналогичная операция выполняется при вычислении Sy. Константы взвешивания 1, 2, 1 выбраны, лишь исходя из интуитивных соображений. В следующей главе мы рассмотрим эту проблему с большей математической строгостью и обсудим требования к «оптимальному» оператору оценки градиента.

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

 

что тот же метод в более общем случае может быть использован для «очистки» изображения от шума. Как и прежде, основная идея заключается в том, чтобы заменить величину уровня полутонов в

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

Этот процесс называется регуляризацией функций. Методами анализа нетрудно доказать, что регуляризация сглаживает функции в некотором точном смысле слова: если функция g{x) разрывна, то функция   непрерывна, и если (л:)— непрерывная функ

ция, то gwix) имеет непрерывную производную. Эти свойства проиллюстрированы на рис. 7.7а и 7.76. Заметим, что ширина «переходной власти» функции (х) зависит от размера окна. В результате увеличения окна w изображение становится еще более расплывчатым. Наоборот, чем меньше становится окно w, тем точнее функция gw{x) аппроксимирует функцию g(x). Регуляризованная функция guj (х) называется также скользящим или текущим среднаи функции §(л:).

Этот процесс регуляризации непосредственно обобщается на двумерный случай. Для заданной аналоговой функции интенсивности g{x, у) определим регуляризованную функцию gu,{x, у) выражением

где W {х, у) — окно произвольной формы на плоскости изображения с площадью Лщ вокруг точки (л:, у). В случае дискретной функции интенсивности g(г, /) ее сглаженный вариант (і, /) определим формулой

где, как и прежде, ш(і, /) — окно площадью А^,, окружающее элемент (г, /). Естественно возникает мысль об использовании окна какой-нибудь простой геометрической формы. Если мы решим использовать прямоугольное окно с основанием 2Ь+1 и высотой 2/г+1, то регуляризованный вариант функции g(t, /) примет следующий вид;

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

реднения соответствует сильной расфокусировке. Этот эффект часто совершенно противоположен тому, что нам хотелось бы получить, поскольку мы предпочитаем иметь дело с возможно более резким и четким изображением. Поэтому регуляризация используется избирательно для определенных целей. Один из случаев, в которых она полезна, связан с обработкой бинарных дискретных изображений. Бинарное изображение, как и следовало ожидать,— это изображение только из черных и белых элементов; для любой точки (г, /) величина g{i, /) либо равна О (черное), либо 1 (белое). Множество элементов, для которых функция g{i, /) = 1, называется объектом-, множество элементов, для которых g{i, /)=0, называется фоном.

Бинарные изображения представляют значительный интерес как сами по себе, так и потому, что они являются результатом других операций по обработке изображения (рис. 7.3 есть бинарное изображение). Для сглаживания бинарного изображения g{i, /) применяется сравнение функции g,^ {і, /) с порогом. Если она превышает порог, то значение сглаженной функции равно 1. В противном

случае это значение равно 0. Операцию такого типа можно использовать для того, чтобы сделать контур объекта на бинарном изображении более правильным. Предположим, например, что мы применяем окно размером 3x3 и установили порог равным 0,4. Этот

оператор присвоил бы элементу (г, /) на сглаженном изображении значение 1 в том и только том случае, если по крайней мере 4 элемента в окне, окружающем элемент (і, /), были бы 1. В результате сглаживания простого бинарного изобіражения, показанного на рис. 7.8, получается изображение (рис. 7.9), где мы видим, что выступ контура в верхнем левом углу объекта удален (пустые клетки соответствуют 0). С другой стороны, если ту же самую операцию сглаживания применить к несвязному объекту, показанному на рис. 7.10, в результате получится изображение (рис. 7.11), на котором видно, что промежуток, разделяющий обе половины объекта, целиком заполнен. Если бы мы считали промежуток толщиной в один элемент существенным, то нас несколько разочаровали бы результаты работы данного оператора сглаживания. Другими словами, даже эти очень простые примеры показывают, что регуляризация — это обоюдоострый меч, с которым необходимо обращаться осторожно.

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

а)   элемент «О» заменяется на элемент «1» в том и только том случае, если все соседние элементы суть «1»;

б)   элемент «1» заменяется на элемент «О» в том и только том случае, если все соседние элементы суть «О».

Для того чтобы удовлетворить этим условиям, нужен оператор, который будет заменять изолированные нули и единицы их логическими дополнениями и оставлять другие части изображения неизменными. Такой оператор целесообразно применять при борьбе с так называемым шумом типа «соль и перец», чье действие на бинарное изображение сводится к случайной замене некоторых элементов их логическими дополнениями. Логический оператор сглаживания, использующий окно размером 3 хЗ и обладающий требуемыми качествами, можно задать, обозначив для простоты элементы изображения в этом окне так;

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

где а\/Ь означает ш или Ь, а означает «не а» и аЬ означает «а и Ь». Легко убедиться, что эта логическая функция обладает нужными качествами. Новое значение е' есть I в том и только том случае, если е есть О и все соседние элементы суть 1 или если е само равно 1 и по крайней мере один из окружающих его элементов равен 1. Преимущество логического сглаживания по сравнению с регуляризацией заключается в том, что логическое сглаживание позволяет задавать более сложные условия, при которых значение элемента должно меняться. Более того, регуляризация (для бинарных изображений) — это частный случай логического сглаживания, так как численные операции регуляризации также могут определяться с помощью булева выражения. Можно построить и другие булевы операторы, предназначенные специально для борьбы с особыми видами помех или для использования предварительных знаний об изображениях, с которыми предполагается работать.