Ước lượng Baum-Welch

Một phần của tài liệu Nhận dạng tiếng Việt sử dụng biến đổi Wavelet và mô hình Markov ẩn (Trang 64)

Xét toán tử t(i,j) là xác suất của hệ thống ở trạng thái i tại thời điểm t và

trạng thái j tại thời điểm t+1 với điều kiện có chuỗi quan sát O và mô hình Markov ẩn

.

t (i, j) P(qt si , q t+1 s j | , ) Khi đó:

Kết hợp γt(i) và ξt(i,j), ta được  = xác suất của hệ thống ở trạng thái i tại thời điểm t=1, tức là bằng t(i).

Công thức 3.16

Khi đó = ( A , B , ) là mô hình được ước lượng lại.

Chương 4. BIẾN ĐỔI WAVELET VÀ ỨNG DỤNG TRONG XỬ LÝ - NHẬN DẠNG TIẾNG NÓI

4.1. Mục đích và ứng dụng của phân tích Wavelet

Biến đổi wavelet thực chất là một sự biểu diễn tín hiệu thành các băng tần octave, nó dựa trên cơ sở của các bank lọc số và mã hoá băng con. Để hiểu rõ hơn về wavelet, chúng ta sẽ xét qua một số biến đổi truyền thống biểu diễn tín hiệu trong miền tần số và miền thời gian – tần số.

4.1.1. Biến đổi Fourier.

Ta biết biến đổi Fourier truyền thống phân tích tín hiệu thành những đường sin liên tục ở các tần số khác nhau. Về mặt toán học, biến đổi này chuyển việc bảo dưỡng tín hiệu ở miền thời gian sang miền tần số.

Đối với nhiều tín hiệu, phân tích Fourier rất có lợi do nội dung tần số của tín hiệu đóng vai trò rất quan trọng. Nhưng phân tích Fourier cũng có một hạn chế rất lớn là khi chuyển sang miền tần số thì thông tin thời gian bị mất đi. Nhìn vào biến đổi Fourier của một tín hiệu ta không thể xác định thời điểm xảy ra một sự kiện nào đó. Nếu tính chất của tín hiệu không thay đổi theo thời gian hay tín hiệu là tĩnh thì hạn chế này không quan trọng. Tuy nhiên, hầu hết các tín hiệu đều có những đặc tính động hay nhất thời, chớp nhoáng như là sự dịch chuyển, tạo các xu hướng khác nhau, những thay đổi đột ngột từ các thời điểm bắt đầu đến kết thúc của các sự kiện.

Những đặc tính này thường là phần quan trọng nhất của tín hiệu và phân tích Fourier rõ ràng là không thích hợp để phát hiện chúng.

4.1.2. Biến đổi Fourier thời gian ngắn (STFT)

Để khắc phục nhược điểm trên, Dennis Gobor (1946) đã sử dụng biến đổi Fourier để phân tích một vùng nhỏ của tín hiệu tại một thời điểm và gọi là kỹ thuật lấy cửa số tín hiệu. Đây chính là biến đổi Fourer thời gian ngắn, thực hiện ánh xạ một tín hiệu thành một hàm hai chiều thời gian – tần số

Hình 4.2. Biến đổi Fourier thời gian ngắn

STFT sử dụng các hàm cơ sở là những hàm mũ phức đã lấy cửa sổ và các hàm dịch của chúng để tạo nên biến đổi. Để có được biến đổi Fourier cục bộ, ta thực hiện như sau trước tiên, tín hiệu được nhân với một hàm cửa sổ (t-) và sau đố thực hiện biến đổi Fourier. Kết quả tạo ra một biến đổi hai chiều STFT   , .

Công thức 4.1   *    j I STFT , t .f t .e dt          

Để có được sự phân giải thời gian – tần số tốt, ta sử dụng cửa sổ Gausian và khi đó STFT được gọi là biến đổi Gabor. STFT được sử dụng để tạo ra giản đồ phổ trong phân tích thoại và cửa sổ hay được dùng là cửa sổ Hamming vì nó yêu cầu tính toán ít hơn so với cửa sổ Gausian.

