Đồ án thiết kế hệ thống nhận diện chữ viết tay tại HCMUTE

Đồ án nghiên cứu hcmute thiết kế hệ thống nhận diện chữ viết tay, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán .

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2020

72
6
1

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN

1.1. Tình hình nghiên cứu

1.2. Giới hạn đề tài

1.3. Mục tiêu

1.4. Bố cục đồ án

2. CHƯƠNG 2: CỞ SỞ LÝ THUYẾT

2.1. Tổng quan về máy học

2.2. Phương pháp tiền xử lý

2.3. Phương pháp phân đoạn

2.4. Trích đặc trưng

2.4.1. Trích đặc trưng dựa trên hình thái học

2.4.2. Trích đặc trưng bằng Gradient

2.5. Tổng quan mạng nơ-ron tích chập

2.6. Tổng quan về tập dữ liệu UNIPEN

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG NHẬN DIỆN CHỮ VIẾT TAY

3.1. Yêu cầu thiết kế

3.2. Sơ đồ khối và chức năng

3.3. Thiết kế từng khối

3.3.1. Tập dữ liệu

3.3.2. Khối ngõ vào

3.3.3. Khối trích đặc trưng và khối phân loại

3.3.4. Khối kiểm tra chính tả và hiển thị

3.4. Chương trình và lưu đồ giải thuật

4. CHƯƠNG 4: KẾT QUẢ NHẬN DIỆN CHỮ VIẾT TAY

4.1. Giao diện chương trình và kết quả nhận diện

4.2. Đánh giá kết quả thực tế

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Kết luận

5.2. Hướng phát triển

DANH MỤC TÀI LIỆU THAM KHẢO

Tóm tắt

I. Thiết kế Hệ thống Nhận diện Chữ viết tay tại HCMUTE

Đề tài tốt nghiệp Thiết kế hệ thống nhận diện chữ viết tay tại HCMUTE (Đại học Công nghệ TP. Hồ Chí Minh) tập trung vào việc xây dựng một hệ thống có khả năng nhận diện chữ viết tay tiếng Anh. Hệ thống sử dụng kiến trúc mạng nơ-ron tích chập (CNN) được triển khai trên nền tảng phần mềm Microsoft Visual C# 2010. Mục tiêu chính là tạo ra một ứng dụng giao diện thân thiện, dễ sử dụng, tương tự như Paint của Microsoft, phục vụ cho việc học tập và ghi chép số.

1.1. Nhận diện Chữ viết tay và Xử lý ảnh

Phần này tập trung vào các khía cạnh xử lý ảnh cần thiết cho hệ thống nhận diện chữ viết tay. Các bước tiền xử lý ảnh bao gồm khôi phục, tăng cường, nhị phân hóa và chuẩn hóa. Trích xuất đặc trưng từ ảnh được thực hiện bằng phương pháp dựa trên hình thái học và gradient. Phân đoạn ảnh giúp tách biệt các ký tự riêng lẻ, chuẩn bị cho bước nhận diện. Các thuật toán phân đoạn như phân đoạn dựa trên đường viền vùng, phân đoạn cụm được xem xét. Thuật toán OpenCV có thể được sử dụng trong quá trình tiền xử lý và trích xuất đặc trưng. Việc chọn lựa các phương pháp phù hợp là rất quan trọng để đảm bảo hiệu quả nhận diện. Tập dữ liệu chữ viết tay được sử dụng cần đảm bảo đa dạng về kiểu chữ, kích thước và phong cách viết. Chuẩn hóa dữ liệu là bước cần thiết để hệ thống hoạt động hiệu quả. Mục tiêu là xây dựng một hệ thống có khả năng xử lý đa dạng kiểu chữ viết tay, khắc phục những hạn chế của phương pháp truyền thống.

1.2. Mô hình Mạng nơ ron và Thuật toán

Hệ thống sử dụng mạng nơ-ron tích chập (CNN) đa tầng làm mô hình chính cho việc phân loại chữ viết tay. Việc lựa chọn kiến trúc CNN phù hợp là rất quan trọng. Các thuật toán như deep learning, được xem xét để tối ưu hóa quá trình huấn luyện mô hình. TensorFlow hoặc PyTorch có thể được sử dụng như các framework để xây dựng và huấn luyện mô hình CNN. Quá trình huấn luyện bao gồm việc tối ưu hóa các tham số của mạng nơ-ron để đạt được độ chính xác cao nhất. Thu thập dữ liệuchuẩn hóa dữ liệu là các bước quan trọng ảnh hưởng trực tiếp đến hiệu quả của quá trình huấn luyện. Đánh giá hiệu năng của mô hình được thực hiện bằng các chỉ số như độ chính xác, độ nhạy và độ đặc hiệu. Cải tiến mô hình dựa trên kết quả đánh giá để tối ưu hóa hiệu suất của hệ thống. Mô hình cần có khả năng hoạt động hiệu quả với các dữ liệu đầu vào có độ nhiễu, đảm bảo độ chính xác và ổn định.

1.3. Hệ thống Nhận diện Chữ viết tay Thời gian thực và Ứng dụng

Mục tiêu của đề tài là xây dựng một hệ thống nhận diện chữ viết tay thời gian thực. Điều này đòi hỏi tối ưu hóa thuật toán và kiến trúc mạng nơ-ron để giảm thiểu thời gian xử lý. Ứng dụng của hệ thống có thể được mở rộng sang nhiều lĩnh vực, ví dụ như hỗ trợ người khiếm thị, tự động hóa các tác vụ văn phòng, giáo dục trực tuyến. Giao diện người dùng được thiết kế thân thiện và dễ sử dụng. Hệ thống cần đảm bảo độ chính xác cao và khả năng xử lý các trường hợp phức tạp. Đánh giá hệ thống được thực hiện dựa trên các chỉ số hiệu năng và phản hồi của người dùng. Cải tiến hệ thống là quá trình liên tục để nâng cao hiệu suất và khả năng ứng dụng. OCR chữ viết tay là một ứng dụng cụ thể và tiềm năng của hệ thống này. Việc tích hợp với các công nghệ khác như nhận dạng giọng nói có thể mở rộng thêm tính năng của hệ thống.

1.4. Đánh giá và Kết luận

Phần này trình bày kết quả đánh giá hệ thống nhận diện chữ viết tay. Độ chính xác của hệ thống được đo lường và phân tích. Các thông số kỹ thuật của hệ thống được trình bày chi tiết. Ưu điểm và nhược điểm của hệ thống được chỉ ra rõ ràng. Các đề xuất cho việc cải thiện và phát triển hệ thống trong tương lai được đưa ra. Tầm quan trọng của hệ thống nhận diện chữ viết tay trong nhiều ứng dụng thực tiễn được nhấn mạnh. Công nghệ nhận diện chữ viết tay đang ngày càng phát triển, hệ thống này đóng góp một phần vào sự phát triển đó. Nghiên cứu nhận diện chữ viết tay là một lĩnh vực đầy thách thức nhưng tiềm năng ứng dụng rất lớn.

01/02/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan Trong chương trình bày về tình hình nghiên cứu của bài toán nhận diện chữ viết trên thế giới và những cải tiến đã đạt được, từ đó đưa ra định hướng đề tài của nhóm. Trong chương có nêu được rõ phương hướng, mục tiêu thực hiện và giới hạn của đề tài lựa chọn. Chương 2: Cơ sở lý thuyết Chương này trình bày khái quát về các bước xây dựng hệ thống nhận diện chữ viết tay. Trong mỗi phần có đề cập đến khái niệm lý thuyết cơ bản được ứng dụng trong hệ thống.

Chương 3: Thiết kế hệ thống nhận diện chữ viết tay Chương này trình bày về sơ đồ khối hoạt động của hệ thống, nguyên lý hoạt động và phương pháp lựa chọn thiết kế cho từng khối. Trong đó có trình bày chi tiết lưu đồ giải thuật và kết quả đạt được của từng phần. Chương 4: Kết quả nhận diện chữ viết tay Chương này trình bày về giao diện thực tế của ứng dụng, hướng dẫn thao tác và sử dụng hệ thống. Kết quả nhận diện và tỉ lệ chính xác được xem xét, thống kê và so sánh trong nhiều trường hợp khác nhau.

