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

Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng

142 662 1

Đ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 142
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

Mục tiêu của đồ án này là nhằm tìm hiểu và nâng cao hiệu quả của bài toán nhận dạng chữ viết tay rời rạc thông qua việc cải thiện các kỹ thuật rút trích đặc trưng ký tự, đồng thời trên n

Trang 1

TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN

HUỲNH MINH TRÍ

TÌM HIỂU VÀ NÂNG CAO HIỆU QUẢ

NHẬN DẠNG CHỮ VIẾT TAY RỜI RẠC

DỰA TRÊN CÁC KỸ THUẬT LẤY ĐẶC TRƯNG

Trang 2

Trang 3

MỤC LỤC

MỤC LỤC 1

DANH MỤC CÁC CỤM TỪ VIẾT TẮT 4

DANH MỤC CÁC BẢNG 5

DANH MỤC CÁC HÌNH 6

DANH MỤC CÁC SƠ ĐỒ, BIỂU ĐỒ 8

MỞ ĐẦU 10

CHƯƠNG 1 TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY 11

1.1 Giới thiệu về bài toán nhận dạng chữ viết tay 11

1.2 Sơ lược về một số nghiên cứu trước đây 12

1.3 Quy trình thực hiện nhận dạng chữ viết tay 16

1.3.1 Sơ đồ tổng quát 16

1.3.2 Các giai đoạn thực hiện 18

CHƯƠNG 2 CÁC KỸ THUẬT RÚT TRÍCH ĐẶC TRƯNG TRONGBÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY 33

2.1 Ảnh hưởng giai đoạn rút trích đặc trưng đối với hiệu quả bài toán 33

2.2 Một số kỹ thuật rút trích đặc trưng đang được sử dụng 33

2.2.1 Kỹ thuật Zoning 33

2.2.2 Kỹ thuật Coutour profile 34

2.2.3 Kỹ thuật Projection 35

2.2.4 Kỹ thuật wavelet Haar 35

2.2.5 Kỹ thuật Diagonal based 37

2.2.6 Kỹ thuật Twelve Direction 40

2.2.7 Kỹ thuật tiếp cận cấu trúc 41

2.2.8 Kỹ thuật Hotspot 43

2.2.9 Kỹ thuật 40-Point 45

2.2.10 Kỹ thuật Background Directional Distribution 47

Trang 4

2.2.11 Kỹ thuật Shadow 48

2.2.12 Kỹ thuật Chain code histogram 50

2.2.13 Kỹ thuật Intersection 51

2.2.14 Kỹ thuật Straight line fitting 52

2.3 Giới thiệu kỹ thuật rút trích đặc trưng mới 53

2.4 Vấn đề cải tiến giai đoạn rút trích đặc trưng 57

2.4.1 Xu hướng cải tiến giai đoạn rút trích đặc trưng 57

2.4.2 Những cải tiến của một số kỹ thuật đã nêu 58

CHƯƠNG 3 MÔ HÌNH SVM (SUPPORT VECTOR MACHINE) 60

3.1 Giới thiệu mô hình SVM 60

3.2 Cơ sở toán học của mô hình SVM 62

3.2.1 Bài toán phân lớp nhị phân hoàn toàn 62

3.2.2 Bài toán phân lớp nhị phân không hoàn toàn 66

3.2.3 Vấn đề phân lớp đa lớp sử dụng mô hình SVM 68

3.2.4 Hàm nhân trong mô hình SVM 69

3.3 Nhận xét về mô hình SVM 70

CHƯƠNG 4 CHƯƠNG TRÌNH THỬ NGHIỆM CÁC KỸ THUẬT LẤY ĐẶC TRƯNG 71

4.1 Giới thiệu về các bộ dữ liệu 71

4.1.1 Bộ dữ liệu MNIST 71

4.1.2 Bộ dữ liệu MyCharacter 72

4.2 Môi trường và công cụ cài đặt 75

4.2.1 Môi trường cài đặt 75

4.2.2 Giới thiệu bộ công cụ CSharp-2.6 75

4.2.3 Cách thức sử dụng bộ công cụ CSharp-2.6 77

4.3 Các chương trình thử nghiệm 81

4.3.1 Điều kiện thí nghiệm 81

4.3.2 Giai đoạn tiền xử lý các bộ dữ liệu 81

Trang 5

4.3.3 Các kỹ thuật trích chọn đặc trưng đã sử dụng 81

4.3.4 Kết quả các thí nghiệm trước đây 82

4.3.5 Kết quả và phân tích các thí nghiệm hiện tại 83

4.3.6 Một vài nhận xét rút ra từ các thí nghiệm 113

CHƯƠNG 5 CÀI ĐẶT ỨNG DỤNG ĐỌC BẢNG ĐIỂM SINH VIÊN 115

5.1 Đặc tả ứng dụng 115

5.1.1 Đặc tả hệ thống 115

5.1.2 Đặc tả dữ liệu 119

5.1.3 Các chức năng của ứng dụng 124

5.2 Đánh giá ứng dụng và khả năng phát triển của ứng dụng 132

5.2.1 Kết quả thực hiện ứng dụng 132

5.2.2 Khả năng phát triển của ứng dụng 134

CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 135

6.1 Kết luận của đề tài 135

6.2 Hướng phát triển của đề tài 136

TÀI LIỆU THAM KHẢO 138

Trang 6

DANH MỤC CÁC CỤM TỪ VIẾT TẮT

Từ viết tắt Giải thích

Trang 7

DANH MỤC CÁC BẢNG

Bảng 2.1 Cách phân giá trị gradient vào các bin 41

Bảng 4.1 So sánh ưu nhược điểm của một số kỹ thuật rút trích đặc trưng 113

Bảng 5.1 Mô tả vật lý của lược đồ quan hệ Subject 121

Bảng 5.2 Mô tả vật lý của lược đồ quan hệ Record 121

Bảng 5.3 Mô tả vật lý của lược đồ quan hệ Student 121

Bảng 5.4 Mô tả vật lý của lược đồ quan hệ RecordDetail 122

Bảng 5.5 Kết quả chạy ứng dụng trên một số bảng điểm 132

Trang 8

DANH MỤC CÁC HÌNH

Hình 1.1 Cách xét góc nghiêng của ký tự 23

Hình 1.2 Cách tính tham số ρ và θ 25

Hình 1.3 Các khuôn mẫu để xét điểm đen cần lược bỏ 30

Hình 2.1 Cách phân vùng trong kỹ thuật Zoning 34

Hình 2.2 Cách lấy chu tuyến của ký tự 34

Hình 2.3 Cách lấy bản đồ chiếu của ký tự 35

Hình 2.4 Cách phân bốn tiểu vùng của wavelet Haar 37

Hình 2.5 Minh họa quá trình phân vùng và lấy đường chéo 38

Hình 2.6 Cách phân giá trị gradient vào 6 bin 42

Hình 2.7 Cách đặt vị trí các hotspot 43

Hình 2.8 Cách chia 16 vùng trong kỹ thuật 40-Point 45

Hình 2.9 Cách lấy vùng 29, 30 và 31 46

Hình 2.10 Cách lấy các vùng từ 33 đến 40 47

Hình 2.11 La bàn 8 hướng trong Background Directional Distribution 47

Hình 2.12 Các mặt nạ tương ứng với 8 hướng 48

Hình 2.13 Cách tính hình chiếu cho kỹ thuật Shadow 49

Hình 2.14 Cách xác định độ dài hình chiếu 49

Hình 2.15 La bàn 8 hướng trong Chain code histogram 50

Hình 2.16 Các giá trị nhãn bin và mốc tính bin 54

Hình 2.17 Vị trí của 5 vùng đặc biệt 54

Hình 2.18 Vị trí 5 vùng đặc biệt đối với hai mẫu dữ liệu 55

Trang 9

Hình 2.19 Vị trí bốn tiểu vùng trong một vùng 55

Hình 2.20 Phân vùng kích thước 30 × 20 58

Hình 3.1 Minh họa bài toán SVM trong không gian 2 chiều 61

Hình 3.2 Vị trí siêu phẳng trong không gian 2 chiều 63

Hình 4.1 Một số mẫu trích từ bộ dữ liệu MNIST 72

Hình 4.2 Một số mẫu trích từ bộ dữ liệu MyCharacter 74

Hình 5.1 Minh họa một bảng điểm sinh viên 119

Hình 5.2 Vùng cần lấy thông tin 126

Hình 5.3 Minh họa một ô điểm đã được cắt ra 127

Hình 5.4 Giao diện màn hình sử dụng 130

Hình 5.5 Giao diện màn hình cập nhật cơ sở dữ liệu 131

Hình 5.6 Giao diện xem bảng điểm đã có trong cơ sở dữ liệu 132

Hình 5.7 Điểm số ghi lọt ra ngoài khung điểm 133

Hình 5.8 Điểm được chỉnh sửa ngay trên bảng điểm 134

Trang 10

DANH MỤC CÁC SƠ ĐỒ, BIỂU ĐỒ

Sơ đồ 1.1 Cấu trúc chung của một hệ thống nhận dạng 16

Sơ đồ 1.2 Vị trí của giai đoạn huấn luyện 31

Sơ đồ 2.1 Thuật toán Diagonal based 39

Sơ đồ 2.2 Thuật toán Hotspot 44

Sơ đồ 4.1 Quá trình biên dịch bộ công cụ CSharp-2.6 77

Sơ đồ 5.1 Cấu trúc hệ thống nhận dạng bảng điểm sinh viên 116

Sơ đồ 5.2 Mô hình quan niệm dữ liệu của hệ thống 120

Sơ đồ 5.3 Cấu trúc bộ xử lý bảng điểm 125

Biểu đồ 4.1 Kết quả trên MyCharacter của Diagonal based 84

Biểu đồ 4.2 Kết quả trên MNIST của Diagonal based 85

Biểu đồ 4.3 Thí nghiệm Twelve Direction trên MyCharacter và MNIST 87

Biểu đồ 4.4 Tìm xương ký tự đối với Twelve Direction 88

Biểu đồ 4.5 Kích thước ma trận chuẩn hóa đối với Twelve Direction 90

Biểu đồ 4.6 Việc lấy trung bình đối với Twelve Direction 91

Biểu đồ 4.7 Kết quả trên MyCharacter và MNIST của Hotspot 93

Biểu đồ 4.8 Việc tìm xương ký tự đối với Hotspot 94

Biểu đồ 4.9 Kết quả trên MyCharacter và MNIST của 40-Point 96

Biểu đồ 4.10 Việc tìm xương ký tự đối với 40-Point 97

Biểu đồ 4.11 So sánh bốn kỹ thuật lấy đặc trưng 99

Biểu đồ 4.12 Kích thước ma trận chuẩn hóa với Dense Distribution 101

Biểu đồ 4.12 Việc phân bin và xét phân bố đối với Dense Distribution 103

Biểu đồ 4.13 Việc chọn nhãn bin đối với Dense Distribution 104

Trang 11

Biểu đồ 4.14 Việc chọn mốc tính bin đối với Dense Distribution 106

Biểu đồ 4.15 Việc đánh giá 5 vùng đặc biệt đối với Dense Distribution 108

Biểu đồ 4.16 Kết quả thực hiện bổ sung trên dữ liệu MNIST 109

Biểu đồ 4.17 Kết quả kết hợp thực hiện trên MyCharacter 111

Biểu đồ 4.18 Kết quả kết hợp thực hiện trên MNIST 112

Trang 12

MỞ ĐẦU

Trong những năm gần đây, các lĩnh vực nghiên cứu của ngành Công nghệ thông tin phát triển hết sức mạnh mẽ Trong đó, một bài toán được các nhà nghiên cứu lý thuyết và ứng dụng đặc biệt quan tâm là bài toán nhận dạng chữ viết tay rời rạc Bài toán này được nghiên cứu ở nhiều ngôn ngữ khác nhau như tiếng Anh, tiếng Thái, tiếng Nhật,… và cả ở tiếng Việt Hiện nay có rất nhiều đề tài nghiên cứu trong và ngoài nước về bài toán này, cả về báo cáo khoa học lẫn về đồ án tốt nghiệp đều tăng lên về số lượng và chất lượng Đây rõ ràng là một bài toán có ý nghĩa lớn

về mặt thực tiễn Do đó, em đã lựa chọn đề tài “Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng” trong đồ án tốt nghiệp này

Một cách khái quát, bài toán nhận dạng chữ viết tay rời rạc bao gồm các bước tiền xử lý ảnh ký tự, rút trích đặc trưng, huấn luyện và nhận dạng Ở mỗi một bước đều có những thuật toán riêng để áp dụng, với những điều kiện và hoàn cảnh

cụ thể Mục tiêu của đồ án này là nhằm tìm hiểu và nâng cao hiệu quả của bài toán nhận dạng chữ viết tay rời rạc thông qua việc cải thiện các kỹ thuật rút trích đặc trưng ký tự, đồng thời trên nền tảng đó đề xuất ra một kỹ thuật rút trích đặc trưng mới Bên cạnh đó, đồ án cũng trình bày và nắm bắt nội dung của mô hình SVM (Support Vector Machine) – một trong những mô hình nhận dạng đang được sử dụng phổ biến hiện nay Sau đó, sử dụng kết quả của việc cải tiến để cài đặt ứng dụng đọc bảng điểm sinh viên trường Đại học Nha Trang, đây là một ứng dụng có tính chất bước đệm nhằm giúp đơn giản hóa công tác quản lý đào tạo của phòng Đào tạo, trường Đại học Nha Trang

Em cũng xin gửi lời biết ơn chân thành và sâu sắc nhất đến Thầy Nguyễn Đình Cường, giảng viên bộ môn Kỹ thuật phần mềm, đã tận tình hướng dẫn và giúp

đỡ em trong suốt quá trình hoàn thành đồ án tốt nghiệp này

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY 1.1 Giới thiệu về bài toán nhận dạng chữ viết tay

Kể từ khi chiếc máy tính đầu tiên ENIAC được phát minh vào năm 1946 cho đến nay, lịch sử phát triển của ngành Công nghệ thông tin đã có nhiều bước tiến nhảy vọt cả về mặt lý thuyết lẫn mặt ứng dụng Đi cùng với sự phát triển với tốc độ bùng nổ của khối lượng thông tin kinh tế - xã hội thì số lượng nhà nghiên cứu cũng như lĩnh vực chuyên sâu hẹp của tin học tăng lên mạnh mẽ Song song với vấn đề

đó thì yêu cầu mới trong quá trình lưu trữ dữ liệu và giao tiếp liên tục được phát sinh, thể hiện mức độ tương tác liên tục giữa người dùng với máy tính Một trong những yêu cầu được đặt ra là làm thế nào để có được các sản phẩm phần mềm có khả năng nhận dạng được các ký tự viết tay của một ngôn ngữ nào đó Hai mục tiêu chính yếu của các loại phần mềm ứng dụng kiểu này là: Một là, phục vụ cho quá trình số hóa dữ liệu (nhất là các bản thảo chép tay có giá trị), phục vụ mục đích xử

lý thông tin tự động sau quá trình số hóa; Hai là, phục vụ cho nhu cầu tương tác cho người dùng trên các thiết bị khác nhau, đặc biệt là cho người phi bản ngữ có thiết bị

di động (chẳng hạn người không biết tiếng Nhật có thể nhập các ký tự tiếng Nhật khi tra cứu nhanh trên Internet)

Tuy gần đây mới ra đời các sản phẩm loại trên, nhưng nguồn gốc về nhận dạng ký tự nói chung và nhận dạng ký tự viết tay nói riêng đã có từ trước Vào năm

1914, Emanuel Goldberg đã phát minh ra máy có khả năng đọc các ký tự và chuyển đổi chúng thành những mã điện tín tiêu chuẩn Và cũng trong thời gian đó, Edmund Fourier d’Albe đã phát minh ra máy Optophone, một máy quét có phát ra các âm thanh tương đương với các ký tự đặc biệt nào đấy khi cho chúng quét qua một số trang bản in Tuy nhiên mức độ của chúng cũng như độ phức tạp của ký tự khi ấy được sử dụng hãy còn rất đơn giản

Nhưng rồi do mục đích dần dần được thay đổi, cộng thêm việc phát triển nền tảng toán học cho lĩnh vực nhận dạng nói chung mà đến nay, mục tiêu bài toán

Trang 14

không còn đơn thuần như lúc ban đầu Ngày nay, mục tiêu chính yếu cho bài toán là nhận dạng các ký tự chữ in và chữ viết tay để chuyển chúng sang dạng văn bản, phục vụ nhiều bài toán khác nhau như bài toán tìm kiếm, bài toán sắp xếp,…

Tính đến thời điểm hiện tại, bài toán nhận dạng chữ in gần như đã được giải quyết trọn vẹn với một độ chính xác khá cao Tháng 4 năm 2009, hãng công nghệ ABBYY hàng đầu thế giới đã giới thiệu và triển khai công nghệ nhận dạng tiếng Việt chữ in, được gói gọn trong sản phẩm FineReader 9.0 Ngoài ra còn có phần mềm VietORC.NET cũng đã ra đời phục vụ nhu cầu của nhiều người dùng trong việc nhận dạng văn bản tiếng Việt hoặc tiếng Anh dưới dạng tập tin hình ảnh

Mặc dù vậy, đối với bài toán nhận dạng chữ viết tay thì vẫn còn rất nhiều thách thức do một số nguyên nhân chính, mà chính yếu nhất có thể kể đến là sự đa dạng của các ký tự viết tay phụ thuộc rất nhiều đến từng người Nói cách khác, tương ứng với mỗi một người sẽ có một bộ ký tự viết tay cho riêng họ trong ngôn ngữ mà

họ sử dụng Hai bài toán đã và đang được nghiên cứu hết sức rộng rãi trong việc nhận

