Xây dựng hệ thống nhận dạng chữ số và tính tiền trên hoá đơn

90 0 0
Xây dựng hệ thống nhận dạng chữ số và tính tiền trên hoá đơn

Đ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

VIỆN ĐẠI HỌC MỞ HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc KHOA CÔNG NGHỆ THÔNG TIN Hà Nội, ngày tháng năm 2017 NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP Họ tên: Nguyễn Mạnh Đức Giới tính: Nam Ngày sinh: 20/12/1995 Nơi sinh: Hà Nội Chuyên ngành: Công nghệ thông tin Mã số: 13A10010031 TÊN ĐỀ TÀI Xây dựng hệ thống nhận dạng chữ số tính tiền hóa đơn NHIỆM VỤ VÀ NỘI DUNG - Tìm hiểu kĩ thuật xử lý ảnh phương pháp nhận dạng chữ số - Lập kế hoạch để phân tích thiết kế hệ thống lập trình module hệ thống - Báo cáo kết đạt NGÀY GIAO NHIỆM VỤ 4/1/2017 NGÀY HOÀN THÀNH NHIỆM VỤ 30/4/2017 GIẢNG VIÊN HƯỚNG DẪN ThS Lê Hữu Dũng Nội dung đề cương Đồ án Hội đồng chuyên ngành thông qua Ngày tháng năm 2017 GIẢNG VIÊN HƯỚNG DẪN KHOA CÔNG NGHỆ THÔNG TIN MỤC LỤC Lời nói đầu CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tổng quan lĩnh vực nhận dạng chữ số 1.2 Giới thiệu công nghệ sử dụng 1.2.1 ASP.NET 1.2.2 Mơ hình kiến trúc N-tier 1.2.3 Android 10 1.3 Khái quát xử lý ảnh 24 1.3.1 Khái quát ảnh số 24 1.3.2 Khái quát xử lý ảnh 26 1.3.3 Các giai đoạn trình xử lý ảnh 27 1.3.4 Mô tả ảnh 29 CHƯƠNG MỘT SỐ PHƯƠNG PHÁP NHẬN DẠNG HIỆN CÓ 31 2.1 Một số phương pháp nhận dạng chữ số 31 2.1.1 Mơ hình SVM: 31 2.1.2 Mô hình HMM: 31 2.1.3 Mạng Neural: 32 2.2 Khái niệm mạng neural 33 2.2.1 Sơ lược mạng neural sinh học 33 2.2.2 Mạng neural nhân tạo 34 2.2.3 Kiến trúc huấn luyện mạng neural 36 2.2.4 Huấn luyện mạng neural 37 2.3 Ứng dụng mạng neural nhận dạng ký tự 42 2.4 Giới thiệu Support Vector Machine 44 2.5 Ứng dụng Support Vector Machine nhận dạng ký tự 47 CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 49 3.1 Phát biểu toán 49 3.2 Các tác nhân hệ thống 50 3.3 Biểu đồ chức (Use case Diagrams) 51 3.4 Biểu đồ hoạt động (Activity Diagrams) 55 3.5 Thiết kế sở liệu 59 3.6 Đặc tả chi tiết bảng 60 CHƯƠNG KẾT QUẢ THỰC HIỆN 64 4.1 Tiền xử lý tách ảnh 64 4.1.1 Tiền xử lý 64 4.1.2 Phân tách hình ảnh 66 4.2 Phía server 67 4.2.1 Kết hệ thống nhận dạng sử dụng mạng neural đa lớp SVM (Support Vector Machine) 68 4.3 Phía Client 70 CHƯƠNG KẾT LUẬN 76 5.1 Kết đạt 76 5.2 Những phần chưa đạt 76 5.3 Hướng phát triển 77 TÀI LIỆU THAM KHẢO 78 DANH MỤC HÌNH VẼ Hình 1.1 Mơ hình kiến trúc N-tier Hình 1.2 Các giai đoạn trình xử lý ảnh 27 Hình 2.1 Cấu trúc neural não người [5] 33 Hình 2.2 Mơ hình mạng neural nhân tạo [5] 35 Hình 2.3 Mạng neural đa tầng [5] 36 Hình 2.4 Cơng thức cấu trúc neural 39 Hình 2.5 Đầu vào đầu cho toán XOR 39 Hình 2.6 Hình minh họa trình thứ 40 Hình 2.7 Kết minh họa hàm tổng 40 Hình 2.8 Hàm sigmoid function 41 Hình 2.9 Kết sau thực hàm sigmoid 41 Hình 2.10 Kết đầu mạng 42 Hình 2.11 Sơ đồ toán nhận dạng ký tự 44 Hình 2.12 Vector H2 tốt 45 Hình 2.13 Hệ thống nhận dạng đấu (Multi class Support Vector Machines) 47 Hình 2.14 Lựa chọn class xác định nhiều 48 Hình 3.1 Biểu đồ tác nhân hệ thống 50 Hình 3.2 Biểu đồ use case tổng thể hệ thống 51 Hình 3.3 Biểu đồ use case quản lý tính tiền hóa đơn 52 Hình 3.4 Biểu đồ use case quản lý client 52 Hình 3.5 Biểu đồ use case quản lý thông tin người dùng 53 Hình 3.6 Biểu đồ quản lý đóng góp ý kiến 53 Hình 3.7 Biểu đồ use case quản lý huấn luyện, nhận dạng 54 Hình 3.8 Biểu đồ use case quản lý huấn luyện hệ thống 54 Hình 3.9 Biểu đồ hoạt động tính tiền hóa đơn 55 Hình 3.10 Biểu đồ hoạt động sửa hóa đơn 55 Hình 3.11 Biểu đồ hoạt động lưu hóa đơn 56 Hình 3.12 Biểu đồ hoạt động xóa hóa đơn 56 Hình 3.13 Biểu đồ hoạt động đóng góp ý kiến 57 Hình 3.14 Biểu đồ hoạt động huấn luyện mơ hình 57 Hình 3.15 Biểu đồ hoạt động lưu mơ hình 58 Hình 3.16 Biểu đồ hoạt động xem thơng tin 58 Hình 3.17 Cơ sở liệu 59 Hình 4.1 Ảnh gốc 65 Hình 4.2 Ảnh sau chuyển xám 65 Hình 4.3 Cơng thức lọc nhiễu Gussian Blur 65 Hình 4.4 Ảnh nhị phân sau chuyển đổi 66 Hình 4.5 Ảnh gốc cần tách 66 Hình 4.6 Tập ảnh sau tách thành dòng 66 Hình 4.7 Cơ sở liệu SQL Server 67 Hình 4.8 Tỉ lệ nhận dạng ANN tập liệu MNIST 68 Hình 4.9 Kết thử nghiệm liệu thực tế 69 Hình 4.10 Tỉ lệ nhận dạng tập mẫu SVM 69 Hình 4.11 Kết thử nghiệm liệu thực tế 70 Hình 4.12 Menu lựa chọn chức chụp, chọn ảnh 70 Hình 4.13 Chức chụp ảnh 71 Hình 4.14 Chức cắt ảnh 71 Hình 4.15 Chức chọn ảnh từ thư viện 72 Hình 4.16 Kết tách kí tự theo dịng 72 Hình 4.17 Kết tách kí tự từ dòng 73 Hình 4.18 Chức tính tổng tiền hóa đơn 73 Hình 4.19 Chức sửa số tiền hóa đơn 74 Hình 4.20 Chức xóa số tiền hóa đơn 74 Hình 4.21 Chức góp ý 75 Hình 4.22 Chức thống kê 75 DANH MỤC BẢNG BIỂU Bảng 3.1 tblTrainingModel 60 Bảng 3.2 tblTrainingModelDetail _60 Bảng 3.3 tblClient _61 Bảng 3.4 tblClientRating 61 Bảng 3.5 tblClientFeedback _62 Bảng 3.6 tblClientFeedbackDetail 62 Bảng 3.7 tblModelDownload 63 DANH MỤC CÁC CHỮ VIẾT TẮT STT Tên viết tắt Tên đầy đủ SVM Support Vector Machine HMM Hidden Markov Model ANN Artificial Neural Network BFD Bidirectional Forwarding Detection DFD Data flow diagram MSVM Multi-class Support Vector Machines Lời nói đầu Thị giác máy tính lĩnh vực phát triển mạnh mẽ giới Khái niệm thị giác máy tính – Computer Vison có liên quan tới nhiêu ngành học có nhiều hướng nghiên cứu khác Kể từ năm 70 kỷ 20 mà khả tính tốn máy tính trở nên mạnh mẽ, giải công việc cần tới tốc độ cao xử lý tập ảnh hay đoạn video thị giác máy tính nhắc đến, nghiên cứu phát triển ngày Thị giác máy tính lĩnh vực mẻ nhà nghiên Việt Nam, xuất gần tổ chức quân đội số viện nghiên cứu khác Việc áp dụng thị giác máy tính vào ứng dụng nghiên cứu khoa học coi khởi đầu cho chặng đường phát triển thị giác máy tính trường đại học Lĩnh vực nghiên cứu thị giác máy tính rộng, đặc điểm chung tốn thị giác máy tính khơng có đề chung cách giải Mỗi giải pháp giải vấn đề kết định cho trường hợp cụ thể Đề tài đồ án sau áp dụng kĩ thuật nhận dạng chữ số qua hình ảnh phần lĩnh vực thị giác máy tính Sau thời gian học tập trường, bảo tận tình thầy giáo khoa Cơng nghệ Thơng tin - Viện Đại học Mở Hà Nội, em kết thúc khóa học tích lũy vốn kiến thức định Được đồng ý Khoa Công nghệ Thông tin - Viện Đại học Mở Hà Nội đồng ý giáo viên hướng dẫn ThS Lê Hữu Dũng, em thực đề tài “Xây dựng hệ thống nhận dạng chữ số tính tiền hóa đơn” Để hồn thành đồ án này, em xin chân thành cảm ơn quý thầy cô, đặc biệt cảm ơn thầy giáo hướng dẫn ThS Lê Hữu Dũng tận tình bảo hướng dẫn em thực đồ án Qua em xin gửi lời cảm ơn đến anh chị em trung tâm Công nghệ Dịch vụ Trực tuyến (OTSC) giúp đỡ em thời gian qua Mặc dù có nhiều cố gắng để thực đề tài hoàn chỉnh Song hạn chế kiến thức chuyên môn kinh nghiệm thực tế vấn đề nên em tránh khỏi sai sót Em mong nhận đóng góp thầy giáo bạn để đề tài em hoàn thiện Hà Nội, tháng năm 2017 Sinh viên thực Nguyễn Mạnh Đức CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tổng quan lĩnh vực nhận dạng chữ số Tổng quan lĩnh vực nhận dạng chữ số: Ngày nay, khái niệm ảnh số trở nên thông dụng với hầu hết người xã hội việc thu nhận ảnh số để đưa vào, lưu trữ thiết bị điện tử máy tính, điện thoại, smart TV trở nên đơn giản Các lĩnh vực liên quan đến xử lý ảnh số phổ biến, sôi nổi, phát triển rộng rãi, có lĩnh vực nhận dạng chữ số Nhận dạng chữ số lĩnh vực quan tâm nghiên cứu có ứng dụng thưc tiễn năm gần Chúng ta dễ dàng nhận thấy lợi ích nhận dạng chữ số số hóa tài liệu giấy, tính tốn dựa vào tài liệu giấy, truy vấn hình ảnh (image based information retrieval ) Ở Việt Nam giới, ứng dụng xử lý nhận dạng ảnh bước đầu triển khai số lĩnh vực, mang lại hiệu ứng dụng nạp thẻ điện thoại thơng minh, ứng dụng chuyển đổi hình ảnh văn thành text Tuy nhiên số lượng ứng dụng triển khai thực tế cịn ít, lĩnh vực phát triển mạnh mẽ tương lai quan tâm cách nghiêm túc Ý tưởng đề tài nhận dạng tính tiền hóa đơn: Trong sống nay, ăn nhà hàng, chơi hay mua sắm, nhận phiếu hóa đơn tốn dài chứa danh sách ăn, dịch vụ hay đồ mua Trước tốn, ta 67 4.2 Phía server Tạo bảng procedure phục vụ cho việc giao tiếp với sở liệu Hình 4.7 Cơ sở liệu SQL Server 68 4.2.1 Kết hệ thống nhận dạng sử dụng mạng neural đa lớp SVM (Support Vector Machine) 4.2.1.1 Mạng neural đa lớp Mạng neural đa lớp (perceptron) có tổng số lớp (input, hidden, output) sử dụng phương pháp lan truyền ngược (back propagation) + Lớp input có 16 neurals tương ứng với 16 đặc trưng tách từ ảnh sử dụng kĩ thuật phân vùng (zoning) + Lớp hidden có 20 neurals + Lớp output có neurals tương ứng với bit nhị phân chữ số Mạng huấn luyện tập liệu MNIST [12] với tập huấn luyện gồm 60000 chữ số viết tay tập kiểm tra gồm 1000 chữ số viết tay Tỉ lệ nhận dạng thành công đạt 71,4% Hình 4.8 Tỉ lệ nhận dạng ANN tập liệu MNIST 69 Hình 4.9 Kết thử nghiệm liệu thực tế 4.2.1.2 Hệ thống SVM (Support Vector Machine) Kết thực hiện: Hệ thống mạng đa lớp SVM (Multi-class Support Vector Machines) sử dụng thư viện Accord [13] Aforge [14] tảng NET với tập liệu huấn luyện MNIST [12] gồm 60000 chữ số viết tay liệu kiểm tra gồm 1000 chữ số viết tay Tỉ lệ nhận dạng tập mẫu đạt 98% Hình 4.10 Tỉ lệ nhận dạng tập mẫu SVM 70 Hình 4.11 Kết thử nghiệm liệu thực tế 4.3 Phía Client Hồn thành chức chụp ảnh – cắt ảnh, chức chọn ảnh từ thư viện Hình 4.12 Menu lựa chọn chức chụp, chọn ảnh 71 Hình 4.13 Chức chụp ảnh Hình 4.14 Chức cắt ảnh 72 Hình 4.15 Chức chọn ảnh từ thư viện Hoàn thành chức tách kí tự từ ảnh Hình 4.16 Kết tách kí tự theo dịng 73 Hình 4.17 Kết tách kí tự từ dịng Hồn thành chức tính tổng tiền hóa đơn Hình 4.18 Chức tính tổng tiền hóa đơn 74 Hình 4.19 Chức sửa số tiền hóa đơn Hình 4.20 Chức xóa số tiền hóa đơn 75 Hình 4.21 Chức góp ý Hình 4.22 Chức thống kê 76 CHƯƠNG KẾT LUẬN 5.1 Kết đạt Mặc dù cịn nhiều sai sót thực hiện, nội dung sau hoàn thành so với tiến độ đề ra: - Hoàn thành tài liệu phân tích thiết kế hệ thống - Xây dựng chức tiền xử lý ảnh - Xây dựng sở liệu tầng (entity, data access, bussiness logic) phía server - Xây dựng ứng dụng tính tiền hóa đơn phía client Hệ thống tính tiền hóa đơn với trường hợp: - Hóa đơn khơng có dịng kẻ - Hóa đơn có dịng kẻ (nét liền) với điều kiện số không bị đè lên dịng kẻ - Các hóa đơn trình bày tốt: số tiền viết thẳng hàng, khoảng cách số không chênh lệch nhiều, chữ số rõ ràng - Chất lượng ảnh chụp hóa đơn tốt 5.2 Những phần chưa đạt - Tiền xử lý cần phải tốt (bổ sung kĩ thuật làm trơn ảnh, cân histogram, nắn chỉnh biến dạng) - Tách dịng tách kí tự từ dịng cịn chưa tốt, có nhiều trường hợp khơng thể tách tách khơng đủ số - Chưa tính hóa đơn: có dịng kẻ đứt, chứa dấu (phẩy, nhân, chia, …), hóa đơn quay ngang 77 5.3 Hướng phát triển - Bổ sung thêm kĩ thuật tiền xử lý để có chất lượng ảnh tốt - Cải thiện chức tách dịng tách kí tự - Xây dựng chức cho phép người dùng tùy chỉnh thông số bước tiền xử lý 78 TÀI LIỆU THAM KHẢO [1] TS Đỗ Năng Toàn; TS Phạm Việt Bình, Xử lý ảnh, Thái Nguyên: Đại học Thái Nguyên - Khoa Công nghệ Thông tin, 2007 [2] Z Ghahramani, "An Introduction to Hidden Markov Models and Bayesian Networks," University College London, London, 2001 [3] K.S Phạm Văn Khoa, T.S Lưu Văn Trường, "Mạng nơ ron nhân tạo (ANN) giới thiệu số nghiên cứu ứng dụng quản lý dự án đầu tư xây dựng," Tài kinh tế xây dựng, 2006 [4] P N V Định, "Bài giảng môn học LOGIC MỜ VÀ ỨNG DỤNG," Khoa CNTT, Học Viện NN Việt Nam [5] T Đ Phúc, Ứng dụng mạng neural nhận dạng ký tự quang học, 2008 [6] Nhận dạng ký tự số viết tay, Tạp chí Khoa học Trường Đại học Cần Thơ, 2013 [7] Nguyễn Thị Oanh, Phùng Minh Tám, “KHẢ NĂNG ỨNG DỤNG PHÂN LOẠI BỀ MẶT LỚP PHỦ BẰNG THUẬT TOÁN SUPPORT VECTOR MACHINE,” KS Trường Đại học Lâm nghiệp, 2015 [8] R D Snee, "Validation of Regression Models: Methods and Examples," 1997 [9] F v G Osuna, "Nhận diện khuôn mặt," 1997 [10] Joachims, "Phân loại văn bản," 1997 [11] N M Đức, "Tìm hiểu số kĩ thuật nhận dạng chữ số xây dựng ứng dụng thử nghiệm," Hội nghị Nghiên cứu Khoa học Sinh viên - Khoa Công nghệ Thông tin - Viện Đại học Mở Hà Nội, Hà Nội, 2017 [12] Yann LeCun, Corinna Cortes, Christopher J.C Burges, "THE MNIST DATABASE of handwritten digits," 1998 [Online] Available: http://yann.lecun.com/exdb/mnist/ 79 [13] "Accord.NET Framework," 2008 [Online] Available: http://accordframework.net/ [14] "AForge.NET Framework," 2012 [Online] Available: http://www.aforgenet.com/ [15] A H.N, "Feature Extraction Technique for Neural Network Based Pattern Recognition," University B.D.T College of Engineering, 2012 [16] OpenCV Team, "OpenCV," Open Source Computer Vision Library, 2017 [Online] Available: http://opencv.org/ 80 81

Ngày đăng: 29/08/2023, 14:28

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan