Huỳnh Hữu Hưng Nghiên cứu Hidden Markov Model và ứng dụng trong nhận dạng chữ viết tay... Đặt vấn đề Hiện nay, các bảng biểu, bảng điểm, giấy tờ, công văn, bản thảo viết tay còn nhiều
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
BÁO CÁO LUẬN VĂN NGÀNH KHOA HỌC MÁY TÍNH
Họ và tên HV : Nguyễn Thị Hà Phương Cán bộ hướng dẫn : TS Huỳnh Hữu Hưng
Nghiên cứu Hidden Markov Model và ứng dụng
trong nhận dạng chữ viết tay
Trang 2Nội dung trình bày
Trang 3Đặt vấn đề
Hiện nay, các bảng biểu, bảng điểm, giấy tờ, công
văn, bản thảo viết tay còn nhiều việc nhập liệu
bằng tay tốn nhiều công sức và thời gian, do đó việc nhận dạng để đọc dữ liệu tự động vào máy tính là rất cần thiết
- Nhận dạng chữ in
- Nhận dạng chữ viết tay
Đã có một số phương pháp nhận dạng chữ viết tay, trong đó phương pháp Hidden Markov Model (HMM) được sử dụng nhiều nơi và đã có kết quả khả quan
Trang 4 Hiểu được những kiến thức về nhận dạng xử lý ảnh
Nắm được các thao tác của đề tài
Tìm hiểu được nhiều mẫu chữ viết tay phục vụ nhận dạng
Trang 5Nhiệm vụ của đề tài
Nghiên cứu mô hình Hidden Markov Model
Nghiên cứu chữ viết tay
Nghiên cứu các kỹ thuật nhận dạng chữ viết tay
Vận dụng môi trường Matlab, mô hình HMM để nhận dạng chữ viết tay
Trang 6Phác thảo mô hình kiến trúc hệ thống
Trang 7Quá trình nhận dạng
Tiền xử lý: để loại bỏ các phần nhiễu ảnh
Trích rút đặc trưng: mỗi ký tự có một đặc trưng riêng
Trang 8Phương pháp Hidden Markov Model
Mô hình HMM được định nghĩa là bộ ba
Trang 9Bài toán tung đồng xu
Xét mô hình HMM (trong thí nghiệm tung đồng xu) với các thành phần:
N: Số trạng thái (F/B, F: mặt phải, B: mặt trái).
M: Số chuỗi quan sát riêng lẻ (H/T).
A={aij}.
B={bj(k)}.
Trang 10Bài toán tính xác suất
Cho , làm thế nào để tính được xác suất của chuỗi quan sát O1, O2,
O3, , OT (Chuỗi: HTTHHHT).
Giải quyết: Giả sử chúng ta biết chuỗi trạng thái Q Tính:
= b q1 (O1) b q2 (O2) b qT (OT)
Trang 11Bài toán tính xác suất
Sử dụng thủ tục tiến (forward) để tính xác suất:
Tung đồng xu ngẫu nhiên, ta có O = H T T H
Trang 12Bài toán tìm ngược
lựa chọn chuỗi trạng thái Q = q1 q2 qt ?
Giải quyết:
- Đầu tiên, chạy thủ tục Forward và backward không cùng nhau.
- Lưu vết của các điểm tại mọi điểm.
- Tung đồng xu: Ta được kết quả các lần tung.
α1(F)F) α2(F)F) α3(F)F) α4(F)F) α5(F)F) α6(F)F) α7(F)F) α1(F)B) α2(F)B) α3(F)B) α4(F)B) α5(F)B) α6(F)B) α7(F)B) β1(F)F) β2(F)F) β3(F)F) β4(F)F) β5(F)F) β6(F)F) β7(F)F) β1(F)B) β2(F)B) β3(F)B) β4(F)B) β5(F)B) β6(F)B) β7(F)B)
Trang 13Bài toán tìm ngược
Đưa ra xác suất dự báo tại mọi thời điểm
Giá trị lớn nhất của Forward, Backward tối đa hoá số trạng thái dự báo chính xác (đồng xu)
Sử dụng thuật toán Viterbi:
( ) ( ) ( )
( ) ( ) 1
i i
t t i
j j
t t j
Trang 14Bài toán ước lượng bộ tham số
Với mô hình này, hãy ước lượng bộ tham số
để cho ra giá trị lớn nhất
Giải quyết bài toán: Sử dụng thuật toán Baunm-Welch
- Giá trị ban đầu ngẫu nhiên:
- Thực hiện Viterbi dựa vào và
- Cập nhật
: q0 của F và B trên chuỗi Viterbi.
A: Tần suất của F/B chuyển đổi trên chuỗi Viterbi.
B : Tần suất của H/T giới hạn bởi F/B.
Trang 15Điều kiện ràng buộc mẫu chữ
Chữ viết gồm các chữ cái từ A đến Z và viết trong
một số kiểu font hạn chế Không quá bay bướm,
không quá nghiêng
Mẫu sai
Mẫu đúng
Trang 16Điều kiện ràng buộc mẫu chữ
Chữ viết phải rõ ràng, không được quá cẩu thả, mất nét Đặc biệt cần có sự khác nhau giữa các ký tự có nét tương đồng nhau
Chữ viết mất nét không thể nhận dạng
Chữ viết mất nét có thể nhận dạng
Chữ viết lệch nét
Trang 17
n t
t
t t
x x
y y
1
1
arctan
Trang 18Một số kỹ thuật nhận dạng trên HMM
Phân đoạn đường thẳng cho cấu trúc liên kết HMM
2 1
Trang 19Một số kỹ thuật nhận dạng trên HMM
Huấn luyện hệ thống:
Lưu codeword vào CSDL
Xây dựng mô hình HMM: ( , , ) A B
- Ma trận chuyển đổi trạng thái A: NxN, A={a ij}
a ij =(số chuyển đổi từ S i sang S j )/(Tổng số chuyển đổi từ S i).
Trang 21Cài đặt thực nghiệm
Giao diện chương trình
Trang 22Đánh giá kết quả đạt được
Trang 23 Kết quả thử nghiệm nhận dạng trên các mô hình
Markov ẩn được xây dựng từ tập CSDL chữ viết tay.
Nghiên cứu các phương pháp nâng cao chất lượng ảnh
Trang 24Hướng phát triển
Xây dựng thêm mô hình Markov ẩn đối với các ký tự còn lại trong bảng chữ cái
Tạo thêm nhiều mẫu chữ
Tiếp tục nghiên cứu và hệ thống thành một dây chuyền tự động ứng dụng vào bài toán thực tế