1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn

90 1K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 90
Dung lượng 1,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để hoàn thành luận văn “ Nhận diện chữ viết tay bằng mô hình Markov ẩn ” ngoài sự cố gắng của bản thân, bên cạnh đó có sự giúp đỡ của bạn bè và nhất là sự giúp đỡ nhiệt tình của thầy hướ

Trang 1

TRƯỜNG ĐẠI HỌC LẠC HỒNG

***

NGUYỄN MINH TRIẾT

NGHIÊN CỨU NHẬN DẠNG CHỮ VIẾT

TAY MÔ HÌNH MARKOV ẨN

Chuyên ngành : CÔNG NGHỆ THÔNG TIN

Trang 2

Để hoàn thành luận văn “ Nhận diện chữ viết tay bằng mô hình Markov ẩn ” ngoài sự cố gắng của bản thân, bên cạnh đó có sự giúp đỡ của bạn bè và nhất là sự giúp

đỡ nhiệt tình của thầy hướng dẫn TS Vũ Đức Lung, em xin cảm ơn thầy và các bạn đã

hổ trợ trong suốt thời gian qua để hoàn thành luận văn, tuy nhiên do kiến thức và thời gian có giới hạn nên đề tài này khó tránh khỏi sai sót, kính mong thầy cô và các bạn đóng góp thêm để chương trình hoàn chỉnh hơn

Em xin chân thành cảm ơn !

Trang 3

Tôi xin cam đoan đây là đề tài nghiên cứu do tôi thực hiện

Nghiên cứu lý thuyết, chương trình và kết luận nghiên cứu trình bày trong luận văn chưa từng được công bố ở các nghiên cứu khác

Tôi xin chịu trách nhiệm về nghiên cứu của mình

Học viên

Nguyễn Minh Triết

Trang 4

CHƯƠNG I : GIỚI THIỆU ĐỀ TÀI 3

1.1 Giới thiệu về nhận dạng chữ viết tay 3

1.1.1 Các giai đoạn phát triển 3

1.1.2 Tình hình nghiên cứu trong nước 4

1.1.3 Tình hình nghiên cứu ở nước ngoài 5

1.2 Cách tiếp cận giải quyết bài toán 5

1.3 Tổng quan về các phương pháp huấn luyện 6

1.3.1 Mô hình Markov ẩn 6

1.3.2 Máy vector hỗ trợ 8

1.3.3 Mạng Neural 11

1 4 Phạm vi đề tài 11

CHƯƠNG II : CƠ SỞ LÝ THUYẾT VỀ TIỀN XỬ LÝ ẢNH VÀ TRÍCH CHỌN ĐẶC TRƯNG 13

2.1 Tổng quan về tiền xử lý ảnh 13

2.2 Các công đoạn tiền xử lý 13

2 2.1 Chuyển xám ảnh 14

2 2.2 Phân ngưỡng ảnh (Nhị phân ảnh) 15

2 2.3 Nhiễu ảnh 17

2 2.4 Một số phương pháp lọc nhiễu 17

2 2.4.1 Bộ lọc Mean 18

2.2.4.2 Bộ lọc Gauss 19

2.2.4.3 Bộ lọc Median 19

2.2.5 Chỉnh nghiên ảnh 20

2.2.6 Làm trơn ảnh, tách biên đối tượng 21

2.2.7 Biên và các kiểu biên cơ bản 21

2.2.7.1 Biên lý tưởng 22

2.2.7.2 Biên không trơn 22

2.2.7.3 Vai trò của biên trong nhận dạng 23

Trang 5

2.3.1 Một số đặc trưng cơ bản của mẫu 30

2.3.2 Một số phương pháp trích chọn đặc trưng 31

2.4 Kết luận 34

CHƯƠNG III: CƠ SỞ LÝ THUYẾT VỀ MARKOV ẨN 35

3.1 Giới thiệu 35

3.2 Mô hình Markov 35

3.3 Mô hình Markov ẩn 37

3.3.1 Bài toán 1 – evaluation problem 41

3.3.2 Bài toán 2 – decoding problem 42

3.3.3 Bài toán 3 – learning problem 44

3.4 Huấn luyện và cho điểm HMM 46

3.4.1 Các tiêu chuẩn huấn luyện 46

3.4.2 Giải thuật tiến – lùi (forward-backward algorithm) 47

3.4.3 Ước lượng lại tham số - Giải thuật Baum-Welch 49

3.4.4 Các mô hình huấn luyện liên tục và bán liên tục 50

3.4.5 Thuật toán Viterbi 52

3.4.6 Giải thuật Level Building 53

3.5 Lượng hóa vector và phân nhóm 55

3.5.1 Lượng hóa vector 55

3.5.1.1 Phép lượng hóa vô hướng 56

3.5.1.2 Thiết kế codebook 58

3.5.2 Phân nhóm 60

3.5.2.1 Thuật toán –Kmeans 61

3.5.2.2 Thuật toán ISODATA 62

3.5.3 Kết luận 65

CHƯƠNG IV : ỨNG DỤNG MÔ HÌNH MARKOV ẨN TRONG NHẬN DẠNG CHỮ VIẾT TAY 67

4.1 Cấu trúc một hệ nhận dạng chữ viết khi dùng mô hình Markov ẩn 67

4.2 Ứng dụng mô hình Markov ẩn vào nhận dạng chữ viết tay 67

Trang 6

4.3.1 Khó khăn về dấu trong tiếng Việt 70

4.3.2 Khó khăn về sự biến dạng chữ 71

4.4 Mô hình nhận dạng và huấn luyện 73