dạng chữ viết tay là nhận dạng on-line (nhận dạng ngay trong quá trình người viết

viết ra ký tự đó, có thể là trên các thiết bi khác nhau, khi đó các thông số về thứ tự nét, hướng cũng như tốc độ của nét sẽ được ghi nhận để phục vụ cho quá trình nhận

dạng) và nhận dạng chữ viết tay off-line (nhận dạng trên hình ảnh đã được scan, chụp

lại từ các ký tự)

1.2 Sơ lược về một số nghiên cứu trước đây

Trong suốt những năm qua, công tác nghiên cứu lý thuyết và ứng dụng trên bài toán nhận dạng chữ viết tay nói riêng và chữ viết nói chung đã và đang phát triển rất mạnh Hàng loạt các bài báo, các đồ án tốt nghiệp trong lĩnh vực này được giới thiệu Dưới đây là một vài nghiên cứu trong số đó

Phạm Anh Phương, trong nghiên cứu ở [3] đã giới thiệu một số kỹ thuật lấy đặc trưng đơn giản nhưng hiệu quả cho bài toán nhận dạng chữ viết tay Các kỹ thuật được giới thiệu gồm kỹ thuật Zoning (trọng số vùng), Projection (hình chiếu), Contour profile (trích chọn chu tuyến) và wavelet Haar, được thực hiện trên bộ dữ

Trang 15

liệu MNIST Kết quả nghiên cứu cho thấy kỹ thuật Zoning và wavelet Haar cho độ chính xác cao hơn Hai kỹ thuật còn lại độ chính xác thấp hơn đôi chút song do số chiều của vector đặc trưng ít hơn nên tốc độ xử lý được cải thiện đáng kể

Himavathi S và các đồng nghiệp đã đưa ra một kỹ thuật mới trong việc rút trích đặc trưng ký tự trong nghiên cứu [18], đó là kỹ thuật Diagonal based Kỹ thuật này được tiến hành trên bộ dữ liệu chữ viết tiếng Anh gồm 26 ký tự Kỹ thuật của Himavathi S và các đồng nghiệp dựa trên đặc tính về lượng của điểm ảnh và số lượng phân bố của chúng trên các đường chéo trong mỗi vùng Ngoài ra, các tác giả còn nâng cao hiệu quả bằng việc lấy thêm giá trị trung bình vừa tìm được giữa các vùng trong từng dòng và từng cột Thí nghiệm được thực hiện trên bộ nhận dạng bằng mạng nơ ron nhân tạo đa lớp lan truyền ngược Hiệu quả thu được là rất khả quan với độ chính xác 97.8% cho tập vector đặc trưng có 54 chiều và 98.5% cho tập vector đặc trưng có 69 chiều

Das S.K và cộng sự thì giới thiệu một kỹ thuật khác, trong đó, số lượng điểm ảnh màu đen trong một vùng cũng được sử dụng để lấy đặc trưng [11], gọi là

kỹ thuật 40-Point Kỹ thuật 40-Point cũng được tiến hành trên bộ dữ liệu chữ viết tay tiếng Anh (780 mẫu huấn luyện và 260 mẫu kiểm tra), dùng mạng nơ ron nhân tạo đa lớp lan truyền ngược Độ chính xác trong nghiên cứu đạt được là 83.84%

Trong nghiên cứu ở [23], Schomaker L và cộng sự đã đề xuất kỹ thuật Hotspot, một kỹ thuật rút trích đặc trưng ký tự theo hướng tiếp cận về sự phân bố các điểm đen so với một vài vị trí xác định trong ảnh, được gọi là các hotspot Các hotspot này được coi như những lính canh, có tác dụng như những cột mốc để tính khoảng cách từ chúng đến các điểm đen gần nhất theo một số hướng nhất định Do

đó, Schomaker L và các đồng nghiệp đã đưa ra một nhận xét quan trọng rằng hai yếu tố ảnh hưởng lớn nhất đến hiệu quả chung cho kỹ thuật Hotspot là số lượng các hotspot và số hướng xác định khoảng cách (có thể là 4 hoặc là 8) Kết quả cho thấy với 25 hotspot và 4 hướng, cho ra tập vector đặc trưng có số chiều là 100 thì hiệu

Trang 16

quả chính xác là tốt nhất Cụ thể với bộ dữ liệu MNIST là 89.9%, với bộ dữ liệu chữ

số Bangla (Ấn Độ) là 90.1%

Budhiraja S và Singh P thì tiếp cận cải tiến kỹ thuật lấy đặc trưng theo hướng kết hợp một vài kỹ thuật lại với nhau [8] Các thí nghiệm này được thực hiện trên bộ dữ liệu là chữ viết tay Gurmukhi (tiếng Ấn Độ), vốn đang rất ít ỏi về mặt số lượng nghiên cứu so với tiếng Anh Với việc kết hợp kỹ thuật Zoning với kỹ thuật Background Directional Distribution, sử dụng SVM có hàm nhân Radial Basis Function để phân lớp thì độ chính xác thu được là 95.04% Đây là một kết quả rất đáng khích lệ vì chữ viết Gurmukhi tồn tại rất nhiều vần đề gây khó khăn cho việc nhận dạng như các chữ gần giống nhau, cách viết thay đổi theo từng người và thậm chí của cùng một người

Dutta M và các đồng nghiệp, trong nghiên cứu ở [14], đã chỉ ra kỹ thuật Twelve Direction có thể được sử dụng cho bất kỳ loại ký tự viết tay nào của bất cứ ngôn ngữ nào trên thế giới Cụ thể, trong nghiên cứu của mình, họ đã sử dụng ba bộ

dữ liệu là chữ viết Hindi (tiếng Ấn Độ), chữ viết tiếng Anh và một số ký tự đặc biệt, được nhận dạng bằng mạng nơ ron nhân tạo lan truyền ngược lỗi Kết quả đạt được trong nghiên cứu này là 97%

Hallale S.B và Salunke G.D cũng đưa ra nghiên cứu về kỹ thuật lấy đặc trưng trên các ký tự viết tay tiếng Anh (chữ cái và chữ số)[17] Họ cũng chọn việc phân các giá trị gradient vào 12 bin, mỗi bin tương ứng với 30º, nhưng không sử dụng mạng nơ ron để phân lớp mà dùng độ tương tự (similarity) giữa mẫu cần phân lớp với các khuôn mẫu thu được từ giá trị trung bình các vector trong cùng lớp Dữ liệu được sử dụng bao gồm 500 mẫu huấn luyện và 200 mẫu kiểm tra, độ chính xác đạt được là 88.29%

Cũng lấy giá trị đặc trưng từ gradient của điểm ảnh, nhưng nghiên cứu [13] của Dubey P và Sinthupinyo W lại chia ma trận điểm ảnh ra thành 16 vùng và lấy histogram giá trị bin của gradient Trước đó, tất cả các giá trị gradient đã được phân

Trang 17

vào 6 bin trải rộng từ 0 đến 2π, mỗi khoảng tương ứng với

3

Kỹ thuật này thực hiện trên 50750 mẫu ký tự tiếng Thái và tiếng Anh, sử dụng thuật toán phân cụm K-Mean và đạt được độ chính xác trung bình là 95%

Cavalcanti G.D.C và các đồng nghiệp đã kết hợp các kỹ thuật lấy đặc trưng khác nhau để tăng tỉ lệ nhận dạng lên [10] Sáu kỹ thuật được kết hợp bao gồm kỹ thuật đặc tính cấu trúc (structural characteristics), kỹ thuật bản đồ cạnh (modified edge maps), kỹ thuật hình chiếu (image projections), kỹ thuật đa vùng (multi zoning), kỹ thuật đo độ lõm (concavities measurement) và kỹ thuật gradient định hướng (MAT-based gradient directional features) Nghiên cứu sử dụng mạng nơ ron lan truyền ngược và đã đạt được độ chính xác cao nhất, tính đến thời điểm hiện tại trên bộ dữ liệu MNIST, là 99.68%

Arora S và các cộng sự cũng nâng cao hiệu quả của hệ thống nhận dạng theo hướng kết hợp các kỹ thuật lấy đặc trưng khác nhau [6] Bằng việc sử dụng bốn kỹ thuật là Shadow (hình chiếu), Chain code histogram (histogram chuỗi mã định hướng), Intersection (giao điểm) và Straight line fitting (đường thẳng xấp xỉ) và lần lượt cho các tập vector đặc trưng riêng đi qua từng mạng nơ ron lan truyền ngược riêng biệt, nghiên cứu đã đạt được độ chính xác cuối cùng là 92.8% trên bộ dữ liệu chữ viết tay Devnagari Bộ dữ liệu này gồm có 3332 mẫu huấn luyện và 1568 mẫu kiểm tra

Nhằm khái quát lại những kỹ thuật đã sử dụng trong bài toán nhận dạng chữ viết, Ali J và Verma R đưa ra một bức tranh chung cho vấn đề này trong báo cáo [5] Trong bài báo này, Ali J và đồng nghiệp đã nêu ra các bước cần thực hiện trong bài toán nhận dạng chữ viết tay gồm số hóa ảnh ký tự, tiền xử lý, phân đoạn, rút trích đặc trưng, phân lớp và hậu xử lý Các kỹ thuật lấy đặc trưng được đề cập gồm hai hướng tiếp cận là đặc trưng toàn cục hay thống kê (global or statistical features)

