luận văn về đánh giá các thuật toán phát hiện tiếng nói dùng ngưỡng thích nghi và mạng neural trong miền WAVELET
Trang 1ĐÁNH GIÁ CÁC THUẬT TOÁN PHÁT HIỆN TIẾNG NÓI DÙNG NGƯỠNG THÍCH NGHI VÀ MẠNG NEURAL TRONG MIỀN WAVELET
PERFORMANCE ASSESSMENT ON VOICE ACTIVITY DETECTION
ALGORITHMS USING ADAPTIVE THRESHOLD AND NEURAL NETWORK IN
WAVELET DOMAIN
SVTH: Nguyễn Trí Phước, Trần Lê Anh Thư, Nguyễn Ngọc Như Trang
Lớp05DT2 - 05DT3 , Khoa Điện tử Viễn thông , Trường Đại học Bách Khoa
GVHD: TS Phạm Văn Tuấn
Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa
TÓM TẮT
Mục đích của bài báo là nghiên cứu các thuật toán phát hiện tiếng nói (VAD) dựa trên biến đổi Wavelet Các thuộc tính được trích trong miền Wavelet sẽ được đem so sánh với các mức ngưỡng thích nghi hoặc được nhận dạng bởi mạng neural (NN) để thực hiện việc phân loại Những thuật toán VAD này được đánh giá và so sánh với các phương pháp VAD tiêu chuẩn khác được đề xuất bởi ITU-T và ETSI Kết quả mô phỏng trên cơ sở dữ liệu TIMIT đã trộn nhiễu cho thấy các phương pháp dùng biến đổi Wavelet đạt hiệu suất phân loại cao hơn các phương pháp khác, đồng thời cho khối lượng tính toán thấp hơn
ABSTRACT
The objective of this paper is to study on voice activity detection (VAD) algorithms based
on Wavelet transform The feature extracted in Wavelet domain is then compared to adaptive thresholds or recognized by a neural network (NN) to do classification These VAD algorithms are evaluated with the noisy TIMIT corpus and compared to other VAD methods standardized by ITU-T and ETSI The experimental results show that Wavelet approaches lead to superior classification performance and offer a much lower computational complexity than other VAD methods
1 Giới thiệu
Kỹ thuật phát hiện tiếng nói đóng vai trò quan trọng trong các phương pháp xử lý tiếng nói và ứng dụng trong thông tin liên lạc như mã hóa, truyền dẫn, nhận dạng [1] Do đặc điểm phức tạp của các loại nhiễu trong thực tế nên rất khó xây dựng được các thuật toán VAD bền vững đối với nhiễu môi trường Đã có nhiều phương pháp được đề xuất nhằm nâng cao hiệu suất của bộ VAD như sử dụng kết hợp nhiều đặc tính trong miền thời gian, miền phổ và miền Wavelet; thiết kế các bộ quyết định thích nghi với mức nhiễu; và huấn luyện các mô hình thống kê như mạng neural, mô hình Markov ẩn, v.v
Hình 1 Kết quả VAD với tín hiệu tiếng nói bị nhiễu
Trong bài báo này, chúng tôi tiến hành nghiên cứu các thuật toán VAD dùng biến đổi Wavelet rời rạc (DWT) và đánh giá hiệu suất của các thuật toán trên cơ sở dữ liệu TIMIT đã được trộn nhiễu Trong phần 2 trình bày các thuật toán VAD dùng DWT và các phương pháp VAD tiêu chuẩn của ITU-T và ETSI Mô phỏng và phân tích kết quả được
Trang 2Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010
trình bày trong phần 3 Phần cuối trình bày kết luận và đưa ra hướng phát triển
2 Các thuật toán VAD
Tín hiệu tiếng nói ban đầu được phân khung, sau đó trích các thuộc tính mang đặc trưng cho phần tiếng nói (speech) và phần không có tiếng nói (non-speech) (hình 2) Việc thực hiện quyết định dựa trên mức ngưỡng hay theo mô hình đã được huấn luyện
Hình 2 Sơ đồ khối thực hiện VAD
2.1 VAD dùng biến đổi Wavelet
2.1.1 Thuộc tính khoảng cách giữa hai băng con và ngưỡng thích nghi
Thuật toán tính khoảng cách giữa hai băng con WSDM (Wavelet Subband Distance Measure) theo [2] dựa trên sự khác nhau về phân bố năng lượng băng con của phần speech
và phần non-speech Thuộc tính này được xác định theo các công thức trong (1)
a
a
w
1
2 log(2)
N i k
Với N là số mẫu trong một khung, N a và N N a là chiều dài của tập các hệ số wavelet X m i,( )n tại băng con tần số thấp và cao X m i,( )n được tính bằng cách áp dụng DWT tại tham số tỷ lệ thứ m và lấy cửa sổ khung thứ i Một bộ lọc percentile filter (PF) được thiết kế dựa trên nguyên lý: thông tin tiếng nói không thường xuyên xuất hiện tại tất
cả các kênh tần số và tại cùng một thời điểm dùng để xác định ngưỡng nhiễu thích nghi
2.1.2 Thuộc tính mức năng lượng của các hệ số chi tiết và ngưỡng quyết định thích nghi
Việc sử dụng thuộc tính mức năng lượng của các hệ số Wavelet chi tiết WDCE (Wavelet Details Coefficients’ Energy) theo [3] dựa trên đặc điểm: tại các thang tỷ lệ lớn của DWT, thành phần chi tiết của tín hiệu bị nhiễu phần lớn được quyết định bởi phần tiếng nói trong khi biên độ của nhiễu rất nhỏ Do đó, VAD được thực hiện bằng cách so sánh năng lượng của các thành phần chi tiết lấy từ biến đổi Wavelet trong khung đang xét với năng lượng của các thành phần chi tiết của 4 khung nhiễu gần nhất trước đó
2.1.3 Thuộc tính WSDM và mô hình mạng Neuron (NN)
Trong [2], một mô hình mạng NN có 3 lớp được huấn luyện để phân loại speech/non-speech cho từng frame âm thanh ở ngõ vào Mạng neural được thiết lập gồm 3 lớp: lớp nhận dữ liệu vào, lớp ẩn (phân tích dữ liệu), lớp ngõ ra Thông qua thuật toán Levenberg-Marquardt [2], NN được huấn luyện trên dữ liệu TIMIT Test đã được trộn nhiễu Thuộc tính WSDM và các đạo hàm bậc 1 và bậc 2 của WSDM được đưa vào lớp
ngõ vào của NN Hai tín hiệu tại lớp ngõ ra được so sánh với nhau để thực hiện quyết định
2.2 Các phương pháp khác
2.2.1 VAD G.729 Annex B ITU-T
Thuật toán VAD G729B trong [4] được phát triển dành cho thông tin đa phương tiện và điện thoại cố định Tín hiệu tiếng nói được chia thành các khung có độ dài 10ms
Trang 3Bốn đặc trưng sử dụng cho việc quyết định VAD gồm: sai khác năng lượng tại băng thấp (0-1kHz), sai khác năng lượng toàn băng, sai khác tỷ lệ qua điểm 0, méo phổ
2.2.2 VAD ETSI ES 202 050
Chuẩn ETSI 202 050 [5] với bộ VAD được tích hợp trong khối tiền xử lí để ước lượng nhiễu ETSI-Nest (noise estimation) thực hiện tính năng lượng thời đoạn ngắn (80 mẫu mỗi khung) Năng lượng này được dùng để cập nhật mức năng lượng trung bình rồi tính chênh lệch giữa hai mức năng lượng và so với mức ngưỡng để quyết định
2.2.3 Thuộc tính Mel-Frequency Cepstral Coefficients (MFCCs) và mô hình NN
Trong [6], một thuật toán VAD được thiết kế dựa trên việc huấn luyện mạng neural với thuộc tính phổ MFCC (Mel-Frequency Cepstral Coefficients) tương tự như trong mục 2.1.3 Việc trích các đặc trưng MFCC dựa trên sự cảm thụ tần số âm thanh của tai người Các khung tín hiệu tiếng nói sau khi qua bộ biến đổi Fourier (FFT) sẽ được đưa qua dãy bộ lọc thang Mel dạng hình tam giác xếp chồng nhau Ngõ ra băng lọc được nén và lấy log Cuối cùng biến đổi cosine rời rạc (DCT) được áp dụng để tính 13 hệ số MFCC Các đạo hàm bậc 1 và bậc 2 cũng được trích đưa vào lớp ngõ vào của NN
3 Mô phỏng và phân tích kết quả
Các thuật toán VAD được đánh giá trên cơ sở dữ liệu TIMIT Test được trộn với 4 loại nhiễu khác nhau: nhiễu nhà máy(factory), nhiễu tiếng nói (babble), nhiễu xe hơi (car)
và nhiễu trắng (white) Mỗi loại nhiễu được trộn với tín hiệu sạch ở các tỷ số SNR (signal-to-noise ratio) khác nhau gồm [-5 0 5 10 15 20 25 30] dB Hiệu năng của mỗi thuật toán VAD được đánh giá thông qua các phép đo Recall (RC), Precision (PR) và Fscore
1
t RC
t f
1
t PR
t f ,
2 PR RC
Fscore
PR RC, (3)
Trong đó: t1 là số các khung speech được nhận đúng, t0 là số khung non-speech được nhận đúng, f1 là số khung speech bị nhận sai, f0 là số khung non-speech bị nhận sai
3.1 Đánh giá hiệu suất phân loại của các thuật toán VAD được khảo sát
Từ các đường cong được biểu diễn trên mặt phẳng RC-PR ở hình 3, ta nhận thấy: G729B: cho kết quả tốt trong điều kiện SNR cao Khi SNR giảm, PR khá ổn định
và RC giảm mạnh cho thấy thuật toán phát hiện được ít khung speech hơn
ETSI-Nest: ở SNR cao, RC rất cao và PR tốt Khi các loại nhiễu Babble, Factory, White tác động nhiều, RC giảm mạnh nhưng PR tăng nhẹ VAD hoạt động tốt với nhiễu car
WDCE: trong hầu hết các trường hợp PR tương đối ổn định và RC giảm khi SNR giảm Với nhiễu Car, RC ở mức cao mặc dù SNR rất thấp
WSDM-PF: Ở SNR cao, cho kết quả RC và PR cao Khi SNR giảm, RC tăng, PR giảm nhẹ, nghĩa là các thông tin tiếng nói không bị mất Nhìn chung cho kết quả tốt tại mọi trường hợp và độ phức tạp là thấp nhất
MFCC-NN, WSDM-NN: Hiệu suất hoạt động tốt và khá ổn định trong mọi trường hợp Tuy nhiên độ phức tạp của thuật toán cao hơn do sử dụng 39 hệ số MFCC
Trang 4Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010
0.88
0.9
0.92
0.94
0.96
0.98
1
Precision
WSDM-NN Factory WSDM-NN Babble WSDM-NN White WSDM-NN Car G729B Factory G729B Babble G729B White G729B Car MFCC-NN Factory MFCC-NN Babble MFCC-NN White MFCC-NN Car WSDM-PF Factory WSDM-PF Babble WSDM-PF White WSDM-PF Car ETSI-Nest Factory ETSI-Nest Babble ETSI-Nest White ETSI-Nest Car WDCE Factory WDCE Babble WDCE White WDCE Car Equal Line
Hình 3: Đồ thị biểu diễn RC-PR của các thuật toán VAD khác nhau
Bên cạnh việc phân tích tỷ lệ
nhận dạng và độ chính xác của từng
thuật toán, có thể đánh giá hiệu suất phân
loại qua giá trị Fscore Kết quả trong
hình 4 cho thấy: Trong khi thuật toán
G729B cho ra Fscore thấp nhất, NN
MFCC luôn đạt được hiệu suất cao nhất
trong các thuật toán VAD ETSI-Nest có
Fscore cao và khá ổn định tuy nhiên khi
SNR quá thấp thì Fscore giảm rất mạnh
trừ trường hợp nhiễu Car VAD WDCE
có Fscore tương đối ổn định và hiệu quả
cao đối với nhiễu car và babble
WSDM-PF hầu hết đạt được Fscore rất cao Tại
mức SNR=0dB Thuật toán VAD này vẫn
đạt được hiệu suất bền vững với nhiễu
Car và White WSDM-NN cho Fscore
tốt và ổn định trong tất cả các trường hợp
3.2 Đánh giá tác động của các họ Wavelet khác nhau
Từ kết quả phân tích, thuật toán VAD WSDM-PF với hiệu suất tốt, ổn định với nhiễu và có độ phức tạp thấp nhất được tiếp tục phân tích khi sử dụng các họ Wavelet khác
nhau Kết quả Fscore trên hình 5 cho thấy về cơ bản, các họ Wavelet cho Fscore khá giống
nhau khi SNR thay đổi từ 30 đến 5dB Tuy nhiên với điều kiện môi trường nhiễu khắc nghiệt hơn, họ Wavelet Battle cho kết quả tốt hơn so với các họ khác
0.75 0.85
0.95 1
SNRs (dB)
Factory Noise
0.75 0.85
0.95 1
SNRs (dB) Babble noise
0.65 0.75 0.85 0.95 0.65
SNRs (dB)
White noise
0.9 0.94
0.98 1
SNRs (dB) Car noise
Hình 4: Đồ thị biểu diễn Fscore
của các thuật toán VAD khác nhau
Trang 5Hình 5 Đồ thị biểu diễn giá trị F-score của các họ Wavelet khác nhau
4 Kết luận
Trong công trình nghiên cứu này, các thuật toán VAD khác nhau đã được nghiên cứu và đánh giá độ ổn định khi dùng trong các môi trường nhiễu khác nhau Kết quả đánh giá cho thấy các thuật toán VAD với các thuộc tính được trích trong miền Wavelet cho ra kết quả tốt nhất khi SNR thấp Thực nghiệm cũng chỉ ra, thuật toán WSDM-PF có độ phức tạp tính toán thấp hơn các nhóm VAD còn lại do sử dụng một thuộc tính duy nhất Kết quả đánh giá cũng cho phép chọn được các nhóm họ Wavelet cho ra hiệu suất ổn định nhất đối với các SNR khác nhau Trong nghiên cứu tiếp theo, chúng tôi sẽ đánh giá tính hiệu quả của các thuật toán VAD khi tích hợp chúng vào khối tiền xử lí của hệ thống nhận dạng tiếng nói nhằm nâng cao hiệu suất nhận dạng
TÀI LIỆU THAM KHẢO
[1] Peter Vary, Rainer Martin (2006), “Digital Speech Transmission”, Wiley
[2] Tuan V Pham, et al (2008), “Voice Activity Detection Algorithms Using Subband
Power Distance Feature For Noisy Environments”, Proc Interspeech, pp 2586-2589
[3] Jiang Shaojun, et al (2004), “A new algorithm for voice activity detection based on
Wavelet transform”, Proc IEEE IMVSP, pp 222-225
[4] A Benyassine et al (1997), “ITU-T Recommendation G.729 Annex B: A silence compression scheme for use with G.729 optimized for V.70 digital simultaneous voice
and data applications”, IEEE Communications Magazine, vol 35, no 9, pp 64–73
[5] ETSI (2003), “Speech Processing, Transmission and Quality Aspects (STQ), Distributed speech recognition, Advanced frontend feature extraction algorithm,
Compression algorithms”, ETSI ES 202 050 V1.1.3, pp 14-15 and pp 40-41
[6] Tuan V Pham et al (2009), “Using artificial neural network for robust voice activity
detection under adverse conditions”, Proc IEEE RIVF, pp.1-8
0.85 0.9 0.95 1
SNR (dB)
Haar, factory Haar, babble Haar, white Haar, car Vaidyanathan, factory Vaidyanathan, babble Vaidyanathan, white Vaidyanathan, car Coiflet, factory Coiflet, babble Coiflet,white Coiflet, car Beylkin, factory Beylkin, babble Beylkin, white Beylkin, car Daubechies, factory Daubechies, babble Daubechies, white Daubechies, car Battle, factory Battle, babble Battle, white Battle, car Symmlet, factory Symmlet, babble Symmlet, white Symmlet, car
0.75 0.8 0.85 0.9 0.95
dB
Haar, babble Haar, white Haar, car Vaidyanathan, factory Vaidyanathan, babble Vaidyanathan, white Vaidyanathan, car Coiflet, factory Coiflet, babble Coiflet,white Coiflet, car Beylkin, factory Beylkin, babble Beylkin, white Beylkin, car Daubechies, factory Daubechies, babble Daubechies, white wDaubechies, car Battle, factory Battle, babble Battle, white Battle, car Symmlet, factory Symmlet, babble Symmlet, white Symmlet, car
0.9596 0.9598 0.96 0.9602 0.9604 0.9606 0.9608 0.961 0.9612 0.9614 0.9616
SNR (dB)
Coiflet,white Coiflet, car Beylkin, factory Beylkin, babble Beylkin, white Beylkin, car Daubechies, factory Daubechies, babble Daubechies, white Daubechies, car Battle, factory Battle, babble Battle, white Battle, car Symmlet, factory Symmlet, babble Symmlet, white Symmlet, car
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
dB
Haar, factory Haar, babble Haar, white Haar, car Vaidyanathan, factory Vaidyanathan, babble Vaidyanathan, white Vaidyanathan, car Coiflet, factory Coiflet, babble Coiflet,white Coiflet, car Beylkin, factory Beylkin, babble Beylkin, white Beylkin, car Daubechies, factory Daubechies, babble Daubechies, white Daubechies, car Battle, factory Battle, babble Battle, white Battle, car Symmlet, factory Symmlet, babble Symmlet, white Symmlet, car
0.75 0.8 0.85 0.9 0.95 1
dB
Haar, factory Haar, babble Haar, white Haar, car Vaidyanathan, factory Vaidyanathan, babble Vaidyanathan, white Vaidyanathan, car Coiflet, factory Coiflet, babble Coiflet,white Coiflet, car Beylkin, factory Beylkin, babble Beylkin, white Beylkin, car Daubechies, factory Daubechies, babble Daubechies, white wDaubechies, car Battle, factory Battle, babble Battle, white Battle, car Symmlet, factory Symmlet, babble Symmlet, white Symmlet, car
0.75 0.8 0.85 0.9 0.95 1
dB
Haar, factory Haar, babble Haar, white Haar, car Vaidyanathan, factory Vaidyanathan, babble Vaidyanathan, white Vaidyanathan, car Coiflet, factory Coiflet, babble Coiflet,white Coiflet, car Beylkin, factory Beylkin, babble Beylkin, white Beylkin, car Daubechies, factory Daubechies, babble Daubechies, white wDaubechies, car Battle, factory Battle, babble Battle, white Battle, car Symmlet, factory Symmlet, babble Symmlet, white Symmlet, car
0.75
0.8
0.85
0.9
0.95
1
dB
Haar, factory Haar, babble Haar, white Haar, car Vaidyanathan, factory Vaidyanathan, babble Vaidyanathan, white Vaidyanathan, car Coiflet, factory Coiflet, babble Coiflet,white Coiflet, car Beylkin, factory Beylkin, babble Beylkin, white Beylkin, car Daubechies, factory Daubechies, babble Daubechies, white wDaubechies, car Battle, factory Battle, babble Battle, white Battle, car Symmlet, factory Symmlet, babble Symmlet, white Symmlet, car
0.75
0.8
0.85
0.9
0.95
1
dB
Haar, factory Haar, babble Haar, white Haar, car Vaidyanathan, factory Vaidyanathan, babble Vaidyanathan, white Vaidyanathan, car Coiflet, factory Coiflet, babble Coiflet,white Coiflet, car Beylkin, factory Beylkin, babble Beylkin, white Beylkin, car Daubechies, factory Daubechies, babble Daubechies, white Daubechies, car Battle, factory Battle, babble Battle, white Battle, car Symmlet, factory Symmlet, babble Symmlet, white Symmlet, car
SNR (dB)