Статья опубликована в рамках: LXI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 15 января 2018 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
НЕЙРОННАЯ СЕТЬ КАК СРЕДСТВО ДЛЯ РАСПОЗНАВАНИЯ ПИКСЕЛЬНЫХ ИЗОБРАЖЕНИЙ ЦИФР БАНКОВСКИХ КАРТ
В настоящее время платежи в интернете совершаются с помощью ручного ввода данных банковской карты. Как правило, для совершения платежа необходимо ввести номер карты (16 цифр, разбитых на 4 блока), срок действия карты, фамилия и имя владельца карты, а также cvv-код. Такой ввод может занять некоторое время, особенно, если отсутствует привязка данных карты к пользователю. Альтернативным вариантом является оптическое считывание (распознавание) данных с кредитной карты.
Под оптическим распознаванием идентификационных данных банковских карт (кредитных карт) понимается некий алгоритм, который принимает на вход фото фронтальной стороны карты, проводит анализ фотоизображения карты, и как результат, возвращает номер карты и ее срок действия.
Исходя из [1] сформируем следующие этапы алгоритма оптического считывания данных, нанесенных на кредитную карту:
– преобразование фото в градации серого;
– нахождение границ банковской карты;
– нахождение расположения номера карты и срока действия;
– сегментация номера карты на пиксельные изображения;
– нахождение расположения номера карты и срока действия
– сегментация номера карты и срока действия на пиксельные изображения, которые представляют собой отдельные цифры;
– детектирование каждой цифры.
Рассмотрим подробнее последний шаг алгоритма.
Согласно [2] в контексте задачи распознавания образов (изображений цифр) наилучшим образом подходит нейронная сеть прямого распространения (персептрон) с учителем.
Входными данными нейронной сети будет являться вектор с размером 20х30 = 600, так как изображения цифр имеют размер 20х30 пикселей. Количество выходов нейронной сети будет равным 10. Значения на них будет варьироваться от 0 до 1, показывая насколько тот или иной выход соответствует входному вектору значений.
Исходя из того, что каждый цветной пиксель может значение в диапазоне от 0 до 16 777 216, то представляется большая сложность в реализации механизма распознавания данных по пиксельным изображениями, поэтому, с целью сужения диапазона допустимых значений производится предварительный перевод изображения в градацию серого. Таким образом, можно представить каждый пиксель числом от 0 до 255 (1 байт), 0 соответствует черному цвету, а 255 – белому цвету.
Предварительная схема нейронной сети, которая будет использоваться для распознавания пиксельных изображений цифр, представлена на рисунке 1.
Перед ее применением необходимо провести обучение сети. Цель обучения состоит в достижении баланса между способностью сети давать верный ответ на входные данные, использовавшиеся в процессе обучения, и способностью выдавать правильные результаты в ответ на входные данные, схожие, но неидентичные тем, что были использованы при обучении [3].
Для обучения необходимо предварительно подготовить обучающую выборку путем формирования массива чисел – набора пикселей. Данный массив будет сопоставляться массиву (вектору) из 10 значений, 1 будет соответствовать правильной цифре. Обучение можно проводить на основе фотографий банковских карт, которые сегментируются на пиксельные изображения цифр.
С математической точки зрения, обучение нейронных сетей – это многопараметрическая задача нелинейной оптимизации.
Рисунок 1. Схема нейронной сети для распознавания пиксельных изображений цифр банковских карт
Вектор А представляет собой входной слой, к которому поступают данные, далее, эти данные обрабатываются в скрытых слоях В и С. В выходном слое выводится результат.
Рассмотрим первые узлы в скрытых слоях В и С, а также выход :
(1)
где – номер входного слоя;
– i-ый узел входного слоя;
– весовой коэффициент i-го узла входного слоя по отношению к первому узлу слоя В;
– функция активации;
L – количество входов;
N – количество узлов первого скрытого слоя.
(2)
С учетом вышеприведенных формул для первого выхода:
(3)
В вышеприведенных формулах неизвестными являются веса, подбор которых производится при обучении сети, а также функция активации.
Согласно [4] обычно используется метод максимального правдоподобия, согласно которому выбираются параметры максимизирующие значение функции правдоподобия на обучающей выборке:
(4)
где m – размер обучающей выборки.
На основании этого строится функцию потерь (cost function) модели нейронной сети с учетом количества входов и регуляризации. Коэффциенты подбирают таким образом, что бы значении функции потерь было минимальным.
В качестве функции активации используются функции, имеющие область значений от 0 до 1. Согласно [5] наиболее часто используются:
– функция Ферми;
– рациональная сигмоида;
– гиперболический тангенс;
– функция Эллиот.
Выбор функции активации осуществляется, как правило, эмпирическим путем, на основании достижения необходимого уровня ошибки в процессе обучения (процентная величина, отражающая расхождение между ожидаемым и полученным ответами).
Подводя итог, можно сказать, что проведя обучение и подобрав оптимальную функцию активации для нейронной сети, которая представлена на рисунке 1, мы сможем ее использовать как средство для распознавания номера карты для изображений цифр банковских карт.
Список литературы:
- Легко ли распознать информацию на банковской карте [Электронный ресурс]. – Режим доступа: https://habrahabr.ru (дата обращения: 20.12.2017)
- Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика /Ф. Уоссермен // М. Мир – 1992. С. 26-35.
- Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки [Электронный ресурс]. – Режим доступа: https://habrahabr.ru (дата обращения: 20.12.2017)
- Логистическая регрессия [Электронный ресурс] – 2011 – Режим доступа: https://ru.wikipedia.org (дата обращения: 20.12.2017)
- Функции активации в нейронных сетях [Электронный ресурс] – 2010 – Режим доступа: https://ru.wikipedia.org (дата обращения: 22.12.2017)
дипломов
Оставить комментарий