và đặc trưng cấu trúc hay hình học (structural or topological features) Bên cạnh đó, các kỹ thuật phân lớp đã và đang được sử dụng cũng được đưa ra như phương pháp thống kê, phương pháp đối sánh mẫu, mạng nơ ron nhân tạo, mô hình SVM

Trang 18

Mặc dù số lượng các thuật toán lấy đặc trưng cũng như thuật toán phân lớp, tính đến thời điểm hiện tại là không ít, song tùy thuộc vào từng điều kiện cụ thể, đặc biệt là tùy vào bộ dữ liệu (loại ký tự, chất lượng ký tự,…) mà áp dụng các kỹ thuật

cụ thể Một trong những lý do có thể giải thích cho điều này là mỗi thuật toán đều

có những ưu và nhược điểm riêng, như các kỹ thuật rút trích đặc trưng thống kê (chẳng hạn số lượng điểm ảnh màu đen trong một vùng nhất định,…) có độ chính xác phụ thuộc nhiều vào số lượng mẫu huấn luyện cũng như số lượng lớp

1.3 Quy trình thực hiện nhận dạng chữ viết tay

1.3.1 Sơ đồ tổng quát

Do trên thực tế, việc ứng dụng các bộ nhận dạng hết sức đa dạng và phụ thuộc rất nhiều vào mục đích phục vụ cuối cùng của bộ nhận dạng đó, cho nên với những yêu cầu khác nhau thì sơ đồ tổng quát của hệ thống cũng sẽ khác nhau Dưới đây là một sơ đồ hệ thống nhận dạng được xem là phổ biến, tham khảo từ [3], trong

đó đã bỏ qua các thành phần chuyên biệt cho từng mục đích cụ thể của hệ thống:

Sơ đồ 1.1 Cấu trúc chung của một hệ thống nhận dạng Trong sơ đồ 1.1:

Tập dữ liệu

huấn luyện

Cơ sở dữ liệu nhận dạng

Tập dữ liệu

nhận dạng

Kết quả nhận dạng

Trang 19

 Tập dữ liệu huấn luyện (Training Set): là tập dữ liệu chứa các mẫu dữ liệu được sử dụng để huấn luyện mô hình cho hệ thống nhận dạng, tức là dùng để xây dựng cơ sở dữ liệu nhận dạng

 Tập dữ liệu nhận dạng (Test Set): đây chính là tập dữ liệu của bài toán thực tế để đưa vào nhận dạng

 Tiền xử lý: do dữ liệu đầu vào thông thường bị nhiễu, không quy chuẩn hoặc chưa phù hợp thật sự với yêu cầu của nhận dạng, đồng thời để tăng tính chính xác cho quá trình nhận dạng nên ta phải tiến hành tiền xử lý Quá trình tiền xử lý gồm các công đoạn chính là lọc mịn ảnh (lọc muối tiêu, lọc nhiễu,…), nhị phân ảnh, tách liên thông, chỉnh nghiêng, phóng ảnh về kích thước tiêu chuẩn, phát hiện biên

và làm trơn đường biên,…

 Trích chọn đặc trưng: từ dữ liệu đã qua tiền xử lý, tùy theo mục tiêu nghiên cứu và ý định khác nhau mà mỗi nhà nghiên cứu sử dụng một cơ chế trích chọn đặc trưng khác nhau Một trong những phương pháp trích chọn đặc trưng phổ biến nhất là lấy vector đặc trưng có n đặc trưng, trong đó n đặc trưng được lấy theo các phương pháp trọng số vùng, biểu đồ chiếu, trích chọn chu tuyến, wavelet Haar,…

 Huấn luyện: là quá trình sử dụng bộ vector đặc trưng đã thu được ở trên để đưa vào huấn luyện mạng nơ ron nhân tạo, huấn luyện SVM (Support Vector Machine) Kết thúc giai đoạn này ta thu được mô hình nhận dạng

 Cơ sở dữ liệu nhận dạng: đây là nơi lưu trữ toàn bộ những gì cần thiết cho quá trình nhận dạng, nó có thể là tập các vector đặc trưng (như trong phương pháp

so sánh bằng khoảng cách Euclide), có thể là bộ trọng số của mạng nơ ron mà ta đã huấn luyện, và cũng có thể là các thông số của mô hình Support Vector Machine

 Nhận dạng: là bộ sẽ dựa trên cơ sở dữ liệu nhận dạng và các đặc trưng của

bộ dữ liệu nhận dạng (Test Set) để đưa ra quyết định một vector đặc trưng từ một mẫu của Test Set sẽ tương ứng với ký tự nào

Trang 20

 Kết quả nhận dạng: thu nhận kết quả có được từ bộ Nhận dạng và đưa vào lưu trữ ở dạng văn bản, hiển thị lên màn hình,…

1.3.2 Các giai đoạn thực hiện

Bởi vì hiện nay, bài toán nhận dạng ký tự đã và đang phát triển thành nhiều bài toán nhỏ khác nhau dẫn đến sử dụng một loạt các thuật toán khác nhau trong mỗi giai đoạn tiến hành, do vậy ở đây chỉ tập trung đến những nội dung liên quan

đến nhận dạng chữ viết tay rời rạc, tức là mỗi ký tự viết tay được xử lý riêng biệt

a Giai đoạn tiền xử lý

Tiền xử lý là một giai đoạn cực kỳ quan trọng trong quá trình nhận dạng một

ký tự, kể cả đó là nhận dạng ký tự in máy hay chữ viết tay Mục tiêu chính của giai đoạn tiền xử lý là:

 Giảm đi các yếu tố có thể ảnh hưởng đến đường nét của các ký tự trong ảnh như các điểm muối tiêu, các vệt mờ/đậm không liên quan đến ký tự, xuất hiện trong quá trình thu thập ảnh do tình trạng vật lý hiện tại của thiết bị (khả năng quét không tốt, bề mặt máy quét không tốt, có vết trầy xước), do thao tác của người quét thủ công (không để bản giấy phẳng, để nếp nhăn,…),…

 Giảm đi sự phức tạp cho quá trình nhận dạng thông qua việc nhị phân ảnh

 Đưa ảnh ký tự về kích thước quy chuẩn để phục vụ cho quá trình trích chọn đặc trưng

Bên dưới đây là một số công đoạn chính của giai đoạn tiền xử lý ảnh ký tự

 Lọc mịn ảnh

Đối với một ảnh bất kỳ, không riêng ảnh ký tự, khi lọc người ta thường sử dụng hai bộ lọc rất quan trọng là lọc thông thấp (Low – pass filter) [20] và lọc thông cao (High – pass filter) [19] Trong đấy:

 Lọc thông thấp (Low-pass filter, còn gọi là Blurring filter hay Smoothing filter) là bộ lọc có khả năng làm cho các phần tử ảnh trở nên trơn hơn, tạo cho mắt

Trang 21

ta có cảm giác các điểm ảnh li ti có khả năng “tan đều” trong không gian ảnh, đặc biệt là những điểm ảnh có sự khác biệt lớn về màu sắc so với các láng giềng của mình (sáng hơn hẳn so với láng giềng hoặc tối hơn hẳn so với láng giềng)

 Lọc thông cao (High-pass filter, còn gọi là Sharpening filer) là bộ lọc có khả năng làm cho các phần tử ảnh trở nên sắc sảo hơn, tạo cho mắt ta có cảm giác các điểm ảnh li ti có khả năng nổi bật hóa mình lên

Do yêu cầu là phải giảm nhiễu muối tiêu và làm trơn ảnh nên ta chọn sử dụng bộ lọc thông thấp Người ta thông thường sử dụng nhân lọc trung bình [1]:

1 9 1

9

1 9

1 9 1

9

1 9

1 9 1

1 0

8

1 2

1 8

1

0 8

1 0

 Nhị phân ảnh

Mặc dù tính đến thời điểm hiện tại việc xử lý ảnh màu hoặc ảnh xám ký tự đang được quan tâm nghiên cứu do bảo toàn được nhiều tính chất của ảnh, nhất là

Trang 22

đặc điểm về việc biến thiên mức năng lượng, song các thuật toán nhận dạng hiện nay hầu như đều xử lý trên ảnh nhị phân (ảnh chỉ có hai loại điểm ảnh là hoàn toàn đen hoặc hoàn toàn trắng) Hai lý do có thể kể đến cho vấn đề này là:

 Việc nghiên cứu các thuật toán áp dụng trên ảnh màu bao giờ cũng tốn nhiều chi phí (thời gian, độ phức tạp) hơn so với ảnh nhị phân Để đơn giản nhất ta xét ví dụ về ảnh màu dùng hệ màu RGB thì phải tiến hành trên ít nhất ba ma trận điểm ảnh tương ứng với ba gam màu red – green – blue

 Một vài thuật toán chỉ có thể áp dụng trên ảnh nhị phân, đặc biệt là các thuật toán tính đến thời điểm hiện tại