Chương 5: Kết luận và hướng phát triển Từ các kết quả thu được, nhóm đưa ra đánh giá chung về đề tài, kết luận về các nội dung đã thực hiện cũng như ưu, nhược điểm của hệ thống. Từ những nhận xét trên, đưa ra các hướng cải thiện và phát triển đề tài trong tương lai. 3 do an Chương 2: CỞ SỞ LÝ THUYẾT 2.1 Tổng quan về máy học Hầu hết các bài toán máy học liên quan đến việc điều khiển dữ liệu và lựa chọn mô hình huấn luyện. Tùy theo đặc điểm dữ liệu yêu cầu nhận diện và mục tiêu đạt được, có hai mô hình máy học được xem xét là học không giám sát và học có giám sát.

Học không giám sát được sử dụng trong thống kê và phân cụm dữ liệu. Học giám sát lại được sử dụng trong mô hình cần tiên đoán kết quả ngõ ra[4]. Việc thiết kế hệ thống nhận diện chữ viết thực chất là xây dựng một mô hình máy học có chức năng phân loại. Các giai đoạn xây dựng mô hình gồm: Thu thập dữ liệu Xây dựng mô hình huấn luyện ( chọn thuật toán) Tiền xử lý Trích xuất đặc trưng Tối ưu hệ thống Hình 2.1: Các giai đoạn xây dựng mô hình máy học Trong các bài toán học giám sát kiểu phân loại, để có hiệu quả cần lựa chọn được thuật toán huấn luyện chính xác.

Mỗi thuật toán có tốc độ, bộ nhớ sử dụng, độ chính xác và nội dung khác nhau. Thuật toán lựa chọn còn liên quan đến vấn đề cần phân loại là kiểu nhị phân hoặc phân loại đa lớp. Các thuật toán phân loại thường dùng là: mạng nơ-ron, hồi quy lô-gíc, kề cận gần nhất KNN, véc-tơ máy hỗ trợ SVM, Naïve Bayes, phân tích phân biệt, cây quyết định… Các thuật toán hồi quy không được đề cập đến ở đây[5].2 Phương pháp tiền xử lý Ảnh để có thể xử lý nhận diện cần quá trình tiền xử lý bao gồm công đoạn khôi phục, tăng cường, nhị phân và chuẩn hóa hình ảnh. Khôi phục ảnh nhằm giảm thiểu các ảnh hưởng vật lí, bao gồm lọc và khử nhiễu.

Tăng cường ảnh làm tăng chất lượng ảnh, thường là làm rõ nét đặc trưng đối tượng ảnh (thay đổi độ tương phản, giảm nhiễu, làm trơn biên, khuếch đại ảnh, điều chỉnh 4 do an mức xám…). Ảnh được nhị phân để gọn nhẹ và đơn giản trong nhận diện. Việc chuẩn hóa kích thước ảnh bắt đầu bằng xác định trọng tâm ảnh, xác định khoảng cách lớn nhất từ tâm ảnh đến các cạnh trên, dưới, trái, phải của hình chữ nhật bao quanh ảnh. Thông qua khoảng cách lớn nhất đó, xác định được tỉ lệ co giãn của ảnh gốc so với kích thước đã xác định, từ đó điều chỉnh kích thước ảnh theo tỉ lệ trên.

Việc chuẩn hoá đảm bảo tính cân bằng để khi co giãn, ảnh sẽ không bị biến dạng hoặc bị lệch.3 Phương pháp phân đoạn Ảnh ngõ vào gồm chuỗi các kí tự được phân tách các thành phần riêng lẻ và cô lập để dễ dàng trong trích xuất đối tượng để nhận diện đặc trưng mẫu. Mục tiêu phân đoạn ảnh là dựa trên các tính chất cơ bản như màu sắc, giá trị xám, cấu trúc hay sự thay đổi đột ngột về cường độ sáng điểm ảnh để xác định biên đối tượng. Một số thuật toán phân đoạn ảnh thường dùng trong ứng dụng phân loại: phân đoạn dựa trên đường viền vùng, phân đoạn cụm, phân loại bằng phân hoạch đồ thị, phân đoạn ngưỡng toàn cục, ngưỡng thích nghi và ngưỡng cục bộ.4 Trích đặc trưng [6] 2.1 Trích đặc trưng dựa trên hình thái học Cấu trúc kí tự có thể biểu diễn bằng các đặc trưng hình học và hình thái và trích xuất bằng các phương pháp sau: • Trích chọn và đếm cấu trúc hình thái Phương pháp này đi tìm kiếm một cấu trúc đã xác định trong một từ hoặc một kí tự, trích chọn và đếm nhiều đặc trưng về hình thái như điểm cực đại và cực tiểu, các điểm chóp trên và chóp dưới của một ngưỡng nào đó, mở rộng cho các điểm trái, phải, trên, dưới và các giao điểm, các điểm nhánh, điểm cuối đoạn thẳng, các điểm cô lập, hướng của một nét xét từ một điểm đặc biệt nào đó… • Đo và xấp xỉ tính chất hình học Phương pháp này tính toán tỉ lệ giữa các thành phần từ và kí tự bao gồm tỉ số giữa chiều rộng và chiều cao của hộp chứa kí tự, quan hệ khoảng cách giữa hai điểm, 5 do an so sánh độ dài giữa hai nét, độ rộng của một nét, khối lượng chữ hoa và chữ thường của các từ, độ dài từ… Một thông số đo tiêu biểu là độ cong hay sự thay đổi độ cong. • Đồ thị và cây Đầu tiên phân chia các từ và kí tự thành một tập các đối tượng nguyên thủy như các nét, các điểm chạc…, rồi thay thế các đồ thị thuộc tính liên quan.

