Bối cảnh và vấn đề nghiên cứu
Đề tài "Nhận dạng tiếng nói thể hiện trạng thái khuôn mặt" được thực hiện bởi sinh viên Trương Minh Thiện dưới sự hướng dẫn của PGS. Trần Thu Hà tại Bộ môn Điện tử Công nghiệp, Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM (hoàn thành vào tháng 01/2016).
Giao tiếp bằng giọng nói là phương thức tương tác tự nhiên và đạt tốc độ nhanh nhất của con người. Trong tiến trình tự động hóa và phát triển các thiết bị thông minh (thiết bị cầm tay, robot dịch vụ, hệ thống điều khiển), việc thay thế thao tác thủ công bằng khẩu lệnh giọng nói mang lại sự tiện lợi đáng kể. Mặc dù công nghệ nhận dạng tiếng nói trên thế giới đã đạt được nhiều thành tựu với các ngôn ngữ không dấu như tiếng Anh (tiêu biểu như IBM ViaVoice hay công cụ nhận dạng trong OfficeXP đạt độ chính xác 90–95%), việc xử lý tiếng Việt vẫn đối mặt với nhiều rào cản kỹ thuật. Tiếng Việt là ngôn ngữ đơn lập, đa thanh điệu với hệ thống nguyên âm, phụ âm phức tạp và sự biến thiên lớn theo vùng miền cũng như từng cá nhân phát âm. Thêm vào đó, tại Việt Nam thời điểm nghiên cứu, các công trình nhận dạng tiếng Việt triển khai trên phần cứng điều khiển thực tế còn hạn chế do sự ràng buộc giữa độ chính xác, tài nguyên phần cứng và tốc độ tính toán. Xuất phát từ bối cảnh đó, tác giả lựa chọn đề tài nhằm xây dựng giải pháp nhận dạng tiếng nói tiếng Việt cho tập từ lệnh đơn biểu thị trạng thái cảm xúc, phục vụ giao tiếp máy tính và định hướng điều khiển cơ cấu ngoại vi.
Mục tiêu nghiên cứu của đề tài được xác định gồm 5 nội dung:
- Nghiên cứu tổng quan hệ thống nhận dạng tiếng nói ứng dụng cho tiếng Việt.
- Nghiên cứu thuật toán trích chọn đặc trưng MFCC (Mel-Frequency Cepstral Coefficients) áp dụng cho tín hiệu tiếng nói tiếng Việt.
- Nghiên cứu phương pháp lượng tử hóa vector (Vector Quantization – VQ) nhằm tối ưu hóa và giảm chiều dữ liệu mẫu.
- Nghiên cứu mô hình Markov ẩn (Hidden Markov Model – HMM) trong việc huấn luyện và phân lớp nhận dạng tiếng nói.
- Thiết kế giao diện phần mềm nhận dạng trên máy tính và xây dựng giao tiếp điều khiển mô hình thông qua vi điều khiển.
Nhiệm vụ nghiên cứu được phân định thành 7 bước thực hiện:
- Nghiên cứu các đặc trưng âm học và cấu trúc ngữ âm tiếng Việt.
- Nghiên cứu công nghệ phân loại tín hiệu tiếng nói tiếng Việt.
- Nghiên cứu các phương pháp lọc, tiền xử lý tín hiệu, kỹ thuật trích xuất đặc trưng MFCC và phân loại bằng mô hình Markov ẩn.
- Lựa chọn cấu trúc mô hình HMM phù hợp để xây dựng giao diện nhận dạng tập lệnh điều khiển.
- Tìm hiểu công cụ và môi trường lập trình (Matlab, Keil C cho ARM, C/C++).
- Viết mã nguồn mô phỏng và xây dựng giải thuật xử lý trên máy tính.
- Thiết kế giao diện đồ họa người dùng (GUI) phục vụ thu âm, huấn luyện và nhận dạng trực quan.
Phạm vi và giới hạn của đề tài:
- Giới hạn đối tượng nhận dạng ở tập từ đơn (isolated words) gồm 5 trạng thái cảm xúc khuôn mặt: "vui", "buồn", "mệt", "giận", "hiền" nhằm tránh độ phức tạp do ngữ điệu của câu dài hoặc từ ghép.
- Giới hạn môi trường thực nghiệm nhận dạng trên máy tính cá nhân; cơ cấu chấp hành cơ khí thể hiện biểu cảm khuôn mặt chưa được thi công hoàn chỉnh do giới hạn thời gian thực hiện đồ án.
- Kết quả nhận dạng trong điều kiện môi trường bình thường hướng tới độ chính xác trên 90%, chấp nhận sai số do ảnh hưởng của tạp âm và sự biến thiên giọng nói cá nhân.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết của đồ án dựa trên các nguyên lý xử lý tín hiệu số âm thanh, ngữ âm học tiếng Việt và các mô hình thống kê nhận dạng mẫu:
- Đặc trưng ngữ âm tiếng Việt: Tín hiệu tiếng nói tiếng Việt có đơn vị cơ sở là âm tiết có tính độc lập, không có hiện tượng nối âm hay nuốt âm. Hệ thống ngữ âm gồm 16 âm vị nguyên âm (13 nguyên âm đơn, 3 nguyên âm đôi), các nhóm phụ âm (bật hơi, phụ âm mũi/vang, phụ âm xát) và 6 thanh điệu (ngang, huyền, hỏi, sắc, ngã, nặng) quyết định cao độ (âm điệu và âm vực) của từ.
- Tiền xử lý và phát hiện tiếng nói (VAD - Voice Activity Detection): Dựa trên việc phân tích mức năng lượng ngắn hạn, công suất ngắn hạn và tỷ lệ qua điểm không (Zero Crossing Rate - ZCR) kết hợp bộ lọc tiền nhấn (Pre-emphasis) $H(z) = 1 - az^{-1}$ với hệ số $a = 0{,}97$ nhằm bù suy giảm 20 dB/decade ở dải tần số cao.
- Trích chọn đặc trưng MFCC: Sử dụng thang đo tần số Mel phi tuyến tính $\text{Mel}(f) = 2595 \log_{10}(1 + f/700)$ mô phỏng đáp ứng thính giác người, kết hợp phép biến đổi Fourier nhanh (FFT), băng lọc tam giác Mel, biến đổi cosin rời rạc ngược (IDCT), tính toán năng lượng khung cùng các hệ số động bậc một (Delta) và bậc hai (Double-Delta/Gia tốc).
- Lượng tử hóa vector (VQ): Sử dụng thuật toán K-means (LBG) với độ đo khoảng cách Euclidean để nén không gian vector đặc trưng liên tục thành tập từ mã (codebook) rời rạc kích thước $M = 64$.
- Mô hình Markov ẩn (HMM): Sử dụng xích Markov rời rạc được đặc trưng bởi bộ tham số $\lambda = (A, B, \pi)$, giải quyết ba bài toán cơ bản: tính xác suất quan sát $P(O|\lambda)$ bằng thuật toán Forward-Backward, xác định chuỗi trạng thái tối ưu bằng thuật toán Viterbi và ước lượng/tối ưu hóa tham số bằng thuật toán Baum-Welch (Expectation-Maximization).
Phương pháp nghiên cứu bao gồm:
- Phương pháp nghiên cứu tài liệu: Thu thập, tổng hợp các tài liệu học thuật về xử lý tín hiệu âm thanh, giải thuật MFCC, thuật toán gom cụm K-means, cấu trúc HMM và các tài liệu lập trình C/C++, Matlab.
- Phương pháp phân tích: Phân tích cấu trúc âm tiết tiếng Việt, khảo sát các tham số ảnh hưởng đến độ chính xác nhận dạng (kích thước khung, cửa sổ Hamming, số lượng băng lọc Mel, số chiều đặc trưng, kích thước codebook).
- Phương pháp chuyên gia: Tham khảo ý kiến đóng góp từ giảng viên hướng dẫn chuyên môn để lựa chọn tham số giải thuật và cấu trúc mô hình phù hợp với ngôn ngữ tiếng Việt.
- Phương pháp thực nghiệm: Tiến hành thu thập dữ liệu âm thanh qua microphone máy tính, lập trình giải thuật trên Matlab/GUI, kiểm thử nhận dạng đối với các tập mẫu học và tập mẫu thử nghiệm từ người nói khác nhau.
Nguồn dữ liệu:
- Tín hiệu âm thanh được thu trực tiếp từ microphone với tần số lấy mẫu $F_s = 8\text{ kHz}$, thời lượng mỗi mẫu thu âm khoảng 2 giây.
- Dữ liệu thử nghiệm gồm 5 từ đơn tiếng Việt ("vui", "buồn", "mệt", "giận", "hiền") được thu âm trong các điều kiện môi trường phòng yên tĩnh và môi trường có tạp âm.
Nội dung chính theo từng chương
Chương 1: Tổng quan về nhận dạng tiếng nói, tình hình nghiên cứu trong và ngoài nước
Chương 1 trình bày tổng quan về bản chất của nhận dạng tiếng nói như một bài toán nhận dạng mẫu trong lĩnh vực xử lý ngôn ngữ tự nhiên. Tác giả tổng thuật các thành tựu quốc tế tiêu biểu như ViaVoice của IBM, Spoken Toolkit của CSLU, mô hình Fujisaki (tiếng Nhật), mô hình MFGI (tiếng Đức) với quy mô thị trường xử lý tiếng nói toàn cầu đạt trên 5 tỷ USD vào năm 2008. Tại Việt Nam, chương này điểm qua các nghiên cứu nền tảng:
- Nghiên cứu cơ sở lý thuyết và đặc trưng tiếng Việt của GS.TSKH. Bạch Hưng Khang.
- Nghiên cứu của TS. Nguyễn Văn Giáp và KS. Trần Hồng Việt ứng dụng MFCC và HMM nhận dạng 4 từ lệnh ("trái, phải, tiến, lùi") đạt độ chính xác trên 90%.
- Nghiên cứu của TS. Hoàng Đình Chiến kết hợp mạng nơ-ron với LPC và AMDF nhận dạng bộ 8 từ đạt độ chính xác trung bình 99,4%.
- Đề tài thiết kế vi mạch nhận dạng tiếng Việt trên FPGA của TS. Hoàng Trang (2012) tại ĐH Bách khoa TP.HCM.
Chương này cũng xác định rõ ràng 5 mục tiêu, 7 nhiệm vụ, các giới hạn kỹ thuật và ý nghĩa khoa học - thực tiễn của đề tài trong việc làm tài liệu tham khảo và định hướng ứng dụng điều khiển thiết bị bằng giọng nói.
Chương 2: Đặc trưng tiếng nói tiếng Việt
Chương 2 đi sâu vào cấu trúc âm học và ngôn ngữ học của tiếng Việt. Tín hiệu tiếng nói có năng lượng tập trung chủ yếu ở dải tần dưới 4 kHz, mang đặc tính không dừng trong thời gian dài nhưng có tính chất dừng trong các đoạn ngắn (20–25 ms). Tác giả phân tích tính độc lập của âm tiết tiếng Việt, khẳng định tiếng Việt không có hiện tượng nối âm, giúp ranh giới giữa các từ tách biệt rõ ràng. Âm tiết được phân loại thành 4 nhóm dựa vào cách kết thúc: âm tiết nửa khép (kết thúc bằng phụ âm vang: m, ng, nh), âm tiết khép (kết thúc bằng phụ âm không vang: p, t, k), âm tiết nửa mở (kết thúc bằng bán nguyên âm: tay, cau) và âm tiết mở (kết thúc bằng nguyên âm giữ nguyên âm sắc: ta, ma).
| Thành phần cấu trúc âm tiết tiếng Việt |
| Thanh điệu (6 thanh: ngang, huyền, hỏi, sắc, ngã, nặng) |
| Âm đầu (phụ âm đầu) |
| Vần: Âm đệm + Âm chính (nguyên âm đơn/đôi) + Âm cuối (phụ âm/bán nguyên âm cuối) |
Chương này cũng phân loại chi tiết 16 âm vị nguyên âm (13 đơn, 3 đôi), các nhóm phụ âm theo phương thức phát âm (bật hơi, mũi, xát) và vai trò của 6 thanh điệu trong việc khu biệt ý nghĩa từ vựng.
Chương 3: Mô hình nhận dạng tiếng nói tiếng Việt
Chương 3 phân tích nguyên lý phân loại hệ thống nhận dạng: từ liên tục và từ cách biệt, hệ thống phụ thuộc người nói, độc lập người nói và bán độc lập người nói. Tác giả trình bày chi tiết chuỗi giải thuật xử lý tín hiệu:
- Khối VAD: Chia tín hiệu thành các đoạn $K = 160$ mẫu (20 ms ở $F_s = 8\text{ kHz}$). Sử dụng đại lượng kết hợp $W_{s1}(m) = P_{s1}(m) \cdot (1 - Z_{s1}(m))^{S_c}$ với $S_c = 1000$, so sánh với ngưỡng động $t_W = \mu_W + \alpha \delta_W$ (trong đó $\alpha = 0{,}2 \delta_W^{-1{,}4}$ được xác định qua thực nghiệm trên 50 khung nhiễu nền) để cắt bỏ chính xác khoảng lặng đầu và cuối.
- Tạo khung và cửa sổ hóa: Tín hiệu được chia khung 160 mẫu (20 ms), độ dịch khung $P = 50$ mẫu (5 ms, tương đương vùng gối 15 ms). Mỗi khung được nhân với cửa sổ Hamming $w(k) = 0{,}54 - 0{,}46 \cos\left(\frac{2\pi k}{K-1}\right)$ nhằm giảm hiện tượng rò rỉ phổ.
- Trích chọn đặc trưng MFCC: Khung tín hiệu được đệm thêm 96 mẫu thành 256 điểm để biến đổi FFT cơ số 4; tín hiệu phổ được đưa qua 12 băng lọc tam giác Mel trong dải 0–4000 Hz; thực hiện IDCT để trích 12 hệ số cepstral $c_s(n;m)$; tính năng lượng khung $E_m$; tính các hệ số vi sai bậc một ($\delta$) và bậc hai ($\delta^{(2)}$) với tham số $P=3$. Tổng cộng vector đặc trưng gồm 39 thành phần.
- Hậu xử lý và VQ: Chuẩn hóa trung bình phổ (CMN) để loại bỏ sai lệch kênh truyền, sau đó áp dụng giải thuật K-means phân cụm tập vector 39 chiều thành codebook $M = 64$ phần tử dựa trên khoảng cách Euclidean.
Chương 4: Mô hình Markov ẩn HMM
Chương 4 thiết lập cơ sở toán học của quá trình Markov và mô hình Markov ẩn rời rạc. Tác giả định nghĩa cấu trúc HMM $\lambda = (A, B, \pi)$ với $N$ trạng thái ẩn và $M$ ký hiệu quan sát (tương ứng với 64 nhãn của codebook VQ). Nội dung chương tập trung giải quyết tường minh 3 bài toán nền tảng của HMM phục vụ bài toán nhận dạng tiếng nói:
- Bài toán đánh giá: Sử dụng biến Forward $\alpha_t(i)$ và Backward $\beta_t(i)$ để tính toán nhanh xác suất $P(O|\lambda)$ của một chuỗi quan sát $O$ đối với từng mô hình từ vựng mà không bị bùng nổ tổ hợp.
- Bài toán giải mã: Ứng dụng quy hoạch động Viterbi để tìm đường đi trạng thái ẩn tối ưu nhất sinh ra chuỗi âm học đầu vào.
- Bài toán huấn luyện: Sử dụng giải thuật lặp Baum-Welch để tái ước lượng ma trận chuyển trạng thái $A$, ma trận phát xạ $B$ và vector xác suất ban đầu $\pi$, tối đa hóa khả năng mô hình khớp với tập dữ liệu huấn luyện.
Chương 5: Thiết kế hệ thống nhận dạng và phần mềm giao diện nhận dạng
Chương 5 mô tả quy trình hiện thực hóa toàn bộ các thuật toán tiền xử lý, trích đặc trưng MFCC 39 chiều, lượng tử hóa vector VQ K-means và huấn luyện/nhận dạng HMM trên máy tính. Tác giả xây dựng phần mềm giao diện đồ họa (GUI) cho phép:
- Thu âm trực tiếp mẫu tiếng nói từ người dùng.
- Hiển thị dạng sóng âm thanh trước và sau khi tách khoảng lặng VAD.
- Trích xuất và trực quan hóa ma trận hệ số đặc trưng MFCC.
- Thực hiện chức năng huấn luyện mô hình cho từng từ trong bộ từ vựng 5 từ.
- Nhận dạng từ phát âm trực tiếp, hiển thị kết quả phân lớp tương ứng với các từ "vui", "buồn", "mệt", "giận", "hiền".
- Thiết lập kênh truyền thông kết nối với Board vi điều khiển Arduino Mega 2560 để xuất tín hiệu điều khiển trạng thái.
Chương 6: Kết luận và hướng phát triển
Chương 6 tổng kết các kết quả đạt được của đồ án, chỉ ra các mặt hạn chế về độ chính xác phụ thuộc người nói, kích thước từ vựng và đề xuất các hướng phát triển hoàn thiện phần cứng cũng như nâng cấp giải thuật.
Thiết kế và triển khai
Hệ thống nhận dạng được thiết kế theo cấu trúc module phân tầng, kết hợp giữa phần mềm xử lý tín hiệu trên máy tính và phần cứng giao tiếp ngoại vi:
[Tín hiệu Micro (Fs = 8 kHz)]
[Tiền xử lý: Lọc Pre-emphasis (a=0.97) & Cắt khoảng lặng VAD]
[Phân khung (20 ms, dịch 5 ms) & Cửa sổ Hamming (K=160)]
[Biến đổi FFT (256 điểm) & 12 Băng lọc tam giác Mel (0-4 kHz)]
[Biến đổi IDCT & Tính 39 Hệ số MFCC (12 MFCC + 1 Energy + Delta + Double-Delta)]
[Lượng tử hóa Vector VQ K-means (Codebook M = 64)]
[Phân lớp nhận dạng Mô hình Markov ẩn (Discrete HMM)]
Thông số kỹ thuật của hệ thống
| Tham số kỹ thuật |
Giá trị thiết kế / Lựa chọn |
| Tần số lấy mẫu ($F_s$) |
8 kHz |
| Thời lượng mẫu thu âm |
2 giây / lần đọc |
| Độ rộng khung phân tích ($K$) |
160 mẫu (20 ms) |
| Bước dịch chuyển khung ($P$) |
50 mẫu (5 ms), gối nhau 15 ms |
| Cửa sổ tiền xử lý |
Cửa sổ Hamming ($w(k)$) |
| Bộ lọc tiền nhấn |
$H(z) = 1 - 0{,}97 z^{-1}$ |
| Điểm biến đổi FFT |
256 điểm (đệm thêm 96 mẫu 0) |
| Số lượng băng lọc Mel |
12 băng lọc tam giác (dải tần 0–4000 Hz) |
| Cấu trúc vector đặc trưng |
39 chiều (12 MFCC + 1 Energy + 12 $\Delta\text{MFCC}$ + 1 $\Delta\text{Energy}$ + 12 $\Delta^2\text{MFCC}$ + 1 $\Delta^2\text{Energy}$) |
| Kích thước Codebook VQ |
$M = 64$ cụm (thuật toán K-means, khoảng cách Euclidean) |
| Bộ phân lớp nhận dạng |
Mô hình Markov ẩn rời rạc (Discrete HMM) |
| Tập từ vựng nhận dạng |
5 từ đơn: "vui", "buồn", "mệt", "giận", "hiền" |
| Nền tảng phần cứng điều khiển |
Board vi điều khiển Arduino Mega 2560 |
Giao diện và quy trình kiểm thử
Phần mềm giao diện nhận dạng được lập trình trên máy tính cho phép người dùng thao tác qua các nút chức năng: ghi âm mẫu, xử lý VAD, trích xuất đặc trưng, huấn luyện mô hình cho từng từ và thực hiện nhận dạng kiểm thử. Hệ thống thực hiện việc so khớp chuỗi chỉ số codebook thu được với 5 mô hình HMM đã huấn luyện đại diện cho 5 từ trạng thái, mô hình có điểm xác suất $P(O|\lambda)$ cao nhất sẽ được chọn làm kết quả đầu ra và truyền mã lệnh tương ứng sang Board Arduino Mega 2560.
Kết quả và đóng góp
Kết quả thực nghiệm
Hệ thống nhận dạng tiếng nói tiếng Việt xây dựng trong đồ án đạt được các kết quả cụ thể:
- Thuật toán VAD loại bỏ chính xác các đoạn khoảng lặng không mang thông tin, giúp giảm khối lượng tính toán cho các khối xử lý phía sau.
- Bộ trích đặc trưng MFCC 39 chiều kết hợp chuẩn hóa CMN và lượng tử hóa VQ (codebook 64) chuyển đổi thành công tín hiệu âm thanh liên tục thành chuỗi ký hiệu quan sát rời rạc cho mô hình HMM.
- Độ chính xác nhận dạng đối với nhóm người học mẫu (huấn luyện) đạt trên 90% trong điều kiện phòng bình thường.
- Thử nghiệm đánh giá hiệu năng trong môi trường robot/nhiễu cho thấy tỷ lệ nhận dạng đạt 92% trong điều kiện môi trường không có nhiễu (noise-free) và đạt 90% khi môi trường có mức độ tạp âm cao hơn.
Đóng góp của đề tài
- Hệ thống hóa cơ sở lý thuyết về ngữ âm học tiếng Việt ứng dụng trong nhận dạng tiếng nói, làm rõ các điểm khác biệt của ngôn ngữ đơn lập, có thanh điệu so với tiếng Anh.
- Xây dựng thành công chuỗi giải thuật hoàn chỉnh từ tiền xử lý, trích xuất đặc trưng MFCC 39 chiều, nén dữ liệu VQ K-means đến phân lớp bằng mô hình HMM rời rạc cho tiếng Việt.
- Hiện thực hóa phần mềm giao diện thu âm, huấn luyện và nhận dạng trực quan trên máy tính, đồng thời tích hợp giao tiếp với phần cứng Arduino Mega 2560, tạo tiền đề cho các ứng dụng điều khiển thiết bị bằng khẩu lệnh tiếng Việt.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Bộ từ vựng nhận dạng còn nhỏ, chỉ dừng lại ở 5 từ đơn biểu thị trạng thái cảm xúc ("vui", "buồn", "mệt", "giận", "hiền"), chưa mở rộng sang từ ghép hay câu thoại liên tục.
- Hệ thống hoạt động theo mô hình phụ thuộc người nói/bán độc lập người nói; độ chính xác suy giảm khi người phát âm có giọng điệu vùng miền khác biệt hoặc tốc độ nói thay đổi lớn.
- Phần cứng cơ khí ngoại vi mô phỏng các chuyển động của khuôn mặt chưa được thi công và lắp ráp hoàn chỉnh do giới hạn về mặt thời gian thực hiện đề tài.
- Trong điều kiện môi trường có độ ồn phức tạp, kết quả nhận dạng vẫn xuất hiện sai số và chưa đạt mức tuyệt đối 100%.
Hướng phát triển
- Mở rộng kích thước bộ từ vựng nhận dạng và nâng cấp giải thuật để xử lý nhận dạng tiếng nói liên tục (Continuous Speech Recognition).
- Phát triển mô hình nhận dạng độc lập người nói (Speaker-Independent) bằng cách thu thập tập dữ liệu mẫu lớn từ nhiều người nói thuộc các vùng miền khác nhau.
- Nghiên cứu triển khai tích hợp toàn bộ giải thuật nhận dạng trực tiếp trên phần cứng chuyên dụng (DSP hoặc FPGA) thay vì xử lý trung gian qua máy tính cá nhân.
- Hoàn thiện cơ cấu chấp hành cơ khí khuôn mặt mô phỏng, kết nối đồng bộ với Board Arduino Mega 2560 để hoàn tất hệ thống thể hiện trạng thái cảm xúc theo thời gian thực.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo chuyên môn hữu ích đối với:
- Sinh viên và học viên ngành Kỹ thuật Điện - Điện tử, Điện tử Viễn thông, Công nghệ Thông tin, Kỹ thuật Điều khiển và Tự động hóa: Cung cấp tài liệu chi tiết về quy trình xử lý tín hiệu âm thanh số, giải thuật trích xuất đặc trưng MFCC 39 chiều và mô hình toán học Markov ẩn rời rạc.
- Người nghiên cứu các đề tài điều khiển bằng giọng nói tiếng Việt: Tham khảo phương pháp xây dựng thuật toán phát hiện tiếng nói (VAD) tối ưu dựa trên năng lượng/ZCR và kỹ thuật lượng tử hóa vector (VQ) giảm tải tính toán cho các hệ thống nhúng/vi điều khiển.
- Phần nội dung có giá trị tham khảo cao nhất: Chương 3 và Chương 4 với các công thức toán học tường minh về biến đổi FFT, lọc Mel, đạo hàm Delta/Double-Delta, thuật toán K-means và các bước giải thuật Forward-Backward, Viterbi, Baum-Welch của mô hình HMM.
Câu hỏi thường gặp
1. Bộ vector đặc trưng MFCC trong đồ án được cấu thành từ những thành phần nào và có tổng số chiều là bao nhiêu?
Vector đặc trưng được trích xuất cho mỗi khung 20 ms bao gồm 39 thành phần: 1 đặc trưng năng lượng logarit ($E_m$), 12 hệ số Mel-cepstral ($\text{MFCC}$), 1 hệ số Delta năng lượng, 12 hệ số Delta MFCC, 1 hệ số Double-Delta năng lượng và 12 hệ số Double-Delta MFCC.
2. Thuật toán VAD trong đồ án xác định điểm bắt đầu và kết thúc của tiếng nói dựa trên các thông số nào?
Thuật toán VAD kết hợp công suất ngắn hạn $P_{s1}(m)$ và tỷ lệ qua điểm không $Z_{s1}(m)$ thông qua biểu thức $W_{s1}(m) = P_{s1}(m) \cdot (1 - Z_{s1}(m))^{S_c}$ với $S_c = 1000$. Giá trị này được so sánh với ngưỡng nhiễu nền $t_W = \mu_W + \alpha \delta_W$, trong đó $\alpha = 0{,}2 \delta_W^{-1{,}4}$ được xác định qua thực nghiệm từ các khung nhiễu nền.
3. Tại sao đồ án cần sử dụng bước lượng tử hóa vector (VQ) trước khi đưa vào mô hình HMM?
Do đồ án sử dụng mô hình Markov ẩn rời rạc (Discrete HMM), chuỗi vector đặc trưng 39 chiều liên tục cần được ánh xạ thành các ký hiệu quan sát rời rạc. Thuật toán K-means phân cụm không gian đặc trưng thành một codebook gồm 64 từ mã, giúp giảm không gian lưu trữ và giảm khối lượng tính toán khi huấn luyện và nhận dạng.
4. Tập từ vựng thực nghiệm của đồ án gồm những từ nào và độ chính xác nhận dạng đạt được là bao nhiêu?
Tập từ vựng gồm 5 từ đơn tiếng Việt biểu thị trạng thái cảm xúc: "vui", "buồn", "mệt", "giận", "hiền". Kết quả thử nghiệm trên phần mềm nhận dạng đạt độ chính xác trên 90% trong điều kiện bình thường (đạt 92% trong môi trường không nhiễu và 90% trong môi trường có tạp âm).
5. Vi điều khiển nào được lựa chọn để giao tiếp và định hướng điều khiển ngoại vi trong đồ án?
Đồ án sử dụng Board vi điều khiển Arduino Mega 2560 kết nối với máy tính để tiếp nhận mã kết quả nhận dạng từ phần mềm giao diện, phục vụ việc điều khiển cơ cấu mô hình trạng thái khuôn mặt.
Kết luận
Đồ án tốt nghiệp "Nhận dạng tiếng nói thể hiện trạng thái khuôn mặt" của tác giả Trương Minh Thiện đã nghiên cứu và hiện thực hóa thành công mô hình nhận dạng từ đơn tiếng Việt dựa trên kỹ thuật trích chọn đặc trưng MFCC 39 chiều, lượng tử hóa vector VQ K-means và mô hình Markov ẩn HMM. Hệ thống thử nghiệm trên tập 5 từ lệnh cảm xúc ("vui", "buồn", "mệt", "giận", "hiền") đạt độ chính xác trên 90% trong điều kiện hoạt động tiêu chuẩn và được tích hợp giao diện phần mềm cùng kết nối phần cứng Arduino Mega 2560. Công trình cung cấp tài liệu tham khảo có giá trị về phương pháp luận và kỹ thuật xử lý tín hiệu tiếng nói tiếng Việt, tạo cơ sở thực nghiệm cho các nghiên cứu phát triển hệ thống điều khiển tương tác người - máy bằng giọng nói.