TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT HƢNG YÊN
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO TÓM TẮT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƢỜNG PHƢƠNG PHÁP NHẬN DẠNG NGƢỜI NÓI PHỤ THUỘC
TỪ KHÓA TIẾNG VIỆT VÀ XÂY DỰNG CHƢƠNG TRÌNH
ỨNG DỤNG NHẬN DẠNG NGƢỜI NÓI
Chủ nhiệm đề tài:
CN. Đào Thị Thu Diệp Hƣng Yên, tháng 10 năm 2012 2
1.2. Trong nƣớc 6
2. TÍNH CẤP THIẾT 6
3. MỤC TIÊU 7
4. CÁCH TIẾP CẬN CỦA ĐỀ TÀI 7
5. ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU 7
6. NỘI DUNG NGHIÊN CỨU 7
7. PHƢƠNG PHÁP NGHIÊN CỨU 7
PHẦN II: CÁC KẾT QUẢ ĐẠT ĐƢỢC 9
CHƢƠNG 1: TỔNG QUAN VỀ NHẬN DẠNG NGƢỜI NÓI 9
1.1. Nhận dạng ngƣời nói 9
1.1.1. Phân loại các bài toán nhận dạng ngƣời nói 9
1.1.2. Ứng dụng của nhận dạng ngƣời nói 9
1.2. Nhận dạng ngƣời nói phụ thuộc từ khóa 9
1.2.1. Các thành phần của một hệ thống nhận dạng ngƣời nói phụ
thuộc từ khóa 9
1.2.2. Các giai đoạn xử lý của một hệ thống nhận dạng ngƣời nói
phụ thuộc vào từ khóa 10
CHƢƠNG 2: TRÍCH CHỌN TÍN HIỆU TIẾNG NÓI 12
2.1. Trích chọn đặc trƣng MFCC 12
2.1.1. Sơ đồ khối của quá trình tính MFCC 12
2.1.2. Nhấn mạnh tín hiệu 12
2.1.3. Tạo khung tín hiệu 12
2.1.4. Làm khung cửa sổ 12
2.1.5. Biến đổi Fourier rời rạc 12 4
2.1.6. Lọc qua các bộ lọc mel-scale 13
2.1.7. Logarit và biến đổi Fourier ngƣợc 13
2.1.8. DCT (Discrete Cosin Transform) 13
Hình 2.1 Sơ đồ khối quá trình trích chọn đặc trưng 12
Hình 3.1 Ví dụ VQ một chiều 14
Hình 3.2 Ví dụ VQ 2 chiều 14
Hình 3.3 Sơ đồ khối cấu trúc VQ huấn luyện và phân lớp. 15
Hình 3.4 Ví dụ một mô hình Markov ẩn với sáu trạng thái 17
Hình 3.5 Sơ đồ khối mô hình nhận dạng Markov ẩn 18
Hình 3.6 Sơ đồ khối hệ thống nhận dạng tiếng nói 19
Hình 4.1 Cấu trúc tổng quát của hệ thống 20
Hình 4.2 Lưu đồ trích đặc trưng 21
Hình 4.3 Lưu đồ lượng tử hóa vector 21
Hình 4.4 Giải thuật nhận dạng 23
Hình 4.5 Xử lý tín hiệu nhiễu 24
Hình 4.6 Quá trình trích chọn đặc trưng 24
Hình 4.7 Cách thức tổ chức dữ liệu 25
Hình 4.8 Giao diện chính của chương trình ứng dụng 25
6
PHẦN I: MỞ ĐẦU
1. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU THUỘC LĨNH VỰC
ĐỀ TÀI Ở TRONG VÀ NGOÀI NƢỚC
1.1. Thế giới
Hiện nay trên thế giới đã có nhiều nghiên cứu và thử nghiệm về
hệ thống nhận dạng tiếng nói và đã đạt đƣợc những thành tƣu nhƣ: Via
Voice Mellennium (IBM), Via Voice Standard (IBM), CSLU (Center of
Spoken Language Language Understanding), HTK Toolkit những hệ
thống này đƣợc xây dựng để nhận dạng tiếng Anh, ngoài ra còn có một
số hệ thống nhận dạng tiếng nói của các ngôn ngữ khá nhƣ: Trung Quốc,
Nghiên cứu về các cách xử lý tiếng nói, các cơ sở nhận dạng
ngƣời nói, các phƣơng pháp nhận dạng ngƣời nói phụ thuộc từ khóa
Tiếng việt. Cụ thể nhƣ sau:
- Thu thập tập cơ sở dữ liệu ngƣời nói đƣa vào dữ liệu huấn luyện
- Xử lý tín hiệu tiếng nói đƣa ra trích chọn đặc trƣng của từng ngƣời nói
để nhận dạng ngƣời nói
5. ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU
- Đề tài xây dựng hệ thống thử nghiệm nhận dạng ngƣời nói phụ thuộc
từ khóa tiếng việt với các dữ liệu đƣa vào là dãy số ngẫu nhiên từ 0-9.
- Số ngƣời nói đƣa vào thử nghiệm trong hệ thống từ 20-30 ngƣời.
6. NỘI DUNG NGHIÊN CỨU
Xây dựng hệ thống nhận dạng ngƣời nói phụ thuộc từ khóa tiếng việt:
- Tổng quan về nhận dạng ngƣời nói
- Trích chọn đặc trƣng ngƣời nói
- Các mô hình ứng dụng nhận dạng ngƣời nói phụ thuộc từ khóa
- Cấu hình hệ thống và kết quả thử nghiệm
7. PHƢƠNG PHÁP NGHIÊN CỨU
7.1. Nhóm các phƣơng pháp nghiên cứu lý thuyết
A. Phƣơng pháp đọc và nghiên cứu tài liệu 8
Nghiên cứu về xử lý tiếng nói tiếng việt
Tìm hiểu về ngôn ngữ lập trình Matlab trong xử lý tiếng nói.
B. Phƣơng pháp phân tích, tổng hợp
Phƣơng pháp phân tích, tổng hợp lý thuyết đƣợc sử dụng trong việc
nghiên cứu tài liệu bằng cách tách ra từng phần, từng nội dung nhỏ để
xem xét và tổng hợp tất cả những nội dung đó xây dựng nên đề cƣơng
nghiên của ứng dụng mới đƣợc đề xuất.
7.2. Phƣơng pháp thực nghiệm
nhận dạng ngƣời nói thành hai bài toán:
- Đị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.
- Xác thực ngƣời nói (speaker verification): xác định xem ID của ngƣời
cần kiểm tra có chính xác là ngƣời đó hay không?
1.1.1.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:
- 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 không phụ thuộc vào từ khoá (text independent
speaker recognition)
1.1.2. Ứng dụng của bài toán nhận dạng người nói
- Chứng thực giao dịch
- Điều khiển truy cập
- Nhận dạng tội phạm
- Hệ thống bán hàng gián tiếp
1.2. Nhận dạng ngƣời nói phụ thuộc từ khóa
1.2.1. Các thành phần của một hệ thống nhận dạng người nói phụ thuộc
từ khóa 10
Hình 1.1.Các thành phần của một hệ thống nhận dạng người nói
Hình 1.1 cho ta thấy các hệ thống nhận dạng ng ƣời nói 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
12
CHƢƠNG 2: TRÍCH CHỌN TÍN HIỆU TIẾNG NÓI
- Có nhiều phƣơng pháp trích chọn đặc trƣng đã và đang đƣợc sử dụng
(FBA, MFCC, LPC, PLP ). Mỗi phƣơng pháp có những ƣu điểm và
nhƣợc điểm riêng. Hiện nay MFCC (Mel-scale Frequency Cepstral
Coefficient) đƣợc sử dụng phổ biến nhất. Vì vậy chúng tôi sử dụng
MFCC làm đặc trƣng của hệ nhận dạng đƣợc trình bày trong đề tài này.
Nội dung tiếp theo của chƣơng này trình bày về phƣơng pháp tính đặc
Logarit giá trị năng lƣợng (logarit of filter energies). Các giá trị
năng lƣợng thu đƣợc tại mỗi kênh lọc đƣợc lấy logarit để “nén” các giá
trị này vào một miền giá trị hẹp hơn.
2.1.8. DCT (Discrete Cosin Transform)
Biến đổi các giá trị năng lƣợng thành các hệ số ít tƣơng quan với
nhau hơn, các hệ số này đƣợc gọi là hệ số cepstral.
Cj =
Trong đó N là số kênh lọc, mj là giá trị logarit năng lƣợng của
mạch lọc thứ j, i là bậc của hệ số cepstral.
2.1.9. Chỉnh các giá trị Cepstral
c’n = exp(n*k)cn
Sau bƣớc hiệu chỉnh này ta thu đƣợc các giá trị MFCC.
2.2. Toolbox Voicebox trong Matlab
VoiceBox là một toolbox của Matlab chuyên về xử lí tiếng nói
do Mike Brookes phát triển. VoiceBox yêu cầu Matlab phiên bản 5 trở
lên. VoiceBox gồm các hàm có thể chia thành một số nhóm chức năng
sau:
Xử lí file âm thanh (đọc, ghi file wav và một số định dạng file
âm thanh khác)
Tính toán MFCC, chuyển đổi spectral - cepstral
Chuyển đổi tần số (mel-scale, midi, )
là tập huấn luyện cho
VQ. Nếu kích thƣớc codebook VQ là M=
(codebook B bít) thì chúng
ta cần L>>M để tìm đƣợc M vector tối ƣu nhất. Thƣờng chọn L=10M.
Độ đo d giữa các cặp phổ để phân nhóm vector trong khâu huấn
luyện hay phân lớp vector trong khâu đánh nhãn.
Phƣơng pháp xác định nhân để phân hoạch L vector phổ thành
M nhóm. 15
Phƣơng pháp phân lớp các vector ngõ vào. Một vector sau khi
qua khâu phân lớp thì sẽ đƣợc đại diện bằng một nhãn(mã).
Hình 3.3 Sơ đồ khối cấu trúc VQ huấn luyện và phân lớp.
3.1.2.2 Tập huấn luyện VQ:
Trong đề tài này, tập huấn luyện cho VQ là tất cả các vector phổ
sau khi qua khâu trích chọn đặc trƣng MFCC của tất cả các từ cần nhận
dạng. Mỗi vector phổ là 24 hệ số MFCC của một Frame tiếng nói. Các
từ nói đƣợc ghi âm trong điều kiện phòng yên tĩnh.
3.1.2.3. Thiết kế thuật toán LBG
Thuật toán đƣợc tổng kết nhƣ sau:
1. Chọn ngẫu nhiên M vector trong tập huấn luyện L làm tập từ mã
codeword.
distribution). Trong đó aij là xác suất để trạng thái j xuất hiện tại thời
điểm t+1 khi trạng thái i đã xuất hiện tại thời điểm t .
- B={bj(k)} xác suất phát xạ quan sát trong mỗi trạng thái (observation
symbol probability distribution in state). bj(k) là xác suất của quan sát
vk tại trạng thái j tại thời điểm t.
xác xuất trạng thái khởi đầu (initial state
distribution).
là xác xuất để trạng thái I đƣợc chọn tại thời điểm t=1
17
Hình 3.5 Sơ đồ khối mô hình nhận dạng Markov ẩn
Quyết định nhận dạng ngƣời thứ i trong cơ sở dữ liệu N ngƣời nói đƣợc
thực hiện theo hàm quyết định sau:
i=
Trong đó:
: điểm số đối sánh của ngƣời thứ n trong tập dữ liệu N ngƣời nói
()
M :độ dài từ khóa
: xác xuất của mô hình Markov ẩn của âm tiết
thứ m của ngƣời thứ n với chuỗi quan sát x .
3.2.1. Ba bài toán cơ bản của mô hình Markov ẩn 20
CHƢƠNG 4: CẤU HÌNH VÀ KẾT QUẢ THỰC NGHIỆM
4.1. Xây dựng hệ nhận dạng ngƣời nói
4.1.1. Cấu trúc tổng quát của hệ thống
Hình 4.1. Cấu trúc tổng quát của hệ thống
4.1.2. Trích chọn đặc trưng MFCC
Trong đề tài này chọn phƣơng pháp MFCC để trích chọn tiếng nói.
Sơ đồ trích chọn đặc trƣng tiếng nói dùng MFCC nhƣ sau:
21
Hình 4.2 Lưu đồ trích đặc trưng
Kết quả sau khi qua phần trích chọn đặc trƣng: ma trận PxT
,trong đó P là hệ số MFCC,T là số Farme tiếng nói đƣợc thu vào mỗi
Farme có P hệ số MFCC
4.1.3. Mô hình lượng tử hóa Vector
Sau khi trích chọn đặc trƣng, mỗi từ cho một dãy vector phổ.
Dùng phƣơng pháp LBG lƣợng tử hóa vector .
Giải thuật lƣợng tử hóa vector:
Hình 4.3 Lưu đồ lượng tử hóa vector
4.1.4. Mô hình huấn luyện
Mô hình HMM đƣợc sử dụng là mô hình rời rạc với 6 trạng thái,
bƣớc nhảy là 2. Mỗi ngƣời với mỗi âm vị đƣợc xây dựng mô hình
.100
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=
.100
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= FR+FA
4.4. Kết quả
- Từ cơ sở lý thuyết đã trình bày, tác giả đã xây dựng chƣơng trình ứng
dụng nhận dạng ngƣời nói. Một số hình ảnh của ứng dụng: 24
Tín hiệu bị nhiễu khi thu âm
Tín hiệu xử lý
Hình 4.5. Xử lý tín hiệu nhiễu
Hình 4.6 Quá trình trích chọn đặc trưng