П.3.1. НАЗНАЧЕНИЕ ПРОГРАММЫ
Программа распознавания личности по отпечаткам пальцев имеет идентификатор FingerAnalyser и предназначена для автоматической идентификации личности по папиллярному узору. Программа FingerAnalyser выполняет следующие функции:
1) модификация изображения, исправление искажений;
2) выделение локальных особенностей – минюций. Формирование списка минюций в абсолютных параметрах;
3) сортировка списка абсолютных параметров, исключение ложных и ненадежных минюций;
4) конвертирование абсолютных параметров в относительные, формирование списка относительных параметров;
5) установка системы допусков для учета корреляции изображений;
6) сравнение одного отпечатка с множеством других.
Данная работа реализует такое преобразование изображения, при котором данные о расположение уникальных особенностей сохраняются наиболее полно и с наименьшим содержанием ложной информации.
Создаваемая система облегчит разработку алгоритмов обработки изображений, упростит анализ экспериментальных данных и выявление общих закономерностей.
П.3.2. УСЛОВИЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ
Программа FingerAnalyser предъявляет следующие требования к техническим средствам:
- стандартный x86-совместимый ПК;
- тактовая частота процессора 900 МГц или более;
- объем оперативной памяти не менее 64 Мб;
- разрешение экрана монитора не менее 1024x768.
Программа FingerAnalyser предъявляет следующие требования к программным средствам:
− операционная система семейства Windows (Windows 9x/ME/NT/2000/XP);
− dll библиотеки MFC.
П.3.3. ВЫПОЛНЕНИЕ ПРОГРАММЫ
Для вызова программы необходимо в оболочке системы на главном окне нажать на кнопку «Анализ».
Интерфейс программы представлен на рис. П.3.1.
Интерфейс программы FingerAnalyser
Рис. П.3.1
На форме программы в визуальном виде представляется, после открытия через пункт «Открыть», исходное изображение, после нажатия на кнопку «Анализ», скорректированное изображение и визуальное представление структурного вида отпечатка. После чего можно нажатием на кнопку «Сравнить» отыскать в базе схожие отпечатки.
При каждом анализе отпечатка создается файл с его структурным описанием. Для того чтобы поместить отпечаток в базу данных отпечатков, для последующего сравнения с ним, необходимо нажать на кнопку «Запомнить в базу». Для запоминания в базу можно выбирать группу файлов для применения операции записи в базу данных для всех выбранных файлов.
П.3.4. СООБЩЕНИЯ ОПЕРАТОРУ
Сообщения, выдаваемые программисту, приведены в табл. П.3.1.
Таблица П.3.1
Сообщения оператору
Сообщение | Действия оператора |
Отпечаток не обработан | Прежде чем запускать сравнение необходимо провести анализ |
База данных пуста | В базе данных нет информации ни об одном отпечатке. Необходимо заполнить базу данных отпечатков |
Отпечаток не пригоден для сохранения в базу | На отпечатке либо слишком мало обнаружено минюций, менее 10, либо слишком много, более 80 |
Ни одного отпечатка не найдено | В результате поиска не совпало ни одного отпечатка |
Невозможно создать базу данных с отпечатками | Возможно, нет прав на запись или нет свободного места на носителе |
Невозможно создать файл | Возможно, нет прав на запись или нет свободного места на носителе |
Невозможно открыть файл | Возможно, нет прав на чтение или не существует запрашиваемого файла на носителе |
Найдены схожие отпечатки | В базе данных были обнаружены отпечатки, имеющие схожее представление. |
Визуализация результатов проведения анализа приведена на рис. П.3.1 в правой части экрана.
В табл. П.4.1 приведены результаты сравнения всех отпечатков полученных при испытаниях. Для проверки правильности работы имена файлам давались таким образом, что бы можно было определить принадлежность отпечатка.
Формат результата сравнения: A/B,
где A – количество совпавших минюций;
B – процент совпадения.
Формат имени файла: <Name><R|L><C>_<E>.bmp
где Name – имя человека, которому принадлежит отпечаток;
R – отпечаток с правой руки, L – отпечаток с левой руки;
С – порядковый номер пальца, начиная с большого;
E – экземпляр отпечатка.
Таблица П.4.1
Результаты сравнения
vovR2_1.bmp | 1L1_1.BMP | 1L2_1.BMP | 1L3_1.BMP | 1R1_1.BMP | 1R2_1.BMP | 1R3_1.BMP | 1R4_1.bmp | 2l1_1.bmp | 2l2_1.bmp | 2r1_0.bmp | 2r2_0.bmp |
1L1_2.bmp | 24/100 | ||||||||||
1L2_2.BMP | 9/90 | ||||||||||
1R1_2.BMP | 23/100 | ||||||||||
1R2_1rotate2.bmp | 23/100 | ||||||||||
1R2_2.BMP | 16/100 | ||||||||||
1R3_2.BMP | 1/10 | 3/30 |
1R4_2.bmp | 15/100 | |||
2l1_2.bmp | 14/100 | |||
2l2_2.bmp | 8/80 | |||
2r1_1.bmp | ||||
2r2_1.bmp | 1/10 | |||
2r3_1.bmp | ||||
3l1_2rotate.bmp | ||||
3l2_2.bmp | ||||
alexR1_3.bmp | ||||
alexR2_3.bmp | ||||
apmAR1_2.bmp | ||||
apmAR2_2.bmp | ||||
apmAR3_2.bmp | ||||
apmBR1_2.bmp | ||||
1L1_2.bmp | ||||
1L2_2.BMP | ||||
1R1_2.BMP | ||||
1R2_1rotate2.bmp | ||||
1R2_2.BMP | ||||
1R3_2.BMP | ||||
1R4_2.bmp | ||||
2l1_2.bmp | ||||
2l2_2.bmp | ||||
2r1_1.bmp | 2/20 | |||
2r2_1.bmp | ||||
2r3_1.bmp | 48/100 | |||
3l1_2rotate.bmp | 24/100 | 1/10 | ||
3l2_2.bmp | 21/100 | |||
alexR1_3.bmp | 4/40 | |||
alexR2_3.bmp | 4/40 | |||
apmAR1_2.bmp | 4/40 | |||
apmAR2_2.bmp | 9/90 | |||
apmAR3_2.bmp | ||||
apmBR1_2.bmp | 12/100 | |||
apmBR2_2.bmp | 20/100 | |||
apmBR3_2.bmp | ||||
hedgeR1_2.bmp | ||||
hedgeR2_3.bmp | ||||
karR1_2.bmp | ||||
karR2_2.bmp | ||||
starkyR1_2.bmp | ||||
starkyR2_2.bmp | ||||
starR1_2.bmp | ||||
vasL1_2.bmp | ||||
vasL2_2.bmp | ||||
vasR1_2.bmp | ||||
vovR1_2.bmp | ||||
1L1_2.bmp | ||||
1L2_2.BMP | ||||
1R1_2.BMP | ||||
1R2_1rotate2.bmp | ||||
1R2_2.BMP | ||||
1R3_2.BMP | ||||
1R4_2.bmp | ||||
2l1_2.bmp | ||||
2l2_2.bmp | 1/10 | |||
2r1_1.bmp | ||||
2r2_1.bmp | ||||
2r3_1.bmp | ||||
3l1_2rotate.bmp | ||||
3l2_2.bmp | ||||
alexR1_3.bmp | ||||
alexR2_3.bmp | ||||
apmAR1_2.bmp | ||||
apmAR2_2.bmp | ||||
apmAR3_2.bmp | ||||
apmBR1_2.bmp | ||||
apmBR2_2.bmp | ||||
apmBR3_2.bmp | 14/100 | |||
hedgeR1_2.bmp | 7/70 | |||
hedgeR2_3.bmp | 6/60 | |||
karR1_2.bmp | 15/100 | |||
karR2_2.bmp | 2/20 | |||
starkyR1_2.bmp | 12/100 | |||
starkyR2_2.bmp | 6/60 | |||
starR1_2.bmp | 22/100 | |||
vasL1_2.bmp | 20/100 | |||
vasL2_2.bmp | 10/100 | |||
vasR1_2.bmp | 15/100 | |||
vovR1_2.bmp | 49/100 |
Для тестирования программы было использовано 2 метода распознавания. Метод 1 не зависит от ориентации буквы на плоскости, метод 2 имеет привязанность к вертикальному положению буквы. При распознавании символьной информации было не распознано около 18% по методу 2 и 22% по методу 1. Результат сравнения приведен в табл. П.5.1.
Формат результата сравнения: A/B,
где A – количество совпавших минюций;
B – процент совпадения.
Таблица П.5.1
Результат распознавания символов
Открытый образ | Результат сравнения (метод 2) | Открытый образ | Результат сравнения (метод 1) | ||
Первое обнаруженное значение | Второе обнаруженное значение | Первое обнаруженное значение | Второе обнаруженное значение | ||
_a1.bmp | А (4/80) | Н (5/62) | _a1.bmp | Н(2/25) | Ы(1/20) |
_a2.bmp | А (5/100) | Н (3/37) | _a2.bmp | А(2/40) | Ц(1/11) |
_б1.bmp | Б (5/100) | Г (3/60) | _б1.bmp | Б(5/100) | Ш(4/44) |
_б2.bmp | Б (5/83) | Е (5/55) | _б2.bmp | Б(5/83) | Ш(4/44) |
_в1.bmp | В (3/100) | _в1.bmp | В(3/100) | Е(1/11) | |
_в2.bmp | В (3/100) | _в2.bmp | В(3/100) | Б(1/20) | |
_г1.bmp | Г (3/75) | Б (3/60) | _г1.bmp | Г(3/75) | Б(3/60) |
_г2.bmp | Г (4/66) | Е (5/55) | _г2.bmp | Г(4/66) | Щ(3/20) |
_д1.bmp | Д (8/80) | Щ (7/46) | _д1.bmp | Д(8/80) | Г(3/30) |
_д2.bmp | Д (8/80) | Щ (5/33) | _д2.bmp | Д(9/90) | Щ(3/20) |
_е1.bmp | Е (7/70) | Ы (8/61) | _е1.bmp | Е(7/70) | Э(5/50) |
_ж1.bmp | Ж (10/83) | Х (7/58) | _ж1.bmp | Ж(10/83) | Х(7/58) |
_ж2.bmp | Ж (10/83) | Ж (6/50) | _ж2.bmp | Ж(10/83) | Х(7/58) |
_з1.bmp | З (5/55) | Д (4/40) | _з1.bmp | З(5/55) | Э(4/44) |
_з2.bmp | Э (4/57) | Щ (3/20) | _з2.bmp | Е(5/55) | Ю(1/14) |
_и1.bmp | И (5/83) | Х (4/57) | _и1.bmp | И(4/66) | К(4/57) |
_и2.bmp | И (4/66) | Ы (3/50) | _и2.bmp | И(4/66) | М(5/62) |
_к1.bmp | К (7/100) | Ж (6/54) | _к1.bmp | К(7/100) | Ж(6/54) |
_к2.bmp | К (7/100) | М (4/50) | _к2.bmp | К(7/100) | Ж(7/63) |
_л1.bmp | П (5/83) | Л (4/57) | _л1.bmp | П(4/66) | Л(4/57) |
_л2.bmp | П (5/83) | Л (4/57) | _л2.bmp | П(5/83) | Л(4/57) |
_м1.bmp | М (6/75) | Ж (7/63) | _м1.bmp | М(7/87) | Ж(3/27) |
_м2.bmp | М (8/100) | И (6/75) | _м2.bmp | М(8/100) | Ъ(2/25) |
_н1.bmp | Н (8/100) | Ю (6/66) | _н1.bmp | Н(8/100) | Ч(6/75) |
_н2.bmp | Н (8/100) | Ч (6/75) | _н2.bmp | Н(8/100) | Ч(6/75) |
_о1.bmp | _о1.bmp | ||||
_о2.bmp | _о2.bmp | ||||
_п1.bmp | П (6/100) | Л (5/71) | _п1.bmp | П(6/100) | Ш(6/66) |
_р2.bmp | Х (3/42) | Н (3/37) | _р2.bmp | Р(3/75) | Х(3/42) |
_с1.bmp | С (2/40) | Ц (2/22) | _с1.bmp | С(3/60) | Ц(2/22) |
_с2.bmp | К (1/14) | Ж (1/9) | _с2.bmp | Щ(1/6) | |
_т1.bmp | Т (5/100) | Г (3/60) | _т1.bmp | Т(5/100) | Г(2/40) |
_т2.bmp | Т (5/100) | Г (3/60) | _т2.bmp | Т(4/80) | Г(3/60) |
_у1.bmp | У (5/83) | Ч (5/71) | _у1.bmp | Ю(4/44) | Ш(4/44) |
_у2.bmp | У (4/80) | Щ (4/26) | _у2.bmp | У(1/20) | К(1/14) |
_ф1.bmp | Ф (3/100) | П (3/50) | _ф1.bmp | П(3/37) | Ц(3/33) |
_ф2.bmp | Ф (3/100) | П (3/50) | _ф2.bmp | Ф(3/100) | Ц(3/33) |
_х1.bmp | Х (7/87) | Ж (7/63) | _х1.bmp | Х(7/87) | Ч(4/50) |
_х2.bmp | Х (7/87) | К (6/75) | _х2.bmp | Х(6/75) | К(5/62) |
_ц1.bmp | Ц (8/88) | Ш (5/55) | _ц1.bmp | Ц(8/88) | П(4/50) |
_ц2.bmp | Ц (9/100) | Ш (6/66) | _ц2.bmp | Ц(7/77) | Ш(6/66) |
_ч1.bmp | Ч (7/100) | Ц (7/77) | _ч1.bmp | Ч(7/100) | Н(5/62) |
_ч2.bmp | Ч (7/100) | Ц (7/77) | _ч2.bmp | Ч(7/100) | П(5/71) |
_ш1.bmp | Ш (6/66) | Ц (5/55) | _ш1.bmp | Ш(6/66) | П(5/62) |
_ш2.bmp | Ш (6/66) | Ц (5/55) | _ш2.bmp | П(5/62) | Ы(3/37) |
_щ1.bmp | Ц (9/81) | Ю (8/72) | _щ1.bmp | Ц(6/54) | Щ(7/46) |
_ъ1.bmp | Ъ (5/83) | Д (3/30) | _ъ1.bmp | Ъ(4/66) | Г(3/60) |
_ъ2.bmp | Ъ (5/83) | З (2/33) | _ъ2.bmp | Ъ(5/83) | Ы(4/30) |
_ы1.bmp | Ы (4/66) | Ч (4/57) | _ы1.bmp | Ь(3/50) | Ы(2/33) |
_ы2.bmp | Ы (4/66) | Ь (3/50) | _ы2.bmp | Ы(5/83) | Ь(3/50) |
_ь1.bmp | Ь (3/75) | Ы (3/60) | _ь2.bmp | Ь(3/60) | Н(2/25) |
_ь2.bmp | Ю (2/22) | Щ (2/13) | _ь1.bmp | Ь(3/75) | Я(3/42) |
_э1.bmp | Э (3/50) | Л (1/14) | _э1.bmp | Э(3/50) | Ш(1/11) |
_э2.bmp | Э (5/100) | Щ (1/6) | _э2.bmp | Е(5/55) | Э(1/20) |
_ю1.bmp | Ю (8/88) | Н (7/77) | _ю1.bmp | Ю(7/77) | Ч(6/66) |
_ю2.bmp | Н (7/77) | Ю (6/66) | _ю2.bmp | Н(6/66) | Ю(5/55) |
_я1.bmp | Я (5/71) | Ж (4/36) | _я1.bmp | Я(5/71) | Ж(1/9) |
_я2.bmp | Я (4/57) | Ю (4/44) | _я2.bmp | Я(3/42) | Ь(2/33) |
Тестирование на чувствительность к ориентации образа на плоскости: | |||||
_А_10.bmp | А (4 80) | Х (3 42) | _А_10.bmp | А (1/20) | Р (1/20) |
_А_90.bmp | Е (3 33) | Б (2 33) | _А_90.bmp | А (4/80) | Ж (3/27) |
_А_30.bmp | Ю (4 66) | Ч (3 50) | _А_30.bmp | А (4/80) | Ж (3/25) |
_А_15.bmp | Ю (3 50) | Ц (3 42) | _А_15.bmp | А (3/60) | Щ (4/26) |
Итого по методу 2: 11 нераспознано и 15 распознано лучше, чем метод 1.
Итого по методу 1: 13 нераспознано и 6 распознано лучше, чем метод 2.
[1] Microsoft Foundation Class