Адаптивні хвилькові перетворення : Хвилькові пакети. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Адаптивні хвилькові перетворення : Хвилькові пакети.



Слід зауважити, що традиційний підхід використання хвилькових перетворень з фіксованою частотною роздільною здатністю (логарифмічне хвилькове перетворення) є добрий лише в загальному для типового статистичного класу зображень. Цей клас добре узгоджується з характеристиками вибраного фіксованого перетворення. Виникає природнє питання: чи можна отримати кращі результати, підбираючи перетворення для особливого зображення, яке може не належати до типового ансамблю.

Більш точно, логарифмічне хвилькове перетворення добре підходить для типових натуральних зображень, що мають експоненційно спадні спектральні значення разом зі стійкими низькочастотними компонентами (наприклад, фон зображення) і інформаційно важливими короткотривалими високочастотними компонентами (наприклад гострі грані на зображенні).

Але є важливі класи зображень, чиї властивості не узгоджуються з логарифмічним хвильовим розкладому, наприклад, зображення, що мають стійкі високочастотні компоненти. Добрим прикладом слугують текстури штанів, шарфа чи скатертини в зображенні Barbara.

Іншим особливим класом зображень, для яких не підходить логарифмічне хвилькове перетворення, є клас зображень відбитків пальців (див. типовий приклад на рис.), які мають періодичні високочастотні ребристі фрагменти. Цим зображенням краще відповідають хвилькові розклади, що мають добру частотну локалізацію на високих частотах.

 

Це спричинило пошук альтернативних хвилькових перетворень, які більш адаптивні у їх представленні і більш стійкі для великого класу зображень з невідомими або невідповідними просторово-частотними характеристиками. Хоча задача знаходження оптимального розкладу для кожного окремого зображення у світі є некоректно поставленою, ситуація стає більш цікавою, якщо ми розглядаємо велику, але скінчену бібліотеку бажаних перетворень, і підбираємо найкраще перетворення з цієї бібліотеки, адаптуючи до конкретного зображення. Щоб це було допустимим, є дві вимоги. Перша вимога: бібліотека має містити репрезентативну множину претворень (наприклад, було б добре, якби вона містила логарифмічний хвильковий розклад). Друга вимога: суттєво, щоб був швидкий спосіб пошуку в бібліотеці для знаходження найкращого для конкретного зображення перетворення.

Ці дві вимоги дають елегантне узагальнення логарифмічного хвилькового перетворення під назвою пакетний хвильковий розклад.

Хвильковий розклад, який відповідає структурі логарифмічного дерева, є найбільш відомим членом хвилькового пакету. Тоді як хвилькові розклади найкраще узгоджуються з сигналами, що мають спадний енергетичний спектр, хвилькові пакети узгоджуються з сигналами, що мають майже довільні спектральні особливості.

Переваги опрацювання, пов’язані з хвильковими пакетами, звичайно залежать від конкретного зображення. Для таких складних зображень як Barbara, наведений на рис. нижче хвильковий розклад з пакету дає кращу степінь стиску, ніж логарифмічний хвильковий розклад. Білі лінії на рис. представляють границі областей коефіцієнтів хвилькового перетворення. Характеристики стиску: 0,1825 бітів/піксель, міра спотворення відтвореного після стиску зображення PSNR=27,6 дБ.

Важливим практичним застосуванням хвилькових пакетів є стандарт ФБР для стиску зображень відбитків пальців.

Через складність, пов’язану з адаптивними перетвореннями хвилькового пакету, цей стандарт використовує фіксоване хвилькове перетворення. На рис. показано структуру цього перетворення згідно вказаним стандартом. Воно було розроблене для зображень відбитків пальців з роздільною здатністю 500 точок на дюйм з використанням спектрального аналізу та методу проб і помилок. 64 компоненти отримуємо в результаті п’ятирівневого хвилькового перетворення

 

Рис.8.12

Узагальнюючи адаптивні хвилькові пакети, можна ввести розбиття зображення на фрагменти і для кожного з фрагментів або групи фрагментів підбирати відповідне перетворення з пакету. Це показано на рис. нижче. Зліва маємо розбиття на фрагменти зображення, яке відділяє небо у фоні від висотного будинку та ставка на передньому плані. Справа маємо проілюстровані найкращі хвилькові перетворення з пакету для кожного фрагменту зображення. Чорні лінії представляють фрагменти зображення, а білі лінії – частотні компоненти вибраних хвилькових перетворень.