Cách thức để nhị phân ảnh phổ biến nhất là dựa trên dữ liệu hiện thời của ảnh (đặc biệt là dữ liệu về Histogram) để đưa ra một ngưỡng nhị phân, sau đó xét trên toàn bộ các điểm ảnh, điểm ảnh nào có giá trị nhỏ hơn ngưỡng nhị phân thì quy về pixel 0, điểm ảnh nào có giá trị lớn hơn ngưỡng nhị phân thì quy về pixel 1

Sau đây là một số kỹ thuật nhị phân đang được sử dụng, tham khảo từ [16]:

 Kỹ thuật ngưỡng toàn cục giản đơn (Global fixed threshold): đây là kỹ thuật nhị phân đơn giản nhất, theo đó bi = 1 nếu xi >= 0.5 và bi = 0 nếu xi <= 0.5

 Kỹ thuật ngưỡng Otsu (Otsu threshold) [22]: kỹ thuật này ta tìm ra một ngưỡng toàn cục t, là một kỹ thuật nhị phân hết sức cơ bản, được trình bày chi tiết sau đây

Ảnh đang xét ở dạng ảnh xám gồm có L mức xám [1, 2, …, i,…, L] Gọi số điểm ảnh có giá trị màu i là ni thì ta có tổng số điểm ảnh là N = n1+n2+…+nL Tương ứng với mỗi mức là xác suất của mức đó:

0

Bây giờ xét một mức xám là k (1 k  L) để xem k có phải là mức xám tốt nhất để phân ngưỡng hay không Nhiệm vụ của chúng ta là phân các điểm ảnh ra thành hai lớp là lớp C0 (điểm ảnh 0) và lớp C1 (điểm ảnh 1) Ta có:

Trang 23

 

)(1

)()

|(

)6.1()

(

)()

|(

)5.1()

(1)

(

)4.1()

()

(

1 1 1

1

1 0 1

0 0

1 1

1

1 0 0

T i L

k i

i

k

i i k

i

L

k i i

k

i i

k

k ip

C i y probabilit i

k

k ip

C i y probabilit i

k p

C y probabilit

k p

C y probabilit

(

) 8 1 ( )

k

i i

ip k

p k

Ta cũng có:

) 10 1 ( )

) ( ) ( max

) ( max )

(

2 1

2 1

k

L k L

k optimal

Trang 24

Bước 1: Chia toàn bộ ảnh ra thành các ô kích thước 2 h 2 h không được xếp

đè lên nhau

Bước 2: Với mỗi ô, tìm ngưỡng Otsu cho các pixel thuộc về ô đó

Bước 3: Các điểm ảnh trong ô được nhị phân hóa theo ngưỡng vừa tìm được Bước 4: Nếu trong ô đó, tỉ lệ số điểm ảnh 1 so với số điểm ảnh 0 ít hơn 2 thì

lặp lại lần lượt từ bước số 2 đến bước số 4 cho các ô có kích thước lớn hơn (4 h 4 h,8 h 8 h,16 h 16 h,…)

Bước 5: Mỗi ô 2 h 2 h sẽ được nhị phân bởi ngưỡng Otsu cuối cùng tìm được qua quá trình trên

Bước 6: Ngưỡng ti cho mỗi điểm ảnh sẽ được chuẩn hóa bởi nội suy song tuyến tính từ các ngưỡng có được trong bước 5

Bước 7: Mỗi điểm ảnh xi của ảnh gốc sẽ được so sánh với ngưỡng tương ứng

ti để từ đó chuẩn hóa thành điểm ảnh nhị phân bi

 Kỹ thuật Sauvola – Niblack: trong kỹ thuật này ta cũng chia toàn bộ ảnh ra thành các ô có kích thước N  N liền kề nhau và không xếp đè lên nhau, sau đó cũng tính ngưỡng cục bộ cho từng ô

Theo kinh nghiệm của Sauvola có được từ các nghiên cứu thì kích thước ô phù hợp là 64  64

Với mỗi điểm ảnh xi thì  i i lần lượt là độ lệch trung bình và độ lệch chuẩn của khối mức xám chứa điểm xi đó

Ngưỡng Sauvola cho mỗi điểm xi là i i(1k(( i/R)1)) (1.12), trong

Trang 25

 Chỉnh nghiêng

Đối với một ảnh ký tự, sự nghiêng của một ký tự trong ảnh có thể ảnh hưởng rất lớn đến kết quả của toàn bộ quá trình nhận dạng, do đó một trong những bài toán con của bài toán nhận dạng chữ viết tay là bài toán phát hiện và chỉnh nghiêng cho các ký tự trong ảnh – một bài toán mà đến nay vẫn còn đang được nghiên cứu rất mạnh mẽ

Nguyên nhân chính của việc ký tự bị nghiêng có thể do khi đưa ảnh vào máy quét thì người thao tác đã đặt nghiêng ảnh, nhiều khi góc nghiêng nhỏ nên chúng ta bằng mắt thường nếu không để ý cũng có thể không nhận ra Ngoài ra còn có thể là

do chính quá trình sao chụp ảnh bằng máy ảnh dẫn đến ký tự cũng bị nghiêng

Nguyên lý chung của các kỹ thuật chỉnh nghiêng ký tự là sử dụng một thuật toán để tìm ra góc nghiêng α của ký tự, sau đó dùng góc nghiêng đó để hiệu chỉnh lại ma trận ảnh, có thể là dùng một nhân lọc chẳng hạn

Hình 1.1 Cách xét góc nghiêng của ký tự Bài toán phát hiện và hiệu chỉnh góc nghiêng trong ảnh hiện nay tồn tại nhiều thuật toán, chẳng hạn thuật toán cụm láng giềng gần nhất, thuật toán sử dụng biến đổi Morphology, thuật toán sử dụng biến đổi Hough,…

Trang 26

Sau khi có được góc nghiêng α thì ta tiến hành tính lại tọa độ mới cho tất cả các điểm ảnh đen như sau:

) 13 1 ( )

tan(

*

) tan(

y x X

new

new

Bên cạnh việc chỉnh nghiêng cho một ký tự thì nhiều khi cũng phải chỉnh nghiêng cho văn bản chứa ký tự đó Điều đó nghĩa là sự nghiêng của văn bản xuất phát từ việc sao chụp ảnh văn bản (từ máy ảnh digital hoặc từ máy scan) Một trong những kỹ thuật điều chỉnh độ nghiêng thường được áp dụng là thuật toán biến đổi Hough giúp phát hiện góc nghiêng văn bản

Thuật toán phát hiện góc nghiêng sử dụng biến đổi Hough dưới đây được tham khảo từ tài liệu [2], [21] Chi tiết thuật toán được trình bày sau đây:

 Cơ sở toán học:

Ban đầu ta có một ma trận điểm ảnh I với chiều rộng w và chiều cao h, sử dụng hệ tọa độ Descartes Oxy Với bất kỳ một điểm đen I(x0, y0) nào cũng có thể thuộc về vô số đường thẳng d có cùng dạng phương trình yaxb, trong đó a là

hệ số góc và b là độ dịch chuyển của đường thẳng so với gốc tọa độ Như vậy muốn biết xem các điểm đen trong ma trận điểm ảnh sẽ thuộc về họ đường thẳng nào nhất thì ta phải thay đổi hai tham số a và b, ứng với mỗi cặp tham số như vậy thì đếm xem có bao nhiêu điểm ảnh đen thuộc về tập đường thẳng song song nào nhất (có cùng hệ số góc a) Tuy nhiên việc thay đổi các tham số này có thể xem là bất khả vì nhiều đường thẳng chẳng hạn như đường x = g song song với trục Oy được coi như

có tham số bất định (infinitive)

Hough đề xuất một cách biễu diễn khác cho các đường thẳng Trong hình 1.2, đường thẳng d:yaxb được biểu diễn thành cặp tham số , :

Trang 27

Hình 1.2 Cách tính tham số ρ và θ Trong đó, ρ là khoảng cách từ đường thẳng d đến gốc tọa độ và θ là góc

lượng giác tính từ tia Ox đến tia Ot Hai tham số ρ và θ cũng có khả năng xác định

một đường thẳng trong mặt phẳng Oxy Nhưng khác với cách biễu diễn yaxb,

trong mặt phẳng tọa độ điểm ảnh, việc sử dụng cặp tham số ,  lại có thể xác

định giới hạn được Việc chọn θMIN, θMAX, ρMIN, ρMAX là hết sức quan trọng và ảnh

hưởng lớn đến tốc độ xử lý của thuật toán, nhưng giới hạn thường được sử dụng là

0 45 0

.

và D MAX D MAX, với D MAXh2 w2 (1.14), tức là đường

chéo của hình chữ nhật ảnh

 Thuật toán được trình bày bằng mã giả:

Trong thuật toán dưới đây, các tham số được lựa chọn là  45 0    45 0,

bước nhảy 0.5 độ và D MAXD MAX, bước nhảy 1 đơn vị độ dài Thuật toán

Trang 28

dưới đây được sử dụng cho cả ảnh xám và ảnh nhị phân, do đó một điểm ảnh được xét thì không được là điểm ảnh nền, nghĩa là mức xám khác 255

TimGocNghieng()

{

Tính DMAX = độ dài đường chéo ảnh;

Khởi tạo ma trận H có (2DMAX + 1) dòng và 181 cột, tất cả phần tử

{ Tính i*cos j*sin  ; Tăng giá trị phần tử H[ρ + DMAX, Đếm] lên 1; Tăng Đếm lên 1 đơn vị;

Tăng θ lên 0.5 đơn vị;

} }

Trang 29

}

