Thực nghiệm tính một vài tham số đầu vào:

Một phần của tài liệu đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự (Trang 56)

3.3.1.1. Số vòng lặp huấn luyện:

 Vòng lặp huấn luyện (Epoch): là số lần thuật toán huấn luyện duyệt qua toàn bộ các mẫu huấn luyện có trong tập mẫu huấn luyện. Số vòng lặp càng lớn thì tỷ lệ nhận dạng chính xác của mạng càng cao. Nhưng đến một mức nào đó nó sẽ gây ra hiện tượng học vẹt (over learning), sẽ bỏ qua trạng thái tối ưu.

 Vòng lăp huấn luyện tối đa (Max Epoch): là số vòng lặp tối đa được định nghĩa trước mà thuật toán huấn luyện sẽ chạy trước khi dừng lại nhằm tránh trường hợp vòng huấn luyện chạy mãi khi huấn luyện không đạt hiệu quả mong muốn.

 Với các giá trị tham số khác như sau:

số kí tự = 90, tốc độ học = 150, Sigmoid slope = 0.014ta có bảng thực nghiệm tìm số vòng lặp huấn luyện tối ưu:

Số vòng lặp Kiểu font 300 600 900 Số kí tự lỗi % lỗi Số kí tự lỗi % lỗi Số kí tự lỗi % lỗi Arial 4 4.44 3 3.33 1 1.11 Tahoma 1 1.11 0 0 0 0 Time NewRoman 0 0 0 0 1 1.11

Giá trị quyết định ở trên cho số lần lặp là 300 bởi vì đối với mạng nơ-ron có một đặc trưng là chấp nhận sai xót. Và lại, nếu sử dụng số lần lặp quá lớn với số lượng nơ-ron lớn và tập huấn luyện lớn thì ta cần rất nhiều thời gian cho việc huấn luyện dẫn đến tốn kém chi phí huấn luyện.

Nguyễn Thị Quyên Trang 57

3.3.1.2. Thực nghiệm tìm tham số tốc độ học:

Sự thay đổi của tham số tốc độ học cũng ảnh hưởng tới việc huấn luyện của mạng khi cho số lần lặp định sẵn. Giảm giá trị của tham số này, mạng sẽ cập nhật lại trọng số. Nó làm giảm khả năng và học khó hơn khi nó cập nhật liên kết chậm hơn, sẽ tăng số lần lặp để đạt giá trị tối ưu. Vì vậy cần một giá trị tối ưu cho sự huấn luyện của mạng.

Với các giá trị tham số khác: số kí tự = 90, số lần lặp = 300, Sigmoid slope = 0.014 ta có bảng thực nghiệm tìm tham số tốc độ học:

Tốc độ học Kiểu font

50 100 150

Số kt lỗi. % lỗi Số kt lỗi. % lỗi Số kt lỗi. % lỗi

Arial 82 91.11 18 20 3 3.33

Tahoma 56 62.22 11 12.22 1 1.11

Time

NewRoman 77 85.56 15 16.67 0 0

Theo kết quả của bảng trên, giá trị tối ưu quyết định ở trên cho tham số tốc độ học là 150. Vì nếu sử dụng các giá trị 50 hay 100 thì mạng học rất lâu và độ chính xác không cao, đối với các giá trị khác cho kết quả tương tự.

3.3.2. Thực nghiệm huấn luyên mạng nơ-ron:

Để chuẩn bị cho quá trình huấn luyện của mạng nơ-ron, ta cần chuẩn bị:

 Một file ảnh gồm các ký tự cần huấn luyện (có phần mở rộng là *.bmp [bitmap]).

 Một file văn bản tương ứng (có phần mở rộng là *.cts [character trainer set]). Hai file này được đặt cùng tên, chỉ khác phần mở rộng và lưu trữ trong cùng một thư mục.

Nguyễn Thị Quyên Trang 58  Click vào nút “Đưa tập huấn luyện vào” trong phần HUẤN LUYỆN của

chương trình. Ứng dụng sẽ cung cấp cho người dùng một hộp thoại lựa chọn đường dẫn tới vị trí của file văn bản *.cts cần huấn luyện, chương trình đồng thời sẽ hiển thị file ảnh tương ứng với chính nó trong khung “Ảnh đầu vào”.

 Trong đồ án này, em chỉ tiến hành huấn luyện thử nghiệm với 90 ký tự cơ bản sau với 2 loại kích thước là 72pt và 36pt:

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

0123456789

~!@#$%^&*()-+=\{}[]:';<>,./?

Ví dụ mẫu dùng trong quá trình thực nghiệm huấn luyện:

Font chữ Arial:

Ảnh đầu vào:

Đầu ra mong muốn:

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

0123456789

Nguyễn Thị Quyên Trang 59

Font chữ Times New Roman:

Ảnh đầu vào:

Đầu ra mong muốn:

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ~!@#$%^&*()-+=\{}[]:';<>,./? Font chữ Tahoma: Ảnh đầu vào:

Đầu ra mong muốn:

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz

0123456789

Nguyễn Thị Quyên Trang 60  Click nút “Bắt đầu” trong phần HUẤN LUYỆN để tiến hành phân tích ảnh và

huấn luyện mạng.Trong đồ án này một số tham số được lựa chọn để huấn luyện như sau:

 Tốc độ học = 150.

 Hệ số góc Sigmoid= 0.014.

 Trọng số kết nối cơ sở= 30.

 Số lần lại 300-600 tùy độ phức tạp của từng loại font.

 Trung bình ngưỡng của lỗi = 0.0002.

Hình 3.2 Huấn luyện mạng nơ-ron

 Khi phần “Trạng thái” có thông báo “Hoàn thành” tức là chương trình đã huấn luyện xong, click vào nút “Ghi mạng” để lưu lại kết quả huấn luyện. Kết quả sẽ được 1 mạng lưu dưới dạng file có phần mở rộng là *.ann [Artificial Neural Networks] chứa các giá trị trọng số trong quá trình huấn luyện mạng, ta sẽ dử dụng file này để phục vụ cho việc nhận dạng ký tự.

Nguyễn Thị Quyên Trang 61

Ví dụ một mạng thu được sau khi huấn luyện:

Nhan dang ky tu bang mang no-ron. Nguyen Thi Quyen - HTTTK49.

Ten mang = Latin Times Roman

So lop an = 250

So ky tu = 90 So vong lap = 300 Toc do hoc = 150

He so goc ham Sigmod = 0.014 Sai lech trong so = 30

Weight[1 , 0 , 0] = 92.68587 Weight[1 , 0 , 1] = -505.8851 Weight[1 , 0 , 2] = 269.4137 Weight[1 , 0 , 3] = 162.8794 Weight[1 , 0 , 4] = 155.2899 Weight[1 , 0 , 5] = 407.1724 Weight[1 , 0 , 6] = 153.9269 Weight[1 , 0 , 7] = 277.4919 Weight[1 , 0 , 8] = 48.67392 Weight[1 , 0 , 9] = 74.01836 Weight[1 , 0 , 10] = 76.98925 Weight[1 , 0 , 11] = -2.640896 Weight[1 , 0 , 12] = 130.0587 Weight[1 , 0 , 13] = 217.0493 Weight[1 , 0 , 14] = 374.2686 Weight[1 , 0 , 15] = -537.3345 ……….. ……….. Weight[2 , 15 , 242] = -25.75582 Weight[2 , 15 , 243] = 0.8294762 Weight[2 , 15 , 244] = 9.753311 Weight[2 , 15 , 245] = 21.77102 Weight[2 , 15 , 246] = 3.452326 Weight[2 , 15 , 247] = 23.15486 Weight[2 , 15 , 248] = -17.0192 Weight[2 , 15 , 249] = 24.86844

Nguyễn Thị Quyên Trang 62

3.3.3. Thực nghiệm nhận dạng ký tự:

Để nhận dạng ký tự, ta thực hiện các bước như sau:

 Click vào nút “Đưa ảnh vào” để load ảnh ký tự (có định dạng *.bmp) cần nhận dạng vào.

 Click vào nút “Đưa mạng vào” để load mạng nơ-ron (*.ann) với font chữ tương ứng đã được huấn luyện để phục vụ nhận dạng.

 Click vào nút “Nhận dạng” để bắt đầu nhận dạng các ký tự trong ảnh. Các ký tự nhận dạng được sẽ xuất hiện ở khung hiển thị trong phần “ĐẦU RA”.

 Sau khi chương trình nhận dạng hết các ký tự trong ảnh đầu vào, sẽ có thông báo “Nhận dạng đã hoàn thành”. Sau khi nhận được thông báo, ta click vào nút “Lưu đầu ra” để ghi lại kết quả (ở dạng file *.txt) đã nhận dạng được.