Опрацювання мовних сигналів

Багато напрямків мовних технологій (опрацювання мовних сигналів з певною метою: стиск мовних сигналів, cинтез мови, зміна темпу мовлення, розпізнавання або визначення емоційного стану людини за голосом, діагностика степені певних захворювань, розпізнавання мови) на сьогодні інтенсивно розвиваються та знаходять усе більше застосування в різноманітних сферах.

Розпізнавання мови є одним з найскладніших напрямків мовних технологій, який можна застосувати в багатьох областях.

Важливим моментом при опрацюванні мовних сигналів у цифровому вигляді є вибір частоти дискретизації та розрядності відліків у бітах при переході за допомогою аналого-цифрового перетворювача від неперервного до дискретного мовного сигналу.

Загалом вважається, що для звукових сигналів (спів людини, музика, мова, інші звукові сигнали, скажімо дзенькіт кришталю) гранична частота не перевищує 22 КГц. Тому для дискретизації звукових сигналів беруть стандартні частоти 44,1 КГц або 48 КГц. Розрядність відліків цифрового звукового сигналу – 16 біт.

Проте мовні сигнали зокрема мають звужений діапазон частот – від 0 до 8 КГц. І при опрацюванні мови досить дискретизувати неперервні сигнали з частотою дискретизації 16 КГц та брати 16-бітові відліки.

У деяких часткових випадках основні спектральні складові сигналів знаходяться в ще вужчому діапазоні, і замість частоти дискретизації 16 КГц можна взяти частоту дискретизації 8КГц.

Мовні технології

Виділяють такі напрямки мовних технологій.

1. Стиск (кодування) мови.

Високого степеня стиску досягаємо використанням дискретних косинусних перетворень.

2. Синтез мови

Завдання полягає в тому, що треба озвучити наявний текст. На сьогодні є два принципово різних підходи до вирішення цієї задачі.

а) компілятивний синтез

Виділяються певні одиниці мови, наприклад звуки мови, після цього з них утворюють слова, речення.

б) формантний синтез

Будують математичну модель голосового тракту людини, щоб мати змогу утворювати різні одиниці мови.

3. Розпізнавання диктора за голосом.

Є два варіанти цієї задачі. Перший варіант, так звана верифікація, полягає в з’ясуванні факту: належить записаний мовний зразок заданій особі чи ні. Інший ускладнений варіант ідентифікації полягає у визначенні якій із наперед заданих осіб належить записаний мовний зразок.

4. Визначення емоційного стану людини за голосом.

5. Визначення стану хворого за голосом (наприклад, при лікуванні мовних розладів).

6. Зміна темпу мовлення.

7. Розпізнавання мови.

Розпізнавання мови є одним з найскладніших напрямків мовних технологій, який можна застосувати в багатьох областях.Задача полягає в тому, що маючи мовний сигнал, треба утворити відповідний текст (так звану транскрипцію).

Підхід до розпізнавання мовних команд вкладається у загальну схему розпізнавання образів (крім мови це можуть бути двовимірні або тривимірні зображення, багатовимірні сигнали різної природи тощо). Згідно з цією схемою слід виконувати такі кроки:

- на фазі навчання попередньо записати певну множину мовних образів-еталонів;

- під час розпізнавання порівнювати невідомий образ (мовний сигнал), який хочемо розпізнати, з кожним із із записаних мовних образів-еталонів;

- найближчий (у сенсі вибраної відстані між образами) до невідомого образу, для якого хочемо здійснити розпізнавання, образ-еталон і буде відповіддю системи розпізнавання.

Ідея лежить на поверхні – проблема в тому, як підійти до її реалізації. Коли ми хочемо реалізувати описану схему для випадку розпізнавання мовних команд виникає багато конкретних труднощів.

У якому вигляді готувати і тримати мовні сигнали-еталони?

Використовувати часове, спектральне чи якесь комбіноване зображення сигналів?

