Научная статья на тему 'Об одном методе выделения контуров на цифровых изображениях'

Об одном методе выделения контуров на цифровых изображениях Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2757
470
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБРАБОТКА ЦИФРОВЫХ ИЗОБРАЖЕНИЙ / ДЕТЕКТОР ГРАНИЦ / РОБЕРТС / ПРЮИТТ / СОБЕЛ / ШАРР / АНАЛИЗ ЦИФРОВОГО ИЗОБРАЖЕНИЯ / РАСПОЗНАВАНИЕ ОБРАЗОВ / ВЫДЕЛЕНИЕ КОНТУРОВ / DIGITAL IMAGE PROCESSING / EDGE DETECTOR / ROBERTS / PREWITT / SOBEL / SCHARR / DIGITAL IMAGE ANALYSIS / IMAGE RECOGNITION / EDGE DETECTION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хрящёв Денис Александрович

Рассматриваются методы, выделяющие границы цифрового изображения. Некоторые из них основаны на вычислении градиента изображения (перекрёстный оператор Робертса), другие на понятии центральной разницы (операторы Прюитт, Собела и Шарра). Отмечены также методы, вычисляющие лапласиан изображения, особенностью которого является полная вращательная симметрия. Альтернативой методам, вычисляющим градиент и лапласиан изображения, являются статистические методы. Отмечены достоинства и недостатки всех методов. Предложен метод, который основывается на авторской функции, используемой для построения фильтра низких частот. Метод определенным образом вычисляет градиент изображения, одновременно подавляя шумы на изображении. Сравнение предлагаемого метода со стандартными выявило его преимущества более высокая точность вычисления градиента, подавление шумов и недостатки большее время обработки изображения. Библиогр. 5. Ил. 2.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The methods of digital image detection are considered. Some of them are based on calculation of an image gradient (Roberts" cross detector) others are based on the notion of the central difference (Prewitt operator, Sobel operator and Scharr operator). There are also approaches that calculate image laplacian the advantage of which is a perfect rotational symmetry. As an alternative to those calculating image gradient and laplacian statistical methods are used. The advantages and disadvantages of these methods are mentioned. The method based on the author"s function used in the creation of a low-pass filter is proposed. The method specifically calculates image gradient suppressing the image noises at the same time. The comparison of the proposed method with the standard one revealed its advantages better accuracy of the calculation of a gradient and noise suppression, and its disadvantages, i. e. longer period of image processing.

Текст научной работы на тему «Об одном методе выделения контуров на цифровых изображениях»

УДК 004.932.2

Д. А. Хрящёв

ОБ ОДНОМ МЕТОДЕ ВЫДЕЛЕНИЯ КОНТУРОВ НА ЦИФРОВЫ1Х ИЗОБРАЖЕНИЯХ

Введение

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

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

Нами рассматриваются наиболее распространенные методы, вычисляющие градиент изображения, - операторы Робертса, Прюитт, Собела, Шарра, а также предлагается альтернативный метод, который сравнивается со стандартными методами.

Стандартные методы выделения контуров

Большинство алгоритмов, выделяющих контуры на цифровых изображениях, основаны на вычислении градиента изображения. Для функции / градиент

У =

^ /

Эх

± / Эу

Один из наиболее ранних алгоритмов по обнаружению контуров изображения принадлежит Лоуренсу Робертсу. Данный алгоритм основан на дифференцировании амплитуды сигнала, что равносильно вычислению дискретных разностей амплитуд отсчетов [1]:

Э/(х, у)/ Эх ~ А/ (х, у) = /(х, у) - /(х -1, у);

Э/(х, у)/ Эу ~ А/у (х, у) = /(х, у) - /(х, у -1).

Это означает, что градиент изображения вычисляется при помощи матриц свертки

Ох =

+1 0

0 -1

*А, Оу =

0 +1

-1 0

*А, О = л!Ох2 + Оу2

где А - исходное изображение; * - оператор свертки; О - градиент изображения.

Перекрёстный оператор Робертса является наиболее простым и быстрым методом выделения контуров. Для получения значительно большей скорости вычисления градиента, при снижении точности, оператор Робертса упрощается:

А =

•П1

•П2

V °21 °22

А' = |а11 - а221 + |а-

12 21

где А' - обработанное изображение.

Доктор Джуди Прюитт разработала оператор, который основывается на понятии центральной разницы [1]:

Э/ (х, у) / Эх = (/(х +1, у) - / (х -1, у)) /2; Э/ (х, у)/ Эу = (/ (х, у +1)- / (х, у -1))/ 2.

Благодаря этому оператору вычисляется градиент изображения по матрицам свертки

1 0 +1" "-1 -1 -1"

Ох = -1 0 +1 *А, О N 0 0 0

-1 0 +1 +1 +1 +1

*А, О = ЛЮх2 + Оу2

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

Аналогично оператору Прюитт, оператор Барри Собела, который используется наиболее часто, опирается на понятие центральной разницы. Однако вес центральных пикселей увеличивается вдвое.

" -1 0 +1 " "-1 -2 -1"

Ох = - 2 0 + 2 *А, О N 0 0 0

-1 0 +1 +1 +2 +1

*А, О =

Ох2+Оу2

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

"1" "+1"

Ох = 2 * ([+1 0 -1]* А), Ох = 0

1 -1

* ([1 2 1]* А).

Одним из главных недостатков оператора Собела является то, что он не обладает полной вращательной симметрией.

Существенно снизить отрицательные эффекты оператора Собела удалось Ганно Шарру. В полученных им матрицах свертки веса центральных пикселей превосходят веса крайних пикселей в 3,3 раза:

" -3 0 +3 " "- 3 -10 - 3"

Ох = -10 0 +10 А*, О N 0 0 0

- 3 0 + 3 + 3 +10 + 3

*А, О = Л\О2 + Оу2

Аналогично методам, основанным на вычислении градиента изображения, широко используются методы, основанные на лапласиане изображения [2]:

Э2

э2

V2/ + / ,

Эх Эу2

интересной особенностью которого является его инвариантность к вращению.

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

Э 2 /

—т»((/(х+1 у)-/ (x, у))- (/ (х у)- /(х -1 у)))=/(х+1, у)- 2 / (x, у)+/(х -1, у);

Эх Э 2 /

~2 » ((/(Х у +1) - /к у)) - (/к у) - /(x, у -1))) = /(x, у +1)- 2/(x, у) + /(x, у -1), Эу2

сумма которых равна:

Э2 / Э2 / +тт = / (х+1, у )+/ (х -1, у )- 4 / (x, у )+/ (x, у +1)+/ (x, у-1).

Эх2 Эу2

Это означает, что для вычисления лапласиана изображения применяется матрица свертки

V2 =

0 +1 0 +1 - 4 +1 0 +1 0

'А.

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

Такие методы включают в себя два этапа. На первом этапе вычисляется среднее арифметическое значение яркости текущего рабочего окна [3]:

1

г =-

т • п

22 А(1, І),

і=1 ]=1

где т, п - количество пикселей по вертикали и горизонтали в рабочем окне. Затем на втором этапе вычисляется среднеквадратичное отклонение яркости элементов рабочего окна от среднего арифметического их яркости:

с =

І

л т п

1-22(А(і,])-Г)2 .

т • п

і=1 ]=1

Затем значения всех элементов рабочего окна умножаются на полученное среднеквадратичное отклонение:

А'(1, ] ) = а^А(1, ]).

Предлагаемый метод выделения контуров

Аналогично методам, основанным на вычислении градиента изображения, предлагаемый метод выделяет контуры изображения, рассчитывая для каждого пикселя изображения перепады яркости его соседних пикселей по двум направлениям, усредняя полученное значение. Предлагаемый метод основывается на функции, подробно рассмотренной в [5]:

Р (х ) =

в(х2 )-2

а • х2 +1

(1)

по которой рассчитываются матрицы свертки. Данные матрицы представляют собой матрицы размерами 5 х 5, элементами которых являются значения функции (1). Вес пикселей зависит от расстояния до центрального пикселя. Расстояние до центрального пикселя используется в качестве аргумента х функции (1). Для удобства значения функции (1) округляются. Параметр а принимается равным 0,09.

Матрица свертки вычисляется следующим образом:

- для первой составляющей:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

0

+ Р (х = 2) + Р (х = л/2) + р (х = 2)

+ Р(х = 2) + Р(х = 1)

+ р(х = 72) + Р(х = 0) + р(х = 2) 0

+ р\х = л/ 2 + р(х = 0) 0

■Р (х = 0)

0

0

- Р (х = 0) -Р (х = 1)

0

- Р(х = 2) - Р(х = -ч/2) - Р(х = 2)

- Р (х = 2)

- Р (х = л/2) - Р (х = 2)

0

для второй составляющей:

е

0 + її (х = 2) + її (х = л/2) + її (х = 2) 0

- її(х = 2) 0 + її(х = 0) + її(х = 1) + її(х = 2)

- її(х = 42) - її(х = 0) 0 + її(х = 0) + її(х ^ л/2)

- її(х = 2) - її(х = 1) - її(х = 0) 0 + її(х = 2)

0 -її(х = 2) -її(х= 72) -р(х = 2) 0

откуда, после округления, получаем:

А = —

1 38

' 0 +2 +3 +2 0 " " 0 + 2 +3 +2 0 '

+ 2 +8 +14 0 - 2 * А , В2 = — 2 38 - 2 0 +14 +8 + 2

+ 3 +14 0 -14 - 3 - 3 -14 0 +14 + 3

+ 2 0 -14 -8 - 2 - 2 - 8 -14 0 + 2

0 - 2 -3 -2 0 0 - 2 -3 -2 0

в = 7В? + в22.

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

Благодаря тому, что в основе предлагаемого метода лежит функция (1), которая используется для построения фильтра низких частот [5], данный метод имеет ещё одну великолепную характеристику - подавляет шумы.

*

Сравнение предлагаемого метода со стандартными

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

Изображение было обработано операторами Робертса, Прюитт, Собела, Шарра и предлагаемым оператором. Затем для обработанных изображений были построены и проанализированы гистограммы градиентов и подсчитано время, необходимое на обработку используемого изображения данными операторами.

На рис. 1 показаны изначальное изображение и результаты применения операторов, выделяющих границы.

Рис. 1. Выделение контуров на изображении: а - оригинальное изображение; Ь - применен оператор Робертса

е (

Рис. 1. Выделение контуров на изображении: с - применен оператор Прюитт; С - оператор Собела; е - оператор Шарра; /- предлагаемый оператор

Внешне хуже всех с задачей справился самый простой и быстрый оператор - оператор Робертса. Градиент, вычисленный данным оператором, в некоторых точках изображения имеет значительно меньшие значения по сравнению со значениями, вычисленными другими операторами; часть контуров прерывается, чего не наблюдается в случае применения других операторов.

Для оценки сравнительной точности вычисления градиента были построены гистограммы градиентов (рис. 2).

Рис. 2. Гистограммы градиентов: а - применен оператор Робертса; Ь - оператор Прюитт

Рис. 2. Гистограммы градиентов: с - применен оператор Собела; С - оператор Шарра; е - предлагаемый оператор

По гистограммам градиентов видно, что наименее точным является оператор Робертса, поскольку в гистограмме, построенной по значениям градиента, подсчитанного при помощи оператора Робертса, присутствуют «пробелы», т. е. для малоотличающихся контуров изображения такой градиент принимает одинаковые значения. Можно также отметить, что на данной гистограмме практически отсутствуют малые значения. Это означает, что оператор Робертса плохо выделяет слабые контуры изображения.

По гистограммам градиентов, вычисленных при помощи операторов Прюитт, Собела и Шарра, видно, что операторы Собела и Шарра являются более точными, чем оператор Прюитт, поскольку в гистограммах Собела и Шарра градиент принимает значения из всего диапазона, а в гистограмме Прюитт имеются «пробелы». Гистограммы градиентов Собела и Шарра говорят об их эквивалентной точности.

Гистограмма градиента, вычисленного предлагаемым методом, содержит весь диапазон значений градиента. Кроме того, на данной гистограмме видно, что большие значения градиент, рассчитанный предлагаемым методом, принимает чаще, чем стандартные градиенты. Это означает, что предлагаемый метод обнаружил больше сильных границ, чем стандартные методы. Можно также отметить эффект подавления шумов на изображении, поскольку гистограмма градиента предлагаемого метода имеет более «гладкую» форму, чем гистограммы стандартных методов.

Для тестирования данных методов использовался компьютер с двуядерным процессором с тактовой частотой 2,5 ГГц и 2 Гб оперативной памяти.

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

Оператор Робертса Прюитт Собела Шарра Предлагаемый

Время, мсек 281 295 295 297 312

Таким образом, предлагаемый метод является не намного более медленным, чем стандартные методы. Самым быстрым является оператор Робертса, операторы Прюитт, Собела и Шарра имеют одинаковое время исполнения.

Заключение

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

Предлагаемый метод был сравнен с операторами Робертса, Прюитт, Собела и Шарра при помощи гистограмм градиента изображения, подсчитанного данными методами. Кроме того,

было определено время обработки изображения. Было обнаружено, что самым неточным, но в то же время самым быстрым является оператор Робертса. Более точным является оператор Прюитт, который по времени уступает операторам Собела и Шарра. Наиболее точным, но в то же время и наиболее медленным является предлагаемый метод. Помимо высокой точности вычисления градиента, предлагаемый метод обладает способностью подавлять шумы.

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

1. Фисенко В. Т., Фисенко Т. Ю. Компьютерная обработка и распознавание изображений. - СПб.:

СПбГУ ИТМО, 2008. - 192 с.

2. Сойфер В. А. Методы компьютерной обработки изображений. - М.: Физматлит, 2003. - 784 с.

3. Гонсалес Р. С., Вудс Р. Э. Цифровая обработка изображений. - М.: Техносфера, 2006. - 1072 с.

4. Прэтт У. К. Цифровая обработка изображений. - М.: Мир, 1982. - 792 с.

5. Попов Г. А., Хрящёв Д. А. Об одном методе низкочастотной фильтрации гидролокационных изображений // Вестн. Астрахан. гос. техн. ун-та. Сер.: Морская техника и технология. - 2010. - № 1. -С. 63-68.

Статья поступила в редакцию 14.05.2010

ON A METHOD OF EDGE DETECTION IN DIGITAL IMAGES

D. А. Khryashchev

The methods of digital image detection are considered. Some of them are based on calculation of an image gradient (Roberts’ cross detector); others are based on the notion of the central difference (Prewitt operator, Sobel operator and Scharr operator). There are also approaches that calculate image laplacian the advantage of which is a perfect rotational symmetry. As an alternative to those calculating image gradient and laplacian statistical methods are used.

The advantages and disadvantages of these methods are mentioned. The method based on the author’s function used in the creation of a low-pass filter is proposed.

The method specifically calculates image gradient suppressing the image noises at the same time. The comparison of the proposed method with the standard one revealed its advantages - better accuracy of the calculation of a gradient and noise suppression, and its disadvantages, i. e. longer period of image processing.

Key words: digital image processing, edge detector, Roberts, Prewitt,

Sobel, Scharr, digital image analysis, image recognition, edge detection.

i Надоели баннеры? Вы всегда можете отключить рекламу.