CHƯƠNG V : CÀI ĐẶT CHƯƠNG TRÌNH VÀ ĐÁNH GIÁ KẾT QUẢ 75

5.1 Môi trường thực nghiệm 75

5.2 Tạo cơ sở dữ liệu mẫu 75

5.2.1 Tạo CSDL mẫu cho nhận dạng online 76

5.2.2 Tạo CSDL mẫu cho nhận dạng offline 77

Kết luận 78 Tài liệu kham khảo

Trang 7

Hình 1.1 Mô hình tiếp cận giải quyết bài toán 5

Hình 1.2 Mô hình Markov ẩn 7

Hình 1.3 Đồ thị vô hướng HMM 7

Hình 1.4 Siêu phẳng phân chia tuyến tính 9

Hình 1.5 Biên độ và siêu phẳng có biên độ cực đại 9

Hình 1.6 Vector hỗ trợ 9

Hình 1.7 Ánh xạ phi tuyến và hàm hạt nhân 9

Hình 1.8 Mô hình nhận dạng ký tự dùng SVM 10

Hình 1.9 Sơ đồ một mạng neural nhận dạng ký tự 11

Hình 2.1 Ảnh màu chuyển xám 14

Hình 2.2 - Phương pháp lấy ngưỡng 16

Hình 2.3 Ảnh thu được khi qua bộ lọc Mean 18

Hình 2.4 Ảnh thu được sau khi xử lý qua bộ lọc Gauss 19

Hình 2.5 Ảnh trước và sau khi qua bộ lọc Median 19

Hình 2 6 Mô hình sắp xếp bộ lọc Median 20

Hinh2 7 Xác định góc nghiên 21

Hình 2.7 Biên lý tưởng 22

Hình 2.8 Đạo hàm Gauss theo hướng (x,y) 25

Hình 2.9 Mô tả các điểm lân cận 27

Hình 2.10 Biên ảnh theo phương pháp Candy 28

Hình 2.11 Ảnh trước khi tách biên 28

Hình 2.12 Ảnh sau khi tách biên 29

Hình 2.13 Phân vùng 30

Hình 2.14 Lược đồ mức xám (histogram) 30

Hình 2.15 Đặc trưng hướng 31

Hình 2.16 Cách chia ô ký tự 32

Hình 2.17 Ký tự đã được chia ô 32

Hình 2.18 Trích chọn chu tuyến 32

Hình 2.19 Trích chọn đặc trưng wavelet Haar 33

Hình 2.20 Dãy đặc trưng wavelet Haar 34

Trang 8

Hình 3.3 Biểu đồ trạng thái 38

Hình 3.4 Ví dụ về hình vuông và hình tròn 40

Hình 3.5 Chuỗi Q tối ưu cục bộ 43

Hình 3.6 Sơ đồ lưới cho 3 trạng thái kết nối đầy đủ 48

Hình 3.7 Thao tác cơ bản của tính toán tiến 48

Hình 3.8 Sơ đồ lưới cho 3 trạng thái 53

Hình 3.9 Thao tác cơ bản của tính toán Viterbi 53

Hình 3.10 Biểu đồ minh họa giải thuật Level Building 55

Hình 3.11 Phép lượng hóa một độ đo một chiều 56

Hình 3.12 Phép lượng hóa không gian hai chiều 67

Hình 3.13 Cây nhị phân tìm kiếm VQ 60

Hình 3.14 Ba nhóm cluster trong mặt phẳng hai chiều 61

Hình 4.1 Mô hình ứng dụng Markov ẩn 68

Hình 4.2 Minh họa chia vùng ảnh 69

Hình 4.3 Dãy các trạng thái 70

Bảng 4.4 Cấu trúc ký tự tiếng Việt 70

Hình 4.7 Mẫu ký tự chữ A viết tay 71

Hình 4.8 Mẫu ký tự chữ G viế ttay 72

Hình 4.9 Mẫu ký tự chữ N viết tay 72

Hình 5.1 Giao diện chính của chương trình 75

Hình 5.2 Giao diện form nhận dạng online 76

Hình 5.3 Giao diện form huấn luyện online 76

Hình 5.4 Giao diện form huấn luyện Offline 77

Trang 9

Bảng 1 Giá trị biên độ theo phương hướng 27 Bảng 4 Bảng chữ cái tiếng Việt có dấu 71 Bảng 5 Bảng chữ cái tiếng Việt không dấu 71

Trang 10

LỜI MỞ ĐẦU

Nhận dạng là bài toán xuất hiện cách đây khá lâu và vẫn luôn thu hút được nhiều sự quan tâm, nghiên cứu Đặc biệt là trong vài thập niên gần đây, do sự thúc đẩy của quá trình tin học hoá trong mọi lĩnh vực, bài toán nhận dạng không còn dừng lại ở mức độ nghiên cứu nữa mà nó trở thành một lĩnh vực để á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ạng chữ Trong số này, nhận dạng chữ viết tay 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, thanh toá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ài liệ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ốt nghiệ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ồm nhữ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ình nghiên cứu trong

và ngoài nước, quy trình chung để giải quyết bài toá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 và trích chọn đặc trưng

Trình bày lý thuyết về chuyển xám, phân ngưỡng, chỉnh nghiên, lọc nhiễu, chuẩn hóa kích thước, phát hiện biên, trích chọn đặc trưng ảnh ký tự

Trang 11

 Chương 3: Cơ sở lý thuyết về mô hình Markov ẩn