4.1.3. Biến đổi Wavelet.

Phân tích Wavelet ưu việt hơn STFT ở chỗ nó cung cấp môt kỹ thuật lấy cửa sổ với kích thước cửa sổ có thể thay đổi được. Phân tích wavelet cho phép sử dụng khoảng thời gian dài trên một đoạn tín hiệu mà chúng ta mong muốn có thông tin tần số thấp chính xác hơn. Và ngược lại sử dụng khoảng thời gian ngắn hơn ở nơi mà chúng ta muốn có thông tin tần số cao rõ ràng hơn. Nói cách khác, phân tích wavelet cung cấp khả năng định vị tần số và định vị thời gian tốt hơn.

Hình 4.3 Phân tích Wavelet

Có một điểm chú ý ở đây là phân tích Wavelet không ánh xạ tín hiệu sang miền thời gian – tần số mà thay vào đó là miền thời gian – tỷ lệ (time-scale).

4.2. Các loại biến đổi Wavelet 4.2.1 Wavelet liên tục CWT 4.2.1 Wavelet liên tục CWT

Wavelet là những hàm cơ sở mn(t) liên tục theo thời gian. Cơ sở là tập các hàm độc lập tuyến tính dùng tạo ra hàm f(t) nào đó:

Công thức 4.2 f(t) = tổ hợp các hàm cơ sở =   , mn mn m n bt

Tính chất đặc biệt của cơ sở wavelet là tất cả các hàm mn(t)này được xây dựng từ một wavelet mẹ (t). Wavelet này là một sóng nhỏ được định vị, thay vì dao động mãi mãi, nó suy giảm nhanh xuống không. Thông thường nó bắt đầu thời điểm t = 0 và kết thúc tại t = N.

Wavelet dịch 0n(t) bắt đầu tại t = n và kết thúc tại t = n + N, đồ thị của chúng được dịch sang phải n lần. Wavelet tỷ lệ m0(t) bắt đầu tại t = 0 và kết thúc tại t = N.2m, đồ thị của chúng được nén lại 2m lần.

Hình 4.5. Wavelet tỉ lệ

Một wavelet thuần mn(t) được nén lại 2m lần và dịch n lần

Công thức 4.3

  2m

mn t t n

  

Một thuộc tính nổi bật của wavelet là tính trực giao (orthogonality). Các wavelet trực giao khi tính vô hướng của chúng bằng không.

    n mn MN m t t dt  

 = tích vô hướng của mn và MN(t) = 0

Nhờ đó, có thể tính được hệ số bmn một cách đơn giản hơn: nhân f(t) trong biểu thức (4.2) với MN(t) và lấy tích phân ta được:

Công thức 4.4       2 MN MN f tt dtt dt       

Nhờ tính trực giao, biểu thức (4.4) loại bỏ tất chuyển các tích phân ** với

MN, trừ trường hợp m = M và n = N, tương ứng sẽ tạo ra thành phần (MN(t))2. Khi đó bMN là tỷ số của hai tích phân trong biểu thức (4.4).

Năm bước để thực hiện CWT

Biến đổi Wavelet liên tục là tổng trên suốt khoảng thời gian của tín hiệu được nhân bởi phiên bản tỉ lệ và dịch của Wavelet. Quá trình này tạo ra các hệ số Wavelet là hàm của tỉ lệ và vị trí. Có năm bước để tạo ra CWT:

Bước 1, Lấy một Wavelet và so sánh với khởi đầu của một tín hiệu nguyên thủy.

Bước 2, Tính toán giá trị C, đặc trưng cho tương quan gần của Wavelet với đoạn tín hiệu này: C càng lớn, càng có sự tương tự. Chính xác hơn, nếu năng lượng của tín hiệu và Wavelet là bằng nhau, C có thể hiểu là hệ số tương quan. Kết quả sẽ phụ thuộc vào Wavelet mẹ.

