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 1TRƯỜ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 2Trướ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 3Tô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 4DANH 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 53.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 6OCR 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 7Hì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 8Hì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 9Luậ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 10lượ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 111.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 12o 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 131.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 14Chươ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 152.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 16e _ 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 17cao (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 18Hì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 20ngô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 21Hì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 22cơ 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 23OpenCV: 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 24cho 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 27Chươ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 28Cung 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 293.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 303.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 31Mố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 32Tê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 333.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