Chương 1: TỔNG QUAN 1.1 Tính cấp thiết của đề tài, ý nghĩa khoa học và thực tiễn của đề tài Nhận dạng ký tự quang học được khởi nguồn từ các công nghệ liên quan đến máy điện báo và được ra đời nhằm mục đích tạo ra một máy đọc cho người mù, tức là sẽ tạo ra cho người mù một máy tính đọc văn bản và chuyển văn bản đó thành tiếng thông qua một máy quét văn bản dạng phẳng và một bộ tổng hợp văn bản thành lời nói. Sau một quá trình phát triển công nghệ nhận dạng ký tự quang học ngày càng phát triển và có thêm nhiều ứng dụng khác như: Nhập dữ liệu cho các tài liệu kinh doanh, nhận dạng biển số xe, tạo ra các phiên bản dưới dạng văn bản của một tài liệu in, giúp tìm kiếm thông tin chính xác hơn từ một hình ảnh ví dụ như tìm kiếm tài liệu khi có hình ảnh chứa thông tin tài liệu đó…. Việc nhập dữ liệu thông tin từ các tờ hóa đơn có ý nghĩa giúp một công ty hay một doanh nghiệp nắm được tình hình hoạt động của công ty về vấn đề thu, chi và những vấn đề khác như nguyên vật liệu, nguồn vốn cũng như số lượng sản phẩm đã được bán ra và còn tồn kho như thế nào. Công việc này đòi hỏi thời gian rất lớn khi phải nhập thông tin từng tờ hóa đơn cũng như nhập từng chữ từng từ trên những tờ hóa đơn.
Để khắc phục vấn đề này thì việc có một chương trình có thể nhận dạng ký tự và trích xuất thông tin từ những tờ hóa đơn là rất quan trọng nó có thể nhanh chóng nhận dạng được thông tin trong tờ hóa đơn và chuyển nó thành một văn bản dữ liệu người nhập liệu chỉ cần hiệu chỉnh và sử dụng dữ liệu trong văn bản đó giúp tiết kiệm thời gian nhập liệu. Như vậy, công việc sẽ tiến hành nhanh chóng và 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 về hướng nghiên cứu Nhận dạng ký tự quang học (Optical character recognition – OCR) là một dạng phần mềm máy tính được tạo ra để nhận dạng và chuyển các hình ảnh chữ viết thành các văn bản tài liệu được ra đời được ra đời khá sớm vào đầu thế kỷ 20. Nhận dạng ký tự quang học cũng là một dạng nghiên cứu trong nhận dạng mẫu, trí tuệ nhân tạo và thị giác máy. Trang 1 Ngày nay đã có rất nhiều công trình nghiên cứu về nhận dạng ký tự trong đó tiêu biểu là mã nguồn mở Tesseract.
Đây là một mã nguồn mở trong lĩnh vực nhận dạng ký tự quang học được Google tài trợ. Ngày nay, mã nguồn mở Tesseract có khả năng nhận dạng được ký tự với 108 ngôn ngữ khác nhau trên thế giới với độ chính xác lên tới trên 90% với tùy từng ngôn ngữ. Trong bài báo “Text Detection and Character Recognition in Scene Images with Unsupervised Feature Learning” của nhóm tác giả Adam Coates, Blake Carpenter, Carl Case, Sanjeev Satheesh, Bipin Suresh, Tao Wang, David J. Ng thuộc Khoa Khoa học Máy tính của Trường Đại học Stanford ở Mỹ đã trình bày về việc xác định và nhận dạng ký tự trong những bức ảnh ngoại cảnh với phương pháp học không giám sát với độ chính xác lên tới 85,5%.[1] Trong bài báo “Text Information Extraction And Analysis From Images Using Digital Image Processing Techniques” của tác giả Partha Sarathi Giri của Khoa Điện tử và Truyền thông, M.S, Balasore, Odisha đã trình bày thuật toán phân tích và trích xuất ký tự từ hình ảnh sử dụng kỹ thuật xử lý ảnh số với hai phương pháp được đề xuất để trích xuất văn bản từ hình ảnh là phương pháp cạnh cơ sở và phương pháp liên kết các thành phần cơ sở.[2] Với bài báo “Automatic Text Recognition From Raster Maps” của tác giả Yao- Yi Chiang và Craig A.
Knoblock đến từ trường Đại học Nam California trình bày về phương pháp nhận dạng ký tự trên bản đồ Raster với những ký tự khác nhau về kích cỡ và phương hướng dòng với kỹ thuật xác định nhãn cho các đoạn ký tự, sau đó xoay luân phiên các nhãn ký tự theo chiều kim đồng hồ và ngược chiều kim đồng hồ cho đến khi nhận được chiều đúng, rồi tiến hành nhận dạng ký tự, Nhiệm vụ nhận dạng ký tự trong bài báo sử dụng phần mềm ABBYY FineReader 10.[3] Trong bài báo “An Arabic Baseline Estimation Method Based on Feature Points Extraction” của nhóm tác giả Arwa AL-Khatatneh, Sakinah Ali Pitchay and Musab Al-qudah có đưa ra một phương pháp tiền xử lý cho việc nhận dạng ký tự thông qua việc phân tích và trích xuất các điểm đặc trưng của các đoạn ký tự.[4] Trong bài báo “ Text Extraction and Recognition from Mixed Images” của nhóm tác giả L. Dinesh có đưa ra phương pháp phân vùng các vùng Trang 2 màu tương đương và chia làm 3 cụm là cụm chưa thông tin, cụm nền và cụm nhiễu sau đó tiến hành ghép nối các cụm bằng các kỹ thuật ghép nối phần tử. Về kết quả nhận dạng đem lại kết quả tốt tuy nhiên trong một số hình ảnh có nền phức tạp thì xuất hiện một số lỗi.[5] Trong bài báo “Nhận Dạng Bìa Sách Tiếng Việt Cho ứng Dụng Quản Lý Sách” của nhóm tác giả 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 trình bày về phương pháp nhận dạng bìa sách tiếng việt, ở đây nhóm tác giả sử dụng mã nguồn mở Tesseract cho việc nhận dạng ký tự và độ chính xác vào khoảng 80%.3 Mục đích nghiên cứu và đối tượng nghiên cứu của đề tài Với tính cấp thiết của đề tài như trên thì 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ử của mình. Với mục đích nghiên cứu là có thể xây dựng được một chương trình có thể nhận dạng và trích xuất được thông tin trong các tờ hóa đơn bán hàng, người nghiên cứu hi vọng đề tài của mình sẽ đóng góp được một phần nhỏ kiến thức cho việc phát triển lĩnh vực thị giác ở Việt Nam trong tương lai.
Người nghiên cứu xác định đối tượng nghiên cứu của mình là xây dựng chương trình nhận dạng và trích xuất.4 Nhiệm vụ và giới hạn của đề tài 1.1 Nhiệm vụ Để nhận dạng và trích xuất được thông tin trong một tờ hóa đơn bán hàng đề tài cần thực hiện những nhiệm vụ: Xác định dòng và tách ký tự, huấn luyện nhận dạng và lưu trữ ký tự. Trong đó: Nhiệm vụ xác định dòng và tách ký tự: Cho ta biết được vị trí các dòng có thể chứa ký tự, sau đó tiến hành phân tách ra thành từng ký tự độc lập để tiến hành nhận dạng. Ta sử dụng thư viện mã nguồn mở thị giác máy OpenCV và một số phân lớp của phần mềm lập trình QT Creator dựa trên nền tảng C++ cho việc giải quyết nhiệm vụ này. Trang 3 Nhiệm vụ huấn luyện dữ liệu: Tạo tập mẫu ký tự, sau đó từ tập mẫu tiến hành huấn luyện để có được một thư viện ký tự nhận dạng dựa trên giải thuật SVM (Support Vector Machines).
Nhiệm vụ nhận dạng và lưu trữ: Đây là nhiệm vụ cuối cùng sau khi ta tách được từng ký tự và đã có thư viện huấn luyện ta tiến hành nhận dạng ký tự. Để nhận dạng ký tự ta tiến hành so sánh những ký tự ta mới tách được từ nhiệm vụ trên với thư viện nhận dạng đã huấn luyện để có thể nhận dạng được ký tự. ta nhận dạng ký tự ta tiến hành lưu trữ ký tự lại theo địa chỉ đã được xác định trong nhiệm vụ đầu tiên. Và dữ liệu sẽ được lưu trữ dưới dạng file Exel.
Ta sử dụng các phân lớp của phần mềm lập trình QT Creator để giải quyết nhiệm vụ này.1: Sơ đồ khối hệ thống nhận dạng và trích xuất thông tin hóa đơn 1.2 Giới hạn đề tài - Đề tài thực hiện nhận dạng và trích xuất thông tin từ mẫu hóa đơn được đánh máy bằng chữ in hoa font chữ Arial cỡ chữ từ 12 tới 16. - Các mẫu hóa đơn không có Merge dòng, hình ảnh hóa đơn được chụp có độ rõ nét, không quá mờ, không nghiêng.5 Phương pháp nghiên cứu Trong quá trình nghiên cứu, người nghiên cứu sử dụng các phương pháp sau: - Phương pháp phân tích và tổng hợp lý thuyết: được sử dụng trong quá trình nghiên cứu lý thuyết được trình bày trong phần cơ sở lý thuyết. - Phương pháp phân loại và hệ thống hóa lý thuyết: được dùng trong quá trình tham khảo các bài báo khoa học trong nước và quốc tế. Trang 4 - Phương pháp mô hình hóa: được dùng trong quá trình xây dựng nên sơ đồ khối của hệ thống đề tài.
- Phương pháp quan sát khoa học: được dùng nhiều khi tiến hành thực nghiệm. - Phương pháp thực nghiệm khoa học: được sử dụng trong quá trình tiến hành thực nghiệm đề tài. - Phương pháp phân tích tổng kết kinh nghiệm: được thực hiện trong quá trình kiểm tra và đánh giá dữ liệu thu được từ kết quả thực nghiệm. Trang 5 Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Phương pháp xử lý ảnh.
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó. Xử lý ảnh là một quá trình liên tục. Đầu tiên là thu nhận ảnh từ camera, vệ tinh hay các bộ cảm ứng,… Tiếp theo tín hiệu lấy vào sẽ được số hóa thành tín hiệu số và chuyển qua giai đoạn xử lý, phân tích hay lưu trữ lại.
Việc xử lý ảnh chính là tăng cường ảnh, tức là làm cho ảnh trở nên đẹp hơn, tốt hơn và rõ hơn. Ảnh có thể được hiểu là thông tin (về đường nét, hình khối, màu sắc…) của vật thể hay quang cảnh được chiếu sáng mà con người cảm nhận và quan sát được bằng mắt và hệ thống thần kinh thị giác. Đối tượng chính của xử lý ảnh chính là ảnh chụp tự nhiên. Quá trình xử lý ảnh được hiểu là xử lý nội dung thông qua dữ liệu ảnh, qua đó nâng cao chất lượng ảnhhiển thị hay đạt được một yêu cầu cảm quan nào đó.
Ảnh thông thường được hiểu là dữ liệu trên một mặt phẳng ảnh, ta còn gọi là ảnh đơn (Image), hay ảnh tĩnh.