Mục lục

Trang
Trang phụ bìa…………………………………………………………………...
Nhiệm vụ luận văn……………………………………………………………..
Mục lục…………………………………………………………………………
Danh mục các ký hiệu, các ký tự viết tắt……………………………………….
Danh mục các bảng…………………………………………………………….
Danh mục các hình vẽ, đồ thị…………………………………………………..
Mở đầu………………………………………………………………………...1
Chương 1
TỔNG QUAN VỀ NHẬN DẠNG NGƯỜI NÓI
1.1. Các lĩnh vực của xử lý tiếng nói ..................................................... 4
1.2. Nhận dạng người nói ...................................................................... 5
1.2.1. Cơ sở lý thuyết của nhận dạng người nói .................................. 5
1.2.2. Phân loại bài toán nhận dạng người nói .................................... 6
1.2.3. Các ứng dụng của bài toán nhận dạng người nói ....................... 9
1.3. Xác thực người nói không phụ thuộc vào từ khóa .......................... 11
1.3.1. Giới thiệu chung .................................................................... 11
1.3.2. Các thành phần của một hệ thống xác thực người nói không phụ
vào từ khóa ....................................................................................... 11
1.3.3. Các giai đoạn xử lý của một hệ thống xác thực người nói không
phụ thuộc vào từ khóa ....................................................................... 12
Chương 2
TRÍCH CHỌN ĐẶC TRƯNG NGƯỜI NÓI
2.1. Đặc điểm vật lý, âm học của tiếng nói........................................... 14
2.1.1. Đặc điểm vật lý của tiếng nói ................................................. 14
2.1.2. Đặc điểm âm học của tiếng nói............................................... 17
2.2. Tiền xử lý tín hiệu tiếng nói.......................................................... 22
2.2.1. Chuyển từ tín hiệu tương tự sang tín hiệu số ........................... 22
2.2.2. Chuẩn hóa biên độ ................................................................. 25
2.2.3. Biến đổi Fourier .................................................................... 26
2.2.4. Lọc nhiễu .............................................................................. 27
2.2.5. Làm rõ tín hiệu ...................................................................... 27

2.3. Trích chọn đặc trưng người nói..................................................... 28
2.3.1. Mục đích của trích chọn đặc trưng.......................................... 28
2.3.2. Phân loại đặc trưng ................................................................ 29
2.3.3. Trích chọn đặc trưng MFCC .................................................. 30
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
3.1. Phân loại các mô hình .................................................................. 39
3.1.1. Mô hình mẫu (Template Modeling) ........................................ 39
3.1.2. Mô hình thống kê (Statistical Modeling) ................................. 39
3.2. Mô hình lượng tử hóa vector (Vector Quantization- VQ) ............... 40
3.2.1. Khái niệm phép lượng tử hóa ................................................. 40
3.2.2. Độ biến dạng ......................................................................... 42
3.2.3. Tính chất ............................................................................... 42
3.2.4. Thiết kế codebook theo phương pháp LBG (Linde, Buzo, and
Gray) ............................................................................................. 43
3.3. Mô hình hỗn hợp Gauss ............................................................... 46
3.3.1. Bài toán ước lượng mật độ ..................................................... 46
3.3.2. Thuật toán EM (Expectation Maximization) ........................... 48
3.4. Xây dựng mô hình người nói ........................................................ 49
3.4.1. Giới thiệu chung .................................................................... 49
3.4.2. Sử dụng mô hình VQ ............................................................. 49
3.4.3. Sử dụng GMM ...................................................................... 51
3.5. So khớp ....................................................................................... 51
3.5.1. Giới thiệu chung .................................................................... 51
3.5.2. Phương pháp VQ................................................................... 52
3.5.3. Phương pháp GMM............................................................... 53
3.6. Tạo quyết định ............................................................................. 53
Chương 4
CẤU HÌNH HỆ THỐNG VÀ KẾT QUẢ THỬ NGHỆM
4.1. Cấu trúc tổng quát của hệ thống.................................................... 56
4.1.1. Module trích chọn đặc trưng MFCC ....................................... 56
4.1.2. Module huấn luyện ................................................................ 57
4.1.3. Module xác thực .................................................................... 57
4.2. Dữ liệu tiếng nói .......................................................................... 57
4.3. Tỷ lệ lỗi (Error rate) ..................................................................... 58

4.4. Kết quả thực nghiệm .................................................................... 58
4.4.1. Số các hệ số MFCC ............................................................... 58
4.4.2. Mô hình VQ và GMM ........................................................... 59
4.4.3. Thời gian huấn luyện ............................................................. 59
4.4.4. Số các cụm của mô hình VQ .................................................. 60
4.4.5. Số cụm của mô hình GMM .................................................... 60
Kết luận và kiến nghị………………………………………………………...61
Tài liệu tham khảo…………………………………………………………...63

DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
DCT

Biến đổi Cosin rời rạc (Discrete Cosin Transform)

DFT

Biến đổi Fourier rời rạc (Discrete Fourier Transform)

EM

Thuật toán ước lượng hợp lý cực đại (Expectation Maximization)

FFT

Biến đổi Fourier nhanh (Fast Fourier Transform)

GMM

Mô hình hỗn hợp Gauss (Gaussian Mixture Model)

LBG

Thuật toán gom cụm của Linde, Buzo và Gray

VQ

Lượng tử hóa vector (Vector Quantization)

Bảng 2.1.
Bảng 2.2.

DANH MỤC CÁC BẢNG
Một số giá trị của tần số cơ bản ứng với giới tính và tuổi ........ 21
Bảng ước lượng tính DFT và FFT một chiều .......................... 27

Bảng 4.1.
Bảng 4.2.
Bảng 4.3.
Bảng 4.4.
Bảng 4.5.

Tỷ lệ lỗi với số các hệ số MFCC khác nhau ............................ 58
Tỷ lệ lỗi với hai mô hình VQ và GMM .................................... 59
Tỷ lệ lỗi với thời gian huấn luyện khác nhau ........................... 59
Tỷ lệ lỗi với số cụm khác nhau trong mô hình VQ ................... 60
Tỷ lệ lỗi với số cụm khác nhau trong GMM ............................ 60

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1. Bài toán định danh người nói ................................................... 6
Hình 1.2. Bài toán xác thực người nói ..................................................... 7
Hình 1.3. Chứng thực giao dịch ............................................................ 10
Hình 1.4. Điều khiển truy nhập hệ thống ............................................... 10
Hình 1.5. Nhận dạng tội phạm .............................................................. 10
Hình 1.6. Tư vấn bán hàng.................................................................... 11
Hình 1.7. Các thành phần của một hệ thống xác thực người nói không phụ
thuộc vào từ khóa ..................................................................................... 11
Hình 1.8. Các giai đoạn của một hệ thống xác thực người nói không phụ
thuộc vào từ khóa ..................................................................................... 12
Hình 2.1. Sơ đồ quá trình sản xuất và thu nhận tiếng nói của con người . 15
Hình 2.2. Đồ thị theo các formant F1, F2 cho mười nguyên âm được thực
hiện với nhiều đối tượng người nói khác nhau............................................ 19
Hình 2.3. Ví dụ về lấy mẫu tín hiệu trên miền thời gian .......................... 23
Hình 2.4. Các giai đoạn của bài toán xác thực người nói ....................... 28
Hình 2.5. Đồ thị biểu diễn mối quan hệ giữa Mel và Hz ......................... 30
Hình 2.6. Sơ đồ khối của xử lý MFCC’s................................................. 31
Hình 2.7. Khung 30ms với tần số lấy mẫu FS = 8000Hz cho 240 mẫu .... 32
Hình 2.8. Độn 0 vào khung tiếng nói ..................................................... 34
Hình 2.9. Biến đổi FFT cơ số 4 của khung tiếng nói đã được độn 0 ........ 34
Hình 2.10. Các bộ lọc mel-scale tam giác................................................ 35
Hình 3.1.
Hình 3.2.
Hình 3.3.
Hình 3.4.
Hình 3.5.
Hình 3.6.
Hình 3.7.
Hình 3.8.
Hình 3.9.
Hình 3.10.

Các thành phần trong một hệ thống xác thực người nói........... 39
Ví dụ VQ một chiều................................................................ 40
Ví dụ VQ 2 chiều ................................................................... 41
Các thành phần của một hệ thống xác thực người nói ............. 49
Các ví dụ xây dựng codebook dựa trên đặc trưng MFCC ........ 50
Ví dụ xây dựng mô hình người nói sử dụng GMM ................... 51
Giai đoạn so khớp mẫu .......................................................... 51
Minh họa hình ảnh so khớp mẫu của mô hình VQ ................... 52
Giai đoạn tạo quyết định........................................................ 53
Vấn đề xảy ra khi không dùng score chuẩn hóa....................... 54

Hình 4.1.

Các thành phần của một hệ thống xác thực người nói ............. 56

1

MỞ ĐẦU
Xử lý tiếng nói là sự nghiên cứu tiếng nói của con người dưới dạng tín
hiệu, và các phương pháp xử lý những tín hiệu này. Xử lý tiếng nói có nhiều
lĩnh vực nghiên cứu: nhận dạng tiếng nói, nhận dạng người nói, mã hóa tiếng
nói, tổng hợp tiếng nói, phân tích giọng nói,..
Nhận dạng người nói là một lĩnh vực nghiên cứu của xử lý tiếng nói.
Mục đích của nhận dạng người nói là để nhận ra người nói là ai hoặc là xác
minh liệu người đang nói có đúng là người mà máy tính đã được biết trước
hay không (tính xác thật của giọng nói). Nhận dạng người nói có nhiều ứng
dụng: thanh toán thẻ tín dụng qua điện thoại; đăng nhập vào các hệ thống an
ninh, máy tính bằng tiếng nói; giám định tư pháp tiếng nói… Chính vì vậy
hiện nay trên thế giới lĩnh vực nhận dạng người nói nhận được rất nhiều sự
quan tâm, nghiên cứu. Tuy nhiên hiện nay ở Việt Nam mới có rất ít công trình
nghiên cứu về vấn đề này.
Luận văn này tập trung nghiên cứu bài toán xác thực người nói không
phụ thuộc vào từ khóa – một bài toán trong lĩnh vực nhận dạng người nói.
Mục đích của bài toán xác thực người nói không phụ thuộc vào từ khóa là xác
minh liệu người đang nói có đúng là người mà máy tính đã được biết trước
hay không (tính xác thật của giọng nói) nhưng không phụ thuộc vào nội dung
người nói.
Cấu trúc của luận văn gồm: phần mở đầu; chương 1, 2, 3, 4; phần kết
luận và kiến nghị; tài liệu tham khảo; phụ lục.
Nội dung chính của luận văn:
- Chương 1 nghiên cứu tổng quan về bài toán nhận dạng người nói:
 Cơ sở khoa học của nhận dạng người nói, phân loại bài toán nhận
dạng người nói, các ứng dụng của nhận dạng người nói.
 Giới thiệu tổng quan bài toán xác thực người nói không phụ

2

thuộc vào từ khóa, các thành phần của một hệ thống xác thực
người nói, các giai đoạn hoạt động của một hệ thống xác thực
người nói không phụ thuộc vào từ khóa.
- Chương 2 nghiên cứu phương pháp trích chọn đặc trưng người nói:
cả trong giai đoạn huấn luyện và giai đoạn kiểm thử của một hệ
thống xác thực người nói không phụ thuộc vào từ khóa đều phải trải
qua bước trích chọn đặc trưng người nói, đây sẽ là nội dung nghiên
cứu chính của chương 2:
 Đặc tính vật lý, âm học của tiếng nói: nghiên cứu các đặc tính
