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

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

CC BY
2709
833
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СКЕЛЕТИЗАЦИЯ / ОСОБЫЕ ТОЧКИ / ШАБЛОНЫ СКЕЛЕТИЗАЦИИ / ОТПЕЧАТКИ ПАЛЬЦЕВ / SKELETONIZATION / SINGULAR POINTS / SKELETONIZATION TEMPLATE / FINGERPRINT

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

Предлагается новый модифицированный алгоритм Розенфельда скелетизации бинарных изображений отпечатков пальцев. На основе скелета выделяют особые точки. Скелетизация и выделение особых точек являются основными процедурами при решении задачи верификации и идентификации отпечатков пальцев. Описанный алгоритм предполагает анализ окрестности информативных точек изображения и выполнение действий по результатам анализа. Подробный анализ окрестностей позволяет избавиться от шумов, которые содержаться в исходном изображении и могут быть интерпретированы как особые точки отпечатка. Рассматриваются преимущества нового метода скелетизации по сравнению с известными, описанными в работе. Метод реализован на языке C++, разработаны процедуры для визуализации финального состояния скелета, позволяющие контролировать качество его изготовления.

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

SKELETONIZATION OF BINARY IMAGES AND FINDING OF SINGULAR POINTS FOR FINGERPRINT RECOGNITION

The paper reviews a new modified Rosenfeld skeletonization algorithm of binary fingerprint images. Singular points are allocated on the basis of the skeleton. Skeletonization and allocation of singular points are the basic procedures for solving the problem of verification and fingerprint identification. The described algorithm analyzes the neighborhood of informative image points and performs actions based on analysis. A detailed analysis of neighborhoods facilitates to remove noises that are contained in the original image and can be recognized as singular points of the fingerprint. Advantages of the new method of skeletonization compared to the known described in this work are also examined. The method is implemented in C++. The procedures to visualize the final state of the skeleton are developed for monitoring the quality of its creation.

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

УДК 004.932.2

DOI: 10.14529/^сг150302

СКЕЛЕТИЗАЦИЯ БИНАРНЫХ ИЗОБРАЖЕНИЙ

И ВЫДЕЛЕНИЕ ОСОБЫХ ТОЧЕК

ДЛЯ РАСПОЗНАВАНИЯ ОТПЕЧАТКОВ ПАЛЬЦЕВ

В.Ю. Гудков, Д.А. Клюев

Южно-Уральский государственный университет, г. Челябинск

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

Ключевые слова: скелетизация, особые точки, шаблоны скелетизации, отпечатки пальцев.

Введение

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

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

- алгоритмы, использующие сравнения по узору, описываемому синусоидальной волной с параметрами [2];

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

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

1. Постановка задачи

При обработке отпечатков пальцев для выделения особых точек изображение проходит следующие преобразования:

- бинаризация (не рассматривается в данной статье);

- скелетизация;

- выделение особых точек;

- сравнение по особым точкам (не рассматривается в данной статье).

Исходное изображение, получаемое от сенсора, проходит специализированную процедуру бинаризации с помощью известных алгоритмов [4]. Пример построения бинаризованного изображения из исходного приведён на рис. 1.

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

Рис. 1. Исходное изображение отпечатка; бинарное изображение

2. Краткий обзор методов скелетизации изображения

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

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

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

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

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

а) б) в)

Рис. 2. Волновой фронт: а - без препятствий, б - на прямой, в - по фигуре

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

Алгоритм утончения областей. Данный алгоритм основан на простом анализе окрестности каждой из его информативных точек. Соседи в окрестности информативного пикселя нумеруются по цепочке от/Ч до Р9 (рис. 3).

В зависимости от цветов закраски окрестных пикселей, вычисляются два параметра: A(P1) - число переходов от белого пикселя к чёрному в цепочке, а так же B(P1) - общее количество всех чёрных пикселей в окрестности. В зависимости от значений этих параметров, а так же закраски конкретных пикселей в четырёхсвязной области (пиксели P2, P4, P6, P8), принимается одно из двух решений - либо закрасить центральный пиксель в белый цвет, либо оставить его в том же виде.

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

~->2

РВ Р1 =|4

117 =■6 Р5

Рис. 3. Цепочка пикселей в методе утончения областей

