xây dựng ứng dụng trích xuất thông tin từ danh thiếp sử dụng kỹ thuật học sâu

69 1 0
Tài liệu đã được kiểm tra trùng lặp
xây dựng ứng dụng trích xuất thông tin từ danh thiếp sử dụng kỹ thuật học sâu

Đ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

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 1

BỘ 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 2

Cô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 3

BỘ 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 4

LỜ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 5

TÓ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 6

cards 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 7

LỜ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 8

DANH 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 9

2.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 10

Hì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 11

Hì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 12

DANH 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 13

DANH 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 14

MỞ ĐẨ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 15

Họ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 17

CHƯƠ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 18

Hì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 19

Xử 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 20

CHƯƠ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 21

Hì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 23

Tầ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 24

R-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 25

Mộ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 26

Hì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 27

Faster 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 28

RPN 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 29

má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 30

pooling 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 31

thời điểm đó.

Trang 32

Hì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 33

Kiế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 34

Y0L0v5 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

Ngày đăng: 06/05/2024, 17:23

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

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

Tài liệu liên quan