Trình bày các khái niệm cơ bản, thuật toán của mô hình Markov ẩn

 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ật toá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ố form chính của chương trình Đánh giá kết quả và đưa ra hướng phát triển trong tương lại

 Phụ lục: 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ời gian 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 12

CHƯƠNG I

GIỚI THIỆU ĐỀ TÀI

1.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ẩm FineReader 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ái sức

khỏe, tinh thần của từng người viết

1.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 minh củ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ị thu thu nhận dữ liệu, các phương pháp luận nhận dạng đã được phát triển trong giai đoạn trước

Trang 13

đã có được môi trường lý tưởng để triển khai các ứng dụng nhận dạng chữ

- Các hướng tiếp cận theo cấu trúc và đối sánh được áp dụng trong nhiều hệ thống nhận dạng chữ

- Trong giai đoạn này, các hướng nghiên cứu chỉ tập trung vào các kỹ thuật nhận dạng hình dáng chứ chưa áp dụng cho thông tin ngữ nghĩa Điều này dẫn đến sự hạn chế về hiệu suất nhận dạng, không hiệu quả trong nhiều ứng dụng thực tế

 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ạn nà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ĩnh vự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

1.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ạng chữ 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ạng cá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 tay trự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ồ Chí 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ựa trê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ên sả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ấy nhậ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ướng nghiê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àn thiện

1.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ận dạng

Trang 14

chữ viết đã nhận được sự quan tâm đáng kể do sự phát triển của các máy tí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ạng thiế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áp nhận dạng chữ viết tay trên các máy Palm Pilot hay các máy TABLET PC

1.2 Cách tiếp cận giải quyết bài toán

Hình 1.1 Mô hình 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ý (preprocessing), 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 động viết của con người, chuẩn hóa dữ liệu và nén dữ liệu

- Biểu diễn, rút trích đặc điểm: Giai đoạn đóng vai trò quan trọng nhất trong nhận dạng chữ viết tay Để tránh những phức tạp của chữ viết tay cũ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

Trang 15

mang giá trị 1, ngược lại có giá trị 0 Sau đó, ảnh được cắt xé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 đã được quy định trước

Tiếp theo, ảnh đã được cắt xén và thu nhỏ được làm mỏng Quá trình làm mỏ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ị 1 ban đầu Sau khi làm mỏng, chỉ những pixel có ý nghĩa được giữ lại, và chúng đượ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úp việ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ình dạ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ần thiết để nhận dạng các ký tự có chung ý nghĩa Do chữ viết mỗi người mỗi khác nê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ủa nhữ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

1.3 Tổng quan về các phương pháp huấn luyện

1.3.1 Mô hình Markov ẩn

Mô hình Markov ẩn (Hiden Markov Model - HMM) được giới thiệu vào cuố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ỗi trạng thái

Mô hình Markov ẩn 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, 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ếp bở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 16

Hình 1.2 Mô hình Markov ẩn

xi: Các trạng thái trong mô hình Markov

aij: Các xác suất chuyển tiếp

bij: Các xác suất đầu ra

yi: 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 được sinh 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 được chuỗ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ách tính

) ( / )

| ( )

Ở đó 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ỉ

t Y P X Y Y

P Y X P Y P X Y P

2

1 1

1

1 ) ( | ) ( | ) * ( | ) (

) , (

Mộ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

Trang 17

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

1.3.2 Máy vector hỗ trợ

Có thể mô tả 1 cách đơn giản về bộ phân lớp SVM (Support Vector Machine) như sau: Cho trước 2 tậ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ào nhữ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ỗi phâ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 định bằng kích thước Vapnik Chervonenkis (kích thước VC) Kích thước VC là một khá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) Đại lượ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àn toà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ản nhất và đảm bảo sai số huấn luyện nhỏ Phương pháp SVM được xây dựng dựa trên ý tưởng này

Cô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ợ

Trang 18

Hình 1.4 Siêu phẳng phân chia tuyến tính

Hình 1.5 Biên độ và siêu phẳng có biên độ cực đại

Hình 1.7 Ánh xạ phi tuyến và hàm hạt nhân

Siêu phẳng có biên độ cực đại

Trang 19

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ác rà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ấn luyện một tập dữ liệu nhỏ (nhỏ hơn 1000 mẫu) có thể được xử lý một cách nhanh chó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ớn hơ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ực lớ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

Có 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ột nhân và các siêu tham số thích hợp (Burges, 1988) Lưu ý rằng, SVM cơ bản dù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ân loại hai lớp hoặc xây dựng SVM cho nhiều lớp

Image 16x16

Image 8x8

Pre-Classified

Connected Region

Connected Region

Combine markes

Recognition result is A

Trang 20

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ực hiệ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ày SVM chỉ việc tập trung vào việc cực đại hóa lề

 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

 Chấp nhận lỗi ở các ví dụ học

 Thích ứng với nhiễu dữ liệu

1.4 Phạm vi đề tài

 Đề tài nghiên cứu các thuật toán tiền xử lý ảnh và các phương pháp huấn luyện

và nhận dạng từ đó đánh giá ưu và nhược điểm mô hình Markov ẩn ứng dụng vào nhận dạng chữ viết tay cũng như mức độ chính xác trong quá trình nhận dạng

Trang 21

 Đề tài tập trung vào nghiên cứu nhận dạng các ký tự tiếng Việt đơn lẽ và đó là tiền đề cho việc phát triển nhận dạng từ và cả văn bảng viết tay

 Đồ á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#

Trang 22

