Đang tải... (xem toàn văn)
Nó có thể được sử dụng trong hệthống CRM Quản lý quan hệ kháchhàng, ứng dụng quản lý liên hệ và các quy trình tự động hóa kinhdoanh khác nhau,nâng cao ý nghĩathực tế của đề tài.2.Mục tiê
Trang 1BỘ CỔNGTHƯƠNG
'TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH
TỪ NGỌC TRƯỜNG
Ngành: KHOA HỌC MÁY TÍNHMã ngành: 8480101
LUẬN VĂN THẠC Sĩ
THÀNH PHỐ HÒ CHÍ MINH, NĂM 2024
Trang 2Công trình được hoàn thành tạiTrường Đại học Công nghiệp TP Hồ Chí Minh.
Luận văn thạc sĩ đượcbảo vệ tại Hội đồng chấm bảo vệ Luận văn thạc sĩ Trường Đại
1 PGS.TS Huỳnh Tường Nguyên - Chủ tịch Hội đồng2 TS Trang Hồng Son - Phản biện 1
3 TS Võ Đáng Khoa - Phản biện 2
4 TS Trần Khải Thiện - ủy viên
5 TS Phạm Thị Thiết - Thư ký
(Ghi rõ họ,tên, học hàm, học vịcủaHộiđồng chấmbảovệ luậnvãn thạcSĩ)
Trang 3BỘ CÔNG THƯƠNG CỘNG HÒAXÃHỘI CHỦ NGHĨA VIỆTNAMTRƯỜNG ĐẠIHỌCCÔNG NGHIỆP Độc lậpTự do - Hạnhphúc
NHIỆM VỤ LUẬN VĂN THẠC sĩ
Họ tên học viên: Từ Ngọc TrườngNgày, tháng, năm sinh:
Nơi sinh:
Ngành: Khoa học máy tính Mã ngành: 8480101
I TÊN ĐÈTÀI:
học sâu.
- Áp dụng mô hình YOLOv8 đểxác định vị trí vàtrích xuấtcác thông tin cần thiết từ
III.NGÀY HOÀNTHÀNH NHIỆM VỤ: 12/2023.
Tp Hồ ChíMinh,ngày 19 tháng 01 năm 2024
(Họtên và chữ ký)(Họtên và chữ ký)
Đặng ThịPhúc
Trang 4LỜI CẢM ƠN
Trong quá trình học tập, nghiên cứu và hoàn thiện luận văn, tôi đã nhận được sự động
giáo, cô giáo, anh chị em, bạn bè đồng nghiệpvà gia đình.
Đào tạo Quốc tế và Sau đại học trường Đại học Công nghiệp Thành phố Hồ Chí Minh
điều kiện, góp ý kiến giúp tôi hoàn thành quá trình học tập và hoàn thành luận văn thạcsĩ.
tận tình hướng dẫn, giúp đỡ, định hướng tôi trong quá trình nghiên cứu và hoàn thành
từ các thầy giáo, cô giáo, đồng nghiệp, bạn bè và gia đình.
Trang 5TÓM TẤT LUẬN VĂN THẠC sĩ
Luận văn tập trung vào xây dựng một ứng dụng trích xuấtthông tin từ danh thiếp bằng cách sử dụng kỹthuậthọc sâu Phương pháp này sử dụng mô hình You OnlyLook Once
(YOLO) để phát hiện ảnh danhthiếp và xác định vị trí các thông tin quan trọng như tên,
xuấtthông tin từ các vùng đã phát hiện Điểm độc đáo của nghiêncứu là sự kếthợp giữa
một hệ thống hoàn chỉnh có khả năng tự động hóa quátrình xử lý thông tin trên danh
Nghiên cứunày giải quyết vấn đề tiết kiệm thời gian trongviệc quản lýthông tin từdanh
quá trình trích xuấtthông tin Đe xuất đã đượcthử nghiệm trên một tập dữ liệu đadạng,vàkết quả cho thấy độ chính xáctrung bìnhcủa hệthống đạt đến mức cao, đặt nền tảng
Trang 6cards using deep learning techniques This approach utilizes the You Only LookOnce
(YOLO) model to detect businesscard images and determine the positions of important
details such as name, phone number, email, and address Subsequently, the Tesseract
business cards, aiming to automate the datacollection process Thefusion of YOLO andTesseract not only enhances object detection capabilities but also improves theaccuracy
a foundation for practical efficiency and real-world applications.
Trang 7LỜI CAM ĐOAN
Đặng Thị Phúc Các kết quảnghiên cứu và các kết luận trong luận văn là trung thực,
các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo
Trang 8DANH MỤC BẢNG BIỂU ix
DANH MỤC TỪ VIẾT TẮT XMỞ ĐẨU 1
1 Đặtvấn đề 1
2 Mục tiêu nghiên cứu 1
3 Phạm vi nghiên cứu 2
4 Cách tiếp cận 2
5 Ynghĩa thực tiễn của đề tài 3
CHƯƠNG 1 TỎNG QUAN VỀ LĨNH vực NGHIÊN cứu 4
1.1 Khái quát vấn đề 4
1.2 Tập dữ liệu đầu vào 4
1.3 Phương hướng giải quyết 5
CHƯƠNG 2 Cơ SỞ LÝ THUYẾT 7
2.1 Mạng thần kinh tích chập 7
2.1.1 Mạng thần kinh 7
2.1.2 Mạng thần kinhtích chập 9
2.2 Nhận diện đối tượng 10
2.3 Giớithiệu một số lớp môhình R-CNN 10
2.3.1 R-CNN 10
2.3.2 Fast R-CNN 12
2.3.3 Faster R-CNN 13
Trang 92.4 Giớithiệu về YOLO 15
CHƯƠNG 3 KẾT QUẢ NGHIÊNcứu 31
3.1 Giới thiệu về dữ liệu 31
3.2 Xử lý dữ liệu 33
3.3 Tiến hành huấn luyện 34
3.4 Kết quả huấn luyện mô hình 35
3.4.1 Mô hình YOLOv8n 35
3.4.2 Mô hình YOLOv8m 38
3.4.3 Mô hình YOLOv81 42
3.5 Kết quả so sánh giữa ba môhìnhcủa YOLO 46
3.6 Quy trình xây dựng và triển khai mô hình 47
Trang 10Hình 2.6 Kiến trúcmô hình YOLOv4 [18] 18
Hình 2.7 Biểu đồ so sánh hiệu suấtYOLOv4 19
Hình 2.8 Kiến trúcmô hình YOLOv5 [21] 20
Hình 2.9 Biểu đồ so sánh hiệu suất mô hình YOLOv5 [19] 21
Hình 2.10 Kiến trúc mô hình YOLOv8 [22] 22
Hình 2.11 Biểu đồ so sánh hiệu suất các môhìnhcủa YOLO [4] 25
Hình 2.12 Logo Flask Framework [24] 30
Hình 3.1 Một số ảnh danhthiếp trongtập dữ liệu 31
Hình 3.2 Biểu đồ biểu diễn số lượng lớptrongtập dữ liệu 33
Hình 3.3 Một số ảnh danhthiếplỗi 33
Hình 3.4 Tiền xử lý ảnh 34
Hình 3.5 Các biểu đồ biểu diễn quá trình huấn luyện và đánh giá môhình YOLOv8n36Hình 3.6 Confusion Matrix Nomalized môhình YOLOv8n 37
Hình 3.7 Kết quả dự đoán mô hình YOLOv8n (1) 38
Hình 3.8 Kết quả dự đoán mô hình YOLOv8n (2) 38
Hình 3.9 Các biểu đồ biểu diễn quá trình huấn luyện vàđánh giá môhình YOLOv8m ' 39
Hình 3.10 Confusion MatrixNomalized môhình YOLOv8m 40
Hình 3.11 Kết quả dự đoán mô hình YOLOv8m (1) 41
Hình 3.12 Kết quả dự đoán mô hình YOLOv8m (2) 41
Hình 3.13 Các biểu đồ biểu diễn quá trình huấn luyện và đánh giá mô hình YOLOv81 43
Hình 3.14 Confusion MatrixNomalized môhình YOLOv81 44
Hình 3.15 Kết quả dự đoán mô hình YOLOv81 (1) 45
Hình 3.16 Kết quả dự đoán mô hình YOLOv81 (2) 45
Hình 3.17 So đồ quá trình xây dựng môhình 47
Hình 3.18 Trang Homepage 49
Trang 11Hình 3.20Ảnhdanh thiếp thứ hai 50
Hình 3.21 Kết quảnhận diện ảnh danh thiếp thứ hai 51
Hình 3.22 Ảnh danh thiếp thứ ba 51
Hình 3.23 Kết quảnhận diện ảnh danh thiếp thứ ba 52
Hình 3.24 Giao diện nhận dạng danh tliiepqua camera 53
Hình 3.25 Kết quả nhận diện danh thiếp qua camera 53
Trang 12DANH MỤC BẢNG BIỂU
Bảng 2.1 So sánh hiệu suất của mô hình YOLOv8 với Faster R-CNN 26
Bảng 3.1 Bảngmô tảmột số lớptrongtập dữ liệu 32
Bảng 3.2 Kết quả môhình huấn luyện mô hình YOLOv8n 35
Bảng 3.3 Kết quả mô huấn luyện mô hình YOLOv8m 39
Bảng 3.4 Kết quả mô huấn luyện mô hình YOLOv81 42
Bảng 3.5 Kết quả huấn luyện từng lớp của ba môhình 46
Bảng 3.6 Hiệu suất của ba mô hình 46
Trang 13DANH MỤC Từ VIẾT TẮT
API Blobs CNN CLI
COCO CRM
DL FPS NN OCR PAN
RESTful
RPN
SiLUs SPP
SPPF
SSD
Convolutional Neural Networks (Mạng thần kinhtích chập)
Command Line Interface (Giao diện dòng lệnh)
Frames Per Second(Sốkhung hìnhtrên mỗi giây)
Neural Network (Mạng thần kinh)
Region ProposalNet (Mạng đề xuấtkhu vực)
Sigmoid Linear Unit (Hàm kích hoạt của mạng thần kinh)Spatial Pyramid Pooling (Nhóm kim tựtháp không gian)Spatial Pyramid Pooling with Fusion
Web Server Gateway Interface (Giao diện tiêu chuẩn giữa ứng dụng web
và máychủ web)
Trang 14MỞ ĐẨU
Trongthế giới kinh doanh pháttriểnnhanh chóng ngày nay, việctrao đổi danhthiếpvẫn là một hoạt động phổ biến để kết nối và chia sẻ thông tin Tuy nhiên, việc sao
gian và dễ xảy ralỗi Việc pháttriển mộtgiải pháptự độngcho nhiệm vụ này có thể
cải thiện đáng kể hiệu quả và giảm thiểu sai sót [1].
thị giác máy tính và xử lý ngôn ngữ tự nhiên Tận dụng các kỹ thuậthọc sâu để trích
xuấtthông tin từ danh thiếpmangđến cơ hội để áp dụng công nghệ tiên tiến vào một
cạnh khác nhau của trí tuệ nhân tạo và học máy đểđạt được sự hiểu biết toàn diện về
luận văn này Nó có thể được sử dụng trong hệthống CRM (Quản lý quan hệ kháchhàng), ứng dụng quản lý liên hệ và các quy trình tự động hóa kinhdoanh khác nhau,nâng cao ý nghĩathực tế của đề tài.
2.Mục tiêu nghiên cứu
thông tin từ danh thiếp dẫn đến thông tin khó truy xuất, việc tìm kiếm khó khăn và
Trang 15Học sâu cung cấp khả năng cải thiện độ chính xác và xử lý các thiết kế danh thiếp
khác nhau một cách hiệu quả Bằng cách pháttriển một ứng dụng dựa trên học sâu
để trích xuấtthông tin cần thiết từ danh thiếp, phục vụ cho việc số hóathông minh;
Nghiên cứu bao gồm nhiều giai đoạn pháttriển khácnhau, từ thu thập và tiền xử lýdữ liệu đến thiết kế môhình, đàotạo và triển khai ứng dụng.
hội chợtriển lãm, trên mạng
4 Cách tiếp cận
Luận văn đề xuất một cách tiếpcận bằng cách ápdụng môhình YOLO để pháthiện
các thông tin quan trọng trong danh thiếp Với một ảnh tùy ý trong tập dữ liệu củaảnh gốc, yêu cầu của bài toán là:
thông tin trên danh thiếp hay không.
chụp chínhdiện.
o Huấn luyện mô hình bằng cách sử dụng YOLO Tôi sử dụng YOLOv8 [4] cho
Trang 16Địa điểm và vậtliệu nghiên cứu:
Địađiểm: Nghiên cứu được thực hiện tại các khu vực nhà riêng, công sở, nơi công
5 Ý nghĩathực tiễn của đề tài
Ý nghĩa thực tiễn của đề tài nằm ở việc tập trung vào xây dựng một ứng dụng trích
xuấtthông tin từ danh thiếp, sử dụng kỹ thuật học sâu Phương phápnày tích hợp mô
Sự kết hợp giữa YOLO và Tesseract không chỉ tăng cường khả năng phát hiện đốitượng mà còn cải thiện độ chính xác của quá trình trích xuấtthông tin Phương pháp
thông tin trên danhthiếp, góp phần xây dựng một môi trường mạnglành mạnh trong
thời đại 4.0.
Trang 17CHƯƠNG TỒNG QUAN VỀ LĨNH vực NGHIÊN cứu
1.1 Khái quát vấn đề
pháp học sâu mang lại một giảipháp hứa hẹn thông quaviệc tự động hóa quátrìnhtrích xuất thông tin từ danhthiếp.
1.2 Tập dữ liệu đầu vào
Tập dữliệu đầu vào của luận văn:
từ tập dữ liệu:
9 Táng 1, tòa nhà C5, Nguyễn Cd ThạchK NamTỪLièm, Hà Nội
Trang 18Hình 1.2 Ảnh danh thiếp 21.3 Phương hướng giải quyết
Internetvề các nội dung nghiên cứu liên quan.
• Lậptrình cókiểm chứng dựa trên các tập dữ liệuthuđược.
• Sử dụng kết quả thu được từ V iệc lập trìnhmô phỏng, từ đó rút ra kết luận so sánh
triển lãm, tờrơi danh thiếp quảng cáo.
Trang 19Xử lý và Phân tích dữ liệu:
đượcchụp chính diện.
Bước3: Ảp các mô hình đã xây dựng vào tậpdữ liệu và thực hiện việc huấn luyện.
Trang 20CHƯƠNG 2 Cơ SỞ LÝ THUYẾT
2.1 Mạng thầnkinh tíchchập
2.1.1 Mạng thẩn kinh
cách mà não con người hoạt động thay vì sử dụng mô hình số, trong đó tất cả các
quảđầu ra [7]
cơ sở dữ liệu lớn về cácví dụ trước đó đểtham chiếu.Nói một cáchchính xác, mạng
phân nhóm đầu vào thô Những mô hình mà chúng nhận biết là số, được chứatrong
các vector, trong đó tất cả dữ liệu thế giới thực, chẳng hạn như hình ảnh, âm thanh,
Lấy cảm hứngtừ não, một mạng thần kinh nhân tạolàmộttập hợp cácđơn vị kết nối,
hiệu.
Trang 21Hình 2.1 Mạng thần kinh [9]Input layer: là lớp chứa các dữ liệu đầu vào.
Hidden layer: là lớp ẩn, nhiệm vụ của nó là xử lý dữ liệu đầu vào và xuất ra dữ liệu
• Liênkếtvới tất cả cácnode ởlayertrước đó V ới các hệ số w riêng.• Mỗi node có 1 hệ số bias b riêng.
Trang 22• Sau đó, áp dụng hàm activationfunction(tùyvào truờng hợp sẽ cóhàmkíchhoạt
2.1.2Mạng thần kinh tích chập
tương tụnhumạngthầnkinh truyền thẳng (feedforward neural networks), trong đó
cácthầnkinhcó trọng số và độ lệchcó thể học được, ứng dụng chủ yếu của chúng
nằm trong xử lýtín hiệu và ảnh, thay thế cho OpenCV trong lĩnh vựcthị giác máy tính.
cáchàmkích hoạt phi tuyếnnhưReLU vàtanh đễ kích hoạtcác trọng sốtrong các
node Mỗi một lớpsau khi thông quacáchàmkíchhoạtsẽtạora các thông tintrừu
Kiến trúc môhình mạng thần kinh tích chập nhưsau:
Laye r 2ClassificationLayer 1
Input Convolutional Pooling Convolutional Pooling Flatten FC Output
Hlnh2.2 Kiến trúc mạng CNN [10]
Tầng tích chập Convolution:Tầng tích chậpsử dụng cácbộ lọc để thực hiện phép tích chập khi đưa chúng đi qua đầu vào I theocác chiều của nó Các siêu tham sốcủa các bộ lọc này bao gồm kích thướcbộ lọcF và độ trượt(stride)s Kết quảđầura o
Trang 23Tầng Pooling: thường được dùng sau tầngtíchchập, giúp làm giảm số lượngtham số
• Max pooling: bảo toàn các đặc trưng được phát hiện (được sử dụng thường
• Average pooling: giảm kích thước các feature map.
Tầng Flatten: giúp chuyển đổi các đặc trưng ảnh từ tầng tích chập thành vector 1
trước đó Tầng này sẽ đưaraxác suất của một đối tượng trong ảnh.
Nhận diện đối tượng (Object Detection) là một nhiệm vụ trong thị giác máy tính,
mộtảnh hoặc video Nhiệm vụ này bao gồm việc xác định vị trí vàranh giới của các
thành một phần quan trọng của việc nhận diện hình ảnh, cùng với phân loại và truy
Phân loại thành hai loại chính:
Convolutional Neural Networks), Faster R-CNN.
2.3.1R-CNN
Trang 24R-CNN làmột trong những ứng dụng tiễn phong của mạng thầnkinh tích chập trong
* Phân loại (classifer): Sử dụng cácđặctrưngtríchxuấtđễ phân loạihình ảnhtrong
phân loạivèđúng nhân
Trang 25Một kỹ thuật được sử dụng để đề xuất các region proposal hoặc các bounding box
vượt qua nhiều module độc lập trong đó có trích xuất đặc trưng từ một mạng CNN
2.3.2Fast R-CNN
classification cùng lúc.
Kiến trúc của mô hình trích xuất từ bức ảnh một tập hợp các region proposals làm
dụng trích xuất các features cho một vùng ảnh input nhất định Sau đó các features được kếtbởi một lớp fully connected Cuốicùng mô hình chiathành hai đầu ra, một đầu racho dự đoán nhãn thông qua một softmax layervà một đầu ra khác dự đoán
Trang 26Hình 2.4 Kiến trúc FastR-CNN
Mô hìnhnày nhanh hon đángkểcảvề huấn luyện vàdụ đoán, tuy nhiên vẫn cần một
2.3.3 Faster R-CNN
thìFasterR-CNNrađời Kiến trúcmôhình đã được cải thiện hon về cảtốc độ huấnluyệnvàphát hiện đối tuọng.
Trang 27Faster R-CNN [ 14] manglạiđộ chính xác cao nhất trên cả hai nhiệm vụchính là phát
để đềxuấtcác vùngvà các loại đoi tượng cần xem xét trong vùng.
Trang 28RPN hoạt động bằng cách lấy đầu ra của một mạng pretrained CNN sâu (ví dụ
và nhãn dự đoán cho chúng Region proposals là các bounding boxes, dựa trên các
thiện khả năng đề xuất vùng Dự đoán của nhãn được thể hiện dưới dạng nhị phân
2.4 Giói thiệu về YOLO
sâu đơn giản để phát hiệncác đối tượng trong hình ảnh.
Darknet Darknet là một researchframework rất linh hoạt được viết bằng ngôn ngữ
phát hành tuần tự nghiêm ngặt cho YOLOv3 - có các mục tiêu khác nhau dựa trên
các tác giả đãphát hành chúng.
hộp giới hạn (bounding boxes)và xác định nhãn lớp (identifying class labels) trong
phần Đầutiên, xác định các vùng quan tâm (bounding boxes) cho vị trí hiện diện củamột đối tượng Sau đó, phân loại khu vực quan tâm cụ thể đó Đây được coi là một
Trang 29máy dò hai giai đoạn vàcác mô hình phổbiến như Faster R-CNN tận dụng phương
(Convolutional Neural Network - CNN).
Trong YOLOv4, các tác giả tìm hiểu, thử nghiệm các phương pháp state-of-the-art
• Backbone: CSPDarknet53
• Neck: SPP(Spatial Pyramid Pooling), PAN (Path Aggregation Network)
YOLOv4 sử dụng CSPDarknet53 để làm backbone vì theotác giả, CSPDarknet53 có
thiện nhờhàm activation Mish.• SSPBlock:
Trong những tác vụ phân loại, phần output feature map sẽ được flatten để làm đầu
vào cho lớp Fully Connected ở cuối Tuy nhiên, bằng cách này thì ta phải cố định
tượng trong nhiều kích thước ảnh khác nhau Đe khắc phục điều này thì cho outputfeature map đi qua những lớp poolingvới kích thước khác nhau trên từng kênh màu
của ảnh Ví dụ tacó ảnh đầu vào có kích thước 512 X 100 X 100 thì khi đi qua 3 lớp
Trang 30pooling với kích thước kernel là 1x1, 2x2, 4x4 thì SPP sẽ tạo ra 512, 4 X 512, 16 X512 vetor 1 chiều và được concatenated đểthành đầu vào cho lóp FC ở cuối.
• PAN Block:
PAN là viết tắt của Path Aggregation Network và một phiên bản cải tiến của FPN
features và global (high-level) features Nó giúp kết họp những semantic features
hon để cho kết quả dự đoán cuối cùng.
sử dụng nhiều trong nhữngmạng CNN để làm mạng tập trung vào những đối tượng
có trong ảnh hon làtập trung vềtổng thể Modules nàygiúp mạng có thểtăng cường
weight tậptrung vào những thông tin ngữ cảnh xung quanh đốitượng vànhững đặctrưng quan trọng.
• Mi sh Activation:
ReLu, SoftPlus, Swish
Trang 31thời điểm đó.
Trang 32Hình 2.7 Biểu,đồ so sánh hiệu suất YOLOv4
2.5.2 YOLOv5
Điềutuyệt nhất là YOLOv5 được triểnkhai nguyên bản bằng PỵTorch, loại bỏ các
dựng với phối cảnhmôi trường sản xuất (productionenvironments perspective) Sự
Trang 33Kiến trúcmô hình Y0L0v5 bao gồm 3 phầnchính:
của SPPF toàn bộ là 5 thay chohệ sốkernel size (5,9,13) như SPP của YOLOv4
Tên đay đủ là Sigmoid Linear Units (SiLUs) [20] còn được gọi là hàm kích hoạt
Backbone: CSPDarknet Neck: PANet Head: Yolo Layer
Trang 34Y0L0v5 cóbốn phiên bảnkhácnhauvớitỉ lệ: nhỏ (small), trung bình (medium), lớn
Faster 4 GPU Speed (ms/img)
(biểu thị ở trục Y) tươngứng với thời gian suy luận (biểu thị ở trục X) Dựa trên kết
nhiều lần với mức độ chính xác tương đươngmô hình EfficiencyDet
2.5.3 YOLOv8
Y0L0v8 [4] là dòngmô hình phát hiện đối tượng dựa trên YOLO tương đối mới từ
Ultralytics cung cấp hiệu suất tốt Y0L0v8tận dụng cácphiên bản YOLO trước đó
nhưng được cải tiếnnhanhhơnvàchínhxác hơn đồng thời cung cấp một khung thống