Hình 2.4. Các giai đoạn của bài toán xác thực người nói
Hình 2.4 cho thấy trong cả pha huấn luyện và pha nhận dạng của một hệ thống xác thực người nói đều trải qua bước là trích chọn đặc trưng (feature extraction). Mục đích của bước này là biến đổi từ tín hiệu tiếng nói thực sang một các tham số gọi là các đặc trưng- phục vụ tốt hơn cho quá trình nhận dạng.
Với các hệ thống nhận dạng người nói người ta mong muốn trích chọn được các đặc trưng thoả mãn những vấn đề sau:
- Dễ dàng tính toán.
- Xuất hiện một cách tự nhiên và liên tục trong khi nói.
người khác.
- Không thay đổi theo thời gian hay sức khỏe, trạng thái của người nói
- Ít bị ảnh hưởng bởi môi trường xung quanh (độc lập môi trường). - Không ảnh hưởng bởi sự biến dạng bóp méo.
- Không ảnh hưởng bởi độ ồn nền và băng tần giới hạn.
2.3.2. Phân loại đặc trưng
Việc trích chọn đặc trưng người nói có một ý nghĩa hết sức quan trọng, tác dộng trực tiếp tới độ chính xác nhận dạng của các hệ nhận dạng người nói. Với các hệ nhận dạng người nói nói chung, các đặc trưng về người nói được trích chọn có thể chia ra 2 nhóm:
- Nhóm một bao gồm các loại đặc trưng mang thông tin về tiếng nói như các tần số formant, tần số âm cơ bản, hay năng lượng… - Nhóm hai gồm các loại đặc trưng mang thông tin về đường bao phổ
như các hệ số dự đoán tuyến tính (LPC), các hệ số cepstrum, các hệ số cepstrum dự đoán tuyến tính (LPCC) hay các hệ số ceptrum tần số Mel (MFCC)….
Các nghiên cứu về nhận dạng người nói đều chỉ ra rằng, các đặc trưng thuộc nhóm hai hiệu quả hơn so với nhóm một. Trong số các loại đặc trưng mang thông tin về đường bao phổ, họ các hệ số ceptrum có khả năng phân biệt người nói tốt hơn so với các đặc trưng khác do các hệ số này khai thác khá tốt các đặc tính của tuyến âm, một trong các đặc tính quan trọng nhất phân biệt giọng nói người này với người khác.
2.3.3. Trích chọn đặc trưng MFCC
Để xây dựng hệ nhận dạng người nói không phụ thuộc từ khóa cho tiếng Việt tôi chọn các hệ số MFCC làm đặc trưng trích chọn vì so với các đặc trưng khác việc tính toán MFCC không quá phức tạp. Và một thực tế là
rất nhiều hệ nhận dạng người nói hiện nay trên thế giới sử dụng các hệ số MFCC làm đặc trưng trích chọn.
MFCC là phương pháp trích đặc trưng dựa trên đặc điểm cảm thụ tần số âm của tai người: tuyến tính đối với tần số nhỏ hơn 1kHz và phi tuyến đối với tần số trên 1kHz (theo thang tần số mel, không phải theo Hz). Mối quan hệ giữa thang Hz và thang Mel được thể hiện thông qua hình 2.5 sau:
Hình 2.5. Đồ thị biểu diễn mối quan hệ giữa Mel và Hz
Hình 2.6. Sơ đồ khối của xử lý MFCC’s
Quá trình tính toán như sau: đầu tiên tín hiệu tiếng nói được chia thành các frame có độ dài 20ms - 30ms. Mỗi frame sẽ được nhân với một hàm cửa sổ, thường là cửa sổ Hamming sau đó được chuyển sang miền tần số nhờ biến đổi Fourier. Tín hiệu ở miền tần số được nhân với các bộ lọc mel-scale, lấy logarit rồi biến đổi Fourier ngược (để chuyển sang miền cepstral) sẽ được các hệ số MFCC. Các mục sau trình bày từng bước quá trình tính toán đặc trưng MFCC.
2.3.3.1. Phân khung (Frame blocking):
Bước đầu tiên của trích chọn đặc trưng là chia tín hiệu tiếng nói thành các khung, mỗi khung khoảng chừng 30ms (30ms với tần số lấy mẫu Fs=8000Hz cho 240 mẫu). Trong khoảng thời gian ngắn như vậy, phổ của tín hiệu đủ ổn định để tiến hành tách đặc trưng. Mỗi frame sẽ cho đặc trưng là một vector và đặc trưng của toàn bộ tín hiệu sẽ là một dãy vector.
Hình 2.7. Khung 30ms với tần số lấy mẫu FS = 8000Hz cho 240 mẫu
Có thể trích chọn được đặc trưng tốt hơn từ các khung bằng cách sử dụng kỹ thuật chồng khung. Với 50% chồng khung thì với một tín hiệu tiếng nói có S mẫu thì số khung được phân là:
1 2 − = N S M (2.11)
2.3.3.2. Lấy cửa sổ (Windowing)
Bước tiếp theo trong xử lý này là lấy cửa sổ cho mỗi khung riêng rẽ nhằm giảm đến mức tối thiểu sự gián đoạn tại điểm đầu và điểm cuối của
mỗi khung. Thực chất ở đây là giảm đến mức tối thiểu sự méo mó của phổ bằng cách sử dụng cửa sổ để cho tín hiệu gần bằng 0 tại điểm bắt đầu và kết thúc tại mỗi khung. Một kiểu cửa sổ thường dùng cho xác thực người nói là của sổ Hamming. Cửa sổ này có dạng:
1 0 ) 1 2 cos( 46 . 0 54 . 0 ) ( ≤ ≤ − − − = n N N n n w π (2.12) Nó sẽ được áp dụng bởi: ) ( * ) ( ) (n x n w n x = t (2.13)
2.3.3.3. Biến đổi nhanh Fourier (FFT)
Bước tiếp theo là áp dụng biến đổi Fourier trên khung tiếng nói đã được lấy cửa sổ. Sử dụng đổi nhanh Fourier cơ số 4 để chuyển đổi mỗi khung từ miền thời gian sang miền tần số. Biến đổi nhanh Fourier (FFT) là thuật toán nhanh thực hiện biến đổi Fourier rời rạc (DFT). Biến đổi Fourier rời rạc của tín hiệu x(n) như sau:
∑− = − = 1 0 2 ) ( ) ( N n N kn i e n x k X π (2.14) Để nhận được sự thể hiện tốt hơn của biến đổi Fourier, xử lý đệm 0 được áp dụng tức là thêm vào đoạn sau của tín hiệu các giá trị 0, bởi vì đệm 0 không cung cấp thêm thông tin về phổ Y(ω) của tín hiệu {x(n)}, nhưng nó sẽ làm tăng tốc độ tính toán.
Hình 2.8. Độn 0 vào khung tiếng nói
2.3.3.4. Biến đổi sang thang đo Mel.
Các bộ lọc mel-scale là các bộ lọc tam giác, đặt cách đều nhau trong miền tần số nhỏ hơn 1kHz và khoảng cách tăng theo hàm mũ trong miền từ 1kHz đến Fs/2 (một nửa của tần số lấy mẫu).
Hình 2.10. Các bộ lọc mel-scale tam giác
Với M bộ lọc đó, ta hoàn toàn xác định được hệ số nhân hi(k) của mỗi bộ lọc. Kết quả lọc đối với tín hiệu ở miền tần số qua các bộ lọc được tính như sau: ∑− = = = 1 0 .. 1 | ) ( | ) ( ) ( N k i M i k X k h i F (2.15)
Chú ý: X(k) là một số phức nhưng thông tin về pha của X(k) không quan trọng nên ta chỉ tính kết quả lọc với modun của X(k).
Việc nhân tín hiệu ở miền tần số với các bộ lọc mel-scale mục đích để chuyển biểu diễn miền tần số từ thang Hz sang thang mel.
2.3.3.5. Hệ số Cepstral
Lấy logarit của tín hiệu ở miền tần số rồi biến đổi Fourier ngược sẽ đưa tín hiệu về một miền gọi là có đơn vị thời gian (thuật ngữ là đảo ngược của âm đầu tiên trong từ spectrum sang cepstrum). Biến đổi từ spectrum sang cepstrum là một biến đổi đồng hình (homomorphic). Biến đổi đồng hình chuyển biểu diễn tín hiệu từ dạng tích về dạng tổng, như vậy cho phép sử dụng các hệ tuyến tính để xử lý các tín hiệu không tuyến tính. Công thức của bước này là: p n M k n i k F n c M k .. 1 ) 2 ) 1 ( 2 cos( )) ( log( ) ( 1 = − =∑ = π (2.16) Chú ý: mặc dù biến đổi từ spectrum sang cepstrum là biến đổi Fourier ngược, tuy nhiên do ta dùng spectrum và cepstrum thực nên chỉ sử dụng biến đổi cosine rời rạc (DCT) để tăng hiệu năng tính toán.
Sau bước này ta được vector cepstral (ở độ đo mel) với p thành phần. Việc lựa chọn số hệ số MFCC dựa trên những yêu cầu khác nhau về độ chính xác nhận dạng hay tốc độ tính toán, tùy theo từng tác giả, có thể chọn bằng 12 như tác giả J.E. Higgins and R.I.Damper, bằng 15 như Chai Wutiwiwachai và các cộng sự hay thậm chí là 20 như tác giả Minh N Do . Với hệ thống nhận dạng khảo sát ở đây trong luận văn này đã chọn số hệ số MFCC bằng 15 sau khi đã bỏ đi hệ số đầu tiên. Việc lựa chọn số hệ số MFCC này dựa trên kết quả khảo sát độ chính xác nhận dạng người nói của các âm tiết tiếng Việt. Còn việc loại bỏ hệ số MFCC đầu tiên do hệ số này mang thông tin về thành phần một chiều, một thông tin không có ý nghĩa phân biệt người nói.
2.3.3.6. Delta MFCC và Delta-Delta MFCC
Tất cả các đặc trưng người nói trên được gọi chung các đặc trưng tĩnh. Bên cạnh đó còn có các đặc trưng động biểu diễn tốc độ cũng như gia tốc thay đổi của các đặc trưng tĩnh. Các đặc trưng động này còn được gọi là các tham số Delta và Delta-Delta của các đặc trưng nguyên mẫu (tức là các đặc trưng tĩnh). Rất nhiều hệ nhận dạng người nói được xây dựng dựa trên các đặc trưng nguyên mẫu kết hợp với các tham số Delta cũng như các tham số Delta-Delta của chúng và kết quả nhận dạng thực sự đã tăng lên so với khi chỉ dùng các đặc trưng nguyên mẫu. Một khảo sát nhận dạng người nói dựa trên mô hình HMM và các đặc trưng MFCC đã chỉ ra sai số nhận dạng người nói giảm từ 11.22% xuống còn 10.33% khi các đặc trưng là các hệ số MFCC được kết hợp với tham số Delta MFCC và xuống còn 10.05% khi kết hợp thêm cả với tham số Delta-Delta MFCC.
Tuy nhiên, việc kết hợp này cũng có một số nhược điểm. Thứ nhất, việc kết hợp này sẽ làm không gian vector đặc trưng tăng lên 2 đến 3 lần so với không gian vector đặc trưng nguyên mẫu, và do vậy sẽ phải đòi hỏi nhiều dữ liệu hơn cho huấn luyện cũng như khi nhận dạng người nói, và hệ lụy là thời gian tính toán cũng phải tăng lên. Hơn nữa, do phạm vi thay đổi của các tham số Delta và các đặc trưng nguyên mẫu là không như nhau do vậy cần phải chuẩn hóa trước khi kết hợp chúng vào trong một không gian vector đặc trưng duy nhất và điều đó cũng làm tiêu tốn thêm thời gian xử lý. Bên cạnh đó là việc xác định giá trị tối ưu cho kích thước cửa sổ hồi quy khi xác định các tham số Delta và Delta-Delta là không dễ dàng khi mà tốc độ cũng như gia tốc thay đổi của các hệ số của đặc trưng nguyên mẫu là không như nhau. Cuối cùng, một số khảo sát cho thấy nếu chỉ sử dụng các tham số Delta thì độ chính xác nhận dạng người nói thấp hơn nhiều so với khi chỉ sử dụng các đặc trưng nguyên mẫu.
Chương 3
CÁC MÔ HÌNH ỨNG DỤNG XÁC THỰC NGƯỜI NÓI KHÔNG PHỤ THUỘC VÀO TỪ KHÓA
Sau bước trích chọn đặc trưng đã được trình bày ở chương hai, bước tiếp theo của các hệ thống xác thực người nói không phụ thuộc vào người nói đối với giai đoạn huấn luyện là bước xây dựng mô hình người nói, trong giai đoạn xác thực là bước so khớp và đưa ra quyết định. Đây sẽ là các nội dung được nghiên cứu trong chương 3.
Các nội dung chính được nghiên cứu trong chương ba:
- Phân loại các mô hình: phân loại các mô hình thường được sử dụng trong nhận dạng người nói và chọn mô hình sử dụng cho bài toán xác thực người nói không phụ thuộc vào từ khóa.
- Mô hình lượng tử hóa vector (Vector Quantization): khái niệm VQ, tính chất, thiết kế codebook theo thuật toán LBG. Đây là cơ sở lý thuyết quan trọng cho việc ứng dụng VQ xác thực người nói không phụ thuộc vào từ khóa.
- Mô hình hỗn hợp Gauss (Gaussian Mixture Model): khái niệm GMM, thuật toán EM. Đây là cơ sở lý thuyết quan trọng cho việc ứng dụng GMM xác thực người nói không phụ thuộc vào từ khóa. - Mô hình hóa người nói: cách sử dụng phương pháp VQ và GMM để
mô hình hóa người nói.
- So khớp mẫu: đưa ra phương pháp so khớp mẫu trong giai đoạn kiểm thử ứng với từng mô hình hóa người nói VQ hay GMM.
- Tạo quyết định: các phương pháp tạo ra quyết định chấp nhận hay bác bỏ trong các hệ thống xác thực người nói không phụ thuộc vào từ khóa.