- •Назначение и условия применения 53
- •Введение
- •1 Постановка задачи
- •2 Аналитическая часть
- •2.1Факторы, влияющие на уникальность речи
- •2.2 Система распознавания личности
- •2.3 Образец и его предобработка
- •2.3.1 Обрабатываемый образец
- •2.3.2 Предварительная обработка
- •2.4 Извлечение признаков
- •2.4.2. Кепстральные коэффициенты, основанные на линейного предсказания
- •2.5 Обработка извлеченных признаков
- •2.6 Способы классификации моделей
- •2.6.1 Вычисление расстояний
- •2.6.2. Метод опорных векторов
- •2.6.3 Модель гауссовых смесей
- •2.6.4 Метод ближайшего соседа
- •2.7 Аналогичные программы
- •VoiceKey
- •VoiceNet
- •2.8 Недостатки большинства системы идентификации по голосу
- •2.9 Действующие национальные стандарты
- •3 Конструкторская часть
- •3.1. Функциональная схема аппаратных средств
- •3.2 Функциональная схема программного средства
- •3.3 Информационная схема программного средства
- •3.4 Алгоритм программного средства
- •7. Вычисление расстояний.
- •3.5. Язык программирования и среда разработки
- •4 Документация программного средства
- •4.1 Техническое задание
- •4.1.1 Основания для разработки
- •4.1.2 Назначение разработки
- •4.1.3 Требования к программному средству
- •4.1.4 Требования к программной документации
- •4.2 Руководство системного программиста
- •4.2.1 Общие сведения о программном средстве
- •4.2.2 Структура программного средства
- •4.3 Руководство администратора
- •4.3.1 Назначение и условия применения
- •4.4 Руководство оператора
- •4.4.1 Назначение и условия применения
- •4.4.2 Выполнение программного средства
- •5. Экспериментальная часть
- •6 Организационно - экономическая часть
- •6.1 Описание эффектов от внедрения разработки
- •6.2 Планирование процесса разработки программного средства
- •Техническое задание – 15%;
- •6.3 Смета затрат на разработку
- •6.3.1 Материальные затраты
- •6.3.2 Расходы на оплату труда
- •6.3.3 Отчисления на социальные страхования от заработной платы
- •6.3.4 Амортизационные отчисления
- •6.3.5. Прочие прямые расходы
- •6.3.6 Накладные расходы
- •7 Безопасность жизнедеятельности
- •7.1 Введение
- •7.2 Анализ опасных и вредных факторов
- •7.3 Мероприятия по нормализации и защите от вредных и опасных воздействий.
- •7.4 Возможные чрезвычайные ситуации
- •7.5 Оценка напряженности трудового процесса
- •7.6. Выводы
- •Список используемой литературы
- •Приложения
2.2 Система распознавания личности
Работа систем распознавания состоит из двух этапов: - регистрация нового пользователя;
- идентификация зарегистрированного пользователя (процесс распознавания).
Каждый пользователь проходит регистрацию в системе, записав образец своего голос. Далее из образца извлекаются признаки, благодаря которым и происходит распознавание. На основе этих признаков строятся "шаблоны" пользователей. Такой "шаблон" является структурой, которая при данных признаках устанавливает степень подобия. Признаки только что записанного голоса сравниваются с признаками голоса из базы данных, после чего происходит идентификация или отказ в доступе.
Подытожив, можно выделить три основных этапа в системе распознавания личности :
Этап обработки сигналов. Здесь происходит обработка самого сигнала с целью выделить признаки, необходимые для распознавания. Речевой сигнал представлен в виде определенной последовательности векторов признаков;
Этап моделей. На данном этапе идет построение модели, так называемого шаблона, с помощью которого и высчитывается степень подобия между имеющейся моделью и признаками;
Этап принятия решений. С помощью вычисленной степени подобия и заданных порогов принимается решение.
2.3 Образец и его предобработка
2.3.1 Обрабатываемый образец
Обрабатываемым образцом, при идентификации личности по голосу, является записанный речевой сигнал. При кодировании аналоговый сигнал представляется последовательностью мгновенных измерений значений амплитуд. Для того, чтобы записать и обработать речевой сигнал, берут частоту дискретизации, которая равняется 8 или 16 кГц.
Чтобы избежать некачественное распознавание, следует избегать ряд определенных факторов, таких как:
плохая акустика в помещении;
разное расстояние от произносящего до микрофона;
несовпадение канала и др.
Например, если распознавать голос, который передается по телефону, то нельзя быть уверенным в том, что при регистрации и идентификации использовался один и тот же микрофон, а так же канал передачи. Так же следует учитывать влияние каких-либо посторонних помех.
Для того, чтобы запись была более качественной, необходимо, чтобы канал представлял собой микрофон, кабель и аналого-цифровой преобразователь.
2.3.2 Предварительная обработка
Суть предварительной обработки - обработка фильтром определенных частот, а так же удаление участков, которые не содержат речевой сигнал [3].
Чтобы на практике определить крайние точки первого слова, необходимо проделать определенные этапы предобработки.
1. Допустим, что в интервале 300мс от начала записи микрофона имеются только посторонние шумы и помехи. Разделим весь входной сигнал на 256 сегментов. Речь можно представить как:
,
,
где S - последовательность отчетов входного сигнала, t = 0,1...255.
Для первых 10 первых сегментов используем быстрое преобразование Фурье (БПФ):
где i = 0,1,...,255, а p = 0,1,...,9.
Далее идет подсчет арифметического среднего значения:
где i = 0,1,...,127 (так как наблюдается симметрия).
Среднее квадратичное отклонение считается по формуле:
Расчет порога шумов:
,
где
,
=2,33.
В итоге получим 128 значений порогов шума. Далее идет проверка каждого сегмента. Если в отдельном сегменте превышено 15 порогов, то можно с уверенностью говорить, что здесь находится начало слова. Но точность нахождения сегмента с началом слова равняется порядка 23 секунд. Чтобы определить более точное расположение начала слова, нужно разбить его на 8 отрезков, в каждом из которых будет находиться 32 отсчета. Получается, что каждый отрезок будет равен 3 мс. Все количество начальных расчетов шума следует разделить на 80 блоков, с целью вычисления модуля средней амплитуды шума:
где , =2,33.
Финальным
этапом является сравнение среднего
значения модуля каждого блока
в сегменте, где находится слово с порогом
.
Если
двух подряд идущих блоков выше порога
,
то делаем вывод, что в этом блоке находится
начало слова, которое произнес пользователь
при регистрации.
Ниже будут представлены блок-схемы алгоритма определения начала слова (рисунок 2.1) и алгоритма уточнения данного интервала (рисунок 2.2).
Рисунок 2.1 Блок-схема алгоритма определения начала слова
Рисунок 2.2 Блок-схема алгоритма уточнения определения начала слова