Có hai đặc trưng ảnh được mô tả bằng đồ thị. Loại thứ nhất sử dụng tọa độ hình dáng kí tự. Loại thứ hai là đặc trưng trừu tượng với các nút của đồ thị tương ứng với các nét chữ và các cạnh đồ thị tương ứng với mối quan hệ giữa các nét chữ. Ngoài ra phương pháp này có thể dùng để biểu diễn các từ và kí tự với một tập các đặc trưng theo quan hệ phân cấp.

Trích đặc trưng hầu hết được thực hiện trên ảnh nhị phân. Tuy nhiên, việc nhị phân hóa ảnh đa cấp xám có thể xóa đi một số thông tin quan trọng của các kí tự. Trong trường hợp này, có thể trích chọn các đặc trưng trực tiếp từ các ảnh đa cấp xám. Tóm lại, đặc trưng của kí tự là những yếu tố nguyên thủy (đoạn thẳng, đường cong) tạo nên mỗi kí tự.

Các kí tự có thể phân biệt bằng việc tính toán 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 giao nhau, độ dài mỗi nét, độ dài tương quan giữa hai nét, tỉ lệ chữ in hoa và in thường trong một từ…Trích đặc trưng dựa trên hình thái học áp dụng kỹ thuật quy hoạch vùng: phân chia kí tự thành các m*n vùng, sau đó tính tổng số điểm đen của mỗi vùng để tạo tính đặc trưng.2 Trích đặc trưng bằng Gradient Gradient là một véc-tơ có các thành phần biểu thị tốc độ thay đổi giá trị của điểm ảnh theo 2 hướng x và y, hay có thể nói là nó đại diện cho sự thay đổi về hướng và độ lớn của một vùng ảnh. Gradient gồm các thành phần hoành độ và tung độ được tính toán như sau: 𝜕𝑓(𝑥, 𝑦) 𝑓(𝑥 + 𝑑𝑥, 𝑦) − 𝑓(𝑥, 𝑦) (2.2) = 𝑓 ′ 𝑦 = ∆𝑦 ≈ 𝜕𝑦 𝑑𝑦 6 do an Trong đó dx và dy là khoảng cách giữa hai điểm ảnh (bằng 1 khi tính điểm ảnh liền kề). Tại điểm ảnh có tọa độ (i,j) ta có biểu thức tương ứng: ∆𝑥 = 𝑓 (𝑖 + 1, 𝑗) − 𝑓 (𝑖, 𝑗) (2.4) Gradient trong xử lý ảnh thường được áp dụng cùng cặp mặt nạ trực giao Hx, Hy để tối giản tính toán. Nếu định nghĩa g1(f’x), g2(f’y) là véc-tơ Gradient theo hai hướng x,y (G(g1, g2)) thì biên độ g và hướng của biên tại tọa độ điểm (m,n) được tính như (2-3), (2-4) và có thể xấp xỉ như (2-5): 𝐴𝑜 = 𝑔(𝑚, 𝑛) = √𝑔1 2 (𝑚, 𝑛) + 𝑔2 2 (𝑚, 𝑛) (2.7) Yêu cầu là tìm cặp mặt nạ phù hợp cho quá trình tính toán g1, g2 trên.

Thông thường áp dụng toán tử Sobel. Mỗi điểm ảnh lân cận của ảnh ngõ vào được tiến hành nhân chập với cặp mặt nạ để tính toán các thành phần biên độ và hướng của Gradient, từ đó xác định biên và thu được khung cấu trúc của kí tự.5 Tổng quan mạng nơ-ron tích chập Mạng nơ-ron là tập hợp các thuật toán được mô hình hóa theo kiến trúc não bộ, có sự liên kết giữa dữ liệu ngõ vào với ngõ ra mong muốn, được thiết kế để nhận diện và phân loại các đặc trưng của dữ liệu. Dữ liệu đó có thể là hình ảnh, âm thanh, chữ viết, vật thể… Mạng nơ-ron sử dụng tốt nhất cho việc mô hình hóa các hệ thống phi tuyến, khi dữ liệu cần tăng thêm hoặc bị thay đổi và yêu cầu cập nhật hệ thống tức thời[5]. Mạng nơ-ron được biểu diễn dưới dạng kiến trúc mạng nhiều lớp, mỗi lớp chứa các nút thần kinh, hay nơ-ron và kết nối thông qua các trọng số liên kết w có thể hiệu chỉnh[7].

7 do an Trọng số Ngõ vào liên kết x1 wk1 Hàm x2 wk2 truyền. Hàm xn wkn tổng bk Hình 2.2: Cấu trúc của một nơ-ron Các thành phần cơ bản của một nơ-ron bao gồm: • Ngõ vào: dữ liệu ngõ vào được lưu trữ dưới dạng véc-tơ n chiều. • Liên kết: mỗi liên kết được thể hiện bởi một hệ số hay trọng số liên kết w. Trọng số liên kết giữa tín hiệu vào thứ j với nơ-ron k được kí kiệu là wkj , được khởi tạo ban đầu ngẫu nhiên và được cập nhật liên tục trong quá trình huấn luyện.

• Hàm tổng: tính tổng của tích các ngõ vào với trọng số liên kết tương ứng. • Hàm truyền: hay còn gọi là hàm kích hoạt, dùng để giới hạn phạm vi ngõ ra của mỗi nơ-ron. Hàm truyền nhận kết quả là hiệu của hàm tổng và hệ số chênh lệch bk (độ lệch giữa giá trị trung bình do mô hình dự đoán và giá trị thực tế của dữ liệu, hay còn gọi là ngưỡng chênh lệch).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Thiết kế hệ thống nhận diện chữ viết tay tại HCMUTE" trình bày một hệ thống tiên tiến nhằm nhận diện chữ viết tay, với mục tiêu cải thiện khả năng tương tác giữa con người và máy tính. Hệ thống này không chỉ giúp tự động hóa quá trình nhận diện chữ viết tay mà còn mở ra nhiều ứng dụng trong giáo dục và công nghệ thông tin. Độc giả sẽ tìm thấy những thông tin hữu ích về cách thức hoạt động của hệ thống, cũng như những lợi ích mà nó mang lại cho người dùng, từ việc tiết kiệm thời gian đến nâng cao độ chính xác trong việc nhận diện.

Nếu bạn muốn tìm hiểu thêm về các ứng dụng công nghệ trong lĩnh vực này, hãy tham khảo bài viết Luận văn thạc sĩ khoa học máy tính sử dụng active learning trong việc lựa chọn dữ liệu gán nhãn cho bài toán speech recognition, nơi bạn có thể khám phá cách mà học máy có thể cải thiện các hệ thống nhận diện. Ngoài ra, bài viết Luận văn thạc sĩ khoa học máy tính nghiên cứu các phương pháp trích xuất thông tin trong ảnh tài liệu và ứng dụng sẽ cung cấp cho bạn cái nhìn sâu sắc về việc trích xuất thông tin từ hình ảnh, một khía cạnh quan trọng trong nhận diện chữ viết tay. Cuối cùng, bạn cũng có thể tham khảo Luận văn thạc sĩ kỹ thuật viễn thông phân loại chủ đề bản tin online sử dụng máy học để hiểu rõ hơn về cách mà máy học có thể được áp dụng trong việc phân loại và nhận diện thông tin. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và khám phá thêm nhiều khía cạnh thú vị trong lĩnh vực công nghệ thông tin.