Способ распознавания речевых команд управления
Иллюстрации
Показать всеИзобретение относится к анализу речи в неблагоприятных условиях окружения. Его использование, например, в условиях движущегося транспортного средства или в условиях механического производства с высоким уровнем шумности обеспечивает технический результат в виде устойчивого распознавания команд независимо от особенностей произношения дикторов, а также сокращение объема памяти. Этот результат достигается благодаря тому, что в процессе преобразования речевой команды непрерывно заполняют первый кольцевой буфер оцифрованным сигналом, применяют гребенку рекурсивных фильтров к многократно прореженному сигналу и заполняют спектральными компонентами второй кольцевой буфер, определяют в нем границы речевого фрагмента на основе адаптивной оценки шумового окружения, переводят спектральные компоненты речевого фрагмента в линейный буфер анализа, получают из него сокращенное признаковое пространство и сравнивают полученные спектральные компоненты с векторами эталонов команд базы данных. 6 з.п.ф-лы, 2 ил.
Реферат
Изобретение относится к анализу речи в неблагоприятных условиях окружения, например в условиях движущегося транспортного средства или в условиях механического производства с высоким уровнем шумности.
Известен способ диалогового распознавания речи, при котором для последовательного распознавания используют акустические описания каждого слова, хранимые в базе данных, сравниваемые на основе вероятностных моделей (патент США №4866778, кл. G 10 L 5/06, опубликован в 1990 г.), однако он не обладает высокой эффективностью, поскольку не адаптирован к шумовому окружению и к артикулярным особенностям произношения диктора.
Известен также способ распознавания изолированных слов, основанный на определении и хранении для каждого слова в словаре фонетической модели, составленной из последовательности фонетических символов, соответствующих фонемам слова, определении и хранении характеристических параметров, показывающих энергию и спектральный состав фонемы, выборке звукового сигнала, соответствующего каждому изолированному слову, произнесенному диктором, сравнении значений характеристических параметров для всех моделей словаря и выборе посредством алгоритма динамического программирования небольшого количества моделей - кандидатов (патент ЕВП №0420825, кл. G 10 L 5/06, опубликован в 1991 г.).
Известен также способ, реализованный в системе распознавания речи, основанный на выборках речевого сигнала, анализе энергетических и спектральных данных в интервале выборок, использовании словарей и шаблонов слов, анализе степени подобия между речевыми сигналами и шаблонами, сортировке слов в соответствии со степенью подобия (патент ЕВП №0431890, кл. G 10 L 5/06, опубликован в 1990 г.).
Однако эти способы также не адаптированы к шумовому окружению и к артикулярным особенностям диктора и требуют значительных затрат времени и оборудования при обработке распознаваемых слов.
Наиболее близким к предлагаемому является способ по патенту Российской Федерации №2047912, кл. 6 G 10 L 5/06, 7/06, публикация 11.10.1995, основанный на преобразовании речевого сигнала в цифровой вид посредством кодека, обработки цифрового сигнала для получения характерных признаков, формировании базы эталонов речевых команд, вычислении расстояний между эталонами команд с реализацией распознаваемой команды, принятии решения об отказе от распознания или о распознании команды с выводом распознанной команды на объект управления.
Недостатком этого способа является низкая помехоустойчивость, а его реализация требует высококачественного канала ввода речевого сигнала и больших вычислительных мощностей.
Целью изобретения является обеспечение устойчивого распознавания команд в условиях высокого шумового окружения, независимого от особенностей произношения дикторов, и сокращение объема памяти для реализации способа.
Поставленная цель достигается тем, что в процессе преобразования речевой команды производится непрерывное заполнение первого кольцевого буфера оцифрованным сигналом, получение спектра сигнала в квазилогарифмическом масштабе путем применения гребенки рекурсивных фильтров к многократно прореженному сигналу и заполнение спектром сигнала второго кольцевого буфера, определение во втором кольцевом буфере наличия и границ речевого фрагмента на основе адаптивной оценки шумового окружения, перевод спектральных компонент речевого фрагмента в линейный буфер анализа, вторичная обработка в нем спектральных компонент речевого фрагмента с получением сокращенного признакового пространства и сравнение полученных спектральных компонент с векторами эталонов команд базы данных.
С целью упрощения процедуры обработки сигнала в процессе получения спектра сигнала в квазилогарифмическом масштабе производится определение положения очередного окна анализа по максимуму огибающей в диапазоне интервалов времени, характерных для периодов основного тона соответствующих частотам от 80 до 300 Гц, дифференцирование сигнала в выделенном окне анализа, выделение высокочастотных компонент спектра сигнала с помощью рекурсивных фильтров второго порядка, преобразование его в первичный промежуточный сигнал путем прореживания исходного в два раза, выделение из этого промежуточного сигнала среднечастотных компонент спектра с помощью той же гребенки рекурсивных фильтров второго порядка и преобразование его во вторичный промежуточный сигнал путем прореживания первичного в два раза, выделение низкочастотных компонент спектра этого сигнала с помощью той же гребенки рекурсивных фильтров второго порядка, сглаживание во времени высокочастотных, среднечастотных и низкочастотных компонент спектра сигнала фильтром низких частот второго порядка и непрерывное заполнение второго кольцевого буфера полученными векторами спектральных компонент.
С целью адаптации к шумовому окружению определение наличия и границ речевого фрагмента во втором кольцевом буфере производится анализом превышения спектральных компонент над адаптивными порогами шумового окружения и соответствия границ длительности и энергии имеемым эталонам команд базы данных, а при получении в процессе анализа значения «не речь» производится обновление порогов шумового окружения с помощью фильтра низкой частоты первого порядка.
С целью сокращения необходимого для реализации способа объема памяти в процессе вторичной обработки спектральных компонент речевого фрагмента в линейном буфере анализа производится домножение спектральных компонент на вектор весовых коэффициентов, полученный путем оптимизации распознавания команд по базе данных, нелинейная сигмоидальная обработка спектральных компонент для сокращения битности описания сигнала, сглаживание во времени спектральных компонент фильтром низких частот второго порядка, попарное объединение соседних спектральных компонент для получения вторичных спектральных признаков и уточнение по ним границ произнесенной команды.
Устойчивость распознавания команд независимо от особенностей произнесения дикторов обеспечивается формированием дикторонезависимой базы данных, в процессе создания которой для произнесения набора управляющих команд используется 20 дикторов мужчин и 20 дикторов женщин и производится кластеризация, при этом для каждого произнесения из множества {X(0),X(1),...X(N)} определяется количество произнесений, удовлетворяющих условию D(xi, xj)<Thr, где
0<j<N,
Thr- некоторое пороговое значение,
D(xi, Xj) - мера сходства произнесений, и в качестве центра кластера выбирается то произнесение, которое имеет максимальное количество ближайших, затем центр кластера и произнесения, принадлежащие этому кластеру, исключаются из множества, а над оставшимися повторяется процесс кластеризации и из центров кластеров каждой команды образуют базу данных эталонного описания распознаваемых речевых команд.
С целью упрощения процедуры принятия решения о распознании команды в процессе сравнения спектральных компонент речевого фрагмента с векторами эталонов команд базы данных производится сравнение длин речевого фрагмента и эталонов команд базы данных и вычисление расстояния от этого фрагмента до эталонов команд базы данных методом нелинейного временного выравнивания с использованием взвешенной евклидовой метрики, кроме того, в процессе вычисления расстояния определяется путь максимальной схожести (мера сходства D(xi, xj)) отысканием такой функции временного выравнивания
F()=C0,C1,...Сk,...Ск,
которая проектирует временную область одного образа на временную область другого и представляет собой последовательность состояний Ck, определяемых различием между векторами двух образов, при которой путь из состояния Ск в состояние С0 будет оптимальным, здесь
С0 - начальное состояние,
СK - конечное состояние,
при этом один образ описывается последовательностью векторов
Х={x0, x1, ..., хi, ..., xм} - речевой фрагмент, а другой
Y={y0, y1, ..., yj, ..., yN} - эталон команды.
В процессе отыскания оптимального пути из состояния СK в состояние С0 вычисляется матрица расстояний между последовательностями векторов Х и Y с использованием основной формулы динамического программирования
D(xi, yj-1)+d(xi, yj),
D(xi, yj)=min D(xi-1, yj-1)+d (хi, уj),
D(xi-1, yj) +d(xi,yj),
где
0<=I<M,
0<=j<N,
D(xi,yj)=W*(xk-yk)2 - взвешенная евклидова метрика,
здесь xk и yk - векторы, принадлежащие сравниваемым образцам, при этом вычисляются не все расстояния матрицы, а только те, которые расположены в некотором коридоре вдоль диагонали матрицы, обозначенном на фиг.1 параметром WID, при этом производится вычисление множества расстояний между последовательностью векторов X, описывающей речевой фрагмент, и последовательностями векторов Yi, описывающими эталоны команд базы данных, анализ этих расстояний и отыскание трех ближайших эталонов базы данных, и если ближайшее расстояние соответствует некоторому пороговому значению, принимается решение о распознанной команде, а если расстояние превышает порог, принимается решение об отказе от распознания и возвращении на начальный этап процесса распознания (к сигналу в первом кольцевом буфере).
На фиг.2 показана функциональная блок-схема устройства, реализующего предлагаемый способ распознавания речевых команд управления. Работает устройство следующим образом.
С микрофона на Кодек в непрерывном режиме поступают сигналы любого типа: речевые и окружающего шума. Аналоговый сигнал с микрофона преобразуется Кодеком в цифровой и подается в 1-й кольцевой буфер. 1-й Кольцевой буфер находится в режиме ожидания и непрерывно заполняется оцифрованным сигналом, поступающим с Кодека.
Определитель положения окна анализа (ОПОА) непрерывно анализирует содержимое 1-го кольцевого буфера и при нахождении в нем максимума огибающей сигнала определяет начало и конец окна анализа оцифрованного сигнала. Выделенный фрагмент сигнала, соответствующий окну анализа, с выхода ОПОА поступает на блок спектральной обработки, состоящей из системы БИХ фильтров, фильтров ФНЧ и прореживателей, как показано на фиг.2.
Выделенный фрагмент одновременно подается на 1-й фильтр ФНЧ и 1-ю гребенку из 4-х БИХ фильтров второго порядка. Первая гребенка БИХ фильтров выделяет высокочастотные спектральные компоненты, подаваемые во 2-й кольцевой буфер. С выхода 1-го фильтра ФНЧ сигнал поступает в 1-й прореживатель для понижения частоты квантования исходного сигнала. Фильтр ФНЧ перед прореживателем позволяет избежать наложения частот в сигнале после прореживания.
Прореженный сигнал с выхода 1-го прореживателя одновременно подается на 2-й фильтр ФНЧ и 2-ю гребенку из 4-х БИХ фильтров второго порядка, в которой происходит выделение среднечастотных спектральных компонент сигнала, подаваемых во 2-й кольцевой буфер. Сигнал с выхода 2-го фильтра ФНЧ прореживается 2-м прореживателем и с его выхода поступает на 3-ю гребенку из 4-х БИХ фильтров второго порядка и на дополнительную гребенку из 2-х БИХ фильтров, в которых происходит выделение низкочастотных спектральных компонент сигнала, подаваемых во 2-й кольцевой буфер.
Таким образом, с выходов БИХ фильтров блока спектральной обработки производится заполнение 2-го кольцевого буфера всеми спектральными компонентами в квазилогарифмическом масштабе, образующемся за счет специального подбора коэффициентов в БИХ фильтрах.
Определитель положения окна анализа (ОПОА) ищет следующий максимум огибающей сигнала в 1-м кольцевом буфере и определяет положение второго окна анализа. Сигнал второго окна обрабатывается блоком спектрального анализа описанным выше порядком. Таким образом, производится непрерывное заполнение 2-го кольцевого буфера обработанным сигналом из каждого окна анализа 1-го кольцевого буфера.
Блок определения начала/конца фрагмента непрерывно анализирует содержимое 2-го кольцевого буфера на превышение значений спектральных компонент в выделенном окне анализа над адаптивными порогами шумового окружения.
В результате обработки нескольких последовательных окон анализа в блоке определения начала/конца фрагмента принимается решение либо о выделении фрагмента речи, либо шума, и во втором случае блоком производится адаптация порогов шумового окружения. В первом случае выделенный фрагмент речи, представляющий собой последовательность спектральных компонент нескольких окон анализа, записывается в линейный буфер, откуда считывается в блок вторичной обработки сигнала, который осуществляет процедуру сокращения объема признакового пространства.
Размерность каждой спектральной компоненты с помощью табличной сигмоидальной функции переводится из 16 бит в 8 бит. Кроме того, выполняется попарное объединение соседних спектральных компонент. Сигмоидальная функция осуществляет квазилогарифмическую компрессию спектральных компонент с большими амплитудами, не меняя соотношения спектральных компонент с малыми и средними значениями. В результате обработки спектральных компонент каждого окна анализа формируется вектор вторичных признаков. Таким образом, блок вторичной обработки формирует последовательность векторов вторичных признаков, характеризующий выделенный фрагмент.
В базе данных хранятся эталоны команд, представленные в виде последовательности векторов вторичных признаков, полученных описанным выше порядком.
В блоке принятия решения происходит последовательное сравнение выделенного речевого фрагмента с эталонами команд базы данных. В процессе сравнения вычисляется набор расстояний от последовательности векторов выделенного фрагмента до последовательности векторов каждого эталона команды. Из этого набора расстояний находятся три ближайших расстояния, по которым определяется соответствие некоторому пороговому значению. Если устанавливается превышение порога, то принимается решение либо об отказе от распознавания, либо о распознании соответствующей команды, которая выводится на объект управления в удобном для него виде.
Положительный эффект, состоящий в возможности реализации помехоустойчивого способа распознавания команд управления на дешевых процессорах общего применения с низким быстродействием, например, типа Hyperstone E1-16XT (80 МГц), достигается трехступенчатой обработкой оцифрованного сигнала (в двухкольцевых и в линейном буфере анализа) с получением характерных признаков в виде вторичных спектральных компонент с сокращенным признаковым пространством.
1. Способ распознавания речевых команд управления, состоящий из преобразования речевой команды в цифровой сигнал посредством кодека, обработки цифрового сигнала для получения характерных признаков, формирования дикторонезависимой базы эталонов речевых команд, вычисления расстояний между эталонами команд с реализацией распознаваемой команды, принятия решения об отказе от распознания или о распознании команды с выводом распознанной команды на объект управления, отличающийся тем, что в процессе преобразования речевой команды производится непрерывное заполнение первого кольцевого буфера оцифрованным сигналом, получение из этого сигнала спектра в квазилогарифмическом масштабе путем применения гребенки рекурсивных фильтров к многократно прореженному сигналу и заполнение спектральными компонентами второго кольцевого буфера, определение во втором кольцевом буфере наличия и границ речевого фрагмента на основе адаптивной оценки шумового окружения, перевод спектральных компонент речевого фрагмента в линейный буфер анализа, вторичная обработка в нем спектральных компонент речевого фрагмента с получением сокращенного признакового пространства и сравнение полученных спектральных компонент с векторами эталонов команд базы данных.
2. Способ по п.1, отличающийся тем, что в процессе получения спектра сигнала в квазилогарифмическом масштабе производится определение положения очередного окна анализа по максимуму огибающей в диапазоне интервалов времени, характерных для периодов основного тона, соответствующих частотам от 80 до 300 Гц, дифференцирование сигнала в выделенном окне анализа, выделение высокочастотных компонент спектра сигнала с помощью рекурсивных фильтров второго порядка, преобразование его в первичный промежуточный сигнал путем прореживания исходного в два раза, выделение из этого промежуточного сигнала среднечастотных компонент спектра с помощью той же гребенки рекурсивных фильтров второго порядка и преобразование его во вторичный промежуточный сигнал путем прореживания первичного в два раза, выделение низкочастотных компонент спектра этого сигнала с помощью той же гребенки рекурсивных фильтров второго порядка, сглаживание во времени высокочастотных, среднечастотных и низкочастотных компонент спектра сигнала фильтром низких частот второго порядка и непрерывное заполнение второго кольцевого буфера полученными векторами спектральных компонент.
3. Способ по п.1, отличающийся тем, что определение наличия и границ речевого фрагмента во втором кольцевом буфере производится анализом превышения спектральных компонент над адаптивными порогами шумового окружения и соответствия границ длительности и энергии имеемым эталонам команд базы данных, а при получении в процессе анализа значения «не речь» производится обновление порогов шумового окружения с помощью фильтра низкой частоты первого порядка.
4. Способ по п.1, отличающийся тем, что в процессе вторичной обработки спектральных компонент речевого фрагмента в линейном буфере анализа производится домножение спектральных компонент на вектор весовых коэффициентов, полученный путем оптимизации распознавания команд по базе данных, нелинейная сигмоидальная обработка спектральных компонент для сокращения битности описания сигнала, сглаживание во времени спектральных компонент фильтром низких частот второго порядка, попарное объединение соседних спектральных компонент для получения вторичных спектральных признаков и уточнение по ним границ произнесенной команды.
5. Способ по п.1, отличающийся тем, что в процессе формирования базы данных для произнесения набора управляющих команд используется 20 дикторов мужчин и 20 дикторов женщин и производится кластеризация, при этом для каждого произнесения из множества {X(0), X(1), ... X(N)} определяется количество произнесений, удовлетворяющих условию D(хi,xj)<Thr, где 0<j<N, Thr - некоторое пороговое значение, a D(xi,xj) - мера сходства произнесений, и в качестве центра кластера выбирается то произнесение, которое имеет максимальное количество ближайших, затем центр кластера и произнесения, принадлежащие этому кластеру, исключаются из множества и над оставшимися повторяется процесс кластеризации, и из центров кластеров каждой команды образуют базу данных эталонного описания распознаваемых речевых команд.
6. Способ по п.1, отличающийся тем, что в процессе сравнения спектральных компонент речевого фрагмента с векторами эталонов команд базы данных производится сравнение длин речевого фрагмента и эталонов команд базы данных и вычисление расстояния от этого фрагмента до эталонов команд базы данных методом нелинейного временного выравнивания с использованием взвешенной евклидовой метрики, при этом в процессе вычисления расстояния определяется путь максимальной схожести отысканием такой функции временного выравнивания F( )=C0, C1, ... Сk, ... СK, которая проектирует временную область одного образа на временную область другого и представляет собой последовательность состояний Сk, определяемых различием между векторами двух образов, при которой путь из состояния СК в состояние С0 будет оптимальным, здесь С0 - начальное состояние, СК - конечное состояние, при этом один образ описывается последовательностью векторов Х = {х0, x1, ..., хi, ..., xM}, а другой Y = {у0, y1, ..., yj, ..., yN}, а в процессе отыскания оптимального пути из состояния СК в состояние С0 вычисляется матрица расстояний между последовательностями векторов Х и Y с использованием основной формулы динамического программирования
D(xi,yj-1) + d(xi,yj);
D(xi,yj) = min D(xi-1,yj-1) + d(xi,yj);
D(xi-1,yj) + d(xi,yj),
где 0 ≤ I < M, 0 ≤ j < N;
D(xi,yj) = W* (xk - yk)2 - взвешенная Евклидова метрика, здесь хk и уk - векторы, принадлежащие сравниваемым образцам,
при этом вычисляются не все расстояния матрицы, а только те, которые расположены в некотором коридоре вдоль диагонали матрицы.
7. Способ по п. 1, отличающийся тем, что в процессе принятия решения о распознании команды производится анализ расстояний между последовательностью векторов Х, описывающей выделенный речевой фрагмент, и последовательностями векторов Yi, описывающими эталоны команд базы данных, и отыскание трех ближайших эталонов базы данных, при этом, если ближайшее расстояние соответствует некоторому пороговому значению, принимается решение о распознанной команде, а если расстояние превышает порог, принимается решение об отказе от распознания и возвращении на начальный этап процесса распознания к сигналу в первом кольцевом буфере.