Система идентификации личности по отпечаткам пальцев. Подсистема распознавания

Автор работы: Пользователь скрыл имя, 16 Июня 2013 в 21:47, дипломная работа

Краткое описание

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

Содержание

ВВЕДЕНИЕ
РАЗРАБОТКА СИСТЕМЫ ИДЕНТИФИКАЦИИ ЛИЧНОСТИ ПО
ОТПЕЧАТКАМ ПАЛЬЦЕВ
Обоснование целесообразности разработки системы идентификации
личности
по отпечаткам пальцев
1.1.1.Назначение системы
1.1.2.Характеристика функциональной структуры системы
1.1.3.Обоснование цели создания системы
1.1.4.Обоснование состава автоматизируемых задач
1.2.Аналитический обзор
1.2.1. BioLink
1.2.1.1. BioLink BioTime 2006
1.2.1.2. BioLink Authenteon Software Appliance (ASA)
1.2.2. Microsoft IntelliMouse Explorer with Fingerprint Reader
1.2.3. Сотовый телефон GI100
1.2.4. Adobe Photoshop
1.2.5. FineReader
1.2.6. Вывод по аналитическому обзору
1.3. Основные требования к системе
1.3.1. Основные цели создания системы и критерии эффективности ее функционирования
1.3.2. Функциональное назначение системы
1.3.3. Особенности и условия эксплуатации системы
1.3.4. Требования к функциональной структуре
1.3.5. Требования к техническому обеспечению
1.3.6. Требования к информационному обеспечению
1.3.7. Требования к программному обеспечению
1.4. Основные технические решения проекта системы
1.4.1. Решение по комплексу технических средств
1.4.2. Описание системы программного обеспечения
2. РАЗРАБОТКА ПОДСИСТЕМЫ РАСПОЗНАВАНИЯ
2.1. Описание постановки задачи распознавания
2.1.1. Характеристика задачи
2.1.2. Входная информация
2.1.3. Выходная информация
2.1.4. Математическая постановка задачи
2.2. Описание алгоритма преобразования абсолютных параметров минюций к относительным параметрам
2.2.1. Назначение и характеристика алгоритма преобразования абсолютных параметров минюций к относительным
2.2.2. Используемая информация
2.2.3. Результаты решения
2.2.4. Математическое описание алгоритма преобразования абсолютных параметров минюций к относительным
2.2.4.1. Алгоритм нахождения габаритных размеров и количества точек в непрерывной области
2.2.5. Требования к контрольному примеру
2.2.6. Список условных обозначений
2.3. Описание алгоритма сравнения структурных представлений отпечатков пальцев
2.3.1. Назначение и характеристика алгоритма сравнения структурных представлений отпечатков пальцев
2.3.2. Используемая информация
2.3.3. Результаты решения
2.3.4. Математическое описание алгоритма нахождения статистических характеристик цветового кластера
2.3.5. Алгоритм нахождения статистических характеристик цветового кластера
2.3.6. Требования к контрольному примеру
2.3.7. Список условных обозначений
2.4. Описание подпрограммы «OnBnClickedCompare»
2.4.1. Вводная часть
2.4.2. Функциональное назначение
2.4.3. Описание информации
2.4.4. Используемые подпрограммы
2.4.5. Схема подпрограммы «OnBnClickedCompare»
2.5. Описание подпрограммы «Convert»
2.5.1. Вводная часть
2.5.2. Функциональное назначение
2.5.3. Описание информации
2.5.4. Используемые подпрограммы
2.5.5. Схема подпрограммы «Convert»
2.6. Описание подпрограммы «CompareWithBase»
2.6.1. Вводная часть
2.6.2. Функциональное назначение
2.6.3. Описание информации
2.6.4. Используемые подпрограммы
2.6.5. Схема подпрограммы « CompareWithBase»
2.7. Описание подпрограммы «Compare»
2.7.1. Вводная часть
2.7.2. Функциональное назначение
2.7.3. Описание информации
2.7.4. Используемые подпрограммы
2.7.5. Схема подпрограммы «Compare»
2.8. Описание контрольного примера
2.8.1. Назначение
2.8.2. Исходные данные
2.8.3. Контрольный пример
2.8.4. Тестирование программного обеспечения системы распознавания личности по отпечаткам пальцев
3. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯ ЧАСТЬ
3.1. Обоснование необходимости разработки подсистемы распознавания в системе идентификации личности по отпечаткам пальцев
3.2. Расчет затрат на разработку подсистемы распознавания в системе идентификации личности по отпечаткам пальцев
4. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ ПРОЕКТА
4.1. Анализ опасных и вредных факторов, возникающих при работе на компьютере
4.2. Техника безопасности при эксплуотации компьютера
4.3. Организация рабочего места оператора
4.4. Требования к параметрам микроклимата помещения
4.5. Требования к освещению и расчет искусственного освещения
4.6. Пожарная безопасность
ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА

Прикрепленные файлы: 1 файл

Диплом.doc

— 2.28 Мб (Скачать документ)

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

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

На рис. 2.1 представлено изображение отпечатка пальца, с обнаруженными на нем минюциями. Линиями представлено относительное расположение точек относительно центральной.

На рис. 2.2 представлено изображение отпечатка того же пальца, но повернутого относительного первого на 45 градусов. Линиями представлено относительное расположение точек относительно центральной.

Прямой отпечаток

Рис. 2.1

Повернутый отпечаток

Рис 2.2

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

Таким образом, точка считается  совпавшей, если ее местоположение относительно другой точек входит в определенную область вокруг первоначального  положения. На рис. 2.3 представлена область, в которой положение точки относительно другой считается совпавшим.

Область допуска

Рис. 2.3

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

Отпечатки считаются схожими, если количество совпавших точек превышает определенный порог сходства.

Работа подсистемы реализуется  следующими этапами:

  • преобразование абсолютных параметров минюций к относительным параметрам минюций;
  • разработка системы допусков для сравнения минюций;
  • сравнение структурных представлений отпечатков пальцев.

Функциональная схема подсистемы представлена на рис.2.4

Функциональная схема подсистемы распознавания

Рис. 2.4

 

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

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

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

Представим  структурное представление отпечатка  пальцев в виде списка M, содержащего параметры специальных точек:

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

Так как необходимо оценить расстояние между каждой из пар минюций, сложность  этих алгоритмов превышает o(N2), где N - количество обнаруженных минюций на изображении отпечатка пальца. В среднем количество точек на отпечатке не превышает 50, таким образом, потребуется 502 = 2500 операций, что является небольшим объемом вычислений. Тесты показывают, что современные пользовательские ЭВМ способны выполнять около операций вычисления расстояния в секунду.

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

      1. Используемая информация

При реализации данного алгоритма  используется массив информации, сформированный на предыдущем этапе обработки изображения  отпечатка пальца в подсистеме анализа  изображения.  Каждый элемент массива  представляет из себя структуру, содержащую все необходимые для обработки параметры минюций: координаты целого типа – 2х4 байта, угол направления 8 байт, тип точки 1 байт, поэтому общий размер массива должен быть кратен 2*4+8+1 = 17 байт.

,

 

где Xi, Yi – координаты минюций на растровом представлении изображения отпечатка пальцев, целые числа, величина которых ограничена размером изображения отпечатка в пикселах;

αi – направление предполагаемого продолжения гребня на отпечатке пальцев в точки типа окончание и направление слипания для точки типа раздвоение, дробное число, величина которого изменяется (–pi, +pi);

Тi – тип обнаруженной точки, битовое поле, принимает 2 значения «раздвоение» = 0 (false) и «окончание» = 1 (true);

k – количество минюций на исследуемом отпечатке.

Для обработки массивов используется двунаправленный список. Список представляет собой вектор:

В данную информационную структуру  можно заносить и извлекать элементы с любой стороны.

      1. Результаты решения

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

Каждый элемент массива содержит описание точки, расстояние до второй точки, угол между собственным направлением точки и направлением во вторую точку, Угол между собственными направлениями двух точек. В табл. 2.3 приведен формат элемента массива.

Таблица 2.3

Структура элемента массивазаписи

 

Поле

Формат

Описание

lij

Целое

Расстояние между i и j точками

A1ij

Дробное

Угол между собственным  направлением точки i и направлением из точки i в точку j. A1ijÎ[0, 2*M_PI)

A2i

Дробное

Угол между собственными направлениями точек i и j. A2ijÎ[0, 2*M_PI)


      1. Математическое описание алгоритма преобразования абсолютных параметров минюций к относительным

Обобщенное математическое описание преобразования приведено в п.2.1.4.

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

 

,

 

где i, j – минюции

dLengthij – расстояние между точками i и j

dAlpha1ij – угол между направлением точки i и направлением на точку j

dAlpha2ij – угол между направлением точки i и точки j

Alphai – угол вектора самой точки

Alphaij – угол вектора направления от точки i к точке j

На  рис. 2.5 представлено расположение точки i относительно точки j со всеми полученными параметрами.

 

относительные параметры