Ví dụ về ảnh và kết quả nhận dạng được:

Nguyễn Thị Quyên Trang 63

Chương trình có thể nhận dạng được file ảnh khoảng hơn 1 nghìn ký tự. Ví dụ:

Hình 3.4 Ví dụ nhận dạng với file đầu vào gồm nhiều ký tự

Nguyễn Thị Quyên Trang 64

Kết quả nhận dạng thu được:

Mozart showed prodigious abiIisy from his earIiest chiIdhood in SaIzburg. •Iready competent on keyboard and vioIin,

he composed from the age of fyqe and per5rmed be5re European royaIsy. •t 1 7, he was engaged as a court musician in SaIzburg, but grew restIess and traveIIed in search of a better position, aXuays composing abundantI3. WhiIe visising Viennain 1 781 , he was

dismissed from his SaIzburg posision. He chose to stay in the capitaI, where he achieved 5me but IistIe fynanciaI securisy. During his fynaI years in Vienna, he composed many of his best-known symphonies, concertos, and operas, and portions of the Requiem, which was IargeIy unfynished at the time of his death. The circumstances of his earIy death have been much mythoIogized. He was susiqed by his wi5 Constanze and two sons. Mozart Iearned voraciousI3 from others, and deveIoped a briIIiance and maturisy of styIe that encom passed the Iight and gracefuI aIong wish the dark and passionate. His infIuence on subsequent Qstern art music is pro5und.

Kết quả thực nghiệm nhận dạng với 90 ký tự cơ bản của 2 loại font chữ là Times New Roman và Arial, với 2 mẫu kích thước ký tự là 72pt và 36pt:

Nguyễn Thị Quyên Trang 65

Hình 3.5 Kết quả thực nghiệm nhận dạng với font Arial 72pt

Nguyễn Thị Quyên Trang 66

Hình 3.7 Kết quả thực nghiệm nhận dạng với font Arial 36pt

Nguyễn Thị Quyên Trang 67

Hình3.9 Kết quả thực nghiệm nhận dạng với font Times New Roman 36pt (lặp 600 vòng)

Từ kết quả thực nghiệm ta có bảng thống kê sauvới các tham số:

 Tốc độ học = 150.  Hệ số góc Sigmoid= 0.014.  Trọng số kết nối cơ sở= 30.  Số vòng lặp huấn luyện = 300. ta có bảng thống kê sau: Loại font Số ký tự nhận dạng Số ký tự lỗi % lỗi Arial 72pt 90 0 0% Times New Roman 72pt 90 0 0% Arial 36pt 90 2 2.2% Times New Roman 36pt 90 2 2.2%

Nguyễn Thị Quyên Trang 68

3.4 Nhận xét và đánh giá về chƣơng trình: 3.4.1. Sai số trong nhận dạng ký tự: 3.4.1. Sai số trong nhận dạng ký tự:

Việc nhận dạng ký tự đôi khi bị sai hoặc thiếu chính xác, là do nhiều vấn đề liên quan như :

- Sự phức tạp của dữ liệu đầu vào, các giá trị chọn lựa như độ lệch, lỗi ngưỡng, số nơ-ron mỗi lớp,…. chưa được chọn lựa chính xác.

- Sai số trong nhận dạng kí tự lớn hay nhỏ là phụ thuộc vào nhiều yếu tố: độ chuẩn của ảnh đưa vào, size font chữ, độ phức tạp của font chữ.

- Việc chọn mô hình mạng phù hợp, giá trị ngưỡng lỗi, độ lệch, tốc độ học...đều ảnh hưởng đến tính chính xác trong nhận dạng ký tự.

Ví dụ:

Với cùng các tham số đầu vào, khi nhận dạng 90 ký tự font Times New Roman 36pt với hai mạng nơ-ron được huấn luyện với số vòng lặp khác nhau sẽ cho tỷ lệ lỗi khác nhau:

Số vòng lặp = 300 (Hình 3.8): số ký tự nhận dạng lỗi là 2/90. Số vòng lặp = 600 (Hình 3.9): số ký tự nhận dạng lỗi là 1/90.

3.4.2. Những hạn chế của chƣơng trình:

Chương trình nhận dạng ký tự còn một vài hạn chế sau:

- Chỉ ở mức nhận dạng chữ không dấu, tính chính xác vẫn chưa hoàn toàn tuyệt đối.

- Số ký tự trong file ảnh đầu vào để nhận dạng còn hạn chế, trong khoảng hơn 1000 ký tự.

- Trong quá trình huấn luyện, hai ký tự là chữ “I_Hoa”mã 49h và chữ “l_Thường” mã 6Ch khi tách kí tự, chia lưới và đưa kết quả vào mạng sẽ làm cho mạng không phân biệt được hai kí tự này dẫn đến sau này nhận dạng sai. Phương pháp này cần tăng số lần lặp cho quá trình huấn luyện.

- Ngoài ra còn một số trường hợp ảnh của hai kí tự nằm chéo nhau, do việc phân tích ký tự chưa chính xác nên dẫn đến nhận dạng sai, ví dụ như:

Nguyễn Thị Quyên Trang 69

KẾT LUẬN

Trên đây là báo cáo Đồ án tốt nghiệp của em với các nội dung chính: - Tìm hiểu mạng nơ-ron nhân tạo.

- Tìm hiểu bài toán nhận dạng.

- Mô tả bài toán ứng dụng mạng nơ-ron trong nhận dạng kí tự. - Phân tích cụ thể bài toán nhận dạng.

- Thiết kế mạng và huấn luyện mạng nơ-ron cho bài toán “Ứng dụng mạng nơ- ron trong nhận dạng kí tự ”.

- Cài đặt và kiểm tra thực nghiệm bài toán này.

Nhận dạng kí tự là một phần rất quan trọng của lĩnh vực nhận dạng nói riêng và xử lý ảnh nói chung. Cùng với việc sử dụng công cụ là mạng nơ-ron là một lĩnh vực còn khá mới cần được phát triển hơn.

Trong Báo cáo này em mới chỉ dừng lại ở phần thử nghiệm trên một số loại font và kích thước nhất định.

Hướng phát triển tiếp theo của khóa luận này trong tương lai:

- Nâng cao hiệu quả và độ chính xác trong việc nhận dạng kí tự. - Tăng số ký tự trong file ảnh đầu vào có thể nhận dạng được. - Mở rộng thêm nhiều loại font.

- Mở rộng các cỡ chữ đặc biệt là các cỡ chữ dùng nhiều trong văn bản.

Vì thời gian thực hiện không nhiều và năng lực của bản thân còn hạn chế nên chắc chắn không tránh khỏi thiếu xót. Em hi vọng sẽ nhận được những ý kiến đóng góp của thầy cô và các bạn để em có thể rút được kinh nghiệm cũng như hoàn thiện bài báo cáo này trong tương lai.

Cuối cùng, em xin gửi lời cảm ơn chân thành đến các thầy cô trong khoa Công nghệ Thông tin Trường Đại học Giao thông vận tải đã tận tình dạy dỗ, truyền đạt cho em nhiều kiến thức quý báu. Đặc biệt là T.S Đặng Thị Thu Hiền trong thời gian qua đã nhiệt tình chỉ bảo, đóng góp ý kiến bổ sung để em có thể hoàn thành bài báo cáo này.

Nguyễn Thị Quyên Trang 70

TÀI LIỆU THAM KHẢO

[1.] Tài liệu về mạng nơ-ron nhân tạo do T.s Đặng Thị Thu Hiền cung cấp.

[2.] Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số, Nhà xuất bản Khoa học và kỹ thuật, 2008.

[3.] Học viện công nghệ Bưu chính Viễn Thông (2007), Nhập môn Trí tuệ Nhân tạo, Hà Nội, tr 118-133.

[4.] Artificial Neural Networks and Information theory, colin Fyfe, department of computing and information system, the university of Paisley.

[5.] Math Neural Networks. Ben Krose, faculty of Mathematics and computer science, university of Amsterdam. And Patrick van der smagt, institute of robotics and system dynamics German aerospase Reseach establishment. [6.] William K.Partt, Digital Image Processing.

Một phần của tài liệu đồ án tốt nghiệp sử dụng mạng nơ ron nhận dạng ký tự (Trang 56)

Tải bản đầy đủ (PDF)

(70 trang)