Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
1,63 MB
Nội dung
Học viện Cơng nghệ Bưu Viễn thơng TPHCM BÁO CÁO MÔN XỬ LÝ ẢNH ĐỀ TÀI: NHẬN DẠNG TIẾNG NĨI Giáo viên hướng dẫn: PGS.TS.Lê Hồng Thái Thực báo cáo: D18CQCN01 - N18DCCN187 - Nguyễn Văn Tiến Giới thiệu Giọng nói phương tiện giao tiếp người trưởng thành Mục tiêu xử lý giọng nói cung cấp tương tác người máy móc Giọng nói sinh trắc học dễ tiếp cận không cần thêm thiết bị thu nhận hệ thống truyền dẫn Thực tế mang lại cho giọng nói lợi vượt trội so với đặc điểm sinh trắc học khác, đặc biệt hệ thống điều kiển từ xa phát triển Nhận dạng tiếng nói làm cho máy hiểu, nhận biết ngữ nghĩa lời nói Đây q trình biến đổi tín hiệu âm thu qua micro, qua thiết bị thu khác… thành chuổi từ, sau nhận dạng để sử dụng ứng dụng điều khiển thiết bị, nhập dữliệu soạn thảo văn lời… đưa đến q trình xử lý ngơn ngữ mức cao Nhận dạng tiếng nói q trình phức tạp bao gồm nhiều khâu biến đổi Tín hiệu mà người phát tín hiệu tuơng tự, qua q trình lấy mẫu, lượng tử hoá mã hoá để thu mẫu tín hiệu dạng số (tín hiệu mà máy tính hiểu xử lý được) Các mẫu tín hiệu trích chọn đặc trưng Những đặc trưng đầu vào cho trình nhận dạng Sau nhận dạng tín hiệu người dùng phát âm, hệ thống đưa kết nhận dạng Tuỳ thuộc vào mơ hình ứng dụng mà cho dạng đầu khác Do tính chất tiếng nói phụ thuộc vào nhiều yếu tố nên việc thu nhận, phân tích đặc trưng tiếng nói việc khơng dễ Ở đây, nêu số yếu tố khó khăn cho tốn nhận dạng tiếng nói: Khi phát âm, người nói thường nói nhanh, chậm khác Các từ nói thường dài ngắn khác nhau. Một người nói từ, hai lần phát âm khác Kết phân tích khác Mỗi người có chất giọng riêng thể thông qua độ cao, độ to, cường độ âm âm sắc Những yếu tố nhiễu môi trường, nhiễu thiết bị thu…ảnh hưởng khơng nhỏ tới hiệu nhận dạng Có thể thấy nhận dạng tiếng nói lĩnh vực nghiên cứu có nhiều ứng dụng thực tế Các hệ thống nhận dạng góp phần lớn việc thúc đẩy phát triển nhiều ngành Tuy lĩnh vực mang ý nghĩa to lớn đó, việc phát triển hệ thống nhận dạng gặp khơng khó khăn, Việt Nam kết nghiên cứu nhận dạng tiếng Việt chưa nhiều, sở hạ tầng cho việc nghiên cứu Phân biệt speaker identification speaker verification Về ứng dụng, Speaker Recognition phân loại thành speaker identification (nhận dạng người nói) speaker verification (xác thực người nói) Theo đó, nhận dạng người nói trình xác định nguồn phát (người nói) phát âm định, gán danh tính cho giọng nói người chưa biết cách so sánh mẫu giọng nói lấy từ người chưa xác định với mẫu giọng nói từ nhiều người biết Cịn xác minh người nói q trình chấp nhận từ chối danh tính mà người nói xác nhận cách so sánh mẫu giọng nói lấy từ người xác nhận với mẫu giọng nói xác định người có danh tính xác nhận Speaker identification Speaker verification Về phương pháp, Speaker Recognition chia thành tiếp cận dựa văn (text-dependent) tiếp cận không phụ thuộc vào văn (text-independent) Text-dependent Phương pháp dựa văn (text-dependent) yêu cầu người nói cung cấp từ câu để sử dụng cho q trình đào tạo nhận dạng (VD: "Open, sesame", "12-34-56", ) Vì khai thác đặc tính biến đổi tiếng nói theo âm vị âm tiết, nên phương pháp dựa văn thường đạt độ xác nhận dạng cao so với phương pháp không phụ thuộc văn Tuy nhiên, để tránh việc ghi âm trộm, hệ thống nâng cao thành Text-Prompted Speaker Recognition Đối với phương pháp này, câu “chìa khóa” thay đổi liên tục lần truy cập Hệ thống chấp nhận lời nói đầu vào xác định người cấp quyền thực câu lệnh máy cung cấp Phương pháp khơng nhận dạng xác người nói mà cịn giúp phịng tránh trường hợp giọng nói ghi âm phát lại Một số kỹ thuật phổ biến truyền thống phương pháp text-dependent DTW (Dynamic Time Warping – quy hoạch thời gian động) sử dụng mơ hình HMM (Hidden Markov Model – mơ hình Markov ẩn) Text-independent Phương pháp text-independent khơng dựa vào văn định nghĩa trước cụ thể Do đó, ưu điểm phương pháp nhận người nói độc lập với nội dung câu phát âm Vì khó mơ hình hóa so khớp mẫu tiếng nói cấp độ từ câu, nên phương pháp không dựa văn bản, kỹ thuật mơ hình hóa tồn câu phát âm sử dụng phương pháp thống kê thường sử dụng Trích chọn đặc trưng MFCC Trong nhận dạng tiếng nói, kỹ thuật trích chọn đặc trưng MFCC (Mel-frequency cepstral coefficients) phương pháp phổ biến dựa việc thực biến đổi để chuyển liệu âm đầu vào (đã qua biến đổi Fourier) thang đo tần số Mel, thang đo diễn tả nhạy cảm tai người âm Kỹ thuật trích chọn đặc trưng gồm bước biến đổi sau, kết tập gồm 39 giá trị đặc trưung cho frame tiếng nói 2.1 ADC Bước nhận diện giọng nói cần truyền sóng âm vào máy tính Sóng âm có chiều liệu Ở thời điểm, chúng có giá trị cao độ Để chuyển sóng âm thành số, cần ghi lại độ cao sóng khoảng Ta dùng biến đổi ADC (Analog-toDigital Converter) để chuyển tín hiệu tương tự sang tín hiệu số hình Tín hiệu tương tự Tín hiệu số Tiếng nói trước phân tích nhận dạng cần phải rút trích đặc trưng Bởi liệu tiếng nói có nhiều thơng tin nên rút trích thơng tin cần thiết cho việc nhận dạng Đặc trưng rút trích phổ tần rời rạc biến đổi tần số tín hiệu tiếng nói Theo định lý lấy mẫu Nyquist–Shannon: với tín hiệu có tần số thành phần ≤ fm, để đảm bảo việc lấy mẫu không làm mát thông tin (aliasing), tần số lấy mẫu fs phải đảm bảo fs ≥ 2fm Vậy để đảm bảo việc lấy mẫu không làm mát thông tin, tần số lấy mẫu fs = 44100 Hz Tuy nhiên nhiều trường hợp, người ta cần lấy fs = 8000Hz fs = 16000Hz 2.2 Pre-emphasis Các phận tham gia vào hình thành tiếng nói người có đặc điểm: âm tần số thấp có mức lượng cao, âm tần số cao lại có mức lượng thấp Trong đó, tần số cao chứa nhiều thông tin âm vị Vì cần bước pre-emphasis để tăng cường độ tần số cao lên nhằm làm tăng lượng vùng có tần số cao, làm tiếng nói lớn để âm mơi trường nhiễu trở nên không đáng kể 2.3 Windowing Trong hệ thống nhận dạng tiếng nói, với mục đích nâng cao độ xác việc nhận dạng tiếng nói, thay nhận dậng từ riêng biệt, từ phân tích thành âm vị hệ thống nhận dạng âm vị Thay biến đổi Fourier đoạn âm dài, ta trượt cửa sổ dọc theo tín hiệu cắt đoạn tín hiệu âm đầu vào thành mẫu tín hiệu có thời lượng nhỏ gọi frame áp dụng DFT frame ( DFT - Discrete Fourier Transform) Tốc độ nói người trung bình khoảng 3, từ giây, từ khoảng 3-4 âm, âm chia thành 3-4 phần, giây âm chia thành 36 - 40 phần, ta chọn độ rộng frame khoảng 20 - 25ms vừa đủ rộng để bao phần âm Các frame overlap lên khoảng 10ms để capture lại thay đổi context Tuy nhiên, việc cắt frame làm giá trị biên frame bị giảm đột ngột (về giá trị 0), dẫn tới tượng: DFT sang miền tần số có nhiều nhiễu tần số cao Để khắc phục điều này, ta cần làm mượt cách nhân chập frame với vài loại window Có vài loại window phổ biến Hamming window, Hanning window có tác dụng làm giá trị biên frame giảm xuống từ từ từ Hình cho ta thấy rõ tác dụng window Trong hình nhỏ, hình frame cắt từ âm gốc, âm gốc kết hợp sóng hình Nếu áp dụng rectangle window (tức cắt trực tiếp), tín hiệu miền tần số tương ứng hình 3, ta thấy tín hiệu chứa nhiều nhiễu Nếu áp dụng window Hanning, Hamming, Blackman, tín hiệu miền tần số thu mượt sóng gốc hình 2.4 DFT Trên frame, ta áp dụng DFT - Discrete Fourier Transform theo công thức: Mỗi frame ta thu list giá trị độ lớn (magnitude) tương ứng với tần số từ 0→N Áp dụng tất frame, ta thu Spectrogram hình Trục x trục thời gian (tương ứng với thứ tự frame), trục y thể dải tần số từ →10000 Hz, giá trị magnitude tần số thể màu sắc Qua quan sát spectrogram này, ta nhận thấy tần số thấp thường có magnitude cao, tần số cao thường có magnitude thấp Hình spectrogram nguyên âm Quan sát spectrogram từ lên, người ta nhận thấy có vài tần số đặc trưng gọi formant, gọi tần số F1, F2, F3 Các chuyên gia ngữ âm học dựa vào vị trí, thời gian, thay đổi formant spectrogram để xác định đoạn âm âm vị Như ta biết cách tạo spectrogram Tuy nhiên nhiều toán (đặc biệt speech recognition), spectrogram lựa chọn hồn hảo Vì ta cần thêm vài bước tính để thu dạng MFCC, tốt hơn, phổ biến hơn, hiệu spectrogram 2.5 Mel filterbank Để mơ tả xác tiếp nhận tần số hệ thống thính giác, người ta xây dựng thang khác – thang Mel Việc chuyển đổi sang miền tần số Mel làm nhẵn phổ làm lên tần số cảm thụ có nghĩa Biến đổi Fourier lên tín hiệu qua lọc thơng dải để làm đơn giản phổ mà không làm liệu Điều thực cách tập hợp thành phần phổ thành dải tần số Phổ làm đơn giản hóa sử dụng dàn lọc để tách phổ thành kênh Các lọc đặt cách thang Mel lấy logarit thang tần số, kênh có tần số thấp khơng gian tuyến tính kênh có tần số cao không gian logarit Tai người không cảm nhận thay đổi tần số tiếng nói tuyến tính mà theo thang mel Thang tần số Mel tuyến tính tần số 1kHz logarit tần số cao 1kHz Ta chọn tần số 1kHz, 40 dB ngưỡng nghe 1000 Mel Do cơng thức gần biểu diễn quan hệ tần số thang mel thang tuyến tính sau: Một phương pháp để chuyển đổi sang thang Mel sử dụng băng lọc Khoảng cách băng lọc đƣợc định nghĩa số tần số mel theo thời gian Biến đổi phổ S(w) bao gồm đầu lọc S(w) đầu vào Băng lọc áp dụng miền tần số, xem điểm thu lọc (Hình 2.8) Với khung nhỏ tốt sử dụng lọc dạng tam giác chí hình chữ nhật độ phân giải thấp miền tần số thấp 2.6 Log Mel filterbank trả phổ cơng suất âm thanh, hay cịn gọi phổ lượng Thực tế người nhạy cảm thay đổi lượng tần số cao, nhạy cảm tần số thấp Vì ta tính log Mel-scale power spectrum Điều cịn giúp giảm biến thể âm khơng đáng kể để nhận dạng giọng nói 2.7 IDFT - Inverse DFT Như mô tả phần trước, giọng nói có tần số F0 - tần số formant F1, F2, F3 Tần số F0 nam giới khoảng 125 Hz, nữ 210 Hz, đặc trưng cho cao độ giọng nói người Thơng tin cao độ khơng giúp ích nhận dạng giọng nói, nên ta cần tìm cách để loại thơng tin F0 đi, giúp mơ hình nhận dạng khơng bị phụ thuộc vào cao độ giọng người Trong hình này, tín hiệu thu đồ thị 3, thông tin quan trọng cần phần 2, thông tin cần loại bỏ phần Để loại bỏ thông tin F0, ta làm bước biến đổi Fourier ngược (IDFT) miền thời gian, ta thu Cepstrum Nếu để ý kỹ, ta nhận tên gọi "cepstrum" thực đảo ngược chữ đầu "spetrum" Khi đó, với Cepstrum thu được, phần thông tin liên quan tới F0 phần thông tin liên quan tới F1, F2, F3 nằm tách biệt phần khoanh tròn hình Ta đơn giản lấy thơng tin đoạn đầu cepstrum (phần khoanh tròn to hình 4) Để tính MFCC, ta cần lấy 12 giá trị Phép biến đổi IDFT tương đương với phép biến đổi DCT discrete cosine transformation DCT phép biến đổi trực giao Về mặt toán học, phép biến đổi tạo uncorrelated features, hiểu feature độc lập có độ tương quan với Trong thuật toán Machine learning, uncorrelated features thường cho hiểu tốt Như sau bước này, ta thu 12 Cepstral features 2.8 Dynamic features Như vậy, frame ta extract 12 Cepstral features làm 12 feature MFCC feature thứ 13 lượng frame đó, tính theo cơng thức: Trong nhận dạng tiếng nói, thơng tin bối cảnh thay đổi quan trọng VD điểm mở đầu kết thúc nhiều phụ âm, thay đổi rõ rệt, nhận dạng âm vị dựa vào thay đổi 13 hệ số đạo hàm bậc (theo thời gian) 13 feature Nó chứa thơng tin thay đổi từ frame thứ tt đến frame t+1 Công thức: Tương tự vậy, 13 giá trị cuối MFCC thay đổi d(t) theo thời gian - đạo hàm d(t), đồng thời đạo hàm bậc c(t) Công thức: Vậy, từ 12 cepstral feature power feature thứ 13, ta đạo hàm lần thu 39 feature Đây MFCC feature Cùng nhìn lại tồn q trình để tạo MFCC: Mơ hình HMM (Hidden Markov Models) Mơ hình Markov ẩn (HMM) mơ hình thống kê hệ thống mơ hình hóa cho q trình Markov với tham số khơng biết trước nhiệm vụ xác định tham số ẩn từ tham số quan sát được, dựa thừa nhận Các tham số mô hình rút sau sử dụng để thực phân tích kế tiếp, ví dụ cho ứng dụng nhận dạng mẫu Các ký hiệu sử dụng mơ hình Markov ẩn là: M: số ký hiệu quan sát S = {s1, s2, , sN}: tập trạng thái O = {O1, O2, , OT}: tập trạng thái quan sát Q = {Q1, Q2, , QT}: tập trạng thái ẩn V = {v1, v2, …, vM}: tập rời rạc ký hiệu quan sát π= {π1, π2, …, πN}: tập phân bố xác suất cho trạng thái khởi đầu, πi xác suất để trạng thái i chọn thời điểm khởi đầu t = 1; πi = P(q1 = i); A = {aij}: ma trận xác suất chuyển với aijlà xác suất để trạng thái j xuất thời điểm t+1 trạng thái i xuất thời điểm t Giả thuyết aij độc lập với thời gian t: aij= P(qt+1 = j/qt = i), 𝐵 = {𝑏𝑗 (𝑣𝑘)}: hàm đo xác suất phát xạ mẫu, bj(vk) = P(𝑣𝑘được phát sinh mơ hình trạng thái j) Bộ ba 𝜆 = (𝐴, 𝐵, 𝜋) coi ký pháp gọn mơ hình Markov ẩn A, B π gọi tham số (parameters) mơ hình λ Hoạt động HMM mơ tả sau: thời điểm t = 1, mơ hình trạng thái q1 phát sinh ký hiệu quan sát định O1, sau đó, thời điểm t = 2, mơ hình chuyển sang trạng thái q2 phát sinh ký hiệu quan sát O2 Cứ tiếp tục thời điểm t = T, mơ hình phát sinh dãy quan sát O = (O1, O2, , OT) dãy trạng thái Q = (Q1, Q2, , QT) Dãy trạng thái Q phụ thuộc vào xác suất chọn trạng thái khởi đầu πi xác suất chuyển aij Dãy ký hiệu quan sát {Ot} HMM phát sinh phụ thuộc vào dãy trạng thái Q hàm đo xác suất phát xạ mẫu bj(.) Trong trường hợp tập V ký hiệu quan sát không gian mẫu không đếm được, hàm bj(.) có thểcho hàm mật độ phân phối xác suất 3.1 Huấn luyện mơ hình Markow ẩn Bài tốn: Với dãy huấn luyện O cần hiệu chỉnh tham số mơ hình λ để cực đại hóa P(O/λ) Ta có: 𝑃(𝑂,𝑄/𝜆) = 𝜋𝑞1 𝑏𝑞1(𝑂1) 𝑎𝑞1𝑞2 𝑏𝑞2(𝑂2) 𝑎𝑞2𝑞3 … 𝑎𝑞𝑇−1𝑞𝑇 𝑏𝑞𝑇(𝑂𝑇) Và Đặt 𝛼𝑡(𝑖) = 𝑃(𝑂1,𝑂2, … ,𝑂𝑡, 𝑞𝑡 = 𝑖/𝜆) 𝛽𝑡(𝑖) =𝑃(𝑂𝑡+1,𝑂𝑡+2, … ,𝑂𝑇/𝑞𝑡 = 𝑖, 𝜆), ≤ t ≤ T với giá trị khởi tạo 𝛼1(𝑖) = 𝜋𝑖𝑏𝑖(𝑂1) 𝛽𝑇(𝑖) = 1, ≤ 𝑖 ≤ 𝑁 Định nghĩa công thức truy hồi 𝑎𝑡+1(𝑗) Tương tự, định nghĩa cơng thức 𝛽𝑡(𝑖) cho tính tốn ngược sau: Thuật toán tiến lùi Baum-Welch (Forward-Backward Baum-Welch algorithm): Bước Xác định: Bước Xác định: Bước Chỉnh tham số: Bước Nếu 𝑃(𝑂/𝜆𝑚ớ𝑖) ≤ 𝑃(𝑂/λ𝑐ũ) kết thúc Ngược lại quay lại bước 3.2 Nhận dạng mô hình Markow ẩn Bài tốn: Cho mơ hình 𝜆 = (𝐴, 𝐵, 𝜋) một dãy quan sát 𝑂 = (O1, O2, , OT) Cần tìm dãy trạng thái 𝑄 = (Q1, Q2, , QT) để xác suất 𝑃(𝑂,𝑄/𝜆) Thuật toán Viterbi: Bước Gọi Bước Khởi tạo sở quy hoạch đợng: 𝑓(1,𝑗) = 𝜋𝑗𝑏𝑗(𝑂1) Bước Tính bảng phương án 𝑓 bằng công thức truy hồi: Lưu vết: Bước Tìm dãy trạng thái tối ưu: 𝑞𝑇 = 𝑎𝑟𝑔 max 𝑓(𝑇,𝑗) 𝑞𝑡 = 𝑇𝑟𝑎𝑐𝑒(𝑡 + 1, 𝑞𝑡 +1),𝑡 = 𝑇 −1, 𝑇 − 2, … ,1 Ứng dụng - Ứng dụng việc nhập liệu: Chuyển giọng nói thành văn xem ứng dụng phổ biến cơng nghệ nhận dạng giọng nói Người dùng khơng xài giọng nói phương thức nhập liệu mà thân thiết bị dùng giọng nói để đọc thơng tin cần thiết Nó mang lại lợi ích to lớn cho người khiếm thị mà họ tận hưởng tiến cơng nghệ tương tự mà người bình thường làm - Ứng dụng việc điều khiển nhà thơng minh: Cơng nghệ nhận dạng giọng nói xu hướng sản phẩm nhà thông minh Giờ chủ nhà thực thao tác bật tắt thiết bị điện, thiết bị an ninh giọng nói mình, khơng cần phải thao tác qua smartphone trước Thực nghiệm Môi trường: Python 3, thư viện hmmlearn để huấn luyện mơ hình, librosa để xử lý âm Chuẩn bị: 600 file audio gán nhãn trước cho mơ hình từ "có thể", "khơng", "người", "tơi", "những" Trích suất đặc trưng MFCC Chia train/test Sử dụng package GausianHMM hmmlearn Và kết ma trận chuyển trạng thái từ "có thể" Kết train ... số cao, làm tiếng nói lớn để âm môi trường nhiễu trở nên không đáng kể 2.3 Windowing Trong hệ thống nhận dạng tiếng nói, với mục đích nâng cao độ xác việc nhận dạng tiếng nói, thay nhận dậng từ... identification (nhận dạng người nói) speaker verification (xác thực người nói) Theo đó, nhận dạng người nói q trình xác định nguồn phát (người nói) phát âm định, gán danh tính cho giọng nói người chưa... nêu số yếu tố khó khăn cho tốn nhận dạng tiếng nói: Khi phát âm, người nói thường nói nhanh, chậm khác Các từ nói thường dài ngắn khác nhau. Một người nói từ, hai lần phát âm khác Kết