Khôi phục ảnh nhằm mục đích loại bỏ hay làm giảm tối thiểu các ảnh hưở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, chỉnh nghiên, qui về cùng kích thước, qua đó giảm bớt các biế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ổi bậ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ần tiềp theo

2.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ực tiế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 gian chung của

cả hệ thống Vì vậy, tùy theo chất lượng ảnh thu nhận được của từ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 ưu tiê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

Các thủ tục này bao gồm :

Trang 23

màu (khoảng 16.78 triệu màu) Đối với ảnh xám, thông thường mỗi pixel mang thông tin của 256 mức xám (tương ứng với tám bit) như vậy ảnh xám hoàn toàn có thể tái hiện đầy đủ cấu trúc của một ảnh màu tương ứng thông qua tám mặt phẳng bit theo độ 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ấu trú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 pixel thành mức xám tương ứng như sau:

G = α.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, các giá trị α, β, Ω là các hệ số cường độ sáng của 3 màu

Mục đích: chuyển ảnh màu về ảnh đa cấp xám

Trong bài luận này sử dụng thuật toán trung bình cộng

Hình 2.1 Ảnh màu chuyển

xám Ảnh xám

Trang 24

- Tư tưởng của thuật toán như sau: tính trung bình cộng giá trị của 1pixel Sau đó gán lại giá trị trung bình cộng đó cho RGB

Ví dụ: Như pixel phía trên quá trình chuyển xám như sau :

T y x Source if

y x Dest

),(_

_0

),(_

_1),(

Trong đó, 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 đang xét và

không thể lấy cố định, như trên hình 2.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 d là thích hợp hơn

cả

a) ảnh gốc ban đầu b) Ngưỡng thấp (90)

Trang 25

c ) Ngưỡng trung bình (128) d ) Ngưỡng cao (225)

e) Histogram (biểu đồ cột):

Người ta đã đề xuất nhiều phương pháp để xác định giá trị ngưỡng Một

phương pháp là thiết lập ngưỡng sao cho số lượng các điểm đen đạt một ngưỡ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ại chiế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ởm chởm Một giải pháp để giải quyết vấn đề này là xấp xỉ giá trị của histogram giữ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ấp nhất

Ví dụ, coi x và y lần lượt là hoành độ và tung độ trên histogram Chúng ta có thể sử

dụng hàm : y = ax 2 + bx + c Với a,b,c là các hằng số làm hàm xấp xỉ đơn giản cho histogram ở vị trí giữa hai đỉnh của nó Vị trí thấp nhất sẽ có tọa độ x = -b/2a

Phương pháp xấp xỉ các giá trị của histogram và tìm vị trí thấp nhất cho giá trị ngưỡng tốt hơn nhưng lại yêu cầu nhiều tài nguyên về tính toán để thực hiện cũng độ phức tạp trong việc cài đặt nên trong bài luận này tôi trình bày bằng phương pháp phân ngưỡng trung bình cộng

Hình 2.2 - Phương pháp lấy ngưỡng

Trang 26

Mục đích chuyển ảnh đầu vào thành ảnh đen trắng (là ảnh có các pixel chỉ mang giá trị 0 hoặc 255)

Trong bài luận này vẫn là tư tưởng của thuật toán trung bình cộng

- Sau khi tính được giá trị TBC ta đem so sánh với ngưỡng

- Ngưỡng là một số nằm trong khoảng từ 0255 Trong bài này đặt ngưỡng 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 là 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 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ần hoàn

Các phương pháp lọc đề cập trong báo cáo xét với các trường hợp ảnh chỉ có sự xuất hiện của nhiễu

2.2.4 Một số phương pháp lọc nhiễu

2.2.4.1 Bộ lọc Mean

Trang 27

Mạch lọc là một mặt nạ có kích thước NxN, trong đó tất cả các hệ số đều bằ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 ảnh kết quả qua bộ lọc Mean theo công thức sau:

, :

1 [i, j] (k, l)

k l N

s

Hình 2.3 Ả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ượng bên trong ảnh, làm mất tín hiệu cận nhiễu và không lọc được nhiễu xung

2.2.4.2 Bộ lọc Gauss

Về bản chất bộ lọc Gauss có phương thức tiến hành tương đồng với bộ lọc trung bình nhưng có thêm tác động của các trọng số Các trọng số này được tính tỷ lệ với hàm Gauss theo khoảng cách tới điểm tính toán Công thức tính giá trị cho từng pixel ảnh gốc theo lọc Gauss như sau:

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àm trơn ảnh

1 1 1

1 1 1

1 1 1

Trang 28

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 2.4 Ảnh thu được sau khi xử lý qua bộ lọc Gauss

2.2.4.3 Bộ lọc Median

Để thực hiện lọc Median trong lân cận của một pixel chúng ta sắp xếp các giá 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 được cá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áng tức thì (xung) hay còn gọi là các nhiễu muối tiêu Trong khóa luận này áp dụng bộ lọc Median

Hình 2.5 Ảnh trước và sau khi qua bộ lọc Median

Mục đích lọc nhiễu đốm, nhiễu muối tiêu sau khi đã phân ngưỡng ảnh Trong bài luận này sử dụng thuật toán Median

- Với những ảnh đầu vào là ảnh scan hoặc ảnh chụp từ điện thoại hoặc máy ảnh,

sau khi phân ngưỡng hay có các điểm đen lốm đốm nằm rải rác trên toàn bộ vùng ảnh Các điểm này gọi là nhiễu Mục đích của bộ lọc median là loại bỏ các điểm nhiễu này

- Tư tưởng thuật toán như sau:

- Sẽ dễ hình dung hơn bằng mô tả trong hình dưới đây:

Trước khi lọc nhiễu Sau khi lọc nhiễu

Trang 29

Hình 2.6 Mô hình sắp xếp bộ lọc Median

Sơ lược các bước của giải thuật:

 Quét cửa sổ lọc lên các thành phần của ảnh gốc; điền các giá trị được quét vào cửa sổ lọc

 Lấy các thành phần trong của sổ lọc để xử lý

 Sắp xếp theo thứ tự các thành phần trong cửa sổ lọc

 Lưu lại thành phần trung vị, gán cho ảnh output

2.2.5 Chỉnh nghiên ảnh

Ảnh khi vẽ , scan, hay chụp từ camera có thể bị nghiên do đó cần phải có bước chỉnh nghiên ảnh về vị trí theo phương x , trong bài luận này trình bày phương pháp sử dụng tia quay (project profile) để chỉnh nghiên ảnh

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ác giá trị điểm đen được tích lũy theo các dòng quét song song với một phương xá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ều ngang ở mỗi vị trí đó Tính độ biến thiên của histogram, vị trí góc nghiêng có độ biến thiên lớn nhất sẽ là góc nghiêng văn bản cần tìm (Hình 2.2.5)

Trang 30

Hình 2.7 Xác định góc nghiên

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ác thà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ến thiê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êng trong 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 project profile

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

2.2.6 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

2.2.7 Biên và các kiểu biên cơ bản

Các đặc trưng của ảnh thường bao gồm các thành phần như: mật độ xám, phân bố xác suất, phân bố không gian, biên ảnh Biên là một vấn đề chủ yếu và đặc biệt quan trọng trong phân tích ảnh vì các kĩ thuật phân đoạn ảnh chủ yếu dựa vào biên

Hiện nay có nhiều định nghĩa về biên ảnh và mỗi định nghĩa được sử dụng trong một số trường hợp nhất định Song nhìn chung, ta có thể hiểu là:

Một điểm ảnh có thể coi là biên nếu ở đó có sự thay đổi đột ngột về mức xám

Ví dụ: Đối với ảnh đen trắng, một điểm được gọi là điểm biên nếu nó là điểm đen

Trang 31

có ít nhất một điểm trắng bên cạn

Tập hợp các điểm biên tạo thành biên, hay còn gọi là đường bao của ảnh (boundary) Chẳng hạn, trong một ảnh nhị phân, một điểm có thể được gọi là biên nếu đây là một điểm đen và có ít nhất một điểm trắng nằm trong lân cận điểm đó

Mỗi một biên là một thuộc tính gắn liền với một điểm riêng biệt và được tính toán

từ những điểm lân cận nó Đó là một biến Vector bao gồm hai thành phần:

2.2.7.1 Biên lý tưởng

Việc phát hiện biên một cách lý tưởng là việc xác định được tất cả các đường bao trong đối tượng Biên là sự thay đổi đột ngột về mức xám nên sự thay đổi cấp xám giữa các vùng trong ảnh càng lớn thì càng dễ dàng nhận ra biên Hình minh hoạ điểm ảnh có sự biến đổi mức xám u(x) một cách đột ngột:

Một biên được coi đó là biên lý tưởng khi mà có sự thay đổi cấp xám lớn giữa các vùng trong ảnh Biên này thường chỉ xuất hiện khi có sự thay đổi cấp xám qua một điểm ảnh

2.2.7.2 Biên không trơn

Trên thực tế, ảnh thường có biên không lý tưởng, các điểm ảnh trên ảnh thường có sự thay đổi mức xám đột ngột và không đồng nhất, đặc biệt là ảnh nhiễu Trong trường hợp không nhiễu (biên lý tưởng), bất cứ một sự thay đổi cấp xám nào cũng thông báo sự tồn tại của một biên Trường hợp đó khó có khả năng xảy ra, ảnh thường là không lý tưởng, có thể là do các nguyên nhân sau:

- Hình dạng không sắc nét

- Nhiễu: do một loạt các yếu tố như: kiểu thiết bị nhập ảnh, cường độ ánh sáng, nhiệt độ, hiệu ứng áp suất, chuyển động, bụi…, chưa chắc rằng hai điểm ảnh có cùng giá trị cấp xám khi được nhập lại có cùng cấp xám đó trong ảnh Kết quả của nhiễu trên ảnh gây ra một sự biến thiên ngẫu nhiên giữa các điểm ảnh Sự xuất hiện ngẫu nhiên của các điểm ảnh có mức xám chênh lệch cao làm cho các đường biên dốc trở lên không trơn chu mà trở thành các đường biên gồ ghề, mấp mô, không

Hình 2.7 Biên lý tưởng

Trang 32

nhẵn, đây chính là đường biên trên thực tế

Ngày nay, những phương pháp phát hiện biên hiện đại thường kết hợp nhiễu vào trong mô hình của bài toán và trong quá trình phát hiện biên cũng được tính đến Còn khái niệm về biên nêu ở trên được sử dụng để xây dựng các phương pháp phát hiện biên trong quá khứ, những mô hình về cách này được coi là đơn giản và sơ sài

2.2.7.3 Vai trò của biên trong nhận dạng

Mục đích tách riêng phần ảnh chứa ký tự từ ảnh đầu vào

Đường biên là một loại đặc trưng cục bộ tiêu biểu trong phân tích nhận dạng ảnh Người ta sử dụng đường biên làm phân cách các vùng xám (màu) cách biệt Ngược lại, người ta cũng dùng các vùng ảnh để tìm đường phân cách

Như đã đề cập về một hệ thống nhận dạng và xử lý ảnh, quá trình nhận dạng có hai giai đoạn cần thực hiện:

- Giai đoạn học: Các đặc điểm của đối tượng mẫu được lưu trữ (gọi là học mẫu) và tập các phần tử mẫu được chia thành các lớp

- Giai đoạn nhận dạng: Khi có đối tượng cần nhận dạng, các đặc điểm của đối tượng sẽ được trích chọn và sử dụng hàm quyết định để xác định đối tượng cần nhận dạng thuộc lớp nào

Như vậy, việc nhận dạng sẽ chính xác nếu các đặc điểm được trích chọn chính xác Trong thực tế, các đặc điểm trích chọn phục vụ cho việc nhận dạng thường là các bất biến [7,8,18,26,30,38,45], bởi vì vấn đề cơ bản trong bài toán nhận dạng ảnh là xác định các đối tượng không phụ thuộc vào vị trí, kích thước và hướng quay

2.2.7.4 Một số phương pháp phát hiện biên

 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 mong nuôn trong cấu trúc ảnh

 Tính gradient của ảnh nhờ một trong các toán tử:Roberts, Sobel hay Prewitt…

M(i,j) = gi2(i,j) +gj2(i,j) và ϴ(i,j)= tan -1 [gi(I,j)*gi-(i,j)]

Trang 33

i M j

i

Mt(, ) (, ) ( , )Với t được chọn là các phần tử cạnh

Dựa vào hướng của dradient để loại bỏ những điểm không thực sự là biên Chúng

ta kiểm tra các điểm MT(i,j) nếu có giá trị lớn hơn hai điểm lân cận dọc theo phương gradient (i,j) thì giữ nguyên và ngược lại thì gán giá trị bằng 0

Dùng ngưỡng kép ụ1 và ụ2 (ụ1< ụ2) tạo ra các điểm trung gian nhằm nối liế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ểm biê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 đường biên tạo từ vô số các điểm biên liền kề liên tục

 Hoạt động của thuật toán

a)Thuật toán

Thuật toán được tiến hành qua bốn bước cơ bản sau:

- Đọc ảnh I cần xử lý: tiến hành làm trơn ảnh bằng cách nhân xoắn ảnh với bộ lọc Gauss

- Đạo hàm bậc nhất kết quả trên theo hai hướng x và y:

Điều này tương ứng với việc nhân xoắn ảnh kết quả ở bước 1 theo hai hướng (x và y) với một bộ lọc dựa trên đạo hàm bậc nhất (các bộ lọc của kỹ thuật Gradient)

Từ đó đưa ra kết quả đạo hàm ảnh sau khi tiến hành nhân xoắn với Gauss

- Cho ảnh kết quả ở bước trên tiến hành “Non-maximum Suppression” Nghĩa

là loại bỏ bớt các điểm cạnh (loại bỏ bớt nhiễu), chỉ giữ lại điểm có mức xám cao

- Tiến hành thực hiện áp dụng ngưỡng (ngưỡng cao và ngưỡng thấp) để loại

bỏ một số cạnh xấu

b) Giải thích thuật toán

Bước thứ 1 : Tiến hành làm trơn ảnh

Ở bước này chúng ta tiến hành nhân ảnh với bộ lọc Gauss Cách thức tiến hành giống như tiến hành ở Laplace of Gauss

Trang 34

Bước thứ 2: Tiến hành đạo hàm kết quả ở bước 1

Sau khi làm trơn ảnh ảnh ở bước 1 (nhân ảnh với bộ lọc Gauss) ta tiến hành đạo hàm bậc nhất kết quả đó Kết quả đạo hàm S là đạo hàm của tích ảnh I và hàm Gauss (x,y) Điều này tương ứng với đạo hàm của hàm Gauss sau đó nhân với ảnh I

g x

g g

voi

I g I

Có thể minh hoạ như sau đạo hàm hàm Gauss theo hai hướng x và y như sau:

Sau khi tiến hành nhân xoắn ảnh I với bộ lọc Gauss ở bước 1 ta có một ảnh mới S được làm trơn Tiến hành thực hiện bước hai bằng cách lấy đạo hàm ảnh mới đó theo hai hướng x và y rồi tổng hợp kết quả lại

Như đã biết, phương pháp Gradient là phương pháp dò biên cục bộ dựa vào cực đại của đạo hàm, đó chính là phương pháp đạo hàm bậc nhất Chính vì vậy ta có thể thực hiện việc đạo hàm ở bước 2 bằng cách nhân ảnh kết quả S ở bước 1 với các mặt nạ trong phương pháp Gradient dựa theo các toán tử như Sobel, Pixel Difference

Ở đây ta tiến hành nhân xoắn ảnh S với hai mặt nạ của phương pháp Sobel

Hình 2.8 Đạo hàm Gauss theo hướng (x,y)

Trang 35

theo hai hướng x và y như sau :

2 0 2

1 0 1

0 0 2

1 0 1

y

H