Hình 4.6 Bước 1, So sánh wavelet với tín hiệu nguyên thủy

Bước 3, Dịch Wavelet về phía bên phải và lặp lại bước 1 và 2 cho đến khi hết tín hiệu

Hình 4.7 Bước 2, Dịch wavelet

Bước 4. Định tỉ lệ kéo dãn Wavelet là lặp lại tự bước 1 đến bước 3

Hình 4.8 Bước 4, định tỉ lệ Bước 5. Lặp lại các bước từ 1 đến 4 cho mọi tỉ lệ.

Sau khi hoàn thành, ta sẽ có các hệ số ở các tỉ lệ khác nhau bởi các đoạn khác nhau của tín hiệu. Các hệ số tạo thành kết quả hồi quy của tín hiệu nguyên

thủy thực hiện trên các Wavelet. Bằng cách nào để cảm nhận các hệ số đó? Ta có thể tạo ra đồ thị với trục x thể hiện vị trí của tín hiệu theo thời gian, trục y đại diện cho tỉ lệ, màu sắc ở mỗi điểm (x,y) đại diện cho độ lớn của hệ số C. Đồ thị này còn được gọi là Scalogram của biến đổi Wavelet liên tục.

Hình 4.9 Scalogram của CWT

Các hệ số của biến đổi Wavelet liên tục vẽ ra chính xác hình ảnh thời gian-tỉ lệ của tín hiệu.

4.2.2 Biến đổi Wavelet rời rạc DWT

Tính toán các hệ số Wavelet ở mọi tỷ lệ có thể là công việc mệt nhọc và phát sinh rất nhiểu dữ liệu. Ta có thể chọn một tập con các tỉ lệ và vị trí để giảm sự phức tạp tính toán, gọi là phép biến đổi rời rạc DWT. DWT được xây dung dựa trên cấu trúc đa phân giải MRA.

Lọc một tầng: Các xấp xỉ và chi tiết

Với nhiều tín hiệu, nội dung tần số thấp là phần quan trọng nhất. Nó xác định tín hiệu. Nội dung tần số cao, nói cách khác chỉ làm tăng thêm hương vị. Ví như giọng nói con người. Nếu tách bỏ phần cao tần, giọng có khác nhưng vẫn có thể hiểu những gì đã nói. Tuy nhiên nếu loại bỏ thành phần tần số thấp đến một mức nào đó sẽ không nghe rõ nữa. Trong phân tích wavelet thường nói đến các xấp xỉ và chi tiết. Xấp xỉ ứng với thành phần tỉ lệ cao, tần số thấp, chi tíêt là thành phần tần số cao, tỷ lệ thấp.

Hình 4.10 Lọc một tầng cho xấp xỉ và chi tiết

Tín hiệu nguyên thủy gốc S đi qua 2 bộ lọc có đặc tính bù nhau và phân tách thành 2 tín hiệu. Nếu thực hiện công việc này với tín hiệu số thực ta sẽ tăng gấp đôi số dữ liệu ban đầu. Giả sử có 1000 mẫu thì đầu ra mỗi đầu là 1000 mẫu và tổng cộng là 2000 mẫu. Vì vậy ta cần giảm tần số lẫy mẫu (downsampling) đễ giữ nguyên số mẫu.

Hình 4.11 Giảm tần số lấy mẫu

Phân tách đa mức

Quá trình phân tách có thể được lặp lại, với xấp xỉ hoàn toàn được tách ra, do đó một tín hiệu được tách thành nhiều thành phần phân giải thấp hơn. Nó được gọi là cây phân tách Wavelet.

Hình 4.12 Phân tách đa mức

Quá trình phân tách về lý thuyết có thể lặp lại mãi mãi. Trong thực té, sự phân tách có thể xử lý cho đến khi chi tiết riêng chứa một mẫu hoặc pixel. Trong thực hành, bạn chọn một số thích hợp các mức dựa trên tính tự nhiên của tín hiệu, hoặc là tiêu chuẩn thích hợp như Entropy.

Tái tạo Wavelet

Quá trình kết hợp các thành phần tín hiệu thành tín hiệu nguyên thủy gọi là quá trình tái tạo hay tổng hợp Wavelet ứng vói biến đổi Wavelet ngược IDWT

Hình 4.13 Tái tạo wavelet

Trong khi phân tích Wavelet bao hàm lọc và hạ mẫu, quá trình tái tạo Wavelet bao gồm sự tăng mẫu (Upsampling) và lọc.

Hình 4.14 Tăng mẫu

4.2.3 Biến đổi Wavelet gói

Phương pháp Wavelet gói là một sự mở rộng của phân tách Wavelet. Trong đó, phần xấp xỉ chính nó lại được phân thành xấp xỉ và chi tiết mức hai và quá trình cứ được lặp lại. Trong phân tách n mức, có n + 1 cách để phân tích hoặc mã hóa tín hiệu. Trong phân tích wavelet gói, các chi tiết cũng giống như các xấp xỉ là có thể phân tích. Cây phân tách Wavelet là một phần của cây nhị phân hoàn hảo.

4.3 Sử dụng biến đổi Wavelet để xử lý nhiễu và nâng cao chất lượng tiếng nói

4.3.1 Phương pháp truyền thống của Dohono và Johnstone

Nhiễu ảnh hưởng nhiều đến hiệu quả xử lý tín hiệu, ví dụ như nhận dạng tiếng nói trong môi trường thời gian thực. Có ba nhân tố chính của nhiễu đó là:

- Nhiễu thêm vào trong tín hiệu như tiếng quạt gió, ô tô, tàu hoả

- Nhiễu gắn liền với thiết bị ghi âm

- Sự biến đổi các mức tiếng nói sinh ra từ người nói (giọng yếu hay giọng khoẻ), sự thay đổi hướng hay khoảng cách đến micro,...

Vì vậy triệt nhiễu và nâng cao chất lượng tiếng nói là một bước quan trọng trong hệ thống nhận dạng tiếng nói, đặc biệt là nhận dạng thời gian thực.

Có nhiều phương pháp triệt nhiễu trong đó triệt nhiễu bằng wavelet (wavelet denosing) là một phương pháp mạnh được sử dụng rộng rãi trong thời gian gần đây.

Ta phân tích nhiễu của tín hiệu, sau đó là các hàm tương quan đặc tính xác suất, phổ, và các hàm phân phối. Về tổng thể, với một tín hiệu thời gian rời rạc một chiều các tần số cao ảnh hưởng tới các chi tiết ở mức đầu (giá trị nhỏ của j), trong

khi các tần số thấp ảnh hưởng tới các mức sâu nhất (các giá trị lớn của j) và các xấp xỉ kết hợp.

Mô hình chung cho tín hiệu nhiễu là

Công thức 4.5

Trong đó Sk là tín hiệu tiếng nói sạch, nk là nguồn nhiễu độc lập với phương sai k (n2 = 1) (giả sử nk là nhiễu trắng). Mục đích của wavelet denoising là tối ưu sai số trung bình phương E(s^, s2

)

Công thức 4.6

Ý tưởng của phương pháp

Sử dụng DWT để phân tách tín hiệu thành phần chi tiết và xấp xỉ. Phần xấp xỉ là thông tin quan trọng còn phần chi tiết là các thông tin đặc trưng và cũng đồng thời chứa nhiễu.

Khi những thành phần chi tiết nhỏ hơn một mức cho phép nào đó (gọi là ngưỡng) chúng ta có thể loại bỏ nó mà không làm ảnh hưởng nhiều đến tín hiệu ban đầu. Vì vậy ý tưởng lấy ngưỡng các hệ số wavelet là cách để loại bỏ những thành phần chi tiết không quan trọng được coi là nhiễu.

Nguyên tắc khử nhiễu

Bước 1. Phân tách: Chọn một Wavelet, chọn mức N. Tính phân tách Wavelet của tín hiệu s ở mức N.

Bước 2. Đặt ngưỡng các hệ số chi tiết: Với mỗi mức từ 1 đến N, chọn một ngưỡng và áp dụng đặt ngưỡng cho các hệ số chi tiết.

Bước 3. Tái tạo: Tính toán tái tạo Wavelet sử dụng các hệ số xấp xỉ ban đầu ở mức N và các hệ số chi tiết đã chỉnh sửa ở các mức 1 đến N. Hai điểm cần được định rõ là cách chọn ngưỡng và cách thực hiện định ngưỡng.

Đặt ngưỡng cứng hay ngưỡng mềm?

Cho t là biểu diễn ngưỡng. Tín hiệu ngưỡng cứng là x nếu x > T, là 0 nếu

x <= T. Tín hiệu ngưỡng mềm nếu sign(x -T) nếu x > 0 và là 0 nếu x <= T. T được xác định theo Dohono và Jonhstone [21]

Công thức 4.7

(độ lệch chuẩn )

Hình 4.15 Quá trình đặt ngưỡng với mức ngưỡng cứng với T=0.4.

4.3.2 Phương pháp khử nhiễu kết hợp kỹ thuật trừ phổ và wavelet

Hình 4.16. Sơ đồ khối hệ thống khử nhiễu kết hợp kỹ thuật trừ phổ và wavelet

a, Khối trừ phổ:

Nếu chúng ta biễu diễn tín hiệu tiếng nói s(k) và nhiễu là n(k) thì tín hiệu lẫn nhiễu là x(k)

Công thức 4.8

x(k) = s(k) + n(k)

Tín hiệu sau khi cửa sổ hoá là

0 1 -1 0 1 -1 -0.5 0.5 0 1 -1 0 1 -1 -0.5 0.5

Công thức 4.9

xw(k) = sw(k) + nw(k)

Phổ của tín hiệu lẫn nhiễu là

Công thức 4.10

2 2 2 * *

|Xw( ) |w |S ww( ) | |N ww( ) | S w N ww( ). w( )S w N ww( ). w( )

Nếu chúng ta cho rằng n(k) có trung bình bằng 0 và không tương quan với s(k) thì * *

( ). ( ) ( ). ( )

w w w w

S w N wS w N w tiếntới 0. Do vậy ta có

Công thức 4.11 2 2 2 | ( ) |S w |X w( ) |  E|N w( ) |  Công thức 4.12 2 2 2 2 | ( ) | | ( ) | | ( ) | 1 ( ) | E N w S w X w X w            Công thức 4.13 2 2 | ( ) |S w |X w( ) | . ( )G w

Gọi G(w) là hệ số trọng số phổ. Như vậy có thể thấy rằng tín hiệu sau khi được loại trừ nhiễu phải dương nên biến đổi Wiener là

Công thức 4.14 G = Max 2 2 | ( ) | 1 , 0 ( ) | E N w X w           

Sử dụng phương pháp VAD và phổ năng lượng được xác định theo công thức Công thức 4.15  2 2 1 2 1 .| ( )| (1 )| ( ) | _ _ 2 | ( )| | ( ) | n n N w X w No Voice Detected w N w Otherwise N w       

Đơn giản hoá 4.14 bằng biến đổi hàm trọng số ta có

G = Max 1 ( ), ( ) PSD PSD N w X w           

Với  là hệ số ước lượng trên và  là sàn phổ được chọn tương ứng. Việc lựa chọn các hệ số trên tiến hành qua thực nghiệm sao cho không làm biến dạng tín hiệu sau khi trừ phổ.

Việc lựa chọn tham số tương ứng với một trong 2 trường hợp đó là có tín hiệu và không có tín hiệu tiếng nói. Trong khoảng có tín hiệu tiếng nói để lấy được tiếng nói chất lượng thì ngưỡng trên  cần chọn gần 1 và ngưỡng dưới  được chọn

Một phần của tài liệu Nhận dạng tiếng Việt sử dụng biến đổi Wavelet và mô hình Markov ẩn (Trang 64)

Tải bản đầy đủ (PDF)

(120 trang)