Рис. 2.5

        1. Алгоритм нахождения габаритных размеров и количества точек в непрерывной области

  1. Очистить список RelFing с относительными параметрами отпечатка
  2. Если список AbsFing пуст, перейти к пункту 20
  3. Для каждого элемента iterA1 списка AbsFing выполнить пункты 4 - 19
  4. Очистить список listDots с относительными параметрами точки
  5. Для каждого элемента iterA2 списка AbsFing выполнить пункты 5 - 17
  6. Если iterA2 == iterA1, перейти к пункту 5.
  7. l = |GetS(iterA1->coord, iterA2->coord)|
  8. vecAB = GetAlpha(iterA2->coord, iterA1->coord)
  9. tmpa = iterA1->alpha - vecAB;
  10. Если (tmpa < 0), переход к п. 11, иначе переход к п. 12
  11. tmpa = 2*M_PI + tmpa;
  12. a1 = |tmpa * 180.0/M_PI +0.5|
  13. tmpa = iterA2->alpha – iterA1->alpha
  14. Если (tmpa < 0) , переход к п. 15, иначе переход к п. 16
  15. tmpa = 2*M_PI + tmpa;
  16. a2 = |tmpa * 180.0/M_PI +0.5|
  17. Добавить в список listDots параметры очередной точки – l, a1, a2, перейти к п. 5.
  18. отсортировать список listDots
  19. занести относительные параметры точки listDots в список отпечатка RelFing, перейти к п. 3
  20. Конец
      1. Требования к контрольному примеру

Контрольный пример должен содержать отпечатки более чем с одной обнаруженной минюцией.

      1. Список условных обозначений

RelFing  - список минюций в относительных параметрах

AbsFing - список минюций в абсолютных параметрах

listDots – относительные параметры  точки

iterA1 – исследуемая точка в абсолютных параметрах

iterA2 – точка в абсолютных параметрах, относительно которой вычисляется точка iterA1

l – расстояние между точками iterA1 и iterA2

GetS – функция вычисления расстояния

|| - округление до ближайшего целого

vecAB – вектор между направлениями точки iterA1 и iterA2

GetAlpha – функция вычисления угла между векторами 

tmpa

a1 = угол между направлением самой точки и направлением на другую точку

a2 = угол между направлениями точек.

    1. Описание алгоритма сравнения структурных представлений отпечатков пальцев

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

Вследствие эластичности кожи и  роста человека расстояние между  точками может измениться, что  не должно влиять на результат распознавания, однако разные точки так же не должны быть приняты за одну. Для этого в подсистеме распознавания была разработана система допусков при сравнении двух отпечатков.

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

      1. Используемая информация

При реализации алгоритма используются относительные параметры минюций, полученные в результате преобразования, проводимого алгоритмом преобразования абсолютных параметров минюций к относительным, описанного в п. 2.2. Информация о необходимых параметрах минюций содержится в списке fng, каждая запись которого имеет структуру, приведенную в табл. 2.3.

      1. Результаты решения

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

 

Таблица 2.4

Структура записи об обнаруженных отпечатках

 

Поле

Формат

Описание

Name

Строковое

Имя отпечатка (наименование файла, из которого были взяты параметры)

Count

Целое

Количество минюций  совпавших при сравнении отпечатков.

Pct

Дробное

Степень сходства отпечатков в процентах, принимает значения (0, 100].


      1. Математическое описание алгоритма нахождения статистических характеристик цветового кластера

Таким образом, точка считается  совпавшей, если ее местоположение относительно другой точек входит в определенную область вокруг первоначального положения. На рис. 2.6 представлена область, в которой положение точки относительно другой считается совпавшим.

Область допуска

Рис. 2.6

Для вычисления степени сходства двух отпечатков происходит сравнение каждой минюции на обоих отпечатках:

M – список минюций на обрабатываемом образе

k – количество минюций на  обрабатываемом образе

M = {m1, m2, …, mk}

N – список минюций одного  отпечатка из базы отпечатков

l – количество минюций на отпечатке  из базы отпечатков

N = {n1, n2, …, nl}

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

S = {mi, где i=(1..k), P(mi, N)}

r = | S | – количество совпавших точек.

P(mi , N) – Точка считается совпавшей,  если относительно нее найдено необходимое количество удовлетворяющих условию точек.

Отпечатки считаются схожими, если количество совпавших точек превышает порог  сходства (p):

r ≥ p – условия совпадения

r < p – условие не совпадения

      1. Алгоритм нахождения статистических характеристик цветового кластера

  1. CONFIRM_VAL = 9; DELTA_L = 10.0; DELTA_A = 10.0; confirmDot = 0; short needVal = |min(this->size(),fng.size())/3.0 +0.5|;
  2. для каждо<span class="dash041e_0431_044b_0447_043d_044b_0439__Char" st

Информация о работе Система идентификации личности по отпечаткам пальцев. Подсистема распознавания