CHƯƠNG 1: TỔNG QUAN VỀ HMMMô hình Markov ẩn tiếng Anh là Hidden Markov Model - HMM là mô hìnhthống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov vớicác tham số k
Trang 1KHOA SAU ĐẠI HỌC
TIỂU LUẬN
XỬ LÝ TÍN HIỆU SỐ
ĐỀ TÀI: ỨNG DỤNG CHUỖI MARKOV ẨN TRONG NHẬN DẠNG TIẾNG
NÓI
Giáo viên hướng dẫn: TS HOÀNG TRỌNG MINH
Hà Nội, tháng 03 năm 2020
Trang 2MỤC LỤC
DANH MỤC BẢNG BIỂU 4
DANH MỤC HÌNH VẼ 5
LỜI MỞ ĐẦU 6
CHƯƠNG 1: TỔNG QUAN VỀ MPEG-4 7
1.1 Khái niệm và đặc điểm của MPEG-4 7
1.2 Ưu điểm và nhược điểm của công nghệ MPEG-4 8
1.2.1 Ưu điểm 8
1.2.2 Nhược điểm 13
CHƯƠNG 2: CÔNG NGHỆ MÃ HOÁ VIDEO TRONG MPEG-4 14
2.1 Các bộ phận chức năng chính trong các thiết bị MPEG-4 15
2.2 Mã hoá hình dạng ngoài (Shape Coder) 17
2.3 Dự đoán và tổng hợp động 18
2.3.1 Ước lượng chuyển động 18
2.3.2 Kỹ thuật đệm 19
2.4 Giải mã MPEG-4 VOP 20
CHƯƠNG 3: CHUẨN NÉN MPEG – AVC 23
3.1 Cơ chế nén ảnh của MPEG-4 AVC (H.264) 23
3.1.1 Giảm bớt độ dư thừa 24
3.1.2 Nén theo miền thời gian 24
3.1.3 Nén theo miền không gian 25
3.2.2 Ưu điểm của nén thời gian 26
3.2.3 Kích cỡ khối 26
3.2.4 Ưu điểm về lượng tử hoá và biến đổi 28
3.2.5 Ưu điểm đối với mã hoá entropy 29
3.2.6 Một ví dụ về ưu thế của MPEG-4 so với MPEG-2 29
3.3 Kết luận 30
CHƯƠNG 4: ỨNG DỤNG CỦA MPEG-4 31
KẾT LUẬN 33
Trang 3DANH MỤC THUẬT NGỮ VIẾT TẮT
Trang 4DANH MỤC BẢNG BIỂU
Bảng 3.1 biểu diễn mức tiết kiệm tốc độ bit của MPEG-4 AVC so với một số chuẩnhiện có khác 29
Trang 5DANH MỤC HÌNH VẼ
Hình 1.1: Công cụ nén mới của MPEG-4 so với MPEG-2 10
Hình 1.2: MPEG4 có thể dự đoán các tham số trên 1 hàng, hay các thông số của cột bên trái từ một khối đầu tiên 10
Hình 1.3.a : Đầu vào của bộ mã hóa MPEG-2 là một ảnh hoàn chỉnh được lặp lại theo tần số ảnh (frame rate) 11
Hình 1.3.b : Bộ mã hóa MPEG-4 có thể xử lý các lệnh đồ họa một cách trực tiếp , do đó công cụ biểu diễn hình ảnh thực sự nằm trong bộ giải mã MPEG-4 11
Hình 1.4: MPEG4 đã chuẩn hóa phương pháp truyền các đối tượng 3 chiều nhờ các đối tượng lưới 12
Hình 2.1 Cấu trúc của bộ mã hoá và giải mã video MPEG-4 15
Hình 2.2 Sơ đồ cấu trúc giải mã video MPEG-4 16
Hình 2.3 sơ đồ thuật toán nén ảnh (a) 17
Hình 2.4 sơ đồ thuật toán nén ảnh (b) 18
Hình 2.5 Cấu trúc mã hóa một VOP 18
Hình 2.6 : Cấu trúc giải mã VOP 20
Hình 2.7 : Chất lượng đạt được của mã hóa video MPEG-4 cở sở khi mã hóa các Suzie chuỗi ở 3 tốc độ bit khác nhau 21
Hình 2.8 Chất lượng đạt được của cả hai H.263 và MPEG-4 tại tốc độ 128 kbit/s 22
(a )baseline MPEG-4 (b) H263 22
Hình 3.1 Sơ đồ khối mã hoá MPEG, đường đứt nét đặc trưng cho phần bổ sung của MPEG-4 AVC trong việc nén theo miền không gian 25
Hình 3.2 MPEG-4 AVC có thể phân chia thành phần chói của từng 27
Hình 3.3 So sánh chất lượng và tốc độ giữa MPEG-4 và MPEG-2 29
Hình 4.1 MPEG-4 và một số giao thức cơ bản trong truyền thông Multimedia trên Internet 31
Trang 6LỜI MỞ ĐẦU
Ngay khi máy tính ra đời con người đã mơ ước máy tính có thể nói chuyện vớimình Yêu cầu đơn giản nhất là máy có thể xác định được từ ngữ mà chúng ta nói vớimáy Đó là mục tiêu của ngành nhận dạng tiếng nói
Nhận dạng tiếng nói đóng vai trò quan trọng trong giao tiếp giữa người và máy
Nó giúp máy móc hiểu và thực hiện các hiệu lệnh của con người Hiện nay trên thếgiới, lĩnh vực nhận dạng tiếng nói đã đạt được nhiều tiến bộ vượt bậc Đã có nhiềucông trình nghiên cứu về lĩnh vực nhận dạng tiếng nói (Speech recognition) trên cơ sở
lý thuyết các hệ thống thông minh nhân tạo, nhiều kết quả đã trở thành sản phẩmthương mại như ViaVoice, Dragon , các hệ thống bảo mật thông qua nhận dạng tiếngnói, các hệ quay số điện thoại bằng giọng nói Triển khai những công trình nghiên cứu
và đưa vào thực tế ứng dụng vấn đề này là một việc làm hết sức có ý nghĩa đặc biệttrong giai đoạn công nghiệp hoá hiện đại hoá hiện nay của nước nhà
Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là phân lớp(classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự các mẫu đã đượchọc trước đó và lưu trữ trong bộ nhớ Các mẫu là các đơn vị nhận dạng, chúng có thể làcác từ, hoặc các âm vị Nếu các mẫu này là bất biến và không thay đổi thì công việcnhận dạng tiếng nói trở nên đơn giản bằng cách so sánh dữ liệu tiếng nói cần nhận dạngvới các mẫu đã được học và lưu trữ trong bộ nhớ Khó khăn cơ bản của nhận dạngtiếng nói đó là tiếng nói luôn biến đổi theo thời gian và có sự khác biệt lớn giữa tiếngnói của những người nói khác nhau, tốc độ nói, ngữ cảnh và môi trường âm học khácnhau Xác định những thông tin biến thiên nào của tiếng nói là có ích và những thôngtin nào là không có ích đối với nhận dạng tiếng nói là rất quan trọng Đây là một ứngdụng phổ biến trong các thiết bị công nghệ hiện nay Bài tiểu luận gồm 3 chương chính:
Chương 1: Tổng quan về HMM
Chương 2: Tiền xử lý tín hiệu tiếng nói
Chương 3: Mô hình nhận dạng tiếng nói sử dụng HMM
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ HMM
Mô hình Markov ẩn (tiếng Anh là Hidden Markov Model - HMM) là mô hìnhthống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov vớicác tham số không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham sốquan sát được, dựa trên sự thừa nhận này Các tham số của mô hình được rút ra sau đó
có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng thừa nhậnmẫu
Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi ngườiquan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất Mô hìnhMarkov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên các biểu hiệnđầu ra có thể Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra bởi HMM khôngtrực tiếp chỉ ra dãy các trạng thái Mô hình Markov ẩn (tiếng Anh là Hidden MarkovModel - HMM) là mô hình thống kê trong đó hệ thống được mô hình hóa được cho làmột quá trình Markov với các tham số không biết trước và nhiệm vụ là xác định cáctham số ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này Các tham số của
mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ chocác ứng dụng thừa nhận mẫu
Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi ngườiquan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất Mô hìnhMarkov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên các biểu hiệnđầu ra có thể Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra bởi HMM khôngtrực tiếp chỉ ra dãy các trạng thái
Trong mục này các nội dung cơ bản của mô hình HMM sẽ được giới thiệu baogồm: các định nghĩa, các tập hợp tham số, các vấn đề thiết yếu, các thuật toán chính của
mô hình HMM áp dụng vào nhận dạng tiếng nói Tiếp đó các thành phần chính của hệthống nhận dạng, các công đoạn chính của nhận dạng dựa vào mô hình HMM cũng sẽđược giới thiệu sơ qua
1.1 Nhắc lại về quá trình Markov
Trong lí thuyết xác suất, quá trình Markov là một quá trình mang tính ngẫu nhiên (stochastic process) với đặc tính như sau: trạng thái c k tại thời điểm k là một giá trị trong tập hữu hạn {1,…,M} Với giả thiết rằng quá trình chỉ diễn ra từ thời điểm 0 đến thời điểm N và rằng trạng thái đầu tiên và trạng thái cuối cùng đã biết, chuỗi trạng thái sẽ được biểu diễn bởi 1 vecto hữu hạn C={c 0 ,…,c N } Nếu P(c k |
Trang 8c 0 ,c 1 , ,c (k − 1) ) biểu diễn xác suất (khả năng xảy ra) của trạng thái c k tại thời điểm k khi đã qua mọi trạng thái cho đến (k-1) Giả sử trong thời điểm đó c k chỉ phụ thuộc vào trạng thái trước đó c k-1 và độc lập với các trạng thái trước khác Quá trình đó gọi
là quá trình Markov bậc một(first order Markov process) Có nghĩa là xác suất để xảy ra trạng thái c k tại thời điểm k, khi biết trước mọi trạng thái cho đến thời điểm k-
1 chỉ phụ thuộc vào trạng thái trước, ví dụ trạng thái ck-1 tại thời điểm k-1 Khi đó ta
Trạng thái hữu hạn nghĩa là số m là hữu hạn
Thời gian rời rạc, nghĩa là việc chuyển từ trạng thái này sang trạng thái khác cùng mất một đơn vị thời gian
Quan sát không tốn bộ nhớ, nghĩa là chuỗi các quan sát có xác suất chỉ phụ thuộc vào trạng thái ngay trước đó (nên không cần lưu bộ nhớ nhiều)
1.2 Các thông số của mô hình Markov ẩn
Một mô hình Markov ẩn bao gồm các thông số như:
Số trạng thái ‘state’ N có trong mô hình và các trạng thái này là ẩn Các trạng thái này sẽ được biểu thị tương ứng với giá trị S=(S1, …., SN) gọi
là tập tất cả các trạng thái ẩn
M, Số symbol trên mỗi dãy quan sát trong một ‘State’ Các symbol này
sẽ được biểu thị tương ứng bởi các giá trị V=(V¬1, …, VM) gọi là tập tất cả các ký hiệu quan sát được
Trang 9A= [aij] xác suất chuyển trạng Trong trường hợp đặc biệt, khi các trạng thái là như nhau trong một bước đơn, ta có aij > 0 đối với tất cả các giá trị i và j Trong một vài loại hình khác của HMM, ta chi aij = 0 cho một vài căp (i,j).
B=[bij] xác suất nhả ký hiệu
p= [pi] xác suất khởi trạng qt
- Trạng thái ở thời điểm t
Ot= (ký hiệu) Quan sát tại thời điểm t
Kĩ thuật mã hóa video nén theo hướng đối tượng MPEG-4 mà hiện nay đang đuợc
sử dụng rất nhiều như 1 công cụ mã hóa với nhiều tính năng ưu việt
1.3 Các chuyển tiếp trạng thái trong mô hình Markov ẩn
Hình 1.1 Ví dụ về mô hình Markov Trong đó:
x – là các trạng thái trong mô hình Markov
a – là các xác suất chuyển
b – là các xác suất đầu ra
Trang 10y – là các dữ liệu quan sát
Ví dụ cụ thể minh hoạ sự chuyển tiếp trạng thái trong mô hình Markov ẩn:
Giả sử tôi có một người bạn sống ở rất xa Hàng ngày chúng tôi gọi điện thoạicho nhau và anh ta kể cho tôi nghe anh ta đã làm gì trong ngày Người bạn tôi chỉ có 3công việc mà anh thích làm là
"Nắng", nhưng tôi không quan sát trực tiếp, do đó, chúng là ẩn đối với tôi Vào mỗingày, anh bạn tôi sẽ làm một trong các việc sau phụ thuộc vào thời tiết hôm đó là "đidạo", "đi chợ" và "dọn phòng" Vì anh bạn tôi đã tường thuật lại hoạt động của mình,
đó là các dữ liệu quan sát Toàn bộ hệ thống này là một mô hình Markov ẩn (HMM).Tôi biết được xu hướng thời tiết nói chung và tôi cũng biết bạn tôi thường thích làm
gì Nói cách khác, các thông số của HMM đã biết Thực tế, chúng ta có thể mô tả điềunày bằng ngôn ngữ lập trình Python:
khả_năng_loại_bỏ = { 'Mưa' : {'đi dạo': 0.1, 'đi chợ': 0.4, 'dọn phòng': 0.5},
'Nắng' : {'đi dạo': 0.6, 'đi chợ': 0.3, 'dọn phòng': 0.1}, }
Trong đoạn câu lệnh trên, khả_năng_ban_đầu cho thấy tôi không chắc về trạngthái HMM khi người bạn đầu tiên gọi điện cho tôi (tất cả cái tôi biết là trời có vẻmưa) khả_năng_chuyển_dịch cho thấy những thay đổi về thời tiết trong chuỗiMarkov Trong ví dụ này, chỉ có 30% khả năng ngày mai trời sẽ nắng nếu hôm nay
Trang 11trời mưa Khả_năng_loại_bỏ cho thấy anh bạn thích làm những việc gì mỗi ngày Nếutrời mưa thì có đến 50% khả năng anh bạn này sẽ dọn phòng, trong khi trời nắng thì60% khả năng anh ta sẽ đi dạo.
1.4 Mô hình HMM
Một tiến trình được gọi là quá trình Markov (Markov process) nếu xác suất của một
sự kiện tại một thời điểm bị ràng buộc bởi các sự kiện trong quá khứ xác định Nhưvậy, mô hình Markov là một mô hình thống kê thuần túy Trạng thái giúp chúng ta hiểuđược sự biến đổi của sự kiện theo thời gian Biến cố chính trong quá trình Markov là
“đạt trạng thái i tại thời điểm t” Một quá trình Markov được sử dụng trong các hệthống nhận dạng tiếng nói tự động (Automatic Speech Recognition - ASR) tuân theocác điều kiện sau:
1 Chỉ tồn tại một thời điểm phân biệt trong chuỗi thời gian t=1, 2, …,T;
2 Chỉ có một số lượng trạng thái xác định {st}= {i}, i=1, 2, …, n;
2 Trạng thái hiện tại và quá khứ chỉ là cách nhau một bước:
P(st| st-1,st-2, …, st-k) = P(st | st-1)Nhiệm vụ chính của quá trình Markov là tạo ra chuỗi trạng thái S=s1, s2,…,sT Mô hình Markov ẩn HMM được phát triển dựa trên mô hình Markov
Tập tham số thứ nhất : Xác suất chuyển trạng thái (transition probabilities)
được định nghĩa như sau:
aij = P(st =j|st-1=i)
Trang 12Nghĩa của aij là: xác suất chuyển trạng từ trạng thái i tại thời điểm t-1sang trạng thái j tại thời điểm t Chúng ta gọi ma trận A={aij} là ma trận chuyển trạng thái Đối với mô hình Markov, khi trạng thái trước được xác định thì xác suất chuyển trạng thái tới trạng thái tiếp theo cũng hoàn toàn xác định.
Tập tham số thứ hai:
Để áp dụng HMM vào các sóng âm thanh, một hàm thống kê sẽ được gắn vào cáctrạng thái Đầu tiên sóng âm tiếng nói sẽ được chuyển đổi thành chuỗi các vectơ đặctrưng theo thời gian (sẽ được giới thiệu trong phần trích rút đặc trưng sóng âm) Chuỗicác vectơ đặc trưng này gọi là chuỗi các vectơ quan sát O=o1,o2,…,oT , với ot là vectơđặc trưng cho chuỗi sóng âm tại t Xác suất mà hàm thống kê nói trên chính là xác suấtvectơ đặc trưng ot đạt trạng thái j tại thời điểm t Xác suất này gọi là xác suất quan sáthay xác suất đầu ra và nó đặc trưng cho tập tham số thứ hai của HMM:
Bj (ot)=P(ot|st=j), (t=1,2,…,T; j=1,2,…,n)
Đặt B={bj (ot)}
Bộ ba l = (A, B, p) được coi là ký pháp gọn của một mô hình Markov ẩn A, B
và p được gọi là những tham số (parameters) của mô hình l.
Tổng quát mô hình HMM có thể khởi tạo tại bất kì trạng thái nào Xác xuất môhình HMM khởi tạo tại trạng thái i kí hiệu là πi Tập xác suất π={πi}, gọi là tập xác suấtkhởi tạo mô hình HMM Tuy nhiên trong bài toán nhận dạng tiếng nói hầu hết các môhình HMM đều khởi tạo tại trạng thái đầu tiên nên chúng ta không cần tới tập xác suấtnày
Như vậy ta trong nhận dạng tiếng nói một mô hình HHM λ sẽ được đặc trưng bởi tập trạng thái và 2 tập tham số A và B nói trên: λ=(A, B)
Tập hợp các trạng thái và ba tập hợp các tham số xác định một mô hình HMM Nó đặc trưng cho một tiến trình không biết trước thứ tự được mô tả
Trang 13Hình 1.1 Mô hình HMM 5 trạng thái 1.4.2 Ba vấn đề cơ bản của HMM và cách giải quyết
Giả sử cho một HMM λ=(A, B) và chuỗi quan sát O= O1, O2, …, On Tất cả các ứngdụng dựa trên mô hình Markov ẩn sẽ phải giải quyết ba vấn đề [1] sau:
i V ấn đề tính toán: Làm sao để tính được P(O| λ) (xác suất của việc xuất
hiện chuỗi quan sát O trong mô hình HMM) với khối lượng tính toán tối thiểu
ii V ấn đề ước lượng tham số cho HMM : Vấn đề này được đặt ra trong quá
trình huấn luyện Chúng ta sẽ xác định các mô hình λ dựa vào dữ liệu huấn luyện Làmsao xác định được các tham số của mô hình HMM λ=(A, B) sao cho P(O|S,λ) (hoặcP(O,S| λ) ) là lớn nhất
iii V ấn đề giải mã (decoding): Cho một mô hình HMM λ đã được huấn
luyện Làm sao chúng ta tính được chuỗi trạng thái S=s1, s2, … sT tương ứng với chuỗiquan sát O sao cho xác suất P(O,S| λ) (chuỗi trạng thái của chuỗi quan sát O trùng vớichuỗi S) là lớn nhất
1.4.2.1 Giải quyết vấn đề tính toán Thuật toán tính xuôi và tính ngược
Thuật toán tính xuôi (The Forward Algorithm) Hàm forward αt(i) được định nghĩa như sau:
αt(i) = P(O1, O2, …, Ot,st=i| λ)
ý nghĩa của αt(i) là xác suất kết của việc quan sát t vectơ sóng âm đầu tiên đạt trạng thái i tại thời điểm t
1 a1(i) = pibi(O1), (1 £ i £ N) (N là số trạng thái s)
Trang 14Như vậy chúng ta có thể tính được xác suất:
• Thuật toán tính ngược (The Backward Algorithm): Hàm backward βt(i) được t(i) được
định nghĩa như sau:
βt(i) được t(i) = P(Ot+1, Ot+2, …, OT| st=i, λ)
Ý nghĩa của hàm này như sau: nó là xác suất kết của chuỗi vectơ sóng âm thứ i+1đến vectơ sóng âm thứ T với trạng thái i tại vectơ thứ t và mô hình λ Nó khác trường hợpthuật toán forward là trạng thái tại vectơ đặc trưng thứ t (là trạng thái i) là biết trước.Chúng ta có thể tính βt(i) được t (i) đệ qui như sau:
1.4.2.2 Giải quyết vấn đề ước lượng tham số cho mô hình HMM Thuật toán huấn luyện Baum-Welch
Có hai thuật toán để giải quyết vấn đề này: đó là thuật toán phân đoạn K-mean
và thuật toán Baum-Welch
Thuật toán ước lượng tham số Baum-Welch: Ở đây tham số của mô hìnhλ=(A,B) được tính toán nhằm tăng xác suất P(O|λ) cho đến khi nó đạt giá trị cực đại