Файл: Министерство науки и высшего образования российской федерации федеральное государственное автономное.pdf
Добавлен: 06.12.2023
Просмотров: 36
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
ИНСТИТУТ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ КАФЕДРА ИНФОРМАЦИОННЫХ
СИСТЕМ
Направление: 09.03.02 Информационные системы и технологии
Профиль: Информационные системы в образовании
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Верификация статической личной рукописной подписи на основе
сверточной нейронной сети
Студентка 4 курса
Группы 09-761
«___» _____________ 2021 г.
________________ (А.А. Ларионова)
Научный руководитель канд. физ.-мат. наук, доцент
«___» _____________ 2021 г.
________________ (Л.Э. Хайруллина)
Заведующий кафедрой канд. физ.-мат. наук, доцент
«___» _____________ 2021 г.
________________ (Ф.М. Гафаров)
Казань – 2021
2
Содержание
Введение ............................................................................................................... 3 1.
Теоретические основы методов предварительной обработки и верификации ......................................................................................................... 5 1.1. Исследование методов предварительной обработки ............................... 5 1.2. Использование нейронных сетей для верификации статической подписи ........................................................................................................... 13 2. Реализация приложения для верификации статической подписи. .............. 19 2.1. Реализация предварительной обработки изображения ......................... 19 2.2. Реализация верификации статической подписи .................................... 26 2.3. Реализация конечного приложения верификации ................................. 31 3. Результаты тестирования приложения .......................................................... 36
Заключение ......................................................................................................... 43
Список использованной литературы ................................................................. 46
Приложение А. Код модуля предварительной обработки изображения ........ 49
Приложение Б. Код модуля верификации подписи ......................................... 54
Приложение С. Основные компоненты пользовательского интерфейса ........ 61
3
Введение
Рукописная подпись является общепринятым и особенно важным типом биометрического признака, главным образом из-за ее повсеместного использования для проверки личности человека в юридической, финансовой и административной областях.
Параметры подписи могут быть классифицированы на две категории: статические и динамические. Параметры статической подписи содержат информацию только о форме, а в случае динамической подписи параметры содержат также информацию об изменении координат пера, скорости написания, ускорении или давлении на поверхность планшета во время процесса записи. Автономная проверка статической подписи одна из самых сложных задач в биометрии, включающая в себя меньше электронного контроля. При такой проверке используются изображения подписи, снятые сканером или камерой. Оффлайн-системы верификации подписи представляют интерес в тех случаях, когда доступны только печатные копии подписей, например, при аутентификации большого количества документов.
Системы проверки подписи находят применение в приложениях для различных сфер, таких как обналичивание чеков, операции с кредитными картами и аутентификацией документов. Цель систем проверки подписи состоит в том, чтобы определить, является ли данная подпись подлинной или подделкой. Это оказалось сложной задачей, особенно в статическом сценарии применения, использующем изображения сканированных подписей, где динамическая информация о процессе написания недоступна.
Целью дипломной работы является разработка и реализация программного обеспечения автоматической верификации статической подписи с использованием нейронных сетей.
Для достижения поставленной цели, определены следующие задачи:
4 1) исследовать методы верификации рукописной статической подписи;
2) изучить и реализовать подходы, обеспечивающие предварительную обработку изображений, содержащих рукописную подпись;
3) реализовать программное обеспечение для автоматической верификации статической подписи;
4) оценить точность верификации.
Объектами исследовании дипломной работы являются алгоритмы обработки изображений и искусственные нейронные сети.
Предмет исследования – верификация рукописной статической подписи.
Практическая значимость заключается в применимости результатов работы в автоматизации деятельности, связанной с документооборотом.
Выпускная квалификационная работа состоит из введения, трех глав, заключения и списка литературы. В первой главе работы рассматриваются методы и подходы предварительной обработки изображений, выделения рукописной подписи из изображений, а также основные принципы применения нейросетевых моделей для задачи верификации. Во второй главе описывается этап разработки и реализации модулей предварительной обработки, выделения подписи, верификации, а также конечного приложения, представляющего собой веб-сервис. В третьей главе представлены результаты реализации и проведение испытаний разработанной системы.
5
1. Теоретические основы методов предварительной обработки и
верификации
1.1. Исследование методов предварительной обработки
Несмотря на резкий рост использования электронных данных в различных приложениях, подпись на печатном документе по-прежнему считается наиболее надежным способом доказательств намерений человека.
Как правило, подписанную копию документа, подлежащего обработке, сканируют или фотографируют и после, вручную проверяют подлинность подписи. Такая проверка имеет низкую точность, а также требует больших временных затрат. Для повышения точности стало возможным использовать программные методы автоматизированного анализа документов, которые выполняют задачи, связанных с проверкой рукописной подписи [6].
Важной задачей при автоматизированной обработке отсканированных документов является определение позиции подписи. Задача обнаружения подписи в отсканированных документах сопряжена с рядом проблем: во- первых, изображения, как правило, имеют низкое разрешение, что затрудняет их улучшение в процессе предобработки, а во-вторых, документы часто содержат вспомогательные строки и другие рукописные символы, которые похожи с подписью либо перекрывают ее.
Выделение подписи из входного изображения начинается с его предварительной обработки – это процесс улучшения изображений подписи после ее чтения. Это важный этап как в онлайн-, так и в оффлайн- системах верификации, поскольку он влияет на точность распознавания и минимизирует вычислительное время. Поскольку при проверке используется отсканированный, подписанный документ, статическое изображение подписи должно быть нормализовано до дальнейшей верификации. Следующие
6 методы предварительной обработки являются наиболее эффективными и рекомендуемыми для поставленной задачи:
1. Фильтрация зашумленных изображений. Изображения, подлежащие распознаванию, могут быть зашумлены. Причиной тому могут быть искажения, вносимые в изображение предметами, активно отражающими свет, неравномерная прозрачность воздушного слоя, пыль, качество используемой аппаратуры и др. Для сглаживания и восстановления изображений, поврежденных шуму, широко используется медианный фильтр
[5]. Его действие сводится к замене значения в точке изображения на медиану значений яркости в окрестности этой точки. При вычислении медианы, значение в самой точке также учитывается. Широкая популярность этих фильтров обоснована тем, что они прекрасно приспособлены к подавлению случайных шумов, и при этом приводят к наименьшему размыванию по сравнению с другими фильтрами.
2. Бинаризация изображения. Это преобразование заключается в превращении изображения в двухцветное черно-белое. Главным параметром такого преобразования является порог – значение, которое будет критерием проверки интенсивности точки изображения. Иногда при обработке приходится иметь дело с изображениями, хранимыми как полутоновые, но по своему содержанию мало отличающимися от бинарных. К ним относятся текст, штриховые рисунки, чертежи, изображение отпечатка пальца. Замена исходного полутонового изображения бинарным решает две основные задачи.
Во-первых, изображение становится более наглядным при визуальном восприятии, чем у исходного; это в свою очередь позволит в дальнейшем выделить необходимую область, содержащую подпись. Во-вторых, ощутимо сокращается объем запоминающего устройства для хранения изображения, поскольку бинарный препарат для записи каждой точки бинарного изображения требует лишь 1 бит памяти, в то вр емя как полутоновое изображение для решения той же задачи при наиболее часто применяемом
7 формате представления — 8 бит [26]. При бинаризации изображения яркость каждого пикселя B(x,y) сравнивается с пороговым значением яркости B
T
(x,y); если значение яркости пикселя выше значения яркости порога, то на бинарном изображении соответствующий пиксель будет «белым», или «черным» в противном случае. Наиболее известны следующие алгоритмы бинаризации: адаптивная бинаризация [16], метод Отсу [19], методы кластеризации [21], обработка с постоянным порогом.
3. Сегментация изображения. Одной из важных задач в системе распознавания объектов на изображении является задача сегментации. Это процесс разделения изображения на некоторый набор неперекрывающихся областей
, покрывающих все изображение и однородных по некоторым признакам, объединение которых воссоздает исходное изображение [23].
Обычно сегментация используется для того, чтобы выделить границы объектов (прямые, кривые, простые геометрические фигуры и т. д.) на изображениях. Существует достаточно много методов сегментации изображений, причем один и тот же метод может давать хорошие результаты в одних ситуациях, при определенном типе изображений, и совершенно не работать в других. Метод поиска границ на перепаде яркости — основное средство для качественной сегментации изображения [23]. Метод выделения границ Канни является оптимальным по критериям выделения, локализации и минимизации нескольких откликов одного края. Это означает, что детектор должен реагировать на границы, но при этом игнорировать ложные, точно определять линию границы и реагировать на каждую границу один раз, что позволяет избежать восприятия широких полос изменения яркости как совокупности границ. Алгоритм нахождения границ Канни использует следующие шаги: сглаживание, поиск градиентов, подавление «ложных» максимумов, двойная пороговая фильтрации, трассировка области неоднозначности.
8
Изображение, переведенное в оттенки серого, сглаживается за счет использования специального фильтра. Этот фильтр обнаруживает и устраняет найденные разрывы, применяя перемещаемую по изображению маску.
Обычно ее называют ядром, которое представляет собой квадратную матрицу.
Элементами этой матрицы являются пиксели изображения, над которыми в данный момент находится маска. Согласно значениям яркости этих пикселей изменяется яркость пикселя под центром маски. Оператор Канни использует фильтр Гаусса. Размытие по Гауссу — это характерный фильтр размытия изображения, который использует нормальное распределение (также называемое гауссовым распределением) для вычисления преобразования, применяемого к каждому пикселю изображения [19]. Уравнение распределения Гаусса в N измерениях имеет вид:
???????????????????? = (????, ????,
) =
????
−(????2+????2)
2
2 2
2
, где ????
2
+ ????
2
— это радиус размытия; σ – стандартное отклонение распределения Гаусса. Далее на этапе поиска градиентов используется фильтр
Собеля, который вычисляет направление наибольшего увеличения яркости изображения в каждой точке [9]. Фильтр Собеля построен на вычислении сверток исходного изображения с ядрами G
X
и G
Y
, обеспечивающими вычисление первых производных по направлениям:
????
????
= [
−1 0 1
−2 0 2
−1 0 1
] × ????, ????
????
= [
−1 0
1
−2 0
2
−1 0
1
] × ????
где
– двумерная операция свертки; А – исходное изображение. Применение оператора G
X
позволяет определить приближенное значение первой частной производной изменения интенсивности в горизонтальном направлении, G
Y
—
– в вертикальном. Двумерная операция свертки проводится по формуле
????(????, ????) = ∑ ∑ ????(????, ????) × ????(???? + ????, ???? + ????)
????
????
9 где ????(????, ????) — ядро фильтра Собеля. Градиент определяет, как быстро изменяется яркость изображения в каждой точке, что дает возможность определить границу и ее ориентацию. При применении оператора Собеля в области постоянной яркости, т. е. области, где нет резких перепадов или границ, будет получен вектор очень маленький или близкий к нулю. В точке, относящейся к границе областей, имеющих различную яркость, величина вектора будет значительно больше, с направлением в сторону увеличения яркости. Величина градиента в каждом пикселе изображения определяется по формуле:
???? = √????
????
2
+ ????
????
2
Направление градиента вычисляется по следующей формуле:
= ????????????????????????
????
????
????
????
Далее следует операция подавления немаксимальных значений: пикселями границ объявляются пиксели, в которых достигается локальный максимум градиента в направлении вектора градиента. К пикселям границ относят пиксели, которые дают локальный максимум градиента в направлении его вектора [25]. В результате подавления локальных неопределенностей толщина линии границы становится равномерной и тонкой, что увеличивает точность ее расположения. Следующим этапом алгоритма является метод использования порогов, он заключается в определении областей на изображении, где могут располагаться границы, за счет пороговых значений.
Чем сильнее пороги, тем меньше границ будет обнаружено, но и шум на изображении будет восприниматься значительно слабее. Поэтому высокий порог может ослабить обнаружение границ вплоть до ее фрагментации, а слишком низкий пропустит много лишней информации и шума. Алгоритм
Канни использует двойную пороговую фильтрацию: только пиксели,
10 попавшие в средний диапазон, т. е. выше нижнего порога и ниже верхнего, относятся к границе. Все другие пиксели не исключаются [4]. Двойная пороговая фильтрация нужна, если фон и объекты сильно отличаются друг от друга, а нужно выделить лишь контур границы. На последнем шаге работы метода Канни используется трассировка области неоднозначности. Все пиксели, прошедшие предыдущие этапы, проверяются на близкое расположение друг к другу. Пиксели, лежащие обособленно или отдаляющиеся от границы, подавляются, то есть пиксели, что расположены в непосредственной близости по одному из вертикальных, горизонтальных или диагональных направлений, определяются как результирующая граница [25].
4. Удаление фона. Многочисленные приложения для обработки изображений требуют выделения объектов из фона. Пороговое значение является наиболее тривиальным и легко подходящим для этого методом [5].
Базовыми пороговыми методами являются: метод с глобальным порогом и метод с адаптивным порогом. Пороговый метод с глобальным порогом является простейшим. После выбора глобального порога, происходит поэлементная проверка всего изображения. Процедура подразумевает разделение изображения на две области: первая относится к объекту, вторая – к фону. В данном случае успешность целиком зависит от того, насколько хорошо диаграмма поддается разделению. Успешного применения данного метода можно ожидать в условиях контролируемого освещения. Как только освещение становится неравномерным, хорошо разделяемая гистограмма – графическое отображение количественной характеристики вероятностного распределения интенсивности (яркости) пикселей в выделенном участке изображения, может превратиться в плохо разделяемую гистограмму и метод с глобальным порогом не сработает. В этом случае, исходное изображение можно разбить разделить на подобласти, в каждой из которых для сегментации ищется и используется свой п орог.
Основной проблемой в методе с адаптивным порогом является задача разбиения изображения на подобласти и
11 выбор для каждой из них своего порога, поскольку порог зависит от характеристик подобласти изображения. Такой порог называет адаптивным. В качестве критерия разбиения удобно использовать понятие дисперсии освещения, то есть изображение разбивается на области, освещенность которых приблизительно одинакова. Дисперсия вычисляется как:
σ
2
(????) = ∑(????
????
− ????)
2
????(????
????
)
????−1
????=0
,
здесь z — величина, соответствующая яркости элементов изображения, а ????(????
????
)
= 0, 1, 2, …, L−1– ее гистограмма, где Lобозначает число различных уровней яркости. В задаче проверки подписи на подлинность мы имеем дело с темными объектами на светлом фоне и, следовательно, пороговое значение, называемое порогом яркости, является подходящим. После порогового значения пиксели подписи будут равны 1, а остальные пиксели, которые принадлежат к фону, будут равны 0 [16].
5. Нерезкое маскирование. Нерезкое маскирование является методом линейной обработки изображений, повышающим резкость изображения.
Четкие детали идентифицируются как разница между исходным изображением и его размытой версией. Затем эти детали масштабируются и добавляются обратно к исходному изображению:
улучшенное изображение = исходное + количество * (исходное - размытое).
На этапе размытия может использоваться любой метод фильтрации изображения, например, медианный фильтр, но традиционно используется гауссовский фильтр. Параметр радиуса в фильтре нерезкой маскировки соотносится с параметром сигма фильтра Гаусса [27].
6. Коррекция яркости и контрастности изображения. Существует два возможных способа коррекции яркости. Согласно первому способу, изображение линейно отображается в диапазоне яркостей исходного. Второй