Chỉ số góc = Chỉ số cột j mà Sj là lớn nhất;

Return (-45.0 + Chỉ số góc * 0.5);

}

 Phóng ảnh về kích thước tiêu chuẩn

Do trong thực tế kích thước của ký tự biến thiên rất rộng nên ta không thể

giữ nguyên kích thước như vậy để rút chọn đặc trưng mà phải quy về một kích

thước chuẩn Muốn làm được điều này thì sử dụng kỹ thuật thu phóng ảnh bằng

cách tính tọa độ mới của mỗi điểm ảnh thông qua tọa độ ban đầu như sau:

)15.1(

x new

s

y Y

s

x X

Điều đặc biệt lưu ý là chúng ta phải lấy biên khung phóng sát vào bốn giới

hạn trên, giới hạn dưới, giới hạn trái và giới hạn phải của ký tự đó

Một vấn đề được đặt ra là khi phóng ảnh từ ảnh có kích lớn về kích thước

nhỏ thì thông thường ảnh sẽ không bị rỗ, vỡ điểm ảnh, nhưng ngược lại phóng ảnh

từ kích thước nhỏ lên kích thước lớn thì lại bị xảy ra những hiện tượng trên Do vậy

ở đây xin được đề xuất một kỹ thuật phóng ảnh có thể đảm bảo ảnh cuối cùng sau

chuẩn hóa sẽ không bị các yếu tố trên Dưới đây xét việc phóng một ảnh I0 có kích

thước chiều rộng là w và chiều cao là h lên một ảnh I2 có kích thước chiều rộng và

chiều cao lần lượt là W và H, thông qua việc tính một loạt các ảnh I1 trung gian để

đạt được kích thước tối thiểu thỏa mãn:

H h

gian trung

gian trung

(1.16) Thuật toán đã được kiểm chứng thực nghiệm là làm việc tốt với các ảnh ký tự

Sau đây là thuật toán phóng ảnh từ kích thước nhỏ lên kích thước lớn được

trình bày dưới dạng mã giả:

Trang 30

PhongAnh()

{

Ma trận ảnh ban đầu I có chiều cao h và chiều rộng w;

Kích thước cần phóng có chiều cao H và chiều rộng W;

Trong khi (h < H hoặc w < W) thì

cụ thể như bộ dữ liệu sử dụng, mã nguồn cài đặt mà hiệu quả của một kỹ thuật rút trích đặc trưng sẽ khác nhau khi có hay không có tìm xương ký tự

Tìm xương ký tự nói riêng, cũng như tìm xương của một đối tượng ảnh nói chung, có thể được hiểu là một quá trình cắt giảm dần các điểm ảnh theo hướng từ biên của đối tượng ảnh dần vào trong đối tượng ảnh, cho đến khi độ dày của đối tượng đạt đến một mức độ yêu cầu nào đó, chẳng hạn như là dày 1 pixel Trên thực

tế có rất nhiều thuật toán khác nhau cho việc tìm xương ảnh, song mỗi thuật toán đều có ưu nhược điểm của nó Thuật toán dưới đây được tham khảo từ tài liệu [7], trong đó sử dụng cách tiếp cận của Wu và Tsai (1992) để thực hiện Thuật toán được trình bày dưới dạng mã giả, trong đó I0 là ma trận ban đầu, S là ma trận sau cùng chứa xương đối tượng ảnh:

Trang 31

TimXuongDoiTuong()

{

Khởi tạo flag = true;

Trong khi (flag = true) thì

Đổi p thành màu trắng;

flag = true;

} }

Return ma trận I;

}

Các khuôn mẫu được sử dụng để xác định điểm cần loại bỏ bao gồm:

Trang 32

Hình 1.3 Các khuôn mẫu để xét điểm đen cần lược bỏ [7]

b Giai đoạn rút trích đặc trưng

Trích chọn đặc trưng ký tự là giai đoạn mà chúng ta sẽ phải tìm ra các đặc trưng trên tập dữ liệu mẫu rồi sau đó đưa vào lưu trữ để sử dụng trong giai đoạn nhận dạng Trong đó, điều mà các nhà nghiên cứu đang đặc biệt quan tâm là thuật toán rút đặc trưng cần phải tránh được tổn thất thông tin, thêm vào đó là thu gọn kích thước dữ liệu để đảm bảo nâng cao hiệu quả của bộ nhận dạng Sau đây là một

số kỹ thuật trích chọn đặc trưng:

 Kỹ thuật trọng số vùng (Zoning)

 Kỹ thuật bản đồ chiếu (Projection)

 Kỹ thuật trích chọn chu tuyến (Countour profile)

 Kỹ thuật wavelet Haar

 Kỹ thuật Hotspot

Trong chương 2 sẽ trình bày cụ thể một số kỹ thuật rút trích đặc trưng đang được sử dụng hiện nay Hầu như tất cả các kỹ thuật rút trích đặc trưng đều quy về

Trang 33

kết quả thu được cuối cùng là tập các vector đặc trưng vi = (vi1, vi2, vi3, …, viD), với

n

i 1 , , n là số lượng vector đặc trưng, D là số chiều của vector đặc trưng

c Giai đoạn huấn luyện

Kết thúc quá trình trích chọn đặc trưng ta sẽ thu được tập hợp các vector đặc trưng cho toàn bộ mẫu dữ liệu Thông thường quá trình này sẽ bao gồm các giai đoạn nhỏ như sau:

Sơ đồ 1.2 Vị trí của giai đoạn huấn luyện Hiện nay có rất nhiều phương pháp khác nhau được áp dụng cho bộ nhận dạng, tùy theo từng nhu cầu cũng như mục đích của mỗi nhà nghiên cứu ứng dụng:

 Mạng nơ ron nhân tạo (Artificial Neural Network): thời gian huấn luyện lâu nhưng kết quả rất khả quan, có khả năng chịu được nhiễu do dữ liệu huấn luyện gây ra

 Support Vector Machine: thời gian huấn luyện biến động lớn theo hàm nhân, kết quả ở mức chấp nhận được nhưng ưu điểm vượt trội là kết quả thu được là cực trị toàn cục của bài toán

 Phương pháp tiếp cận cấu trúc: từ bộ dữ liệu mẫu, tìm ra tập vector đặc trưng, sau đó sử dụng các vector đặc trưng này để tạo ra khuôn mẫu đặc trưng (feature template) Các khuôn mẫu đặc trưng này được sử dụng để làm căn cứ đối sánh khi có mẫu mới cần được nhận dạng

Do đặc thù của mỗi thuật toán nhận dạng nên cấu trúc thật sự của bộ nhận dạng cũng như cách thức tổ chức tập dữ liệu đầu vào và đầu ra có đôi phần khác biệt Ở đây chỉ tập trung đến việc giới thiệu và sử dụng thuật toán phân lớp bằng mô hình SVM (Support Vector Machine), sẽ được trình bày chi tiết trong chương 4

Huấn luyện

(Training)

Kiểm tra (Testing)

Nhận dạng (Recognition)

Trang 34

d Giai đoạn nhận dạng

Sau quá trình huấn luyện đòi hỏi nhiều thời gian, từ tập dữ liệu huấn luyện ta

sẽ thu được các thông số cần thiết cho mô hình nhận dạng Mô hình này sẽ được lưu trữ lại cho quá trình nhận dạng

Nội dung của quá trình nhận dạng là dựa vào tập vector đặc trưng của dữ liệu đầu vào chưa được gán nhãn lớp, thông qua mô hình, các mẫu dữ liệu này sẽ được đánh nhãn lớp

e Giai đoạn hậu xử lý

Ở giai đoạn hậu xử lý, các công việc tiến hành bao gồm tổ chức lưu trữ kết quả nhận dạng, kết nối cơ sở dữ liệu của ứng dụng,…Chẳng hạn trong ứng dụng đọc mã thư chuyển phát nhanh, sau khi nhận dạng các ký tự trên ô mã thì các ký tự này được nối kết lại thành một chuỗi và lưu trữ trong bảng dữ liệu

Trang 35

CHƯƠNG 2 CÁC KỸ THUẬT RÚT TRÍCH ĐẶC TRƯNG TRONG

BÀI TOÁN NHẬN DẠNG CHỮ VIẾT TAY 2.1 Ảnh hưởng giai đoạn rút trích đặc trưng đối với hiệu quả bài toán

Trong toàn bộ quá trình thực hiện của hệ thống nhận dạng, mỗi một giai đoạn đều đóng một vai trò nhất định ảnh hưởng đến hiệu quả nhận dạng cuối cùng Trong