Рис. 4. Применение алгоритма утончения областей для бинарного изображения отпечатка пальца

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

3. Метод скелетизации по шаблонам

Метод скелетизации изображения по шаблонам первоначально был предложен Розенфель-дом [7]. Алгоритм предполагает анализ окрестности информативных точек и выполнение действий по результатам анализа.

Метод поочерёдно просматривает все точки бинарного изображения f (х, у ) е {0,1}, где значение 1 соответствует бинарной линии узора, и анализирует окрестности только закрашенных (информативных) пикселей. Анализ окрестности представлен следующей формулой:

к = ХX / (х+л, у+i Ук 0, л), (1)

!=-1]=~1

где К - величина оценки окрестности, используемая как индекс; (х, у) - координаты исследуемого пикселя; _Дх, у) - значение пикселя на бинарном изображении; h(i, ]) - маска, элементы которой задают вес точек, представленная в виде

128 64 32 >

h = 16 0 8 . (2)

V 4 2 1 V

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

Индекс К - число в интервале от 0 до 255 включительно. Оно рассматривается алгоритмом как индекс ячейки в таблице правил, заранее заданной в процессе проектирования.

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

Закодированный набор правил

1 0 0 3 0 1 1 1 0 1 0 0 1 1 1 1

0 0 1 0 1 1 1 1 0 0 0 0 1 1 1 1

0 5 0 0 0 0 0 5 1 1 0 3 1 1 1 1

0 0 0 0 2 5 2 0 0 0 0 0 1 1 0 1

4 0 0 0 0 0 0 0 1 1 4 3 1 1 1 1

1 5 1 3 1 1 1 1 1 1 1 1 1 0 0 0

1 0 0 0 0 0 0 0 1 1 4 0 1 1 0 1

1 5 1 0 1 1 0 0 1 1 0 0 0 0 0 0

3 0 4 0 0 0 0 4 0 0 0 0 2 2 4 4

1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1

2 0 0 0 0 0 0 0 0 2 0 0 2 2 0 0

0 0 2 0 2 0 2 0 0 0 0 0 1 0 0 0

1 0 0 0 0 0 0 0 1 1 4 0 1 0 1 0

1 5 1 0 1 0 1 1 1 0 1 0 0 0 0 0

1 5 0 0 0 0 0 0 1 1 4 0 1 1 0 0

1 0 1 0 1 0 1 0 1 1 1 0 0 0 0 0

Например, одна из операций - простое удаление центрального пикселя (рис. 5). Для окрестности исследуемой точки (х, у) вычисляется индекс К по формуле (1), по которому из таблицы извлекается код операции (в данном случае - удаление центрального пикселя).

■ 64 32

16 Ш

К =116

115 ■ ■i

116

удаление

117

та оли да команд

Рис. 5. Удаление центрального пикселя

Другая возможная операция - перенос информативного пикселя на новое место с обнулением центрального (рис. 6). Перенос может быть осуществлён на любую точку окрестности.

таолицэ команд

Рис. 6. Перенос центрального пикселя

После обработки всех пикселей, метод итерационно повторяется. Если после очередной итерации ни один из пикселей не был закрашен или перемещён, алгоритм завершает свою работу. Результатом работы метода является скелет отпечатка пальца (рис. 7).

Рис. 7. Результат работы алгоритма шаблонной скелетизации 4. Выделение особых точек

Формула анализа окрестности (1), используемая в алгоритме шаблонной скелетизации, может быть так же применена для поиска особых точек изображения.

На отпечатке пальцев выделяются следующие виды особых точек: окончание, разветвление, пересечение (рис. 8).

а) б) в)

Рис. 8. Особые точки на отпечатке пальца: а - окончание, б - разветвление, в - пересечение

По аналогии с таблицей правил, на данном этапе создаётся таблица признаков. В ней так же содержится 256 элементов (по числу возможных шаблонов), однако вместо кода операции хранится признак особой точки. Например, 2, если окончание; 3 - разветвление; 4 - пересечение; 1 - точка является точкой скелета.

Исходные данные - скелет отпечатка. Результат работы алгоритма - новое изображение. Особые точки имеют значение больше 1 и отображаются различными цветами (рис. 9).

Рис. 9. Особые точки на отпечатке пальца

Заключение

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

Метод реализован на языке программирования высокого уровня C++ без использования сторонних библиотек в виде лабораторного образца. Для реализации промышленной версии необходимо выполнить тестирование алгоритма на большом наборе изображений отпечатков. По результатам тестирования таблица набора правил может быть скорректирована для некоторых из шаблонов.

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

Литература/References

1. Maltoni D., Maio D., Jain A.K., Prabhakar S. Handbook of Fingerprint Recognition. New York, Springer-Verlag, 2003. 510 p.

2. Hirzel J., Hartung D., Busch C. Fingerprint Recognition with Cellular Partitioning and Co-Sinusoidal Triplets. Biometrics and Electronic Signatures - BIOSIG, 2010, pp. 109-114.

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

3. Asker M. Bazen. Fingerprint Identification - Feature Extraction, Matching, and Database Search. Univ. of Twente, Enschede, The Netherlands, 2002. 187 p.

4. Wang W., Li J., Huang F., Feng H. Design and Implementation of Log-Gabor Filter in Fingerprint Image Enhancement. Pattern Recognition Letters, vol. 29, no. 3, pp. 301-308. DOI: 10.1016/j.patrec.2007.10.004

5. Клубков И.М. Применение волнового алгоритма для нахождения скелета растрового изображения. Вестник Донского государственного технического университета. 2001. Т. 1, № 1 (7). С. 126-133. [Klubkov I.M. (Application of the Wave Algorithm for Finding the Skeleton Bitmap). Bulletin of Don State Technical University, 2001, vol. 1, no. 1 (7), pp. 126-133 (in Russ.)]

6. Гонсалес Р., Вудс Р. Цифровая обработка изображений. М.: Техносфера, 2005. 1072 с. [Gonzales R., Woods R. Tsifrovaya obrabotka izobrazheniy (Digital Processing of the Images). Moscow, Tekhnosfera Publ., 2005. 1072 p.]

7. Pfalz J.L., Rosenfeld A. Computer Representation of Planar Regions by their Skeletons. Communications of the Association for Computing Machinery, 1967, vol. 10, no. 2, pp. 119-125. DOI: 10.1145/363067.363120

Гудков Владимир Юльевич, д-р физ.-мат. наук, профессор кафедры электронных вычислительных машин, Южно-Уральский государственный университет, г. Челябинск; diana@sonda.ru.

Клюев Даниил Александрович, магистрант кафедры электронных вычислительных машин, Южно-Уральский государственный университет, г. Челябинск; klyuev.da@gmail.com.

Поступила в редакцию 14 марта 2015 г.

DOI: 10.14529/ctcr150302

SKELETONIZATION OF BINARY IMAGES AND FINDING OF SINGULAR POINTS FOR FINGERPRINT RECOGNITION

V.Yu. Gudkov, South Ural State University, Chelyabinsk, Russian Federation, diana@sonda.ru, D.A. Klyuev, South Ural State University, Chelyabinsk, Russian Federation, klyuev.da@gmail.com

The paper reviews a new modified Rosenfeld skeletonization algorithm of binary fingerprint images. Singular points are allocated on the basis of the skeleton. Skeletonization and allocation of singular points are the basic procedures for solving the problem of verification and fingerprint identification. The described algorithm analyzes the neighborhood of informative image points and performs actions based on analysis. A detailed analysis of neighborhoods facilitates to remove noises that are contained in the original image and can be recognized as singular points of the fingerprint. Advantages of the new method of skeletonization compared to the known described in this work are also examined. The method is implemented in C++. The procedures to visualize the final state of the skeleton are developed for monitoring the quality of its creation.

Keywords: skeletonization, singular points, skeletonization template, fingerprint.

Received 14 March 2015

ОБРАЗЕЦ ЦИТИРОВАНИЯ

Гудков, В.Ю. Скелетизация бинарных изображений и выделение особых точек для распознавания отпечатков пальцев / В.Ю. Гудков, Д.А. Клюев // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». - 2015. - Т. 15, № 3. - С. 11-17. DOI: 10.14529/йсг150302

FOR CITATION

Gudkov V.Yu., Klyuev D.A. Skeletonization of Binary Images and Finding of Singular Points for Fingerprint Recognition. Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics, 2015, vol. 15, no. 3, pp. 11-17. (in Russ.) DOI: 10.14529/ctcr150302

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