Sau khi tiến hành nhân xoắn ảnh theo hai hướng x và y ta được hai ảnh theo hai hướng là Sx và Sy, ta tiến hành tổng hợp hai kết quả đó để cho ra kết quả cuối cùng S':

)(

Ảnh S‟ tìm được là kết quả của bước thứ hai

Bước thứ 3: Tiến hành Non-maximum Suppression

Tức là loại bỏ một số cạnh dư thừa: Đối với mỗi điểm ảnh trên ảnh S‟ ta tiến hành

so sánh giá trị của điểm đó với giá trị của hai điểm lân cận điểm đó Hai điểm lân cận này là hai điểm nằm trên đường thẳng chứa hướng của đường biên Công thức tính hướng của đường biên nằm ở bước 2

Giả sử ta có điểm biên đang xét là tại vị trí (x,y), ta có 8 điểm biên lân cận điểm biên này như hình dưới:

Trang 36

Tại điểm biên đó ta tiến hành tính giá trị góc của hướng đường biên θ Nếu hướng của đường biên θ≤ 22.50 hoặc θ > 157.50 thì đặt giá trị của θ= 00 và khi đó hai điểm biên lân cận điểm biên này tại vị trí (x-1, y) và (x+1, y).Tương tự ta có kết quả hai điểm biên lân cận theo các hướng biên khác nhau như bảng dưới đây:

Bảng 1: Giá trị biên độ theo phương hướng :

Ta tiến hành thực hiện:

- Tại mỗi điểm ảnh ta tiến hành tính toán hướng của đường biên, sau đó so sánh kết quả đó tìm ra hai điểm biên lân cận

- So sánh giá trị điểm ảnh đang xét với hai điểm biên trên:

Nếu điểm ảnh này là lớn nhất thì giữ lại điểm biên này (đánh dấu điểm biên này), ngược lại nếu nó nhỏ hơn một trong hai điểm biên lân cận thì điểm biên này bị loại

đi (cho giá trị điểm biên này bằng 0)

Ta được kết quả ảnh sau khi đã loại đi một số điểm biên không phù hợp, Lúc này số lượng biên trên ảnh nhìn thấy sẽ ít đi Điều này đặc biệt có giá trị tốt để loại bỏ một số biên dư thừa đặc biệt với ảnh có nhiều nhiễu

Hình 2.9 Mô tả các điểm lân cận

Trang 37

Bước thứ tư : Tiến hành áp dụng ngưỡng:

Sau khi tiến hành bước 3 ta tiến hành áp dụng ngưỡng: sử dụng hai ngưỡng, ngưỡng cao Th và ngưỡng thấp Tl

Những điểm biên được đánh dấu (không bị loại) ta tiếp tục tiến hành áp dụng ngưỡng cao và ngưỡng thấp:

- Xét điểm ảnh I tại vị trí (x,y)

- So sánh I(x,y) với hai ngưỡng Th và Tl

+ Nếu I(x,y) ≥ Th: đánh dấu và giữ lại điểm biên này (đặt giá trị bằng 1)

+ Nếu I(x,y) < Tl: Loại bỏ điểm biên này (đặt giá trị bằng 0)

+ Nếu Tl ≤ I(x,y) < Th: ta tiến hành so sánh giá trị I(x,y) với giá trị của các của

8 điểm lân cận :

Nếu một trong 8 điểm lân cận có giá trị > Th: Tiến hành đánh dấu và giữ lại điểm biên này Ngược lại: Loại bỏ điểm biên này (đặt giá trị bằng 0) Sau đây là kết quả sau khi thực hiện phương pháp phát hiện biên Canny :

Trong bài luận này sử dụng phương pháp phát hiện và tách biên như sau :

Ví dụ : Ảnh đầu vào như sau :

Hình 2.11 Ảnh trước khi tách biên Hình 2.10 Biên ảnh theo phương pháp Candy

Trang 38

- Mục đích là loại bỏ các phần ảnh không cần thiết để tách riêng phần chưa ký tự như dưới đây :

Hình 2.12 Ảnh sau khi tách biên

Để làm được điều này ta phải đi tìm các điểm cận của ký tự bao gồm

o Cận trên (Top)

o Cận dưới (Bottom)

o Cận trái (Left)

o Cận phii (Right)

- Vì ảnh sau khi đã qua tiền xử lý là ảnh chỉ bao gồm 2 giá trị

- 0: biểu diễn bởi mầu đen

- 255: biểu diễn bởi mầu trắng

 Tìm cận trên (Top)

- Ý tưởng: quét ảnh theo chiều ngang từ trên xuống dưới Đến khi nào gặp pixel có giá trị 0 đầu tiên thì dừng lại đó là điểm cận trên

 Tìm cận dưới (Bottom)

- Ý tưởng: quét ảnh theo chiều ngang từ dưới lên trên Đến khi nào gặp pixel

có giá trị 0 đầu tiên thì dừng lại đó là điểm cận dưới

 Tìm cận trái (Left)

- Ý tưởng: quét ảnh theo chiều dọc từ trái sang phải Đến khi nào gặp pixel

có giá trị 0 đầu tiên thì dừng lại đó là điểm cận trái

Trang 39

chọn đặc trưng là một bước rất quan trọng, nó có ảnh hưởng lớn đến tốc độ và chất lượng nhận dạng Trích chọn đặc trưng như thế nào để vẫn đảm bả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

2.3.1 Một số đặc trưng cơ bản của mẫu

 Đặc trưng thống kê

Hình 2.13 Phân vùng

Hình 2.14 Lược đồ mức xám (histogram)

 Đặ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ượng hình học như tỉ số giữa chiều rộng và chiều cao của khung chứ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ức thành các tập hợp của các yếu tố nguyên thủy, sau đó đưa các yế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

Trang 40

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ất nhiều đến

độ chính xác Hơn nữa, do biến dạng khá lớn trong chữ 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 ô đó

(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ệ

yy t

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

Ngày đăng: 18/03/2015, 14:25

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đức Dũng, Nguyễn Minh Tuấn. Một số phương pháp nhận dạng và ứng dụng trong nhận dạng chữ viết tay. Khoá luận tốt nghiệp Đại học 2003, Khoa Công nghệ - Đại học Quốc gia Hà nội. Tr.6-10 Sách, tạp chí
Tiêu đề: Một số phương pháp nhận dạng và ứng dụng trong nhận dạng chữ viết tay
[2] Hoàng Kiếm, Nguyễn Hồng Sơn, Đào Minh Sơn (2001). ứng dụng mạng neuron nhân tạo trong hệ thống xử lý biểu mẫu tự động. Kỷ yếu hội nghị kỉ niệm 25 thành lập Viện Công nghệ Thông tin. Tr 11 Sách, tạp chí
Tiêu đề: ứng dụng mạng neuron nhân tạo trong hệ thống xử lý biểu mẫu tự động
Tác giả: Hoàng Kiếm, Nguyễn Hồng Sơn, Đào Minh Sơn
Năm: 2001
[6] Anil K. Jain, Jianchang Mao, K.M. Mohiuddin (1996). Artificial Neural Networks A Tutorial. IEEE. Tr.11 Sách, tạp chí
Tiêu đề: Artificial Neural Networks A Tutorial
Tác giả: Anil K. Jain, Jianchang Mao, K.M. Mohiuddin
Năm: 1996
[7] Baret O. and Simon J.C. (1992). Cursive Words Recognition. From Pixels to Features III Frontiers in Handwriting Recognition. Tr.1-2 Sách, tạp chí
Tiêu đề: Cursive Words Recognition
Tác giả: Baret O. and Simon J.C
Năm: 1992
[9] Lawrence Rabiner, 1989. A Tutorial on Hidden Markov Models and Selected Applications in Handwriting Recognition.Tr.35-46 Sách, tạp chí
Tiêu đề: A Tutorial on Hidden Markov Models and Selected Applications in "Handwriting "Recognition
[13] Behnke S., Pfister M. and Rojas, R. (2000). Recognition of Handwritten ZIP Codes in a Real-World Non-Standard-Letter Sorting System. Kluwer Sách, tạp chí
Tiêu đề: Recognition of Handwritten ZIP Codes in a Real-World Non-Standard-Letter Sorting System
Tác giả: Behnke S., Pfister M. and Rojas, R
Năm: 2000
[8] Lawrence Rabiner, 1989. A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition.http://www.caip.rutgers.edu/~lrr/Reprints/tutorial%20on%20hmm%20and%20applications.pdf , tr35-38 Link
[4] Nguyễn Quốc Bình, khóa luận nhận dạng chữ viết tay bằng mạng neuron.Tr13-34 [5] www.nsl.hcmus.edu.vn/greenstone/collect/thesiskh//index/.../10.pdf.Mô hìnhmarkov ẩn hợp Gauss. Tr37-44.Tài liệu tham khảo tiếng Anh Khác
[10] www.nsl.hcmus.edu.vn/greenstone/collect/thesiskh/index/assoc/ Tr.44-50 [11] Kristie Seymore, Andrew McCallum, and Roni Rosenfeld. Learning HiddenMarkov Model Structure for Information Extraction. AAAI 99 Workshop on Machine Learning for Information Extraction, 1999. Tr.47- 67 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Mô hình tiếp cận giải quyết bài toán - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 1.1 Mô hình tiếp cận giải quyết bài toán (Trang 14)
Hình 1.7 Ánh xạ phi tuyến và hàm hạt nhân - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 1.7 Ánh xạ phi tuyến và hàm hạt nhân (Trang 18)
Hình 1.5 Biên độ và siêu phẳng có biên độ cực đại - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 1.5 Biên độ và siêu phẳng có biên độ cực đại (Trang 18)
Hình 1.8 Mô hình nhận dạng ký tự dùng SVM - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 1.8 Mô hình nhận dạng ký tự dùng SVM (Trang 19)
Hình 1.9 Sơ đồ một mạng neural nhận dạng ký tự - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 1.9 Sơ đồ một mạng neural nhận dạng ký tự (Trang 20)
Hình 2.2  - Phương pháp lấy ngưỡng - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 2.2 - Phương pháp lấy ngưỡng (Trang 25)
Hình 2.4  Ảnh thu được sau khi xử lý qua bộ lọc Gauss  2.2.4.3  Bộ lọc Median - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 2.4 Ảnh thu được sau khi xử lý qua bộ lọc Gauss 2.2.4.3 Bộ lọc Median (Trang 28)
Hình 2.7 Xác định góc nghiên - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 2.7 Xác định góc nghiên (Trang 30)
Bảng 1: Giá trị biên độ theo phương hướng : - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Bảng 1 Giá trị biên độ theo phương hướng : (Trang 36)
Hình 2.9  Mô tả các điểm lân cận - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 2.9 Mô tả các điểm lân cận (Trang 36)
Hình 2.14 Lược đồ mức xám (histogram) - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 2.14 Lược đồ mức xám (histogram) (Trang 39)
Hình 2.15 Đặc trưng hướng  2.3.2 Một số phương pháp trích chọn đặc trưng - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 2.15 Đặc trưng hướng 2.3.2 Một số phương pháp trích chọn đặc trưng (Trang 40)
Hình 2.17 Ký tự đã được chia ô - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 2.17 Ký tự đã được chia ô (Trang 41)
Hình 3.1 Mô hình Markov 3 trạng thái. - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 3.1 Mô hình Markov 3 trạng thái (Trang 45)
Hình 3.3  Biểu đồ trạng thái - Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn
Hình 3.3 Biểu đồ trạng thái (Trang 47)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w