đó, để nâng cao hiệu quả của bộ nhận dạng, nhiều nhà nghiên cứu đã chọn cải tiến

kỹ thuật rút trích đặc trưng, vì nhận dạng thực chất là một quá trình làm thế nào để

có thể phân biệt được các vector đặc trưng từ các mẫu dữ liệu của các lớp Một kỹ thuật rút trích đặc trưng được coi là càng tốt khi thông qua kỹ thuật đó, giữa các

vector đặc trưng của các mẫu dữ liệu thuộc lớp khác nhau, độ phân biệt càng cao và

độ tương đồng càng thấp, giữa các vector đặc trưng của các mẫu dữ liệu thuộc cùng một lớp, độ phân biệt càng thấp và độ tương đồng càng cao

Với cùng một thuật toán nhận dạng, chẳng hạn với cùng việc sử dụng mô hình SVM có hàm nhân RBF, hoặc cùng sử dụng kỹ thuật độ tương đồng, thì kỹ thuật rút trích đặc trưng khác nhau sẽ cho ra tập vector đặc trưng có số chiều khác nhau, độ phân biệt và độ tương đồng giữa các vector sẽ khác nhau Từ đó, khi số chiều càng lớn cùng với độ phân biệt dị lớp càng thấp và độ tương đồng dị lớp càng cao thì thời gian huấn luyện càng tăng mà hiệu quả thì lại không như mong muốn

Do đó, lựa chọn kỹ thuật nào thì phải cân nhắc đến ứng dụng cụ thể trên một môi trường cài đặt cụ thể

2.2 Một số kỹ thuật rút trích đặc trưng đang được sử dụng

2.2.1 Kỹ thuật Zoning

Kỹ thuật Zoning (trọng số vùng) là kỹ thuật dựa trên số điểm ảnh đen trong

mỗi vùng của ảnh, đây là kỹ thuật khá đơn giản nhưng hiệu quả lại cao [3]

Trang 36

Hình 2.1 Cách phân vùng trong kỹ thuật Zoning

Kỹ thuật này sẽ chia ảnh ký tự ra thành k  k vùng, sau đó tính tổng số điểm đen của mỗi vùng để tạo nên vector đặc trưng, thông thường người ta chọn k = 2

Ví dụ như ban đầu ta có ảnh ký tự có kích thước 28 × 28 điểm ảnh thì với k =

2, ta sẽ có tất cả là: 14 14 196

2

28 2

i đó

2.2.2 Kỹ thuật Coutour profile

Theo kỹ thuật Coutour profile (trích chọn chu tuyến) thì toàn bộ phần ảnh nằm từ phía ngoài của biên ảnh cho đến mép của ảnh sẽ được đánh dấu để lấy đặc trưng [3] Hình 2.2 mô tả điều vừa nêu:

Hình 2.2 Cách lấy chu tuyến của ký tự [3]

Với mỗi dòng (xét trái, phải) hoặc mỗi cột (xét trên, dưới) thì giá trị cần lấy bằng số điểm ảnh tính từ điểm ảnh trên biên ảnh đến điểm ảnh trên mép ảnh

Trang 37

Sau khi trích chọn đặc trưng thì ta sẽ lưu đặc trưng vừa tìm được dưới dạng vector đặc trưng vv1,v2, ,v n Với mỗi một ký tự trong bộ dữ liệu mẫu sẽ

tương ứng với một vector đặc trưng

Ví dụ một ảnh có kích thước 28 × 28 điểm ảnh thì ta sẽ có bốn khối trên – dưới – trái – phải tương ứng số lượng 28 trái + 28 phải + 28 trên + 28 dưới được

112 chiều của vector đặc trưng

2.2.3 Kỹ thuật Projection

Kỹ thuật bản đồ chiếu cũng dựa vào số điểm ảnh đen, nhưng không xét theo vùng mà lại xét theo histogram chiếu theo các cạnh và đường chéo của ma trận ảnh

Kỹ thuật này được tham khảo ở tài liệu [3]

Hình 2.3 Cách lấy bản đồ chiếu của ký tự [3]

Trong kỹ thuật này, ảnh ký tự sẽ được chiếu theo các hướng ngang, dọc, và hướng chéo 450-2250 và hướng chéo 1350-3150, trong đó các điểm đen sẽ được ghi nhận tần suất xuất hiện

Với kỹ thuật này thì đặc trưng rút ra sẽ không bị ảnh hưởng bởi các yếu tố nhiễu, song lại phụ thuộc vào độ nghiêng của ký tự

2.2.4 Kỹ thuật wavelet Haar

Bên cạnh các phương pháp trích chọn đặc trưng đã được nêu trong phần trên thì ở đây, xin giới thiệu phương pháp trích chọn đặc trưng wavelet Haar [3] Kỹ thuật này cũng dựa trên số điểm ảnh đen, nhưng không lấy riêng từng vùng mà có

Trang 38

sự cộng dồn theo quy tắc: trong một vùng được chia thành bốn tiểu vùng, cộng dồn tiểu vùng 1 và tiểu vùng 2 được giá trị thứ nhất, cộng dồn tiểu vùng 2 và tiểu vùng 3 được giá trị thứ hai, riêng tiểu vùng 4 là giá trị thứ 3

Yêu cầu đầu vào của thuật toán này là ma trận sau giai đoạn tiền xử lý phải

có dạng một ma trận vuông A cấp 2n Sau đây để đơn giản hóa và dễ dàng nắm bắt thì ma trận vuông A thỏa điều kiện nói trên sẽ được ký hiệu là (A, n), tức là đuợc đặc trưng bởi hai yếu tố:

A : tên của ma trận

Tham số n: chỉ ra rằng kích thước ma trận sẽ là 2n x 2n

Nội dung của thuật toán sẽ được trình bày dưới dạng mã giả:

Bước 1: Khởi tạo

Chia ảnh thành 4 phần: A1, A2, A3, A4;

Trang 39

Lần lượt cho bốn hình vuông A1, A2, A3, A4 có cạnh (n/2) vào hàng đợi Queue;

Gọi S1, S2, S3, S4 là tổng các điểm đen tương ứng với A1, A2,

Hình 2.4 Cách phân bốn tiểu vùng của wavelet Haar

2.2.5 Kỹ thuật Diagonal based

Một trong những kỹ thuật đạt được hiệu quả cao, căn cứ theo thí nghiệm cho thấy, là kỹ thuật Diagonal based (kỹ thuật đặc tính đường chéo) [18] Ý tưởng chính của kỹ thuật này là dựa trên sự phân bố số điểm đen trên các đường chéo của từng vùng trong một ảnh ký tự Dưới đây là mô tả kỹ thuật dưới dạng lời viết:

Trang 40

 Bước 1: Ảnh ký tự được chuẩn hóa về kích thước 90 × 60 rồi được chia ra thành 54 vùng, tương ứng mỗi vùng là một ô vuông có kích thước 10 × 10 điểm ảnh

 Bước 2: Mỗi ô vuông có 19 đường chéo theo hướng Tây Nam – Đông Bắc Với mỗi đường chéo như thế, tính tổng số điểm ảnh màu đen nằm trên đường chéo đó Sau đó tính giá trị trung bình ω số điểm ảnh của toàn bộ 19 đường chéo trong ô vuông đang xét Giá trị này chính là một giá trị cho một chiều trong vector đặc trưng của mẫu hiện hành

Hình 2.5 Minh họa quá trình phân vùng và lấy đường chéo [18]

 Bước 3: Nếu còn ô vuông thì tiếp tục Bước 2 cho đến hết 54 ô vuông Nếu hết ô vuông rồi thì chuyển qua bước 4 Tính đến lúc này ta đã có 54 giá trị cho 54 chiều của vector đặc trưng

 Bước 4: Tính giá trị trung bình của các theo cột (có 6 cột) và theo dòng (có 9 dòng) thì thu được thêm 15 giá trị cho 15 chiều của vector đặc trưng

