УДК 681.3.01+681.3.05+681.3.066
ИНДЕКСАЦИЯ ДАКТИЛОСКОПИЧЕСКИХ ИЗОБРАЖЕНИЙ
В.Ю. Гудков
FINGERPRINT INDEXING
V.U. Gudkov
В работе предлагается метод расчета индексов дактилоскопического изображения на основе векторов состояния для частных признаков. Расчет одного индекса опирается на параметры векторов состояния, увязанных в цепь. Набор индексов служит ссылками в коллекции изображений.
Ключевые слова: отпечаток пальца, частный признак, вектор состояния, индексация.
This paper presents a method of fingerprint indexing based on the state vectors of minutiae. The parameters of state vectors fitted in chain are used to calculate the indexes. Data base references are the same as indexes.
Keywords: fingerprint, minutiae, state vector, indexing.
Введение
Изображения отпечатков пальцев или ладоней относятся к дактилоскопическим изображениям (ДИ). Они характеризуются частными признаками в виде окончаний и разветвлений линий [1]. Обычно модель частных признаков формируется в виде
1т = {М, ={(*,» Я). «;>*,} |»е1...и} , (1)
где М1 - частный признак; мощность \Ьт\ = п\ / - номер частного признака; (х, ,>>, ), а, и tt -координаты, направление и тип М1. Частные признаки детектируют по скелету изображения [1]. Координаты (х,, у/) определяются координатами вершины скелета. Направление а1 как угол определяется цепью вершин скелета [2]. Тип ^ е {0,1} отражает валентность вершины скелета [2].
Идентификация ДИ на основе модели (1) неэффективна [1]. Поэтому вводят специальные метрики. Наиболее удачные из них отражают структуру узора, например в виде топологических векторов [3], уменьшающих ошибки распознавания. Однако сложный анализ, который необходимо выполнять при сопоставлении топологических векторов, снижает производительность процедуры идентификации личности. Первая попытка для преодоления этого недостатка сделана в [4] на основе векторов состояния, которые повышают производительность процедуры идентификации и практически не увеличивают ошибки распознавания. Но желаемого эффекта не достигается. На базах данных объемом в несколько миллионов дактилокарт установление личности может выполняться несколько часов.
Гудков Владимир Юльевич - преподаватель, доцент Челябинского государственного университета; сНапа@зопёаги
Ключевым решением обозначенной проблемы является индексация изображений, что актуально в эпоху развития интернета с внушительным количеством фотографий, картин, документов и других источников данных. Индексация ДИ тоже актуальна, поскольку указывает магистральное направление для повышения производительности дактилоскопических систем. Однако в настоящее время неизвестно эффективных алгоритмов индексации ДИ [1].
1. Вектор состояния частного признака
Для каждого частного признака определяют один вектор состояния. Их множество записывают в виде
1с ={ $ ={(с/,И7)}|/е1...И,7б1...7Яг|, (2)
где Б,- - вектор состояния частного признака М1; мощность \ЬС\ = \Ьт\ = п; / - номер вектора состояния, совпадающий с номером частного признака; ] - номер связи в векторе состояния; с} -
состояние, сформированное частным признаком с номером п}, т1 - количество связей, зависящее от
типа частного признака /, по (1).
Опишем процедуру построения векторов состояния.
В области ясного ДИ выделяют линии и формируют стилизованное изображение в виде скелета [1]. По скелету детектируют окончания и разветвления. Их направления показаны на рис. 1. Направление указывает на область увеличения числа линий и параллельно касательной к скелету линии в малой окрестности частного признака.
Gudkov Vladimir Uylievich - lecturer, associate professor of Chelyabinsk State University; diana@sonda.ru
1_________ а
А ^ ^^ м,
V----*-*М, 3 ?> '---V!
2-----*--- у2---------- .
Рис. 1. Направление и две проекции от окончания и разветвления
Каждый частный признак М, по (1) нумеруют и задают координатами, направлением как углом и типом. Затем от каждого частного признака фиксируют две проекции: вправо и влево перпендикулярно направлению частного признака на смежные скелетные линии номер 1 и 2 (на рис. 1 проекции на вершины скелета изображены пунктиром).
Выберем частный признак М1 и проведем через координаты (х1, у1) вправо и влево сечение на глубину нескольких линий т перпендикулярно касательным к пересекаемым линиям. Пронумеруем по спирали, разворачивающейся по часовой стрелке, рассеченные линии, которые назовем связями. Сечение проходит по кривой линии, параллельно направлению кривизны линий. Глубина сечения т варьируется: /71 € 1... 8 вправо и также влево. Одна линия в сечении образует две связи. Центральная линия -одну или три связи по формуле
4/77 + 1, если Ц - окончание,
4/77 + 3, если Ц - разветвление.
Вектор состояния определяют по сечению, изображенному на рис. 2 или рис. 3 пунктиром. Для этого прослеживают ход каждой связи от сечения до встречи на связи с другим частным признаком или с проекцией от него. На связях детектируют состояния:
1 - на связи частный признак или проекция от него, направление частного признака ориентировано навстречу ходу связи;
О - на связи частный признак или проекция от
• 13 14
28 9 А 10 V20
А —5 А 6 ^ о о
-У* V 1 2 V
0, >19
Д22 4 3
V 8 7 24?
А 12 Г 26 $ И V
V 16 15 27ш
Рис. 2. Сечение для окончания
него, направление частного признака ориентировано по ходу связи.
С состоянием, детектированным на связи, ассоциируют номер частного признака, инициирующего это состояние. Так формируется вектор состояния, показанный в виде табл. 1 для окончания и табл. 2 для разветвления [4]. Здесь символ _ - код пропуска.
На рис. 2 в сечении для окончания 19 пронумерованы связи 0-16 и частные признаки 20-28; вектор состояния представлен в табл. 1. На рис. 3 в сечении для разветвления 19 пронумерованы связи 0-18 и частные признаки 20-27; вектор состояния представлен в табл. 2. Код пропуска указывает на обрыв связи и запоминается в маске вектора состояния. Каждый бит состояния располагается в позиции, определяемой номером связи. При мутациях частных признаков вектор состояния меняется, но измененные номера связей рассчитываются [3].
Определение 1. Мутацией первого рода называется изменение типа частного признака без его перехода через линию.
Определение 2. Мутацией второго рода называется переход частного признака через линию с сохранением его типа.
Пусть 5/ и Б" - два вектора состояний для частных признаков М[ и М” с различных образцов ДИ. Быструю и грубую проверку степени подобия М[ и М" выполняют сравнением Б\ и Б" операцией ИСКЛЮЧАЮЩЕЕ ИЛИ и подсчетом числа совпадающих бит с учетом масок векторов
С 15 16
> И 12 *20 V
А —«4.21 7 8 А о а
V 3 4 V
*22 Ф 2 10 0
1У —т 24 5 А
V 6 V
А 10 9 26 • V
V 14 13 27
18 17
Рис. 3. Сечение для разветвления
Индексация дактилоскопических изображений
Таблица 1 Вектор состояния для окончания
Номер связи Индекс Состояние
0 22 1
1 21 0
2 23 1
3 24 0
4 22 1
5 21 0
6 23 1
7 24 0
8 25 0
9 21 0
10 20 0
11 26 0
12 25 0
13 28 1
14 20 0
15 27 1
16 25 0
состояний (биты, отмеченные кодом пропуска, не сравнивают). Это число коррелирует со степенью подобия сравниваемых частных признаков. Данная операция позволяет ускорить процедуру идентификации ДИ в десятки раз [4].
Теорема 1. Вектор состояния устойчив по Ляпунову.
Доказательство. Выберем частный признак М1. Для одного М, рассчитывается один вектор состояния . При мутации первого рода связи вектора £, перенумеровываются. Поскольку мутация может быть правой или левой, для вектора рассчитываются 5/* и . Однако их номера связей можно восстановить для сравнения с . При этом код пропуска формируется на двух связях, образованных левой или правой крайней линией в сечении. Далее, при мутации второго рода рассчитываются другие векторы состояния Б- и Б!, для которых код пропуска формируется на четырех связях, образованных двумя левыми или правыми крайними линиями в сечении. Итак, для мутации, не превышающей род д{£), можно указать количество кодов пропуска, не превышающих величину £ . Выполняется устойчивость по Ляпунову [5].
2. Индексация изображения
Для вектора состояния , на примере окончания (см. рис. 2) и разветвления (см. рис. 3) вычислим скалярное число переднего фронта и заднего фронта В} Для этого по сечению выделим передний и задний фронт связей. Выписывая по порядку означенные связи, на основе табл. 1 построим два фронта для окончания в виде табл. 3 и табл. 4, а на основе табл. 2 - для разветвления в виде табл. 5 и табл. 6.
Таблица 2 Вектор состояния для разветвления
Номер связи Индекс Состояние
0 24 0
1 22 1
2 22 1
3 21 0
4 23 1
5 24 0
6 25 0
7 21 0
8 23 1
9 26 0
10 25 0
11 21 0
12 20 0
13 27 1
14 25 0
16 20 0
15, 17, 18 - -
Выписывая сверху вниз из табл. 3-6 состояния, получим записи переднего фронта Ге =00110001 и заднего фронта Ве =100011000 для окончания, а также записи переднего фронта Ръ = 00110001 _
и заднего фронта Въ - _ 00011000 _ для разветвления. В записях объединим состояния, ассоциированные с одинаковым номером частного признака.
Тогда ^ =01001 и Ве =1010, а = 01001 _ и ВР =___010__. Припишем к записям лидирующую еди-
ницу: ^ =101001 и Ве =11010, а Ръ =101001_
и Въ = 1 _ 010_.
Запись есть число. Если встречается код пропуска, то число обнуляется: =101001 и
Ве = 11010, а Рь = 0 и Въ = 0 . Код пропуска формируется обрывом или замыканием связи. Тогда для каждого вектора состояния Бг рассчитывают ненулевое скалярное число переднего фронта ^ и заднего фронта В/ Для увеличения вероятности расчета ненулевых значений Р, и В} применяют:
- выбор изображения с большим числом частных признаков;
- увеличение глубины сечения при построении вектора состояния Sj;
- уменьшение глубины сечения для расчета переднего фронта Рг и заднего фронта В} по сравнению с глубиной сечения вектора состояния 5,-
Определение 3. Векторы состояния 5,- и называются центрально связанными, если состояния, ассоциированные с частными признаками М} и М,,
располагаются на связях с минимальными номерами.
Таблица 3 Передний фронт для окончания
Номер связи Индекс Состояние
14 20 0
10 20 0
6 23 1
2 23 1
3 24 0
7 24 0
11 26 0
15 27 1
Таблица 5 Передний фронт для разветвления
Номер связи Индекс Состояние
16 20 0
12 20 0
8 23 1
4 23 1
0 24 0
5 24 0
9 26 0
13 27 1
17 - -
Таблица 4 Задний фронт для окончания
Номер связи Индекс Состояние
13 28 1
9 21 0
5 21 0
1 21 0
0 22 1
4 22 1
8 25 0
12 25 0
16 25 0
Таблица 6 Задний фронт для разветвления
Номер связи Индекс Состояние
15
11 21 0
7 21 0
3 21 0
2 22 1
1 22 1
6 25 0
10 25 0
14 25 0
18 - -
Построим простую цепь центрально связанных векторов состояния С = £, ,..., такую, что скалярные числа 7^ и Вк, или только , или только Вк ненулевые, где к е г...] и е\...п. Вычислим
хеш-функцию й вида й(^,...,^), )
или h[FJ,...,FJ,Bi,...,BJ'), значение г которой
поместим в список индексов изображения 11т Фиксируя длину различных простых цепей, вычислим возможные значения £ хеш-функции.
Определение 4. Индексом изображения называется скалярная величина, вычисляемая на основе ненулевых чисел переднего и заднего фронтов, определяемых в цепи центрально связанных векторов состояния.
Таким образом, при индексировании ДИ выполняется отображение в виде
Г€41*6 1...;}-*/„,={*}, (4)
где Бк - вектор состояния частного признака Мк по (1) в модели Ьс по (2); 1 - значение хеш-функции для ненулевых скалярных Рк и Вк в цепи длиной |с|.
Заключение
В работе предложены векторы состояния, приближенно характеризующие области частных признаков. Доказывается устойчивость векторов состояния при мутациях частных признаков, что
обеспечивает возможность расчета устойчивых скалярных значений переднего и заднего фронтов векторов состояния, увязывание которых в цепь определяет индекс ДИ. Для одного ДИ вычисляется несколько таких индексов, играющих роль ссылок в коллекции изображений. Ссылки используются процедурой идентификации ДИ для ее ускорения.
Литература
1. Maltom, D. Handbook of fingerprint recognition / D. Maltom, D Маю, A. К. Jain. - New York: Springer-Verlag, 2003. - 348p.
2. Новиков, Ф.А. Дискретная математика для программистов: учебник для вузов / Ф.А. Новиков. -СПб.. Питер, 2008. - 384 с.
3. Пат. 2185660 Российская Федерация, МП К G 06 К 9/52. Способ кодирования отпечатка папиллярного узора / В.Ю. Гудков, A.C. Боков. -№ 2000118065/09; заявл. 07 07.2000; опубл. 20.07.2002; Бюл. № 20. - 13 с.
4. Пат. 2331108 Российская Федерация, МП К G 06 К 9/62. Способ сравнения отпечатков папиллярных узоров / Д.И. Аркабаев, В.Ю. Гудков. -Ns 2006140939/09; заявл. 20.11.2006, опубл. 10.08.2008; Бюл. N9 22. -17 с.
5. Афанасьев, В.Н. Математическая теория конструирования систем управления / В.Н. Афанасьев, В.Б. Колмановский, В.Р Носов. - М.. Высшая школа, 1998. - 574 с.
Поступила в редакцию 21 декабря 2009 г.