Аутентификация личности по рукописной записи

Биометрическая аутентификация как процесс доказательства подлинности заявленного пользователем имени, через предъявления биометрического образа и путём преобразования в соответствии с определенным протоколом аутентификации. Статистический анализ данных.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 26.05.2015
Размер файла 970,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования Республики Беларусь

Белорусский государственный университет

Факультет радиофизики и компьютерных технологий

Кафедра интеллектуальных систем

Курсовая работа

Аутентификация личности по рукописной записи

Выполнила:

студента 3 курса,

Мироновича Евгения Александровича

Научный руководитель:

Л.В. Калацкая

Минск 2015

Оглавление

  • Введение
  • 1. Обзор систем биометрической аутентификации личности
  • 1.1 Национальные стандарты биометрической аутентификации
  • 2. Структура многослойной НС
  • 3. Реализация алгоритма аутентификации личности по рукописной записи в среде MATLAB
  • 3.1 Получение изображений рукописной записи-пароля
  • 3.2 Предварительная обработка изображений
  • 3.3 Предварительный статистический анализ данных
  • 3.4 Формирование нейронной сети прямого распространения сигнала

3.5 Обучение методом обратного распространения ошибки

  • 4. Анализ полученных результатов
  • 4.1 Устранение недостатков алгоритма. Перспективы дальнейшей разработки
  • Заключение
  • Список использованных источников
  • Приложение
  • Предварительная обработка данных
  • Вспомогательная функция
  • Алгоритм нейросетевой аутентификации

Введение

В современном обществе активно развиваются процессы информатизации. Повсеместно используется сеть Интернет и цифровая мобильная телефония. Цифровой виртуальный мир стал частью нашей реальности.

Еще недавно информация из Интернета была сугубо теоретической. Теперь же цифровые системы связи являются средой общения людей, обмена разнообразной научной, культурно-массовой и другой информацией, а также обеспечивают функционирование и координацию работы многих реальных физических систем. Теперь виртуально можно заказать билеты на поезд, на какое-либо мероприятие, осуществить некоторые банковские операции, в том числе безналичный расчет. В настоящий момент формируется «электронное правительство», работают Интернет-магазины. Сегодня организации и отдельные физические лица постоянно хранят и передают в цифровом виде огромные объемы информации.

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

Данная работа посвящена механизму аутентификации личности по рукописной записи с использованием нейронной сети прямого распространения сигнала. Под записью будем понимать как подпись, так и парольное слово или фразу.

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

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

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

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

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

1. Обзор систем биометрической аутентификации личности

В настоящее время существует множество систем биометрической аутентификации личности.

1.1 Национальные стандарты биометрической аутентификации

В таблице 1 представлены стандарты в сфере высоконадежной биометрии, разработанные в США, Канаде и в Российской Федерации.

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

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

Российские специалисты, по сравнению с американскими, разрабатывают стандарты в области биометрии скрытых образов. Для защиты личной информации граждан Российской Федерации разработаны высоконадежные протоколы и механизмы, ориентированные на новые потребности современного информационного общества, такие как «слепая» электронная цифровая подпись (ЭЦП), «хрупкие» цифровые «водяные» знаки.

Для использования таких протоколов необходим личный криптографический ключ (ЛКК), и при условии его сохранности хакеры даже не пытаются ломать криптографическую защиту. Однако в реальных условиях сохранять в тайне ЛКК практически невозможно. Государство не берет на себя ответственность за их сохранность. Выходом из такой ситуации может стать обеспечение пользователей личными биометрическими хранилищами ЛКК формирования ЭЦП.

В работе [1] российские специалисты обосновали целесообразность применения нейросетевого контейнера хранения ЛКК.

Поскольку нейросетевой контейнер содержит таблицы весовых коэффициентов, и не содержит реальных биометрических данных, храенние в нем ЛКК оказывается достаточно надежным, при условии, что выбрана правильная архитектура сети, настроены параметры обучения, входные данные обладают достаточным качеством и определенными статистическими свойствами. Также необходимо использовать НС со многими выходами, чтобы обеспечить каждому пользователю уникальный выходной код и предотвратить взлом нейросетевого контейнера.

