Научная статья на тему 'ПОДГОТОВКА НАБОРОВ ДАННЫХ ДЛЯ ОБУЧЕНИЯ НЕЙРОСЕТЕВОЙ СИСТЕМЫ ИДЕНТИФИКАЦИИ ЛИЧНОСТИ ПО РУКОПИСНОЙ ПОДПИСИ'

ПОДГОТОВКА НАБОРОВ ДАННЫХ ДЛЯ ОБУЧЕНИЯ НЕЙРОСЕТЕВОЙ СИСТЕМЫ ИДЕНТИФИКАЦИИ ЛИЧНОСТИ ПО РУКОПИСНОЙ ПОДПИСИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
39
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БИОМЕТРИЧЕСКАЯ ИДЕНТИФИКАЦИЯ / РУКОПИСНАЯ ПОДПИСЬ / НЕЙРОННАЯ СЕТЬ / ОБРАБОТКА ИЗОБРАЖЕНИЙ / РАСПОЗНАВАНИЕ ИЗОБРАЖЕНИЙ / ОБРАЗ / ДЕСКРИПТОРЫ / MATLAB

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Старостина Анастасия Викторовна, Куляс Олег Леонидович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Старостина Анастасия Викторовна, Куляс Олег Леонидович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PREPARATION OF DATA SETS FOR TRAINING A NEURAL NETWORK SYSTEM FOR PERSONAL IDENTIFICATION BY HANDWRITTEN SIGNATURE

The solution of the problem of automating the creation of sets of handwritten signatures, which are necessary for training and testing a neural network system of personal identification, is considered. An algorithm is proposed and its main stages are described. The results of its implementation using MATLAB are presented.

Текст научной работы на тему «ПОДГОТОВКА НАБОРОВ ДАННЫХ ДЛЯ ОБУЧЕНИЯ НЕЙРОСЕТЕВОЙ СИСТЕМЫ ИДЕНТИФИКАЦИИ ЛИЧНОСТИ ПО РУКОПИСНОЙ ПОДПИСИ»

A UNIVERSUM:

№8X113}___t АУК/_август. 2023 г.

DOI - 10.32743/UniTech.2023.113.8.15867

ПОДГОТОВКА НАБОРОВ ДАННЫХ ДЛЯ ОБУЧЕНИЯ НЕЙРОСЕТЕВОЙ СИСТЕМЫ ИДЕНТИФИКАЦИИ ЛИЧНОСТИ ПО РУКОПИСНОЙ ПОДПИСИ

Старостина Анастасия Викторовна

магистрант,

Поволжский государственный университет телекоммуникаций и информатики (ПГУТИ),

РФ, г. Самара E-mail: 19starostina99@mail. ru

Куляс Олег Леонидович

канд. техн. наук, ст. науч. сотр., Поволжский государственный университет телекоммуникаций и информатики (ПГУТИ),

РФ, г. Самара E-mail: oleg. [email protected]

PREPARATION OF DATA SETS FOR TRAINING A NEURAL NETWORK SYSTEM FOR PERSONAL IDENTIFICATION BY HANDWRITTEN SIGNATURE

Anastasia Starostina

Undergraduate, Povolzhskiy State University of Telecommunications and Informatics (PSUTI),

Russia, Samara

Oleg Kulyas

Ph.D., senior researcher, Povolzhskiy State University of Telecommunications and Informatics (PSUTI),

Russia, Samara

АННОТАЦИЯ

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

ABSTRACT

The solution of the problem of automating the creation of sets of handwritten signatures, which are necessary for training and testing a neural network system of personal identification, is considered. An algorithm is proposed and its main stages are described. The results of its implementation using MATLAB are presented.

Ключевые слова: биометрическая идентификация, рукописная подпись, нейронная сеть, обработка изображений, распознавание изображений, образ, дескрипторы, MATLAB.

Keywords: biometric identification, hand-written signature, neural network, image processing, image recognition, pattern, descriptors, MATLAB.

Введение

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

к неоправданному усложнению нейронной сети. Например, если размер изображения подписи равен 64x128 px, то нейронная сеть должна иметь 8192 входа. Поэтому целесообразно на основе исходного изображения подписи сформировать вектор её признаков, который можно использовать в качестве входного образа - дескриптора [3].

