Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh chuyển đổi số và tự động hóa trong giáo dục và đời sống, các ứng dụng ghi chép số hóa đang dần thay thế phương thức ghi chép trên giấy truyền thống. Việc số hóa dữ liệu viết tay cho phép người dùng lưu trữ, chỉnh sửa, chuyển đổi định dạng linh hoạt, tiết kiệm chi phí bảo quản, đồng thời mở ra khả năng tích hợp các công cụ hỗ trợ phát âm, dịch thuật và trợ năng. Xuất phát từ nhu cầu thực tiễn về một công cụ học ngoại ngữ chi phí thấp, hoạt động độc lập không phụ thuộc kết nối Internet, đề tài "Thiết kế hệ thống nhận diện chữ viết tay" đã được nhóm tác giả thực hiện.
Đề tài xác định mục tiêu trọng tâm là nghiên cứu bài toán phân loại ảnh ký tự bằng kiến trúc mạng nơ-ron tích chập (Convolutional Neural Network - CNN), từ đó thiết kế một phần mềm hoàn chỉnh có giao diện đồ họa trực quan (tương tự công cụ Paint của Microsoft), tiếp nhận chữ viết tay trực tiếp và xuất kết quả nhận dạng ký tự tiếng Anh trên hệ điều hành Windows.
Các nhiệm vụ nghiên cứu cụ thể được xác lập bao gồm:
- Đưa ra phương án xây dựng hệ thống nhận diện sử dụng mô hình mạng nơ-ron tích chập đa tầng.
- Xây dựng phương án và giải thuật chi tiết cho từng khối chức năng: thu nhận dữ liệu ngõ vào, tiền xử lý ảnh, trích xuất đặc trưng, phân loại ký tự và hậu xử lý kiểm tra chính tả.
- Thiết kế và lập trình giao diện cùng toàn bộ hệ thống xử lý trên môi trường Microsoft Visual C# 2010.
- Đánh giá, kiểm thử độ chính xác của mạng nơ-ron trên tập dữ liệu chuẩn và kiểm thử thực tế trên giao diện tương tác.
- Tổng hợp kết quả và hoàn thiện báo cáo đồ án tốt nghiệp.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Ký tự chữ viết tay tiếng Anh bao gồm 10 chữ số (0–9), 26 chữ cái in hoa (A–Z) và 26 chữ cái in thường (a–z).
- Phạm vi không gian và giới hạn phong cách: Chữ viết tay nhập trực tiếp thông qua chuột hoặc màn hình cảm ứng trên giao diện phần mềm. Hệ thống giới hạn nhận diện theo phong cách chữ viết tay tiếng Anh tiêu chuẩn của người Mỹ dạng khối cứng, ký tự rời rạc (không dính nét, không đứt nét, không chồng lấn). Đề tài không xử lý chữ viết nối nét (chữ thảo), chữ thư pháp cổ điển/hiện đại, chữ có nét thanh nét đậm hoặc chữ cách điệu.
- Thời gian thực hiện: Từ ngày 30/03/2020 đến ngày 08/08/2020 tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.
Cơ sở lý thuyết và phương pháp
Đề tài áp dụng các nền tảng lý thuyết xử lý ảnh và học máy có giám sát (Supervised Learning) phục vụ bài toán phân loại đa lớp:
-
Khung lý thuyết mạng nơ-ron tích chập (CNN): Mạng CNN hoạt động dựa trên ba cơ chế cốt lõi: trường tiếp nhận cục bộ (Local Receptive Fields) giúp bảo toàn cấu trúc không gian điểm ảnh và giảm số lượng tham số kết nối; trọng số chia sẻ (Shared Weights) nhằm giảm thiểu số lượng trọng số cần học thông qua các bộ lọc (kernel); và các lớp lấy mẫu phụ/tổng hợp (Subsampling/Pooling layer) để giảm kích thước bản đồ đặc trưng, tăng tính bất biến đối với các biến dạng hình học nhỏ. Đề tài tham khảo mô hình mạng LeNet-5 và ứng dụng kiến trúc mạng tích chập cải tiến của tác giả Patrice Simard – tích hợp bước tích chập và lấy mẫu phụ vào cùng một lớp xử lý đơn.
-
Phương pháp tiền xử lý và phân đoạn: Sử dụng thuật toán chuyển đổi ảnh màu RGB sang ảnh xám thông qua phương thức truy xuất bộ nhớ trực tiếp LockBits trong C# với công thức tính mức xám:
$$\text{Mức xám} = 0.299R + 0.587G + 0.114B$$
Thuật toán phân đoạn ký tự sử dụng phương pháp tạo đường bao hình chữ nhật (Bounding Box) quét từ điểm ảnh đầu tiên bên trái, mở rộng dần kích thước biên theo bốn hướng để cô lập từng ký tự, sau đó chuẩn hóa kích thước đối tượng về ma trận ảnh chuẩn $29 \times 29$ pixel.
-
Phương pháp trích xuất đặc trưng và hậu xử lý: Trích chọn đặc trưng dựa trên hình thái học và toán tử Gradient (Sobel) kết hợp với các tầng tích chập của mạng CNN. Giai đoạn hậu xử lý sử dụng thư viện kiểm tra chính tả mã nguồn mở Aspell.NET nhằm đối chiếu từ điển, xử lý hoán vị, ghép nối các ký tự đầu ra từ các mạng nơ-ron song song thành từ tiếng Anh hoàn chỉnh có nghĩa.
-
Nguồn dữ liệu: Bộ dữ liệu chuẩn UNIPEN Train-R01/V07 gồm các mẫu viết tay trực tuyến được quy đổi về dạng ảnh tĩnh, với tổng số 106.918 mẫu khả dụng được phân loại vào các tập phục vụ huấn luyện và kiểm thử.
| Nhóm dữ liệu |
Tổng số mẫu khả dụng |
Số mẫu huấn luyện (Train) |
Tỉ lệ Train (%) |
Số mẫu kiểm thử (Test) |
Tỉ lệ Test (%) |
| Chữ số (0–9) |
15.953 |
15.686 |
98,33% |
267 |
1,67% |
| Chữ in hoa (A–Z) |
28.069 |
27.419 |
97,68% |
650 |
2,32% |
| Chữ in thường (a–z) |
61.351 |
60.723 |
98,98% |
628 |
1,02% |
| Tổng cộng |
105.373 |
103.828 |
98,53% |
1.545 |
1,47% |
(Ghi chú: Theo kế hoạch phân chia tổng thể 106.918 mẫu khả dụng của bộ dữ liệu UNIPEN được công bố trong văn bản, tổng số mẫu đưa vào cấu hình huấn luyện thực tế của 3 nhóm là 105.373 mẫu và tập kiểm thử độc lập gồm 1.545 mẫu).
Thiết kế và triển khai hệ thống
Hệ thống nhận diện được thiết kế gồm 4 khối chức năng chính vận hành theo chu trình nối tiếp và song song:
1. Khối ngõ vào và tiền xử lý
- Khối ngõ vào: Cung cấp vùng vẽ (
DrawArea) kích thước mặc định $660 \times 223$ pixel (có thể co giãn tự do theo độ phân giải màn hình). Dữ liệu nét vẽ thu thập theo thời gian thực được lưu dưới dạng nhị phân và chuyển đổi sang định dạng ảnh Bitmap (.bmp).
- Khối tiền xử lý: Khi người dùng nhấn lệnh nhận diện, ảnh Bitmap gốc được đọc vào bộ đệm thông qua phương thức
LockBits (truy xuất cấu trúc bmData), phân loại theo số byte trên mỗi pixel (BytePerPixel = 1, 3 hoặc 4) để tạo bản sao ảnh xám. Thuật toán phân đoạn khởi tạo khung bao rect ($1 \times 1$ pixel) tại điểm ảnh đầu tiên, sau đó lặp bước kiểm tra: mở rộng rect.Width sang phải, mở rộng rect.Height và dịch chuyển rect.Y lên trên/xuống dưới khi chạm các pixel nét chữ cho đến khi bao trọn vẹn ký tự. Ảnh cắt trong khung bao được nội suy về kích thước $29 \times 29$ pixel.
2. Khối trích đặc trưng và phân loại (Kiến trúc 3 mạng CNN song song)
Hệ thống sử dụng đồng thời 3 mạng nơ-ron tích chập đa tầng hoạt động độc lập trên cùng một đầu vào ký tự $29 \times 29$ pixel:
- Mạng 1 (Nhận diện chữ số 0–9): Gồm 5 lớp (Lớp 0: Ngõ vào 841 nơ-ron; Lớp 1: Chập - lấy mẫu phụ với 10 bản đồ kích thước $13 \times 13$, 1.690 nơ-ron, 260 trọng số; Lớp 2: Chập - lấy mẫu phụ với 60 bản đồ kích thước $5 \times 5$, 1.500 nơ-ron, 15.060 trọng số; Lớp 3: Kết nối đầy đủ 100 nơ-ron, 150.100 trọng số; Lớp 4: Lớp ngõ ra 11 nơ-ron với hàm Softmax).
- Mạng 2 & Mạng 3 (Nhận diện chữ in hoa A–Z và chữ thường a–z): Gồm 6 lớp (Lớp 0: Ngõ vào 841 nơ-ron; Lớp 1: 10 bản đồ $13 \times 13$, 1.690 nơ-ron; Lớp 2: 60 bản đồ $5 \times 5$, 1.500 nơ-ron; Lớp 3: Kết nối đầy đủ 200 nơ-ron, 300.200 trọng số; Lớp 4: Kết nối đầy đủ 100 nơ-ron, 20.100 trọng số; Lớp 5: Ngõ ra 27 nơ-ron với hàm Softmax).
| Thông số kiến trúc |
Mạng phân loại số (0–9) |
Mạng phân loại chữ in hoa / thường |
| Kích thước ảnh đầu vào |
$29 \times 29$ pixel (841 nơ-ron) |
$29 \times 29$ pixel (841 nơ-ron) |
| Lớp 1 (Chập & Subsampling) |
10 bản đồ $13 \times 13$ (1.690 nơ-ron) |
10 bản đồ $13 \times 13$ (1.690 nơ-ron) |
| Lớp 2 (Chập & Subsampling) |
60 bản đồ $5 \times 5$ (1.500 nơ-ron) |
60 bản đồ $5 \times 5$ (1.500 nơ-ron) |
| Lớp kết nối đầy đủ (FC) |
1 lớp (100 nơ-ron) |
2 lớp (Lớp 3: 200 nơ-ron; Lớp 4: 100 nơ-ron) |
| Lớp ngõ ra (Softmax) |
11 nơ-ron (10 chữ số + 1 nhãn không xác định) |
27 nơ-ron (26 chữ cái + 1 nhãn không xác định) |
| Tổng số trọng số mạng |
166.531 trọng số |
336.287 trọng số |
Tham số huấn luyện mạng: Số chu kỳ huấn luyện (Epochs): 25–35; Tốc độ học ban đầu ($\eta$): 0,00085; Tốc độ học tối thiểu: $1 \times 10^{-6}$; Hệ số suy giảm tốc độ học: 0,8125; Ngưỡng sai số dừng: 1.
3. Khối kiểm tra chính tả và hiển thị
Ngõ ra từ 3 mạng nơ-ron tạo thành tập hợp các ký tự ứng viên (ví dụ: nhận diện từ "Expert" thu được các nhánh phân loại song song: Mạng số ra "? ? ? ? ? 1", Mạng chữ thường ra "? x p e r t", Mạng chữ in hoa ra "E X ? ? ? J"). Khối xử lý thực hiện hai kịch bản:
- Trường hợp 1: Nếu mỗi vị trí ký tự chỉ có 1 kết quả phân loại xác định, hệ thống kiểm tra: chuỗi thuần chữ hoa hoặc thuần số sẽ xuất trực tiếp; chuỗi hỗn hợp hoa - thường sẽ chuyển sang kiểm tra chính tả.
- Trường hợp 2: Nếu có nhiều hơn 1 kết quả phân loại tại các vị trí ký tự, thuật toán tạo các tổ hợp chuỗi con và đối chiếu từ điển tuần tự theo các bước: so sánh trực tiếp; thay thế từng cặp ký tự; chèn ký tự ngẫu nhiên; đảo vị trí ký tự liền kề; xóa thử ký tự; tách chuỗi thành 2 từ độc lập; và ứng dụng thư viện Aspell.NET để đề xuất sửa lỗi theo ngữ âm. Kết quả tối ưu nhất được hiển thị trên giao diện phần mềm.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 phân tích bối cảnh phát triển của các công nghệ ghi chép số hóa, dạy học điện tử và tổng quan các công trình nhận dạng chữ viết tay trên thế giới (điển hình như nghiên cứu nhận dạng chữ viết tay hệ chữ Latinh của Felipe Petroski và phương pháp sinh ảnh văn bản tổng hợp của Haoran Liu). Tác giả xác định tính cấp thiết của đề tài, đặt mục tiêu thiết kế phần mềm nhận dạng trên nền tảng Microsoft Visual C# 2010 kế thừa mô hình mạng nơ-ron đa tầng của tác giả Phạm Việt Dũng, đồng thời xác lập phạm vi và giới hạn nhận dạng đối với các ký tự rời rạc dạng khối cứng.
Chương 2: Cơ sở lý thuyết
Chương 2 trình bày có hệ thống các khái niệm lý thuyết nền tảng:
- Tổng quan học máy (học có giám sát, học không giám sát) và các giải thuật phân loại phổ biến (KNN, SVM, MLP, Cây quyết định, Naive Bayes).
- Quy trình tiền xử lý ảnh (khôi phục, tăng cường, nhị phân hóa, chuẩn hóa kích thước dựa trên khoảng cách từ trọng tâm) và các giải thuật phân đoạn ảnh.
- Kỹ thuật trích chọn đặc trưng dựa trên hình thái học (đếm cấu trúc, đo tỷ lệ hình học, biểu diễn đồ thị/cây) và trích xuất bằng véc-tơ Gradient kết hợp toán tử Sobel.
- Cấu trúc giải tích của nơ-ron nhân tạo, các hàm kích hoạt thông dụng (Binary, Linear, Logic/Sigmoid, Tanh, ReLu, Leaky ReLu, Softmax), kiến trúc mạng LeNet-5 và nguyên lý mạng nơ-ron tích chập CNN.
- Cấu trúc và thông số tập dữ liệu chuẩn UNIPEN Train-R01/V07 (chi tiết về số lượng mẫu, số tập tin, các nhãn định dạng ký tự, từ và câu).
Chương 3: Thiết kế hệ thống nhận diện chữ viết tay
Chương 3 mô tả chi tiết giải pháp kỹ thuật và thiết kế phần mềm:
- Xây dựng sơ đồ khối hệ thống và sơ đồ khối chức năng cho giai đoạn huấn luyện và giai đoạn nhận diện thời gian thực.
- Kế hoạch phân bổ tập dữ liệu mẫu UNIPEN cho huấn luyện (105.373 mẫu) và kiểm thử (1.545 mẫu) kèm bảng đối chiếu các biến thể chữ viết.
- Thiết kế giao diện thu thập nét vẽ và thuật toán xử lý đồ họa trên
DrawArea.
- Thiết kế thuật toán chuyển đổi ảnh xám thông qua
LockBits và giải thuật quét biên tự động xác định khung bao ký tự (Bounding Box).
- Thiết lập chi tiết bảng thông số kiến trúc lớp, số bản đồ đặc trưng, số nơ-ron và trọng số liên kết cho mạng phân loại số và mạng phân loại chữ cái.
- Thiết kế giải thuật phân giải xung đột kết quả nhận diện đa mạng và cơ chế kiểm tra chính tả tích hợp thư viện Aspell.NET.
- Xây dựng 5 lưu đồ giải thuật hoàn chỉnh: Lưu đồ khối ngõ vào, Lưu đồ chuyển đổi ảnh xám, Lưu đồ tạo đường bao tách ký tự, Lưu đồ huấn luyện mạng tích chập và Lưu đồ nhận diện tổng thể.
Chương 4: Kết quả nhận diện chữ viết tay
Chương 4 công bố kết quả cài đặt và đánh giá thực nghiệm:
- Trình bày cấu trúc giao diện phần mềm (thanh công cụ, vùng vẽ, khung hiển thị kết quả) cùng bảng hướng dẫn chi tiết các nút chức năng và 5 bước vận hành hệ thống.
- Trình bày kết quả kiểm định ma trận tương quan (Confusion Matrix) và tỷ lệ nhận dạng trên 1.545 mẫu kiểm thử UNIPEN.
- Thử nghiệm nhận diện thực tế trên mẫu chữ viết tay của 3 sinh viên (độ tuổi 22–23) với các kịch bản chữ số, chữ in hoa, chữ thường và chữ hỗn hợp; phân tích các trường hợp nhận diện sai lệch do xung đột giữa các mạng song song.
Chương 5: Kết luận và hướng phát triển
Chương 5 tổng kết toàn bộ các kết quả đạt được về mặt thuật toán, phần mềm và mức độ chính xác nhận diện; chỉ rõ các ưu điểm, nhược điểm kỹ thuật còn tồn tại; đồng thời đề xuất các hướng nghiên cứu mở rộng trong tương lai.
Kết quả và đóng góp
1. Kết quả kiểm thử định lượng
Kết quả kiểm thử mô hình trên tập dữ liệu kiểm thử UNIPEN độc lập (gồm 1.545 mẫu) được thống kê chi tiết như sau:
| Nhóm ký tự |
Số lượng mẫu kiểm thử |
Tỷ lệ nhận diện chính xác (%) |
Các ký tự có độ chính xác thấp nhất |
| Chữ số (0–9) |
267 |
95,78% |
Số 7 (88,00%) – do dễ nhầm với số "1" hoặc chữ "Z" |
| Chữ in hoa (A–Z) |
650 |
86,62% |
Chữ "I" (57,14%), "O" (60,87%), "U" (62,50%) |
| Chữ in thường (a–z) |
628 |
83,12% |
Chữ "q" – do nét tương đồng với số "9"; các chữ "o, u, v, w, x" |
| Trung bình toàn hệ thống |
1.545 |
88,51% |
— |
So sánh với tài liệu tham khảo trong quá trình huấn luyện: Độ chính xác khi huấn luyện được công bố đạt 97% đối với chữ số, 88% đối với chữ in hoa và 89% đối với chữ in thường.
Các trường hợp nhầm lẫn điển hình được ghi nhận từ ma trận tương quan:
- Ký tự chữ cái nhầm sang số hoặc ngược lại: nhãn "b" nhận diện thành "6", nhãn "S" nhận diện thành "8", nhãn "q" nhận diện thành "9", nhãn "y" nhận diện thành "7", nhãn "O" nhận diện thành "0".
- Nhầm lẫn giữa chữ hoa và chữ thường: nhãn "V" nhận diện thành "v", nhãn "d" nhận diện thành "J", nhãn "H" nhận diện thành "A".
2. Đóng góp kỹ thuật của đề tài
- Xây dựng thành công ứng dụng độc lập trên nền tảng Microsoft Visual C# 2010, tích hợp trực tiếp các thao tác vẽ, xóa, lưu, xuất ảnh và nhận dạng ký tự viết tay mà không cần cài đặt các môi trường tính toán phức tạp.
- Tối ưu hóa tốc độ tiền xử lý ảnh Bitmap thông qua kỹ thuật truy xuất bộ nhớ trực tiếp
LockBits, kết hợp giải thuật mở rộng đường bao linh hoạt cho phép phân tách nhiều ký tự ở nhiều dòng và vị trí khác nhau trên vùng vẽ.
- Đề xuất giải pháp phối hợp 3 mạng nơ-ron tích chập song song kết hợp khối hậu xử lý ngôn ngữ sử dụng thư viện Aspell.NET, cho phép tự động sửa lỗi và ghép nối ký tự thành từ có nghĩa, khắc phục một phần sai số phân loại của mạng nơ-ron đơn lẻ.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế kỹ thuật
- Hệ thống chỉ tiếp nhận các ký tự viết rời rạc; chưa có khả năng phân đoạn và nhận dạng các chuỗi ký tự viết liền nét (chữ thảo) hoặc nét chữ bị đứt đoạn.
- Thuật toán tạo đường bao sẽ nhận diện sai (gộp thành một đối tượng) khi các ký tự viết dính liền nhau, nằm quá sát nhau hoặc có điểm ảnh trùng nhau theo trục thẳng đứng.
- Xuất hiện hiện tượng xung đột nhãn phân loại khi chạy đồng thời 3 mạng nơ-ron đối với các ký tự có cấu trúc hình học tương đồng giữa chữ hoa, chữ thường và chữ số (như
0 - O - o, 2 - Z - z, 1 - I - l, 6 - b, 8 - B - S, 9 - q).
- Ứng dụng mới chỉ hỗ trợ tập ký tự tiếng Anh tiêu chuẩn, chưa hỗ trợ nhận dạng tiếng Việt có dấu.
Hướng phát triển
- Cải tiến thuật toán tiền xử lý và phân đoạn ảnh nhằm xử lý được chữ viết liền nét và tự động kết nối các nét chữ bị đứt.
- Nâng cấp kiến trúc mạng nơ-ron (nghiên cứu áp dụng các mô hình học sâu hiện đại) và tối ưu hóa giải thuật giải quyết xung đột nhãn giữa các mạng song song để nâng cao độ chính xác nhận dạng chữ in hoa và chữ in thường.
- Mở rộng tập dữ liệu huấn luyện và bổ sung bộ từ điển tiếng Việt để phát triển tính năng nhận diện chữ viết tay tiếng Việt có dấu.
Giá trị tham khảo
Báo cáo đồ án là tài liệu tham khảo hữu ích cho sinh viên, học viên chuyên ngành Công nghệ Kỹ thuật Điện tử - Viễn thông, Công nghệ Thông tin, Kỹ thuật Máy tính và Khoa học Dữ liệu khi nghiên cứu về thị giác máy tính và ứng dụng mạng nơ-ron nhân tạo.
Các nội dung có giá trị tham khảo chuyên sâu bao gồm:
- Phương pháp lập trình xử lý ảnh trên C#: Hướng dẫn kỹ thuật sử dụng
LockBits, cấu trúc bmData và thuật toán phân đoạn đường bao đối tượng.
- Thiết kế chi tiết mạng CNN: Bảng thông số lớp, kích thước bản đồ đặc trưng, ma trận trọng số và số lượng nơ-ron của mô hình tích chập cải tiến Patrice Simard.
- Giải thuật ghép từ và kiểm tra chính tả: Quy trình tích hợp thư viện mã nguồn mở Aspell.NET và thuật toán đối chiếu từ điển phục vụ bài toán hậu xử lý nhận dạng ký tự (OCR).
Câu hỏi thường gặp
1. Hệ thống xử lý ảnh ngõ vào và chuẩn hóa dữ liệu như thế nào trước khi đưa vào mạng nơ-ron?
Dữ liệu nét vẽ từ vùng DrawArea được chuyển thành ảnh Bitmap, sau đó chuyển sang ảnh xám qua phương thức LockBits với công thức mức xám $Y = 0.299R + 0.587G + 0.114B$. Thuật toán tạo đường bao hình chữ nhật sẽ quét và cô lập từng ký tự, sau đó co giãn đưa đối tượng về ma trận kích thước chuẩn $29 \times 29$ pixel (tương ứng 841 điểm ảnh ngõ vào của mạng CNN).
2. Kiến trúc mạng phân loại số và mạng phân loại chữ cái khác nhau ở những điểm nào?
Cả hai mô hình đều có tầng đầu vào 841 nơ-ron và 2 lớp chập - lấy mẫu phụ (Lớp 1 có 10 bản đồ $13 \times 13$; Lớp 2 có 60 bản đồ $5 \times 5$). Khác biệt nằm ở các tầng kết nối đầy đủ và tầng ra: Mạng số chỉ có 1 lớp kết nối đầy đủ (100 nơ-ron) và lớp ra 11 nơ-ron; trong khi Mạng chữ cái có 2 lớp kết nối đầy đủ liên tiếp (Lớp 3 có 200 nơ-ron, Lớp 4 có 100 nơ-ron) và lớp ra 27 nơ-ron.
3. Khối kiểm tra chính tả giải quyết xung đột kết quả giữa 3 mạng nơ-ron song song bằng cơ chế nào?
Hệ thống tổng hợp các ký tự dự đoán từ 3 mạng thành các chuỗi con ứng viên. Nếu chuỗi thuần chữ hoa hoặc số thì hiển thị trực tiếp. Nếu có nhiều kết quả phân loại, hệ thống thực hiện giải thuật so sánh từ điển tuần tự (thay thế ký tự, chèn ký tự, đổi vị trí liền kề, xóa ký tự, tách từ) kết hợp thư viện Aspell.NET để chọn ra từ tiếng Anh có nghĩa và đúng ngữ âm nhất.
4. Ký tự nào có độ chính xác nhận dạng thấp nhất trong các đợt kiểm thử và nguyên nhân do đâu?
Trong tập kiểm thử UNIPEN, ký tự chữ in hoa "I" có độ chính xác thấp nhất (57,14%), kế tiếp là "O" (60,87%) và "U" (62,50%); ở nhóm chữ số là số 7 (88,00%). Nguyên nhân do ký tự "I" có cấu trúc nét đơn giản dễ nhầm với số "1" hoặc chữ "l"; số "7" dễ nhầm với số "1" hoặc chữ "Z" khi viết nghiêng; các ký tự "O", "U" dễ bị nhầm lẫn giữa chữ hoa và chữ thường do tính đối xứng hình học.
Kết luận
Đồ án "Thiết kế hệ thống nhận diện chữ viết tay" của nhóm sinh viên Dương Ngọc Anh và Nguyễn Thị Thùy Trang đã thiết kế và triển khai thành công phần mềm nhận dạng chữ viết tay tiếng Anh trên môi trường Microsoft Visual C# 2010. Hệ thống tích hợp hiệu quả thuật toán tiền xử lý ảnh qua LockBits, mô hình 3 mạng nơ-ron tích chập đa tầng song song và mô-đun kiểm tra chính tả Aspell.NET, đạt độ chính xác kiểm thử trung bình 88,51% trên bộ dữ liệu UNIPEN (chữ số đạt 95,78%, chữ in hoa đạt 86,62%, chữ thường đạt 83,12%). Công trình cung cấp giải pháp kỹ thuật có tính ứng dụng thực tiễn cao cho việc số hóa tài liệu và học tập ngoại ngữ, đồng thời xác lập rõ các định hướng mở rộng về xử lý chữ viết liền nét và hỗ trợ tiếng Việt có dấu.