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

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

CC BY
102
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПОЗНАВАНИЕ ОБРАЗОВ / ГЕОМЕТРИЧЕСКОЕ КОДИРОВАНИЕ / КОДИРУЮЩАЯ ПОВЕРХНОСТЬ / КОНТУРНЫЙ АНАЛИЗ / РАСПОЗНАВАНИЕ КОНТУРОВ / КОМПЬЮТЕРНОЕ ЗРЕНИЕ / ОБРАБОТКА ИЗОБРАЖЕНИЙ / СКЛЕЙКА ИЗОБРАЖЕНИЙ / PATTERN RECOGNITION / GEOMETRICAL CODING / CODING SURFACE / CONTOUR ANALYSIS / EDGE DETECTION / COMPUTER VISION / IMAGE PROCESSING / IMAGE STITCHING

Аннотация научной статьи по математике, автор научной работы — Носовский Глеб Владимирович, Чекунов Алексей Юрьевич, Подлипаев Сергей Алексеевич

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

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

Похожие темы научных работ по математике , автор научной работы — Носовский Глеб Владимирович, Чекунов Алексей Юрьевич, Подлипаев Сергей Алексеевич

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

Fast algorithm of geometric coding of digital images

In this paper fast algorithm for geometrical coding is presented. It allows to perform image analysis by methods of differential geometry rather than gradient or Hessian-based methods commonly used today for this purpose. One of the most important points in image analysis is speed of calculations. Fast algorithm for geometrical coding is comparable or faster than traditional algorithms of image analysis. In the paper several examples of contour detection are presented.

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

Замечание 1. Теорема 3 верна и для двуступенно-правонильпотентных алгебр. Доказательство для них повторяется дословно, поэтому следствие 1 верно и для правонильпотентных алгебр.

Замечание 2. В основной теореме из работы [14] и в теореме 2 из [13] соотношение (13) доказано для серии левонильпотентных ступени 2 алгебр. Поэтому следствие 1 является обобщением упомянутых результатов. При этом оно получено более простым способом. Работа поддержана Российским научным фондом, грант № 16-11-10013.

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

1. Giambruno A., Zaicev М. Polynomial identities and asymptotic methods // Math. Surv. and Monogr. Vol. 122. Amer. Math. Soc. Providence, RI, 2005.

2. Бахтурин Ю.А. Тождества в алгебрах Ли. М.: Наука, 1985.

3. Drensky V. Free algebras and Pi-algebras. Graduate course in algebra. Singapore: Springer-Verlag Singapore, 2000.

4. Regev A. Existence of identities in A <g> В // Isr. J. Math. 1972. 11. 131-152.

5. Латышев B.H. К теореме Регева о тождествах тензорного произведения PI-алгебр // Успехи матем. наук. 1972. 27, № 4. 213-214.

6. Bakhturin Yu.V., Drensky V. Graded polynomial identities of matrices // Linear Algebra and Its Appl. 2002. 357. 15-34.

7. Giambruno A., Zaicev M. Codimension growth of special simple Jordan algebras // Trans. Amer. Math. Soc. 2010. 362, N 6. 3107-3123.

8. Мищенко С.П. Рост многообразий алгебр Ли // Успехи матем. наук. 1990. 45. 25-45.

9. Зайцев М.В. Многообразия аффинных алгебр Каца-Мудп // Матем. заметки. 1997. 62, вып. 1. 95-102.

10. Zaicev М. On existence of Pi-exponents of codimension growth // Electronic Research Announcements in Mathematical Sciences. 2014. 21. 113-119.

11. Giambruno A., Zaicev M. Proper identities, Lie identities and exponential codimension growth //J. Algebra. 2008. 320, N 5. 1933-1962.

12. Зайцев М.В. Тождества конечномерных унитарных алгебр // Алгебра и логика. 2011. 50, № 5. 563-594.

13. Зайцев М.В., Реповш Д. Экспоненциальный рост коразмерностей тождеств алгебр с единицей // Матем. сб. 2015. 206, № 10. 103-126.

14. Dusan R., Zaicev М. Numerical invariants of identities of unital algebras // Communs Algebra. 2015. 43, N 9. 3823-3839.

15. Везущак O.E., Беляев А.А., Зайцев М.В. Экспоненты тождеств алгебр с присоединенной единицей // Вшник Кшвск. нац. ун-ту iM. Т. Шевченка. Сер. ф1зико-математичш науки. 2012. Bin. 3. 7-9.

16. Джеймс Г. Теория представлений симметрических групп. М.: Наука, 1982.

Поступила в редакцию 15.03.2017

УДК 511

БЫСТРЫЙ АЛГОРИТМ ГЕОМЕТРИЧЕСКОГО КОДИРОВАНИЯ ЦИФРОВЫХ ИЗОБРАЖЕНИЙ

Г. В. Носовский1, А. Ю. Чекунов2, С. А. Подлипаев3

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

1 Носове кий Глеб Владимирович — канд. физ.-мат. наук, доцент каф. дифференциальной геометрии и приложений мех.-мат. ф-та МГУ, e-mail: gleb.nosovskiyQgmail.com.

2 Чекунов Алексей Юрьевич — асп. каф. дифференциальной геометрии и приложений мех.-мат. ф-та МГУ, e-mail: alexey. chekunovQmail .ru.

3Подлипаев Сергей Алексеевич — студ. каф. дифференциальной геометрии и приложений мех.-мат. ф-та МГУ, e-mail: podlipaev.sergeyQgmail.com.

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

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

In this paper fast algorithm for geometrical coding is presented. It allows to perform image analysis by methods of differential geometry rather than gradient or Hessian-based methods commonly used today for this purpose. One of the most important points in image analysis is speed of calculations. Fast algorithm for geometrical coding is comparable or faster than traditional algorithms of image analysis. In the paper several examples of contour detection are presented.

Key words: pattern recognition, geometrical coding, coding surface, contour analysis, edge detection, computer visión, image processing, image stitching.

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

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

Быстрый алгоритм геометрического кодирования. Кодирующая поверхность цифрового изображения. Любое цветное цифровое изображение можно представить в виде прямоугольной матрицы, элементы которой суть пятимерные векторы, состоящие из двумерного вектора координаты пикселя (х, у) и трехмерного вектора цвета и интенсивности из пространства RGB (Red-Green-Blue), являющегося трехмерным кубом. Чтобы объединить информацию о координатах и цвете в один пятимерный вектор, необходимо ввести условное отношение между пространственной и цветовой единицами, например отношение стороны трехмерного куба, представляющего пространство RGB, к размеру пикселя, которое, следуя [1], мы будем обозначать fccis-

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

Необходимо заметить, что kcis является важным параметром, который должен быть оптимально подобран. Однако его достаточно найти лишь приблизительно, поскольку результаты работы алгоритма устойчивы к небольшим колебаниям параметра. Опытным путем нами было установлено, что оптимальные значения kcis находятся в интервале 10-40 и все они дают приблизительно одинаковые результаты. В приведенных ниже примерах мы пользовались значением kcis = 20.

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

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

ство точек в к х к раз меньше, чем в исходном. Среднее значение вектора цвета/интенсивности в каждом блоке присваивается соответствующей грубой точке. Например, если к = 3, размер грубого изображения в 9 раз меньше исходного. Далее мы будем считать, что к = 3.

Второй шаг алгоритма. Первые и вторые производные кодирующей поверхности для каждой точки грубого изображения вычисляются с помощью локальной поверхности Безье размера 3x3 (см. [1, 2]), нижний левый угол роо которой соответствует выбранной точке. Тогда формулы вычисления первых и вторых производных в точке роо существенно упрощаются и требуют порядка 20-40 сложений и умножений на точку (см. [1, 2]):

гх(роо) = 2(рю - Роо); гу(роо) = 2(poi - Роо),

Гхх(роо) = 2(^20 - 2Pío +Роо),

Гуу{роо) = 2(ро2 - 2poi +Роо),

гХу(роо) = 4(ри -Рю - Pol +Роо),

где P0i,P02,Pi0,Pn,P20 — опорные точки нашей локальной поверхности Безье 3x3. Еще две ее опорные точки рц и Р22 не участвуют в вычислениях.

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

/4(Аьл2) = (|Л1|-|Л2|)2 = |я; к<0;

\н2-ак, ю о,

hi{ki,k2) = G,

«Mi0-*

где к\, к2 > 0 — собственные значения метрического тензора в рассматриваемой точке, G = к\ х к2 — определитель метрического тензора, Ai, Л2 — главные кривизны.

Обозначим через кшйх и fcm¡n наибольшие и наименьшие значения кривизн к\ и к2. Если кшйх намного больше, чем кт\п, то hs(k\,k2)

r^ max ПОСКОЛЬКУ В ЭТОМ СЛУЧае /¿max I A'min ~ A'i]]riх и,

2 2 ^niiii

значит, ^V^fi^ ~ , ^nrff— = Следовательно, большие значения функции hs соответствуют

I "''i '■'] i i м '■'] ] ] i ] ] '■']]]]]]

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

Четвертый шаг алгоритма. В ходе вычисления значений выбранной функции f-типа или h-типа для каждой точки грубого изображения получаем гистограмму распределения значений этой функции на грубом изображении и вычисляем медиану этого распределения, усеченного в окрестности нуля. Грубые контуры вычисляются посредством следующей процедуры.

1. Положим г = 0.

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

3. Вычисляем фрактальную размерность Минковского Frac¿-|-i (см. [3, 4]) для текущего (г + 1)-уровня грубых контуров изображения. Это вычисление производится довольно быстро с помощью алгоритма Box counting подсчета ячеек [5]. Если |FraCi+i — -Fol < где Fo — фиксированное значение, а £ — порог точности, в качестве которого используется значение е = 0,1, то останавливаем алгоритм и берем текущий уровень грубых контуров за окончательные грубые контуры изображения. Иначе берем г = г + 1 и возвращаемся к шагу 2, заменив медиану распределения на медиану его правой половины, если размерность Минковского оказалась слишком велика, или на медиану его левой половины, если размерность Минковского оказалась слишком мала.

Рис. 1. Пример цифрового изображения с мелкими деталями: а оригинальное изображение: б контуры. полученные с помощью детектора границ Кэнни; в точные контуры с динамическим подбором размерности Минковского. полученные с помощью функции /?з

Из свойств размерности следует, что величина -Ро должна быть больше 1, но меньше 2. Оптимальное значение -Ро было определено эмпирическим путем. Большие значения ведут к более толстым контурам, малые значения к более тонким. Для грубых контуров использовались значения ^о = 1,4 для функций 1-типа и = 1,47 для функций Ь-тииа. Если грубые контуры применялись для дальнейших) вычисления точных контуров, то используется значение ^о = 1,7.

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

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

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

туров, т.е. множество точек иеходжих) изображения, которые удалены не дальше, чем на А шах'ов но горизонтали, вертикали или диагонали, от какой-то точки грубенч) контура.

Далее в каждой точке -А(Д) построим для иеходжнх) изображения локальную кодирующую поверхность, которая представляет собой поверхность Безье размером (2г + 1) х (2г + 1) с центром в рассматриваемой точке. Обычно оптимальным значением является г = 2 или г = 3. В приведенных ниже примерах г = 3, соответственно (2г + 1) = 7.

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

Выполняем третий и четвертый шаги алх'оритма для иеходжнх) изображения в окрестности -А(Д) и получаем карту точных контуров. Вместо значения ^о для фрактальной размерности, ис-пользуемшх) выше, здесь мы берем меньшее значение чтобы сделать точные контуры более тонкими. В примерах, приведенных ниже, полагаем = 1,4 1,6, в то время как ^о = 1,7.

Рис. 2. Пример цифрового изображения с надписями: а оригинальное изображение: б контуры, полученные с помощью детектора границ Кэнни; в грубые контуры, полученные с помощью /?з; г точные контуры с динамическим подбором размерности Минковского, полученные с помощью /?з

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

Вычисление точных контуров требует порядка 400 сложений и умножений для функции Ь-тииа и порядка 800 сложений и умножений для функции 1-типа на каждую точку из Д-окрестности грубых контуров. Обычно эта Д-окрестность покрывает от 10 до 30% исходного изображения.

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

Еще одно преимущество функций Ь-тииа состоит в том, что они не раздваивают контуры подобно функциям 1-типа. Раздваивание контуров происходит из-за того, что контуры не являются идеальными одномерными линиями, а представляют собой утолщенные линии с двумя границами. Кодирующая поверхность образует складки вдоль каждой из этих двух границ, что влечет отри-совку двойных контуров функциями 1-типа, которые чувствительны именно к сгибам поверхности, поскольку зависят от главных кривизн. Функции же Ь-тииа чувствительны лишь к деформациям метрики, но эти деформации достигают максимальных значений не на границе, а вдоль оси утолщенной линии контура, и соответственно контуры не раздваиваются.

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

/?з; г точные контуры, полученные с помощью /?з

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

скольку при отображении плоскости изображения на плоскую поверхность кодирования возникнет растяжение или сжатие вдоль линии раздела двух областей изображения.

а б

Рис. 4. Пример цифрового изображения человеческого лица: а оригинальное изображение: б контуры, полученные с помощью детектора границ Кэнни; е точные контуры, полученные с помощью функции h 2; г точные контуры, полученные с помощью функции /?з

Примеры. Приведем некоторые примеры грубенч) и точшнх) распознавания контуров с помощью быстрохх) а.;п'оритма гсомстричссксмч) кодирования в сравнении с широко используемым детектором храниц Кэнни (Canny operator).

На рис. 1 показан результат работы нашмх) а;п'оритма с динамическим подбором размерности Mhhkobckoix) в сравнении с детектором храниц Кэнни.

Следующий пример цифровая фотография с надписями. На рис. 2 представлены исходная

Рис. 5. Контуры человеческого лица, полученные с помощью функции /4: а грубые: б точные

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

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

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

Следующий пример относится к распознаванию контуров человеческого лица. На рис. 4 представлены исходная цифровая фотография, контуры, полученные с помощью детектора границ Кэнни, а также контуры, полученные нашим алгоритмом с помощью функций /?2 и /7,3. На рис. 5 показаны результаты грубого и точного распознавания контуров лица с помощью функции /4. Отметим, что функция /4 удваивает контурные линии.

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

1. Nosovskiy G. V. Geometrical coding of color images // Proc. XIX Geometrical Seminar. Zlatibor. Serbia. August 28 September 4. 2016. Faculty of Mathematics. University of Belgrade. 2017.

2. Голованов H.H., Фоменко А. Т., Ильютко Д.П., Носовскшш Г.В. Компьютерная геометрия. М.: Изд. центр "Академия". 2006.

3. Crotimover R.M. Introduction to fractals and chaos. Boston: London: Jones and Bartlett Publishers. Inc. 1995.

4. Falconer K.J. Fractal geometry: Mathematical foundations and applications. Chichester. England: John Wiley-arid Sons. 1990.

5. Li J.Q., Sun Du C. An improved box-counting method for image fractal dimension estimation // Pattern Recognition. 2009. 42, N 11. 2460 2469.

Поступила в редакцию 05.04.2017

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