- •Аннотация
- •Введение
- •Термины и определения
- •Биометрические методы идентификации
- •Анатомия пальца человека
- •Общие сведения о преобразовании Габора
- •Обзор существующих методов генерации отпечатков пальцев
- •Обзор существующего программного обеспечения
- •Введение
- •Формализация алгоритма генерации искусственных биометрических образов
- •Roc-анализ
- •Математическая постановка задачи
- •Решение поставленной математической задачи
- •Введение
- •Разработка общей структуры по
- •Выбор языка программирования
- •Выбор типа оп и формирование глобальных признаков
- •Построение поля направлений
- •Построение шаблона
- •Применение фильтра Габора
- •Обрезание изображения
- •Введение
- •Расчёт трудоёмкости проекта
- •4.2.2 Построение сетевого графика
- •4.2.3 Диаграмма Гантта
- •4.2.4 Анализ структуры затрат проекта
- •4.2.5 Затраты на выплату заработной платы
- •4.2.6 Отчисления на социальные нужды
- •4.2.7 Материальные затраты
- •4.2.8 Прочие затраты
- •4.2.9 Затраты на организацию рабочих мест
- •4.2.10 Накладные расходы
- •4.2.11 Суммарные затраты на реализацию программного проекта
- •Исследование рынка
- •4.3.1 Планирование цены и прогнозирование прибыли
- •4.3.2 Сервисное обслуживание
- •4.3.3 Отчисления на социальные нужды
- •Введение
- •Конституция Российской Федерации
- •Доктрина информационной безопасности Российской Федерации
- •Федеральный Закон «Об информации, информационных технологиях и о защите информации»
- •Федеральный Закон «о персональных данных»
- •Постановление Правительства Российской Федерации «Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных»
- •Гражданский Кодекс Российской Федерации
- •Уголовный Кодекс Российской Федерации
Разработка общей структуры по
В рамках разработки ПО необходимо обеспечить решение следующих задач:
доступ к базе данных;
предоставление интерфейса пользователю для ввода данных;
обработка введенных данных;
создание и хранение базы искусственных ОП.
В том числе необходимо обеспечить следующие этапы генерации искусственного отпечатка пальца:
выбор типа ОП и формирование глобальных признаков;
построение поля направлений;
построение шаблона;
применение фильтра Габора;
обрезание изображения.
Так же должен быть реализован пользовательский интерфейс данного ПО.
Рассмотренные задачи и требования обуславливают следующую структуру программной системы (рисунок 24).
Рисунок 25. Общая структура разрабатываемого ПО.
Подсистема обработки введенных данных должна обеспечивать подключение к базе данных и создание искусственных ОП с учетом введенных пользователем данных.
Подсистема графического интерфейса пользователя должна обеспечивать обработку и вывод результата обработки введенных данных.
База данных содержит информацию об исходных ключевых точках.
База искусственных ОП содержит сгенерированные искусственные биометрические образы.
Общий алгоритм всех действий программы представлен на рисунке 25.
Рисунок 26. Общий алгоритм действий программы.
Как следует из представленной структуры, разрабатываемое ПО имеет достаточно сложную многокомпонентную структуру, что обуславливает целесообразность реализации программного продукта не как автономно работающего приложения (одиночного файла), а как программного пакета, содержащего исполняемые модули, библиотеки данных и другие информационные ресурсы.
К достоинствам такого подхода можно отнести, прежде всего, масштабируемость, простоту разработки, а также возможность более гибкого распределения задач между программистами при организации управления программным проектом.
Выбор языка программирования
Язык реализации должен быть удобен для работы с матрицами, так же плюсом является наличие готовых библиотек для работы с изображениями. Так как главной целью данной работы является разработка работоспособного алгоритма обработки образов отпечатка пальца, а не создание конечного продукта, на скорость работы программы и на требования к ресурсам вычислительной системы жестких ограничений не накладывается.
Выделим следующие требования к языку написания данного ПО:
возможность использования стандартных библиотек, предназначенных для работы с матричными типами данных;
наличие свободно распространяемых библиотек обработки изображений;
особенности системы разработки программного обеспечения (простота использования, стоимость, наличие доступной справочной документации);
опыт конкретного разработчика в области проектирования и написания кода для этого языка программирования.
С учетом перечисленных требований был выбран язык Matlab. Данный язык программирования позволяет выполнять широкий спектр операций над матричными типами данных, имеет мощную встроенную библиотеку для работы с изображениями. Так же Matlab не требователен к навыкам программирования, что позволяет писать достаточно сложные программы не имея высокого уровня знаний в области программирования.