МЕТОД РАСПОЗНАВАНИЯ ФИГУР С ИСПОЛЬЗОВАНИЕМ ФУРЬЕ-ДЕСКРИПТОРОВ И НЕЙРОННОЙ СЕТИ
Т. Т. Нгуен
Институт кибернетики Национального исследовательского Томского политехнического университета, 634034, Томск, Россия
УДК 004.931
Приведен обзор простых сигнатур фигур на основе контура. Предложены алгоритмы и создано приложение для распознавания фигур с использованием фурье-дескрипторов и многоуровневой нейронной сети. Сделан вывод о возможности использования фурье-дескрипторов в качестве входных данных для нейронных сетей при распознавании сложных фигур.
Ключевые слова: фурье-дескрипторы, распознавание фигур, нейронные сети, многоуровневый персептрон.
This paper provides a brief review on contour-based shape signatures. A new algorithm for shape recognition based on Fourier descriptors and multilayer neural network is proposed. The paper also presents an analysis on the capabilities of the Fourier-descriptors as the input data for neural networks in recognition of the complex shapes.
Key words: Fourier descriptors, shape recognition, neural networks, multilayer perceptron
Введение. Распознавание образов является главной задачей в области машинного зрения. Многие задачи распознавания объектов на изображениях могут сводиться к распознаванию фигур - частному случаю распознавания образов. Эффективным и легкореализуемым способом представления фигур является использование фурье-дескрипторов [1]. В данной работе фурье-дескрипторы применяются совместно с нейронной сетью для решения задачи распознавания фигур.
Простые методы представления фигур на основе контура. Существующие методы представления фигур можно классифицировать следующим образом: это методы, основанные на контуре, и методы, основанные на области, пространственном домене и домене преобразования; информационно-сохраняющие (IP) и информационно-несохраняющие методы (NIP). В зависимости от способа обработки подходы к выделению и представлению фигур обычно разделяются на одномерные функции представления фигуры (one-dimensional function), аппроксимацию полигонов polygonal approximation), взаимосвязь пространственных признаков (spatial interrelation feature), моменты (moments), методы деления шкалы (scale-space methods), домены преобразования фигуры (shape transform domains) [2].
Для представления несложных фигур на основе контуров нередко используются комплексные координаты, функция расстояния, касательный угол, кривизна контура и фурье-дескрипто-
ры. Все эти понятия (кроме фурье-дескрипторов) относятся к классу одномерных функций представления фигуры.
Комплексные координаты. Допустим, что изображение представляется в виде функции /(х,у) и Рп = (хп, уп), п = [1, N] - множество точек на границе (контуре) фигуры. В этом случае
zn=xn+iyn называется комплексной координатой, которую можно использовать в качестве характеристики или дескриптора фигуры либо в качестве входных данных для фурье-преобразования. При этом контур обозначается в виде функции Р^п, п=[1Д].
Данный способ очень прост в реализации, но имеет ряд недостатков: получаемый результат является неинвариантным к перемещению, масштабированию и вращению. Чтобы комплексные координаты 2п были инвариантными к перемещению, они вычисляются с учетом центра тяжести (центроид): zn=(xn-xg)+i(yn-yg), где g=(xg,yg) - центр тяжести фигуры.
Функция расстояния. Функция расстояния Яп для контура Рп=(хп,уп), п=[1,^ вычисляется как расстояние от неподвижной точки С(х0,у0) до каждой точки (хп,уп). В качестве точки С обычно выбирается центроид фигуры [2]:
Функция расстояния имеет те же преимущества и недостатки, что и комплексные координаты.
Касательный угол. Каждый контур считается кривой линией, поэтому можно рассчитать угол наклона прямой, касательной к каждой его точке [2]:
вп = аг^
с \
Уп у п-V
V хп хпУ
Здесь V - окно небольшого размера.
Несмотря на простоту реализации, данный метод имеет два существенных недостатка: чувствительность к шуму и прерывность. Для того чтобы избежать прерывности, определяется кумулятивная угловая функция рп =вп — 9й, где в0 - касательный угол к случайной выбранной
точке на контуре. До расчета этой функции часто применяется фильтр нижних частот. В настоящей работе кумулятивная угловая функция используется в качестве исходной функции для фурье-преобразования.
Фурье-дескрипторы. Фурье-дескрипторы получаются в результате применения фурье-преобразования к указанным выше одномерным функциям представления фигуры [3, 4]. Фурье-дескрипторами называются нормированные коэффициенты фурье-разложения. Предположим, что контур объекта обозначается непрерывной и периодичной функцией с(¿), при этом
2 Т 2 Т I-
ак = — ) cos(ka>t, Ък = — |с(?) sm(ka>t, ск ак2 + Ь}
Т 0 Т 0
(ак - реальная часть; Ьк - мнимая часть; ск - фурье-дескриптор).
Фурье-дескрипторы устойчивы к перемещению, масштабированию и вращению объекта [2, 3], что позволяет использовать их для представления фигуры.
Алгоритм и его реализация. Процесс реализации системы включает два этапа: обучение и тестирование. Общая схема алгоритма показана на рис. 1. База данных для обучения содержит
Исходное изображение
Последовательность точек контура
Извлечение контура
Мо
Д
Получение кумулятивной угловой функции
v -1
Кумулятивная угловая функция
Применение фурье-преобразования
v
Коэффициенты фурье-преобразования
Распознавание
v
Классы (название фигуры)
□□□
гаиН □□□□□
°V о DIA
Рис. 1. Общая схема алгоритма
Рис. 2. База данных для обучения нейронной сети
20 "чистых" изображений одного объекта на черном фоне. Объекты делятся на следующие классы: окружности, треугольники, прямоугольники, полигоны (рис. 2).
Для выделения внешних граничных точек используется алгоритм соседних точек Мора (Moore's neighbors) [5]. Результат выделения границы объекта с помощью алгоритма Мора представлен на рис. 3.
Выделенный контур сохраняется в виде массива точек Pn = (xn, yn), n = [1, N], где N - количество граничных точек. Точки упорядочены по часовой стрелке. В каждой точке определяется угол наклона касательной линии к горизонтальной оси (угловая функция). Угловая функция меняется в диапазоне [0, 2ж). Таким образом, она прерывна (резкий переход из 2ж в 0) и не может служить исходной функцией для фурье-преобразования. Для устранения этой проблемы используется кумулятивная угловая функция. Однако кумулятивная функция имеет ряд недостатков: она прерывна в последней точке контура и ее значения зависят от длины контура. Для того чтобы можно было применить фурье-преобразование, кумулятивная функция должна быть нормирована [3]:
ф*0* ) = Ф
L
\
t
VJ
+1
(ф - кумулятивная функция; ф - нормированная функция; L - длина контура).
а б
Рис. 3. Выделение контура с использованием алгоритма Мора: а - исходное изображение; б - объект с выделенным контуром
а
л
100
50
0 50 100
О 50 100 150 200 '250
Refo)
5/К
Л
III |ll||ir|l|IHI|
О 1 2 3 I S lif
е
!т(ф )
0.1
O.OS
О 5 10 16 70
'Л//'
lllhiiiiii.iiii.il
f
-0.05
1£
20
Рис. 4. Результаты фурье-преобразования для окружности: а - исходный контур; б - касательная функция; в - кумулятивная угловая функция; г - нормированная кумулятивная угловая функция; д - реальная часть фурье-преобразования; е - мнимая часть фурье-преобразования; ж - фурье-дескриптор
В результате применения фурье-преобразования к нормированной кумулятивной угловой функции имеем (рис. 4,д-ж):
12л 2л
л * 1 л * /22
ак = — I р ^)ео8(к^) Ш, Ьк = — I р ^)$т(к*) Л, ск = ак + Ьк. л * л 1
л
Полученные таким образом фурье-дескрипторы инвариантны к перемещению, масштабированию и вращению и могут быть использованы как входные данные для нейронной сети. Количество коэффициентов фурье-преобразования для нейронной сети будет зависеть от "сложности" фигуры. Эксперимент показывает, что для распознавания несложных тригонометрических фигур достаточно 15-20 коэффициентов. В данной работе используются 20 коэффициентов (дескрипторов).
Для распознавания фигур применяется традиционная многослойная нейронная сеть с обратным распространением ошибки, структура которой показана на рис. 5. В качестве функции активации используется обычная биполярная сигмоидальная функция. Для повышения скорости сходимости сети применяются следующие модификации: (Nguyen - '^ёга,№)-инициация, моментум, групповое обновление [6]. Эксперимент показывает, что 40 - 60 нейронов в скрытом слое дают лучший результат с точки зрения соотношения время обучения - сходимость. В данной работе используются 50 скрытых нейронов.
f
f
Входной слой -20 нейронов
Скрытый слой -50 нейронов
Выходной слой 4 нейрона
Рис. 5. Схема нейронной сети Обсуждение результатов. Программа, реализованная на языке С# 2008, предоставляет возможность формирования базы данных для создания и обучения нейронной сети (многослойный персептрон), а также имеет отдельный интерфейс для проверки и тестирования работоспособности метода.
На этапе обучения сеть сходится после 10 000 эпох со среднеквадратичной ошибкой, равной 0,001. Программа протестирована 50 раз с использованием тестовой базы данных, состоящей из 18 изображений (рис. 6). Частота появления ошибок составляет 0,1 %.
Для проверки эффективности работы алгоритма созданы другие базы данных тренировки и тестирования (рис. 7). Полученные результаты показали, что алгоритм позволяет распознавать достаточно сложные фигуры, состоящие из простых элементов (круг, эллипс, треугольники и т. д.) с высокой точностью: в результате обработки данных, показанных на рис. 7, после 30 тестов обнаружены две ошибки (частота ошибок - 0,15 %).
□1а1 о Ю
°Ь ом
НИИ
Рис. 6. Тестовые изображения
а
•51Ф
4 £
ФИФ
оИо
44144 13
Рис. 7. Распознавание сложных фигур: а - обучение; б - тестирование
Выводы. Таким образом, создана программа для распознавания фигур на основе анализа контура с использованием фурье-дескрипторов и нейронной сети. Показано, что применение фурье-дескрипторов и нейронных сетей является эффективным методом решения задачи распознавания объектов. Разработанная программа способна распознавать сложные фигуры с высокой точностью.
Список литературы
1. Folkers A., Samet H. Content-based image retrieval using Fourier descriptors on a logo database // Proc. of the 16th Intern. conf. on pattern recognition, Quebec (Canada), 11-15 Aug. 2002. Washington:
IEEE Computer Soc., 2002. V. 3. P. 521- 524.
2. Zhang D., Lu G. Review of shape representation and description techniques // Pattern Recognition. 2004. V. 37. P. 1-19.
3. Nixon M. Feature extraction and image processing / M. Nixon, A. Aguado. Oxford: Elsevier, 2008. 406 p.
4. Pattern recognition techniques, technology and applications / Ed. by Peng-Yeng Yin. Croatia: InTech, 2008. 626 p.
5. Ghuneim A. G. Moore-neighbor tracing // Contour Tracing. 2010. http://www.imageprocessingplace. com/downloads_V3/root_downloads/tutorials/contour_tracing_Abeer_George_Ghuneim/moore.html.
6. Fausett L. V. Fundamentals of neural networks-architectures, algorithms, and applications. Upper Saddle River: Prentice Hall, 1993. 461 p.
Нгуен Тоан Тханг - асп. Института кибернетики Томского политехнического университета; тел.: (382-2)70-16-09; e-mail: thangngt.cntt@gmail.com
Дата поступления - 02.11.11