1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Nghiên cứu và triển khai ứng dụng trích xuất thông tin từ hóa đơn thanh toán (Research and deployment of an application for extracting information from payment invoices)

67 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Nghiên cứu và triển khai ứng dụng trích xuất thông tin từ hóa đơn thanh toán
Tác giả Péc Sồi Chanh
Người hướng dẫn TS. Phan Xuân Thiện
Trường học Trường Đại học Công nghệ Thông tin, ĐHQG TP.HCM
Chuyên ngành Khoa học Máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 67
Dung lượng 27,9 MB

Nội dung

Luận văn này nghiên cứu và triển khai hệ thống trích xuất thông tin từ hìnhảnh hóa đơn thanh toán, kết hợp các công nghệ bao gồm mô hình máy học YOLO,công nghệ nhận dạng ký tự quang học

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

#&›*Q@§

PÓC SÒI CHANH

NGHIÊN CỨU VÀ TRIEN KHAI UNG DỤNG TRÍCH XUÁT

THÔNG TIN TỪ HÓA ĐƠN THANH TOÁN

RESEARCH AND DEPLOYMENT OF AN APPLICATION FOREXTRACTING INFORMATION FROM PAYMENT INVOICES

LUẬN VĂN THẠC SĨ NGÀNH KHOA HỌC MÁY TÍNH

Mã số: 8.48.01.01

GIẢNG VIÊN HƯỚNG DAN:

TS Phan Xuân Thiện

TP HO CHÍ MINH, 2024

Trang 2

Trước hết, tôi muốn gửi lời cảm ơn chân thành đến tiến sĩ Phan Xuân Thiện, người

hướng dẫn và hỗ trợ tôi không mệt mỏi trong quá trình thực hiện luận văn này Sự

kiên nhẫn, hiểu biết sâu sắc và tỉnh thần tận tâm, thầy đã giúp tôi không chỉ hoàn

thành công trình này mà còn giúp tôi học được nhiều điều trong quá trình nghiên cứu.Tôi cảm ơn các thành viên hội đồng chuyên môn, quý thầy cô đã dành thời gian quýgiá đọc và đánh giá luận văn của tôi, cũng như đã cung cấp những phản hồi và gợi ýquan trọng để tôi cải thiện luận văn của mình

Tôi cũng xin cảm ơn các thầy cô giảng viên bộ môn, đã truyền đạt cho tôi các kiến

thức và bài học quý giá liên quan tới nghiên cứu và làm việc khoa học Sự nhiệt tình,

tận tâm của các thầy cô đã góp phần giúp đỡ tôi trong việc hình thành và phát triển

luận văn của mình.

Lời cảm ơn dành đến thầy cô công tác tại Phòng Đào Tạo, những người đã không

ngừng nỗ lực hỗ trợ, giải đáp thắc mắc cho các học viên trong suốt quá trình học tập

tại trường Sự giúp đỡ tận tình và kịp thời của quý thầy cô góp ích cho tôi trong nhiều

tình huống.

nghệ Thông tin, ĐHQG TP.HCM; đã hỗ trợ, đồng hành cùng tôi trong suốt thời giannày và còn là nguồn cảm hứng và sự ủng hộ tỉnh thần to lớn cho tôi

Tôi xin cảm ơn đến gia đình tôi, những thành viên trong gia đình đã luôn ủng hộ tôi

không chi trong suôt thời gian tôi học tập, mà trong cả cuộc đời tôi Lòng yêu thương

và sự kiên nhẫn là động lực không thê thiêu cho mọi thành công của tôi.

Cuối cùng, lời cảm ơn trân thành đến mọi người đã giúp đỡ tôi, không chỉ là trong

quá trình hoàn thành luận văn này mà còn trong hành trình học vân của mình.

Trang 3

Tôi xin cam đoan đề tài “NGHIÊN CỨU VÀ TRIÊN KHAI ỨNG DỤNG TRÍCHXUẤT THÔNG TIN TỪ HÓA ĐƠN THANH TOÁN” được thực hiện độc lập dưới

sự hướng dẫn của Thầy Phan Xuân Thiện, giảng viên tại Trường Đại học Công nghệ

Thông tin, ĐHQG TP.HCM Các kết quả và số liệu trong báo cáo là trung thực Vìvậy, tôi xin hoàn toàn chịu trách nhiệm về các công trình nghiên cứu của mình

TP HCM, ngày 10 tháng 05 năm 2024

Học viên thực hiện

LA

Péc Sồi Chanh

Trang 4

DANH MỤC CÁC CHỮ VIET TAT

DANH MỤC CÁC HÌNH ẢNH

DANH MỤC CÁC BẢNG

TOM TAT LUẬN VAN

Chuong 1 TONG QUAN

1.5 Ý nghĩa của dé tài

Chương 2 CÁC NGHIÊN CỨU VÀ CÔNG NGHỆ LIÊN QUAN

2.1 Xu hướng và các công nghệ nghiên cứu trên thế giới

2.2 Xu hướng và các công nghệ nghiên cứu tại Việt Nam

2.3 Cơ sở lý thuyết và hướng tiếp cận đề tai

2.3.1 Cơ sở lý thuyết

2.3.2 Hướng tiếp cận đề tài

Chương 3 PHAN TÍCH VA THIET KE HE THONG

3.1 Thiết kế hệ thống tổng quan

Trang 5

3.2.1 Giao diện người dùng

Chương 5 KET QUÁ THỰC NGHIEM VÀ ĐÁNH GIÁ

5.1 Đánh giá độ chính xác và hiệu quả mô hình máy học

5.1.1 Lý thuyết phép đo đánh giá mô hình

5.1⁄2 Đánh giá kết quả

5.2 Đánh giá kết qua của ứng dụng

5.2.1 Kết quả thu được

5.2.2 Ý nghĩa thực tiễn

Chương 6 KET LUẬN VA HƯỚNG PHÁT TRIEN TƯƠNG LAI

6.1 Kếtluận

6.1.1 Kết quả đạt được

6.1.2 Một số khó khan, hạn chế của dé tài

6.2 Hướng phát triển tương lai

TÀI LIỆU THAM KHẢO

Trang 6

OCR Optical Character Recognition

R-CNN Region-Based Convolutional Neural Network

YOLO 'You Only Look Once

YOLOv8 You Only Look Once Version 8

ROI Region of Interest

PHP Hypertext Preprocessor

HTTP HyperText Transfer Protocol

CSRF Cross-Site Request Forgery

ORM Object-Relational Mapping

SQL Structured Query Language

HTML HyperText Markup Language

SROIE Scanned Receipts OCR and Information Extraction

Al Artificial Intelligence

npm Node Package Manager

pip Pip Installs Packages

CSS Cascading Style Sheets

MVC Model-View-Controller

API Application Programming Interface

OpenCV Open Source Computer Vision Library

Trang 7

Hình 4.10 Thông tin các bảng cơ sở dữ liệu.

Hình 4.11 Biểu đồ chỉ tiết các bảng trong cơ sở dữ liệu

Hình 4.12 Trang hiển thị đăng nhập hoặc đăng ký

Hình 4.13 Trang chủ giao diện người dùng

Hình 4.14 Quá trình xử lý hình ảnh hóa đơn

Hình 4.15 Trích xuất thông tin khi nhận dạng thành công

Hình 4.16 Thông tin hóa đơn sau khi được trích xuất thành công

Hình 4.17 Thông báo lỗi khi loại hóa đơn không được hỗ trợ

Hình 4.18 Danh sách hóa đơn

Hình 4.19 Thông tin chỉ tiết hóa đơn

Hình 4.20 Trang chỉnh sửa thông tin hóa đơn

Hình 4.21 Hình ảnh thông báo xác nhận khi xóa hóa đơn

Hình 4.22 Bảng danh sách hóa đơn

Hình 4.23 Bảng danh sách các mặt hàng trong hóa đơn

Kiến trúc hệ thống của YOLOv8

Hình ảnh kiến trúc của Tesseract OCR

Kiến trúc mô hình Laravel MVC

Tương quan giữa bảng “bill_items” va “bill” 2

Quy trình xử lý của ứng dung .34

Ludng xử lý trích xuất thông tin 5

Định dạng nhãn ban đầu 37

Định dạng nhãn sau khi chuyên đôi sang định dạng YOLO .37

Định dạng nhãn sau khi chuyển đôi sang định dạng YOLO .38Anh mẫu hóa đơn mục tiêu dùng cho triển khai ứng dung

Kết quả YOLOv§ với ác phiên bản trước đó

Hình ảnh giao diện của trang chủ

Các Controller của ứng dụng

Xử lý yêu cầu và định tuyến Controller tương ứng

Các migrations khởi tạo cơ sở dữ liệu

Trang 8

Hình 5.3 Đường cong Precision-Recall

Hình 5.4 Kết quả thực nghiệm trên các phiên bản từ YOLOv5 đến YOLOv8 55Hình 5.5 Kết qua học chuyền tiếp

Hình 5.6 Kết quả sau khi huấn luyện mô hình trên tập dự liệu

Hình 5.7 Kết quả học chuyển tiếp với tập hóa đơn mục tiêu

Hình 5.8 Kết quả sau khi huấn luyện với tập hóa đơn mục tiêu

Hình 5.9 Kết quả Tóm tắt mô hình (hợp nhất)

Hình 5.10 Thông tin hóa đơn được trích xuất và xử lý thành công

Hình 5.11 Chỉnh sửa ngay sau khi xử lý hóa đơn

Hình 5.12 Nội dung hóa don trong tệp Excel xuất từ ứng dụng

Hình 5.13 Nội dung chỉ tiết háo đơn trong tệp Excel xuất từ ứng dụng

DANH MỤC CÁC BẢNG

Bảng 3.1 Bảng “bill_items” lưu trữ mặt hàng trong mỗi hóa đơn .

Bang 3.2 Bang “bills” thông tin về các hóa đơn

Bang 3.3 Bảng người dùng của hệ thống

Bảng 3.6 Bảng “sessions” lưu trữ phiên làm việc của người dùng.

Bang 3.7 Bảng “password_ resets” lưu trữ các yêu cầu đặt lại mật khẩu

Bảng 5.1 Kết quả thực nghiệm trên các phiên bản từ YOLOv5 đến YOLOv§ 55Bang 5.2 So sánh kết quả mô hình đạt được

Trang 9

Luận văn này nghiên cứu và triển khai hệ thống trích xuất thông tin từ hìnhảnh hóa đơn thanh toán, kết hợp các công nghệ bao gồm mô hình máy học YOLO,

công nghệ nhận dạng ký tự quang học Tesseract OCR và hiện thực ứng dụng Quá

trình nghiên cứu gồm có chuẩn bị, xử lý dữ liệu từ tập SROIE, tìm hiểu các mô hìnhmáy học YOLO gần đây từ phiên bản YOLOv5 đến YOLOv§ dé và tiến hành thựcnghiệm với mục tiêu xác định mô hình phù hợp nhất cho phát hiện đối tượng trên hóađơn thanh toán Sau đó, kết hợp mô hình YOLO đã được lựa chọn với Tesseract OCR

để trích xuất chính xác các thông tin từ những vùng thông tin (ROI) đã phát hiện Hệthống được triển khai qua một ứng dụng web, cho phép xử lý ảnh hóa đơn thanh toán

và nhận thông tin được kết quả trích xuất một cách nhanh chóng, chính xác Kết quả

cho thấy sự kết hợp YOLO và Tesseract OCR không những tăng cường độ chính xác

một cách rõ rệt, mà còn đóng góp vào việc tối ưu hóa xử lý trên hình ảnh hóa đơn cócầu trúc phức tạp, hướng tới phát triển các hệ thống trí tuệ nhân tạo linh hoạt hơntrong tương lai Từ đó, dé ra hướng tiếp cận mới có thé tham khảo trong việc áp dụngtrí tuệ nhân tạo vào lĩnh vực xử lý hóa đơn, các giải pháp hiệu quả nâng cao năng suất

và hiệu quả trong công việc.

Trang 10

lượng cuộc sống Hơn một thập kỷ nay, việc chuyển đổi số vẫn đã và đang là vấn đề

được chú ý Trong lĩnh vực tiêu dùng, phải nói tới việc thu thập, xử lý và số hóa các

đữ liệu thu thập được liên quan tới nội dung hàng hóa nhằm nắm bắt nhu cầu của thịtrường vẫn đang là nhu cầu cấp thiết Điều này giúp cá nhân, doanh nghiệp tham khảo

trong việc đưa ra các tính toán và nghiên cứu thị trường Tuy nhiên, việc xử lý thủ

công hóa don là một quá trình tốn kém và mắt thời gian Trích xuất thông tin từ hóađơn thanh toán gặp phải một số thách thức về yêu cầu việc xử lý lượng lớn dữ liệu ở

dạng không cấu trúc, đa dạng về hình thức cũng như định dạng Đây chính là bài toán

cần giải quyết mà luận văn này hướng tới

Các giải pháp rút trích dữ liệu từ hình ảnh của hóa đơn đã được nghiên cứu và

phát triển đáng kể nhưng song song đó vẫn còn tồn đọng nhiều vấn đề, trong đó phảinói tới việc xác định và rút trích chính xác thông tin cụ thể từ nhiều loại hóa đơn khácnhau, với độ phức tạp và định dạng khác nhau Các thách thức chính gồm đảm bảo

độ chính xác và khả năng đáp ứng linh hoạt với nhiều loại hóa đơn

Đề xuất phương pháp vận dụng các mô hình máy học, công nghệ liên quan để

nâng cao khả năng rút trích thông tin Mô hình máy học, đặc biệt là mô hình phát hiện

đối tượng như YOLO và công cụ nhận dạng ký tự quang học (OCR) như Tesseract,

hứa hẹn mang lại giải pháp linh hoạt cho bài toán này.

Trang 11

1.2 Mục tiêu đề tài

1.2.1 Mục tiêu tổng quan

Thực hiện tìm hiểu, nghiên cứu các mô hình, công cụ áp dụng trong xứ lýhình ảnh: với mục đích phát triển mô hình máy học hiện tại có với khả năng xử lý,rút trích thông tin từ hóa đơn thanh toán Từ đó cải thiện độ chính xác và hiệu suất

Xây dựng ứng dụng: hiện thực ứng dụng tự động hóa thực hiện hiện xử lý và rút trích thông tin từ hóa đơn thanh toán hiệu quả.

1.2.2 Mục tiêu cụ thể

© _ Thực hiện nghiên cứu các công nghệ liên quan tới trích xuất thông tin từ hìnhảnh, cụ thể là thông tin từ hình ảnh hóa đơn thanh toán

e Tìm hiểu mô hình máy học YOLO trong việc phát hiện đối tượng chứa thông

tin từ ảnh hóa đơn thanh toán [6, 7] Về tốc độ, YOLO - một trong những môhình nhanh nhất hiện nay cho việc phát hiện đối tượng, với cấu trúc đơn giản

và dễ triển khai Mặt khác, so sánh với các mô hình tương tự, việc ứng dụngphát hiện nhiều đối tượng đồng thời và có kích thước nhỏ trên ảnh có hiệu suấttốt hơn Có thể YOLO cho thấy độ chính xác, hiệu suất không quá ưu việtnhưng YOLO cho thấy độ hài hòa giữa tốc độ và độ chính xác trong ứng dụngthời gian thực, với việc phát hiện đối tượng trong một lần quét qua ảnh [6]

e Phương pháp rút trích văn bản hiệu qua Scene Text Recognition (STR) [5].

Với mục đích rút trích các nội dung chính trên hóa đơn như: tên của tổ chức,ngày, địa chỉ, mã số hóa đơn, tổng tiền, thông tin chỉ tiết các mặt hàng Giớihạn phạm vi dé tài là thực hiện việc rút trích thông tin trên ảnh chụp hóa đơn

có định dạng theo tiêu chuẩn được in từ máy tính tiền Tập dữ liệu ảnh chụp

các hóa đơn được in từ máy tính tiền SROIE (Scanned Receipts OCR and

Information Extraction).

¢ _ Nghiên cứu phương pháp, kỹ thuật với mục đích kết hợp mô hình máy học

YOLO và Tesseract OCR với mục đích đảm tăng cường độ chính xác trong

việc rút trích thông tin.

e Xử lý tập dữ liệu:

o_ Tiền xử lý dữ liệu nhằm phù hợp cho việc huấn luyện mô hình

Trang 12

o Tập dữ liệu sau đó được phân chia cho việc huấn luyện, thấm định va

kiểm thử

Thực nghiệm và tiến hành đánh giá mô hình với các tiêu chí bao gồm: sự chính

xác (accuracy), độ chính xác (precision), độ phủ (recall), Fl-score, và hiệu

suất của mô hình xây dựng

Nghiên cứu và hiện thực ứng dụng thực nghiệm cho việc rút trích dữ liệu từ

hình ảnh của hóa đơn thanh toán.

1.3 Đối tượng và phạm vi đề tài

1.3.1. Đối tượng nghiên cứu

Nghiên cứu các mô hình máy học YOLO cho việc phát hiện vùng thông tin từ hóa đơn thanh toán, cùng với phương pháp phục vụ cho xử lý hình ảnh và rút trích

văn bản hiệu quả Tesseract.

1.3.2 Giới hạn đề tài

Trong bối cảnh thời gian có giới hạn, việc hiện thực hệ thống hoàn thành cáctiêu chí dé ra song trong quá trình phát triển, nhưng vẫn còn một vài hạn chế cần đượctiếp tục phát triển

1.4 Phương pháp thực hiện

Tìm hiểu bài toán, các nghiên cứu và công nghệ có liên quan

Tìm hiểu và áp dụng các công cụ xử lý ảnh, mô hình máy học YOLO và

Tesseract OCR.

Thuc hiện đánh giá và chon mô hình tối ưu

Kết hợp mô hình máy học YOLOv8 (phát hiện các vùng thông tin) và công cụtrích xuất ký tự quang học Tesseract OCR (trích xuất nội dung)

Phân tích thiết kế hệ thống

Xây dựng ứng dụng, thực nghiệm và đánh giá.

Trang 13

1.5 Ý nghĩa của đề tài

Tinh ứng dụng: Triển khai ứng dụng này đóng góp vào việc giảm thiéu thờigian, nguồn lực cho quá trình xử lý hóa đơn giúp cá nhân, tổ chức doanhnghiệp cân nhắc với việc tối ưu hóa quản lý tài chính

Tính khoa học: Không chỉ nghiên cứu trên các mô hình, công nghệ hiện tại

mà còn từ đó hiện thực phương pháp, khả năng ứng dụng, kết hợp của các mô

hình máy học và công cụ liên quan.

Tính cấp thiết: Với thị trường cạnh tranh, giảm thời gian xử lý rút trích thôngtin từ hóa đơn thanh toán là cấp thiết với mục đích tăng hiệu suất và giảm thiểu

sai sot.

Tính mới: Đề tài này tiếp cận bài toán từ một góc độ mới, kết hop mô hìnhmáy học cho tác vụ phát hiện va công nghệ trích xuất thông tin quang học

Trang 14

Chương 2

CÁC NGHIÊN CỨU VÀ CÔNG NGHỆ LIÊN QUAN

Trong chương nay, tổng quan về những nghiên cứu hiện tại trên thé giới và tạiViệt Nam Cung cấp cái nhìn chỉ tiết liên quan tới tiến bộ công nghệ và nghiên cứuđược vận dụng nhằm quyết những thách thức, từ đó định hình nền tảng lý thuyết vàhướng tiếp cận mà đề tài này sẽ theo đuổi

2.1 Xu hướng và các công nghệ nghiên cứu trên thế giới

Xử lý hóa đơn vẫn là vấn đề quan trọng và đầy thách thức, khó khăn trong việc

xử lý thủ công do mắt nhiều thời giờ và dễ mắc phải lỗi Phần lớn các đội ngũ kế toán

gặp phải sự chậm trễ liên quan tới quy trình không hiệu quả Mặt khác, Công nghệ

OCR truyền thống không hiệu quả với các hóa đơn phức tạp và đa dạng về định dạng

OCR hữu ích cho các tài liệu đồng nhất nhưng không linh hoạt cho các loại hóa đơn

khác nhau [16].

Các nghiên cứu đây vận dung trí tuệ nhân tạo cho xử lý rút trích thông tin từ

hóa đơn [17] Các mô hình máy học, học sâu được phát triển và ứng dụng phổ biến

Trong đó, YOLO đã được biến đổi qua nhiều phiên bản, từ YOLOv1 đến YOLOv8mới nhất, cho thấy sự ưu viét về tô đối tượng Cùng với đó, công nghệ

OCR, đặc biệt là Tesseract, được cải tiên xử lý nhằm đáp ứng các thách thức như chất

lượng hình ảnh kém và phông nền phức tạp [4, 5]

2.2 Xu hướng và các công nghệ nghiên cứu tại Việt Nam

Các nghiên cứu đây mạnh việc tùy chỉnh và cải thiện các công nghệ nhằm phục

vụ cho đặc thù thị của trường nội địa Các thách thức chính bao gồm việc xử lý hóađơn với nhiều kiểu chữ và ngôn ngữ khác nhau, cũng như các định dạng hóa đơnkhông chuẩn Nghiên cứu và phát triển giải pháp với mục đích tích hợp với hệ thonghiện hành của tốt chức, qua đó cải thiện hiệu suất xử lý trong công việc [1, 2]

Trang 15

2.3 Cơ sở lý thuyết và hướng tiếp cận đề tài

2.3.1 Cơ sở lý thuyết

2.3.1.1 Bài toán Scene Text Recognition

Nhận dạng văn bản trong cảnh (Scene Text Recognition - STR) là một lĩnh vực nghiên cứu quan trọng trong thị giác máy tính và xử lý ngôn ngữ tự nhiên Nhiệm vụ

chính của STR là trích xuất và nhận dang văn ban xuất hiện trong hình ảnh chụp tirmôi trường thực tế như biển quảng cáo, tạp chí, biển số xe, các tài liệu giấy tờ [18]

Các phương pháp truyền thống làm rõ và tách biệt văn bản khỏi nền, bao gồm

các giai đoạn:

©_ Lọc và ngưỡng: Chuyên đồi hình ảnh sang dạng nhị phân dé phân đoạn

văn bản ra khỏi nên

e Phat hiện cạnh: Sử dụng các bộ lọc như Sobel hoặc Canny để tìm kiếm

các cạnh của ký tự trong hình ảnh.

© - Xác định vùng quan tâm (ROI): xác định các vùng có khả năng chứa văn

bản trước khi áp dụng OCR bằng kỹ thuật nhận dạng mẫu

Các mô hình học sâu đã chứng minh hiệu quả vượt trội nhờ khả năng học đặc

trưng mạnh mẽ và khả năng tông quát hóa tốt, bao gồm:

® YOLO: Phát hiện các vùng chứa văn bản chính xác và nhanh chóng.

¢ Tesseract OCR: Trích xuất văn ban từ các vùng đã được phát hiện.

Việc kết hợp mô hình học sâu với OCR mang lại độ chính xác cao, cũng nhưviệc hiệu suất được cải thiện:

¢ D6 chính xác: Giúp phát hiện chính xác các vùng văn bản, giảm nhiễu

và cải thiện chất lượng đầu vào cho OCR

© _ Hiệu suất: Tăng tốc độ xử lý và giảm lỗi nhận dạng.

° Ứng dụng thực tế: Có thể áp dụng trong nhiều lĩnh vực như nhận dạngbiển số xe, tự động hóa kiểm tra tài liệu và trích xuất thông tin từ biển

quảng cáo.

Một số hạn chế:

© D6 phức tạp: Kết hợp nhiều mô hình làm tăng độ phức tạp của hệ thống

Trang 16

e _ Yêu cầu tài nguyên: Mô hình học sâu yêu cầu phần cứng mạnh và thời

gian đào tạo dài.

e _ Xử lý trường hợp khó: Văn bản mờ, cong vênh hoặc có nền phức tạp vẫn

là thách thức lớn.

Sử dụng mô hình học sâu kết hợp với OCR mang lại kết quả ấn tượng trongnhận dạng văn bản trong cảnh, mở ra nhiều cơ hội ứng dụng thực tế Tuy nhiên, vẫncòn nhiều thách thức cần giải quyết và hướng phát triển dé cải thiện và mở rộng công

nghệ này.

2.3.1.2 Các mô hình máy học cho việc phát hiện đối tượng

Trong lĩnh vực máy học phát hiện đối tượng hiện nay, hai mô hình nổi bật làFaster R-CNN và YOLO, đại diện cho hai kiểu mô hình tiêu biểu, trong đó Faster R-

CNN thuộc loại nhận diện hai bước (two-stage detection), trong khi YOLO là nhận

điện một bước (one-stage detection) Mặc dù Faster R-CNN đạt độ chính xác cao hơn

một chút Tuy nhiên, sự phức tạp trong việc suy luận do phải qua hai giai đoạn phức

YOLO là mô hình tiên phong trong lĩnh vực phát hiện đối tượng YOLO đặc

biệt nồi bật với tốc độ cao trong thời gian thực bằng cách chỉ xem qua một lần toàn

bộ hình ảnh dé dự đoán cùng lúc vị trí cộng với việc phân loại các đối tượng [6, 7]

YOLOvIl, ra mắt vào năm 201 5, đã đưa ra khái niệm phát hiện đối tượng theo.kiêu hội tụ với việc dùng một mạng thần kinh (neural) duy nhất nhằm thực hiện dựđoán cùng lúc nhiều hộp giới hạn (bounding box) và xác suất cho mỗi hộp, thay vì

dùng các hệ thống gợi ý vùng như các mô hình trước đó Điều này làm giảm đáng kể

độ phức tạp trong các hệ thông phát hiện đối tượng và tăng cường tốc độ

YOLOv2 và YOLOv3 đã cải tiến độ chính xác qua việc vận dụng các phươngpháp mới như chuẩn hóa theo lô (Batch Normalization), bộ phân loại độ phân giải

Trang 17

cao (High-resolution Classifiers), và hộp neo (Anchor Boxes), giúp mô hình nhận

diện với các đối tượng nhỏ tốt hơn

YOLOv4 và YOLOv5 tiếp tục đưa vào nhiều cải

bao gồm sử dụng kết nối từng phần qua các giai đoạn (Cross-Stage Partial

Connections), Kích hoạt Mish (Mish Activation) Đặc biệt, YOLOv5, không được

n về kiên trúc và hiệu suât,

phát triển bởi nhóm ban đầu của YOLO, nhưng cũng đã được phát triển nhờ vào cộng

đồng mở và sự cải tiến liên tục, nhờ đó được ưu tiên lựa chọn [12]

YOLOv6 và YOLOv7 đã không chi tiếp tục cải thiện hiệu suất mà còn tậptrung vào khả năng tùy biến và triển khai thuận tiện hơn đối với các ứng dụng thực

tế Các phiên bản này đã đưa vào các cải tiến về thuật toán và công nghệ như cơ chế

chú ý (Attention Mechanisms) và các lớp Transformer (Transformer Layers) nhằm

tăng độ chính xác và khả năng nhận diện [10, 11].

YOLOvs8, phiên bản mới nhất với hiệu suất cao nhất trong nhiệm vụ phát hiện

đối tượng Với cải tiến về kiến trúc mạng, tối ưu hóa quá trình huấn luyện, kết hợp

các đặc điểm từ các phiên bản trước, YOLOv§ đạt được sự cân đối hoàn hảo giữa tốc

độ và độ chính xác [8].

Các phiên bản của YOLO đều hướng tới mục tiêu tối ưu về cả tốc độ lẫn độchính xác, với mỗi phiên bản mang lại những cải tiến đáng kể YOLOV8, đặc biệt, đãtận dụng những bài học từ các phiên bản trước đề cung cấp một giải pháp phát hiệnđối tượng vượt trội Với việc các phiên bản của YOLO được phát triển không ngừng,

minh chứng cho thấy việc ứng dụng công nghệ học sâu ngày càng được tinh chỉnh

không ngừng nghỉ với mục dich đáp ứng sự phát triển liên tục

Trang 18

Hình 2.1 Kiến trúc hệ thống của YOLOv8.

Nguồn: Ảnh được trích dẫn từ https://github.com/ultralytics/ultralytics

Kiến trúc YOLOvS [9]:

¢ Backbone Network: Mạng nén tang của YOLOv8, CSPDarknet53, là một

biến thé của mang Darknet, được cải tiến với kết nối Phân đoạn Chéo Giai

đoạn (Cross-Stage Partial - CSP) để cải thiện truyền tải thông tin giữa các bước

khác nhau của mạng và cải thiện dòng chảy (gradient) trong quá trình đào tạo.

© Neck: Sau khi trích xuất đặc trưng, các tang neck sẽ thực hiện việc tong hợp

các đặc trưng từ các cấp độ khác nhau của backbone thông qua các lớp concat

va upsample.

Trang 19

© Head Structures: Cấu trúc Head của YOLOv8 sử dụng mang Path

Aggregation Network (PANet), giúp tăng cường dòng chảy thông tin giữa các

độ phân giải không gian khác nhau, từ đó cho phép mô hình thu thập hiệu quả

các đặc trưng da tỷ lệ Đầu mạng của YOLOv§ bao gồm nhiều dau phát hiện,

mỗi đầu đảm nhiệm dự đoán hộp giới hạn, xác suất lớp cũng như điểm số đối

tượng tại các tỷ lệ khác nhau.

¢ Loss: Quá trình huấn luyện mô hình được tối ưu hóa thông qua các ham loss

bao gồm CloU + DFL (Complete IoU + Distribution Focal Loss) để cải thiện

độ chính xác của dự đoán.

Hiệu suất và Ứng dụng

¢ Phát hiện ROI chính xác: Đối với bài toán, việc phát hiện chính xác các vùng.chứa thông tin như tên mặt hàng, giá cả, sé lượng là rat quan trọng YOLOv8

cung cấp khả năng này với độ chính xác cao

e Tóc độ xử lý nhanh chóng: Khả năng xử lý theo thời gian thực của YOLOv8

giúp tăng hiệu suất làm việc, phù hợp cho các ứng dụng cần xử lý nhanh nhưkiểm tra hóa đơn

e Kha năng mở rộng: YOLOV8 có thê được đào tạo lai (fine-tuning) dễ đàng để

nhận dạng các đối tượng đặc thù trong từng loại hóa đơn, giúp mô hình dễ

dàng thích ứng với nhiều định dạng hóa đơn khác nhau

2.3.1.3 Tesseract OCR

Tesseract OCR, là một trong các công cụ mã nguồn mở cho nhận dạng ký tựquang học (Optical Character Recognition - OCR), được phát triển ban đầu bởi HP

Labs vào năm 1985 và sau đó được phát triên và bảo trì bởi Google từ năm 2006.

Tiếp theo đó, Tesseract đã được cải thiện qua nhiều giai đoạn, từ một hệ thống OCRđơn giản ban đầu đến một trong những công cụ OCR miễn phí và mạnh mẽ nhất hiện

nay.

Khởi đầu với việc chỉ đáp ứng một ngôn ngữ và được HP dùng cho mục đích

nội bộ, Tesseract đã có sự chuyên biến sau khi được Google mua lại và mở mã nguồn.

Công cụ nhận được sự đóng góp mạnh mẽ từ cộng đồng, mở rộng hỗ trợ cho nhiều

Trang 20

ngôn ngữ và ngày càng được cải tiến kỹ thuật nhằm cải thiện độ chính xác và hiệu

suất

Tesseract ngày nay được ứng dụng phổ biến, từ tự động hóa văn phòng, xử lý

dữ liệu lớn đến ứng dụng di động

Các điểm ưu việt của Tesseract là:

¢ _ Nhận dang văn bản trên anh va PDF: Tesseract có thé chuyền đồi hình ảnh

hoặc các tệp PDF chứa văn bản thành dữ liệu văn ban cho phép chỉnh sửa và

tìm kiếm Điều này giúp ích trong việc thực hiện chuyển đổi các tài liệu in

thành dạng điện tử.

¢ _ Hỗ trợ đa ngôn ngữ: Tesseract hỗ trợ trên hơn 100 ngôn ngữ, trong đó có cả

các ngôn ngữ có chứa ký tự đặc biệt như tiếng Trung, Nhật và Hàn

© Dé dàng tích hợp: Nhờ là một công cụ mã nguồn mở, Tesseract dễ dàng tíchhợp với các hệ thống và phát trién với nhiều giải pháp

Đồng hành cùng sự phát triển của máy học và học sâu, Tesseract đã có nhiềucải tiến đáng kể Phiên bản mới nhất của Tesseract tích hợp mô hình học sâu cho khảnăng nhận biết ký tự, giảm thiểu lỗi Không chỉ nâng cao về chất lượng dữ liệu đầu

ra mà còn làm giảm nhu cầu kiểm tra và chỉnh sửa thủ công [14]

Tesseract OCR không chỉ là công cụ mạnh mẽ để nhận diện văn bản từ, mà còn

là một giải pháp hiệu quả khi tích hợp vào hệ thống Trải qua nhiều cải tiến quan

trọng, Tesseract đã được phát triển thành công cụ OCR mã nguồn mở mạnh mẽ, được

uu tiên lựa chọn nhất hiện nay

Kiến trúc của Tesseract OCR:

Character Connected =

Image ———v Thresholding Analysis

Find Lines and Words

Character Outlines Organized into words

Extracted Recognize Word Recognize Word

text from (Pass 2) (Pass 1)

image

Trang 21

Hình 2.2 Hình ảnh kiến trúc của Tesseract OCR.

Nguồn: Hình ảnh được trích dẫn từ Architechture-of-Tesseract-OCR.

Adaptive Thresholding: Hình ảnh đầu vào được chuyền đồi thành hình ảnh

nhị phân sử dụng ngưỡng thích nghỉ.

Connected Component Analysis: Phân tích các thành phần kết nói dé tim các

đường viền của ký tự

Find Lines and Words: Tìm các dòng và từ từ các đường viền ký tự đã được

phát hiện.

Recognition (Pass 1 & Pass 2): Quá trình nhận dạng ký tự được thực hiện qua

hai lượt (passes) để cải thiện độ chính xác của việc nhận dạng văn bản

Hiệu suất và Ứng dụng:

Trích xuất văn bản từ ROI: Tesseract OCR có thể trích xuất văn bản từ các

vùng sau khi YOLOv8 phát hiện một cách chính xác.

Khả năng tùy biến: Tesseract có thể được tùy biến dé cải thiện độ chính xáctrong việc nhận dạng các định dạng chữ viết đặc thù trong hóa đơn

Khả năng xử lý phức tạp: Tesseract OCR có thê xử lý các văn bản phức tạp,

bao gồm văn bản, bảng biểu, giúp trích xuất thông tin một cách toàn diện

2.3.1.4 Laravel

Laravel là một nền tảng PHP mạnh mẽ với mục đích hỗ trợ triển khai các ứng

dụng web Với bộ công cụ toàn diện, Laravel mang lại nhiều tính năng chuẩn hóa,

giúp giảm thiểu thời gian tạo ra các trang web và dé bảo trì

Các thành phan chính và ứng dụng của Laravel:

Quan lý định tuyến (Route Management): Laravel cung cấp hệ thống định

tuyến cho phép xác định các tuyến đường và hành động tương ứng trong ứngdụng Hệ thống này hỗ trợ định tuyến cơ bản, định tuyến nhóm, và định tuyến

có điều kiện

Phần mềm trung gian (Middleware): Laravel sử dụng middleware để lọc

các HTTP request nhập vào ứng dụng Đảm nhiệm các nhiệm vụ như xác thực,

Trang 22

cơ chế bảo vệ CSRF, và đăng nhập trước khi yêu cầu đạt tới suy luận ứng dụng

thực tế

© Anh xạ đối tượng-quan hệ (Eloquent ORM): là một trong các thành phần

nổi bật của Laravel là Eloquent ORM, một cách tiếp cận đối tượng nhằm tương,

tác với cơ sở dữ liệu Eloquent cho phép làm việc với cơ sở dữ liệu thông qua

các mô hình ORM mà không cần viết trực tiếp các câu lệnh SQL

e Máy phát mẫu Blade (Blade Templating Engine): công cụ template mạnh

mẽ đi kèm với Laravel, giúp tạo ra các template bằng cách viết mã PHP trong

HTML Với các tính năng như kế thừa template và định dạng dữ liệu, Blade

giúp việc xây dựng giao diện người dùng trở thành dễ dàng, nhanh chóng và

hiệu quả hơn.

e Tinh năng bảo mật (Security Features): Mang lại các tính năng bảo mật như

xác thực, mã hóa dữ liệu và bảo vệ CSRF.

« Bang điều khiển Artisan (Artisan Console): Giao diện dòng lệnh có tên là

Artisan được Laravel cung cấp, mang lại khả năng tự động hóa như migration,

seeding cơ sở dữ liệu và tạo boilerplate code cho các controller, models và

cũng như các thành phần khác của ứng dụng

2.3.1.5 Python

Python, một ngôn ngữ lập trình đa mục đích, dễ đọc, dễ viết và hỗ trợ đa lĩnh

vực ứng dụng Với khả năng tích hợp cao và cú pháp trực quan làm cho Python được

ưu tiên, đặc biệt là trong các lĩnh như máy học, khoa học dữ liệu, thị giác máy tính.

Các thư viện Python trong lĩnh vực máy học:

e PyTorch: PyTorch, được phát triển bởi Facebook, là một thư viện học sâu phổbiến với khả năng thực thi động, cho phép thay đồi đồ thị tính toán trong quá

trình chạy Nó đặc biệt được ưa chuộng nhờ tích hợp sâu vào Python, cú pháp.

đơn giản và dễ tiếp cận, giúp dễ dàng xử dụng

¢ Ultralytics YOLO: một biến thé của mô hình YOLO, nổi tiếng với tốc độ

trong việc phát hiện đối tượng Thư viện này được thiết kế để và cải thiện từ

các phiên bản YOLO trước, cung cấp các tác vụ phát hiện đối tượng với hiệu

quả cao.

Trang 23

OpenCV: Thư viện thị giác máy tính phô biến, được cộng đồng sử dụng rộngrãi trong xử lý hình ảnh, video OpenCV gồm nhiều thuật toán đa dạng ở nhiềucấp độ, cho phép phân tích hình ảnh Sự tích hợp của OpenCV với Python giúpviệc triển khai các giải pháp thị giác máy tính đơn giản và hiệu quả hơn.

Python và các thư viện đi kèm như PyTorch, Ultralytics YOLO và OpenCV

cung cấp một nền tảng mạnh mẽ, hỗ trợ các giải pháp Với cú pháp dễ hiểu và các

công cụ phát triển hiệu quả, khiến Python ngày càng được lựa chọn bởi cho cả cácchuyên gia công nghệ lẫn người mới bắt đầu

2.3.1.6 Composer

Công cụ quản lý phụ thuộc (dependency management) phục vụ cho PHP, qua

việc khai báo và kiểm soát các thư viện phụ thuộc yêu cầu Hoạt động giống như npmtrong JavaScript hoặc pip trong Python, Composer có vai trò tat yếu trong việc triển

khai dự án PHP hiện nay.

Chức năng chính của Composer:

Quản lý phụ thuộc: Composer cho phép định nghĩa một danh sách các thư

viện phụ thuộc trong tệp composer.json Công cụ này sẽ dựa vào tệp

composer.json, các thư viện cần thiết sẽ được tải và tự động cài đặt, cùng với

các phụ thuộc của chúng, vào thư mục vendor trong dự án.

Tự động tải (Autoloading): Composer cũng hỗ trợ tự động tải các lớp PHP

mà không cần yêu cầu các tệp bằng tay Bang cách sử dụng tiêu chuẩn PSR-4hoặc PSR-0 cho autoloading, Composer có thể tự động tạo một tệpautoload.php cho phép lập trình viên thực hiện yêu cầu trong mã nguồn dé tựđộng tải tat cả các lớp phù hợp được cài đặt thông qua Composer

Quản lý phiên bản: Phiên bản của các thư viện được Composer quản hiệu

quả Nhờ vậy có thể hiệu chỉnh phiên bản cụ thể của một thư viện, hoặc sửdụng các quy ước phiên bản để đảm bảo rằng chỉ có các bản cập nhật tương

thích mới được cài đặt.

Cộng đồng và thư viện: Composer được hỗ trợ bởi Packagist, kho lưu trữtrung tâm của các gói PHP, qua đó có thé tìm kiếm và tải các thư viện cần thiết

Trang 24

cho dự án Nhờ đó, việc chia sẻ và hợp tác trong cộng đồng PHP trở nên dễ

đàng.

Ưu điểm của Composer

¢ Tinh nhất quán: Đảm bảo mọi người trong đội ngũ dùng cùng một phiên bản

của thư viện.

¢ Dé dàng cập nhật và bảo trì: Cập nhật các thư viện dé dàng chỉ với một câu

lệnh, giúp bảo trì dự án trở nên đơn giản hơn.

¢ Tối ưu quy trình phát triển: nhằm giảm rủi ro được phát sinh từ việc quản

lý thủ công các thư viện và phụ thuộc.

Composer hiện có vai trò không thé thiếu trong các dự án PHP hiện đại, hỗ trợđơn giản việc quản lý, giảm phụ thuộc và góp phan tối ưu thời gian phát triển

2.3.1.7 Bootstrap

Một framework front-end phổ biến dành cho phát triển web, với mục đích cungcấp công cụ phát triển ứng dụng web với khả năng hoạt động được trên nhiều thiết

bị Mang tới một bộ công cụ gồm HTML, JavaScript, CSS để phát triển giao diện

người dùng hiệu quả.

Tính năng chính của Bootstrap:

« Hệ Thống Lưới (Grid System): Bootstrap có một hệ thống lưới linh hoạt,cho phép dễ dàng sắp xếp các thành phan trên trang rõ ràng và thống nhất Hệ

thống lưới dựa trên 12 cột cho phép hiệu chỉnh đê phù hợp với sự hiên thị và

tương thích trên nhiều thiết bị

¢ Các thành phần giao diện: Bootstrap hỗ trợ cung cấp cho giao diện người

dùng, bao gồm nút, menu thả xuống, biểu mẫu, card, bảng và nhiều hơn nữa.Các thành phan này được tùy chỉnh nhằm kết hợp dé tạo nên những trang web

độc đáo và chức năng.

Trang 25

© _ Các mẫu CSS tiền định: Bootstrap bao gồm một thư viện CSS phong phú,

cung cấp các mẫu cho văn bản, nút, hình ảnh cũng như các yếu té thiết kế

khác, đảm bảo tính nhất quán về thẩm mỹ trên toàn bộ trang web

© Plugin JavaScript: Các plugin JavaScript của Bootstrap giúp thêm các chức

năng tương tác như hộp thoại, tooltip, và carousel một cách dé dàng Những

plugin này tận dụng jQuery và Popper,js dé cung cấp tính năng phong phú màkhông yêu cầu nhiều mã hóa phức tạp

Loi ích của Bootstrap

Sử dụng Bootstrap trong dự án web cung cấp nhiều ưu điểm:

¢ Tiết kiệm thời gian: Qua việc tận dụng các thành phan hiện có nhằm giảmthiểu thời gian phát triển

¢ Đáp ứng: Trang web có thé điều chỉnh tự động mang lại khả năng tương thíchtrên nhiều thiết bị

¢ Dễ triển khai: Bootstrap có tài liệu hướng dẫn chỉ tiết và cộng đồng người

dùng lớn, giúp cho Bootstrap ngày càng được lựa chọn bởi cả các nhà phát

2.3.2 Hướng tiếp cận đề tài

Nghiên cứu tim hiểu tìm ra mô hình YOLO phù hợp

Nghiên cứu các mô hình YOLO [13] để tìm ra mô hình có sự phù hợp nhất cho

các bài toán phát hiện các vùng chứa thông tin trên hóa đơn Chọn mô hình phù hợp

với các tiêu chí như độ chính xác, tốc độ cũng như khả năng thích ứng với dữ liệuhóa đơn đa dang YOLOv8, với các cải tiến được đánh giá cao cho tác vụ phát hiệnđối và minh chứng qua các thực nghiệm

Trang 26

Đào tạo mô hình.

Tiến hành thực nghiệm, đánh giá và chọn lựa mô hình YOLO phù hợp, thựchiện trên một tập dữ liệu tùy chỉnh gồm các hóa đơn được thu thập và đánh dấu vùng.thông tin cần trích xuất Tập trung vào việc tối ưu tác vụ phát hiện mô hình nhằm cải

thiện tác vụ nhận diện và độ chính xác trên các loại hóa đơn khác nhau.

Rút trích thông tin sử dung Tesseract OCR.

Sau khi mô hình YOLO phát hiện các vùng thông tin, Tesseract OCR được dùng

để trích xuất văn bản từ những khu vực này Tesseract OCR - một công cụ hỗ trợnhận dạng ký tự quang học mạnh mẽ, hỗ trợ nhiều ngôn ngữ với độ chính xác cao

Việc tích hợp Tesseract OCR cho phép rút trích văn bản từ các vùng thông tin được xác định trên hình ảnh hóa đơn.

Phát Triển Ứng Dụng

Cuối cùng, toàn bộ quy trình từ việc tải hình ảnh hóa đơn, xử lý hình ảnh, trích

xuất thông tin, cho đến hiển thị kết quả được tích hợp vào một ứng dụng web Sử

dụng Laravel, một framework PHP mạnh mẽ, kết hợp với các gói cài đặt của Python

và các thư viện như OpenCV và PyTorch nhằm hiện thực các tác vụ liên quan

Trang 27

Chương 3

PHÂN TÍCH VÀ THIẾT KÉ HỆ THÓNG

Trong chương này, phân tích thiết kế hệ thống cần thiết cho triển khai ứng

dụng trích xuất thông tin từ hình ảnh hóa đơn thanh toán Mục tiêu của chương làmang lại cái nhìn tổng quan về kiến trúc hệ thống và chỉ tiết các thành phần kỹ thuật,bao gồm kiến trúc phần mềm và các công nghệ được sử dụng

3.1 Thiết kế hệ thống tổng quan

Với mục đích nhằm triển khai một ứng dụng web hiện thực trích xuất thông tin

từ hóa đơn thanh toán Hệ thống đề xuất sử dụng kiến trúc Model-View-Controller

(6) Hiển thị giao diện trong trình duyệt)

Hình 3.1 Kiến trúc mô hình Laravel MVC.

Thanh phan và luỗng xử lý trong kiến trúc hệ thống:

'View (Giao diện người dùng):

Trang 28

Cung cấp giao diện cho phép tương tác từ người dùng tới ứng dụng web Tronghình, "View" chứa các thành phần như "Web questionnaire" (khảo sát web) và

"Visualization" (biêu đô hoặc dữ liệu hình ảnh).

Yêu cầu URL:

Người dùng thực hiện một yêu cầu thông qua URL sau khi truy cập vào ứng

dụng Yêu cầu này được gửi đến máy chủ, nơi ứng dụng Laravel được lưu trữ

Routing (Định tuyến):

Laravel xử lý yêu cầu đến và phân tích URL nhằm xác định tác vụ cần thực hiện

hoặc trang nào cần được tải Trong quá trình định tuyến, hệ thống sẽ xác định

controller tương ứng tiếp nhận và xử lý yêu cau

Controller (Bộ điều khiển):

e Interaction with data model (Tương tác với mô hình dữ liệu): Controller

xử lý các yêu cầu và tương tác với dữ liệu khi cần thiết thông qua Model

© Gets correct result view (Nhận kết quá view đúng): Xử lý logic và dữ liệu

cần thiết, controller sẽ chọn view phù hợp dé trả về cho người dùng

Hiển thị giao diện trong trình duyệt:

Cuối cùng, dit liệu được controller gửi trở lại view sẽ được render trong trìnhduyệt người dùng Kết quả cho phép quan sát được thông tin đã qua xử lý, ví dụ như

kết quả của một bản khảo sát trực tuyến hoặc biểu đồ dữ liệu

Trang 29

3.2.1 Giao diện người dùng

Công nghệ:

JavaScript: Ngôn ngữ lập trình chính giúp việc hiện thực tương tác trên trang

web, tạo trang web động và phản hồi nhanh với người dùng

Bootstrap: Có vai trò giúp hiện thực giao diện người dùng thân thiện, đáp ứng

tương thích trên nhiều loại thiết bị, đảm bảo tính đáp ứng và dễ dàng triển khai

Laravel Framework: Framework PHP mạnh mẽ và phé biến, cung cấp nhiều

tính năng như định tuyến (routing), middleware, xác thực người dùng và cơ sở

dữ liệu.

Chức năng:

Lắng nghe và thực hiện xử lý yêu cầu, thực thi logic và trả về kết quả tương

ứng tới người dùng.

Làm việc với cơ sở dữ liệu khi cần thiết

Xây dựng các API dé tương tác với giao diện frontend, xử lý các tác vụ truyxuất, thêm mới, chỉnh sửa

Trang 30

3.2.3 Cơ sở dữ liệu

3.2.3.1 Giới thiệu

MySQL: là một hệ quản trị cơ sở dữ liệu quan hệ được sử dụng rộng rãi trong

nhiều ứng dụng, nhờ độ tin cậy cao, quản lý dữ liệu lớn, và hỗ trợ nhiều ngôn ngữ

truy vấn

3.2.3.2 Các bảng và thuộc tính

1 Bảng “bill_items”

Bang 3.1 Bảng “bill_items” lưu trữ mặt hàng trong mỗi hóa đơn.

Tên Thuộc Tính | Kieu Dữ Liệu Mô Tả

id bigint unsigned Khóa chính, tự tăng.

bill_id bigint unsigned Khóa ngoại, tham chiêu dén bang bills.

item varchar(255) Tén mặt hang.

price decimal(10,2) Giá cua mặt hàng.

| quantity integer So lượng mặt hang.

amount decimal(10,2) Tông tiên của mặt hang (price * quantity).

created_at timestamp Thời gian tạo bản ghi.

updated_at timestamp Thời gian cập nhật bản ghi.

2 Bang “bills”

Bang 3.2 Bang “bills” thông tin về các hóa đơn.

Tên Thuộc Tính | Kiểu Dữ Liệu Mô Tả

id bigint unsigned Khóa chính, tự tăng.

website varchar(255) Tên công ty.

address date Dia chi của công ty.

bill_id varchar(255) Mã số hóa đơn.

date date Ngày tao hóa đơn.

cashier varchar(255) Tên nhân viên thu ngân.

amount decimal(10,2) Tông sô tiên của hóa đơn.

status boolean Trang thái kiêm tra hóa đơn.

uuid char(36) Mã định danh duy nhật của yêu câu.

created_at timestamp Thời gian tạo bản ghi.

updated_ at timestamp Thời gian cập nhật bản ghi.

Trang 31

Mối quan hệ giữa bảng thông tin hóa don “bills” và bảng thông tin về các mặt

hang trong hóa đơn “bill_items” có sự liên kết với nhau qua khóa ngoại là “bill_id”

Bang 3.3 Bảng người dùng của hệ thống.

Tên Thuộc Tính | Kiểu Dữ Liệu Mô Tả

id bigint unsigned Khéa chinh, ty ting.

name varchar(255) Tén của người dùng.

email varchar(255) Địa chỉ email.

email_verified_at_| timestamp Thời gian xác thực email.

password varchar(255) Mật khâu của người dùng.

remember_token _ | varchar(100) Token ghi nhớ đăng nhập của người dùng.

Created_ at timestamp Thời gian tạo bản ghi.

updated_ at timestamp Thời gian cập nhật bản ghi.

4 Bang “inquiries”

Bảng 3.4 Bang “inquiries” lưu trữ thông tin về các yêu cầu trích xuất dữ liệu từ hóa đơn.

Tên Thuộc Tính | Kiểu Dữ Liệu Mô Tả

id bigint unsigned Khóa chính, tự tăng.

uuid char(36) Mã định danh duy nhất của yêu câu

filename strin Tên tệp hình ảnh hóa đơn.

extension varchar(255) Phân mở rộng của tệp hình ảnh hóa đơn.

size integer Kích thước của tệp hình ảnh hóa đơn.

ath varchar(255) Đường dẫn đến tệp hình ảnh hóa đơn.

Trang 32

Tên Thuộc Tính | Kiểu Dữ Liệu Mô Tả

state varchar(255) Trang thái của yêu cau

Created_ at timestamp Thời gian tao bản ghi.

updated_ at timestamp Thời gian cập nhật bản ghi.

5 Bảng “migrations”

Bảng 3.5 Bảng “migrations” lưu trữ thông tỉ in vê các di trú (migrations) của cơ sở dữ liệu.

Tên Thuộc Tính | Kiểu Dữ Liệu Mô Tả

id int unsigned Khóa chính, tự tang.

migrations varchar(255) Tên của di trú.

batch integer Số thứ tự của đợt di trú.

6 Bảng “sessions

Bảng 3.6 Bảng “sessions” lưu trịữ phiên làm việc của người dùng.

Mô Tả Tên Thuộc Tính | Kiêu Dữ Liệu

id varchar(255) Mã định danh duy nhat của phiên làm việc

user_id bigint unsigned ID của người dùng liên kêt với phiên làm

việc.

ip_address varchar(45) Dia chi IP của người dùng

user_agent text Thong tin về trình duyệt.

payload text Dữ liệu của phiên làm việc.

last_activity integer Thời gian hoạt động cuỗi cùng của phiên

làm việc.

7 Bang “password resets”

Bang 3.7 Bảng “password_resets” lưu trữ các yêu cầu đặt lại mật khẩu.

Tên Thuộc Tính | Kiêu Dữ Liệu Mô Tả

id bigint unsigned Khóa chính, tự tăng.

email varchar(255) Địa chỉ email của người dùng yêu câu đặt

lại mật khẩu.

token varchar(255) Mã token dùng dé xác thực yêu câu đặt lại

mật khẩu.

created_at timestamp Thời gian tạo yêu câu đặt lai mật khâu.

update_ at timestamp Thời gian cập nhật lại mật khẩu

Trang 33

3.3 Ngữ Cảnh thiết kế

Sơ đồ ngữ cảnh thiết kế của ứng dụng trích xuất thông tin từ hóa đơn thanh

toán được chia thành các bước chính sau đây:

Ảnh hóa đơn thanh tin

Nhập vào ảnh hóa đơn thanh toán:

Bắt đầu bằng việc nhập hoặc kéo thả và ảnh hóa đơn thanh toán cần trích xuất

thông tin.

Tiền xứ lý ảnh:

Ảnh hóa đơn sau khi được nhập vào sau đó được xử lý, giúp đảm bảo rằng ảnhđầu vào phù hợp để xử lý bởi mô hình AI sau này

Chạy mô hình phát hiện và rút trích thông tin:

Anh hóa đơn thanh toán được chuyên tiếp tới mô hình AI thực hiện phát hiện

và rút trích thông tin Mô hình YOLOv8 được sử dụng với vai trò phát hiện vị trí

thông tin trên hóa đơn, và Tesseract OCR có vai trò rút trích thông tin từ các vùng.

được phát hiện

Kiểm tra loại hóa đơn:

Sau khi trích xuất thông tin, thực hiện kiểm tra thông tin trích xuất có phù hợpvới loại hóa đơn được hỗ trợ hay không Đảm bảo rằng hệ thống không xử lý nhằmloại hóa đơn và thông tin đầu ra là chính xác

Ngày đăng: 08/11/2024, 17:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN