Chương 2 XỬ LÝ TIẾNG NĨI RÚT TRÍCH VECTOR ĐẶC TRƯNG
3.2 Ứng dụng Mơ hình Markov vào nhận dạng tiếng nói
Áp dụng mơ hình Markov ẩn cho xử lý tiếng nói, ta phải giải quyết 3 bài tốn cơ bản sau:
1. Tính điểm: Cho chuỗi quan sát O = {o1,o2,...,oT } và mơ hình = {A, B,
π}, ta phải tính xác suất có điều kiện P(O|) của chuỗi quan sát. -> Thuật toán tiến - lùi
2. So khớp: Cho chuỗi quan sát O và mơ hình ta phải tìm chuỗi trạng thái
Q= {q1, q2, ..., qT} sao cho xác suất có điều kiện P(O|) là tối ưu.
-> Thuật toán Viterbi
3. Huấn luyện: Cho chuỗi quan sát O và mơ hình , ta phải đánh giá lại các
thông số của mơ hình sao cho xác suất có điều kiện P(O|) của chuỗi quan sát là tối ưu.
-> Hàm ước lượng Baum-Welch
3.2.1 Thuật toán tiến
Toán tử tiến t(i) là xác xuất của chuỗi quan sát từng phần o1o2 ...ot và trạng thái quan sát Si tại thời điểm t với điều kiện cho mơ hình Markov ẩn
Cơng thức 3.5
αt (i) = P(o1o2 ...ot, qt = si | λ)
Tốn tử tiến có thể được tính theo các bước qui nạp sau:
Bước 1: Khởi tạo
iii1
với i[1,N]
Bước 2: Qui nạp
Cơng thức 3.6
Hình 3.5:Minh họa thuật toán tiến
3.2.2 Thuật toán lùi
Hình 3.6:Minh họa thuật tốn lùi
Tốn tử lùi t(i) là xác xuất của chuỗi quan sát từng phần Ot+1Ot+2…OT và trạng thái Si tại thời điểm t với điều kiện cho mơ hình Markov ẩn .
Cơng thức 3.7
t(i) = P(Ot+1Ot+2…OT|qt = Si,)
Bước 1: Khởi tạo
T(i) = 1, (i(1,N))
Bước 2: Qui nạp
Cơng thức 3.8
3.2.3 Phương pháp tìm chuỗi trạng thái tối ưu
Một tiêu chuẩn chọn trạng thái qt là tối đa hóa xác suất số trạng thái đúng
Xét toán tử t(i):Toán tử t(i) là xác suất của hệ thống ở trạng thái i tại thời
điểm t với điều kiện cho chuỗi quan sát O và mơ hình .
Công thức 3.9
t(i) = P(qt = S|O,)
Và toán tử δt (i) là xác suất tối đa trên đường đi
Công thức 3.10
Quy nạp:
Công thức 3.11
thái tối ưu ở thời điểm t. Ta lưu lại trong mảng ψt (i)
3.2.4 Thuật toán Viterbi
Bước 1: Khởi tạo
Bước 2:Quy nạp
Công thức 3.12
Bước 3:Kết thúc
Cơng thức 3.13
Bước 4: Quay lui tìm chuỗi trạng thái (đường đi) tối ưu
Công thức 3.14
\
Hình 3.7: Ví dụ minh họa thuật tốn Viterbi
Hình 3.9: Ví dụ minh họa so khớp dùng thuật toán tiến-lùi
3.2.5 Ước lượng Baum-Welch
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 nhố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ó u cầu tính tố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 b t
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 t t dt t 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 tố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 hồ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 tố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 tố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
Q trình phân tách có thể được lặp lại, với xấp xỉ hồn tồ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
Q 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^, s2
)
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 tố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