Библиографическое описание: Старостина А.В., Куляс О.Л. ПОДГОТОВКА НАБОРОВ ДАННЫХ ДЛЯ ОБУЧЕНИЯ НЕЙРОСЕТЕВОЙ СИСТЕМЫ ИДЕНТИФИКАЦИИ ЛИЧНОСТИ ПО РУКОПИСНОЙ ПОДПИСИ // Universum: технические науки : электрон. научн. журн. 2023. 8(113). URL: h ttps: //7un iversum. com/ru/tech/archive/item/15867

№ 8(113)

UNIVERSUM:

ТЕХНИЧЕСКИЕ НАУКИ

август, 2023 г.

Для формирования образа выполняются следующие шаги:

1) Преобразование полутонового изображения подписи в бинарное (подпись является объектом переднего плана);

2) Нормировка размеров изображения подписи к единым значениям, например 64x128 рх;

3) Разделение нормированного изображения подписи на фрагменты размером 8x8 рх. Для подписи размером 64x128 рх число таких фрагментов будет 128;

4) Подсчёт пикселей переднего плана (количества белых пикселей) для каждого фрагмента и сохранение их в матрицу размером 8х16;

5) Преобразование полученной матрицы в вектор размером 128x1 из нормированного количества пикселей переднего плана в каждом фрагменте. Этот вектор-столбец будет использоваться в качестве образа подписи (дескриптора).

На рисунке 1 приведены полутоновое и бинарное изображения подписи. Бинарное изображение, разделенное на фрагменты и матрица с элементами, значения которых пропорциональны числу пикселей переднего плана в каждом фрагменте, показаны на рисунке 2.

Рисунок 1. Полутоновое и бинарное изображения подписи

Рисунок 2. Изображение подписи разделенное на фрагменты и образ подписи в виде матрицы

размером 8х16

Для обучения и тестирования нейронной сети требуется 3 набора образов подписей для каждого физического лица, зарегистрированного в системе:

• оригинальные подписи;

• поддельные подписи;

• тестовые подписи.

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

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

Рисунок 3. Фрагмент изображения с образцами подписей

№ 8(113)

UNIVERSUM:

ТЕХНИЧЕСКИЕ НАУКИ

август, 2023 г.

Дальнейшая задача - формирование изображений, каждое из которых должно содержать один экземпляр подписи, и сохранение их в каталог физического лица. При этом изображения должны быть бинарными, а их пиксельные размеры одинаковыми, например, 64x128 рх. С учетом необходимого количества экземпляров подписей формирование таких наборов является весьма трудоемким процессом, который желательно автоматизировать.

На первый взгляд задача сводится к обнаружению и локализации подписи (объекта интереса) как связного объекта переднего плана и легко решается методами обработки изображений [1]. Пример обнаруженных подписей приведен на рисунке 4, а на рисунке 5 показаны три экземпляра подписей из формируемого набора.

pTlO^I pTfUXfL^I

рч^А^—|