Якою міркою порівнювати відстань між двома мовними сигналами?

Розглянемо найпростіший алгоритм розпізнавання окремих слів із обмеженого словника з навчанням на одного диктора.

Найпростіший розпізнавач мови

Спочатку опишемо як виконують спрощене попереднє опрацювання мовного сигналу х (n). Пропускаємо його через набір смугопропускних цифрових фільтрів (кількість фільтрів для прикладу взята рівною 16). Тобто частотний діапазон сигналу від 0 до 8 кГц (для мовних сигналів) розбиваємо на 16 рівних смуг. Частотні характеристики фільтрів наведені на рис.9.1.

        

Рис.9.1.

В результаті на виходах цифрових фільтрів ЦФ1, ЦФ2,...,ЦФ16 отримуємо 16 цифрових сигналів х 1(n), х 2(n),.... х 16(n).

Ділимо число N відліків кожного з цих сигналів на 16 рівних відрізків, доповнюючи сигнал при потребі нульовими відліками, щоб N було кратне 16. Для відліків кожного із шістнадцяти відрізків знаходимо середнє значення. Тобто, перше значення – це середнє відліків сигналу від першого до N /16-го; друге значення – це середнє відліків сигналу від (N /16+1)-го до 2 N /16-го;...; шістнадцяте значення – це середнє відліків сигналу від (15 N /16+1)-го до N -го. Отже, для кожного з шістнадцяти сигналів х 1(n), х 2(n),.... х 16(n) отримуємо 16 середніх значень.

У результаті для сигналу х (n) маємо загалом вектор із 16·16=256 значень.

На фазі навчання диктор проводить навчання системи розпізнавання, повторюючи по три рази (для надійності) слова із вибраного невеликого словника.

Наприклад, це можуть бути назви десяткових цифр, тобто словник складається з таких 10 слів: нуль, один, два, три, чотири, п’ять, шість, сім, вісім, дев’ять.

Виконуючи описане попереднє опрацювання цих мовних сигналів, отримуємо тридцять векторів довжиною 256 значень кожен. Це мовні еталони системи розпізнавання.

На фазі розпізнавання диктор вимовляє будь-яке невідоме слово з обумовленого словника і записуємо відповідний мовний сигнал. Після його попереднього опрацювання отримуємо вектор довжиною 256 значень. Підраховуємо по черзі відстань між цим вектором і кожним із 30 еталонних векторів.

Відстань між двома векторами та задають як евклідову відстань: .

Мінімальна із отриманих відстаней визначає відповідь системи розпізнавання.

Точність (якість) розпізнавання оцінюємо процентом правильно розпізнаних слів.

Експерименти показують, що описаний найпростіший розпізнавач мови має точність розпізнавання приблизно 85%. Це не можна вважати задовільним показником.

Що потрібно вдосконалити в розглянутому алгоритмі розпізнавання, щоб покращити точність розпізнавання?

Зауважимо, що два рази абсолютно однаково вимовити якесь слово неможливо. Неодмінно є відмінності в темпі мови (хоча би незначні) та певні спектральні відмінності.

Тому вдосконалений алгоритм розпізнавання слів із невеликого словника повинен задовільняти таким вимогам:

- порівнювати мовні сигнали з урахуванням часових (темпоральних) відмінностей, при потребі вирівнюючи тривалості мовних сигналів;

- враховувати спектральні зміни в мовному сигналі при зміні цього сигналу в часі. Для цього слід, зокрема, виконувати точне попереднє опрацювання мовних сигналів.

Таким вимогам задовольняє алгоритм розпізнавання мовних команд (ізольованих слів), який називають алгоритмом DTW (dynamic time warping - динамічного часового вирівнювання).

Попереднє опрацювання мовних сигналів

Результатом попереднього опрацювання мовних сигналів є отримання множини спектральних векторів, які характеризують цей сигнал і використовуються для подальшого розпізнавання.

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

Типова величина одного інтервалу - 25,6 мс. Сусідні інтервали беруться зі зсувом відносно попереднього інтервалу. Вживана величина перекриття інтервалів рівна 10 мс.У результаті попереднього опрацювання кожного з вказаних інтервалів отримуємо вектор з кількох десятків спектральних значень. Блок-схема алгоритму попереднього опрацювання мовного сигналу наведена на рис.. Кроки, які слід виконати для попереднього опрацювання кожного інтервалу мовного сигналу, детально описані далі.

