hệ nhận dạng chữ viết tay
Trang 1áp dụng vào thực tế Các bài toán nhận dạng đang được ứng dụng trong thực
tế hiện nay tập trung vào nhận dạng mẫu, nhận dạng tiếng nói và nhận dạngchữ Trong số này, nhận dạng chữ là bài toán được quan tâm rất nhiều và cũng
đã đạt được nhiều thành tựu rực rỡ Các ứng dụng có ý nghĩa thực tế lớn có thể
kể đến như: nhận dạng chữ in dùng trong quá trình sao lưu sách báo trong thưviện, nhận dạng chữ viết tay dùng trong việc phân loại thư ở bưu điện, thanhtoán tiền trong nhà băng và lập thư viện sách cho người mù (ứng dụng này cónghĩa: scan sách bình thường, sau đó cho máy tính nhận dạng và trả về dạng tàiliệu mà người mù có thể đọc được)
Xuất phát từ yêu cầu thực tế, đang rất cần có nhưng nghiên cứu về vấn đềnày Chính vì vậy tôi đã chọn đề tài nhận dạng ký tự viết tay làm đồ án tốtnghiệp với mong muốn phần nào áp dụng vào bài toán thực tế
Bài toán đã đặt ra phải giải quyết được những yêu cầu sau:
Nhận dạng được các ký tự từ ảnh đầu vào
Trích chọn được các đặc trưng của ảnh
Tiến hành nhận dạng với thuật toán Markov ẩn
Với nhưng yêu cầu đã đặt ra ở trên, cấu trúc của khóa luận sẽ bao gồmnhững nội dung sau đây:
Chương 1: Giới thiệu đề tài
Giới thiệu về bài toán nhận dạng chữ viết tay, tình hìnhnghiên cứu trong và ngoài nước, quy trình chung để giải quyết bàitoán và các phương pháp điển hình trong việc huấn luyện nhận dạng,phạm vi của đề tài
Chương 2: Cơ sở lý thuyết về tiền xử lý ảnh ký tự và trích chọn đặc trưng
Trang 2Trình bày lý thuyết về lọc nhiễu, nhị phân hóa, chuẩn hóakích thước, trích chọn đặc trưng ảnh ký tự.
Chương 3: CƠ SỞ LÝ THUYẾT VỀ MARKOV ẨN
Trình bày các khái niệm cơ bản, thuật toán của mô hìnhMarkov
Chương 4: ỨNG DỤNG MÔ HÌNH MARKOV ẨN TRONG NHẬN DẠNG CHỮ VIẾT TAY
Giới thiệu về thuật toán nhận dạng Các bước cài đặt thuậttoán Những khó khăn và giải pháp khắc phục
Chương 5: CÀI ĐẶT CHƯƠNG TRÌNH VÀ ĐÁNH GIÁ KẾT QUẢ
Trình bày môi trường cài đặt, giao diện chương trình, một sốclass chính của chương trình Đánh giá kết quả và đưa ra hướngphát triển trong tương lại
Phụ lục: Danh mục hình vẽ, bảng biểu và tài liệu tham khảo.
Đồ án này không tránh khỏi sự thiếu sót do hạn chế về thờigian cũng như kiến thức Em rất mong nhận được sự đóng góp ýkiến của thầy hướng dẫn và các bạn để đạt kết quả tốt hơn
Trang 3CHƯƠNG I : GIỚI THIỆU ĐỀ TÀII.1 Giới thiệu về nhận dạng chữ viết tay
Nhận dạng chữ in: đã được giải quyết gần như trọn vẹn (sản phẩmFineReader 9.0 của hãng ABBYY có thể nhận dạng chữ in theo 192 ngôn ngữkhác nhau, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 của Viện Công nghệThông tin Hà Nội có thể nhận dạng được các tài liệu chứa hình ảnh, bảng vàvăn bản với độ chính xác trên 98%)
Nhận dạng chữ viết tay: vẫn còn là vấn đề thách thức lớn đối với các nhànghiên cứu Bài toàn này chưa thể giải quyết trọn vẹn được vì nó hoàn toàn phụthuộc vào người viết và sự biến đổi quá đa dạng trong cách viết và trạng tháisức khỏe, tinh thần của từng người viết
I.1.1 Các giai đoạn phát triển
- Mô hình nhận dạng chữ viết được đề xuất từ năm 1951 do phát minhcủa M Sheppard được gọi là GISMO, một robot đọc-viết
- Năm 1954, máy nhận dạng chữ đầu tiên đã được phát triển bởi J.Rainbow dùng để đọc chữ in hoa nhưng rất chậm
- Năm 1967, Công ty IBM đã thương mại hóa hệ thống nhận dạng chữ
Giai đoạn 2: (1980 – 1990)
- Với sự phát triển của các thiết bị phần cứng máy tính và các thiết bị thuthu nhận dữ liệu, các phương pháp luận nhận dạng đã được phát triểntrong giai đoạn trước đã có được môi trường lý tưởng để triển khai các
Trang 4 Giai đoạn 3: (Từ 1990 đến nay)
- Các hệ thống nhận dạng thời gian thực được chú trọng trong giai đoạnnày
- Các kỹ thuật nhận dạng kết hợp với các phương pháp luận trong lĩnhvực học máy (Machine Learning) được áp dụng rất hiệu quả
- Một số công cụ học máy hiệu quả như mạng nơ ron, mô hình Markov
ẩn, SVM (Support Vector Machines) và xử lý ngôn ngữ tự nhiên
I.1.2 Tình hình nghiên cứu trong nước:
Nhận dạng chữ viết tay được chia thành hai lớp bài toán lớn là nhận dạngchữ viết tay trực tuyến (online) và nhận dạng chữ viết tay ngoại tuyến (offline).Trong nhận dạng chữ viết tay ngoại tuyến, dữ liệu đầu vào được cho dưới dạngcác ảnh được quét từ các giấy tờ, văn bản Ngược lại nhận dạng chữ viết taytrực tuyến là nhận dạng các chữ trên màn hình ngay khi nó được viết Trong hệnhận dạng này máy tính sẽ lưu lại các thông tin về nét chữ như thứ tự nét viết,hướng và tốc độ của nét…
Tại Việt Nam,
năm 2010, nhóm nghiên
cứu Huỳnh Hữu Lộc,
Lưu Quốc Hải, Đinh
Đức Anh Vũ (Khoa
Khoa học và Kỹ thuật
máy tính, Trường Đại
học Bách khoa TP Hồ
Trang 5Chí Minh) đã đạt được những bước tiến đáng kể trong nhận dạng ký tự viết tay.Hướng tiếp cận của nhóm nghiên cứu là nhận dạng dựa trên thông tin tĩnh Dựatrên nền tảng giải thuật rút trích thông tin theo chiều, nhóm tác giả đã cải tiến đa
số các bước để đạt được độ chính xác cao hơn trong việc nhận dạng ký tự(khoảng 95%) và có những bước tiến đáng kể trong nhận dạng cả từ Tuy nhiênsản phẩm vẫn chưa nhận dạng được chữ viết tay tiếng Việt Như vậy có thể thấynhận dạng chữ viết tay, đặc biệt chữ viết tay tiếng Việt hiện đang là một hướngnghiên cứu rất được quan tâm hiện nay và đang còn nhiều vấn đề cần phải hoànthiện
I.1.3 Tình hình nghiên cứu ở nước ngoài:
Nhận dạng chữ viết đã được nghiên cứu hơn 40 năm qua Ngày nay nhậndạng chữ viết đã nhận được sự quan tâm đáng kể do sự phát triển của các máytính cầm tay và điện thoại cầm tay dựa trên các bàn phím, chuột và nhiều dạngthiết bị định vị khác Các phương pháp này tỏ ra không hữu hiệu hoặc xử lýchậm Do đó người ta cần nghiên cứu phương pháp nghiên cứu phương phápnhận dạng chữ viết tay trên các máy Palm Pilot hay các máy TABLET PC
I.2 Cách tiếp cận giải quyết bài toán
Nhận dạng chữ viết tay thường bao gồm năm giai đoạn: tiền xử lý
Trang 6(preprocessing), tách chữ (segmentation), trích chọn đặc trưng(representation),huấn luyện và nhận dạng (training and recognition), hậu xử lý (postprocessing).
- Tiền xử lý: giảm nhiễu cho các lỗi trong quá trình quét ảnh, hoạt độngviết của con người, chuẩn hóa dữ liệu và nén dữ liệu
- Tách chữ: chia nhỏ văn bản thành những thành phần nhỏ hơn ,tách các
từ trong câu hay các kí tự trong từ
- Biểu diễn, rút trích đặc điểm: giai đoạn đóng vai trò quan trọng nhấttrong nhận dạng chữ viết tay Để tránh những phức tạp của chữ viết taycũng như tăng cường độ chính xác, ta cần phải biểu diễn thông tin chữviết dưới những dạng đặc biệt hơn và cô đọng hơn, rút trích các đặcđiểm riêng nhằm phân biệt các ký tự khác nhau
- Huấn luyện và nhận dạng: phương pháp điển hình so trùng mẫu, dùng
thống kê, mạng nơ-ron ,mô hình markov ẩn ,trí tuệ nhân tạo hay dùng
phương pháp kết hợp các phương pháp trên
- Hậu xử lý: sử dụng các thông tin về ngữ cảnh để giúp tăng cường độchính xác, dùng từ điển dữ liệu
- Mô tả quá trình trong hệ thống nhận dạng Sơ đồ gồm hai phần chính:đường màu đỏ mô tả các bước để huấn luyện cho máy học, đường màuxanh mô tả các bước trong quá trình nhận dạng:
Ban đầu các hình ảnh này đi qua giai đoạn chuyển ảnh về dạng ảnh nhịphân (giai đoạn tiền xử lý) Ảnh sẽ được lưu trữ dưới dạng ma trận điểm, vị trípixel có nét vẽ sẽ mang giá trị 1, ngược lại có giá trị 0 Sau đó, ảnh được cắtxén để ký tự nằm trọn trong một khung chữ nhật, các vùng không gian không
có nét vẽ được loại bỏ đi Giải thuật cắt xén hiện thực đơn giản dựa trên ảnh nhịphân và thu giảm ảnh đã được cắt xén về một ảnh có kích thước chung đã đượcquy định trước
Tiếp theo, ảnh đã được cắt xén và thu nhỏ được làm mỏng Quá trình làmmỏng này giúp ta chỉ lấy những thông tin cần thiết về hình dạng của ký tự vàloại bỏ các pixel dư thừa Các chấm nhỏ trên hình biểu thị các pixel có giá trị 1ban đầu Sau khi làm mỏng, chỉ những pixel có ý nghĩa được giữ lại, và chúng
Trang 7được biểu diễn bằng các chấm to trong hình.
Ảnh sau quá trình làm mỏng chứa hầu hết các thông tin về hình dạng của
ký tự Những thông tin này sẽ được phân tích để rút trích ra các đặc điểm giúpviệc phân loại các ký tự với nhau Phương thức này dựa trên thông tin về hìnhdạng của ký tự như sự chuyển vị trí và sự chuyển chiều Kết quả quá trình này
là các véc-tơ đặc điểm chứa thông tin về ký tự Các thông tin này giúp máy lấyđược các đặc điểm của từng ký tự, phân loại chúng và tạo ra các thông tin cầnthiết để nhận dạng các ký tự có chung ý nghĩa Do chữ viết mỗi người mỗi khácnên ta không thể thu thập tất cả các nét chữ của từng người để máy học có thểnhận diện mà chỉ có thể dựa trên một số mẫu nào đó để nhận ra các nét chữ củanhững người viết khác nhau Mô hình markov ẩn (Hidden Markov Model) cóthể giải quyết vấn đề này
I.3 Tổng quan về các phương pháp huấn luyện
I.3.1 Mô hình Markov ẩn
Mô hình Markov ẩn (Hiden Markov Model - HMM) được giới thiệu vàocuối những năm 1960 Cho đến hiện nay nó có một ứng dụng khá rộng nhưtrong nhận dạng giọng nói, tính toán sinh học (Computational Biology), và xử
lý ngôn ngữ tự nhiên… HMM là mô hình máy hữu hạn trạng thái với các tham
số biểu diễn xác suất chuyển trạng thái và xác suất sinh dữ liệu quan sát tại mỗitrạng thái
Mô hình Markov ẩn là mô hình thống kê trong đó hệ thống được mô hìnhhóa được cho là một quá trình Markov với các tham số không biết trước, nhiệm
vụ là xác định các tham số ẩn từ các tham số quan sát được 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.Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếpbởi người quan 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
Trang 8Hình 1.4 Mô hình Markov ẩn
x i : Các trạng thái trong mô hình Markov
a ij : Các xác suất chuyển tiếp
b ij : Các xác suất đầu ra
y i : Các dữ liệu quan sát
Mô hình Markov ẩ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 đượcsinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái Ta có tìm ra đượcchuỗi các trạng thái mô tả tốt nhất cho chuỗi dữ liệu quan sát được bằng cáchtính
) ( / )
| ( )
| (Y X P Y X P X
Hình 1.5 Đồ thị vô hướng HMM
Ở đó Y n là trạng thái tại thời điểm thứ t=n trong chuỗi trạng thái Y, X n là dữ
liệu quan sát được tại thời điểm thứ t=n trong chuỗi X Do trạng thái hiện tại chỉ
phụ thuộc vào trạng thái ngay trước đó với giả thiết rằng dữ liệu quan sát được tại
thời điểm t chỉ phụ thuộc và trạng thái t Ta có thể tính:
t Y P X Y Y
P Y X P Y P X Y P
2
1 1
1
( ) , (
Trang 9Một số hạn chế của mô hình Markov để tính được xác suất P(Y,X) thông thường ta phải liệt kê hết các trường hợp có thể của chuỗi Y và chuỗi X Thực tế thì chuỗi Y là hữu hạn có thể liệt kê được, còn X (các dữ liệu quan sát) là rất
phong phú Để giải quyết các vấn đề này HMM đưa ra giả thiết về sự độc lập
giữa các dữ liệu quan sát: Dữ liệu quan sát được tại thời điểm t chỉ phụ thuộc vào
trạng thái tại thời điểm đó Hạn chế thứ hai gặp phải là việc sử dụng xác suất
đồng thời P(Y, X) đôi khi không chính xác vì với một số bài toán thì việc sử dụng xác suất điều kiện P(Y | X) cho kết quả tốt hơn rất nhiều.
I.3.2 Máy vector hỗ trợ
Có thể mô tả 1 cách đơn giản về bộ phân lớp SVM như sau: Cho trước 2tập dữ liệu học, mỗi tập thuộc về 1 lớp cho trước, bộ phân lớp SVM sẽ xây dựng
mô hình phân lớp dựa trên 2 tập dữ liệu này Khi có một mẫu mới được đưa vào,
bộ phân lớp sẽ đưa ra dự đoán xem mẫu này thuộc lớp nào trong 2 lớp đã định.Phương pháp này được Vapnik và cộng sự đề xuất năm 1992, lấy nền tảng từ lýthuyết học thống kê của Vapnik & Chervonenkis vào năm 1960
Đặc trưng cơ bản quyết định khả năng phân loại của một bộ phân loại làhiệu suất tổng quát hóa, hay là khả năng phân loại những dữ liệu mới dựa vàonhững tri thức đã tích lũy được trong quá trình huấn luyện Thuật toán huấn luyệnđược đánh giá là tốt nếu sau quá trình huấn luyện, hiệu suất tổng quát hóa của bộphân loại nhận được cao Hiệu suất tổng quát hóa phụ thuộc vào hai tham số làsai số huấn luyện và năng lực của máy học Trong đó sai số huấn luyện là tỷ lệ lỗiphân loại trên tập dữ liệu huấn luyện Còn năng lực của máy học được xác địnhbằng kích thước Vapnik Chervonenkis (kích thước VC) Kích thước VC là mộtkhái niệm quan trọng đối với một họ hàm phân tách (hay là bộ phân loại) Đạilượng này được xác định bằng số điểm cực đại mà họ hàm có thể phân tách hoàntoàn trong không gian đối tượng, Một bộ phân loại tốt là bộ phân loại đơn giảnnhất và đảm bảo sai số huấn luyện nhỏ Phương pháp SVM được xây dựng dựatrên ý tưởng này
Công thức SVM
Trang 10Công thức SVM đơn giản nhất là trường hợp tuyến tính khi mà một siêu phẳng quyết định nằm giữa hai tập dữ liệu.Trong trường hợp này, không gian giả định là một
tập các điểm có phương trình là: f(x) =w.x+b SVM đi tìm một siêu phẳng tối ưu như
một phương án để phân chia hai tập hợp dữ liệu và đồng thời có thể sử dụng cho những
dữ liệu mới.
Có hai phương pháp để tìm siêu phẳng tối ưu Thứ nhất là tìm siêu phẳng nằm giữa 2 tập đóng Thứ hai là cực đại hoá khoảng cách giữa hai mặt phẳng hỗ trợ (cực đại hoá lề) Cả hai phương pháp đều tìm ra một mặt phẳng quyết định và tập hợp những điểm hỗ trợ cho quyết định Chúng được gọi là các vector hỗ trợ.
Hình 1.8 Siêu phẳng phân chia tuyến tính
Hình 1.9 Biên độ và siêu phẳng có biên độ cực đại
Siêu phẳng phân chia
Siêu phẳng có biên độ cực đại
Trang 11Hình 1.10 Vector hỗ trợ
Hình 1.11 Ánh xạ phi tuyến và hàm hạt nhân
Việc huấn luyện SVM là việc giải bài toán quy hoạch toàn phương với cácràng buộc bằng và không bằng Việc xử lý sau cùng là xử lý các tham số dương α
và rút ra một tập con của tập huấn luyện tương ứng với các tham số Việc huấnluyện một tập dữ liệu nhỏ (nhỏ hơn 1000 mẫu) có thể được xử lý một cách nhanhchóng trên một máy tính có cấu hình thích hợp Đối với những tập dữ liệu lớnhơn, việc giải bài toán quy hoạch toàn phương đòi hỏi một máy tính có năng lựclớn và bộ nhớ lớn để lưu trữ ma trận hạt nhân trong suốt quá trình tính toán Bộnhớ yêu cầu lên đến bình phương kích thước của tập huấn luyện
Vector hỗ trợ
Trang 12Có nhiều phương pháp huấn luyện SVM được phát triển để tận dụng bộnhớ, cải thiện tốc độ huấn luyện và tìm một mô hình tốt nhất bằng cách dùng mộtnhân và các siêu tham số thích hợp (Burges, 1988) Lưu ý rằng, SVM cơ bảndùng cho hai lớp Để có thể dùng cho nhiều lớp thì ta phải kết hợp nhiều bộ phânloại hai lớp hoặc xây dựng SVM cho nhiều lớp.
Hình 1.12 Mô hình nhận dạng ký tự dùng SVM
SVM thường thực hiện tốt trên các tập dữ liệu khả tách tuyến tính vì có thể thựchiện việc xác định siêu mặt phẳng phân tích dữ liệu tối ưu, trong trường hợp nàySVM chỉ việc tập trung vào việc cực đại hóa lề
Trang 13I.3.3 Mạng Neural
Là phương pháp được sử dụng trong đồ án Quá trình huấn luyện là quá trình học các tập mẫu để điều chỉnh trọng số liên kết Giải thuật huấn luyện thường được dùng nhất là giải thuật lan truyền ngược sai số Back Progration Nội dung này sẽ được trình bày chi tiết trong chương 3 và chương 4.
Đồ án sử mạng neural gồm 60 đầu vào được lấy bằng các ký tự đã được tách biên thành chuỗi Fourier gồm 6 thành phần liên thông và 10 giá trị đối với mỗi thành phần, sử dụng hàm Sigmoid làm hàm ngưỡng.
Hình 1.13 Sơ đồ một mạng neural nhận dạng ký tự
So với hai phương pháp còn lại, phương pháp sử dụng mạng Neural được lựa chọn là do những ưu điểm sau đây:
Tính phi tuyến.
Mô hình tổng quát cho ánh xạ từ tập vào đến tập ra.
Có thể yêu cầu sự tiến hóa nhanh của hàm mục tiêu.
Trang 14 Từ đó tạo cơ sở để tiếp theo có thể xây dựng và phát triển một sản phẩm nhận dạng chữ viết tay hoàn chỉnh trên các thiết bị di động, áp dụng vào việc hỗ trợ việc học tập và sinh hoạt của người khiếm thị.
Đồ án sẽ tập trung vào phân tích 3 thành phần chính của một hệ nhận dạng: Tiền xử
lý, trích chọn đặc trưng và huấn luyện bằng mô hình markov ẩn Từ đó cài đặt
chương trình mô phỏng trên PC bằng ngôn ngữ C#
CHƯƠNG II
CƠ SỞ LÝ THUYẾT VỀ TIỀN XỬ LÝ ẢNH
VÀ TRÍCH CHỌN ĐẶC TRƯNGII.1 Tổng quan về tiền xử lý ảnh
Đầu vào của quá trình xử lý ảnh là các ảnh gốc ban đầu, thu được quascanner ảnh ban đầu thường có chất lượng thấp do ảnh hưởng của nhiễu, bịnghiêng, bị đứt nét nên chúng ta cần phải có một quá trình tiền xử lý ảnh đểnâng cao chất lượng ảnh đầu vào trước khi đưa vào nhận dạng Quá trình nàybao gồm công đoạn khôi phục ảnh và tăng cường ảnh
Khôi phục ảnh nhằm mục đích loại bỏ hay làm giảm tối thiểu các ảnhhưởng của môi trường bên ngoài lên ảnh thu nhận được Công đoạn khôi phụcảnh bao gồm các bước như lọc ảnh, khử nhiễu, quay ảnh, qua đó giảm bớt cácbiến dạng do quá trình quét ảnh gây ra và đưa ảnh về trang thái gần như banđầu
Tăng cường ảnh là một công đoạn quan trọng, tạo tiền đề cho xử lý ảnh.Tăng cường ảnh không phải làm tăng lượng thông tin trong ảnh mà là làm nổibật những đặc trưng của ảnh giúp cho công việc xử lý phía sau được hiệu quảhơn Công đoạn này bao gồm các công việc như lọc độ tương phản, làm trơnảnh, nhị phân hóa
Các công đoạn của tiền xử lý ảnh sẽ được trình bày cụ thể trong các phầntiềp theo
II.2 Các công đoạn tiền xử lý
Giai đoạn tiền xử lý văn bản là giai đoạn quan trọng, có ảnh hưởng trựctiếp đến độ chính xác của quá trình nhận dạng, tuy nhiên nó cũng làm tăng thời
Trang 15gian chung của cả hệ thống Vì vậy, tùy theo chất lượng ảnh thu nhận được củatừng trường hợp cụ thể, mà chúng ta chọn sử dụng một hoặc một số thủ tục tiền
xử lý Thậm chí, trong trường hợp văn bản đầu vào có chất lượng tốt và cần ưutiên tốc độ xử lý, chúng ta có thể bỏ qua giai đoạn tiền xử lý này Thông thường,chúng ta vẫn phải thực hiện một số thủ tục quan trọng nhất
độ xám
Trong hầu hết quá trình xử lý ảnh, chúng ta chủ yếu chỉ quan tâm đến cấutrúc của ảnh và bỏ qua ảnh hưởng của yếu tố màu sắc Do đó bước chuyển từảnh màu thành ảnh xám là một công đoạn phổ biến trong các quá trình xử lýảnh vì nó làm tăng tốc độ xử lý là giảm mức độ phức tạp của các thuật toán trênảnh
Chúng ta có công thức chuyển các thông số giá trị màu của một pixelthành mức xám tương ứng như sau:
Trang 16G = ỏ.CR + õ.CG + ọ.CB
Trong đó các giá trị CR, CG và CB lần lượt là các mức độ màu Đỏ, Xanh
lá và Xanh biển của pixel màu
II.2.2 Phân ngưỡng ảnh (Nhị phân ảnh)
Phân ngưỡng hay còn gọi là nhị phân hóa Mục đích của nó là chuyển từảnh mầu, ảnh đa cấp xám sang ảnh nhị phân (ảnh 2 cấp xám, ảnh đen trắng).Thuật toán phân ngưỡng cài đặt ở đây sử dụng hàm phân ngưỡng :
1 if Source(x,y) >= TDest(x,y)=
0 if Source(x,y) < TTrong đó, Source(x,y) là giá trị điểm ảnh ở vị trí (x,y) của ảnh nguồn,Dest(x,y) là giá trị điểm ảnh tương ứng ở vị trí (x,y) của ảnh đích T là giá trịngưỡng
Giá trị cụ thể của ngưỡng phụ thuộc vào từng ảnh, vùng ảnh đầu vào đangxét và không thể lấy cố định Ví dụ như trên hình 3.2.2, hình a) là ảnh ban đầu,hình e) thể hiện biểu đồ histogram (biểu đồ tần suất), hình b,c,d thể hiện ảnh đãđược nhị phân hóa với cùng ngưỡng thấp, trung bình và ngưỡng cao Chúng ta
có thể thấy là giá trị ngưỡng trong hình 3.2.2d là thích hợp hơn cả
a) ảnh gốc ban đầu b) Ngưỡng thấp (90)
c ) Ngưỡng trung bình (128) d ) Ngưỡng cao (225)
Hình 3.2.2 - Phương pháp lấy ngưỡng
Người ta đã đề xuất nhiều phương pháp để xác định giá trị ngưỡng
Trang 17Một phương pháp là thiết lập ngưỡng sao cho số lượng các điểm đen đạt mộtngưỡng chấp nhận được theo phân phối xác suất mức xám Ví dụ, chúng ta cóthể biết rằng các kí tự chiếm 25% diện tích của một trang văn bản thông thường.
Vì thế chúng ta có thể thiết lập ngưỡng sao cho số lượng điểm đen còn lạichiếm 1/4 trang văn bản Một cách tiếp cận khác là chọn ngưỡng nằm ở vị tríthấp nhất trên biểu đồ histogram giữa hai đỉnh của nó Tuy nhiên việc xácđịnh vị trí này thường rất khó khăn do hình dạng của histogram thường lởmchởm Một giải pháp để giải quyết vấn đề này là xấp xỉ giá trị của histogramgiữa hai đỉnh với một hàm giải tích và sử dụng vi phân để xác định điểm thấpnhất Ví dụ, coi x và y lần lượt là hoành độ và tung độ trên histogram
II.2.3 Nhiễu ảnh
Trong xử lý ảnh các ảnh đầu vào thường được thu thập từ các nguồn ảnhkhác nhau và các ảnh thu thập đươc thường có nhiễu và cần loại bỏ nhiễu hayảnh thu được không sắc nét, bị mờ cần làm rõ các chi tiết trước khi đưa vào xửlý
Một số loại nhiễu ảnh thường gặp:
Nhiễu cộng : nhiễu cộng thường phân bố khắp ảnh Nếu ta gọi
ảnh quan sát( ảnh thu được) là X_qs, ảnh gốc la X_gốc vànhiễu là # ảnh thu được có thể biểu diễn bởi:
X_qs = X_gốc + #
Trang 18 Nhiễu nhân : Nhiễu nhân thường phân bố khắp ảnh Nếu ta gọi
ảnh quan sát( ảnh thu được) là X_qs, ảnh gốc la X_gốc vànhiễu là # ảnh thu được có thể biểu diễn bởi:
X_qs = X_gốc # #
Nhiễu xung : Nhiễu xung thường gây đột biến ở một số điểm
của ảnh Trong hầu hết các trường hợp thừa nhận nhiễu là tuầnhoàn Các phương pháp lọc đề cập trong báo cáo xét với cáctrường hợp ảnh chỉ có sự xuất hiện của nhiễu
II.2.4 Một số phương pháp lọc nhiễu
II.2.4.1 Bộ lọc Mean
Mạch lọc là một mặt nạ có kích thước NxN, trong đó tất cả các hệ số đềubằng 1 Đáp ứng là tổng các mức xám của NxN pixels chia cho NxN Ví dụ mặt nạ3x3 thì đáp ứng là tổng mức xám của 9 pixels chia cho 9 Ví dụ mặt nạ 1/9x
Nhân chập mặt nạ với tất cả các pixel của ảnh gốc chúng ta sẽ thu được ảnhkết quả qua bộ lọc Mean theo công thức sau:
Hình 3.2.4.1 ảnh thu được khi qua bộ lọc Mean
Với f[i,j] là giá trị pixel kết quả, s(k,l) là các giá trị pixel ảnh gốc được mặt
nạ chập lên và S là kích thước mặt nạ Bộ lọc Mean có vai trò làm trơn ảnh cóthể xem như bộ lọc thông cao, nhưng lại làm mờ đường biên của các đối tượngbên trong ảnh, làm mất tín hiệu cận nhiễu và không lọc được nhiễu xung
Trang 19giá trị của pixel và các lân cận, xác định trung vị Median và định giá trị pixel Ví
dụ như một lân cận 3x3 có các giá trị: 10, 20, 20, 20, 15, 20, 20, 25, 100 Các giátrị này được sắp xếp lại theo thứ tự từ thấp đến cao: 10, 15, 20, 20, 20, 20, 20, 25,
100 Giá trị median là 20 Do đó về nguyên lý thì mạch median có thể tách đượccác điểm có cường độ sáng lớn như nhiễu xung và lọc các điểm có cường độ sángtức thì (xung) hay còn gọi là các nhiễu muối tiêu Ví dụ về ảnh sau khi lọc nhiễu
Hình 3.2.4.2 ảnh sau khi qua bộ lọc Median
Trong đó g(i,j) là giá trị độ xám pixel kết quả, N là kích thước cửa sổ, f(m,n)
là giá trị độ xám của pixel đang tác động,G(i-m,j-n) là các trọng số Các trọng sốđược tính toán tỷ lệ theo hàm Gauss bằng khoảng cách tới điểm tính toán
Thực hiện phép nhân chập giữa mặt nạ Gauss và ảnh gốc chúng ta thu đượcảnh kết quả được xử lý bằng mạch lọc Gauss Vai trò của bộ lọc Gauss cũng làmtrơn ảnh như bộ lọc trung bình, tuy nhiên bộ lọc Gauss cho chất lượng ành kết quảcao hơn vì có sự tập trung trong số vào pixel đang xét tại vị trí trung tâm
Hình 3.2.4.3 ảnh thu được sau khi xử lý qua bộ lọc Gauss
Trang 20II.2.5 Làm trơn ảnh, tách biên đối tượng
Sau quá trình lọc nhiễu, các từ, kí tự trên ảnh thu được thường bị đứt nét
do ảnh hưởng của bộ lọc nhiễu Vì thế cần có một bước để nối lại các nét bịđứt này
Phương pháp Canny Là một phương pháp tách biên ảnh do
Francis Canny tìm ra tại phòng thí nghiệm ảnh thuộc MIT.Quá trình tiến hành thuật toán trải qua một số bước như sau:
Làm trơn ảnh bằng bộ lọc Gauss nhằm giảm thiểuảnh hưởng của nhiễu và các chi tiết không mongnuôn trong cấu trúc ảnh
Tính gradient của ảnh nhờ một trong các toántử:Roberts, Sobel hay Prewitt…
Dùng ngưỡng kép ụ1 và ụ2 (ụ1< ụ2) tạo ra các điểm trung gian nhằm nốiliến các điểm biên đã xác định được từ trước theo phương thức sau:
Những điểm M(i,j) có giá trị gradient lớn hơn ụ2 thì được xem là điểmbiên Những điểm M(i,j) có giá trị gradient nhỏ hơn ụ1 thì loại bỏ Với nhữngđiểm có giá trị gradient nằm trong khoảng ụ1 và ụ2 thì kiểm tra thêm nếu nóliền kề với một điểm có gradient lớn hơn ụ1 thì điểm này được xem là điểm biên.Kết quả chúng ta sẽ thu được các đường biên tạo từ vô số các điểm biên liền kềliên tục
Trang 21II.3 Căn chỉnh độ lệch trang
Việc căn chỉnh độ lệch trang là cần thiết vì ảnh nhận được sau quá trìnhscan thường bị lệch một góc nghiêng so với phương ban đầu Công việc nàybao gồm hai thao tác cơ bản :
Thao tác xác định góc nghiêng của trang văn bản
Thao tác xoay trang văn bản theo góc nghiêng đã xác định.Trong đó, xác định góc nghiêng là thao tác quan trong nhấttrong việc căn chỉnh độ lệch trang Để xác định góc nghiêng,người ta thường dùng 3 phương pháp : Sử dụng biến đổiHough (Line fitting), phương pháp láng giềng gần nhất(nearest neighbours) và sử dụng tia quay (project profile) Biến đổi Hough rất hữu ích cho việc dò tìm đường thẳng trong trang văn bản
vì thế rất thích hợp cho việc xác định góc nghiêng của trang văn bản gồm cácthành phần là các dòng văn bản Tuy nhiên, biến đổi Hough sử dụng rất nhiềutính toán do phải thao tác trên từng điểm ảnh riêng lẻ Người ta đã cải tiến để tăngtốc độ thực hiện bằng cách thực hiện tính toán trên chùm điểm ảnh Nhữngchùm điểm ảnh này là các dải liên tục các điểm đen liên tiếp nhau theo chiềungang hoặc chiều doc Mỗi chùm được mã hóa bởi độ dài của và vị trí kết thúccủa nó Với cải tiến này thì thuật toán này thích hợp với các góc nghiêng ~15o vàcho độ chính xác rất cao Tuy nhiên, cải tiến này làm tăng tốc độ thuật toánnhưng vẫn rất chậm so với các phương pháp khác Hơn nữa, trong trường hợpvăn bản là thưa thớt, thuật toán này tỏ ra không hiệu quả
Phương pháp láng giềng gần nhất (nearest neighbours) dựa trên một nhậnxét rằng trong một trang văn bản, khoảng cách giữa các kí tự trong một từ vàgiữa các kí tự của từ trên cùng một dòng là nhỏ hơn khoảng cách giữa hai dòngvăn bản, vì thế đối với mỗi kí tự, láng giềng gần nhất của nó sẽ là các kí tự liền kềtrên cùng một dòng văn bản
Bước đầu tiên trong thuật toán này là xác định các thành phần liênthông trên ảnh Bước tiếp theo, tìm láng giềng gần nhất của mỗi thành phầnliên thông này, đó là miền liên thông có khoảng cách Ơclit ngắn nhất giữa tâmcủa hai miền liên thông Sau đó, thực hiên tính góc của các vector nối tâm của
Trang 22với nhau và tích lũy thanh biểu đồ histogram về số lượng các vector theo cácphương Khi đó, trên biểu đồ histogram xuất hiện một vị trí có số lượngvector nhiều nhất và cũng chính là đỉnh của biểu đồ.Vị trí đó chính là gócnghiêng của trang văn bản.
Chi phí tính toán của phương pháp này đã giảm đi nhiều so với phươngpháp sử dụng biến đổi Hough tuy nhiên vẫn còn rất cao Độ chính xác củaphương pháp này phụ thuộc rất nhiều vào số thành phần của một kí tự trong
văn bản Đối với các kí tự có nhiều thành phần ví dụ như chữ ẩ có 3 thành
phần gồm thân, mũ và dấu hỏi Khi đó, láng giềng gần nhất của mỗi phần sẽ làmột trong hai thành phần còn lại chứ không phải là kí tự liền kề với nó Điều đólàm giảm đi độ chính xác của thuật toán, đồng thời khiến cho nó không thíchhợp với chữ tiếng việt
L’O Gorman đã phát triển thuật toán với ý tưởng là với mỗi thành phầnlấy k láng giềng (k có thể là 4 hoặc 5) thay vì lấy một láng giềng duy nhất Vàgóc thu được được sử dụng như là góc nghiêng ước lượng Góc nghiêngước lượng này được sử dụng để loại bỏ các liên kết mà góc của nó không gầnvới góc ước lương Sau đó, thực hiện xác định lại góc nghiêng theo các liênkết được giữ lại ý tưởng này đã cải thiện được độ chính xác của thuật toánnhưng lại đòi hỏi chi phí tính toán cao hơn Trên thực tế, phương pháp nàyđược gọi là phương pháp docstrum – thực hiện cả việc xác định góc nghiêng
và phân tích cấu trúc trang
Phương pháp sử dụng tia quay (project profile) là phương pháp thườngđược sử dụng trong các hệ thống thương mại Project profile là biểu đồ cácgiá trị điểm đen được tích lũy theo các dòng quét song song với một phươngxác định trên toàn bộ ảnh Biểu đồ này thường được ghi theo phương ngang vàdọc của ảnh, gọi là các histogram chiếu ngang và histogram chiếu dọc
Để sử dụng project profile để dò tìm độ nghiêng của văn bản, đòi hỏi phải
có sự đính hướng cho trước Postl Đầu tiên, văn bản được xoay với một sốgóc nghiêng trong khoảng cho trước và tính biểu đồ histogram theo chiềungang ở mỗi vị trí đó Tính độ biến thiên của histogram, vị trí góc nghiêng có
Trang 23độ biến thiên lớn nhất sẽ là góc nghiêng văn bản cần tìm
Hình 3.3 – Phương pháp Postl tính góc nghiêng
H.S.Braid đã tiến hành cải biến phương pháp project profile Theo đó,người ta tiến hành tìm các thành phần liên thông, mỗi thành phần liên thôngđược đại diện bởi tâm ở đáy của hình chữ nhật bao quanh nó Tiếp theo, cácthành phần liên thông được nối với nhau Tiến hành xoay văn bản ở một
số vị trí và tiến hành tính biểu đồ histogram ở mỗi vị trí Vị trí có độ biếnthiên lớn nhất của histogram chính là vị trí góc nghiêng cần tìm Cải biến này
đã làm tăng đáng kể tốc độ của phương pháp Project profile, đồng thời độchính xác của nó đạt khá cao (~0.50), thích hợp với các trang có độ nghiêngtrong khoảng ~100
Trong phạm vi khóa luận này, tôi đã chọn thực hiên phương pháp projectprofile vì nó tương đối đơn giản, tốc độ nhanh đồng thời có độ chính xác khácao Phù hợp với bài toán đã đặt ra
II.4 Trích chọn đặc trưng
Trích chọn đặc trưng là quá trình tìm ra các thông tin hữu ích và đặc trưngnhất cho mẫu đầu vào để sử dụng cho quá trình nhận dạng Trong lĩnh vực nhậndạng, trích chọn đặc trưng là một bước rất quan trọng, nó có ảnh hưởng lớn đếntốc độ và chất lượng nhận dạng Trích chọn đặc trưng như thế nào để vẫn đảmbảo không mất mát thông tin và thu gọn kích thước đầu vào là điều vẫn đangđược các nhà nghiên cứu quan tâm
II.4.1 Một số đặc trưng cơ bản của mẫu
Đặc trưng thống kê
Trang 24Hình 2.7 Phân vùng
Hình 2.8 Lược đồ mức xám (histogram)
Trang 25 Đặc trưng hình học và hình thái: là các đặc trưng dựa trên
các yếu tố nguyên thủy (đoạn thẳng, cung) tạo ra các ký tự.Các ký tự có thể được phân biệt bằng độ đo của các đại lượnghình học như tỉ số giữa chiều rộng và chiều cao của khungchứa ký tự, quan hệ khoảng cách giữa hai điểm, độ dài một nét,
độ dài tương quan giữa hai nét, tỉ lệ giữa các chữ hoa và chữthường trong một từ, độ dài từ…Vì thế các ký tự được tổ chứcthành các tập hợp của các yếu tố nguyên thủy, sau đó đưa cácyếu tố nguyên thủy vào các đồ thị liên quan
Đặc trưng hướng : Các ký tự được mô tả như các vector mà
các phần tử của nó là các giá trị thống kê về hướng Việc chọnđặc trưng để nâng cao độ chính xác của bài tốn nhận dạng làhết sức khó khăn, đòi hỏi rất nhiều thời gian và quyết định rấtnhiều đến độ chính xác Hơn nữa, do biến dạng khá lớn trongchữ viết tay nên để hạn chế người ta thường chia ô trên ảnh vàđặc trưng được rút trong các ô đó
Hình 2.9 Đặc trưng hướng
II.4.2 Một số phương pháp trích chọn đặc trưng
Ta có một số phương pháp trích chọn đặc trưng đơn giản nhưng hiệu quảsau, có thể áp dụng cho các tập chữ viết tay rời rạc
Trọng số vùng: Ảnh ký tự sau khi tiền xử lý kích thước được chuẩn hoá về mn
điểm ảnh Đây là cách được áp dụng trong đồ án.
n
m
Trang 26Hình 2.10 Cách chia ô ký tự
Hình 2.11 Ký tự đã được chia ô
Trích chọn chu tuyến (Contour profiles): Phần được trích chọn làkhoảng cách từ biên của khung chứa đến điểm đen đầu tiên của chữtrên cùng một dòng quét
Phương pháp trích chọn này mô tả tốt các khối bên ngoài của chữ
và cho phép phân biệt một số lượng lớn các ký tự Ví dụ như đốivới ảnh có kích thước 14*9, có 14 trên, 14 dưới, 9 trái, 9 phải, tổngcộng là 46 đặc trưng
Hình 2.12 Trích chọn chu tuyến
Trích chọn đặc trưng wavelet Haar
Từ ảnh nhị phân kích thước 2n x 2n , quá trình trích chọn đặc trưng được
mô tả theo thuật toán sau:
Input : Ma trận vuông (A, n) cấp 2 n
Khởi tạo: Queue = NULL
Begin
Tính F i = Tổng các điểm đen trong toàn bộ ma trận (A, n),
PUSH ((A,n), Queue),
End,
Trang 27While Queue != NULL Do
{
POP (Queue,(A,n)), If(n>1)
Hình 2.13 Trích chọn đặc trưng wavelet Haar
Hình 2.14 Dãy đặc trưng wavelet Haar
Phương pháp trích chọn đặc trưng này sẽ tạo ra một dãy số các đặc trưng giảm dần Với cùng một chữ thì các giá trị lớn ở đầu dãy tương đối ổn định, và có thể đại diện cho hình dạng khái quát của chữ Còn các giá trị ở cuối dãy nhỏ dần và không ổn định, thể hiện sự đa dạng trong từng chi tiết của chữ.
Trang 28Biên của ảnh là một trong những đặc trưng quan trọng nhất trong việc mô tả ảnh Trong đồ án này sẽ sử dụng phương pháp trích chọn đặc trưng bằng cách dùng biến đổi Fourier của biên ảnh Giả sử biên hình dạng được trích chọn trong quá trình tiền xử lý là:
(x(t), y(t)), t = 0,1,…,N-1.
Nếu ta xem xét hình dạng trên một mặt phẳng phức, ta có thể thu được hàm phức
một chiều f(t) bằng các lần theo biên của nó, f(t) là một số phức được tổng quát hóa từ
hệ tọa độ đường bao.
( ) [ ( ) c] [ ( ) c]
f t x t x j y t y
Với (x c , y c ) là trọng tâm của hình được bao bởi biên, được tính theo công thức:
1 0
1 N ( )
t
c N
f(t) miêu tả biên và là dấu hiệu bất biến đối với phép dịch chuyển Biến đổi Fourier
rời rạc DFT của f(t) được cho bởi:
2 1
0
1
( )
ut N
N u
Với u từ 0 đến M-1, với M là số mẫu f(t) thu thập được.
II.5 Kết luận chương
Trong chương này, khóa luận đã trình bày một số bước cơ bản trong quátrình tiền xử lý ảnh đầu vào, phục vụ cho nhận dạng Đó là nhị phân hóa, cănchỉnh độ lệch trang Khóa luận đã trình bày một số phương pháp thường dùngtrong việc nhị phân hóa và căn chỉnh độ lệch trang văn bản Chỉ ra những ưu,nhược của mỗi phương pháp, đồng thời chọn cài đặt những phương pháp thíchhợp nhất cho bài toán đã đặt ra
Trang 29CHƯƠNG III: CƠ SỞ LÝ THUYẾT VỀ MARKOV ẨN
III.1 Giới thiệu
Mô hình Markov ẩn (Hidden Markov Model) là mô hình thống kê trong
đó hệ thống được mô hình hóa được cho là 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ác tham số ẩn từ các tham số quansát được dựa trên sự thừa nhận này Các trham số của mô hình được rút ra sau
đó có thể sử dụng được để thực hiện các phân tích kế tiếp ,ví dụ cho các ứngdụng nhận dạng mẫu
Trong một mô hình Markov điển hình , trang thái được quan sát trực tiếpbởi người quan sát và vì vậy các xác suất chuyển tiếp trạng thái là các là cáctham số duy nhất ,mô hình Markov ẩ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ác biểuhiện được sinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái Đây làmột mô hình toán thống kê có ứng dụng rộng rãi trong Tin sinh học
Mô hình Markov ẩn đã được sử dụng rất thành công trong lĩnh vực nhậndạng tiếng nói Chính sự thành công này đã mở ra một hướng tiếp cận mớitrong lĩnh vực nhận dạng ảnh văn bản Có thể nói, thời gian gần đây đã xuấtnhiều những công trình nghiên cứu nhận dạng ảnh văn bản bao gồm cả chữ in
và chữ viết tay, online và offline sử dụng mô hình này Một trong những điểmmạnh nhất của mô hình Markov ẩn là nó cho phép tích hợp các bước phân đoạn,nhận dạng và xử lý văn phạm trong một tiến trình Chương trình này sẽ trìnhbày về cơ sở lý thuyết cũng như một số bài toán điển hình của mô hình Markovẩn
Về bản chất, mô hình Markov là một phương pháp mô hình tín hiệu nhưmột chuỗi kết xuất có thể quan sát, được sinh ra bởi một số tiến trình được gọi
là nguồn (source) Việc mô hình tín hiệu theo cách này cho phép chúng ta khảnăng nghiên cứu về nguồn tạo ra tín hiệu mà không cần phải kiểm tra một cáchtrực tiếp lên nguồn đó Với mô hình như vậy, chúng ta có khả năng nhận dạngtín hiệu được sinh bởi nguồn hoặc tiên đoán chuỗi quan sát trong tương lai gần
Trang 30đúng nhất khi cho được cho trước một dãy quan sát cục bộ nào đó Mô hìnhMarkov ẩn dựa trên giả thiết rằng tín hiệu được sinh bởi một nguồn Markov –
đó là một kiểu nguồn mà các mẫu tượng đang được sinh chỉ phụ thuộc vào một
số cố định các mẫu tượng đã được sinh trước đó Bậc của mô hình chính là con
số cố định này Do độ phức tạp của mô hình tỷ lệ với bậc của nó nên các môhình bậc một và hai thường được sử dụng nhiều nhất trong các ứng dụng
Các kết xuất tương ứng với một mẫu tượng có thể được mô tả ở dạng rờirạc hoặc liên tục Dạng rời rạc như các ký tự từ bảng chữ cái, các vector đượclượng hóa từ codebook trong dạng liên tục có thể là các mẫu tiếng nói hoặc bảnnhạc được biểu diễn dạng sóng liên tục
Trong trường hợp tổng quát một tín hiệu có thể được phân làm hai loại:loại có các đặc tính thống kê thay đỏi theo thời gian và ngược lại Một tín hiệubất biến với thời gian có thể là một sóng sine mf tất cả các tham số của nó (biên
độ, tần số và pha) là không thay đổi trong khi tín hiệu thay đổi theo thời gian cóthể là dạng tổ hợp các sóng sine với biên độ, tần số và pha thay đổi theo thờigian Một cách tiếp cận phổ biến thường thấy trong mô hình Markov ẩn là biểudiễn tín hiệu thay đổi theo thời gian bằng một số ngắn các phân đoạn bất biếntheo thời gian Những phân đoạn này chính là cái tạo nên chuỗi kết xuất
Hình 1 Tiến trình Markov rời rạc theo thời gian với các trạng thái rời rạc
Ta sẽ xem xét biểu đồ trạng thái được cho trong hình 2 dưới đây
Trang 31Đây là phương pháp dùng để mô hình một tiến trình xảy ra trong thế giớithực bao gồm các trạng thái rời rạc cùng với những phép dịch chuyển tương ứng.Hình vẽ minh họa 4 trạng thái liên kết đầy đủ Xét một ví dụ cụ thể Giả thiết rằngbiểu đồ trạng thái này biểu diễn màu sắc của hệ thống đèn giao thông Có 4 màu
sắc thường thấy trên các hệ thống đèn bao gồm: đỏ (red), đỏ vàng (red_amber), vàng (amber) và xanh (green) Chuỗi dịch chuyển trạng thái được định nghĩa theo
chu kỳ: red red_amber green amber red … Giả sử rằng hệ thống thayđổi trạng thái theo chuỗi này tại mỗi bước thời gian rời rạc Do đó nếu đánh nhẵnmỗi cung với xác suất dịch chuyển trạng thái tương ứng thì sẽ có 4 cung với xácsuất bằng 1 và phần không thể dịch chuyển còn lại – có xác suất bằng 0.0 Có thểbiểu diễn các xác suất này dạng ma trận aij Cho trước trạng thái qi ở thời điểm t
và gọi S0, S1, …, SN-1 là N trạng thái tương ứng:
Trang 32Các hệ số dịch chuyển trạng thái aij tuân theo qui ước thống kê chuẩn:không âm và có tổng theo j tại một giá trị i cố định bằng 1.
Theo như các mô tả ở trên, các phép dịch chuyển là đã xác định, tuân theomột chuỗi không đổi Bây giờ giả sử rằng hệ thống đèn giao thông này bị lỗi theo
đó trật tự thay đổi trạng thái của nó là ngẫu nhiên và ta muốn lượng giá các tham
số của mô hình, aij, sao cho phù hợp với những gì thu nhận được Mô hình hoạtđộng của hệ thống đèn giao thông theo cách này chính là dạng Markov bậc nhất –trạng thái của mô hình tại thời điểm t chỉ phụ thuộc vào trạng thái ở thời điểm t-1.Một cách tổng quát hơn, ta có thể viết:
P[qi= S | qi-1 = Si, qi-1= Sk, …] = P[qi= S | qi-1= Si] (2)
Mở rộng hơn, ta giả thiết rằng hệ thống đèn thay đổi trạng thái tại mỗibước thời gian nhưng nó cũng có thể ở trong một trạng thái cố định với số bướcthời gian không biết trước Khi đó mô hình được thay đổi tương ứng với khoảngthời gian mà nó ở lại trong mỗi trạng thái bằng cách lượng giá xác suất aij Ví dụgiả sử sau khi chuyển sang trạng thái red, xác suất để dịch chuyển sang trạng tháired_amber là 0,6 và xác suất ở lại trạng thái red là 0,4 ta có thể lượng giá a10 =0,6 và a00 = 0,4 Mô hình bây giờ sẽ dự đoán rằng xác suất ở nguyên trạng tháired cho hai bước tiếp theo sẽ là 0.42= 0,16, 0,43 = 0,064 cho ba bước tiếp theo…Đây là dạng mật độ xác suất theo số mũ
Raviv mô hình tri thức ngữ cảnh để nhận dạng văn bản bằng cách xấp xỉ sự
phụ thuộc giữa các chữ liên tiếp nhau như một chuỗi Markov bậc n Tuy nhiênnhững mô hình loại này bị giới hạn về độ chính xác khi được sử dụng để mô hìnhcác tiến trình trong thế giới thực Một dạng phức tạp hơn là mô hình Markov ẩn
(HMM).
HMM rất giống với mô hình Markov ngoại trừ các trạng thái trong HMMkhông biểu diễn các quan sát của hệ thống Thay vào đó, có một phân bố xác suấtkết hợp với mỗi trạng thái, được định nghĩa trên tất cả các quan sát có thể Do đóviệc biểu diễn này mang tính thống kê hai lần – chuỗi quan sát được sinh ra nhưmột hàm thống kê tại các trạng thái của mô hình và mô hình thay đổi trạng thái ở
Trang 33mỗi bước thời gian như một hàm thống kê các phép dịch chuyển trước đó Nhưvậy một HMM – N trạng thái, bậc một với dãy quan sát rời rạc có thể được địnhnghĩa bởi: = (A, B, ) trong đó:
- A: tập aij, xác suất thay đổi từ trạng thái Sisang trạng thái Sj
- B: tập bi(k), xác suất quan sát mẫu tượng k ở trạng thái Sj
- : phân bố xác suất ở trạng thái ban đầu
Các thao tác của HMM được minh họa bằng một ví dụ trong hình 3 Có bachiếc cốc chứa một hỗn hợp các hình vuông và hình tròn Tại mỗi thời điểm,người ta sẽ đi đến chiếc cốc tiếp theo để lấy ra một đối tượng từ nó: hình trònhoặc hình vuông Như vậy ta có thể mô hình chuỗi quan sát này bằng một HMM
3 trạng thái Mỗi trạng thái tượng trưng cho một cái cốc với các tham số {aij}3x3
biểu diễn dự báo cách mà người ta sẽ di chuyển Tham số {bj(k)}3x2 biểu diễn xácsuất lấy ra được hình tròn hoặc hình vuông từ một trong số ba chiếc cốc trên Rõràng các xác suất này là khác nhau ứng với từng chiếc cốc
Hình 5.2 Ví dụ về hình vuông và hình tròn
Có 3 bài toán cơ bản đối với HMM:
Bài toán 1: Cho dãy quan sát O = (o1o2…oi) và mô hình = (A, B, ) Cầnphải tính xác suất của chuỗi quan O cho bởi mô hình, P(O|) như thế nào là hiệuquả?
Bài toán 2: Cho chuỗi quan sát O = (o1o2…oi) và mô hình = (A, B, ), làmthế nào để chọn được một dãy trạng thái tương ứng q = (q1q2…qi) sao cho dãytrạng thái này là tối ưu theo ý nghĩa nào đó?
Bài toán 3: Cần phải hiệu chỉnh các tham số của mô hình = (A, B, ) như
thế nào để tìm cực đại xác suất P(O|)?
Phần sau sẽ trình bày tóm lược lời giải cho ba bài toán này
Trang 34III.2 HUẤN LUYỆN VÀ CHO ĐIỂM HMM
III.2.1 Các tiêu chuẩn huấn luyện
Tất cả các phương pháp huấn luyện và cho điểm được phác hoạ ở đây dựa
trên tiêu chuẩn xác suất cực đại – ML (Maximun Likelihood) Cho trước một dãy
huấn luyện của các quan sát, một mô hình bắt đầu với các tham số ban đầu, sau
đó được ước lượng một cách lặp lại sao cho xác suất mà mô hình đưa ra nhữnghuấn luyện tăng Khi xác suất đạt đến cực đại, quá trình huấn luyện dựng Tối ưuxác suất cực đại tiêu chuận được cho bởi:
trong đó , v= 1,2,…,V chỉ các HMM khác nhau và O v là dãy huấn luyện cho mô hình Tuy nhiên, ta sẽ chỉ ra rằng tiếp cận ML không tối ưu một cách cần thiếtkhi tín hiệu được lấy mẫu không tuân theo những ràng buộc của HMM hoặcngược lại các tham số của HMM khó ước lượng được một cách đáng tín cậy – có
lẽ do dữ liệu không đầy đủ Trong trường hợp này, những tiêu chuẩn huấn luyệnkhác có thể cải tiến hiệu suất của hệ thống
Tiêu chuẩn thông tin tương hỗ cực đại – MMI (Maximun Mutual Information) dành cho trường hợp trong đó một số mô hình được thiết kế và mục
tiêu là cực đại khả năng của mỗi mô hình để phân biệt giữa các dãy quan sát tựphát sinh và các dãy được phát sinh bởi các mô hình khác
Một khả năng có thể thi hành tiêu chuẩn MMI là:
Cách này nhằm mục đích phân biệt chính xác mô hình từ tất cả các môhình khác trên dãy huấn luyện Bằng cách tính tổng tất cả các dãy huấn luyện,tập phân biệt nhất không khả thi vì cần các thủ tục tối ưu tổng quát Lớp HMMcủa Krogh là một tổng quát hóa của tiêu chuẩn MMI Lớp này bao gồm một
HMM với một phân bố output trên các nhãn lớp công việc phát ra (emission).
Quá trình huấn luyện tối ưu xác suất gán nhãn, có thể được xem như huấn luyệngiám sát
Một tiêu chuẩn huấn luyện khác giả thiết rằng tín hiệu được mô hình khôngcần thiết phải được sinh ra từ nguồn Markov Một lời giải thông tin phân biệt cực
Trang 35đại – MDI (Maximum Discrimination Information) sẽ cực tiểu entropi chéo (cross entropy) giữa tập hợp các mật độ xác suất của tín hiệu hợp lệ và tập hợp các mật
độ xác suất của HMM Dưới đây là một số lời giải cho các bài toán đã được nêu ởphần trước
III.2.2 Giải thuật tiến – lùi (forward-backward algorithm)
Giải thuật tiến lùi đã được xem là cơ sở cho những lời giải đối với ba bàitoán của mô hình Markov ẩn Thuật toán này bao gồm việc tính toán hai biến,biến tiến i(i) và biến lùi i(i) là các hàm biểu thị thời gian và trạng thái Bài toán 1
có thể được giải quyết sử dụng biến tiến, tìm xác suất để mô hình mô hình đưa ramột dãy quan sát Bài toán 2, tìm trạng thái có khả năng nhất của hệ thống tại mỗikhoảng thời gian, mà có thể nhận được từ thuật toán Một thủ tục có thể được sửdụng làm lời giải cho bài toán 3
Biến tiến i(i) biểu diễn xác suất của một dãy quan sát riêng phần O0,O1, …,
Oi được quan sát trong khi mô hình đang ở trong trạng thái Si tại thời điểm t Có
N trạng thái được định nghĩa cho mô hình trong đó qi là trạng thái mà nó đangđứng và có thể sinh ra bất kỳ một trong K ký hiệu quan sát Oiở mỗi khoảng thờigian t, t=0,1,2,… T-1
i(i) = P[O0O1…Oi, qi= Si] (5)Phương trình này có thể được giải bằng quy nạp
Giá trị khởi đầu:
i(i) = P[Oi+1Oi+2…| qi= Si] (9)Một lần nữa, phương trình này có thể được giải bằng quy nạp