này sẽ là cơ sở cho việc xác định các đặc trưng người nói.
 Tiền xử lý tín hiệu tiếng nói: tín hiệu tiếng nói sau khi được thu
và trước khi trích chọn đặc trưng, phải được tiến hành tiền xử lý.
Mục đích của việc tiền xử lý tín hiệu tiếng nói là để loại bỏ
nhiễu, chuẩn hóa biên độ, làm rõ tín hiệu…
 Trích chọn đặc trưng người nói: mục đích của việc trích chọn
đặc trưng người nói, phân loại các đặc trưng người nói, trình bày
chi tiết các bước trích chọn đặc trưng MFCC- đặc trưng được lựa
chọn sử dụng chủ yếu cho các hệ thống nhận dạng người nói.
- Chương 3 nghiên cứu về 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 từ khóa đố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:
 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.

3

 Mô hình lượng tử hóa vector (Vector Quantization): khái niệm
VQ, tính chất VQ, 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 mô hình VQ
trong 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.
- Chương 4 trình bày về cấu hình hệ thống và kết quả thử nghiệm:
 Cấu trúc tổng quát của một hệ thống xác thực người nói.
 Dữ liệu tiếng nói: trình bày cách thu thập dữ liệu tiếng nói để
phục vụ cho hệ thống.
 Tần số lỗi: trình bày cách đánh giá mức độ gây lỗi của một hệ
thống xác thực người nói.
 Kết quả thực nghiệm: trình bày kết quả thực nghiệm được tiến
hành với nhiều tiêu chí khác nhau.

4

Chương 1
TỔNG QUAN VỀ NHẬN DẠNG NGƯỜI NÓI
Chương một trình bày các nội dung chính:
- Các lĩnh vực nghiên cứu của xử lý tiếng nói.
- Trình bày tổng quan về bài toán nhận dạng người nói, đây là một
lĩnh vực nghiên cứu của xử lý tiếng nói: cơ sở lý thuyết của nhận
dạng người nói, phân loại các bài toán nhận dạng người nói, cũng
như các ứng dụng điển hình của nhận dạng người nói.
- Trình bày tổng quan về bài toán xác thực người nói không phụ thuộc
vào từ khóa - vấn đề chính được nghiên cứu trong luận văn này: các
thành phần của một hệ thống xác thực người nói không phụ thuộc
vào từ khóa, các giai đoạn của một hệ thống xác thực người nói
không phụ thuộc vào từ khóa.
1.1. Các lĩnh vực của xử lý tiếng nói
Xử lý tiếng nói là sự nghiên cứu tiếng nói của con người dưới dạng tín
hiệu, và các phương pháp xử lý những tín hiệu này.
Xử lý tiếng nói có thể được chia thành các lĩnh vực sau:
- Nhận dạng tiếng nói: phân tích và xử lý về mặt nội dung ngôn ngữ
của tín hiệu tiếng nói. Mục đích là để chuyển nội dung nói thành tín
hiệu đầu vào của máy tính, giúp cho máy tính có thể xử lý và tương
tác được với người nói.
- Nhận dạng người nói: mục đích là để nhận ra người nói là ai hoặc là
xác minh liệu người đang nói có đúng là người mà máy tính đã được
biết trước hay không (tính xác thật của giọng nói).
- Tăng chất lượng tiếng nói: nhằm tăng sự cảm nhận của người nghe

5

về chất lượng tiếng nói. Nó bao gồm: giảm nhiễu ồn của tín hiệu
tiếng nói, giảm/khử tiếng vọng (trong kỹ thuật điện thoại)...
- Mã hóa tiếng nói: là một dạng của nén dữ liệu, có vai trò quan trọng
trong lĩnh vực viễn thông. Ví dụ như trong thể thức truyền tiếng nói
qua internet (voIP), việc nén dữ liệu tiếng nói là điều bắt buộc để
giảm băng thông đường truyền.
- Tổng hợp tiếng nói: là tạo ra tiếng nói một cách nhân tạo nhờ máy
tính.
- Phân tích giọng nói: được ứng dụng chủ yếu trong y học, nhằm phát
hiện ra khuyết tật hay vấn đề của dây thanh âm, thanh quản, ...
- Định vị nguồn âm thanh: xử lý tín hiệu tiếng nói để xác định vị trí
của nguồn phát ra âm thanh (có thể là loa, người nói,...). Nó được
ứng dụng trong hội nghị hình thoại (videoconference) là hội nghị mà
người tham gia ở các nơi khác nhau, hình ảnh và âm thanh ở hai hay
nhiều đầu cầu của hội nghị được truyền tải cho nhau qua hệ thống
điện thoại số, internet hoặc sóng vệ tinh. Khi vị trí người nói trong
hội nghị được xác định, máy ghi hình được lập trình sẽ tự động quay
đến vị trí đó và gửi hình ảnh đi. Ngoài ra định vị nguồn âm thanh
còn có ứng dụng trong các kỹ thuật tăng chất lượng tiếng nói, trong
theo dõi an ninh,...
1.2. Nhận dạng người nói
1.2.1. Cơ sở lý thuyết của nhận dạng người nói
Tiếng nói tự nhiên ngoài thông tin ngữ nghĩa mà người nói muốn truyền
đạt (thông tin có thể ghi lại dưới dạng chữ viết) còn chứa các thông tin như
trạng thái tình cảm khi nói, hay những thông tin riêng của giọng người nói…
Các thông tin riêng biệt này được chia làm hai loại: mức cao và mức thấp.

6

Mức cao gồm các thông tin như phương ngữ, ngữ cảnh, phong cách nói…và
mức thấp là các thông tin như các formant, bề rộng formant, cao độ (pitch),
trường độ…Các thông tin này không phải bất biến từ lúc người biết nói đến
lúc già, nhưng nó có tính khá ổn định trong giai đoạn dài của cuộc đời. Khi
con người đã trưởng thành, những thói tật khi nói, những đặc trưng khu biệt
trong cấu âm sẽ hình thành và mang tính ổn định cao. Đây chính là cơ sở khoa
học cho việc xây dựng các hệ thống nhận dạng người nói.
1.2.2. Phân loại bài toán nhận dạng người nói
1.2.2.1. Phân loại dựa vào chức năng của bài toán
Phân loại dựa vào chức năng của bài toán người ta chia bài toán nhận
dạng người nói thành hai bài toán: bài toán định danh người nói (speaker
identification) và bài toán xác thực người nói (speaker verification).
- Định danh người nói (speaker identification): kiểm tra xem người
cần kiểm tra là ai, hay là không có trong hệ thống.

Hình 1.1. Bài toán định danh người nói
- Xác thực người nói (speaker verification): xác minh liệu người đang

7

nói có đúng là người mà máy tính đã được biết trước hay không
(tính xác thật của giọng nói)? Đây là dạng bài toán được nghiên cứu
trong luận văn này.

Hình 1.2. Bài toán xác thực người nói
1.2.2.2. Phân loại dựa theo phương pháp
Phân loại dựa theo phương pháp thì người ta chia bài toán nhận dạng
người nói thành hai bài toán: bài toán nhận dạng người nói phụ thuộc vào từ
khóa (text dependent speaker recognition) và bài toán nhận dạng người nói
không phụ thuộc vào từ khóa (text independent speaker recognition):
- Nhận dạng người nói phụ thuộc vào từ khoá (text dependent speaker
recognition): nhận dạng người nói dựa trên sự kết hợp giữa đặc
trưng người nói với nội dung nói.
 Là kỹ thuật nhận dạng người nói có khả năng ứng dụng rất lớn,
ví dụ như đăng nhập vào các hệ thống an ninh bằng mật khẩu
tiếng nói hay truy cập bằng tiếng nói vào hệ thống giao dịch
ngân hàng trên mạng điện thoại thông qua mã số cá nhân (số
PIN), …
 Do tận dụng được các thông tin biết trước là nội dung tiếng nói
khi huấn luyện cũng như khi nhận dạng nên độ chính xác nhận
dạng tăng lên trong khi thời gian huấn luyện và nhận dạng lại
giảm nhiều so với nhận dạng người nói không phụ thuộc từ khoá
(text independent speaker recognition).

8

 Tuy nhiên hạn chế của kỹ thuật này là không có sự thay đổi trong
mật khẩu nên hệ thống dễ bị tấn công bởi những kẻ giả mạo bằng
cách ghi âm lại mật khẩu và tấn công hệ thống. Để chống lại điều
này, nhiều hệ thống đã thay đổi cụm từ mật khẩu. Chẳng hạn
trong trường hợp cụm từ là các số, hệ thống sẽ sinh một cụm từ
mật khẩu là một dãy số ngẫu nhiên nào đó và thông báo nó mỗi
khi có người đăng nhập hệ thống, các nghiên cứu chỉ ra rằng việc
sử dụng các dãy số và một số các từ cố định trong cụm từ mật
khẩu khá hiệu quả khi chống lại sự giả mạo theo kiểu ghi âm từ
khoá. Trong pha huấn luyện, những người đăng ký sẽ nói các số
và một số các từ cố định. Khi nhận dạng hệ thống sẽ thay đổi
cụm từ mỗi lần đăng nhập trong tập các từ được huấn luyện. Mặc
dù nhận dạng này vẫn phụ thuộc từ khoá song nó làm cho sự giả
mạo trở nên khó khăn hơn rất nhiều vì không biết được chính xác
cụm từ mật khẩu tự sinh của hệ thống. Các hệ thống như vậy
được gọi là các hệ nhận dạng người nói phụ thuộc từ khoá thay
đổi.
- Nhận dạng người nói không phụ thuộc vào từ khoá(text independent
speaker recognition): nhận dạng người nói chỉ dựa vào đặc trưng
của người nói.
 Hệ thống này lý tưởng hơn hệ thống nhận dạng người nói phụ
thuộc vào từ khoá, ứng dụng rộng rãi hơn, đáp ứng được hầu hết
các yêu cầu đề ra. Nhưng không may là hệ thống lý tưởng như
vậy gặp một số vấn đề, nhất là độ chính xác của hệ thống.
 Trong thực tế cùng một người cũng có giọng nói khác nhau ở
những thời điểm khác nhau. Điều này ảnh hưởng rất lớn đến việc
nhận dạng, nó làm cho độ chính xác của hệ thống nhận dạng

9

giảm xuống nhiều lần. Do đó để khắc phục nhược điểm này, hệ
thống nhận dạng không phụ thuộc từ khóa cần được thiết kế
phức tạp hơn, đòi hỏi lượng dữ liệu huấn luyện lớn hơn nhiều
lần. Nhưng điều này cũng không cải thiện được bao nhiêu chất
lượng nhận dạng. Do đó trong thực tế có một cách giải quyết là
bán độc lập người nói. Phương pháp này thực hiện bằng cách thu
mẫu một số lượng lớn các giọng nói khác biệt nhau. Khi sử dụng,
hệ thống sẽ được điều chỉnh cho phù hợp với giọng nói của
người dùng, bằng cách nó học thêm một vài câu có chứa các từ
cần thiết (người dùng trước khi sử dụng hệ thống cần phải qua
một quá trình huấn luyện hệ thống).
 Cùng với dạng bài toán xác thực người nói, đây cũng là dạng bài
toán được nghiên cứu trong luận văn này. Luận văn sẽ tập trung
nghiên cứu bài toán xác thực người nói không phụ thuộc vào từ
khóa.
1.2.3. Các ứng dụng của bài toán nhận dạng người nói
Các ứng dụng thực tế của nhận dạng người nói:
- Chứng thực giao dịch:
 Ngăn cản sự gian lận trong thu thuế.
 Mua thẻ điện thoại.
 Môi giới điện thoại.

10