Як приклад розглядаємо мовні зразки, дискретизовані з частотою 16 КГц та з розрядністю 16 біт. Дискретизований мовний сигнал розбиваємо на інтервали тривалістю 25,6 мс, тобто 409 відліків. Інтервали перекриваються зі зсувом на 10 мс (160 відліків).

Рис.9.2. Блок-схема алгоритму попереднього опрацювання мовного сигналу


Далі даються етапи попереднього опрацювання мовних сигналів.

1. Оцифрований (дискретизований у часі та квантований за рівнем) мовний сигнал розбиваємо на блоки по 25.6 мс із зсувом кожні 10 мс, тобто, блоки по 409 відліків кожен блок, із зсувом на 160 відліків.

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

S (1)=0; S (n)= y (n)- y (n -1), n =2…409,

де ynn -і відлік у блоці.

3. Для опрацювань такого типу до кожного блоку застосовують функцію вікна. У даному випадку береться вікно Гемінга згідно з таким виразом

D (n)=(0,54-0,46·cos(2p·(n -1)/408))· S (n) для n =1,...,409.

4. Щоб отримати спектральні оцінки використовується дискретне перетворення Фур’є. У цьому разі збільшуємо довжину блоку до 512 елементів за рахунок доповнення його справа потрібною кількістю нулів. Після цього застосовуємо швидке перетворення Фур’є довжиною 512 точок і отримуємо 512 спектральних комплексних значень. Оскільки 512 значень, до яких застосовуємо перетворення Фур’є, є дійсними, то отримані спектральні комплексні значення попарно спряжені: друге значення з 512-м, третє – з 511-м і т.д. Тому останні 256 комплексних значень перетворення ігноруємо, бо вони комплексно спряжені з попередніми і не несуть нової інформації.

5. Для перших 256 комплексних спектральних значень знаходимо їх амплітуди. Амплітудний спектр Фур’є згладжується (усереднюється) додаванням амплітуд спектральних коефіцієнтів у межах “трикутних” частотних смуг розташованих на нелінійній (подібній до логарифмічної) Mel-шкалі. Для граничної частоти мови рівної 16 КГц беруть 24 таких частотних смуги. Mel-шкала введена для наближення частотного розділення людського вуха, яке є лінійним до 1000 Гц та логарифмічним понад 1000 Гц.

Фур’є спектр згладжувався додаванням 255 останніх спектральних коефіцієнтів (перший коефіцієнт – постійна складова спектру ігнорувався) у межах “трикутних” частотних смуг розташованих на нелінійній (подібній до логарифмічної) Mel-шкалі.

Перший амплітудний коефіцієнт – постійну складову спектру – ігноруємо,, а амплітуди решти 255 спектральних значень усереднюємо. Усереднення реалізуємо як 24 трикутні смугопропускні фільтри. Нижня, середня та верхня частоти таких смуг подані в табл.

Кожний трикутний фільтр знаходить зважене середнє тих амплітудних спектральних значень, які відповідають частотам у межах між нижньою та верхньою частотою для даного фільтра. Якщо амплітуда відповідає точно середній частоті смуги, то вона множиться на коефіцієнт рівний одиниці. При пересуванні відповідної амплітудному значенню частоти від середини до нижньої чи верхньої межі коефіцієнт зменшується від одиниці до нуля. Отримані добутки амплітуд на коефіцієнти додаються і діляться на число амплітудних значень. У результаті знаходимо зважене середнє для даної смуги частот.

256 амплітудам відповідають частоти від 0 Гц до 8000 Гц, тобто крок пересування дорівнює 8000/256=31,25 Гц. Це означає, що першій амплітуді відповідає частота 0 Гц, другій – 31,25 Гц, третій – 62,5 Гц і т.д.

Наприклад, для першої смуги частот Mel-шкали: нижня частота – 0 Гц, середня частота – 74,24 Гц, верхня частота – 156,4 Гц.

