Phạm vi bài toán:
Phiếu điểm ở đây ta giả sử là đã có một mẫu chuẩn và cho một môn cụ thể nào đó và máy được phép biết trước.
Các ký tự số trong phiếu điểm không được thiếu hoặc thừa nét, viết theo kiểu chữ đứng, đẹp, không viết tràn dòng và phải được đặt đúng theo chuẩn của tiếng Việt dạy học ở cấp I
39 trang |
Chia sẻ: lynhelie | Lượt xem: 1782 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Đồ án Ứng dụng nhận dạng ký tự cho bài toán cập nhật điểm tự động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNGNGÀNH CÔNG NGHỆ THÔNG TINBÁO CÁO TỐT NGHIỆPHải Phòng, 07/2008Giáo viên hướng dẫn : ThS. Ngô Trường GiangSinh viên thực hiện : Phùng Công Định Mã sv : 080274Lớp : CT802 Đề tài:Ứng dụng nhận dạng ký tự cho bài toán cập nhật điểm tự động 1Giới thiệu đề tài.Chương 1 : Tổng quan về nhận dạng ký tự.Chương 2 : Nhận dạng ký tự số sử dụng mạng Neural Chương 3 : Ứng dụng trong cập nhật điểm tự động Chương 4 : Cài đặt chương trình thử nghiệmKết luận và hướng phát triển của đề tài.NỘI DUNG BÁO CÁO2GIỚI THIỆU ĐỀ TÀIHiện nay tại trường ĐH Dân Lập Hải Phòng tại phòng khảo thí của trường công việc cập nhật điểm vào máy hiện đang chiếm thời gian khá lớn do phải nhập điểm thủ công vào cơ sở dữ liệu. Hiện giờ rất cần thiết một hệ thống có thể cập nhật một cách tự động, nhằm hỗ trợ và tăng tốc độ cập nhật điểm, giảm chi phí và thời gian. 3GIỚI THIỆU ĐỀ TÀIHình 1.1 : Ảnh phiếu điểm cần xử lý4Chương 1 : Tổng quan về nhận dạng ký tự.Giới thiệu :Nhận dạng là bài toán xuất hiện cách đây khá lâu và vẫn luôn thu hút được nhiều sự quan tâm, nghiên cứu của các nhà khoa học. Bài toán nhận dạng chữ in hiện nay đã được giải quyết gần như trọn vẹn trên thế giới cũng như ở Việt Nam.Nhận dạng chữ viết tay được thực hiện qua hai hình thức chính là nhận dạng online và nhận dạng offline. 5Chương 1 : Tổng quan về nhận dạng ký tự.Những khó khăn thách thức :Hầu hết các kết quả của nhận dạng chữ viết tay offline hiện nay còn rất hạn chế.Với chữ viết tay, kích thước đồng đều là điều mà chúng ta không thể đảm bảo được.Kiểu, dáng chữ của mỗi người viết cũng rất khác nhau.Giữa các kí tự trong cùng một từ thường có nét nối hoặc thậm chí chúng dính vào nhau nên rất khó xác định được phân cách giữa chúngNhiều khi các kí tự còn bị thiếu, thừa nét 6Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralKHÁI NIỆM NEURAL NHÂN TẠOKhái niệm neural: Là một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào đến từ một thành phần liên kết.Các thành phần của neural nhân tạo: 1.Thành phần liên kết. 2.Bộ cộng. 3.Hàm kích hoạt.Hình 2.1: Mô hình một neural nhân tạo7Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralKHÁI NIỆM MẠNG NEURAL NHÂN TẠOKhái niệm: Là một hệ thống bao gồm nhiều phần tử xử lý đơn giản tựa như neural thần kinh của não người.Mô hình mạng neural : Lớp nhập (input),Lớp ẩn (Hidden-nếu có)Lớp xuất (output). Hình 2.2 :Mô hình mạng neural nhân tạo8Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralPHÂN LOẠI MẠNG NEURALLớp nhậpLớp ẩnLớp xuấtHình 2.3a: Mạng mạng truyền thẳng đa mứcHình 2.3b: Mạng qui hồi có các neural ẩn9Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralHUẤN LUYỆN MẠNG NEURALPhương pháp học: Mạng neural nhân tạo phỏng theo việc xử lý thông tin của bộ não người, do vậy đặc trưng cơ bản của mạng là có khả năng học, tái tạo các hình ảnh và dữ liệu khi đã học.Có 3 kiểu học chính: Học có giám sát. Học không giám sát. Học tăng cường10Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralTHUẬT TOÁN HỌC CỦA MẠNG NEURAL NHIỀU LỚP TRUYỀN THẲNGThuật toán ‘Lan truyền ngược’ gồm hai quá trình: Quá trình truyền tuyến tính: Dữ liệu từ lớp nhập qua lớp ẩn và đến lớp xuất: Thay đổi giá trị của trọng số liên kết W. Tính toán lỗi. Quá trình truyền ngược: Giá trị lỗi sẽ được truyền ngược lại sao cho quá trình huyến luyện sẽ tìm ra trọng số Wi để lỗi nhỏ nhất.11Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralTHUẬT TOÁN HỌC CỦA MẠNG NEURAL NHIỀU LỚP TRUYỀN THẲNGBước 1: Khởi tạo trọng số W ngẫu nhiên nhỏ.Bước 2 : Chọn giá trị đầu vào X và đính nó vào lớp đầu vào . Bước 3 : Truyền sự kích hoạt qua trọng số đến khi kích hoạt các nơron đầu ra.Bước 4: Tính đạo hàm riêng “δE” theo trọng số cho lớp xuất. Bước 5: Tính đạo hàm riêng “δE” theo trọng số cho lớp ẩn.12Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralTHUẬT TOÁN HỌC CỦA MẠNG NEURAL NHIỀU LỚP TRUYỀN THẲNGBước 6: Cập nhật tất cả trọng số theo Bước 7: Quay lai “Bước 2” cho đến “Bước 6” cho tất cả các mẫu.13Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralXÂY DỰNG MẠNG NEURAL NHẬN DẠNG KÝ TỰ SỐBiểu diễn đặc trưng ký tựB1 : co giãn Ta lấy tỉ lệ co giãn của chiều lớn nhất k = 22 / 26 ≈ 0.84615Như vậy kích thước mới của ảnh là : Wn = 17 / 0.8462 ≈ 20 , Hn = 22/0.84615 ≈ 26 : 20 x 26 20 x 26 sau khi đặt vào khuôn 26 x 26B2 : Đặt ảnh vào khuôn B3 : Mã hóaKết quả sau khi mã hóa14Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralXÂY DỰNG MẠNG NEURAL NHẬN DẠNG KÝ TỰ SỐBiểu diễn đặc trưng ký tựHình 2.4:Minh họa lấy đặc trưng ký tự số15Chương 2 : Nhận dạng ký tự số sử dụng mạng NeuralXÂY DỰNG MẠNG NEURAL NHẬN DẠNG KÝ TỰ SỐMô hìnhmạngHình 2.5: Mô hình mạngHàm sigmoid :16Chương 3 : Ứng dụng trong cập nhật điểm tự độngPhạm vi bài toán:Phiếu điểm ở đây ta giả sử là đã có một mẫu chuẩn và cho một môn cụ thể nào đó và máy được phép biết trước. Các ký tự số trong phiếu điểm không được thiếu hoặc thừa nét, viết theo kiểu chữ đứng, đẹp, không viết tràn dòng và phải được đặt đúng theo chuẩn của tiếng Việt dạy học ở cấp I 17Chương 3 : Ứng dụng trong cập nhật điểm tự độngNhận dạng phiếu điểm: (Ảnh phiếu điểm là ảnh chuẩn)Tách dòng, tách cột, xác định ô : sử dụng Histogram Ví dụ :Hình 3.1:Ảnh phiếu điểm18Chương 3 : Ứng dụng trong cập nhật điểm tự độngNhận dạng phiếu điểm: (Ảnh phiếu điểm là ảnh chuẩn)Tách dòng, tách cột, xác định ô : sử dụng Histogram Histogram dọc sau khi tínhHình 3.2: Histogram dọc sau khi tính toán19Chương 3 : Ứng dụng trong cập nhật điểm tự độngNhận dạng phiếu điểm: (Ảnh phiếu điểm là ảnh chuẩn)Tách dòng, tách cột, xác định ô : sử dụng Histogram Histogram ngang sau khi tínhHình 3.3: Histogram ngang sau khi tính toán20Chương 3 : Ứng dụng trong cập nhật điểm tự độngNhận dạng phiếu điểm: (Ảnh phiếu điểm là ảnh chuẩn)Tách dòng, tách cột, xác định ô : sử dụng Histogram Xác định vị trí các cột ( dựa vào Histogram dọc )Tìm giá trị lớn nhất ( max ) trong Histogram dọcTính ngưỡng µ = max – (max/2.4)Vị trí các cột là vị trí i thỏa mãn điều kiện HisValue[i] > µXác định vị trí các hàng ( dựa vào Histogram ngang )Tìm giá trị lớn nhất ( max ) trong Histogram ngangTính ngưỡng µ = max – (max/2)Vị trí các hàng là vị trí i thỏa mãn điều kiện HisValue[i] > µ21Chương 3 : Ứng dụng trong cập nhật điểm tự độngNhận dạng phiếu điểm: (Ảnh phiếu điểm là ảnh chuẩn)Lấy vùng dữ liệu trong ô cần nhận dạngẢnh khi cắt từ vị trí cột và hàng (i,j)Ảnh sau khi xử lý, khoanh vùng dữ liệu bằng khung độngSử dụng khung động tìm vùng dữ liệu22Chương 3 : Ứng dụng trong cập nhật điểm tự độngNhận dạng phiếu điểm: (Ảnh phiếu điểm là ảnh chuẩn)Cắt ký tự để chuẩn bị nhận dạng, sử dụng histogramHình 3.4 Ảnh sau khi lấy và xử lýHistogram dọc của hình 3.4 Cơ sở để cắt là các ký tự là cách nhau một khoảng trắng 23Chương 3 : Ứng dụng trong cập nhật điểm tự độngNhận dạng phiếu điểm: (Ảnh phiếu điểm là ảnh chuẩn)Nhận dạng Sau khi cắt được ký tự số, và giới hạn được vùng dữ liệu cần nhận dạng ta chỉviệc đưa các ảnh đó qua phần biểu diễn đặc trưng, chuyển đổi ảnh đầu vào và đưa qua mạng Neural để nhận dạng. Biểu diễn đặc trưng và Mạng Neural được trình bày ở trênSố 8Biểu diễn đặc trưngMạng NeuralKết quả24Chương 3 : Ứng dụng trong cập nhật điểm tự độngCập nhật điểm vào cơ sở dữ liệu - Sau khi đã nhận dạng ra được kết quả tiếp đến đó là việc đưa điểm vào cơ sở dữ liệu để lưu trữ.Giả lập cở sở dữ liệu đã có sẵn và được xây dựng bằng MS Access 2003 Trước khi đưa điểm vào cơ sở dữ liệu để lưu trữ chúng ta cầncó bước đánh giá chọn lựa kết quả, sao cho lấy được kết quả nhận dạng phiếu điểm tốt nhất. Thực ra công việc này chính là việc đánh giá tỉ lệ lỗi trong nhận dạng và lựa chọn một tỉ lệ lỗimà kết quả nhân dạng có độ chính xác cao. 25Chương 4 : Cài đặt chương trình thử nghiệmMôi trường thử nghiệmPhần cứng: Một máy tính pentum IV. Card đồ họa 256 MB. Ram 512 MB .Phần mềm: Ngôn ngữ sử dụng: C# trong bộ visual studio 2005.Tập dữ liệu huấn luyện: Gồm 500 mẫu, mỗi mẫu là những ảnh bitmap của ký tự số từ 0 đến 10 Tập dữ liệu test: gồm 10 ảnh phiếu điểm 26Chương 4 : Cài đặt chương trình thử nghiệmHình 4.1 Ảnh mẫu phiếu điểm thử nghiệmHình 4.2 Ảnh mẫu thu thập ký tự số viết tay và số in để mạng học27Chương 4 : Cài đặt chương trình thử nghiệmGiao diện chương trìnhHình 4.3 Giao diện phần học ký tự số28Chương 4 : Cài đặt chương trình thử nghiệmGiao diện chương trìnhHình 4.4 Giao diện nhận dạng kiểm thử29Chương 4 : Cài đặt chương trình thử nghiệmGiao diện chương trìnhHình 4.5 Giao diện phần cập nhật điểm tự động30Số lần học cố địnhTốc độ họcSố lần học thực tế Số mẫu ký tự số họcSố mẫu nhớ sau khi học5010.001200%505.5004200%501.00502030%500.85502040%500.45502050%500.325502085%500.2555020100%500.1555020100%500.015502095%500.005502065%1001.001002035%1000.851002025%Thực nghiệm chọn thông số đầu vào311000.456220100%1000.3255220100%1000.2556420100%1000.1558520100%1000.01510020100%1000.0051002090%2000.459650100%2000.3256750100%2000.2555650100%2000.1557350100%Thực nghiệm chọn thông số đầu vào32Chương 4 : Cài đặt chương trình thử nghiệmQua thực nghiệm kiểm thửHệ số học của mạng lựa chọn là : learRate = 0.3250F được rút ra từ bảng thực nghiệm trênTrọng số khởi tạo trong khoảng : [-0.8,0.8]33Chương 4 : Cài đặt chương trình thử nghiệmCác mẫu ký tự mạng hay nhận dạng sai34Chương 4 : Cài đặt chương trình thử nghiệmCác trường hợp chương trình còn lỗiKhông xác định được bảng do ảnh scan bị méo khung, do tờ phiếu đặt không thẳngCác ký tự số trong ô bị viết tràn sang vùng của ô khác35Chương 4 : Cài đặt chương trình thử nghiệmKết quả thực nghiệm(Kết quả nhận dạng 10 ảnh phiếu điểm) Tổng số mẫu cần nhận dạng trong 10 phiếu điểm : 28*8*10 = 2240mẫu cần nhận dạngNhận dạng :Nhận dạng cột mã sinh viên: nhận sai 8 mẫu / 1680 mẫu (chữ số in)Nhận dạng cột điểm quá trình: nhận sai 2 mẫu / 280 mẫu (chữ số in)Nhận dạng cột điểm thi: nhận sai 52 mẫu / 280 mẫu (chữ số viết tay)Tỉ lệ nhận dạng với tập mẫu thử nghiệm: Kết quả với chữ số in : 99%Kết quả với chữ số viết tay : 81%36Kết luậnTrên đây em đã trình bày về đề tài “Ứng dụng mạng neural trong nhận dạng kí tự” với các nội dung sau:Tìm hiểu mạng Neural nhân tạo.Tìm hiểu bài toán nhận dạng ký tựMô tả bài toán ứng dụng mạng Neural trong nhận dạng kí tự số viết tayPhân tích cụ thể bài toán nhận dạng phiếu điểm có chữ số viết tayThiết kế mạng và huấn luyện mạng Neural cho bài toán “ứng dụng mạng Neural trong nhận dạng kí tự số viết tay”.Ứng dụng nhận ký tự số viết tay bằng mạng Neural trong nhận dạng phiếu điểm, phát triển bài toán cập nhát điểm tự động.Cài đặt và kiểm tra thực nghiệm bài toán này. 37HƯỚNG PHÁT TRIỂNHướng phát triển tiếp theo của đề tài này trong tương lai.Sử dụng phương pháp phân tích trích trọn đặc trưng ảnh ký tự đầu vào dựa theo cấu trúc trước khi đưa vào mạng Neural tránh hiện tượng ảnh đầu vào không đủ đặc trưng do co giãn ảnh ban đầu về kích thước cố định.Nâng cao hiệu quả và độ chính xác trong việc nhận dạng kí tự.Mở rộng và cải tiến mạng bổ sung thêm nhiều chữ số viết tay Tiếp tục xây dựng và hoàn thiện quá tiền xử lý phiếu điểm để kết quả nhận dạng tốt hơn.38LỜI CẢM ƠNEm xin chân thành cảm ơn thầy Ngô Trường Giang là giáo viên trực tiếp hướng dẫn và đã giúp em rất nhiều trong thời gian thực hiện đề tài này.Em xin chân thành cảm ơn các thầy cô trong bộ môn tin học đã chỉ bảo cho em trong quá trình rèn luyện tại trường.Em xin chân thành cảm ơn!39
Các file đính kèm theo tài liệu này:
- bao cao nhan dang.ppt