CrUX^ (j^fL

CrASXn

U^fL

Рисунок 4. Обнаруженные объекты интереса

Рисунок 5. Экземпляры обнаруженных подписей

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

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

Рисунок 6. Пример подписей с разрывами

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

Алгоритм формирования набора подписей

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

Основная идея алгоритма, основана на следующих предположениях:

• объект переднего плана является подписью, если наименьший охватывающий его прямоугольник (Воипё^Вох) расположен на значительном расстоянии от других;

• объекты переднего плана объединяются в подпись, если охватывающие прямоугольники имеют общие элементы;

• объекты переднего плана объединяются в подпись, если охватывающие прямоугольники расположены на малом расстоянии друг от друга.

№ 8(113)

UNIVERSUM:

ТЕХНИЧЕСКИЕ НАУКИ

август, 2023 г.

Структурная схема алгоритма состоит из 8 основных этапов и показана на рисунке 7.

Начало ^

1 Предобработка

i

2 Бинаризация

i

3 Поиск объектов переднего плана и вычисление дескрипторов

1

4 Формирование первичной бинарной маски объектов

i

5 Формирование финальной бинарной маски объектов

i

6 Выделение объектов

i

7 Нормализация размеров выделенных объекта в

i

8 Сохранение изображений в файл

Конец

Рисунок 7. Алгоритм формирования набора подписей

Рассмотрим основные этапы алгоритма, реализованного средствами MATLAB [2], более подробно.

Этап 1. Предобработка сводится к стандартным операциям повышения контраста исходного монохромного изображения I0N и очистки его от шумов в виде мелких объектов:

I0N = imadjust(I0N,[min0, max0],[0, 1]) I0N = medfilt2(I0N, [3 3],'symmetric');

%выполнить контрастирование %удалить мелкие объекты медианным %фильтром

Этап 2. Поскольку исходные изображения могут по локально вычисляемому порогу TR1. Это можно

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

образно использовать метод адаптивной бинаризации

TR1 = adaptthresh(I0N,IForegroundPolarityI,IdarkI);%найти адаптивный

%порог бинаризации

I0bw = not(imbinarize(I0N,TR1)); %выполнить бинаризацию и

%инверсию

Этап 3. Поиск объектов переднего плана и вычисление их дескрипторов выполняется следующим образом: полученное ранее бинарное изображение I0bw используется для создания матрицы меток Ь, размер которой совпадает с размером бинарного изображения. Каждый элемент этой матрицы, положение которого совпадает с объектом переднего плана, помечается числовым индексом. Полученная матрица меток используется для вычисления трех характеристик (дескрипторов) обнаруженных объектов, которые сохраняются в массив структур В:

БоипЛгщБох (ограничивающий прямоугольник) -определяет наименьший прямоугольник, в который

входит обнаруженный объект. Вычисляется в виде вектора из четырех элементов [c, r, width,height], где (c,r) - координаты верхнего левого угла, width -ширина, height - высота ограничивающего прямоугольника.

Area (площадь) - определяет площадь бинарной области переднего плана и вычисляется как число пикселей, которые в ней содержатся.

Image (изображение) - логическая матрица с размерами 'BoundingBox' в которой элементы принадлежащие объекту имеют значения "1", а принадлежащие фону - "0".

№ 8(113)

UNIVERSUM:

ТЕХНИЧЕСКИЕ НАУКИ

август, 2023 г.

[L, ~] = bwlabel(I0bw); D = regionprops(L, 'Area'

%создать матрицу меток L из %связных объектов переднего плана 'BoundingBox','Image'); %вычислить дескрипторы %объектов и сохранить в структуру D

Этап 4. Формирование первичной бинарной маски для объектов переднего плана организуется цикл вычислений: каждый из обнаруженных объектов, помещенных в структуру D анализируется по площади. Для объектов с площадью более 5 px вычисляются дескрипторы 'BoundingBox', которые используются для формирования первичной бинарной маски всех

mask = I0bw; i = 1; k = 1; for i = i:length(D) f D(i).Area > 5

объектов переднего плана. Бинарная маска представляет собой логическую матрицу mask с размерами совпадающими с размерами бинарного изображения подписей I0bw, в которой элементы входящие в 'BoundingBox' имеют значение '1', а оставшиеся -значение '0'. Этап реализуется приведенными ниже командами.

%создать копию матрицы изображения

%для каждого объекта проверить условия %если площадь объекта более 5 px

S(k).BoundingBox = floor(D(i).BoundingBox); %записать в структуру

%дескриптор BoundingBox rectangle('position',S(k).BoundingBox,'EdgeColor','r'); %нарисовать

%прямоугольник вокруг области mask(S(k).BoundingBox(2):S(k).BoundingBox(2)+S(k).BoundingBox(4),...

S(k).BoundingBox(1):S(k).BoundingBox(1)+S(k).BoundingBox(3))= 1; %установить пикселы внутри BoundingBox в 1 -- это бинарная маска %для всех объектов переднего плана k = k +1; end end

Результат выполнения описанного этапа приведен на рисунках 8 и 9. Из рисунка 8 видно, что охватывающие прямоугольники Боипй1щБох\

принадлежащие отдельным элементам подписи и имеющие общие элементы объединены в маску, покрывающую каждый экземпляр подписи.

CT (Г

Рисунок 8. Обнаруженные объекты переднего плана и корректно сформированная бинарная маска

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

'БoundingБox' не имеют общих элементов, что препятствует формированию правильной маски.

Рисунок 9. Обнаруженные объекты переднего плана и сформированная бинарная маска. Маска слева и в центре сформирована некорректно

№ 8(113)

UNIVERSUM:

ТЕХНИЧЕСКИЕ НАУКИ

август, 2023 г.

Эта операция приводит к расширению элементов маски и устранению разрывов не превышающих размер примитива se.

• эрозии расширенного изображения маски mask_2 по тому же примитиву se

mask_2 © se = mask_3 .

Это приводит к восстановлению размеров расширенного изображения маски, при этом заполненные разрывы сохранятся. Последовательность описанных команд и результат их работы представлены ниже.

%создать структурообразующий элемент %выполнить дилатацию %восстановить размеры эрозией

Рисунок 10. Первичная бинарная маска (сверху). Финальная бинарная маска после слияния близко расположенных элементов (снизу)

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

• дилатации изображения бинарной маски mask по прямоугольному примитиву se

mask © se = mask 2 .

se = strel('rectangle',[12 30]); mask_2 = imdilate(mask,se); mask 3 = imerode(mask 2,se);

Этап 6, 7, 8. Полученная в результате матрица финальной маски та&к_3 позволяет выделить на бинарном изображении все элементы подписи и сохранить их в специально созданную структуру Б_т с двумя полями:

• S_m.SImage - для хранения оригинальных экземпляров изображений подписей;

• S_m.SGImage - для хранения нормированных по пиксельным размерам экземпляров подписей.

Эти этапы реализуются следующей последовательностью команд:

S_m = struct('SImage',-1,'SGImage', -1);%создать массив структур для

%хранения подписей с двумя полями [L_m n_m] = bwlabel(mask_3); %создать матрицу меток L_m для

%изображения финальной маски mask_3 D_m = regionprops(L_m,'Area','BoundingBox'); %вычислить дескрипторы объектов

%финальной маски и сохранить в структуру D_m

j = 1;

for i = 1:length(D_m) %для каждого объекта с площадью

if D_m(i).Area > 100 %более 100 px

Signature_m = I0bw(floor(D_m(i).BoundingBox(2)):... (floor(D_m(i).BoundingBox(2))+D_m(i).BoundingBox(4)),... floor(D_m(i).BoundingBox(1)):floor(D_m(i).BoundingBox(1))+... D_m(i).BoundingBox(3)); %вырезать изображение подписи

S_m(j).SImage = Signature_m; %сохранить изображение подписи

%в структуру S_m

S_m(j).SGImage = imresize(S_m(j).SImage,[64 128]);%нормировать размер

%изображения подписи и сохранить в %структуру S_m

figure, imshow(S_m(j).SGImage); %вывести подпись в окно title(['Signature No = ',num2str(j)]);

№ 8(113)

UNIVERSUM:

ТЕХНИЧЕСКИЕ НАУКИ

август, 2023 г.

fn = ['User 1/',num2str(j) '.jpg'];%назначить имя и сохранить каждую

imwrite(S_m(j).SGImage, fn); j = j+1;

end end

%подпись в отдельный файл

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

фрагмента выполняют сохранение экземпляров под- ден на рисунке 11.

писей в отдельные файлы каталога извг_1. Результат работы в виде нормированных экземпляров

Рисунок 11. Нормированные экземпляры изображений подписи

Заключение

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

трех необходимых наборов (оригинальных, поддельных и тестовых подписей) формируется аналогично описанному выше и могут использоваться для создания не только нейронных сетей на многослойных персептронах, но и для сверточных нейронных сетей.

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

Список литературы:

1. Гонсалес Р., Вудс Р. Цифровая обработка изображений. - М.: Техносфера, 2012. - 1104 с.

2. Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде MATLAB. - М.: Техносфера, 2006. -616 с.

3. Куляс О.Л. Нейросетевая идентификация физических лиц по рукописной подписи // Проблемы техники и технологии телекоммуникаций. Оптические технологии в телекоммуникациях. Материалы XX Международной научно-технической конференции, XVI Международной научно-технической конференции. В 2-х томах. 2018. -Уфа: УГАТУ, 2018 - С. 337-338.

i Надоели баннеры? Вы всегда можете отключить рекламу.