Отже, в першу смугу частот потрапляють перша (0 Гц), друга (31,25 Гц), третя (62,5 Гц), четверта (93,75 Гц), п’ята (125 Гц) та шоста (156,25 Гц) амплітуди.

Згідно з рис. третій амплітуді відповідає коефіцієнт рівний 62,5/74,24≈0,84; а п’ятій амплітуді – коефіцієнт рівний (156,4-125)/(156,4-74,24) ≈0,38.

Таблиця 9.1. Mel-шкала частот

Смуга Нижня частота Середня частота Верхня частота
1 0,000 Гц 74,24 Гц 156,4 Гц
2 74,24 Гц 156,4 Гц 247,2 Гц
3 156,4 Гц 247,2 Гц 347,6 Гц
4 247,2 Гц 347,6 Гц 458,7 Гц
5 347,6 Гц 458,7 Гц 581,6 Гц
6 458,7 Гц 581,6 Гц 717,5 Гц
7 581,6 Гц 717,5 Гц 867,9 Гц
8 717,5 Гц 867,9 Гц 1034 Гц
9 867,9 Гц 1034 Гц 1218 Гц
10 1034 Гц 1218 Гц 1422 Гц
11 1218 Гц 1422 Гц 1647 Гц
12 1422 Гц 1647 Гц 1895 Гц
13 1647 Гц 1895 Гц 2171 Гц
14 1895 Гц 2171 Гц 2475 Гц
15 2171 Гц 2475 Гц 2812 Гц
16 2475 Гц 2812 Гц 3184 Гц
17 2812 Гц 3184 Гц 3596 Гц
18 3184 Гц 3596 Гц 4052 Гц
19 3596 Гц 4052 Гц 4556 Гц
20 4052 Гц 4556 Гц 5113 Гц
21 4556 Гц 5113 Гц 5730 Гц
22 5113 Гц 5730 Гц 6412 Гц
23 5730 Гц 6412 Гц 7166 Гц
24 6412 Гц 7166 Гц 8000 Гц

У результаті описаних дій отримуємо 24-елементний спектральний (акустичний) вектор.

На закінчення виконуємо нормалізацію акустичних векторів у межах одного мовного зразка. Для цього знаходимо найбільшу довжину вектора та значення всіх векторів множимо на величину, обернену до цієї довжини.

Для моделювання алгоритму попереднього опрацювання мовних сигналів вибрано середовище MATLAB.

На даний час MATLAB (у сучасній версії 6.5) - це високоефективна мова інженерних і наукових обчислень. Він підтримує математичні обчислення, візуалізацію наукової графіки і програмування з використанням легко освоюваного операційного оточення, коли задачі і їхні рішення можуть бути наведені у скороченнях, близьких до математичних. MATLAB - це інтерактивна система, основним об’єктом якої є масив, для якого не потрібно вказувати розмірність явно. Це дозволяє вирішувати багато обчислювальних задач, які пов'язані з векторно-матричними формулюваннями, істотно скорочуючи час при цьому.

Графічне вікно середовища MATLAB 6.5, у якому ілюструються етапи 1-5 попереднього опрацювання мовного сигналу показано на рис.9.3.

На першій ілюстрації показано мовний сигнал example.wav, дискретизований з частотою 16 КГц та розрядністю 16 розрядів.

На другій ілюстрації маємо один блок (інтервал) вказаного мовного сигналу тривалістю 25,6 мс. Такому блоку відповідає 409 відліків.

На третій ілюстрації бачимо один блок мовного сигналу після опрацювання його фільтром першого порядку.

Четверта ілюстрація показує нам один блок після застосування вікна Гемінга.

П’ята ілюстрація дає нам 512 амплітудних значень швидкого перетворення Фур’є цього одного блоку.

Оскільки ці амплітудні значення швидкого перетворення Фур’є попарно співпадають (бо відповідні комплексні значення швидкого перетворення Фур’є є попарно комплексно спряжені), то можна взяти лише 256 перших амплітудних значень. Ці 256 амплітудних значень відображені на шостій ілюстрації.

Сьома ілюстрація дає значення 24-елементного вектора, компоненти якого отримані після усереднення 256 амплітудних значень у межах 24 “трикутних” частотних смуг.



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 37; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.69.143 (0.055 с.)