Hình 1.3. Chứng thực giao dịch
- Điều khiển truy cập:
 Thiết bị vật lý.
 Máy tính và hệ thống mạng dữ liệu.

Hình 1.4. Điều khiển truy nhập hệ thống
- Nhận dạng tội phạm:
 Kiểm soát sử dụng điện thoại trong nhà tù khi người nhà phạm
nhân tới thăm.
 Tìm ra tội phạm thông qua việc so khớp giọng nói.

Hình 1.5. Nhận dạng tội phạm
- Hệ thống bán hàng gián tiếp (lấy lại thông tin khách hàng):
 Lấy được thông tin khách hàng gọi tới trung tâm.
 Lấy mẫu giọng nói của khách hàng qua điện thoại.

11

Hình 1.6. Tư vấn bán hàng
1.3. Xác thực người nói không phụ thuộc vào từ khóa
1.3.1. Giới thiệu chung
Bài toán xác thực người nói không phụ thuộc vào từ khóa là sự kết hợp
của hai bài toán: xác thực người nói và bài toán nhận dạng người nói không
phụ thuộc vào từ khóa. Mục đích của bài toán xác thực người nói không phụ
thuộc vào từ khóa là xác minh liệu người đang nói có đúng là người mà máy
tính đã được biết trước hay không (tính xác thật của giọng nói) nhưng không
phụ thuộc vào nội dung người nói.
Bài toán xác thực người nói không phụ thuộc vào từ khóa có nhiều ứng
dụng: chứng thực giao dịch bằng giọng nói, điều khiển đăng nhập bằng giọng
nói... Đây là nội dung nghiên cứu chính của luận văn này.
1.3.2. Các thành phần của một hệ thống xác thực người nói không
phụ vào từ khóa

Hình 1.7. Các thành phần của một hệ thống xác thực người nói
không phụ thuộc vào từ khóa

12

Hình 1.7 cho ta thấy các hệ thống xác thực người nói không phụ thuộc
vào từ khóa gồm các thành phần sau:
- Trích chọn đặc trưng: biến đổi từ giọng nói thô thành những đặc
trưng của người nói.
- Xây dựng mô hình người nói: huấn luyện người nói dựa vào một
phương pháp cụ thể.
- So khớp mẫu: tính toán độ hợp giữa đặc trưng của tiếng nói đưa vào
với mô hình đã huấn luyện.
- Tạo quyết định: xác định ngưỡng và đưa ra quyết định dựa vào việc
so khớp ở trên.
1.3.3. Các giai đoạn xử lý của một hệ thống xác thực người nói
không phụ thuộc vào từ khóa

Hình 1.8. Các giai đoạn của một hệ thống xác thực người nói không
phụ thuộc vào từ khóa
Hình 1.8 cho ta thấy quá trình xử lý của các hệ thống xác thực người nói
không phụ thuộc vào từ khóa gồm hai giai đoạn:
- Giai đoạn huấn luyện:
 Ghi âm giọng nói những người mà hệ thống cần huấn luyện.

13

 Trích chọn đặc trưng giọng nói của mỗi người nói.
 Huấn luyện mẫu.
 Lưu lại các đặc trưng của mỗi người nói sau khi đã được huấn
luyện với một ID kèm theo.
- Giai đoạn kiểm thử:
 Người cần kiểm tra cung cấp một ID.
 Ghi giọng nói người cần kiểm tra.
 Trích chọn đặc trưng giọng nói của người vừa cung cấp.
 Yêu cầu các đặc trưng tương ứng với ID đã được lưu trữ trong
giai đoạn huấn luyện.
 Đưa ra quyết định xác thực: Trong bước này thì hệ thống sẽ so
khớp các đặc trưng người nói với các mẫu có trong hệ thống và
đưa ra quyết định chấp nhận hay từ chối cho truy cập vào hệ
thống.

14

Chương 2
TRÍCH CHỌN ĐẶC TRƯNG NGƯỜI NÓI
Hình 1.8 cho ta thấy cả trong giai đoạn huấn luyện và giai đoạn kiểm thử
của một hệ thống xác thực người nói không phụ thuộc vào từ khóa đều phải
trải qua bước trích chọn đặc trưng người nói, đây sẽ là nội dung nghiên của
chương hai.
Các nội dung chính nghiên cứu trong chương hai:
- Đặc tính vật lý, âm học của tiếng nói: nghiên cứu các đặc tính này
sẽ là cơ sở cho việc xác định các đặc trưng người nói.
- Tiền xử lý tín hiệu tiếng nói: tín hiệu tiếng nói sau khi được thu và
trước khi trích chọn đặc trưng, phải tiến hành tiền xử lý tín hiệu
tiếng nói. Mục đích của việc tiền xử lý tín hiệu tiếng nói để loại bỏ
nhiễu, chuẩn hóa biên độ, làm rõ tín hiệu…
- Trích chọn đặc trưng người nói: mục đích của việc trích chọn đặc
trưng người nói, phân loại các đặc trưng người nói, trình bày chi tiết
các bước trích chọn đặc trưng MFCC- đặc trưng được lựa chọn sử
dụng chủ yếu cho các hệ thống nhận dạng người nói.
2.1. Đặc điểm vật lý, âm học của tiếng nói
2.1.1. Đặc điểm vật lý của tiếng nói
Bản chất âm thanh tiếng nói là sóng cơ học nên nó có các tính chất
cơ bản của sóng cơ học.

15

Hình 2.1. Sơ đồ quá trình sản xuất và thu nhận tiếng nói của con người
Hình 2.1 đưa ra một sơ đồ khối của quá trình sản xuất tiếng nói và nhận
thức tiếng nói của con người. Quá trình sản xuất tiếng nói bắt đầu khi người
nói tạo ra một thông điệp (trong ý nghĩ của anh ta) và muốn chuyển tải nó
cho người nghe thông qua tiếng nói. Tổ chức thần kinh tương ứng chịu
trách nhiệm tạo ra thông điệp dưới dạng văn bản biểu diễn các từ của thông
điệp. Bước tiếp theo của quá trình là chuyển đổi thông điệp sang dạng một
mã ngôn ngữ. Điều này gần như tương đương với việc chuyển đổi các
biểu diễn văn bản của thông điệp thành một chuỗi các âm vị tương ứng
với những âm thanh tạo nên các từ; đồng thời với việc ghi nhận âm điệu
nhằm xác định sự kéo dài, sự nhấn mạnh, và trọng âm cao thấp của âm
thanh. Khi một mã ngôn ngữ đã được lựa chọn, người nói phải thực hiện
một loạt các lệnh thần kinh vận động để làm cho các dây thanh dao động,
đồng thời cấu trúc hình dạng ống dẫn âm nhằm phát ra một chuỗi các âm
thanh. Như vậy, đầu ra cuối cùng của quá trình là một tín hiệu âm học. Các
lệnh thần kinh vận động phải điều khiển một cách đồng bộ tất cả các khâu
vận động như sự hoạt động của môi, hàm, lưỡi...
Khi tín hiệu tiếng nói đã được sinh ra và được truyền cho người nghe,
quá trình thu nhận tiếng nói bắt đầu. Đầu tiên, người nghe xử lý tín hiệu âm

16

thanh thông qua màng nền của tai trong; nó có khả năng cung cấp một phân
tích phổ cho tín hiệu tới. Một quá trình xử lý thần kinh chuyển đổi tín hiệu
phổ tại đầu ra của màng nền thành các tín hiệu hoạt động đối với thần kinh
thính giác; có thể coi đây như một quá trình lấy ra các đặc trưng. Bằng một
phương pháp đặc biệt (chưa được hiểu một cách thấu đáo), các tín hiệu hoạt
động đi qua hệ thần kinh thính giác được chuyển đổi thành một mã ngôn ngữ
cho những trung tâm xử lý cao cấp hơn bên trong bộ não; và cuối cùng là việc
hiểu được nội dung thông điệp.
Qua đó ta thấy tín hiệu âm thanh tiếng nói là tín hiệu ngẫu nhiên
không dừng, tuy nhiên những đặc tính của nó là tương đối ổn định khi xét
trong một khoảng thời gian ngắn (vài chục mili giây). Trong khoảng thời
gian đó tín hiệu gần như tuần hoàn. Âm thanh tiếng nói con người có các đặc
tính vật lý sau đây:
2.1.1.1. Độ cao (Pitch)
Độ cao hay độ trầm bổng của âm thanh chính là tần số của sóng cơ
học của âm thanh. Âm thanh nào cũng phát ra ở một độ cao nhất định. Độ
cao của âm thanh phụ thuộc vào tần số dao động. Đối với tiếng nói, tần số
dao động của dây thanh quy định độ cao giọng nói của con người. Mỗi
người có một độ cao giọng nói khác nhau, độ cao của nữ giới thường cao
hơn nam giới và độ cao của trẻ em thường cao hơn của người lớn.
2.1.1.2. Cường độ
Cường độ chính là độ to nhỏ của âm thanh. Cường độ càng lớn thì
âm thanh có thể truyền đi được càng xa. Xét trên phương diện sóng cơ học
thì cường độ chính là biên độ của dao động sóng âm, nó quyết định năng
lượng của sóng âm..
Trong tiếng nói cường độ của nguyên âm phát ra thường lớn hơn của
phụ âm. Do vậy chúng ta thường dễ phát hiện ra nguyên âm hơn là phụ âm.

17

Đối với tai người, giá trị tuyệt đối của cường độ âm I thường không
quan trọng mà người ta quan tâm giá trị tỷ số của I so với một giá trị chuẩn
I0 nào đó, đó chính là mức cường độ âm và được tính như sau:
L(B) = lg(I/I0 )

(2.1)

2.1.1.3. Trường độ
Trường độ hay độ dài của âm phụ thuộc vào sự chấn động lâu hay
nhanh của các phần tử không khí. Cùng một âm nhưng trong các từ khác
nhau thì độ dài khác nhau.
2.1.1.4. Âm sắc
Âm sắc là bản sắc, sắc thái riêng của âm. Cùng một nội dung, độ
cao nhưng khi nói mỗi người có một âm vị khác nhau.
2.1.2. Đặc điểm âm học của tiếng nói
Tín hiệu tiếng nói là tín hiệu tương tự, biểu diễn cho thông tin về
mặt ngôn ngữ và được thể hiện bằng các âm vị khác nhau. Số lượng các
âm vị tuỳ thuộc vào từng ngôn ngữ, vào khoảng 20 đến 30 và không vượt
quá 50. Đối với từng loại âm vị nó có đặc tính âm thanh khác nhau. Các
âm vị được chia thành
Tổ hợp các âm vị tạo nên âm tiết. Âm tiết đóng vai trò một từ chọn
vẹn mang ngữ nghĩa.
2.1.2.1. Nguyên âm
Các nguyên âm có thể được coi là lớp thú vị nhất trong các lớp âm
thanh tiếng nói, đặc biệt đối với Tiếng Anh. Tầm quan trọng của chúng
trong lĩnh vực nhận dạng tiếng nói là rất lớn; hầu hết các hệ thống nhận
dạng dựa trên cơ sở nhận dạng nguyên âm đều có tính năng tốt.
Trong khi nói, nguyên âm được tạo ra bằng cách kích thích một ống
dẫn âm thanh có hình dạng cố định bằng các xung áp lực khí giả tuần
hoàn do sự rung động của dây thanh sinh ra. Hình dạng của từng vùng cục

18