Таблица 1. Стандарты в сфере биометрической защиты данных

Размещено на http://www.allbest.ru/

2. Структура многослойной НС

Элементарная однослойная НС (см. рис. ) состоит из элементов 3-х типов элементов: S-элементов (сенсоры), A-элементов (ассоциативные элементы) и одного R-элемента(передаточной функции). S-элементы -- это слой сенсоров, или рецепторов. В физическом воплощении они соответствуют, например, светочувствительным клеткам сетчатки глаза или фоторезисторам матрицы камеры. Каждый рецептор может находиться в одном из двух состояний -- покоя или возбуждения, и только в последнем случае он передаёт единичный сигнал в следующий слой, ассоциативным элементам.

В дальнейшем слой сенсорных элементов будем называть входным слоем НС или просто входом.

В случае решения задачи распознавания образов НС, представленных цифровыми данными, на вход может подаваться бинарный вектор, в котором единице соответствует возбужденное состояние сенсора.

А - элементы в математическом смысле - это сумматоры.

R - элементы - это активационные функции, например, логистическая пороговая функция

При превышении некоторого выбранного порога, на выходе появляется 1, иначе - 0.

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

Рис. - однослойная НС

Использование многослойной сети расширяет спектр классификационных задач, которые можно решить с помощью НС.

Многослойными персептронами называют нейронные сети прямого распространения. Входной сигнал в таких сетях распространяется в прямом направлении, от слоя к слою. Многослойный персептрон в общем представлении состоит из следующих элементов:

- множества входных узлов, которые образуют входной слой;

- одного или нескольких скрытых слоев вычислительных нейронов;

- одного выходного слоя нейронов.

Многослойный персептрон представляет собой обобщение однослойного персептрона Розенблатта. Примером многослойного персептрона является следующая модель нейронной сети (см. рис.)

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

Размещено на http://www.allbest.ru/

Рис. - Многослойный персептрон

Многослойные персептроны успешно применяются для решения разнообразных сложных задач и имеют следующих три отличительных признака.

Свойство 1. Каждый нейрон сети имеет нелинейную функцию активации

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

Свойство 2. Несколько скрытых слоев

Многослойный персептрон содержит один или несколько слоев скрытых нейронов, не являющихся частью входа или выхода сети. Эти нейроны позволяют сети обучаться решению сложных задач, последовательно извлекая наиболее важные признаки из входного образа.

Свойство 3. Высокая связность

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

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

2.1 Алгоритм обучения НС методом обратного распространения ошибки

Целью обучения сети является такая подстройка ее весов, чтобы приложение некоторого множества входов приводило к требуемому множеству выходов. Для краткости эти множества входов и выходов будут называться векторами. При обучении предполагается, что для каждого входного вектора существует парный ему целевой вектор, задающий требуемый выход. Вместе они называются обучающей парой. Как правило, сеть обучается на многих парах. Например, входная часть обучающей пары может состоять из набора нулей и единиц, представляющего двоичный образ некоторой буквы алфавита.[5]

Совокупность обучающих пар называется обучающим множеством.

3. Реализация алгоритма аутентификации личности по рукописной записи в среде MATLAB

Для обучения НС использовалось обучающее множество, состоящее из элементов двух типов. Скажем, что образцы рукописного подчерка пользователя принадлежат к классу «свой», а образцы записей других личностей - к классу «чужой».

3.1 Получение изображений рукописной записи-пароля

В качестве образца рукописной записи-пароля использовались изображения формата .png, полученные средствами графического планшета WACOM. Образцы имели размер 1366x707 пикселов и глубину цвета 24. Отмечу, что глубина цвета является в данном случае существенным параметром. С другими значениями глубины цвета при данном формате не будет работать функция rgb2gray, которая используется при предварительной обработке изображения.

