Алгоритмы и методы динамического отслеживания объектов в видеопоследовательностях
Выбор базовых программных средств. Алгоритмы распознавания лиц. Архитектура средств динамического отслеживания лиц в видеопоследовательности. Тестирование на больших объемах видеоданных. Сравнение типа один к одному. Утилизация компьютеров и оргтехники.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 24.06.2014 |
Размер файла | 3,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
На данный момент проблеме распознавания человека по изображению лица посвящено множество работ, однако в целом она ещё далека от разрешения. Основные трудности состоят в том, чтобы распознать человека по изображению лица независимо от изменения ракурса и условий освещённости при съёмке, а так же при различных изменениях, связанных с возрастом, причёской и т.д. Распознавание изображений пересекается с распознаванием образов. Такие задачи не имеют точного аналитического решения.
При этом требуется выделение ключевых признаков, характеризующих зрительный образ, определение относительной важности признаков путём выбора их весовых коэффициентов и учёт взаимосвязей между признаками. Изначально эти задачи выполнялись человеком-экспертом вручную, путём экспериментов, что занимало много времени и не гарантировало качества. В новых методах выделение ключевых признаков осуществляется путём автоматического анализа обучающей выборки, но, тем не менее, большинство информации о признаках задаётся вручную. Для автоматического применения таких анализаторов выборка должна быть достаточно большой и охватывать все возможные ситуации.
Существует два класса методов: методы распознавания и отслеживания лиц и методы распознавания и отслеживания объектов.
У каждого из методов есть свои преимущества и недостатки. Методы распознавания и отслеживания объектов, в частности, удобны тем, что позволяют разпознать человека при разных углах его поворота относительно камеры, например, боком или спиной.
Распознавание человека по изображению лица выделяется среди биометрических систем тем, что, во-первых, не требуется специальное или дорогостоящее оборудование. Для большинства приложений достаточно персонального компьютера и обычной видеокамеры. Во-вторых, не нужен физический контакт с устройствами.
Не надо ни к чему прикасаться или специально останавливаться и ждать срабатывания системы. В большинстве случаев достаточно просто пройти мимо или задержаться перед камерой на небольшое время. К недостаткам распознавания человека по изображению лица следует отнести то, что сама по себе такая система не обеспечивает 100%-ой надёжности идентификации. Там, где требуется высокая надёжность, применяют комбинирование нескольких биометрических методов.
В настоящее время активно развиваются биометрические технологии.
Их целью является разработка автоматизированных систем идентификации человека на основе биометрических признаков: отпечатков пальцев, характеристик голоса и речи, рисунка радужной оболочки глаза, изображения лица. Это связано с тем фактом, что на данный момент основным препятствием для дальнейшего развития информационных сред, различного рода виртуальных сервисов и т.п. является проблема надёжной идентификации (верификации) пользователя. Ожидается, что применение подобных систем существенно уменьшит количество преступлений, связанных с несанкционированным доступом, в том числе и в компьютерных сетях, причём именно технология идентификации человека на основе изображений лиц признана наиболее приемлемой для массового применения, так как она не требует физического контакта с устройством, ненавязчива, естественна и, в потенциале, может обладать высокой надёжностью и скоростью. Поиск в базах данных по фотопортретам человека, автоматизированный контроль удостоверений личности особенно актуальны для правоохранительных органов большинства стран в контексте увеличения количества террористических актов и уголовных преступлений на фоне повышения общей мобильности населения.[1]
Глава 1. Обзор литературы и постановка задачи
алгоритм видеопоследовательность распознавание лицо
1.1 Постановка задачи
Основной задачей дипломного проекта является разработка алгоритмического обеспечения для динамического отслеживания лиц в видеопоследовательностях. Есть два пути решения этой задачи. Первый основан на том, что на каждом отдельном кадре производится распознавание заданного лица.
Второй путь заключается в распознавании лица, как объекта, и дальнейшем его отслеживании на всей последовательности кадров. Преимущество этого варианта в том, что при таком решении задачи можно распознать человека, даже если он повернулся спиной. В данной работе будут объединены достоинства методов обоих классов.
Также, требуется протестировать полученный алгоритм на работоспособность и оценить результаты.
1.2 Существующие алгоритмы и методы
1.2.1 Алгоритмы и методы определения объектов в видеопоследовательностях
Цифровое изображение, получаемое видеокамерой в момент времени t и имеющее по вертикали h, а по горизонтали w пикселей, обозначим It(h, w). Видео-поток - это последовательность цифровых изображений (кадров) It(h, w), It+1(h, w), ..., It+k(h, w). Под прямоугольной областью интересов Obt(X, Y) понимается множество пикселей цифрового изображения It(h, w), очерчивающих искомый объект, содержащее X пикселей по вертикали и Y по горизонтали. Обнаружением объекта называется выделение области интересов Obt(X, Y) на цифровом изображении It(h, w) в момент времени t. Под обнаружением объекта в реальном времени понимается обработка видеопотока с частотой не менее 10 кадров в секунду. Обучением называется предварительная настройка и задание параметров метода для обнаружения интересующего объекта. Обучение может выполняться на основе обучающей выборки, состоящей из одного или нескольких обучающих изображений.
Под обучающим цифровым изображением понимается изображение It(h, w) с дополнительной информацией о наличии или отсутствии на нем искомого объекта. Обучающее изображение называется позитивным, если оно содержит объект, который нужно обнаружить. В противном случае обучающее изображение называется негативным.
На сегодняшний день существуют различные методы обнаружения объектов на цифровом изображении It(h, w): каскадный классификатор Виолы и Джонса, обобщенное преобразование Хафа, метод Капура-Винна и другие. Однако методы обнаружения объекта, имеющие высокие показатели надежности и устойчивости, требуют значительных временных и машинных ресурсов для обучения на новых объектах.
Методы обнаружения объекта на цифровом изображении It(h, w), по способу отнесения участка изображения к области интересов Obt(X, Y), можно разделить на две большие группы: обобщающие (generative) и различающие (discriminative).
Обобщающие методы составляют абстрактное, идеализированное представление о структуре объекта на основе позитивных обучающих изображений. Это представление называют моделью, понимая под этим понятием: схему, математическую формулу, набор данных и алгоритмов, воспроизводящих в специально оговоренном виде строение или свойства объекта. При анализе нового изображения обобщающие методы оценивают, насколько точно это изображение соответствует построенной модели. Кроме анализа имеющихся изображений обобщающие методы могут использовать полученную модель для построения новых изображений объекта. При обучении обобщающих методов негативные обучающие изображения не требуются.
Наиболее популярными моделями обобщающих методов являются: модель случайного поля, модель неявной формы, модель констелляции. В модели случайного поля изображение разбивают на небольшие участки. Каждому участку приписывается метка, которая представляет его смысловое значение, например: «вода», «небо», «земля», «объект». Кроме того, оцениваются вероятности смежного размещения двух разных меток. Совокупность назначенных меток и их вероятностей составляет случайное поле. При этом метки подбираются таким образом, чтобы получилось наиболее правдоподобное случайное поле. Модель неявной формы использует преобразование Хафа. В процессе обучения на изображении объекта выделяют характерные точки. Для каждой точки определяют радиус-вектор, который соединяет ее с геометрическим центром объекта. При обнаружении характерной точки на исследуемом изображении соответствующий радиус-вектор указывает ожидаемую позицию центра объекта. Пикселю, расположенному в этой позиции, добавляют один голос. Пиксель, набравший наибольшее количество голосов после сканирования всего изображения, будет соответствовать наиболее вероятному положению центра объекта. Модель констелляции рассматривает объект в виде совокупности элементов. На исследуемом изображении выделяют характерные участки и ставят их в соответствие элементам объекта или фона. Затем с помощью перебора отыскивают наиболее правдоподобное соответствие. Характеристики методов Капура-Винна , Феррари и Фергюса-Пероны, базирующихся соответственно на моделях случайного поля, неявной формы и констелляции, представлены в таблице 1.1.
Таблица 1.1 Сравнение методов обнаружения объектов
Методы |
Объем обучающей выборки, шт. |
Время обработки одного изображения, мс |
Верхняя оценка вычислительной сложности |
||
Обобщающие |
Капура-Винна |
35 |
3000 |
Квадратичная |
|
Феррари |
48 |
1000 |
Линейная |
||
Фергюса-Пероны |
400 |
2500 |
|||
Различающие |
Виолы Джонса |
14416 |
67 |
||
Лекуна |
24300 |
100 |
Квадратичная |
||
Папагеоргиу |
27159 |
100 |
Линейная |
Различающие методы используют специальную функцию классификатор для обнаружения объекта на цифровом изображении It(h, w). В процессе обучения они выделяют различия между позитивными и негативными обучающими изображениями. На основе этих различий они подбирают параметры функции-классификатора. Полученная функция применяется для разделения новых входных изображений на изображения, содержащие и не содержащие область интересов Obt(X, Y). Характеристики наиболее популярных различающих методов Виолы-Джонса, Лекуна и Папагеоргиу представлены в таблице.
Таким образом, различающие методы сосредоточены на различиях между позитивными и негативными изображениями конкретной обучающей выборки, в то время как обобщающие методы пытаются воссоздать структуру самого объекта по его изображениям. Поэтому при обучении обобщающих методов негативные изображения не требуются, а необходимое количество позитивных изображений существенно меньше, чем при обучении различающих методов. Вследствие чего для упрощенного обучения следует использовать подход обобщающих методов. При выборе модели обобщающего метода будем руководствоваться следующими замечаниями. Модель случайного поля требует больших вычислительных затрат, что неприемлемо для обработки видеопотока в реальном времени. Учет возможных вариаций формы объекта в модели неявной формы требует значительного увеличения количества обучающих изображений. Но модель констелляции изначально представляет объект в виде совокупности отдельных элементов. Именно в этой модели проще учитывать различные искажения геометрической формы объекта за счет изменения взаимного положения его элементов.
Предлагаемый метод будет основываться на модели констелляции, которая в качестве элементов объекта использует линии границ, выделенные на изображении объекта, совокупность которых называется каркасом изображения.[2]
1.2.2 Алгоритмы и методы динамического отслеживания объектов в видеопоследовательностях
В последнее время при организации видеонаблюдения применяются преимущественно цифровые методы обработки и хранения информации. Цифровые технологии дают ряд преимуществ перед устаревшими методами аналоговой записи на пленку. Например, в среднем качестве средний жесткий диск может хранить объем информации, соответствующий видеозаписи в течение месяца, а также обеспечивается быстрый доступ к любой части записи, что можно сделать из любой точки мира, если записывающий компьютер подключен к сети.
Компьютеры предоставляют широкие возможности по автоматической обработке изображений, которая все еще используются лишь в незначительной степени. Такие простые задачи, как выполнение записи только движений, имеют достаточно универсальные решения. Однако более сложные задачи, особенно из области компьютерного зрения, до сих пор не имеют общих решений, а предлагаемые алгоритмы, как правило, применимы только при соблюдении ряда условий и ограничений. В связи с этим, на сегодняшний день, данная область исследований представляет большой интерес, как в научном, так и в прикладном плане.
Одной из важных, но до конца не решенных подзадач является автоматическое выделение движущихся объектов, что является необходимым предварительным шагом при решении таких задач видеонаблюдения, как системы контроля доступа, удаление фона, ориентация роботов в пространстве, системы помощи водителям, распознавание лиц, облегчение восприятия сцены человеческим глазом и многих других. В работе рассматривается вопрос выделения движущихся объектов на видеопоследовательностях.
Существует два основных класса методов выделения движущихся объектов:
1) путем анализа их границ (контуров);
2) путем анализа всей области объекта на кадрах.
Основной идеей методов первого класса является поиск отличий векторов оптического потока с последующим построением контуров движущихся объектов. Методы второго класса, наоборот, основываются на группировании сходных векторов из оптического потока в области, которые подаются на выход алгоритма в качестве движущихся объектов. Большинство классических методов анализируют не сами кадры видеопоследовательности, а оптический поток (поле видимых смещений пикселей изображений), построенный по этим кадрам.
Для сравнительного анализа построим данные методы на базе широко используемой в компьютерном зрении общедоступной библиотеки OpenCV, содержащей реализации для некоторых шагов исследуемых методов, таких как построение оптического потока, вычисление градиента и поиск контуров, а также простой и удобный интерфейс для работы с камерами и вывод результата на экран.
Для построения оптического потока используются функции из библиотеки OpenCV, реализующие алгоритмы Хорна-Шанка (Horn-Schunck), Лукаса-Канадэ (Lucas-Kanade) и метод блочного сопоставления.
Для построения контуров движущихся объектов выполняются следующие шаги:
- построение оптического потока одним из предложенных выше методов;
- вычисление градиента оптического потока;
- построение матрицы, каждая ячейка которой соответствует модулю градиента;
- нахождение контуров на основе бинаризованного поля модуля градиента.
Общая схема построения областей движущихся объектов будет включать следующие шаги:
- построение оптического потока одним из предложенных выше методов;
- сравнение вектора оптического потока в каждой точке кадра с векторами в соседних точках (сравнение ведется только с точками снизу и справа от текущей точки, поскольку сравнение с точками слева и сверху уже было выполнено при рассмотрении предыдущих точек);
- если векторы сходны, то точки объединяются в область или присоединяются к уже существующей области (для пометок областей их номера записываются в соответствующие ячейки кадра).
Таким образом, после однократного прохода по изображению получим разметку на области. В качестве функции похожести векторов оптического потока для рассматриваемых методов приемлемый результат дает использования следующего условия. Если модуль разности векторов меньше одной трети длины самого короткого, то вектора похожи. Данный критерий, хотя и выглядит эвристическим, дает хороший результат и является приемлемым при сравнении эффективности разных методов выделения движущихся объектов. Коэффициент эмпирически вытекает из спектра векторов оптического потока.
Проведем сравнение различных методов выявления движущихся объектов по критериям быстродействия, сложности реализации и качества достигаемого результата. Перечисленные характеристики важны, так как для обеспечения непрерывного видеонаблюдения требуется обработка изображений в масштабе реального времени. Однако достижение необходимого быстродействия не должно приводить к ухудшению вероятностей обнаружения объектов интереса. При всем этом для возможности легкого внедрения метода в любые проекты желательно иметь простую и очевидную реализацию.
1.2.2.1 Быстродействие
Основной вклад в вычислительную сложность рассматриваемых методов вносит вычисление оптического потока, так как даже линейные реализации имеют очень большой коэффициент. Все остальные шаги алгоритмов выделения движущихся объектов - группирование векторов, вычисление градиента, поиск контуров - требуют лишь нескольких операций на каждый пиксель изображения. Данные методы можно назвать весьма производительными, если не брать в расчет вычисление оптического потока, так как способ его вычисления зависит от поставленных задач, условий и целей. К тому же все современные компьютеры имеют несколько ядер, и оптический поток может независимо вычисляться на своем ядре, не мешая остальному анализу. При обработке каждого нового кадра на все прочие расчеты, кроме оптического потока, для стандартного размера кадра (VGA - 64Ч480) тратится не более 10-60 млн. тактов, что приблизительно равно 4-20 мс процессорного времени для ядра с частотой 3 ГГц. Производительность зависит от интенсивности и сложности движения на видеоряде, поэтому точную алгоритмическую сложность подсчитать не возможно. Например, для неподвижной сцены все алгоритмы дают быстрый ответ об отсутствии объектов, но чем больше в сцене мелких движений, тем больше ресурсов требуется для их поиска. Конечно же, например, для метода объединения областей несложно придумать кадры, оптический поток которых имеет шахматный порядок, и анализ таких кадров будет, как минимум, кубической сложности. Но на практике такое не встречается, а движущиеся объекты имеют сгруппированные области на видеокадрах. Эта сгруппированность сохраняется и для оптического потока, что позволяет его анализировать со скоростью, немного меньшей, чем линейная. Таким образом, анализируемые методы применимы для использования на обычных компьютерах для обработки видео в реальном масштабе времени.
1.2.2.2 Сложности реализаций
Чем проще метод, тем сложнее в нем сделать неявную ошибку, и тем этот метод надежнее. Особенно это важно, когда метод встраивается как дополнительная функциональность в уже работающую систему. Использование библиотеки OpenCV позволяет упростить реализацию методов путем написания кода сравнительно небольшого объема. Для всех сложных шагов использовались стандартные функции из библиотеки, что позволяет избежать возможных ошибок при самостоятельной реализации. Для связи сложных шагов производятся только простые операции (например, передача изображений), поэтому их реализация практически очевидна, и в ней сложно допустить ошибку.
Таким образом, анализируемые методы легко реализовать, а значит, они обладают высокой надежностью.
1.2.2.3 Качество
Рассмотренные методы являются приемлемыми по скорости работы, однако необходимо оценить качество получаемого результата. Можно провести следующий эксперимент: на вход алгоритмам подадим видеоряд с бытовой видеокамеры. При стандартном комнатном освещении плавно проведем рукой перед камерой. Были опробованы как аналоговые камеры, для оцифровки сигнала которых использовались платы видеозахвата, так и различные WEB-камеры, которые подключаются к компьютеру
через интерфейс USB и передают уже оцифрованный сигнал. В ходе экспериментов не выявлено существенных отличий выделяемых объектов в зависимости от использованной камеры. На рис. 1.1 для одного и того же видеоряда представлен результат работы алгоритмов поиска контура и объединения областей.
Рис. 1.1 Выделение движущейся руки на основе двух методов: поиск контуров (а); объединение областей (б)
Все сравниваемые методы дают сходный по качеству результат - алгоритмы выделили шумы как движущиеся объекты, что непригодно для дальнейшего использования. Следует заключить, что причина низкого качества результата обусловлена качеством построения оптического потока, поскольку данные методы на нем основаны. Большинство алгоритмов построения оптического потока дают приемлемый результат только на искусственных и чистых кадрах, поэтому, получив на вход видео с шумами, они не обеспечивают желаемое качество выделения объекта. Все рассмотренные стандартные методы построения оптического потока очень чувствительны к уровню шумов, что отражается в найденных движущихся объектах. В ряде случаев алгоритмы вычисляют, что движется вся сцена, хотя на самом деле движения нет вообще, а на видео - равномерный шум. Также классические методы имеют сильные ограничения в допустимой скорости движения объектов - движения медленнее, чем один пиксель за кадр, не обнаруживаются вовсе.[3]
Трассирование подразумевает отслеживание движущегося объекта и значений его параметров в течение всего времени его пребывания в кадре. При правильном трассировании объекта появляется возможность просмотра траектории движения объекта с любым уровнем детализации (с точностью до кадра, до 3, 5 и т.д. кадров). Такая возможность обеспечивается сохранением положения центральной точки объекта на каждом из кадров в специальном массиве, который введен для этой цели при определении параметров для каждого из движущихся объектов. Алгоритмы, трассирующие движущиеся объекты, не должны путать один объект с другим, терять объект, если он остановился на небольшой промежуток времени или скрылся за каким-либо препятствием (например, человек, скрывшийся за деревом), а потом появился вновь. Для этих целей великолепно подходит применение нормализованной функции взаимной корреляции. Функция взаимной корреляции двух изображений - функция, показывающая степень корреляции двух изображений. Обычно она используется для вычисления степени похожести областей на разных кадрах. Эта функция должна давать единственный максимум только для случая двух одинаковых изображений. Очень часто используется нормализованная функция взаимной корреляции. Максимальным значением функции при полном совпадении первого растра с прямоугольником на втором растре будет единица. Алгоритмы, использующие функцию корреляции, работают следующим образом. Сначала они находят несколько значений функции, различным образом накладывая на один растр прямоугольник, взятый с другого растра. Затем из полученных значений выбирают максимальное. Если наилучшее значение достаточно близко к единице, значит, на первом растре обнаружен именно тот объект, который попал в «коррелирующий» прямоугольник, взятый на втором растре. Степень близости значения функции корреляции к единице - параметр, выбирая значение которого, можно добиться оптимального соотношения количества ошибок ложного обнаружения и необнаружения вообще. Она помогает сравнить объект с одного из предыдущих кадров с объектом, обнаруженным на вновь полученном кадре и сделать вывод об их похожести. Даже если объект, который можно было посчитать исчезнувшим после того, как он пропал за каким-либо препятствием, перестал обнаруживаться, применяя алгоритм вычисления функции корреляции можно обнаружить его снова на одном из последующих кадров и продолжить трассировку, взяв параметры объекта в момент его последнего обнаружения и скорректировав их по текущему кадру. Это очень важно для построения неразрывной траектории движения. При вычислении функции корреляции с целью обнаружения на текущем кадре объекта, обнаруженного ранее, используются только те пиксели изображения, которым в маске движения соответствуют единицы. В противном случае в формулу для вычисления функции корреляции могут попасть значения цветов пикселей, лежащих внутри прямоугольной области, но за пределами объекта, а эти пиксели совсем не обязательно должны коррелировать друг с другом, следовательно, значение функции корреляции в этом случае уменьшится. А если оно станет меньше выбранного порога похожести, алгоритм может ошибочно посчитать данную прямоугольную область растра непохожей на объект, с которым производится сравнение, даже если на самом деле это не так. Очевидно, что вычислять функцию корреляции для двух объектов не имеет смысла, если линейные размеры соответствующих им прямоугольников существенно различаются, поскольку и так очевидно, что это разные объекты. Также бессмысленно, например, искать в правом нижнем углу текущего кадра объект, обнаруженный в левом верхнем углу предыдущего кадра, поскольку никакой интересующий нас объект не может за такое короткое время так существенно изменить своё местоположение. Такие допущения могут существенно сократить затраты на трассирование, в общем случае включающие вычисление функции корреляция каждого объекта с каждым. Кроме того, для объекта, испытавшего крайне малое смещение на соседних кадрах можно вообще не вычислять значения функции корреляции. Ведь ещё до выполнения данной операции становится очевидным, что два отпечатка в одной и той же области маски движения на соседних кадрах принадлежат одному и тому же объекту.
Рис. 1.2 Последовательность обработки двух следующих друг за другом кадров
Изображение вычитается из базового кадра, а затем поиском в глубину находятся области, состоящие из небелых пикселей. Области на разных кадрах, соответствующие футболистам, обводятся в разноцветные прямоугольники. [4]
1.2.3 Алгоритмы и методы распознавания лиц
Задачи распознавания человека по изображению лица делятся на три больших класса: поиск в больших базах данных, контроль доступа и контроль фотографий в документах. Они различаются как по требованиям, предоставляемым к системам распознавания, так и по способам решения, и поэтому представляют собой отдельные классы.
Различны и требования, предъявляемые к ошибкам первого и второго рода для таких классов. Ошибкой первого рода (type I error, misdetection) называется ситуация, когда объект заданного класса не распознаётся (пропускается) системой. Ошибка второго рода (type II error, false alarm) происходит, когда объект заданного класса принимается за объект другого класса.
Следует также отметить различие понятий верификации и распознавания (идентификации).
В задаче верификации неизвестный объект заявляет, что он принадлежит к некоторому известному системе классу. Система подтверждает или опровергает это заявление. При распознавании требуется отнести объект неизвестного класса к одному из известных или выдать заключение о том, что этот объект не относится к известным классам.
1.2.3.1 Сравнение типа один со многими
Высокие требования к ошибке первого рода - система распознавания должна находить изображения соответствующие данному человеку, по возможности не пропустив ни одного такого изображения. При этом допустимо, если в результирующей выборке будет присутствовать небольшое число других людей.
Обычно в большой базе данных (104-107 изображений) требуется найти изображения, наиболее похожие на заданное. Поиск должен быть произведён за разумное время. Одно из решений состоит в хранении базе данных небольших наборов заранее извлечённых ключевых признаков, максимально характеризующих изображение. При этом требования к точности не столь критичны как в задачах контроля доступа и документного контроля.
1.2.3.2 Сравнение типа один с несколькими
Критичны требования к ошибкам второго рода. Система распознавания не должна распознавать незнакомых людей как знакомых, возможно даже за счёт увеличения ошибок первого рода (отказов в доступ знакомым людям).
Имеется небольшая группа лиц (5-50 человек), которых система должна распознавать по изображению лица для доступа в некоторое место. Людей, не входящих в эту группу, система не должна пропускать. Возможны варианты, когда требуется установить конкретную личность по изображению лица. При этом от системы требуется высокая достоверность распознавания, возможно даже за счёт увеличения числа отказов на знакомые объекты.
В качестве тренировочных изображений обычно для каждого человека доступны несколько изображений лица, полученных при различных условиях. Например, различные ракурсы, освещённость, причёска, мимика, наличие очков и т.п.
Система должна работать в реальном масштабе времени, а процесс настройки может занимать больше времени и производиться отдельно. В процессе эксплуатации система должна дообучаться на вновь поступающих изображениях по возможности быстрее.
Ограничений на применяемые методы здесь нет, но все методы сходятся в одном. Имеется обучающий набор изображений лиц заданной группы людей (возможно при различных условиях съёмки). К этому набору система обращается в процессе распознавания, или система настраивается в процессе обучения на этот набор.
Распространён подход с использованием нейронных сетей, которые после обучения обладают хорошей обобщающей способностью.
1.2.3.3 Сравнение типа один к одному
Формулировать требования к ошибкам первого и второго рода здесь будет некорректно, поскольку система распознавания никогда не имела дело с поступающими на вход классами. Но желательно чтобы система не совершала ошибок при сравнении.
Требуется сравнить изображение лица человека, полученное в данный момент с фотографией из какого-либо документа. Системе надо ответить принадлежат ли эти лица одному человеку или нет. Данный класс задач наиболее сложен, поскольку, во-первых, система никогда раньше не сталкивалась с изображением лица данного человека. Система сравнивает всегда отличающиеся изображения, учёт всех возможных различий в процессе обучения или настройки системы затруднителен. Во вторых, здесь большее влияние оказывают возрастные и другие изменения лица. В третьих, качество и контраст отсканированной фотографии, как правило, хуже, чем изображение лица снятого камерой. Большинство методов для данного класса задач неприменимы без специальной адаптации.
В изученной литературе нет работ, напрямую связанных с применением нейросетевых методов для решения данного класса задач. Для этого можно предложить применение нейронных сетей (НС) для извлечения ключевых признаков изображений и адаптацию НС для сравнения двух изображений.
Инвариантностью к изменению масштаба обладают неокогнитроны, модификации нейронных сетей высокого порядка. Т.е. эти виды сетей не надо специально обучать на изображениях с различными масштабами объекта, обучившись некоторому изображению один раз, они способны затем распознавать объект на изображении при любых изменениях масштаба.
Так же инвариантностью к изменениям масштаба обладают моменты Лежандра, Зернике и т.п.
В остальных методах инвариантность к изменениям масштаба достигается на этапе предобработки (приведение к стандартному масштабу), либо в обучающую выборку включаются изображения с различным масштабом.
Большинство методов чувствительно к изменениям освещения - результат распознавания сильно ухудшается. Некоторого улучшения можно достичь за счёт выравнивания гистограммы яркостей, но в общем случае изменения в освещении предобработкой устранить невозможно.
Также используют алгоритм выделения линейных подпространств, который надёжно классифицирует человека по изображению лица при достаточно широком диапазоне условий освещённости. При этом обучающая выборка формировалась с использованием изображений при различных условиях освещения. Существуют так же различные эвристические подходы. Например, в модификации метода главных компонент, первые 2-3 компоненты отражают в основном различия в освещении, и поэтому при сравнении не учитываются.
Специфический подход - использование изображения лица, взятое в инфракрасном спектре. Это обеспечивает независимость от условий освещения, но требует специального оборудования. В большинстве методов требуется предобработка, приводящая положение лица на изображении к стандартной ориентации (горизонтальная линия глаз, вертикальная ось симметрии головы).
Инвариантностью к изменениям ориентации обладают неокогнитроны и модификации нейронных сетей высокого порядка, которым достаточно одного предъявления изображения для того, чтобы узнать объект на изображении при любом изменении ориентации объекта. Так же инвариантностью к изменениям ориентации обладают моменты Лежандра, Зернике и т.п. Инвариантностью к сдвигу обладают неокогнитроны, нейронные сети высокого порядка, автокорреляторные нейронные сети Хопфилда, а так же некоторые моменты. В остальных случаях инвариантность к сдвигу достигается предобработкой или обучением. Не существует методов распознавания изображений, инвариантных к большим изменениям ракурса (трёхмерным поворотам лица). Требуется предварительное обучение на изображениях лица в различных ракурсах.
Методы основаны на синтезе изображения в новых ракурсах по одному примеру изображения в произвольном ракурсе, и находятся в стадии разработки.
Другое решение этой проблемы заключается в использовании трёхмерного представления. Однако это требует или использования нескольких изображений при различных условиях съёмки или построения сложных трёхмерных моделей лица.
Каждое лицо отдельного человека представляет собой класс для системы распознавания. Лицо одного человека может отличаться причёской, бородой, очками, эмоциональным выражением, подвержено возрастным изменениям. Такие различия называются внутриклассовыми и создают проблемы для систем распознавания. Частично эта проблема может быть преодолена выделением областей лица, неподверженных таким изменениям. Так же это может решаться в процессе обучения. Например, в линейных дискриминантах и нейросетевых методах. Неокогнитроны могут распознавать искажённое изображение. Под помехами здесь понимается как различного вида шум на изображении, так и другие помехи, перекрывающие или искажающие части объектов на изображении.
Свойством восстанавливать изображение, наиболее близкое к исходному, обладают нейронные сети Хопфилда, автоассоциативная память и реконструкция изображения по главным компонентам.
В любом методе после преобразования изображения и выделения ключевых признаков требуется сравнить полученные признаки, для того чтобы произвести распознавание. И, несмотря на многообразие различных алгоритмов и методов распознавания, среди них можно выделить три группы методов, различающихся способами сравнения изображений, рис. 1.3.
В первой группе методов набор признаков (в простейшем случае исходное изображение) представляет собой точку в пространстве признаков, где значение каждого признака (например, яркость отдельного пикселя, значение главной компоненты, коэффициент частотного преобразования и т.п.) представляет собой координату вдоль некоторой оси пространства признаков. Процедура сравнения основывается на разделении пространства признаков на области, относящиеся к одинаковым классам.
Для этого, например, может быть вычислено расстояние от неизвестного образа до всех остальных образов при помощи какой-либо метрики. Класс может быть представлен центром кластера, тогда расстояние от неизвестного образа вычисляется до центров всех кластеров, как это делается в методе главных компонент. В мультимодальном анализе главных компонент и в радиально-базисных нейронных сетях одному классу может соответствовать несколько кластеров, рис. 1.4. Линейный дискриминант строит набор линейных разделяющих поверхностей, полагая, что классы линейно разделимы в пространстве признаков.
Разновидность нейронных сетей - многослойные персептроны позволяют строить разделяющие поверхности любой сложности, рис. 1.4. Нейронные сети Хопфилда преобразуют изображение, поданное на вход к ближайшему в пространстве изображений.
Рис. 1.3 Схема способов сравнения изображений
Рис. 1.4 Слева - кластеризация, справа - разделяющие поверхности в пространстве признаков
Несмотря на то, что самые совершенные методы могут лучшим способом разбить исходное пространство на области, этого недостаточно, поскольку для реальных объектов требуется огромное количество разделяющих областей (и обучающих примеров), чтобы учесть всевозможные способы изменения изображений объектов. Это связано с тем, что даже незначительное, с человеческой точки зрения, изменение изображения (например, ракурс, освещение или наличие бороды), может дать положение в пространстве признаков, очень далеко лежащее от исходного. И система в этом случае может среагировать не на одинакового человека, а, например, на одинаковый ракурс, посчитав изображение другого человека в том же ракурсе наиболее похожим на неизвестное. Ни применение различных преобразований для начального представления изображения, ни предобработка не может решить эту проблему для общего случая.
Следующая группа методов частично преодолевает данный недостаток. На изображении находятся важные области лица (например, области глаз, бровей, носа, губ). Затем с помощью первого способа производится сравнение каждой области, и результат каждого такого сравнения вносит вклад в окончательный результат. К таким методам относится, например, сравнение по эталонам, различные способы анализа главных компонент по блокам изображений.
В третьей группе учитывается топологическое искажения изображения, рис. 1.5. Методы, использующие искажение изображения для сравнения, позволяют добиться лучших результатов.
Рис. 1.5 Пример искажения решётки исходного изображения
В методе сравнения эластичных графов на изображение накладывается набор ключевых точек, связанных между собой дугами. На неизвестном изображении находятся точки, соответствующие исходным и затем измеряется суммарное изменение размеров дуг. В гибких контурных моделях извлекается контур очертаний лица, и затем сравниваются формы контуров для разных изображений. Работа использует нейронные сети и скрытые Марковские модели для анализа соотношений расстояний между областями глаз, носа и рта.
В вышеописанных методах после нахождения ключевых областей или контуров остальная информация не учитывается, что снижает точность. Следующие методы сравнивают всё изображение.
Сначала вычисляется оптический поток между двумя сравниваемыми изображениями. Затем на основе оптического потока вычисляется мера искажения от неизвестного изображения к исходному. По величине этого искажения определяется степень похожести изображений. Работа использует генетический алгоритм для искажения неизвестного изображения в сторону сравниваемых, степень похожести изображений так же определяется величиной искажения. В данном случае используются эластичные деформации для сопоставления двух изображений целиком, рис. 1.6.
Пиксел отмеченный квадратом сдвигается в позицию пиксела отмеченного окружностью, три результата с различными праметрами деформации.
Рис. 1.6 Эластичные деформации: исходное изображение (слева)
Вышеприведённые методы сравнивают только суммарное искажение, не пытаясь учесть его характер, и в этом заключается их недостаток. Характер искажения изображения несёт важную информацию для распознавания изображения, и поэтому нижеприводимые методы имеют лучшую точность распознавания.
К таким методам относятся псевдодвумерные скрытые Марковские модели, свёрточные нейронные сети, когнитроны и неокогнитроны. Потенциальные поля, получаемые по искажениям изображения, используются для распознавания эмоций. В алгоритмах технологии FaceIt корпорации Visionics изображение разбивается на блоки и анализируется взаимное расположение таких блоков. Эти методы для сравнения используют как характеристики участков (блоков) изображений (набор яркостей пикселей, коэффициентов частотных преобразований, главные компоненты блоков изображения и т.п.), так и взаимное расположение таких участков. Причём как характер искажений, так и содержимое участков усваивается в процессе обучения. В процессе распознавания искажение производится не к каждому примеру тренировочного набора, а к обобщённой модели класса.
По характеру использования обучающего набора методы распознавания лиц можно разделить на два больших класса. В методах первого класса в процессе настройки не используют обучающие примеры. В таких методах все параметры задаются вручную и, как правило, подбираются путём различных экспериментов.
Например, криминалистическая идентификация человека по лицу с применением ключевых точек. В этой работе приведены результаты экспериментального выбора ключевых точек и отношений между ними, наиболее пригодных для задачи распознавания. Такой подход трудоёмок, требует априорных знаний о предметной области (в данном случае об антропометрических характеристиках лица) и большого количества настроечных экспериментов.
В противоположность этому второй класс методов в различной степени для извлечения признаков использует анализ обучающей выборки, представляющей собой набор типичных объектов нужных классов. Поэтому такие методы вычислительно более трудоёмки и их развитие стало возможным с возрастанием мощи вычислительной техники. Это метод главных компонент, линейные дискриминантные методы, метод сравнения эластичных графов. Однако в них основной упор сделан на автоматизированное извлечение признаков, но не отношений между ними и определения их важности (взвешивание). В работе предпринята попытка вычислить весовые параметры для эластичного сравнения графов. Линейный дискриминантный анализ используется для анализа признаков и преобразования их такому виду, чтобы они максимизировали межклассовые и минимизировали внутриклассовые различия.
Одни из самых совершенных методов, в которых извлечение признаков и построение системы их взаимоотношений происходит в процессе обучения - это скрытые Марковские модели и нейронные сети.
Для нейронных сетей на данный момент времени разработаны эффективные комбинированные методы обучения, которые позволяют полностью автоматизировать процесс выбора параметров архитектуры и обучение сети. При этом достигается результаты, превосходящие другие методы. Но вычислительно эти методы трудоёмки.
Методы распознавания по изображению лица можно разделить на три класса.
Первый класс использует исходное изображение только для начального выделения каких-либо ключевых точек, расстояний между такими точками, соотношения расстояний или других геометрических характеристик и в дальнейшем к исходному изображению (например, полутоновому) не обращается. Такая информация достаточно достоверно характеризует конкретного человека, и используется в криминалистике для опознания людей. Однако показано, что в целом геометрической информации недостаточно для распознавания человека по изображению лица.
Второй класс методов использует всё исходное изображение. Например, метод анализа главных компонент, линейный дискриминантный анализ оперируют исходным полутоновым изображением как многомерным вектором. К этому классу так же относятся различные нейронные сети, принимающие на вход изображение целиком. Многие источники сходятся во мнении, что для общих случаев распознавания требуется анализировать всю информацию, предоставленную на изображении (например, всё полутоновое изображение).
Третий класс представляет собой сочетание двух предыдущих. Здесь используются как геометрические характеристики, так и элементы, например, полутонового изображения. Например, метод сравнения эластичных графов. Вершины графа характеризуют некоторые особые точки изображения, дуги - расстояния между этими точками, кроме этого каждой вершине приписан набор локальных характеристик изображения (джет). Другим примером является метод сравнения эталонов. На изображении лица выделяются особые области, такие как глаза, нос, рот, и изображение сравнивается по этим областям.
Методы распознавания характеризуются так же различным соотношением в них аналитических и эмпирических способов решения задачи распознавания. Метод главных компонент и линейные дискриминанты, например, основаны на решении систем матричных уравнений и нахождений расстояний между образами в различных метриках. В методе сравнения эластичных графов ключевые точки отмечаются на обучающем наборе изображений лиц исходя из эмпирических соображений.
Особое место занимают нейросетевые методы. В процессе настройки сети используются аналитические методы градиентного спуска. Но такая настройка не дает, ни гарантии достижения минимума ошибки, ни оценки отклонения полученной ошибки от оптимальной. В отличие от статистических методов, решения, получаемые при помощи НС, носят не вероятностный, а правдоподобный характер, определяемый обучающим набором.
Похожая ситуация со скрытыми Марковскими моделями. Настройка параметров каждой модели осуществляется математическими оптимизационными методами, но они не дают точного решения.
Методы делятся на два класса по способу сравнения неизвестного изображения с тренировочным набором (или базой изображений).
Первый класс методов использует тренировочный набор для построения обобщённой модели каждого класса лица (или всех классов сразу). Это различные нейронные сети, линейные дискриминанты, скрытые Марковские модели. Второй класс методов непосредственно сравнивает неизвестное изображение с каждым изображением из тренировочной выборки. Это метод собственных лиц (метод главных компонент), сравнение эталонов, методы сравнения эластичных графов, анализ оптического потока.
Использование последовательности кадров для задач, связанных с анализом изображения лица является более предпочтительным (но не всегда возможным), чем использование единичного статичного изображения, поскольку даёт дополнительную информацию.
Во-первых, это позволяет выбрать наиболее репрезентативные кадры из последовательности. Во-вторых, обучение системы на динамично меняющемся изображении позволяет ей извлечь больше информации об объекте.
Так, использование нескольких кадров значительно достоверность анализа выражения человеческого лица, позволяет проследить динамику его изменений при различных эмоциях. В работе при относительно простом алгоритме распознавания, использовалась последовательность кадров, поступающих с камеры, и при этом точность распознавания составила 90%.
Для поиска на изображении участка, соответствующего лицу, используются различные способы, важной частью которых являются методы определения того, содержит ли подаваемое на вход изображение лицо (детектирование).
Ряд методов изначально обладает способностями определения, относится ли входное изображение к классу «своих» изображений, и при соответствующей адаптации могут использоваться в качестве детекторов.
Различные типы нейронных сетей обладают способностью относить входное изображение к нужному классу с различной степенью доверия. Существуют подходы с использованием специально обученных нейронных сетей для того, чтобы определить содержит ли изображение лицо.
Метод анализа главных компонент так же применяется для детектирования области лица. На основе сравнения входного и реконструированного изображения можно определить, относится ли входное изображение к классу лиц.
Некоторые методы изначально обладают возможностью определения ракурса лица на изображении.
В работе на основе гибких контурных моделей лица были получены главные компоненты, отражающие углы пространственных поворотов лица.
В методах, использующих обучение, такие способности достигаются в процессе обучения. В работах при использовании метода главных компонент, были обнаружены компоненты, отражающие в основном эмоции, пол и расу.
В других методах возможность определения на основе изображения лица такие характеристики личности как пол, раса, возраст, эмоциональное состояние достигается в процессе обучения.
Нейронные сети использовались в работе для определения пола и эмоционального состояния. В нейронной сети имелся набор выходов, отвечающих за эти характеристики, и нейронная сеть обучалась классифицировать изображения лиц по этим признакам.
1.3. Существующие программные средства
1.3.1 Emgu CV
Emgu CV -- кроссплатформенная «обёртка» для .NET библиотеки обработки изображений OpenCV (основной библиотеки), Emgu CV также называют библиотекой машинного зрения. Она используется для решения разнообразных задач связанных с 2D графикой, распознанием лиц и предметов на фото, распознание лиц и предметов на видео и др. Emgu CV может быть использован на нескольких различных языках, включая C #, VB.NET, C + + и IronPython.
Emgu CV полностью написан на C #. Преимущество в том, что он может работать на любой платформе: Linux, Mac OS X, IOS и Android. Код является кросс-платформенным. [5]
1.3.2 AForge.NET
AForge.NET является основой C # и предназначен для разработчиков и исследователей в области компьютерного зрения и искусственного интеллекта - обработка изображений, нейронные сети, машинное обучение, робототехника и т.д.
Accord.NET является основой для научных вычислений .NET. Структура основывается на AForge.NET, предназначена для обработки изображений, используются новые инструменты и библиотеки. Эти библиотеки охватывают широкий спектр научных вычислительных приложений, таких как статистическая обработка данных, машинное обучение, распознавание образов. Структура предлагает большое количество вероятностных распределений, проверки гипотез и поддержку для большинства популярных методов измерения производительности.
1.3.3 Cognitec FaceVACS SDK и FaceVACS VideoScan
Новое поколение компьютерного видеонаблюдения автоматически сканирует входящий видеопоток, обнаруживает несколько лиц и проверяет наличие возможных совпадений в «контрольном списке». Если соответствие найдено, операторы получают уведомления в реальном времени.
Особенности:
- слежение в реальном времени на нескольких видеопотоках;
- в режиме реального времени лицо сравнивается с эталонами «контрольного списка»;
- регистрации при неподвижном изображении или при живом потоке видео в ручном и автоматическом режиме;
- применение С++ API и Web Services API;
- возможность масштабируемости в пределах «контрольного списка»: размер, количество видеопотоков и число видимых лиц на изображении.
Возможности программ Cognitec:
- чрезвычайно высокая обработка сравнений по образцам (900 000 сравнений в базе за секунду на среднем по силе процессоре);
- интеграция с веб-камерами, http - камерами, цифровыми фотоаппаратами, видеокамерами, а также поддержка изображений в распространенных форматах;
- объемные базы данных, интеграция с Oracle, IBM DB2, MSSQL Server.
Недостатки:
- свет играет большую роль - к примеру, изображение лица в тени компоненты не распознают.
Помимо Web-приложений, Cognitec предоставляет API для цифровых рекламных щитов -- билбордов (billboard) с целью показа рекламы для целевых аудиторий.
Cognitec участвует и в машиностроении, системы данной компании применяются в автомобилях для анализа лиц водителей и попутчиков, а также безопасности, например, путем выявления позиции головы, обнаружения рассеяного взгляда, обнаружения закрытых глаз. [7]
1.3.4 Visage Technologies Face Track
В зависимости от конфигурации, Visage Technologies Face Track может отслеживать контур рта, подбородка, контуры бровей, вращение и закрытие глаз. Полностью автоматический режим работы (ручная настройка доступна для повышения точности; результаты такой настройки могут быть сохранены и использованы повторно).
...Подобные документы
Обзор основных алгоритмов и методов распознавания лиц. Архитектура средств динамического отслеживания лиц в видеопоследовательности. Результаты тестирования на больших объемах видеоданных. Разработка алгоритмов и методов динамического отслеживания лиц.
дипломная работа [5,9 M], добавлен 20.07.2014Анализ методов оценки надежности программных средств на всех этапах жизненного цикла, их классификация и типы, предъявляемые требования. Мультиверсионное программное обеспечение. Современные модели и алгоритмы анализа надежности программных средств.
дипломная работа [280,5 K], добавлен 03.11.2013Алгоритмы процесса поиска и устранения неисправностей персонального компьютера, оргтехники и локально–вычислительной сети. Характеристика аппаратных, аппаратно-программных и программных неисправностей, способы их диагностики. Диагностические сигналы BIOS.
методичка [33,6 K], добавлен 14.01.2016Обработка текстовых данных, хранящихся в файле. Задачи и алгоритмы обработки больших массивов действительных и натуральных чисел. Практические задачи по алгоритмам обработки данных. Решение задачи о пяти ферзях. Программа, которая реализует сортировку Шел
курсовая работа [29,2 K], добавлен 09.02.2011Актуальность создания фирменного web-сайта. Разработка, внедрение web-сайта под названием "Удачная постройка". Анализ существующих программных решений, выбор инструментальных средств разработки. Архитектура сайта, структура данных. Тестирование и отладка.
дипломная работа [4,7 M], добавлен 19.01.2017Понятие и эволюция игр, анализ их различных жанров и существующих аналогов. Выбор программных средств для реализации игры, написание сюжета и выбор среды разработки игры. Алгоритмы для придания гибкости обучающей игре. Описание программных модулей.
дипломная работа [2,7 M], добавлен 27.10.2017Алгоритмы поиска динамических шумов и их компенсации на основе метода Motion estimation. Разработка программного продукта для детектирования движения капель дождя и их удаления на видеопоследовательностях, и его реализация среде Microsoft Visual Studio.
магистерская работа [6,6 M], добавлен 09.02.2013Обоснование и выбор программных средств обеспечения проектирования и разработки структуры классов. Математические методы и специальные алгоритмы решения задачи. Описание входной, выходной и промежуточной информации. Разработка экранного интерфейса.
дипломная работа [1,2 M], добавлен 18.05.2014Программное обеспечение как продукт. Основные характеристик качества программного средства. Основные понятия и показатели надежности программных средств. Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств.
лекция [370,1 K], добавлен 22.03.2014Транскрипционные факторы. Представление регуляторных элементов. Алгоритмы поиска мотивов. Скрытые Марковские модели и вспомогательные алгоритмы. Тестирование на сгенерированных и реальных данных, отличия в показателях. Сравнение с другими алгоритмами.
дипломная работа [5,0 M], добавлен 24.05.2012Условия применения и технические требования для работы программно-аппаратной платформы. Система распознавания лиц VOCORD Face Control. Система распознавания текста ABBYY FineReader. Алгоритмы и методы, применяемые в программе. Алгоритм хеширования MD5.
дипломная работа [1,8 M], добавлен 19.01.2017Проектирование удобного приложения для комфортной навигации по файлам облачного хранилища в одном файловом менеджере. Выбор интегрированной среды разработки. Выбор инструментов для визуализации приложения. Выбор средств отслеживания HTTPзапросов.
курсовая работа [3,6 M], добавлен 16.07.2016Этапы тестирования при испытаниях надежности программных средств. Комплексирование модулей и отладка автономных групп программ в статике без взаимодействия с другими компонентами. Испытания главного конструктора. Жизненный цикл программного средства.
презентация [339,6 K], добавлен 22.03.2014Определение задач и классов программных средств для организации научных конференций. Особенности использования программных средств поддержки организации и проведения конференций. Сравнение программных средств для организации и проведения конференций.
реферат [1,8 M], добавлен 05.12.2017Обзор систем управления сайтом, регистрации и отслеживания ошибок. Создание проекта "Senet" в системе регистрации и отслеживания проблем Mantis. Расчет затрат на разработку и эксплуатацию программного обеспечения. Охрана труда и техника безопасности.
дипломная работа [1,7 M], добавлен 24.06.2015Обзор существующих аналогов программных средств, предназначенных для построения генеалогических деревьев, их достоинства и недостатки. Выбор программных средств, разработка и реализация архитектуры системы хранения данных, отладка и тестирование сервиса.
дипломная работа [177,1 K], добавлен 24.06.2012Обзор алгоритмов решения задачи: точные методы, генетический и жадный алгоритмы. Характеристика жадного алгоритма: его описание, анализ точности приближения, вычислительной сложности. Программная реализация и проверка корректности и быстродействия.
курсовая работа [228,7 K], добавлен 14.10.2017Методы компрессии информации. Обзор и характеристика существующих методов сжатия информации, основанных на процедуре кодирования Хаффмена. Алгоритмы динамического кодирования методом FGK и Виттера. Программная реализация и руководство пользователя.
курсовая работа [33,2 K], добавлен 09.03.2009Обзор задач, решаемых методом динамического программирования. Составление маршрута оптимальной длины. Перемножение цепочки матриц. Задача "Лестницы". Анализ необходимости использования специальных методов вероятностного динамического программирования.
курсовая работа [503,3 K], добавлен 28.06.2015Рассмотрение основных понятий криптографии: конфиденциальности, целостности, аутентификации и цифровой подписи. Описание криптографических средств защиты (криптосистемы, принципы работы криптосистемы, распространение ключей, алгоритмы шифрования).
дипломная работа [802,2 K], добавлен 08.06.2013