(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng

86 7 0
(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng

Đ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

(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng(Luận văn thạc sĩ) Ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng

LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tp Hồ Chí Minh, ngày … tháng … năm 2017 (Ký tên ghi rõ họ tên) Trang iii LỜI CẢM TẠ Lời em xin gửi đến Thầy, TS Nguyễn Văn Thái lời cảm ơn chân thành sâu sắc giúp đỡ Thầy Trong suốt thời gian thực luận văn, bận rộn công việc Thầy giành nhiều thời gian tâm huyết việc hướng dẫn em Thầy cung cấp cho em nhiều hiểu biết lĩnh vực em bắt đầu thực luận văn Thầy ln định hướng, góp ý, sửa chữa sai sót giúp em khơng bị lạc lối Những bảo Thầy đường, hướng đắn giúp em tự tin phát huy làm được, bổ sung thiếu sót sữa chữa sai sót để hoàn thiện đề tài Ngoài ra, em xin gửi lời cảm ơn tới thầy Ts Nguyễn Đăng Khoa giảng dạy Trường Cao đẳng Công nghệ Huế Cảm ơn thầy bỏ thời gian công sức hỗ trợ, gợi ý cho em số hướng giúp em hoàn thành đề tài Bên cạnh đó, em xin cảm ơn dạy dỗ tận tình thầy, cô khoa Điện - Điện Tử Những kiến thức mà thầy cô truyền đạt tài sản vô giá kinh nghiệm mà thầy cô bảo hành trang giúp em bước đường đời Đồng thời, cho gửi lời cảm ơn đến công ơn sinh thành dạy dỗ cha mẹ Gia đình ln nguồn động viên hỗ trộ lớn suốt thời gian thực đề tài suốt năm tháng lớn khôn Cha mẹ điểm tựa cho khó khăn động lực cho phấn đấu học tập Một lần xin gửi lời biết ơn sâu sắc đến cha mẹ Cuối cùng, xin cảm ơn giúp đỡ bạn bè Những năm tháng học tập gắn bó, hỗ trợ, động viên bạn việc học, giúp đỡ để tơi hồn thành luận văn Tp Hồ Chí Minh, tháng , năm 2017 Trang iv TĨM TẮT Việc trích xuất thơng tin từ tờ hóa đơn có vai trị quan trọng việc tiết kiệm thời gian công sức để nhập liệu Để trích xuất tờ hóa đơn ta cần thực nhiệm vụ sau: Xác định dòng tách ký tự ta sử dụng thư viện mã nguồn mở OpenCV lớp QT Creator để xử lý Đầu tiên xác định dòng ta sử dụng hàm Erode Dilate để loại bỏ nhiễu nối ký tự chung dòng lại với sau vẽ đường bao lưu địa dòng lớp QList tách rời dịng khỏi hình ảnh Kế tiếp ta tiến hành tách ký tự tương tự tách dòng ta đánh dấu ký tự cách vẽ đường thẳng màu trắng có kích thước chiều cao đường bao ký tự chỗ khơng có điểm trắng ta khơng vẽ, sau vẽ đường bao lưu lại địa ký tự lớp QList Rồi tách ký tự thay đổi kích thước hình chứa ký tự thành 80x80 pixel để tiện huấn luyện Huấn luyện liệu ta chuẩn bị tập mẫu xác định đặc trưng sử dụng giải thuật SVM kết hợp với hàm Kernel RBF để huấn luyện liệu lưu lại thành thư viện huấn luyện Sau tách ký tự có thư viện huấn luyện ta tiến hành đem ký tự nhận dạng sau lưu lại theo địa lưu từ trước vào file đạng text Sau tiến hành chuyển liệu file text sang file Exel để tiện theo dõi chỉnh sửa Độ xác nhận dạng nhận dựa việc nhận dạng với 100 mẫu nhận dạng vào khoảng 70% với dạng ký tự lên tới 80% với dạng số học Một số nguyên nhân ảnh hưởng tới độ xác: - Chưa triệt hết nhiễu trắng dẫn đễn nhận dạng sai - Số lượng mẫu huấn luyện cịn - Một số ký tự chưa tách rời hồn tồn dẫn đến nhận dạng khơng - Chưa xếp nội dung liệu vào ô Exel Trang v SUMMARY Data extraction from bills is important in saving time and effort in data entry To extract information from a bill we need to perform the following tasks: Defining lines and separating characters here we use the open source library OpenCV and QT Creator classes for processing First, determine the line we will use the Erode and Dilate functions to eliminate noise and connect one line common characters, then draw the contours and save each line address in the QList class then separate each line from the image Next, we separate the characters similar to with lines we will mark each character by drawing white lines that are the same height as the contours height At where have no white points aren’t drawn, then draw the boundary and save the address of each character in the QList class Last, separate each character and resize each image to 80x80 pixels for easy training Training data: fist, we prepare the example to train and identify features and using the SVM algorithm combined with the RBF Kernel function to train the data and store it into the training library After extracting each character and having the training library, we proceed to get the character to recognize and then save saved with address in advance to a text file Then move the data in the text file to an Exel file for easy tracking and editing Accuracy in recognition is based on identification with 100 identities up to 70% in character form and up to 80% in arithmetic form Some reasons influence accuracy: - White noise affects false identification - The number of training samples is small - Some characters are not completely separated so misidentified - Data is not correctly placed in Exel Trang vi MỤC LỤC TRANG LÝ LỊCH KHOA HỌC i LỜI CAM ĐOAN iii LỜI CẢM TẠ iv MỤC LỤC vii DANH SÁCH CÁC HÌNH x Chương 1: TỔNG QUAN 1.1 Tính cấp thiết đề tài, ý nghĩa khoa học thực tiễn đề tài 1.2 Tổng quan hướng nghiên cứu .1 1.3 Mục đích nghiên cứu đối tượng nghiên cứu đề tài 1.4 Nhiệm vụ giới hạn đề tài 1.4.1 Nhiệm vụ 1.4.2 Giới hạn đề tài 1.5 Phương pháp nghiên cứu Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Phương pháp xử lý ảnh 2.1.1 Tổng quan 2.1.2 Điểm ảnh .7 2.1.3 Độ phân giải ảnh 2.1.4 Nén ảnh 2.1.5 Trích chọn đặc điểm 2.2 Không gian màu 2.2.1 Không gian màu xám 2.2.2 Không gian màu RGB 10 Trang vii 2.2.3 Không gian màu CMYK 10 2.2.4 Không gian màu HSV 11 2.2.5 Chuyển đổi không gian màu 12 Chương 3: CÔNG CỤ .14 3.1 Mã nguồn mở thị giác máy (OpenCV – Open Source Computer Vision) 14 3.1.1 Giới thiệu 14 3.1.2 Một số phép xử lý OpenCV 14 3.2 PHẦN MỀM QT CREATOR 24 3.2.1 Giới thiệu 24 3.2.2 Các lớp QT Creator 24 3.2.3 GUI QT Creator 28 Chương 4: GIẢI THUẬT SVM (SUPPORT VECTOR MACHINES) 33 4.1 Giới thiệu .33 4.2 Ứng dụng 34 4.3 SVM tuyến tính .34 4.3.1 Biên cứng 35 4.3.2 Biên mềm 36 4.4 SVM phi tuyến 36 4.5 Tính tốn phân loại SVM 37 4.5.1 Bài toán gốc 38 4.5.2 Bài toán đối ngẫu .38 4.5.3 Thủ thuật kernel .39 4.5.4 Các phương pháp đại 39 4.6 Giảm thiểu sai số thực nghiệm 40 4.6.1 Giảm thiểu sai số 41 Trang viii 4.6.2 Chuẩn hóa ổn định .41 4.6.3 SVM lề 41 4.6.4 Hàm mục tiêu 42 4.7 Thuộc tính .43 4.7.1 Lựa chọn thông số 43 4.7.2 Các hạn chế 43 Chương 5: GIẢI THUẬT 44 5.1 Lưu đồ giải thuật .44 5.1.1 Lưu đồ giải thuật tổng quát 44 5.1.2 Lưu đồ giải thuật chương trình tách ký tự .45 5.1.3 Lưu đồ giải thuật chương trình huấn luyện 46 5.1.4 Lưu đồ giải thuật chương trình nhận dạng lưu trữ 47 5.2 Xác định dòng tách ký tự 48 5.2.1 Các bước xử lý .48 5.2.2 Xóa đường kẻ .49 5.2.3 Tách dòng ký tự 51 5.3 Huấn luyện 54 5.3.1 Tạo tập mẫu huấn luyện 54 5.3.2 Huấn luyện tạo thư viện nhận dạng 56 5.4 Nhận dạng lưu trữ .59 Chương 6: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 64 6.1 Kết 64 6.2 Hướng phát triển .65 Tài liệu tham khảo .69 Trang ix DANH SÁCH CÁC HÌNH HÌNH TRANG Hình 1.1: Sơ đồ khối hệ thống nhận dạng trích xuất thơng tin hóa đơn Hình 2.1: Khơng gian màu RGB Hình 2.2: Khơng gian màu CMYK Hình 2.3: Khơng gian màu HSV Hình 3.1: Biểu đồ histogram ảnh xám Hình 3.2: Kết sử dụng hàm intersected() hàm United() Hình 3.3: Kết trả sử dụng hàm tọa độ Hình 3.4: Giao diện chương trình Qt Creator Hình 3.5: Lựa chọn chức lập trình với GUI Hình 3.6: Giao diện project sau thiết lập Hình 3.7: Giao diện thiết kế form Hình 3.8: Form thiết kế hồn chỉnh Hình 3.9: Bảng kiện đối tượng Hình 3.10: Sơ đồ liên kết Objects, Signals Slots Hình 4.1: Siêu phẳng với biên cực đại Hình 4.2: Thủ thuật Kernel Hình 5.1: Lưu đồ giải thuật tổng quát Hình 5.2: Lưu đồ giải thuật chương trình tách ký tự Hình 5.3: Lưu đồ giải thuật chương trình huấn luyện Hình 5.4: Lưu đồ giải thuật chương trình tách ký tự Hình 5.5: Giao diện chương trình lựa chọn hình ảnh Hình 5.6: Giao diện chương trình hiển thị hình ảnh chọn Hình 5.7: Hình ảnh trước xóa đường kẻ Hình 5.8: Hình ảnh sau xóa đường kẻ Hình 5.9: Xác định dịng Hình 5.10: Dịng sau tách Hình 5.11: Xác định vị trí ký tự Hình 5.12: Vùng ký tự sau tách Hình 5.13: Giao diện chương trình tách ký tự Hình 5.14: Hình ảnh mẫu để tạo tập huấn luyện Hình 5.15: Mẫu huấn luyện cho ký tự A Hình 5.16: Giao diện nhập thông tin huấn luyện Trang x 10 11 12 18 26 27 29 29 30 30 31 31 32 35 37 44 45 46 47 48 49 50 51 52 52 53 53 54 55 55 57 Hình 5.17: Giao diện huấn luyện tạo thư viện Hình 5.18: Giao diện huấn luyện tạo thư viện Hình 5.19: Các folder chứa mẫu huấn luyện folder Training Hình 5.20: Giao diện chương trình nhận dạng ký tự Hình 5.21: Giao diện chương trình lưu trữ liệu Hình 5.22: Lựa chọn vị trí lưu trữ liệu Hình 5.23: Giao diện hệ thống mở file Exel Hình 6.1: Giao diện chương trình Hình 6.2: Kết lưu trữ thơng tin thu Hình 6.3: Sai số tồn nhiễu trắng Hình 6.4: Nhận dạng sai chưa tách hồn tồn ký tự Hình 6.5: Nhận dạng sai sai font Hình 6.6: Thử nghiệm với việc thêm số mẫu Hình 6.7: Một số liệu khơng vị trí Trang xi 58 58 59 60 61 62 63 64 65 66 66 67 67 68 Chương 1: TỔNG QUAN 1.1 Tính cấp thiết đề tài, ý nghĩa khoa học thực tiễn đề tài Nhận dạng ký tự quang học khởi nguồn từ công nghệ liên quan đến máy điện báo đời nhằm mục đích tạo máy đọc cho người mù, tức tạo cho người mù máy tính đọc văn chuyển văn thành tiếng thơng qua máy quét văn dạng phẳng tổng hợp văn thành lời nói Sau q trình phát triển công nghệ nhận dạng ký tự quang học ngày phát triển có thêm nhiều ứng dụng khác như: Nhập liệu cho tài liệu kinh doanh, nhận dạng biển số xe, tạo phiên dạng văn tài liệu in, giúp tìm kiếm thơng tin xác từ hình ảnh ví dụ tìm kiếm tài liệu có hình ảnh chứa thơng tin tài liệu đó… Việc nhập liệu thơng tin từ tờ hóa đơn có ý nghĩa giúp công ty hay doanh nghiệp nắm tình hình hoạt động cơng ty vấn đề thu, chi vấn đề khác nguyên vật liệu, nguồn vốn số lượng sản phẩm bán tồn kho Cơng việc địi hỏi thời gian lớn phải nhập thơng tin tờ hóa đơn nhập chữ từ tờ hóa đơn Để khắc phục vấn đề việc có chương trình nhận dạng ký tự trích xuất thơng tin từ tờ hóa đơn quan trọng nhanh chóng nhận dạng thơng tin tờ hóa đơn chuyển thành văn liệu người nhập liệu cần hiệu chỉnh sử dụng liệu văn giúp tiết kiệm thời gian nhập liệu Như vậy, cơng việc tiến hành nhanh chóng giúp giảm tải khối lượng công việc cho người nhập liệu 1.2 Tổng quan hướng nghiên cứu Nhận dạng ký tự quang học (Optical character recognition – OCR) dạng phần mềm máy tính tạo để nhận dạng chuyển hình ảnh chữ viết thành văn tài liệu đời đời sớm vào đầu kỷ 20 Nhận dạng ký tự quang học dạng nghiên cứu nhận dạng mẫu, trí tuệ nhân tạo thị giác máy Trang Hình 5.23: Giao diện hệ thống mở file Exel Trang 63 Chương 6: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết Đề tài thực hoàn thành nhiệm vụ đề nhận dạng trích xuất thơng tin có tờ hóa đơn lưu trữ lại dạng file Exel để dễ quản lý Hình 6.1: Giao diện chương trình Trang 64 Hình 6.2: Kết lưu trữ thông tin thu Tuy nhiên, Kết thu có độ xác chưa cao số nhiễu chưa loại bỏ hết Hiệu suất training với 100 mẫu hóa đơn đưa vào: Đối với số lượng mẫu 12 mẫu/ký tự: Độ xác nhận dạng vào khoảng 25% với ký tự 40% với số học Đối với số lượng mẫu 25 mẫu/ký tự: Độ xác nhận dạng vào khoảng 40% với ký tự 70% với số học Đối với số lượng mẫu 50 mẫu/ký tự: Độ xác nhận dạng vào khoảng 70% với ký tự 80% với số học 6.2 Hướng phát triển Đề tài hoàn thiện nhiệm vụ đưa ra, số khuyết điểm: Chưa loại bỏ hết nhiễu trắng nên kết số điểm nhận dạng sai: Trang 65 Hình 6.3: Sai số tồn nhiễu trắng Một số ký tự chưa tách rời hết nên nhận dạng kết sai: Hình 6.4: Nhận dạng sai chưa tách hồn tồn ký tự Trang 66 Như mẫu nhận dạng vị trí số 444 ta chưa tách rời ký tự nên kết nhận dạng chưa xác (nhận dạng 444  A) Hướng khắc phục xây dựng phương pháp tách ký tự hiệu Một số ký tự sai font nên kết nhận dạng sai: Ví dụ mẫu sau chữ số bị sai font (Calibri) nên kết nhận dạng sai không nhận dạng Hướng khắc phục xây dựng tập mẫu huấn luyện lớn để nhận dạng nhiều font chữ Hình 6.5: Nhận dạng sai sai font Hình 6.6: Thử nghiệm với việc thêm số mẫu Trang 67 Ngoài ra, chưa lưu liệu vào ô mong muốn file exel: Hình 6.7: Một số liệu khơng vị trí Từ tồn người nghiên cứu đưa hướng phát triển sau: - Xây dựng phương pháp xử lý, lọc nhiễu hiệu tách ký tự triệt để để nâng cao độ xác - Xây dựng tập mẫu huấn luyện lớn để đảm bảo độ xác cao - Xây dựng tập mẫu với đa dạng kiểu chữ để nhận dạng nhiều font chữ Mang lại tính ứng dụng cao thực tiễn - Nhận dạng hóa đơn với nhiều kiểu mẫu định dạng - Xây dựng từ điển để hiệu chỉnh lại kết cho từ tiếng việt tả xác định thuật toán để đưa nội dung liệu vào vị trí Exel - Có thể mở rộng ứng dụng nhiều lĩnh vực như: Nhập điểm cho học sinh sinh viên sở đào tạo, ứng dụng quản lý thuốc hiệu thuốc công ty dược - Xây dựng ứng dụng sử dụng nhiều hệ điều hành sử dụng điện thoại di động Chương trình đề tài dừng lại hệ điều hành Linux Trang 68 Tài liệu tham khảo [1] Adam Coates, Blake Carpenter, Carl Case, Sanjeev Satheesh, Bipin Suresh, Tao Wang, David J Wu, Andrew Y Ng Text Detection and Character Recognition in Scene Images with Unsupervised Feature Learning ICDAR, 2011 [2] Parthasarathi Giri Text Information Extraction And Analysis From Images Using Digital Image Processing Techniques Special Issue of International Journal on Advanced Computer Theory and Engineering (IJACTE), ISSN (Print) : 2319 – 2526, Volume-2, Issue-1, 2013, pp 66-71 [3] Chiang, Yao-Yi, and Craig A Knoblock Automatic Text Recognition from Raster Maps 2010 [4] Arwa AL-Khatatneh, Sakinah Ali Pitchay and Musab Al-qudah An Arabic Baseline Estimation Method Based on Feature Points Extraction In: Proceedings of the World Congress on Engineering 2017 [5] L Ramesh, E Dinesh Text Extraction and Recognition from Mixed Images Journal of Chemical and Pharmaceutical Sciences ISSN, 974: 2115 [6] Phan Thị Thanh Nga, Nguyễn Thị Huyền Trang, Nguyễn Văn Phúc, Thái Duy Quý, Võ Phương Bình Nhận Dạng Bìa Sách Tiếng Việt Cho Ứng Dụng Quản Lý Sách Tạp chí Khoa học Đại học Đà Lạt, 2017, 7.2: 142152 [7] Nguyễn Thanh Hải Giáo Trình Xử Lý Ảnh NXB Đại học Quốc gia, 2013 [8] Simon Tong and Daphne Koller Support vector machine active learning with applications to text classification Journal of machine learning research 2.Nov (2001): 45-66 [9] Terrence S Furey, Nello Cristianini, Nigel Duffy, David W Bednarski Michèl Schummer, David Haussler Support vector machine classification and validation of cancer tissue samples using microarray expression data Bioinformatics 16.10 (2000): 906-914 [10] Ray Rischpater Application development with qt creator Packt Publishing Ltd, 2013 [11] https://en.wikipedia.org/wiki/OpenCV [12] https://docs.opencv.org [13] https://en.wikipedia.org/wiki/Support_vector_machine [14] https://en.wikipedia.org/wiki/Tikhonov_regularization TẠP CHÍ KHOA HỌC GIÁO DỤC KỸTHUẬT ỨNG DỤNG XỬ LÝ ẢNH TRONG VIỆC NHẬN DẠNG VÀ TRÍCH XUẤT THƠNG TIN, DỮ LIỆU TRONG CÁC TỜ HÓA ĐƠN BÁN HÀNG CHARACTER RECOGNITION AND DATA EXTRACTION FROM BILLS USING DIGITAL IMAGE PROCESSING TECHNIQUES Thân Đức Trường Trường Đại học Kinh tế Kỹ thuật Bình Dương TÓM TẮT Nhận dạng ký tự quang học công nghệ thuộc lĩnh vực thị giác máy sử dụng để chuyển hình ảnh chứa ký tự thành văn tài liệu.Nhận dạng ký tự quang học giúp ta tiết kiệm nhiều thời gian công sức việc nhập liệu Cụ thể cơng việc kế tốn nhập thơng tin sản xuất kinh doanh qua tờ hóa đơn quan trọng Nên đề tài trình bày phương pháp để nhận dạng trích xuất thơng tin chứa tờ hóa đơn bán hàng lưu dạng các văn tài liệu để tiện việc theo dõi chỉnh sửa Nhiệm vụ cần thực đề tài là: Xác định dòng tách ký tự sử dụng mã nguồn mở thị giác máy (OpenCv) phần mềm Qt Creator, huấn luyện nhận dạng sử dụng giải thuật SVM, lưu trữ Từ khóa: Nhận dạng ký tự quang học, thị giác máy, OpenCV, Qt Creator, SVM ABSTRACT Optical Character Recognition is a technology of machine vision used to convert character images into text documents Optical character recognition saves a lot of time as well as effort in data entry In fact, it is very important to enter the production and business information through the invoice sheets In fact, it is very important for the accountant to import the production and business information contained in the sales bills Therefore, this project describes how to identify and extract information in sales bills and save them as documents for easy tracking and editing The tasks performed on the topic are: Defining lines and split characters using open source computer vision (OpenCV) and Qt Creator software, training and identification using SVM algorithm, store Key words: Optical Character Recognition, machine vision, OpenCV, Qt Creator, SVM I GIỚI THIỆU Tổng quan đề tài Nhằm mục đích giải phóng sức lao động giúp người kế tốn nhanh chóng dễ dàng nắm bắt thơng tin vật tư sản phẩm công ty, tiết kiệm thời gian nhập liệu từ tờ hóa đơn giúp công việc tiến hành trôi chảy thuận lợi Nên việc xây dựng chương trình nhận dạng trích xuất thơng tin hóa đơn cần thiết Nhiệm vụ đặt để thực đề tài tiến hành theo sơ đồ khối: Để thực nhiệm vụ đề ra, đề tài có tham khảo cơng trình tài liệu nghiên cứu trước như: Mã nguồn mở Tesseract tài trợ google Phương pháp học không giám sát để phát nhận dạng ký tự [1]; Phương pháp cạnh sở liên kết thành phần sở trích xuất thông tin văn [2]; Nhận dạng ký tự sử dụng đồ Raster [3]; Phương pháp điểm đặc trưng nhận dạng ký tự [4]; Phương pháp phân vùng màu sắc nhận dạng ký tự ngoại cảnh [5]; Ứng dụng mã nguồn mở Tesseract nhận dạng bìa sách [6] II GIẢI THUẬT Xác định dịng tách ký tự Để xác định dòng tách ký tự ta sử dụng phân lớp chương trình Qt Creator [9] mã nguồn mở thị giác máy (OpenCV) [10] Để bắt đầu thực ta nhập hình ảnh chứa hóa đơn cần nhận dạng sau ta thực số phép xử lý sau: - Chuyển đổi không gian màu ta chuyển đổi ảnh sang không gian màu xám để thuận tiện cho việc phân đoạn ảnh - Phân đoạn ảnh ta thực việc chuyển ảnh từ không gian màu xám sang ảnh nhị phân để đơn giản việc nhận dạng Ở ta sử dụng phương pháp lấy ngưỡng Otsu với nhị phân hóa thuận - Sau ta tiến hành loại bỏ bớt nhiễu ảnh sử dụng lọc Gaussian ❖ Xóa đường kẻ Các tờ hóa đơn thường thiết kế dạng bảng biểu nên tồn dịng kẻ khơng chứa thơng tin cần trích xuất, đó, ta tiến hành loại bỏ dịng kẻ cách tìm đường bao với hàm findcontours Sau ta tiến hành lọc đường bao cách xóa bỏ đường bao có kích thước nhỏ pixel lớn 100 pixel ❖ Tách dòng ký tự Sau loại bỏ đường kẻ ta tiến hành tách dòng ký tự Đầu tiên ta tiến hành xác định vị trí trí dòng chứa ký tự cách sử dụng phương pháp biến đổi hình thái Ta tiến hành xói mịn (Erosion) để loại bỏ bớt số nhiễu trắng sử dụng hàm enrode [11] Sau ta tiến hành giãn nở (Dilation) hình ảnh dùng hàm dilated vùng trắng liền kề liên kết với ta đánh dấu dịng có chứa ký tự Sau ta nối ký tự dịng ta tiến hành tìm đường bao Sau dùng lớp QRect QT Creator để vẽ hình chữ nhật bao quanh dịng chứa ký tự Vị trí kích thước hình chữ nhật lưu lớp QList Và để tách dịng ta tiến hành trích xuất hình ảnh theo vị trí kích thước đường bao hình chữ nhật lưu QList Việc tách ký tự, cách thức tiến hành ta tiến hành gần giống việc tách dòng Đầu tiên ta tiến hành xói mịn để tách ký tự dính hình Sau ta tiến hành tìm đường bao hình Kế tiếp ta tiến hành kẻ đường kẻ dọc có chiều cao chiều cao đường bao ký tự theo cột hình từ trái sang phải vị trí cột mà khơng có điểm trắng đường kẻ không vẽ ta tiến hành vẽ kết thúc khung hình Sau đánh dấu vị trí ký tự ta tiến hành xác lại đường bao lưu lại địa ký tự QList trích xuất ký tự thành ký tự riêng lẻ thay đổi kích thước hình thành 80x80 pixel để thuận tiện cho việc huấn luyện Sau hoàn thành việc tách ký tự frame hiển thị ảnh có đánh dấu dịng (Hình chữ nhật xanh) ký tự (Hình chữ nhật đỏ) Hình Xác định dòng ký tự Huấn luyện ❖ Tạo tập mẫu huấn luyện Chuẩn bị số mẫu ký tự in sẵn chứa ký tự cần thiết để huấn luyện Sau đó, sử dụng chương trình tách ký tự hoàn thành tiến hành tách riêng ký tự sau lưu ký tự vào thư mục riêng với tên thư mục tương ứng mã Unicode ký tự Tất thư mục chứa ký tự lưu thư mục training Lưu ý, ký tự phải có số lượng mẫu Yêu cầu tập mẫu: Ngõ vào gồm 135 ngõ gồm 93 ký tự, 10 chữ số 32 ký hiệu ký tự đặc biệt Và mẫu tách chương trình tách ký tự ❖ Huấn luyện tạo thư viện nhận dạng Ta dùng giải thuật SVM (Support Vector Machines)[7][8] để huấn luyện mẫu tạo thư viện nhận dạng Đầu tiên ta xác định số đặc trưng mẫu Với mẫu huấn luyện đưa vào ảnh 80x80 pixel Ta chia ảnh thành 64 phần phần ảnh nhỏ có kích thước 10x10 Sau ta tính tỷ lệ điểm trắng điểm đen ảnh nhỏ so với ảnh gốc kết lưu vào vector với chiều chứa kết tỷ lệ tính Ta tạo nhiều đặc trưng khác theo hàng, cột, đường chéo số quy luật ngẫu nhiên khác Sau có đặc trưng ta tiến hành huấn luyện Ta tiến hành chọn thông số huấn luyện: Params.svm_type: Với thông số ta chọn dạng SVM Trong đề tài người nghiên cứu lựa chọn dạng SVC (Support Vector Clustering) dạng SVM xây dựng dựa hàm Kernel phù hợp với việc học không giám sát Params.kernel_type: Với thông số ta chọn hàm Kernel Chọn hàm sở radial (RBF - Radial Basis Function) Params.gamma params.C: Là thông số SVM phi tuyến hết hợp với hàm kernel RBF xác định thông qua hàm RandomizedSearchCV() với phân bố mẫu cho trước Sau thiết lập thông số ta nhập số lượng ngõ vào số mẫu huấn luyện cho ngõ vào Lưu ý với số lượng mẫu huấn luyện cho ngõ vào phải Sau ta tiến hành huấn luyện cách sử dụng hàm: svm.train_auto() Sau huấn luyện xong liệu lưu lại sử dụng thư viện nhận dạng Ta cần nhập thông tin cần thiết như: Số lượng ký tự ngõ vào (Num Characters), số lượng mẫu ngõ vào (Num Samples), chọn thư mục chứa tập huấn luyện (Folder to learning), vị trí lưu thư viện huấn luyện (Path name lib) ❖ Nhận dạng lưu trữ Ta truy xuất hình ảnh chứa ký tự tách trước theo số nội dung lưu lớp Qlist Sau ta tiến hành lấy ký tự nhận dạng Để nhận dạng ký tự việc ta tính tốn lại đặc trưng ảnh chứa ký tự cần nhận dạng theo cách tính đặc trưng mẫu huấn luyện Sau sử dụng hàm svm.predict() để kiểm chứng tương đồng ký tự cần nhận dạng Hàm svm.predict() truy nhập tới folder “Training” chứa mẫu huấn luyện tiến hành so sánh tương đồng ký tự với mẫu huấn luyện ta chuẩn bị sẵn Từng mẫu huấn luyện lưu riêng từ folder phụ với tên bắt đầu mã Unicode ký tự mẫu Ví dụ: với mẫu huấn luyện cho ký tự “A” lưu folder có tên “65_A” đó, “65” mã unicode ký tự “A” Tương tự cho mẫu huấn luyện khác Hình 2: Thư mục chứa tập mẫu Sau xác định ký tự cần nhận dạng có độ tương đồng cao với mẫu hàm svm.predict() trả kết tên folder chứa mẫu huấn luyện Việc ta tiến hành tách phần số tên folder ta có mã Unicode ký tự nhận dạng Khi có mã Unicode ta tiến hành việc chuyển đổi từ Unicode sang ký tự lưu lại dạng text file có tên “Ocr.txt” Để lưu trữ thơng tin tờ hóa đơn vào file Exel Đầu tiên chương trình mở workbook với số lượng hàng cột để lưu trữ thơng tin Sau đó, ta tiến hành lưu ký tự từ file text thu sau q trình nhận dạng vào workbook Sau lưu hoàn tất ta lưu workbook theo định dạng Exel (*.xls) đóng workbook kết thúc chương trình Khi mở file Exel lần hệ thống xuất hộp thoại để ta lụa chọn số thông tin hiển thị ký tự file Ở đây, ta cần lưu ý tới hai mục : Character set: định dạng ký tự ngõ vào Do liệu ta xử lý theo dạng Unicode (UTF8) nên ta chọn thẻ Character set Unicode (UTF-8) Separated by: Ở cho phép ta lựa chọn phương thức tách đoạn văn Ta chọn Tab để đoạn văn đặt ô III KẾT QUẢ Đề tài thực hoàn thành nhiệm vụ đề xây dựng chương trình có khả nhận dạng trích xuất thơng tin có tờ hóa đơn lưu trữ lại dạng file Exel để dễ quản lý Tuy nhiên, Kết thu có độ xác chưa cao số nhiễu chưa loại bỏ hết Hiệu suất training với 100 mẫu hóa đơn đưa vào: Đối với số lượng mẫu 12 mẫu/ký tự: Độ xác nhận dạng vào khoảng 25% với ký tự 40% với số học Đối với số lượng mẫu 25 mẫu/ký tự: Độ xác nhận dạng vào khoảng 40% với ký tự 70% với số học Đối với số lượng mẫu 50 mẫu/ký tự: Độ xác nhận dạng vào khoảng 70% với ký tự 80% với số học IV THẢO LUẬN Đề tài hoàn thiện nhiệm vụ đưa ra, số khuyết điểm: - Chưa loại bỏ hết nhiễu trắng nên kết số điểm nhận dạng sai - Một số ký tự chưa tách rời hết nên nhận dạng kết sai - Một số ký tự sai font nên kết nhận dạng sai: Ví dụ mẫu sau chữ số bị sai font (Calibri) nên kết nhận dạng sai không nhận dạng Hướng khắc phục xây dựng tập mẫu huấn luyện lớn để nhận dạng nhiều font chữ - Ngoài ra, chưa lưu liệu vào ô mong muốn file exel Từ tồn người nghiên cứu đưa hướng phát triển sau: - Xây dựng phương pháp xử lý, lọc nhiễu hiệu tách ký tự triệt để để nâng cao độ xác - Xây dựng tập mẫu huấn luyện lớn để đảm bảo độ xác cao - Xây dựng tập mẫu với đa dạng kiểu chữ để nhận dạng nhiều font chữ Mang lại tính ứng dụng cao thực tiễn - Nhận dạng hóa đơn với nhiều kiểu mẫu định dạng - Xây dựng từ điển để hiệu chỉnh lại kết cho từ tiếng việt tả xác định thuật toán để đưa nội dung liệu vào vị trí Exel - Có thể mở rộng ứng dụng nhiều lĩnh vực như: Nhập điểm cho học sinh sinh viên sở đào tạo, ứng dụng quản lý thuốc hiệu thuốc công ty dược - Xây dựng ứng dụng sử dụng nhiều hệ điều hành sử dụng điện thoại di động Chương trình đề tài dừng lại hệ điều hành Linux TÀI LIỆU THAM KHẢO [1] Adam Coates, Blake Carpenter, Carl Case, Sanjeev Satheesh, Bipin Suresh, Tao Wang, David J Wu, Andrew Y Ng Text Detection and Character Recognition in Scene Images with Unsupervised Feature Learning ICDAR, 2011 [2] Parthasarathi Giri Text Information Extraction And Analysis From Images Using Digital Image Processing Techniques Special Issue of International Journal on Advanced Computer Theory and Engineering (IJACTE), ISSN (Print) : 2319 – 2526, Volume-2, Issue-1, 2013, pp 66-71 [3] Chiang, Yao-Yi, and Craig A Knoblock Automatic Text Recognition from Raster Maps 2010 [4] Arwa AL-Khatatneh, Sakinah Ali Pitchay and Musab Al-qudah An Arabic Baseline Estimation Method Based on Feature Points Extraction In: Proceedings of the World Congress on Engineering 2017 [5] L Ramesh, E Dinesh Text Extraction and Recognition from Mixed Images Journal of Chemical and Pharmaceutical Sciences ISSN, 974: 2115 [6] Phan Thị Thanh Nga, Nguyễn Thị Huyền Trang, Nguyễn Văn Phúc, Thái Duy Quý, Võ Phương Bình Nhận Dạng Bìa Sách Tiếng Việt Cho Ứng Dụng Quản Lý Sách Tạp chí Khoa học Đại học Đà Lạt, 2017, 7.2: 142-152 [7] Simon Tong and Daphne Koller Support vector machine active learning with applications to text classification Journal of machine learning research 2.Nov (2001): 45-66 [8] Terrence S Furey, Nello Cristianini, Nigel Duffy, David W Bednarski Michèl Schummer, David Haussler Support vector machine classification and validation of cancer tissue samples using microarray expression data Bioinformatics 16.10 (2000): 906-914 [9] Ray Rischpater Application development with qt creator Packt Publishing Ltd, 2013 [10] https://en.wikipedia.org/wiki/OpenCV [11] https://docs.opencv.org Thông tin liên hệ tác giả chính: Họ tên: Thân Đức Trường Đơn Vị: Trường Đại học Kinh tế Kỹ thuật Bình Dương Điện thoại: 0978001967 Email:Thanductruong@gmail.com S K L 0 ... người nghiên cứu lựa chọn đề tài ? ?ỨNG DỤNG XỬ LÝ ẢNH TRONG VIỆC NHẬN DẠNG VÀ TRÍCH XUẤT THƠNG TIN, DỮ LIỆU TRONG CÁC TỜ HÓA ĐƠN BÁN HÀNG” làm đề tài tốt nghiệp thạc sĩ chuyên ngành Kỹ thuật Điện... tượng xử lý ảnh ảnh chụp tự nhiên Quá trình xử lý ảnh hiểu xử lý nội dung thông qua liệu ảnh, qua nâng cao chất lượng ảnhhiển thị hay đạt yêu cầu cảm quan Ảnh thông thường hiểu liệu mặt phẳng ảnh, ... trích xuất thơng tin từ tờ hóa đơn quan trọng nhanh chóng nhận dạng thơng tin tờ hóa đơn chuyển thành văn liệu người nhập liệu cần hiệu chỉnh sử dụng liệu văn giúp tiết kiệm thời gian nhập liệu

Ngày đăng: 09/12/2022, 11:56

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

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

Tài liệu liên quan