Рисунок 2. - Графический планшет WACOM.

Далее изображения подверглись обрезке и масштабированию. Это было сделано в графическом редакторе Paint.net. Изображения были уменьшены до размера 120x160 пикселов. Таким образом, в нейронной сети используется 19200 входов, соответственно количеству пикселов в изображении.

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

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

3.2 Предварительная обработка изображений

1. Конвертирование изображений в полутоновые;

2. Подчеркивание контуров изображений;

3. Бинаризация изображений;

4. Смена класса образов на класс double;

5. Преобразование каждого изображения в вектор столбец

1. Конвертирование изображений в полутоновые

Функция rgb2gray преобразует полноцветное изображение RGB в оттенки серого, устраняя оттенок и насыщенность, сохраняя при этом яркость.

3. Подчеркивание контуров изображений

Функция BW=edge (f, `sobel', thresh) для определения границ подчеркивает контуры исходного изображения f оператором Собела. Этот оператор обнаруживает края с помощью приближений Собела для первых производных функции яркости.

4. Бинаризация изображений

Функция im2bw() порождает двоичное изображение из полутонового. Выходной массив автоматически делается логическим.

5. Смена класса образов на класс double

Функция double() преобразует входной массив в класс double с диапозоном [0,1].

6. Преобразование каждого изображения в вектор столбец

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

3.3 Предварительный статистический анализ данных

Для того чтобы можно было говорить о возможности правильного разделения нейронной сетью записей «свой» и записей «чужой», необходимо проверить, обладают ли обработанные данные определенными статистическими свойствами.

Необходимо, чтобы данные «свой» обладали значительной корреляцией, а данные «чужой», наоборот, максимально различались. Между данными «свой» и «чужой» корреляция должна быть незначительной.

Рисунок 3. - Матрица корреляции данных «свой»

Рисунок 4. - Матрица корреляции данных «чужой»

Рисунок 5. - Матрица корреляции между данными «свой» и «чужой»

3.4 Формирование нейронной сети прямого распространения сигнала

НС была создана с среде Matlab c помощью функции newff.

НС имеет 19200 входов, 10 нейронов в скрытом слое, и два нейрона в выходном слое. Таким образом, на выходе НС должен получаться двухэлементный вектор, состоящий из значения степени соответствия входного вектора к классу «свой» и к классу «чужой». Для образов «свой», выходной вектор должен быть близок к вектору [1 0], а для образов чужой к вектору [0 1].

И для скрытого, и для выходного слоев НС задается передаточная функция 'logsig'.

3.5 Обучение методом обратного распространения ошибки

Обучение сети проводилось в три этапа (см. табл. 2).

Шагу соответствует параметр обучения trainParam.mc, число эпох обучения и точность задаются с помощью параметров trainParam.epochs и trainParam.goal соответственно.

Таблица 2. Этапы обучения НС.

Размещено на http://www.allbest.ru/

На первом этапе сеть «знакомилась» с образами «свой», после этого сеть любой входной бинарный вектор соответствующего размера считала «своим». Это напоминает такое явление в природе, как импринтинг, когда, например, новорожденный утенок, все, что увидит впервые, будет считать своей мамой. Так и НС, ничего кроме векторов «свой», не «видевшая», считает любой попавшийся ей вектор «своим».

На втором этапе сеть уже обучилась на примерах образов «свой» и «чужой», и начала различать их. Однако решение еще не достигло достаточной точности.

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

В работе [1] есть объяснение такому поведению НС. Для получения устойчивого алгоритма необходимо, чтобы число входов НС было близко к числу образов в обучающем множестве. В нашем случае число входов 19200, а в обучающей выборке только 25 векторов. Поэтому точность решения растет нестабильно, чередуются локальные минимумы и максимумы точности. То есть можно, конечно, добиться попадания решения на один из максимумов, но доверие к такому алгоритму не будет высоким, да и подбор коэффициентов оказывается трудным и утомительным делом.

На третьем этапе, мы очень аккуратно, с маленьким шагом «подбираемся» к решению с точностью ошибки 0.01. И таким образом получаем обученную сеть, дающую хорошее разделение образов «свой» и «чужой» на участке локальной точности решения (см. рис. 6).

Рисунок 6. - Третий этап обучения НС

4. Анализ полученных результатов

В результате работвы программы neuro_1.m был получен выходной вектор из тестируемых образов «свой» и «чужой». Полученное решение дает разницу между данными образами приблизительно в 30%, и активационная функция compet не способна разделить образы при данной разнице выходов. Поэтому я реализовала собственную активационную функцию с порогом 0.9, чтобы исключить ошибки второго рода, хотя, по видимости, можно было обойтись порогом 0.8.

Получилось, что в НС неявно задаётся еще один выходной слой с единственным нейроном, дающим либо 1 при принадлежности образа к классу «свой», либо 0 в противном случае.

Рисунок 7. - Результаты работы НС

4.1 Устранение недостатков алгоритма. Перспективы дальнейшей разработки

Самый главный недостаток данного алгоритма - это его неустойчивость, которая выявилась в процессе обучения и тестирования НС.

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

При реализации первого подхода получается, что пользователь должен около 19000 раз создать запись-пароль. Физически это если не невозможно, то, согласитесь, бесполезно. В работе [1] предлагается использовать нейросетевые алгоритмы для “размножения” биометрических образов и решения таким образом проблемы.

С другой стороны, все входные образы, состоящие из последовательности много раз подряд повторяющихся нулей и единиц, обладает значительной избыточностью, которую можно устранить без потерь информации. Даже элементарное кодирование, основанное на замене исходной последовательности нулей и единиц на последодвательность, указывающую число повторений одинаковых символов даст выйгрыш где-то в 2-3 раза. А если еще применить, например, код Хаффмана, то можно добиться дополнительного устранения избыточности, причем без потерь, и как следствие - сокращения числа входов НС.

Для дополнительного сокращения числа входов НС можно применить и кодирование с потерями так,чтобы они вцелом не влияли на работу НС.

Это можно сделать, перейдя в частотную область с помощью, например, БПФ либо ДКП. Этот подход также рассмотрен в работе [1]. При этом автоматически становится необходимым учитывать динамику рукописного подчерка, так как необходимо знать хотя бы период написания слова пользователем.

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

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

Также ПО планшета помимо изображения получает при его сохранении m-файл, содержащий координаты пера. Причем специальным символом -1,-1 обозначается отрыв пера от поверхности планшета. Поскольку частота отрыва пера - индивидуальный динамический параметр, его также возможно учитывать при создании нейросетевого биометрического контейнера. Если считать время написания каждой точки на планшете примерно одинаковым, то можно рассчитать вектор, составленный из чисел, обозначающих число точек, которые пользователь успел написать, не отрывая пера от поверхности, а потом рассчитать математическое ожидание этого вектора, которое в некотором приближении можно будет считать частотой отрыва пользователем руки от поверхности. Можно будет использовать данный параметр или нет, показать сможет только опыт и последующий анализ.

Заключение

Для биометрической аутентификации личности по рукописной записи перспективно использование нейросетей прямого распространения сигнала;

Обучение нейронной сети осуществляется набором обучающих образов «свой», «чужой»;

Разработанный и реализованный в среде Matlab алгоритм способен распознавать запись «свой» с вероятностью от 0,81 до 0,98, а «чужой» от 0 до 0,5. Однако данное решение - это полученный «наощупь» локальный максимум. Для получения устойчивого решения необходимо увеличить число образов в обучающем множестве и уменьшить число входов НС.

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

Список использованных источников

1. Волчихин В. И. и др. Нейросетевая защита персональных биометрических данных. Монография / Под ред. Ю. К. Язова. М.: Радиотехника, 2012. - 160с.

2. Калацкая Л. В. Нейросетевые технологии обработки и защиты данных: лабораторный практикум / Л. В. Калацкая. - Минск: БГУ, 2012. - 51 с.

3. Осовский С. Нейронные сети для обработки информации / Пер. с польского И. д. Рудинского. - М.: Финансы и статистика, 2002. - 344 с.: ил.

4. Гонсалес P. и др. Цифровая обработка изображений в среде MATLAB Москва: Техносфера, 2006. - 616с.

Приложение

Предварительная обработка данных

function[img_neuro_data_my,img_neuro_data_f,img_neuro_data_f_1,

img_neuro_data_my_1] = main_1()

%% Загрузка данных "свой"

img={ 'my_210.png', 'my_220.png','my_230.png','my_240.png','my_250.png',...

'my_60.png','my_70.png','my_80.png','my_90.png','my_100.png',...

'my_110.png','my_120.png','my_130.png','my_140.png','my_150.png'};

L=size(img,2);

% Загрузка данных "свой" для теста

img_my_1={'my_10.png', 'my_20.png','my_30.png','my_40.png','my_50.png',...

'my_260.png','my_270.png','my_280.png','my_290.png','my_300.png','my_160.png','my_170.png','my_180.png','my_190.png','my_200.png'};

L_my_1=size(img_my_1,2);

%% Загрузка данных "чужой"

img_f={'f10.png', 'f20.png','f30.png','f40.png','f50.png',...

'f60.png','f70.png','f130.png','f90.png','f100.png'};

% Загрузка данных "чужой" для теста

img_f_1={'f110.png', 'f120.png','f80.png','f140.png',...

'f150.png', 'f160.png','f170.png','f180.png'};

L_f=size(img_f,2);

L_f_1=size(img_f_1,2);

%% Массив названий для обработанных изображений "свой"

new={'1.png', '2.png','3.png','4.png','5.png',...

'6.png','7.png','8.png','9.png','10.png',...

'11.png','12.png','13.png','14.png','15.png'};

% Массив названий для обработанных изображений "свой"

new_my_1={'16.png','17.png','18.png','19.png','20.png',...

'21.png', '22.png','23.png','24.png','25.png',...

'26.png','27.png','28.png','29.png','30.png'};

%% Массив назван ий для обработанных изображений "чужой"

new_f={'f_1.png', 'f_2.png','f_3.png','f_4.png','f_5.png',...

'f_6.png','f_7.png','f_13.png','f_9.png','f_10.png'};

% Массив названий для обработанных изображений "чужой"

new_f_1={'f_11.png', 'f_12.png','f_8.png','f_14.png',...

'f_15.png', 'f_16.png','f_17.png','f_18.png'};

%% Чтение, обрезка, преобразование в оттенки серого

% Выделение контуров, уменьшение размера, сохранение,

% подготовка обучающих векторов

img_size = [120 160];

img_neuro_data_my = change(L,img,new,img_size,3,5);

img_neuro_data_f = change(L_f,img_f,new_f,img_size,2,5);

img_neuro_data_f_1 = change(L_f_1,img_f_1,new_f_1,img_size,2,4);

img_neuro_data_my_1= change(L_my_1,img_my_1,new_my_1,img_size,3,5);

Вспомогательная функция

function [neuro_data] = change(L,img,new,img_size,a,b)

for i=1:L,

p=imread(img{i});

F=rgb2gray(p);

%F=F(160:600,80:1200);

original{i}=F;

end;

img_value = img_size(1)*img_size(2);

neuro_data = zeros(img_value,L);

x=a;

y=b;

figure();

for i=1:L

p=double(original{i});

p = imresize(p, img_size); % Уменьшение изображения

p=edge(p,'sobel');

imwrite(p, new{i}, 'png'); %Записываем в файл с новым именем

c=imread(new{i});

c_d=im2double(c); %Читаем

%figure('Name','Чужие');

subplot(x,y,i);

imshow(c_d);

title({new{i}});

a=c_d; %"Вытягиваем" матрицу в строку

B=a(:);

neuro_data(:,i) = B;

end

Алгоритм нейросетевой аутентификации

clear all

close all

clc

clf;

figure(gcf)

echo on

pause % Strike any key to continue...

% d3 - "чужой" для теста

% d4 - "свой" для теста

[d1,d2,d3,d4]=main_1();

alphabet = d1;

d1_id_1 = ones(1,size(d1,2));

d1_id_2 = zeros(1,size(d1,2));

d2_id_1 = zeros(1,size(d2,2));

d2_id_2 = ones(1,size(d2,2));

targets_1 =[d1_id_1;d1_id_2]

targets_2 =[d2_id_1;d2_id_2]

[R,Q] = size(alphabet);

[S2,Q] = size(targets_1);

pause % Strike any key to defin e the network...

S1 = 10;

net = newff(minmax(d1),[S1 S2],{'logsig' 'logsig'},'traingdx');

net.LW{2,1} = net.LW{2,1}*0.01;

net.b{2} = net.b{2}*0.01;

pause % Strike any key to train the network...

net.performFcn = 'sse'; % Sum-Squared Error performance function

%net.trainParam.goal = 0.01; % Sum-squared error goal.

net.trainParam.show = 10; % Frequency of progress displays (in epochs).

net.trainParam.epochs = 62; % Maximum number of epochs to train.

net.trainParam.mc = 0.94; % Momentum constant.

% Training begins...please wait...

P = alphabet;

T = targets_1;

T1=[targets_2 targets_1];

[net,tr] = train(net,P,T);

netn=net;

netn.trainParam.epochs = 90;

%netn.trainParam.goal = 0.015;

P1=[d2,d1];

[netn,tr1] = train(netn,P1,T1);

netnn=netn;

netnn.trainParam.mc = 0.10;

netnn.trainParam.epochs = 200;

netnn.trainParam.goal = 0.001;

[netnn,tr2] = train(netnn,P1,T1);

pause % Strike any key to train the network

% TEST NETWORK

A_1 = sim(net,[d1,d2,d4,d3]) %с. 15, ч. 10, с. 15, ч. 8

AA_1 = compet(A_1)

A_2 = sim(netn,[d1,d2,d4,d3])

AA_2 = compet(A_2)

A_3 = sim(netnn,[d1,d2,d4,d3])

AA_3 = compet(A_3)

s=A_3(1,:);

s1=1:length(A_3);

s2=zeros(1,length(A_3));

S=[s1;s;s2]';

for i=1:length(A_3), % Собственная активационная функция

if S(i,2)>=0.9,S(i,3)=1; end;

end;

echo off

Размещено на Allbest.ru

...

Подобные документы

  • Особенности защиты информации в автоматизированных системах. Краткое описание стандартов сотовой связи. Аутентификация и шифрование как основные средства защиты идентичности пользователя. Обеспечение секретности в процедуре корректировки местоположения.

    курсовая работа [553,5 K], добавлен 13.01.2015

  • Рассмотрение особенностей разработки комплекса по автоматизации анализа попыток внешних проникновений и контроля локальных соединений для сервера телефонии. Общая характеристика протокола SSH, основные версии. Анализ обычной парольной аутентификации.

    курсовая работа [367,8 K], добавлен 22.02.2013

  • Преимущества биометрических систем аутентификации. Обоснование актуальности и техническая характеристика технологии VoiceKey. Состояние рынка систем идентификации в настоящее время. Оценка стоимости разработки проекта, анализ рынков сбыта и реализации.

    курсовая работа [1,9 M], добавлен 31.03.2013

  • Развитие носителей информации. Звукозапись и процесс записи звуковой информации с целью её сохранения и последующего воспроизведения. Музыкальные механические инструменты. Первый двухдорожечный магнитофон. Звук и основные стандарты его записи.

    реферат [32,4 K], добавлен 25.05.2015

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

    реферат [292,4 K], добавлен 14.11.2010

  • Обзор систем шифрования. Векторы инициализации. Режимы с обратной связью. Кодирование по стандарту 802.11 и механизмы его аутентификации. Уязвимость открытой аутентификации. Проблемы управления статическими WEP-ключами. Шифрование по алгоритму.

    курсовая работа [4,2 M], добавлен 13.10.2005

  • Анализ исходных данных. Выбор элементной базы и способа монтажа. Расчет конструкции печатной платы. Создание библиотеки компонентов. Формирование схемы электрической принципиальной с протоколом ошибок. Компоновка, трассировка, файл отчетов о трассировке.

    курсовая работа [2,4 M], добавлен 19.09.2010

  • Устройства записи и воспроизведения информации - неотъемлемая часть ЭВМ. Процесс восстановления информации по изменениям характеристики носителя. Коэффициент детонации. Требования, предъявляемые к точности изготовления деталей механизма транспортировки.

    реферат [111,1 K], добавлен 13.11.2010

  • Система аналого-цифрового преобразования быстроизменяющегося аналогового сигнала в параллельный десятиразрядный код, преобразования параллельного цифрового кода в последовательный код. Устройство управления на логических элементах, счетчик импульсов.

    курсовая работа [98,8 K], добавлен 29.07.2009

  • Технология работа в условиях записи фильма в формате Dvcam и записи зистового звука на HD-рекордер. Составление звуковых экспликаций сцен и выбор технического решения. Схемы расположения оборудования на съемочной площадке и маршрутизация сигналов.

    контрольная работа [1,0 M], добавлен 17.08.2013

  • Коммутация как процесс соединения абонентов коммуникационной сети через транзитные узлы. Знакомство с общими принципами организации ЭВМ. Рассмотрение основных особенностей каналообразующего оборудования. Характеристика основных функций узлов связи.

    курсовая работа [232,7 K], добавлен 16.04.2014

  • Анализ прохождения белого шума через колебательный контур. Расчет плотности вероятности стационарного случайного сигнала на выходе электрической цепи; правила его нормализации. Исследование линейных преобразований случайных процессов с помощью LabVIEW.

    реферат [5,6 M], добавлен 31.03.2011

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

    презентация [812,0 K], добавлен 18.06.2013

  • Частотные и спектральные характеристики сигналов приемника нагрузки. Расчет передаточных параметров формирователя входных импульсов. Анализ выходных сигналов корректирующего устройства. Оценка качества передачи линии с помощью преобразования Лапласа.

    курсовая работа [1,9 M], добавлен 23.05.2012

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

    реферат [26,1 K], добавлен 11.02.2009

  • Процесс преобразования аналогового сигнала в цифровой. Шаг дискретизации, его взаимосвязь с формой восстановленного сигнала. Сущность теоремы Котельникова. Процесс компандирования, его стандарты. Системы передачи информации с импульсно-кодовой модуляцией.

    презентация [190,4 K], добавлен 28.01.2015

  • Аппаратно–программный комплекс, технические параметры зала. Элементы системы звукоусиления концертного зала. Сценарий театрализованно–концертного мероприятия. Описание процесса записи. Создание фонограммы, надлежащей параметрам качества прослушивания.

    контрольная работа [641,7 K], добавлен 19.01.2016

  • Разработка структурной схемы канала выборки и преобразования аналоговых данных. Синтез и аппаратная реализация низкочастотного активного фильтра Баттерворта 2-го порядка. Расчет и согласование инструментального усилителя и устройства выборки хранения.

    курсовая работа [280,6 K], добавлен 16.09.2010

  • Структура компонентов сети сотовой связи, назначение отдельных подсистем. Этапы и принципы формирования базы данных для подтверждения подлинности IMEI, типы списков номеров: белые, черные и серые. Возможность протокола управления радио ресурсами RR-RR.

    контрольная работа [650,1 K], добавлен 06.08.2013

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

    дипломная работа [1,1 M], добавлен 10.06.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.