Luận văn Thạc sỹ Trường Đại học Bách Khoa Hà Nội Ngành Xử lý thông tin & truyền thông
Thiết kế hệ nhúng nhận dạng người nói trên T-Engine SH7760 Sinh viên thực hiện : Nguyễn Thành Kiên Giáo viên hướng dẫn : Ts. Trịnh Văn Loan
Nội dung trình bày 1. 2. 3. 4. 5.
Giới thiệu đề tài. Nhận dạng người nói. Thiết kế hệ nhúng T-Engine. Thiết kế phần mềm nhận dạng người nói. Kết quả đạt được & hướng phát triển.
1. Giới thiệu đề tài
1.1. Lí do lựa chọn đề tài. 1.2. Nhiệm vụ của đề tài.
1.1. Lí do lựa chọn đề tài
Tương tác giữa con người và máy tính ngày càng đòi hỏi tính trực quan cao. Tiếng nói là phương tiện giao tiếp thông dụng nhất được con người sử dụng. Yêu cầu tương tác người - máy thông qua giọng nói là một nhu cầu tất yếu. Bên cạnh đó các hệ nhúng chuyên dụng ngày càng phát triển và được sử dụng rộng rãi cho phép tạo ra các thiết bị thông minh với kích thước nhỏ nhưng hiểu được tiếng nói con người.
1.2. Nhiệm vụ của đề tài
Xây dựng chương trình nhận dạng người nói sử dụng mô hình GMM với từ nhận dạng bất kỳ. Thiết kế hệ nhúng dựa trên chip SH7760 thực hiện chương trình nhận dạng.
2. Tổng quan nhận dạng người nói
Nhận dạng người nói có hai dạng:
Định danh người nói (speaker identification) Xác thực người nói (speaker verification)
2.1
2.2
2.1. Trích chọn đặc trưng
Tiền xử lí Phân khung Hàm cửa sổ Phương pháp trích chọn đặc trưng MFCC
2.1.1 Tiền xử lí
Lọc hiệu chỉnh:
H(z)=1-az-1 với
0.95 ≤ a < 0.97
Loại bỏ khoảng lặng:
Ngưỡng năng lượng của các khung
Threshold = MinValue + Ratio * (MeanValue – MinValue)
(Ratio ~ 0.3)
Phát hiện tiếng nói (Voice activation detection). Dựa trên các thông số của tín hiệu:
Hàm năng lượng ngắn hạn if ((log10(SP) - log10(NP))>g_dblNoiseThreshold) bSpeechFlag = TRUE;
2.1.2 Phân khung
Tín hiệu tiếng nói được chia thành các khung có kích thước bằng nhau.
2.1.3 Hàm cửa sổ
Cửa sổ Hamming : w(k)=0.54 – 0.46cos(2πk/(k+1))
Cửa sổ Hanning: w(k)=0.5 – 0.5cos(2πk/(k+1))
Cửa sổ Hamming
2.1.4 Trích chọn vector đặc trưng
Các đặc trưng được sử dụng hiện nay:
Dùng hệ số LPC (LPC- Linear Prediction Coding) Dùng các hệ số LPL (Perceptional Linear Prediction). Dùng hệ số MFCC (Mel Frequency Cepstral Coefficients)
2.1.4 Trích chọn vector đặc trưng Khung tiếng nói Tiền xử lý
Khung cửa sổ
+ cửa sổ hoá Băng lọc Mel
phổ biên độ
|FFT|
Lọc phổ Phổ lọc MEL log ( . )
DCT Vector MFCC
View sourcecode
Kết quả
2.2.Mô hình hỗn hợp Gauss - GMM
2.2.Mô hình hỗn hợp Gauss - GMM Mô hình hỗn hợp Gauss là tổ hợp của nhiều thành phần, mỗi thành phần là một phân bố chuẩn hay phân bố Gauss.
Mật độ hỗn hợp Gauss M p ( x | λ) =∑ pi bi ( x ) i= 1
Trong đó bi ( x ) =
x
1 ( 2π) D
2
Σi
là vector D chiều
i là vector trung bình
1 2
1 exp − ( x −µi )' Σi−1 ( x −µi ) 2
i là ma trận hiệp biến pi là trọng số của thành phần trong hỗn hợp
2.2.Mô hình hỗn hợp Gauss - GMM
Một mô hình hỗn hợp Gauss được biểu diễn bằng các tham số (a) số thành phần Gauss (b) vector trung bình và ma trận hiệp biến của từng thành phần (c) trọng số của từng thành phần
Bộ tham số cho một mô hình Gauss là
λ = { pi , µi , Σi } i = 1,, M
3. Thiết kế hệ nhúng T-Engine
T-Engine là chuẩn mở cho các hệ thống nhúng thời gian thực cả về phần cứng và hệ điều hành thời gian thực:
Phần cứng: T-Engine board Hệ điều hành thời gian thực: T-Kernel
Sơ đồ khối mạch nhúng System Control
LCD Controller
FPGA EPM7128
Flash Memory 16Mb
Ethernet Controller
MBM29LV160
AM79C973 CPU SH7751R
EPROM 2x16Mb
PC Card Controller
M27C160F1
MR-SHPC
SDRAM 4x16MB
Driver Controller M1543C
uPD45128841
USB RS232 Keyboard Mouse
4. Thiết kế phần mềm nhận dạng người nói Start
Training
Recognition Training or Recognition?
Input speaker's information
Speech detecttion?
No
Yes End Training
Recognition
Model creation and add to DB
No
End
Recognition ending?
Yes
Huấn luyện mô hình
Start Train model
Input speech Create model
Remove Silence Add speaker to database Extract Features End
Người huấn luyện đọc vào câu huấn luyện từ 3 đến 5 lần
Nhận dạng người nói – từ nói bất kỳ
Việc nhận dạng được thực hiện ở hai chế độ:
Nhận dạng thời gian thực Nhận dạng xác thực người nói
Các giải thuật cải thiện chất lượng nhận dạng
Xác lập ngưỡng điểm số nhận dạng cho từng người nói Sinh từ ngẫu nhiên cho huấn luyện Nhận dạng với nhiều từ khác nhau trong nhiều lần
5. Kết quả đạt được
Xây dựng thành công hệ thống nhúng nhận dạng người nói với từ nói bất kỳ Độ chính xác nhận dạng đạt được 97%
Một số giao diện chương trình
Nhập thông tin người huấn luyện
Nhận dạng
Thiết lập ngưỡng cho từng người huấn luyện
Kết quả thử nghiệm
Hệ thống được thử nghiệm cho 30 người, với tần số ghi âm là 44100Hz, 16bit, mono Mỗi người đọc câu huấn luyện 2 lần, kiểm tra nhận dạng 10 lần với 10 từ bất kỳ.
Name Le Hoai Phuong
Giới tín h Nam
Ngo Chi Minh
Nam
23
Hà Nội
2
10
90%
Nguyen Canh Diep
Nam
17
Vĩnh Phú
2
10
100%
Nguyen Hai Ha
Nam
23
Hà Nội
2
10
100%
Nguyen Ngoc Hung
Nam
19
Hải Dương
2
10
100%
Nguyen Quang Hiep
Nam
23
Hà Nội
2
10
100%
Nữ
23
Bắc Giang
2
10
90%
Nguyen Tien Manh
Nam
23
Hà Nội
2
10
100%
Nguyen Xuan Giang
Nam
31
Hà Nam
2
10
100%
Pham Thi Nhan
Nữ
23
Bắc Ninh
2
10
80%
Phan Van Diep
Nam
23
Nghệ An
2
10
100%
Tran Manh Linh
Nam
23
Hà Nội
2
10
90%
Vuong Quang Hung
Nam
18
Hà Nội
2
10
100%
Bui Thi Yen
Nu
20
Hanoi
2
10
100%
Dang Thi May
Nu
20
Nam Dinh
2
10
90%
Do Dinh Sy
Nam
21
Nam Dinh
2
10
100%
Pham Hung Duc
Nam
21
Phu Tho
2
10
100%
Trinh Xuan Kien
Nam
21
2
10
100%
Nguyen Thi Hau
Tuổi
Địa phương
Số lần đọc từ huấn luyện
Số lần kiểm tra
Kết quả (tỷ lệ đúng)
23
Hà Nội
2
10
100%
Ha noi
Kết quả trung bình đạt được
97%
Hướng phát triển
Hiện tại, module codec thu âm của mạch còn nhiễu, phần cứng này sẽ được chuẩn hóa lại để giảm nhiễu, tăng độ chính xác nhận dạng. Bổ sung thêm tham số về tần số cơ bản F0 cho các thanh điệu vào mô hình để nâng cao độ chính xác nhận dạng
Câu hỏi của hội đồng
Em xin chân thành cảm ơn!