bộ dọc theo ống dẫn âm xác định các tần số cộng hưởng (các formants) và
âm thanh sẽ được tạo ra. Việc tạo ra nguyên âm cụ thể nào là được quyết
định bởi vị trí của lưỡi, hàm, môi... Các nguyên âm nói chung là có thời
gian tồn tại dài (so với các phụ âm) và dễ xác định phổ. Chính vì thế mà sẽ
dễ dàng cho việc nhận dạng, cả đối với con người và máy móc.
Có một số cách biểu diễn đặc trưng nguyên âm, bao gồm cấu hình
khoang miệng, các đồ thị dạng sóng tín hiệu và các đồ thị phổ, ở đây chúng
ta chỉ quan tâm tới dạng biểu diễn đồ thị phổ. Về mặt lý thuyết, các cực
đại của biểu diễn phổ của tín hiệu nguyên âm chính là các tần số cộng
hưởng (formants) tạo nên nguyên âm. Giá trị của các các formant đầu tiên
(2 hoặc 3 formants đầu tiên) là yếu tố quyết định cho phép chúng ta nhận
dạng được nguyên âm. Do nhiều yếu tố biến thiên như sự khác nhau về
giới tính, về độ tuổi, tình trạng tinh thần của người nói và nhiều yếu tố
ngoại cảnh khác, đối với một nguyên âm xác định các giá trị formant cũng
có một sự biến thiên nhất định. Tuy nhiên sự khác biệt về giá trị các
formants giữa các nguyên âm khác nhau lớn hơn nhiều; và trong không gian
formant chúng ta có thể xác định một cách tương đối các vùng riêng biệt
cho từng nguyên âm. Hình 2.2 minh họa một đồ thị kinh điển của các
giá trị formant đầu tiên và

thứ hai của 10 nguyên âm cùng với sự phân

vùng cho các nguyên âm. ở đây chúng ta cũng thấy có những sự nhập nhằng
trong phát âm thể hiện ở một số chỗ chồng chéo lên nhau giữa các vùng.

19

Hình 2.2. Đồ thị theo các formant F1, F2 cho mười nguyên âm được thực
hiện với nhiều đối tượng người nói khác nhau
2.1.2.2. Phụ âm
Phụ âm được tạo ra bởi các dòng khí hỗn loạn được phát ra gần
những điểm co thắt của đường dẫn âm thanh do cách phát âm tạo thành.
Dòng không khí tại chỗ đóng của vòm miệng tạo ra phụ âm bật. Những
phụ ân xát được tạo ra từ chỗ co thắt lớn nhất và các âm tắc xát được tạo ra
từ khoảng giữa. Phụ âm có đặc tính hữu thanh và vô thanh tuỳ thuộc vào
dây thanh có dao động để trở thành cộng hưởng hay không. Đặc tính của
phụ âm tuỳ thuộc vào tính chu kỳ của dạng sóng, phổ tần số, thời gian tồn
tại và sự chuyển dẫn âm.
2.1.2.3. Tỷ suất thời gian
Trong khi nói chuyện, các khoảng nói chuyện và khoảng nghỉ xen
kẽ nhau. Phần trăm thời gian nói trên tổng thời gian nói và nghỉ được gọi là
tỷ suất thời gian. Giá trị này biến đổi tuỳ thuộc vào tốc độ nói và từ đó ta
có thể phân loại thành nói nhanh, nói chậm hay trung bình.
2.1.2.4. Hàm năng lượng thời gian ngắn
Hàm năng lượng thời gian ngắn được tính bằng cách chia tín hiệu
tiếng nói thành nhiều khung có chứa N mẫu và tính diện tích trung bình của

20

tổng các mẫu tín hiệu trong mỗi khung. Các khung này được đưa qua một
cửa sổ có dạng như sau:
W (n) 0  n  N
0 else

W ( n)  

(2.2)

Thông thường có ba dạng cửa sổ được sử dụng, đó là cửa sổ chữ nhật,
cửa sổ Hanning và Hamming.
Hàm năng lượng thời gian ngắn được tính như sau:
N 1

E m   x(n  m) * W (n)

2

(2.3)

n 0

Hàm năng lượng thời gian ngắn cho âm hữu thanh thường lớn hơn âm
vô thanh.
2.1.2.5. Tần số vượt điểm không
Tần xuất vượt qua điểm không là số lần biên độ tín hiệu tiếng nói
vượt qua giá trị không trong một khoảng thời gian cho trước. Thông
thường giá trị này đối với âm vô thanh lớn hơn âm hữu thanh do đặc tính
ngẫu nhiên của âm vô thanh. Do đó tần suất vượt qua điểm không là tham
số quan trọng để phân loại âm vô thanh và âm hữu thanh.
2.1.2.6. Phát hiện điểm cuối
Trong xử lý tín hiệu tiếng nói, việc xác định khi nào bắt đầu và kết
thúc quá trình nói là một công việc hết sức quan trọng. Trong một môi
trường có nhiều tiếng ồn và môi trường có nhiều người nói thì việc phát
hiện điểm cuối là hết sức khó khăn. Đã có một số phương pháp để phát
hiện điểm cuối của tiếng nói.
2.1.2.7. Tần số cơ bản
Dạng sóng của tiếng nói gồm hai phần: phần gần giống nhiễu (trong đó
biên độ biến đổi ngẫu nhiên) và phần có tính chu kỳ (trong đó tín hiệu lặp lại
gần như tuần hoàn). Phần tín hiệu có tính chu kỳ chứa các thành phần tần số

21

có dạng điều hoà. Tần số thấp nhất chính là tần số cơ bản và chính là tần số
dao động của dây thanh.
Đối với những người nói khác nhau thì tần số cơ bản cũng khác nhau
và tần số cơ bản của trẻ em thường cao hơn của người lớn và của nữ giới
thì cao hơn của nam giới.
Bảng 2.1.

Một số giá trị của tần số cơ bản ứng với giới tính và tuổi
Giá trị tần số cơ bản
Người nói
80 - 200 Hz

Nam giới

150 – 450 Hz

Phụ nữ

200 – 600 Hz

Trẻ em

Đối với hai âm có cùng cường độ, cùng độ cao sẽ được phân biệt bởi
tính tuần hoàn. Một âm hữu thanh có tín hiệu gần như tuần hoàn, khi được
phân tích phổ sẽ xuất hiện một vạch tại vùng tần số rất thấp. Vạch này đặc
trưng cho tính tuần hoàn cơ bản hay đó chính là tần số cơ bản của âm. trong
khi giao tiếp bình thường tần số cơ bản thay đổi liên tục tạo nên ngữ điệu
cho tiếng nói.
2.1.2.8. Formant
Trong phổ tần số của tín hiệu tiếng nói, mỗi đỉnh có biên dộ cao nhất
xét trong một khoảng nào đó (còn được gọi là cực trị địa phương) xác
định một formant. Ngoài tần số, formant còn được xác định bởi biên độ và
dải thông của chúng. Về mặt vật lý, các tần số formant tương ứng với các
tần số cộng hưởng của tuyến âm. trong xử lý tiếng nói, để mô phỏng lại
tuyến âm người ta phải xác định được tham số formant đối với từng loại âm
vị. Do đó việc đánh giá và ước tính formant là rất quan trọng.
Tần số formant biến đổi trong một khoảng rộng phụ thuộc vào giới
tính của người nói và phụ thuộc vào âm vị tương ứng với formant đó.
Đồng thời formant còn phụ thuộc vào âm vị trước và sau đó. Về cấu trúc

22

tự nhiên, tần số formant có liên hệ chặt chẽ với hình dạng và kích thước
của tuyến âm , thông thường trong phổ tần số của tín hiệu có khoảng 6
formant, nhưng chỉ có 3 formant đầu tiên là ảnh hưởng quan trọng đến đặc
tính âm vị. Các formant có giá trị trong khoảng từ vài trăm đến vài nghìn Hz.
Tần số formant đặc trưng cho các nguyên âm biến đổi tuỳ thuộc vào
người nói trong điều kiện phát âm nhất định. Mặc dù phạm vi của các tần
số formant tương ứng với mỗi nguyên âm có thể trùng lên nhau, nhưng vị trí
giữa formant là không đổi và sự xê dịch các formant là song song.
Ngoài formant, các âm mũi còn có các tần số bị suy giảm gọi là
phản formant (anti-formant). Phản formant được tạo nên khi luồng khí đi
qua khoang mũi. Các formant tương ứng với các điểm cực của hàm truyền
đạt vì tại lân cận các điểm cực trị giá trị của hàm truyền đạt là rất lớn,
tương tự các phản formant tương ứng với các điểm không của hàm truyền
đạt.
2.2. Tiền xử lý tín hiệu tiếng nói.
2.2.1. Chuyển từ tín hiệu tương tự sang tín hiệu số
Tín hiệu tiếng nói là tín hiệu tương tự, do đó để lưu trữ và xử lý tín hiệu
tiếng nói trong máy tính thì tín hiệu tiếng nói phải được chuyển từ tín hiệu
tương tự sang tín hiệu số. Quá trình số hoá tín hiệu tiếng nói bao 3 quá trình:
- Quá trình lấy mẫu
- Quá trình lượng tử hóa
- Mã hóa
2.2.1.1. Lấy mẫu tín hiệu
Lấy mẫu là quá trình chuyển từ một tín hiệu tương tự liên tục theo thời
gian sang tín hiệu rời rạc theo thời gian bằng cách "lấy mẫu" tức là lấy giá trị
của tín hiệu tại những thời điểm cho trước.
Trong nhiều phương pháp được sử dụng để lấy mẫu tín hiệu tương tự,

23

kiểu lấy mẫu hay được sử dụng nhất trong thực tế là lấy mẫu tuần hoàn. Việc
lấy mẫu này được biểu diễn bởi quan hệ:
x(n)=xa(nT)

(2.4)

Trong đó x(n) là tín hiệu rời rạc theo thời gian nhận được bằng cách lấy
mẫu tín hiệu tương tự xa(t) sau mỗi khoảng thời gian T giây. Khoảng thời gian
T giữa hai lần lấy mẫu liên tiếp gọi là chu kỳ lấy mẫu và đại lượng nghịch đảo
của nó gọi là số lấy mẫu Fs=1/T.
Khi lấy mẫu tín hiệu tương tự với tần số Fs cần đảm bảo việc khôi phục
tín hiệu đó từ tín hiệu rời rạc tương ứng phải thực hiện được. Shanon đã đưa
ra một định lý mà theo đó ta có thể xác định tần số lấy mẫu đảm bảo khả năng
phục hồi tín hiệu với tần số Fs

2 Fmax với Fmax là tần số lớn nhất của tín hiệu

tương tự.

Hình 2.3. Ví dụ về lấy mẫu tín hiệu trên miền thời gian
Phổ tín hiệu tiếng nói trải rộng trong 12kHz, do đó theo định lý của
Shanon thì tần số lấy mẫu tối thiểu là 24kHz.
2.2.1.2. Lượng tử hoá tín hiệu
Lượng tử hóa là quá trình chuyển từ một tín hiệu rời rạc về thời gian
nhưng liên tục về biên độ sang tín hiệu rời rạc về biên độ. Mỗi giá trị của
mẫu được biểu diễn lại bằng một giá trị được lựa chọn từ một tập hữu hạn các

24

giá trị thích hợp.
Mục tiêu của lượng tử hóa hoặc là để truyền tải hoặc là để xử lý hiệu
quả. Trong trường hợp thứ nhất mỗi mẫu tín hiệu được lượng tử hoá, mã hoá
rồi truyền đi. Bên thu nhận tín hiệu giải mã tín hiệu thu được tín hiệu tương
tự. Tính thống kê của tín hiệu được bảo toàn sẽ ảnh hưởng quan trọng đến
thuật toán lượng tử hoá. Trong trường hợp xử lý tín hiệu, luật lượng tử hoá
được quy định bởi hệ thống xử lý, nó có thể được biểu diễn bằng dấu phẩy
tĩnh hoặc dấu phẩy động. Việc xử lý bằng dấu phẩy động cho phép thao tác
với tín hiệu khá mềm dẻo mặc dù chi phí tính toán cao. Việc xử lý bằng dấu
phẩy tĩnh đơn giản hơn nhiều nhưng đòi hỏi các điều kiện chặt chẽ đối với các
thuật toán xử lý.
2.2.1.3. Mã hóa tín hiệu
Có hai phương pháp mã hóa:
- Mã hoá trực tiếp tín hiệu.
Phương pháp mã hoá trực tiếp tín hiệu hay phổ tín hiệu cho phép biểu
diễn một cách trung thực nhất tín hiệu. Mã hoá trực tiếp thực chất là biểu diễn
mỗi mẫu tín hiệu hay phổ tín hiệu độc lập với các mẫu khác. Một hệ thống mã
hoá trực tiếp tín hiệu khá phổ biến hiện nay là phương pháp mã hoá xung
PCM (Pulse Code Mudulation ).
Biểu diễn số của tín hiệu có thể thực hiện trong cả miền tần số bằng cách
mã hoá biến đổi Fourier của tín hiệu. Trong miền tần số, phép mã hoá trực
tiếp ít áp dụng. Các kỹ thuật giảm bớt thông lượng được thực hiện bằng cách
giảm độ dư thừa tự nhiên của tín hiệu tiếng nói trên phổ tín hiệu. Theo
phương pháp này người ta dùng cách mã hoá băng thấp hay mã hoá thích nghi
theo biến đổi ATC.
- Mã hoá tham số tín hiệu.
Có nhiều phương pháp cho phép đánh giá các tham số của mô hình tạo

25

tiếng nói bao gồm hàm đặc trưng của tuyến âm và các đặc trưng của nguồn
âm. Tín hiệu tiếng nói được coi gần như dừng trong khoảng thời gian 20ms,
như vậy các tham số được tính toán lại sau 20ms và được thực hiện trong thời
gian thực. Người ta thấy rằng việc truyền tham số này cho phép thông lượng
giảm xuống khoảng 2500 b/s. Phương pháp mã hoá này gọi là phương pháp
mã hoá nguồn tham số tín hiệu.
Một tập hợp tham số khi truyền hay lưu trữ đặc trưng cho phổ thời gian
ngắn, có nghĩa là nó chỉ được chấp nhận trong một thời gian hạn chế. Tai
người rất nhạy cảm với phổ thời gian này, do đó có thể nói rằng tai người có
thể phân biệt được một số hữu hạn các phổ thời gian ngắn. Giả sử M=2B.
Như vậy với mỗi phổ thời gian ngắn, ta gán cho nó một giá trị biểu diễn bằng
một từ B bit và từ này sẽ được truyền đi hay lưu trữ. Bằng cách này thông
lượng có thể giảm xuống còn 1000b/s.
Tín hiệu tổng hợp bằng mã hoá theo tham số các tín hiệu tiếng nói
thường không bảo đảm chất lượng trong hệ thống điện thoại thông thường.
Giọng nói sẽ rất khó nhận ra trong trường hợp dùng phương pháp này. Do đó
kỹ thuật mã hóa này chỉ ứng dụng trong diện thoại di động và quân sự…
2.2.2. Chuẩn hóa biên độ
Dữ liệu tiếng nói khi thu được có biên độ rất biến động. Ngay cả khi
người sử dụng nói với một âm lượng rất chuẩn không hề thay đổi thì biên độ
của dữ liệu thu được cũng vẫn có thể không ổn định. Điều này dễ xảy ra khi
người nói hơi xoay người đi, nhích micro đến gần miệng hơn hoặc kéo ra xa
hơn chỉ vài cm. Sự biến động này ảnh hưởng đến kết quả nhận dạng.
Việc chuẩn hóa là cần nhưng không nhất thiết phải thật tốt, chỉ cần biên
độ đừng quá nhỏ làm mất mát đặc trưng. Như vậy, ta có thể thực hiện đơn
giản bằng cách nhân mỗi điểm với một hệ số k thích hợp. Ví dụ:

26

k

(32767 / 2)  10
max(| s (n) |)

(2.5)

Khi xử lý tín hiệu tiếng nói ta phải rời rạc hóa nó theo thời gian, sử dụng
biến đổi FFT để ước lượng các thành phần tần số của tín hiệu rời rạc, tách lọc
các thành phần cần thiết trước khi nhận dạng.
2.2.3. Biến đổi Fourier
2.2.3.1. Biến đổi Fourier của tín hiệu liên tục
Cho f(x) là một hàm liên tục trong không gian một chiều. Cặp biến đổi
Fourier của f(x) được định nghĩa:
- Biến đổi thuận:

F (u ) 

 f ( x )e

 j 2xu

dx

(2.6)

du

(2.7)



- Biến đổi ngược:

f ( x) 

 F (u)e

j 2xu



2.2.3.2. Biến đổi Fourier rời rạc - DFT
Cho x(n) là một dãy gồm N phần tử (n = 0..N-1). Cặp biến đổi Fourier
rời rạc - DFT của x(n) được định nghĩa:
- Biến đổi thuận:
N 1

X (k )   x(n)e

 j 2kn
N

(2.8)

n 0

- Biến đổi ngược:
N 1

x ( n )   X ( k )e
k 0

j 2kn
N

(2.9)

2.2.3.3. Biến đổi nhanh Fourier – FFT
Tính toán biến đổi Fourier (DFT) rời rạc yêu cầu N2 phép nhân phức cho
một tập dữ liệu có N giá trị.
Năm 1942 người ta nhận thấy rằng DFT với kích thước N có thể biểu

27

diễn dưới dạng tổng của hai DFT kích thước N/2, ý tưởng này có thể áp dụng
đệ qui với tập dữ liệu đến khi biến đổi với hai điểm. Kỹ thuật này được gọi là
biến đổi nhanh Fourier (FFT). Bảng 2.2 mô tả ước lượng tính toán và thời
gian yêu cầu để thực hiện trực tiếp DFT và FFT một chiều với giả thiết rằng
một phép nhân phức cần một microsecond.

Bảng 2.2. Bảng ước lượng tính DFT và FFT một chiều
Kích thước dữ liệu

Số phép nhân

Thời gian tính

Số phép nhân

Thời gian tính

phức-DFT

DFT

phức- FFT

FFT

1024

1E6

1 sec

10,240

0.01 sec

8192

67E6

67 sec

106,496

0.1 sec

65536

4E9

71 min

1,048,576

1.0 sec

1048576

1E12

305 hr

20.971.520

20.9 sec

2.2.4. Lọc nhiễu
Nhiễu đối với hệ thống là loại âm thanh không phải tiếng nói sinh ra
trong môi trường xung quanh ta. Ngay cả khi bộ phát âm con người cũng sinh
ra nhiễu, chẳng hạn như tiếng thở, tiếng bật lưỡi.. Không dễ gì có thể lọc được
mọi thứ nhiễu, ta chỉ tìm cách tối thiểu hóa chúng để nâng cao chất lượng của
hệ thống nhận dạng.
Hiện tại việc lọc nhiễu tín hiệu tiếng nói thường được thực hiện một cách
kinh điển là dùng phép biến đổi Fourier với thuật toán FFT. Dùng biến đổi
Fourier thuận xác định được các tần số tham gia và loại các tần số không
thuộc phạm vi tiếng nói bằng cách cho các hệ số giá trị zero sau đó biến đổi
ngược lại.
2.2.5. Làm rõ tín hiệu
Nhằm làm nổi bật đặc trưng phổ của tín hiệu. Thông thường bộ làm rõ
tín hiệu là bộ lọc thông cao với hàm hệ thống:

28

Trong đó apre

Hpre(z)=1+aprez-1
(2.10)
là hệ số nhấn mạnh, thường có giá trị là 0.97. Bộ lọc có tác

dụng tăng tín hiệu tại tần số cao (trên 1KHz) với hai lý do chình:
- Giọng nói có sự suy giảm khoảng 20dB/decade khi lên tần số cao do
đặc điểm sinh lý của hệ thống phát âm của con người. Bước này sẽ
tăng cường tín hiệu lên một giá trị gần 20dB/decade để khắc phục sự
suy giảm này.
- Hệ thống thính giác của con người nhạy hơn với vùng tần số cao,
bước xử lý này nhằm nhấn mạnh vùng tần số cao.
2.3. Trích chọn đặc trưng người nói.
2.3.1. Mục đích của trích chọn đặc trưng

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

29

đượ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.
- Ổn định đối với mỗi người nhưng phải khác nhau từ người này sang
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.

30

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 mô tả các bước tính đặc trưng MFCC

31

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.

32

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à:
M 

2S
1
N

(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

33

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:
w(n)  0.54  0.46 cos(

2n
)
N 1

0  n  N 1

(2.12)

Nó sẽ được áp dụng bởi:
x(n)  xt (n) * w(n)

(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:
N 1

X ( k )   x ( n )e

 i 2kn
N

(2.14)

n 0

Để 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.

34

Hình 2.8. Độn 0 vào khung tiếng nói

Hình 2.9. Biến đổi FFT cơ số 4 của khung tiếng nói đã được độn 0

35

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:
N 1

F (i )   hi (k ) | X (k ) |

i  1..M

(2.15)

k 0

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).

36

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à:
M
i 2n(k  1)
c(n)   log( F (k )) cos(
)
2M
k 1

n  1.. p

(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.

37

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.

38

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.

39

3.1. Phân loại các mô hình

Hình 3.1. Các thành phần trong một hệ thống xác thực người nói
Sau bước trích chọn đặc trưng mỗi người nói sẽ cung cấp ta tập các
vectơ đặc trưng, tập các vectơ thường là rất lớn. Trong giai đoạn huấn luyện
ta cần tìm ra mô hình phân lớp người nói. Thực chất của quá trình này là tìm
một cách mô tả tập các vectơ đặc trưng trong cơ sở dữ liệu nhằm giảm bớt
không gian lưu trữ nhưng vẫn phải mô tả tốt đặc trưng của người nói. Hiện
nay tồn tại hai loại mô hình phân lớp người nói:
3.1.1. Mô hình mẫu (Template Modeling)
Đây được xem là các mô hình đơn giản. Nó gồm hai mô hình chính:
- Căn chỉnh thời gian động (Dynamic Time Warping): Mô hình này
được áp dụng cho các bài toán nhận dạng người nói phụ thuộc từ
khóa.
- Lượng tử hóa vector (Vector Quantization): đây là mô hình thường
được ứng dụng cho các bài toán nhận dạng người nói không phụ
thuộc vào từ khóa.
3.1.2. Mô hình thống kê (Statistical Modeling)
Các mô hình thống kê:
- Mô hình hỗn hợp Gauss (Gaussian Mixture Model): đây là mô hình
thường được ứng dụng cho các bài toán nhận dạng người nói không
phụ thuộc vào từ khóa.

40

- Mô hình Markov ẩn (Hidden Markov Model): đây là mô hình
thường được áp dụng cho các bài toán nhận dạng người nói phụ
thuộc từ khóa.
- Mạng nơron nhân tạo (Artificial Neural Network): Mô hình này có
thể được áp dụng cho cả bài toán nhận dạng người nói phụ thuộc từ
khóa và không phụ thuộc vào từ khóa.
3.2. Mô hình lượng tử hóa vector (Vector Quantization- VQ)
3.2.1. Khái niệm phép lượng tử hóa
Lượng tử hóa vector là một bộ xấp xỉ hóa. Ý tưởng của nó giống với việc
làm tròn. Một ví dụ của lượng tử hóa vector một chiều được mô tả ở hình
dưới đây:

Hình 3.2. Ví dụ VQ một chiều
Ở hình 3.2, mỗi số nhỏ hơn -2 đều được xấp xỉ thành -3. Mọi số nằm
giữa -2 và 0 được xấp xỉ thành -1. Mọi số nằm giữa 0 và 2 được xấp xỉ thành
1. Mọi số lớn hơn 2 được xấp xỉ thành 3.
Một ví dụ của lượng tử hóa vector hai chiều được mô tả ở hình dưới đây:

41

Hình 3.3. Ví dụ VQ 2 chiều
Ở hình 3.3 mọi điểm nằm trong một phân vùng được xấp xỉ bằng một
điểm * nằm trong vùng đó.
Trong hai ví dụ trên các điểm * được gọi là codevector và tập các
codevector được gọi là codebook.
Theo định nghĩa toán học, việc lượng tử hóa vector k chiều hay VQ k
chiều bao gồm hai ánh xạ: quá trình mã hóa được thực hiện bằng hàm y, với
mỗi điểm đầu vào x=(x0, x1,.., xk-1) ta có hàm mã hóa là y(x), M là ký hiệu của
một tập các kênh; và một bộ giải mã  gán cho mỗi ký hiệu kênh v trong M
một giá trị trong bảng chữ cái. Ví dụ: M có thể là một tập 2R (hệ nhị phân)
vector R chiều.
Nếu M có M phần tử, nếu số lượng R=log2M thì được gọi là tỉ lệ số bit
cho mỗi vector trong bộ lượng tử hóa và r=R/k là tỷ lệ số bit cho một chiều,
khi đầu vào là dạng sóng đã được lấy mẫu thì đó là số bit cho một mẫu.

42

3.2.2. Độ biến dạng
Độ biến dạng d, ký hiệu d ( x, x) giữa vector đầu vào x và vector x . Cho
một giá trị của độ biến dạng, chúng ta có thể xác định chất lượng thực hiện
của hệ thống bằng độ biến dạng trung bình ED( X , X ) giữa vector đầu vào và
vector được phát: một hệ thống được đánh giá tốt nếu như giá trị trung bình
độ biến dạng nhỏ. Trên thực tế, giá trị trung bình được quan tâm là giá trị
trung bình giới hạn độ dài mẫu hoặc trung bình thời gian thực hiện, dĩ nhiên
điều này được đánh giá bằng trực giác.
k 1

d ( x, x) || x  x || 2   ( xi  xi ) 2

(3.1)

i 0

k: là số chiều của VQ
3.2.3. Tính chất
- Tính chất 1:
Với mục đích cực tiểu hóa trung bình độ biến dạng, cho một bộ giải mã
 , không có bộ mã hóa lượng tử nào tốt hơn chọn các từ mã v trong M, nó sẽ

cung cấp độ biến dạng nhỏ nhất có thể ở đầu ra, giá trị cực tiểu trên kênh v là:
d x,   y( x)  min d x,  (v)  min d ( x, y)
vM

yC

(3.2)

Bộ giải mã cho quá trình lượng tử hóa vector tốt nhất khi bộ mã hóa có
độ biến dạng nhỏ nhất:
y( x)  min v1M d x,  (v)

(3.3)
Ngược lại biết v chúng ta sẽ tìm được giá trị cực tiểu của công thức trên
- Tính chất 2:
Đối với bộ mã hóa y, không có bộ giải mã nào tốt hơn việc gán mỗi kênh
v một ceintroid chung của tất cả các vector nguồn mã hóa thành v, đó là:
 (v)  cent (v)  min 1 E (d ( X , x) | y ( X )  v)
x A

Thường là:

(3.4)

43

cent (v ) 

1
 xi
i (v) xi | y ( xi ) v

(3.5)

Ở đây i(v) là số chỉ số i sao cho y(xi)=v.
3.2.4. Thiết kế codebook theo phương pháp LBG (Linde, Buzo, and
Gray)
3.2.4.1. Vấn đề thiết kế
Tìm hiểu về cách thiết kế VQ có thể được bắt đầu như sau: cho một
vector nguồn với các thuộc tính đã biết, cho một khoảng cách (độ sai lệch), và
cho số lượng codevector, tìm một codebook (tập các dấu *) và cách phân chia
(tập các đường kẻ) codebook phải tìm là codebook có khoảng cách trung bình
bé nhất.
Chúng ta giả thiết rằng chuỗi huấn luyện gồm có M vector nguồn:
T={x1, x2,.., xM }
Chuỗi huấn luyện này thu được từ một cơ sở dữ liệu khá lớn. Ví dụ như
nếu nguồn là tín hiệu tiếng nói, khi đó chuỗi huấn luyện có thể thu được bởi
cơ sở dữ liệu là vài cuộc hội thoại khá dài được ghi âm qua điện thoại. Giả
thiết M có đầy đủ các thuộc tính thống kê của nguồn thu được trong việc huấn
luyện chuỗi. Chúng ta giả thiết rằng các vector nguồn là k chiều, ví dụ:
x m  (x m,1, x m,2 , ,, x m,k )

m  1, 2, ..., M

Cho N là số lượng codevector và biểu diễn codebook:
C  c1 , c2 ,.., c N 

Mỗi phần tử của codebook có k chiều, ví dụ:
c n  (c n,1, c n,2 , ,, c n,k )

n  1, 2, ..., N

Sn là miền mã hóa với codevector c n và chỉ rõ việc phân chia các

khoảng trống.
P  S1 , S 2 ,.., S N 

Nếu vector nguồn xm ở trong miền S n, khi đó giá trị tương đương của nó
(nghĩa là Q(xm)) sẽ là c n

44

Q( x m )  c n

xm  S n

(3.6)
Độ đo bình phương khoảng cách lỗi, độ lệch trung bình được tính bằng:
Dove

1

M

2

M

 || x
m 1

if

m

 Q( xm ) ||

(3.7)

Như vậy, vấn đề thiết kế thuật toán này có thể nói gắn gọn như sau: Cho
T và N, tìm P và C sao cho Dove là nhỏ nhất.
3.2.4.2. Tiêu chuẩn tối ưu hóa
Nếu C và P là một giải pháp của vấn đề cực tiểu hóa, khi đó nó phải thỏa
mãn hai tiêu chuẩn sau:
- Điều kiện của thuật toán người láng giềng gần nhất:

S n  x :|| x  cn || 2 || x  cn '|| 2

n'  1,2,.., N

(3.8)
Điều kiện này yêu cầu miền mã hóa S n phải bao gồm tất cả các vector,
các vector gần với c n hơn bất kỳ một codevector nào khác.
- Điều kiện của trọng tâm:
cn 

x

xm S N

m

1

n  1,2,.., N

(3.9)

xm S N

Điều kiện này cho rằng codevector c n là trung bình tất cả các vector huấn
luyện, các vector trong miển mã hóa Sn. Thêm vào đó có một điều chắc chắn
là có ít nhất một vector huấn luyện thuộc vào mỗi miền (mẫu số ở công thức
trên phải khác không)
3.2.4.3. Thiết kế thuật toán LBG
Thuật toán LBG là thuật toán đệ quy, việc quyết định dựa vào hai tiêu
chuẩn tối ưu trên. Thuật toán yêu cầu một codebook ban đầu C (o). Đây là
codebook khởi tạo, thu được qua quá trình phân tách. Trong phương thức này,
một codebook được đặt là giá trị trung bình của toàn bộ dãy huấn luyện. Các
codevetor được phân tách làm hai. Thuật toán lặp được chạy với hai vector
được khởi tạo cho codebook. Hai codebook sau được phân làm bốn và quá
trình xử lý lặp lại cho đến khi thu được số lượng codebook mong muốn.

45

Thuật toán này được tổng kết như sau:
Thiết kế thuật toán LBG:
1. Cho T và  là một số nhỏ có giá trị cố định.
2. Đặt N=1 và tính:
c1* 

1
M

M

x
m 1

(3.10)

m

Tính:
*
Dave

1
Mk

M

 || x
m 1

m

 c1* ||

(3.11)

3. Phân tách: Cho i=1, 2, …, N, khi đó:
ci(0)  (1   )ci* ,

(3.12)

cN(0) i  (1   )ci*

(3.13)

Đặt N=2N
( 0)
*
4. Lặp lại thuật toán: Đặt Dove
. Đặt chỉ số lặp i=0
 Dove
i. Cho m=1,2,..M, tìm giá trị nhỏ nhất của:

|| xm  cn(i ) || 2

(3.14)

Với n=1,2,..,N, đặt n* là chỉ số nhỏ nhất thu được. Khi đó:
Q( x m )  c n(i*)

ii.

Cho n=1,2,..,N, cập nhật lại codevector:

c

( i 1)
n

x

m
Q ( xm )  cn( i )

1

Q ( xm )  cn( i )

iii.

(3.15)

Đặt i=i+1.

(3.16)

46

iv.

Tính:
(i )
ave

D

v.
vi.

Nếu

1

Mk

2

M

|| x
m1

m

 Q( xm ) ||

(3.17)

( i 1)
(i )
Dave
 Dave
  quay lại bước (i).
( i 1)
Dave

(*)
i
Đặt Dove
. Với n=1,2,..,N, đặt:
 Dove

cn*  cn(i )

(3.18)

Với các vector cuối.
5. Lặp lại bước 3 và bước 4 cho đến khi thu được số lượng codebook
mong muốn.
3.3. Mô hình hỗn hợp Gauss
3.3.1. Bài toán ước lượng mật độ
Bài toán ước lượng mật độ có thể được phát biểu như sau: cho một tập
có N điểm trong không gian D chiều x1 ,.., x N  R D và một họ các hàm  các
hàm mật độ xác suất trên RD. Hãy tìm hàm mật độ xác suất f (x)   thích hợp
nhất để có thể sinh ra các điểm trên.
Có một cách để định nghĩa họ các hàm  là cho mỗi thành viên của nó
có dạng toán giống nhau và các thành viên được phân biệt với nhau bởi các
giá trị khác nhau của một tập các tham số. Ví dụ các hàm trong  có thể chọn
là các hàm hỗn hợp Gauss:
K

f ( x; )   p k g ( x; mk ,  k )

(3.19)

k 1

Trong đó:
g ( x; mk ,  k ) 

1
( 2  k )

D

e

1 || x  mk || 2
(
)
2
k

(3.20)

47

là một hàm Gauss D- chiều và   (1 ,.., K )  (( p1 , m1 , 1 ),..., ( p K , mK , K )) là
một vector K(D+2) chiều chứa các xác suất hỗn hợp p k, các giá trị trung bình
mk, và độ lệch chuẩn  k của K hàm Gauss trong hỗn hợp.
Các số p k phải thỏa mãn:
K

p k  0,  p k  1

(3.21)

k 1

Các hàm hỗn hợp Gauss rất phù hợp cho mô hình phân cụm các điểm:
với mỗi cụm được gán một Gauss, với giá trị trung bình là tâm của cụm và
một độ lệch chuẩn để đo độ trải rộng của cụm. Chú ý rằng đám mây các điểm
có thể được tạo ra bằng cách lặp đi lặp lại N lần thủ tục sau cho mỗi điểm xn:
- Vẽ ngẫu nhiên một số nguyên giữa 1 và K với xác suất p k. Điều này
để lựa để rút ra điểm xn.
- Vẽ ngẫu nhiên một vector thực ngẫu nhiên D chiều xn  R D từ hàm
mật độ Gauss thứ k: g ( x; mk , k )
Bởi vì các hàm hỗn hợp Gauss là tham số, nên bài toán ước lượng mật
độ có thể định nghĩa chính xác hơn là tìm vector tham số  mà từ đó các điểm
được vẽ thích hợp nhất.
Chúng ta mong muốn có một hàm ( X ; ) để đo độ thích hợp của mô
hình được đặc trưng bởi  với tập điểm X. Với mô hình hỗn hợp Gauss ta có:
N

K

( X ; )   p k g ( x n ; mk ,  k )

(3.22)

n 1 k 1

Nói tóm lại bài toán ước lượng mật độ có thể được định nghĩa chính xác
như sau:

  arg max  ( X ; )

(3.23)

Về nguyên tắc chung, bất cứ thuật toán tìm max có thể sử dụng để tìm  ,
trong thực tiễn thuật toán EM (Expectation Maximization) được sử dụng tốt

48

để tìm lời giải cho bài toán này.
3.3.2. Thuật toán EM (Expectation Maximization)
Thuật toán EM (Reynolds and Rose, 1995) được sử dụng để tính các
tham số  trong bài toán ước mật độ.
Các bước của thuật toán EM:
- Khởi tạo các giá trị: pk(0) , mk(0) , k(0)
EM lặp lại tính toán hai bước sau đến khi hội tụ đến giá trị cực đại địa
phương của hàm ( X ; ) :
- Bước E:
p ( i ) ( k | n) 

p k(i ) g ( x n ; mk( i ) ,  k( i ) )
K

p
m 1

(i )
(k )

g ( xn ; m ,
(i )
k

(i )
k

(3.24)
)

- Bước M:
N

m

( i 1)
(k )

p

(i )

n 1
N

p

( k | n) x n

(3.25)
(i )

( k | n)

n 1

N

 (i 1) 
k

1 
n 1
D

p (i ) (k | n) || xn  mk(i 1) || 2

(3.26)

N

p

(i )

( k | n)

n 1

pk(i 1) 

1 N (i )
 p ( k | n)
N n1

(3.27)

49

3.4. Xây dựng mô hình người nói
3.4.1. Giới thiệu chung

Hình 3.4. Các thành phần của một hệ thống xác thực người nói
Trong các hệ thống nhận dạng người nói, trong giai đoạn huấn luyện sau
bước trích chọn đặc trưng thì cần chọn mô hình để phân lớp người nói.
Thực chất của bước này là: sau bước trích chọn đặc trưng, mỗi người nói
thứ i sẽ cung cấp một tập các vector MFCC Xi=(xi1, .., xik), cần tìm ra một mô
hình Mi mô tả sự phân bố của các vector trong Xi
Trong phần tiếp theo sẽ trình bày hai mô hình thường được sử dụng
trong các hệ thống nhận dạng người nói không phụ thuộc vào từ khóa: mô
hình mẫu VQ và mô hình thống kê ngẫu nhiên GMM.
3.4.2. Sử dụng mô hình VQ
Phương pháp lượng tử hóa vector VQ ứng dụng để tạo mô hình người
nói bằng cách thay tập codevector X (là các vector đặc trưng MFCC) của mỗi
người nói bằng tập vector nhỏ hơn gọi là codebook C đại diện cho người nói
đó.

50

Hình 3.5. Các ví dụ xây dựng codebook dựa trên đặc trưng MFCC
Codebook được tạo ra từ tập các codevector bằng cách áp dụng các thuật
toán phân cụm như: K-means, Split, PNN, SOM, GA, LGB … Trong luận
văn này sử dụng thuật toán LGB bởi vì tính đơn giản và hiệu quả của nó.
Một trong những vấn đề quan trong khi sử dụng VQ là kích thước của
codebook: kích thước của codebook lớn sẽ mô tả tốt tập dữ liệu gốc, nhưng
nó yêu cầu không gian lưu trữ lớn và có thể gây ra hiện tượng overfit. Kích
thước của codebook thường dùng trong bài toán xác thực người nói là:
64..512

51

3.4.3. Sử dụng GMM
Phương pháp Gauss hỗn hợp ứng dụng để tạo mô hình người nói bằng
cách thay tập X (là các vector đặc trưng MFCC) của mỗi người nói bằng phân
bố Gauss K chiều  = {1, … ,  K} trong đó mỗi  j= (Pj ,  j , j) với Pj là xác
suất rơi vào vùng j,  j là giá trị trung bình các thành phần vector đặc trưng
trong miền j và j là ma trận hiệp phương sai của các vector trong miền j.
Như vậy sau giai đoạn này mỗi người nói sẽ được đặc trưng bơi bộ tham số 
Các tham số (Pj ,  j , j) được xác định bằng thuật toán ước lượng hợp lý
cực đại EM(Expectation Maximization)

Hình 3.6. Ví dụ xây dựng mô hình người nói sử dụng GMM
3.5. So khớp
3.5.1. Giới thiệu chung

Hình 3.7. Giai đoạn so khớp mẫu

52

So khớp thuộc giai đoạn kiểm thử. Mục đích của so khớp là tìm ra mức
độ hợp giữa một tập đặc trưng mới được trích chọn trong giai đoạn kiểm thử
với một mô hình đã được tạo ra trong giai đoạn huấn luyện. Phương pháp so
khớp phụ thuộc vào bước xây dựng mô hình người nói, mỗi mô hình sẽ có
phương pháp so khớp tương ứng.
3.5.2. Phương pháp VQ
Giả sử:
X = {x1, … , xN} là các vector đặc trưng của một người nói chưa biết
C = {c1, … , cK} là codebook.
Khi đó ta định nghĩa độ méo lượng tử trung bình như sau:
1 N
D( X , C )   min j || xi  c j ||
N i 1

2

(3.28)

Nếu D(X,C) càng nhỏ thì X và C càng hợp nhau. Chú ý D(X,C)  D(C,X)

Hình 3.8. Minh họa hình ảnh so khớp mẫu của mô hình VQ

53

3.5.3. Phương pháp GMM
Giả sử:
X = {x1, … , xN} là các vector đặc trưng của một người nói chưa biết
 = { 1, … ,  K}, trong đó j = (Pj ,  j , j) là các tham số của GMM
Khi đó hàm phân bố xác suất được định nghĩa như sau:
K

p ( xi |  )   Pj N ( xi |  j )

(3.29)

j 1

Trong đó N ( xi |  j ) là hàm phân bố Gauss nhiều chiều:
N ( xi |  j )  (2 )  d / 4 |  j | 1 / 2 exp(1 / 2( xi   j ) T  j ( xi   j ))
1

(3.30)

Khi đó tính log độ hợp giữa X với mô hình  như sau:
N

P( X |  )   log p( xi |  )

(3.31)

i 1

Nếu P(X|) càng lớn thì X càng hợp với 
3.6. Tạo quyết định

Hình 3.9. Giai đoạn tạo quyết định
Hình 3.9 cho ta thấy bước tạo quyết định nằm trong giai đoạn kiểm thử
nhưng sau khi đã thực hiện bước so khớp mẫu. Mục đích của bước này trong
các hệ thống xác thực người nói là tạo ra quyết định chấp nhận hay không
chấp nhận cho người cần kiểm tra đăng nhập vào hệ thống.

54

Gọi score(X,S i) là số điểm đo mức độ hợp giữa tập vector đặc trưng X và
mô hình người nói S i. Chúng ta cũng giả thiết rằng score(X,S i) càng lớn thì X
càng hợp với S i. Trong trường hợp phân lớp dựa trên khoảng cách(ví dụ như
phương pháp VQ) thì tiến hành đổi dấu score mà vẫn không làm mất tính tổng
quát của giả thiết. Khi đó:
Accept
Decide  
 Reject

, score(X, Si )   i
, score(X, Si )  i

(3.32)

Trong đó  i là ngưỡng xác thực. Ngưỡng xác thực này có thể đặt giống
nhau với tất cả mọi người nói hoặc phụ thuộc vào từng người nói. Ngưỡng
được thiết kế phải cố gắng cân bằng giữa các chấp nhận sai (false
acceptances) và các bác bỏ sai (false rejections). Chấp nhận sai nghĩa là cho
phép kẻ mạo danh truy cập vào hệ thống, còn bác bỏ sai nghĩa là không cho
phép người nói đúng được truy cập vào hệ thống. Có một sự thỏa hiệp giữa
hai lỗi này: khi quyết định ngưỡng i tăng thì lỗi chấp nhận sai sẽ giảm,
nhưng ngược lại lỗi bác bỏ sai sẽ tăng và ngược lại. Sự cân bằng giữa hai lỗi
này phụ thuộc vào từng ứng dụng.
Trong thực tế thì score không sử dụng là đầu ra thô của quá trình phân
lớp, thay vì đó một score chuẩn hóa được sử dụng:

Hình 3.10. Vấn đề xảy ra khi không dùng score chuẩn hóa

55

Hình 3.10 cho thấy động cơ của việc chuẩn hóa score. Giả thiết rằng giai
đoạn huấn luyện được ghi âm trong môi trường lý tưởng, nhưng trong giai
đoạn kiểm thử xảy ra trong điều kiện có nhiễu. Trong trường hợp này score
nhận được rất xấu, bởi vì các vector đặc trưng của người cần kiểm tra khác
với các đặc trưng trong giai đoạn huấn luyện. Nếu score thô được sử dụng để
so sánh với ngưỡng thì tốc độ của việc bác bỏ sai sẽ tăng. Chính vì vậy score
chuẩn được sử dụng để chuẩn hóa score của người nói để phù hợp với môi
trường mới. Score chuẩn hóa được định nghĩa như sau:
score’(X, Si) = score(X, Si) - maxjRef{score(X, Sj)}

(3.33)

Trong đó Ref là tập các người giả mạo với người kiểm tra và nó được
gọi là tập cohort của người cần kiểm tra. Có một vài phương pháp được sử
dụng để xác định tập cohort và kích thước của cohort. Phương pháp thông
dụng nhất được sử dụng là lựa chọn một tập cố định khoảng 10 người giả mạo
với người cần kiểm tra.

56

Chương 4 CẤU HÌNH HỆ THỐNG VÀ KẾT QUẢ THỬ NGHỆM
Các nội dung chính được trình bày trong chương bốn:
- Cấu trúc tổng quát của hệ thống xác thực người nói
- Dự liệu tiếng nói: trình bày cách thu thập dữ liệu tiếng nói để phục
vụ cho hệ thống
- Tần số lỗi: trình bày cách đánh giá mức độ gây lỗi của hệ thống xác
thực người nói
- Kết quả thực nghiệm: trình bày kết quả thực nghiệm được tiến hành
với nhiều tiêu chí khác nhau.
4.1. Cấu trúc tổng quát của hệ thống

Hình 4.1. Các thành phần của một hệ thống xác thực người nói
Từ sơ đồ của hình 4.1 một hệ thống xác thực người nói không phụ thuộc
được xây dựng thành các module:
4.1.1. Module trích chọn đặc trưng MFCC
- Đầu vào:
 Dữ liệu tiếng nói sau khi được thu âm và tiền xử lý
 Kích thước của một frame (tính bằng ms, thường lấy bằng 30ms)
 Phần trăm lồng giữu hai khung liên tiếp (thường lấy bằng 50%)
 Số phần tử của một vector MFCC (thường lấy bằng 12 )

57

- Đầu ra: là một tập các vector MFCC
4.1.2. Module huấn luyện
- Đầu vào:
 Là tập các vector MFCC của bước trích chọn đặc trưng
 Số cụm cần co cụm
- Đầu ra: tùy từng mô hình được sử dụng để mô hình hóa người nói
mà sẽ có đầu ra tương ứng:
 Với mô hình VQ: là tập các vector sau khi co cụm sử dụng thuật
toán LBG
 Với GMM: là bộ các thông số sau khi sử dụng thuật toán EM
4.1.3. Module xác thực
- Đầu vào:
 ID của người cần kiểm tra
 Dữ liệu tiếng nói sau khi đã được thu âm và tiền xử lý
- Đầu ra: chấp nhận hay từ chối cho người cần kiểm tra truy cập vào
hệ thống.
4.2. Dữ liệu tiếng nói
Để có dữ liệu tác giả đã tiến hành thu âm 76 người: 40 nam và 36 nữ.
Mỗi người trải qua hai giai đoạn thu âm:
- Giai đoạn cung cấp dữ liệu cho huấn luyện: mỗi người được tiến
hành ba lần thu âm với các khoảng thời gian 60s, 30s và 10s
- Giai đoạn cung cấp dữ liệu cho kiểm thử: mỗi người được tiến hành
ba lần thu âm với các khoảng thời gian: 30s, 10s và 3s.
Tiếng nói được thu âm với tần số lấy mẫu 44100 Hz và sau khi thu âm
tín hiệu tiếng nói được tiền xử lý để nâng cao chất lượng trước khi được đưa
vào cho giai đoạn trích chọn đặc trưng.

58

4.3. Tỷ lệ lỗi (Error rate)
Các hệ thống xác người nói được đánh giá dựa trên tỷ lệ chấp nhận lỗi
(false acceptance rate – FA%) và tỷ lệ từ chối lỗi (false rejection rate – FR%):
FA  (

IA
)  100
IT

(4.1)

Trong đó:
- IA là số người bị từ chối, nhưng thực tế họ phải được chấp nhận
- IT là tổng số người kiểm tra
FR  (

CA
)  100
CT

(4.2)

Trong đó:
- CA là số người được chấp nhận, nhưng thực tế họ phải bị từ chối.
- CT là tổng số người kiểm tra.
Khi đó tổng lỗi của hệ thống xác thực được tính như sau:
EER  FA  FR

(4.3)

4.4. Kết quả thực nghiệm
4.4.1. Số các hệ số MFCC
Tiến hành thử số các hệ số MFCC với các mức: 12, 15, 19; sử dụng
GMM và thời gian huấn luyện là 60s. Ta có kết quả như bảng sau:
Bảng 4.1. Tỷ lệ lỗi với số các hệ số MFCC khác nhau
MFCC12
Test

MFCC15

MFCC19

FR

FA

ERR

FR

FA

ERR

FR

FA

ERR

30s

0

1.31

1.31

0

0

0

0

0

0

10s

1.31

1.31

2.62

1.31

2.62

3.93

1.31

2.62

3.93

3s

2.62

5.24

7.86

1.31

3.93

5.24

1.31

3.93

5.24

Từ bảng 4.1 ta nhận thấy với mô hình GMM thì:

59

- MFCC15 và MFCC19 tốt hơn MFCC12 trong trường hợp kiểm thử
với 30s và 3s nhưng không tốt bằng trong trường hợp kiểm thử 10s.
- MFCC15 và MFCC19 có độ tốt bằng nhau trong các trường hợp
kiểm thử.
Chính vì vậy các lần kiểm thử sau sẽ sử dụng MFCC15 tức là một vector
MFCC có 15 hệ số.
4.4.2. Mô hình VQ và GMM
Ta tiến hành thử mức độ tốt của hai mô hình VQ và GMM: sử dụng
MFCC15, thời gian huấn luyện là 60s. Ta có kết quả như bảng sau:
Bảng 4.2. Tỷ lệ lỗi với hai mô hình VQ và GMM
VQ

GMM

Test

FR

FA

ERR

FR

FA

ERR

30s

1.31

0

1.31

0

0

0

10s

2.62

3.93

6.55

1.31

2.62

3.93

3s

5.24

5.24

10.48

1.31

3.93

5.24

Từ bảng 4.2 ta nhận thấy mô hình GMM cho kết quả tốt hơn mô hình
VQ trong tất cả các lần kiểm thử.
4.4.3. Thời gian huấn luyện
Ta tiến hành thử thời gian huấn luyện khác nhau: sử dụng GMM,
MFCC15 và thời gian test là 10s, 3s. Ta có kết quả như bảng sau:
Bảng 4.3. Tỷ lệ lỗi với thời gian huấn luyện khác nhau
60s

30s

10s

Test

FR

FA

ERR

FR

FA

ERR

FR

FA

ERR

10s

1.31

2.62

3.93

2.62

5.24

7.86

9.17

7.86

17.03

3s

1.31

3.93

5.24

9.17

3.93

13.1

11.79 10.48 22.27

Từ bảng 4.2 ta nhận thấy thời gian huấn luyện càng dài thì độc chính xác

60

của hệ thống càng tăng.
4.4.4. Số các cụm của mô hình VQ
Ta tiến hành thử với số cụm khác nhau của mô hình VQ: sử dụng
MFCC15 và thời gian huấn luyện là 60s. Ta có kết quả như bảng sau:
Bảng 4.4. Tỷ lệ lỗi với số cụm khác nhau trong mô hình VQ
Số cụm

ERR

32

4

64

2.3

128

2.1

256

1.9

512

1.8

Từ bảng 4.2 ta nhận thấy số cụm của VQ càng lớn thì độ chính xác của
hệ thống càng tăng.
4.4.5. Số cụm của mô hình GMM
Ta tiến hành thử với số cụm khác nhau của mô hình GMM: sử dụng
MFCC15 và thời gian huấn luyện là 60s. Ta có kết quả như bảng sau:
Bảng 4.5. Tỷ lệ lỗi với số cụm khác nhau trong GMM
Số cụm

ERR

8

3

16

2.1

32

1.8

Từ bảng 4.2 ta nhận thấy số cụm của GMM càng lớn thì độ chính xác
của hệ thống càng tăng.

61

KẾT LUẬN VÀ KIẾN NGHỊ
1. Kết luận
a. Những nội dung chính đã được giải quyết trong luận văn
- Nghiên cứu tổng quan bài toán nhận dạng tiếng nói
- Nghiên cứu các phương pháp trích chọn đặc trưng người nói, chi tiết
phương pháp trích chọn đặc trưng MFCC
- Nghiên cứu mô hình VQ và mô hình GMM ứng dụng trong xác thực
người nói không phụ phụ vào từ khóa
- Cài đặt các mô hình, thuật toán và tiến hành thử nghiệm trên cơ sở
dữ liệu tiếng Việt
b. Những đóng góp khoa học và tính thực tiễn của luận văn
- Phương pháp trích chọn đặc trưng MFCC với cơ sở dữ liệu tiếng
Việt
- Ứng dụng mô hình VQ và GMM xây dựng hệ thống xác thực người
nói không phụ thuộc vào từ khóa với cơ sở dữ liệu tiếng Việt
- Đề tài có tính thực tiễn cao trong việc xây dựng các hệ thống thanh
toán thẻ tín dụng qua điện thoại; đăng nhập vào các hệ thống an
ninh, máy tính bằng tiếng nói; giám định tư pháp tiếng nói…
c. Những hạn chế của luận văn
- Số lượng dữ liệu tiếng nói để kiểm thử hệ thống chưa nhiều.
- Một số mô hình, thuật toán như mạng nơron nhân tạo, SVM, GA..
ứng dụng trong bài toán xác thực người nói chưa được nghiên cứu.
- Nghiên cứu các phương pháp xử lý khi dữ liệu tiếng nói có nhiễu.
2. Kiến nghị
- Thu thập số lượng lớn dữ liệu âm tiếng nói để tiến hành kiểm thử,
điều chỉnh các tham số của hệ thống cho chính xác.
- Tiếp tục nghiên cứu các mô hình thuật toán như mạng nơron nhân

62

tạo, SVM, GM.. ứng dụng cho bài toán xác thực người nói.
- Kết hợp các mô hình, thuật toán đã có với hi vọng sẽ tạo ra được mô
hình tốt hơn.
- Nghiên cứu bài toán xác thực người nói phụ thuộc từ khóa, kết hợp
với bài toán không phụ thuộc từ khóa nhằm làm tăng tính chính xác
của các hệ thống xác thực người nói.

63

TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Dương Tử Cường (2003), Xử lý tín hiệu số, Nxb Quân đội nhân dân, Hà
Nội
2. Ngô Minh Dũng, Đặng Văn Chuyết (2004), “Khảo sát tính ổn định của một
số đặc trưng ngữ âm trong nhận dạng người nói”, Tạp chí BCVT &
CNTT, (kỳ 3 10/2004), tr. 12-18.
3. Ngô Minh Dũng, Đặng Văn Chuyết (2007), “Xây dựng và khảo sát độ dài
từ khóa trong nhận dạng người nói phụ thuộc vào từ khóa tiếng Việt theo
mô hình Markov ẩn”, Tạp chí BCVT & CNTT, (kỳ 3 10/2007), tr. 93-99.
4. Viện công nghệ thông tin Việt Nam (2004), Tổng hợp và nhận dạng tiếng
Việt, Đề tài nghiên cứu cấp nhà nước KC01- 03D, Hà Nội.
Tiếng Anh
5. Atal, B.S (1976), “Automatic recognition of speakers from their voices”,
Proc. IEEE, (Vol. 64, No. 4), pp. 460-475.
6. A. V. Oppenheim and R.W. Schafer (1968), “Homomorphic analysis of
speech”, IEEE Transactions on Audio and Electroacoustics, (vol. 16,
no. 2), pp. 221–226.
7. A. F. Martin and M. A. Przybocki (2001), “The NIST speaker recognition
evaluations: 1996–2001”, A Speaker Odyssey—The Speaker Recognition
Workshop, pp. 39–43.
8. B. Robertson and G. A. Vignaux, Interpreting Evidence(1995), Evaluating
Forensic Science in the Courtroom, John Wiley & Sons, Chichester, UK.
9. CAMPBELL, Joseph(1997), ”Speaker Recognition:
Proceedings of IEEE, (vol. 85,no. 9), pp. 1437-1462.

A

Tutorial”,

10. D.Meuwly (2001),Speaker recognition in forensic sciences the
contribution of an automatic approach, Ph.D. thesis, Institut de Po-lice
Scientifique et de Criminologie, Universit´ edeLausanne, Lausanne,
Switzerland.
11. D. A. Reynolds, T. F. Quatieri, and R. B. Dunn (2000), “Speaker

64

verification using adapted Gaussian mixture models,” Digital Sinal
Processing, (vol. 10, no. 1), pp. 19–41.
12. D.A. Reynolds and R.C. Rose(1995), “Robust Text-Independent Speaker
Identification Using Gaussian Mixture Speaker Models,” IEEE Trans.
Speech & Audio Processing, pp. 72-83.
13. F.K. Soong and A.E. Rosenberg A.E. and B.-H. Juang and L.R. Rabiner
(1987), “A Vector Quantization Approach to Speaker Recognition,” AT
& T Technical Journal, (vol. 66), pp. 14-26.
14. REYNOLDS, Douglas (1995),”A. Robust Text-IndependentSpeaker
Identification Using Gaussian Mixture Speaker Model”, IEEE
Transactions on Speech and Audio Processing, (vol. 3, n. 1), pp72-83.
15. T. Kinnunen and P. Fränti (2001), “Speaker Discriminative Weighting
Method for VQ-Based Speaker Identification,” Proc. Audio- and VideoBased Biometric Person Authentication, (AVBPA 2001), pp. 150-156.
16. T. Kinnunen and I. Kärkkäinen (2002), “Class-Discriminative Weighted
Distortion Measure for VQ-Based Speaker Identification,” Proc. Joint
IAPR Int.Workshop on Stat. Pattern Recognition,(S+SPR2002), pp.681688.