Введение в распознавание дикторов. Основные проблемы идентификации диктора.

(перевод статьи: Кулибаба О.В., язык русский)



Автор: Chris Pasich

Источник: http://cnx.org/content/m14199/latest/




Введение

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

Резюме

Цель нашего проекта – определение подлинности личности конкретного диктора. Диктор будет говорить системе слово, и фактически само слово может быть любым словом. Система может принимать любое слова, потому что это текстонезависимая система, значить нет необходимости указания специальных слов. Система должна установить личность пользователя, путем изучения гласных звуков с входящего речевого сигнала. Гласные звуки будут проанализированы в частотной области, а именно глядя на максимумы, или форманты, или частотную характеристику сигнала. Эти форманты будут сравниваться с формантами всех членов группы, ранее сохраненных в базе данных системы. Член группы с наибольшим результирующим значением после сравнения идентифицируется как диктор системы. Если ни один пользователь не достигает установленного порогового значения, тогда система отвечает : нет совпадения для данного диктора.

Терминология

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

Распознавание диктора: Определение кто говорит. Как правило имеет два различных применения – идентификация и верификация диктора. Также называется как распознавание голоса.

Идентификация диктора: Определение конкретного человека, кто говорит. Диктор изначально неизвестен, и должен быть определен после сравнения с шаблонами. Часто может быть большое количество шаблонов, которые участвуют в идентификации диктора, поэтому трудно правильно определить диктора.

Верификация диктора: Есть ли диктор тем, за кого он себя выдает. Голос диктора сравнивается только с одним шаблоном – личностью, которой он себя заявил.

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

Вопросы.

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

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

Ответы

  • Как вы решаете вопрос зубчатости сигнала и шума, вносимого в сигнал окружающей средой?
  • Для того чтобы в действительности учесть это необходимо пропустить весь сигнал через сглаживающий фильтр. Фильтр должен выполнять две задачи: во-первых, избавляться от лишнего шума. Во-вторых, избавляться от высокой частоты зубчатости в сигнале, и оставлять после себя только величину сигнала. В результате вы получаете чистый сигнал, который довольно легко обрабатывается.
  • Как вы принимаете во внимание различную громкость дикторов?
  • Сигналы должны быть нормализованы до определенной громкости, перед тем как они будут рассматриваться. Каждый сигнал нормализуется к нулю, так что все сигналы будут иметь одинаковые относительные минимальные и максимальные значения, так что сравнение двух сигналов с различными громкостями – это то же самое, если бы они имели одинаковую громкость.
  • Как изучить каждый из отдельных пиков?
  • Сразу после сглаживания сигнала фильтром, мы используем огибающую функцию для обнаружения всех пиков сигнала. Делая это, мы можем быть уверены в том, что если сигнал проходит точную величину порога, он может быть рассмотрен и сравнен с подобным сигналом в базе данных. Анализ не будет анализом целого сигнала, а будет формантным анализом. Отдельные форманты, или гласные звуки, в сигнале будут вычислены и использованы для верификации дикторов.
  • Как система обрабатывает различные скорости входящих данных?
  • Формантный анализ и огибающая функции используются для помощи с различными скоростями входящих данных. Огибающая пика определяет, какие есть гласные, а фактические свои форманты, будет относительно неизменной. Трудно работать с очень высокой скоростью голоса, но большинство других голосов может работать эффективно.
  • Как вы принимаете во внимание имитацию речевых моделей?
  • Еще раз, форманты отдельных сигналов анализируются определением, является ли диктор тем, за кого он себя выдает. В большинстве случаев, имитирование формант не совпадают с теми, которые хранятся в базе данных, и имитатор будет отвержен системой.

Сравнение формант и идентификация диктора

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

Второй шаг – это фактическое сравнение. Частотная характеристика входящего гласного звука умножается на скалярное произведение с каждым членом предварительно сохраненной частотной характеристики для гласного. Это гласный, который был определен на первом шаге. Результирующая матрица получена из скалярного произведения. Матрица выведет значения от 0 до 1, где 1 – правильного соответствия и 0 – совершенно неправильного соответствия.

Этот процесс продолжается для каждого гласного звука в слове. Матрицы затем суммируются, и система идентифицирует диктора как человека с наивысшим баллом. Однако, если человек не превысит пороговое значение, то система определяет, что нет соответствия.

Выводы

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

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