Ngày đăng: 20/03/2015, 08:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Đình Cường (2011), Xử lý ảnh, khoa Công nghệ thông tin, trường Đại học Nha Trang, Nha Trang Sách, tạp chí
Tiêu đề: Xử lý ảnh
Tác giả: Nguyễn Đình Cường
Năm: 2011
2. Lê Thành Long (2009), Phát hiện và hiệu chỉnh góc nghiêng trong văn bản, Đồ án tốt nghiệp đại học, trường Đại học dân lập Hải Phòng, Hải Phòng Sách, tạp chí
Tiêu đề: Phát hiện và hiệu chỉnh góc nghiêng trong văn bản
Tác giả: Lê Thành Long
Năm: 2009
3. Phạm Anh Phương (2009), “Một số phương pháp trích chọn đặc trưng hiệu quả cho bài toán nhận dạng chữ viết tay rời rạc”, Tạp chí khoa học Đại học Huế, số 53 Sách, tạp chí
Tiêu đề: Một số phương pháp trích chọn đặc trưng hiệu quả cho bài toán nhận dạng chữ viết tay rời rạc”, "Tạp chí khoa học Đại học Huế
Tác giả: Phạm Anh Phương
Năm: 2009
6. Arora S., Basu D. K., Bhattacharjee D., Kundu M. and Nasipuri M. (2008) Combining Multiple Feature Extraction Techniques for Handwritten Devnagari Character Recognition, pp. 1-6, India Sách, tạp chí
Tiêu đề: Combining Multiple Feature Extraction Techniques for Handwritten Devnagari Character Recognition
Tác giả: Arora S., Basu D. K., Bhattacharjee D., Kundu M., Nasipuri M
Nhà XB: India
Năm: 2008
7. Brener N. E., Deng W., Iyengar S.S. (2000), A Fast Parallel Thinning Algorithm for the Binary Image Skeletonization, International Journal of High Performance Computing Applications, 14(1), pp. 65-81, the United States of America Sách, tạp chí
Tiêu đề: A Fast Parallel Thinning Algorithm for the Binary Image Skeletonization
Tác giả: Brener N. E., Deng W., Iyengar S.S
Nhà XB: International Journal of High Performance Computing Applications
Năm: 2000
9. Burges C.J.C, Cortes C. and LeCun Y, The MNIST Database for handwritten digits, http://yann.lecun.com/exdb/mnist/ Sách, tạp chí
Tiêu đề: The MNIST Database for handwritten digits
Tác giả: Burges C.J.C, Cortes C, LeCun Y
10. Cavalcanti G.D.C., Cruz R.M.O. and Ren T.I. (2010), Handwritten Digit Recognition Using Multiple Feature Extraction Techniques and Classifier Ensemble, International Conference on Systems, Signals and Image Processing, pp. 215-218, Brazil Sách, tạp chí
Tiêu đề: Handwritten Digit Recognition Using Multiple Feature Extraction Techniques and Classifier Ensemble
Tác giả: Cavalcanti G.D.C., Cruz R.M.O., Ren T.I
Nhà XB: International Conference on Systems, Signals and Image Processing
Năm: 2010
11. Das S.K., Kundu S., Paul N. and Saha S. (2013), Optical Character Recognition using 40-point Feature Extraction and Artificial Neural Network, International Journal of Advanced Research in Computer Science and Software Engineering, 3(4), pp. 495-502, India Sách, tạp chí
Tiêu đề: Optical Character Recognition using 40-point Feature Extraction and Artificial Neural Network
Tác giả: Das S.K., Kundu S., Paul N., Saha S
Nhà XB: International Journal of Advanced Research in Computer Science and Software Engineering
Năm: 2013
12. Dhir R., Jangid M., Rani R. and Siddharth K.S. (2011), Handwritten Gurmukhi Character Recognition Using Statistical and Background Directional Distributional Features, International Journal on Computer Science and Engineering, 3(6), pp.2332-2345, India Sách, tạp chí
Tiêu đề: Handwritten Gurmukhi Character Recognition Using Statistical and Background Directional Distributional Features
Tác giả: Dhir R., Jangid M., Rani R., Siddharth K.S
Nhà XB: International Journal on Computer Science and Engineering
Năm: 2011
13. Dubey P. and Sinthupinyo W. (2010), New Approach on Structural Feature Extraction for Character Recognition, pp. 946-949, Thailand Sách, tạp chí
Tiêu đề: New Approach on Structural Feature Extraction for Character Recognition
Tác giả: Dubey P., Sinthupinyo W
Nhà XB: Thailand
Năm: 2010
14. Dutta M., Singh D. and Singh S.Kr. (2010), Hand Written Character Recognition Using Twelve Directional Feature Input and Neural Network, International Journal of Computer Applications, 1(3), pp. 82-85, India Sách, tạp chí
Tiêu đề: Hand Written Character Recognition Using Twelve Directional Feature Input and Neural Network
Tác giả: Dutta M., Singh D., Singh S.Kr
Nhà XB: International Journal of Computer Applications
Năm: 2010
16. Garcia E.K., Gupta M.R. and Jacobson N.P. (2007), OCR binarization and image pre-processing for searching historical documents, Pattern Recognition, pp.389-391, The Netherlands Sách, tạp chí
Tiêu đề: OCR binarization and image pre-processing for searching historical documents
Tác giả: Garcia E.K., Gupta M.R., Jacobson N.P
Nhà XB: Pattern Recognition
Năm: 2007
19. High-Pass_Filtering (Sharpening): http://www.cyanogen.com/help/maximdl/High-Pass_Filtering.htm Sách, tạp chí
Tiêu đề: High-Pass Filtering (Sharpening)
20. Low-Pass_Filtering (Blurring): http://www.cyanogen.com/help/maximdl/Low-Pass_Filtering.htm Sách, tạp chí
Tiêu đề: Low-Pass Filtering (Blurring)
21. Kishan A.C. and Sharan V. (2009) Skew Detection and Correction in Scanned Document Images, pp. 8-15, India Sách, tạp chí
Tiêu đề: Skew Detection and Correction in Scanned Document Images
Tác giả: Kishan A.C., Sharan V
Nhà XB: India
Năm: 2009
22. Otsu N. (1979), A Threshold Selection Method from Gray-Level Histograms, pp Sách, tạp chí
Tiêu đề: A Threshold Selection Method from Gray-Level Histograms
Tác giả: Otsu N
Năm: 1979
23. Schomaker L., Surinta O. and Wiering M. (2012), Handwritten Character Classification using the Hotspot Feature Extraction Technique, The Netherlands Sách, tạp chí
Tiêu đề: Handwritten Character Classification using the Hotspot Feature Extraction Technique
Tác giả: Schomaker L., Surinta O., Wiering M
Nhà XB: The Netherlands
Năm: 2012
5. Ali J. and Verma R. (2012), A Survey of Feature Extraction and Classification Techniques in OCR Systems, International Journal of Computer Applications and Information Technology, 1(3), pp. 1-3, India Khác
8. Budhiraja S. and Singh P. (2011), Feature Extraction and Classification Techniques in O.C.R. Systems for Handwritten Gurmukhi Script – A Survey, International Journal of Engineering Research and Applications, 1(4), pp. 1736- 1739, India Khác
17. Hallale S.B. and Salunke G.D. (2013), Twelve Directional Feature Extraction for Handwritten English Character Recognition, International Journal of Recent Technology and Engineering, 2(2), pp. 39-42, India Khác

HÌNH ẢNH LIÊN QUAN

Sơ đồ 1.1. Cấu trúc chung của một hệ thống nhận dạng  Trong sơ đồ 1.1: - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Sơ đồ 1.1. Cấu trúc chung của một hệ thống nhận dạng Trong sơ đồ 1.1: (Trang 18)
Hình 1.3. Các khuôn mẫu để xét điểm đen cần lược bỏ [7] - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 1.3. Các khuôn mẫu để xét điểm đen cần lược bỏ [7] (Trang 32)
Hình 2.5. Minh họa quá trình phân vùng và lấy đường chéo [18] - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 2.5. Minh họa quá trình phân vùng và lấy đường chéo [18] (Trang 40)
Sơ đồ 2.2. Thuật toán Hotspot - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Sơ đồ 2.2. Thuật toán Hotspot (Trang 46)
Hình 2.12. Các mặt nạ tương ứng với 8 hướng [12] - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 2.12. Các mặt nạ tương ứng với 8 hướng [12] (Trang 50)
Hình 2.14. Cách xác định độ dài hình chiếu - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 2.14. Cách xác định độ dài hình chiếu (Trang 51)
Hình 2.18. Vị trí 5 vùng đặc biệt đối với hai mẫu dữ liệu - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 2.18. Vị trí 5 vùng đặc biệt đối với hai mẫu dữ liệu (Trang 57)
Hình 3.1. Minh họa bài toán SVM trong không gian 2 chiều - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 3.1. Minh họa bài toán SVM trong không gian 2 chiều (Trang 63)
Sơ đồ 5.1. Cấu trúc hệ thống nhận dạng bảng điểm sinh viên - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Sơ đồ 5.1. Cấu trúc hệ thống nhận dạng bảng điểm sinh viên (Trang 118)
Hình 5.1. Minh họa một bảng điểm sinh viên - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 5.1. Minh họa một bảng điểm sinh viên (Trang 121)
Hình 5.4. Giao diện màn hình sử dụng - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 5.4. Giao diện màn hình sử dụng (Trang 132)
Hình 5.5. Giao diện màn hình cập nhật cơ sở dữ liệu - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 5.5. Giao diện màn hình cập nhật cơ sở dữ liệu (Trang 133)
Hình 5.6. Giao diện xem bảng điểm đã có trong cơ sở dữ liệu - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 5.6. Giao diện xem bảng điểm đã có trong cơ sở dữ liệu (Trang 134)
Hình 5.7. Điểm số ghi lọt ra ngoài khung điểm - Tìm hiểu và nâng cao hiệu quả nhận dạng chữ viết tay rời rạc dựa trên các kỹ thuật lấy đặc trưng và phát triển ứng dụng
Hình 5.7. Điểm số ghi lọt ra ngoài khung điểm (Trang 135)

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