1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế hệ thống phát hiện và nhận diện sản phẩm cho quầy bán hàng tự động sử dụng phương pháp học thích ứng miền

55 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 đề Thiết Kế Hệ Thống Phát Hiện Và Nhận Diện Sản Phẩm Cho Quầy Bán Hàng Tự Động Sử Dụng Phương Pháp Học Thích Ứng Miền
Tác giả Đặng Công Ty
Người hướng dẫn TS. Trần Vũ Hoàng
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điện - Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 55
Dung lượng 5,08 MB

Nội dung

Thông tin đề tài - Tên của đề tài: THIẾT KẾ HỆ THỐNG PHÁT HIỆN VÀ NHẬN DIỆN SẢN PHẨM CHO QUẦY BÁN HÀNG TỰ ĐỘNG SỬ DỤNG PHƯƠNG PHÁP HỌC THÍCH ỨNG MIỀN - Đơn vị quản lý: Bộ môn Điện Công n

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

SVTH:

Tp Hồ Chí Minh, tháng 6/2023

ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỆN - ĐIỆN TỬ

THIẾT KẾ HỆ THỐNG PHÁT HIỆN VÀ NHẬN DIỆN SẢN PHẨM CHO QUẦY BÁN HÀNG TỰ ĐỘNG SỬ DỤNG

PHƯƠNG PHÁP HỌC THÍCH ỨNG MIỀN

GVHD: TS TRẦN VŨ HOÀNG ĐẶNG CÔNG TY

S K L 0 1 2 0 1 0

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH

KHOA ĐIỆN - ĐIỆN TỬ

Trang 3

THÔNG TIN KHÓA LUẬN TỐT NGHIỆP

1 Thông tin sinh viên

Họ và tên sinh viên: Đặng Công Ty MSSV: 19142415

Email: 19142415@student.hcmute.edu.vn Điện thoại: 0792546076

2 Thông tin đề tài

- Tên của đề tài: THIẾT KẾ HỆ THỐNG PHÁT HIỆN VÀ NHẬN DIỆN SẢN PHẨM

CHO QUẦY BÁN HÀNG TỰ ĐỘNG SỬ DỤNG PHƯƠNG PHÁP HỌC THÍCH ỨNG MIỀN

- Đơn vị quản lý: Bộ môn Điện Công nghiệp, Khoa Điện - Điện Tử, Trường Đại Học

Sư Phạm Kỹ Thuật Tp Hồ Chí Minh

- Thời gian thực hiện: Từ ngày 14/02/2023 đến ngày 30/06/2023

3 Lời cam đoan của sinh viên

Chúng tôi – cam đoan Khóa Luận Tốt Nghiệp là công trình nghiên cứu của chúng tôi dưới sự hướng dẫn của TS Trần Vũ Hoàng Kết quả công bố trong Khóa Luận Tốt Nghiệp là trung thực và không sao chép từ bất kỳ công trình nào khác

Tp HCM, ngày 01 tháng 07 năm 2023

Nhóm sinh viên thực hiện đồ án

_

Trang 4

ii

ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN: ĐIỆN CÔNG NGHIỆP

BẢNG NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN

I TÓM TẮT NỘI DUNG CHÍNH

Thiết kế hệ thống phát hiện và nhận dạng sản phẩm được sử dụng tại các cửa hàng bán hàng tự động khi chỉ sử dụng dữ liệu tổng hợp để huấn luyện

II MÔ TẢ ĐỀ TÀI

Đề tài đề xuất áp dụng kỹ thuật học thích ứng miền (Domain Adaptation) bằng cách kết hợp kỹ thuật học đối nghịch (Adversarial Learning) vào quá trình huấn luyện mô hình YOLOv8 nhằm giảm sự khác biệt trên miền đặc trưng giữa dữ liệu tổng hợp và dữ liệu thực tế Từ đó, hệ thống phát hiện và nhận dạng sản phẩm được huấn luyện trên các dữ liệu tổng hợp vẫn có thể hoạt động tốt trên dữ liệu thực tế

II.1 Tính cần thiết

Việc kết hợp kỹ thuật học thích ứng miền sẽ giúp tiết kiệm thời gian và công sức thu thập một lượng dữ liệu lớn cho việc huấn luyện

II.2 Bài toán đặt ra (Nội dung cần giải quyết)

Chỉ sử dụng tập dữ liệu tổng hợp đến để huấn luyện nhưng sẽ đánh giá trên tập dữ liệu thực tế

II.3 Kỹ thuật – Phương pháp sử dụng để giải quyết vấn đề

Đề tài đề xuất huấn luyện mô hình YOLOv8 với phương pháp học thích ứng miền sử dụng việc học đối nghịch Để có một mô hình học đối nghịch phù hợp với YOLOv8, đề tài đề xuất sử dụng nhiều Critic tương ứng với các Head của YOLOv8 Và trong bản thân mỗi Critic, đề tài cũng đề xuất một mô hình Critic mới có tên là Critic đa tác vụ nhằm giúp việc học đối nghịch phù hợp hơn với bài toán nhận diện và phát hiện đối tượng

II.4 Kết quả đạt được

Kết quả cuối cùng cho thấy hệ thống đề xuất có độ chính xác tăng 6.7%, độ phản hồi tăng 7.1%, và mAP tăng 10.3% khi so với YOLOv8 gốc Tốc độ xử lý vẫn không thay đổi, đạt được 127 FPS trên RTX 3090

Trang 5

iii

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

LUẬN, LUẬN VĂN, LUẬN ÁN)

I Thông tin chung

1 Tên sản phẩm học thuật: THIẾT KẾ HỆ THỐNG PHÁT HIỆN VÀ NHẬN DIỆN SẢN PHẨM CHO QUẦY BÁN HÀNG TỰ ĐỘNG SỬ DỤNG PHƯƠNG PHÁP HỌC THÍCH ỨNG MIỀN

2 Loại hình sản phẩm học thuật: khóa luận tốt nghiệp

Khoa: Điện – Điện tử

II Kết quả kiểm tra đạo văn

Ngày nộp sản phẩm Ngày kiểm tra đạo

văn

% trùng lặp toàn nội

dung

% trùng lặp cao nhất từ 1 nguồn

Lưu ý: % trùng lặp nêu ở bảng trên không tính % trùng lặp của danh mục tài liệu tham khảo

III Cam kết

Nhóm tác giả sản phẩm học thuật và giảng viên hướng dẫn cam kết rằng:

1 Nội dung trong sản phẩm học thuật nêu trên không vi phạm đạo đức và liêm chính khoa học

2 Kết quả % trùng lặp nêu tại mục II là hoàn toàn chính xác và trung thực

3 Bằng việc ký xác nhận vào mẫu này, nhóm tác giả và giảng viên hướng dẫn cam kết chịu hoàn toàn trách nhiệm có liên quan đến sản phẩm học thuật nói trên

Xác nhận của đại diện nhóm tác giả Xác nhận của giảng viên hướng dẫn

(ký ghi rõ họ và tên) (ký ghi rõ họ và tên)

Mẫu 1

(Kèm theo QĐ số 1047/QĐ-ĐHSPKT ngày 14 tháng 3 năm 2022)

Trang 6

iv

LỜI CẢM ƠN

Đầu tiên em xin được bày tỏ lòng biết ơn đến gia đình, quý thầy cô và bạn bè trong trường đã tạo điều kiện cũng như hỗ trợ và giúp đỡ em trong suốt quá trình học tập, nghiên cứu Đồ án tốt nghiệp

Và đặc biệt em xin gửi lời cảm ơn sâu sắc nhất đến TS Trần Vũ Hoàng, giảng viên Khoa Điện - Điện tử, trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, người đã tận tình hướng dẫn, góp ý cho em trong suốt quá trình làm Đồ án tốt nghiệp Một lần nữa em xin cảm ơn đến gia đình, quý thầy cô giáo của trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh nói chung, các thầy cô trong Bộ môn Điện Công Nghiệp nói riêng đã tạo điều kiện giúp đỡ và truyền tải cho chúng em những kiến thức từ cơ sở đến chuyên ngành từ đó giúp chúng em có được cơ sở lý thuyết vững vàng

Trong quá trình nghiên cứu, tìm hiểu và thực hiện đề tài sẽ không tránh khỏi những sai sót Em rất mong nhận được những sự góp ý từ quý Thầy Cô để đề tài được hoàn thiện hơn và có thể ứng dụng trên thực tế

Em xin chân thành cảm ơn!

Trang 7

v

TÓM TẮT

Hiện nay, một số cửa hàng bán lẻ truyền thống vẫn thanh toán bằng cách nhớ giá trị của từng mặt hàng và tự tính tổng số tiền khách hàng cần trả Điều này rất tốn thời gian và có thể có nhiều sai sót trong lúc tính toán Đối với các cửa hàng lớn và hiện đại hơn thì tất cả sản phẩm đều được xác định giá trên máy chủ và nhân viên của cửa hàng

sẽ quét mã QR trên sản phẩm để thanh toán nên việc thanh toán sẽ nhanh và chính xác hơn Tuy nhiên, mã QR trên sản phẩm có thể bị mờ hoặc bị méo dạng do va đập và ma sát trong quá trình vận chuyển và lưu trữ hàng hóa, dẫn tới máy đọc không thể quét được

mã Khi những trường hợp này xảy ra, nhân viên thường phải nhập mã bằng tay hoặc kiếm một sản phẩm tương tự để quét mã Việc này mang lại những bất tiện nhất định cho cả nhân viên và những khách hàng Do đó, công nghệ trí tuệ nhân tạo (AI) đã được

sử dụng trong các cửa hàng bán lẻ tự động để giải quyết các vấn đề của các cửa hàng truyền thống Các cửa hàng này sử dụng camera và các thuật toán xử lý ảnh để nhận diện các sản phẩm điều này giúp giải quyết được vấn đề của mã QR nhưng số loại sản phẩm ngày càng lớn và các sản phẩm khá giống nhau dẫn đến các thuật toán xử lý ảnh không còn giải quyết được hết tất cả trường hợp được nữa Do đó, trong nghiên cứu này, người nghiên cứu đề xuất sử dụng mô hình học sâu YOLOv8 để phát hiện và nhận diện các sản phẩm trong cửa hàng Để tiết kiệm thời gian và công sức thu thập một lượng dữ liệu lớn cho việc huấn luyện, người nghiên cứu đề xuất sử dụng dữ liệu tổng hợp – dữ liệu được tạo ra một cách nhân tạo từ việc ghép hình chiếu 3D của sản phẩm ở các mặt khác nhau vào nền thực tế Với dữ liệu tổng hợp, chúng ta có thể tạo ra một số lượng bất kì với các góc độ khác nhau tùy thích của các sản phẩm đáp ứng được việc huấn luyện mô hình học sâu Tuy nhiên, đây là dữ liệu nhân tạo, nên dữ liệu này cũng sẽ có đôi chút khác so với dữ liệu thực tế, việc mô hình có thể hoạt động trên các dữ liệu này không đảm bảo rằng chúng có thể hoạt động được trên các dữ liệu thực tế Để giải quyết vấn đề này, người nghiên cứu đề xuất áp dụng kỹ thuật học thích ứng miền (Domain Adaptation) bằng cách kết hợp kỹ thuật học đối nghịch (Adversarial Learning) vào quá trình huấn luyện mô hình YOLOv8 nhằm giảm sự khác biệt trên miền đặc trưng giữa dữ liệu tổng hợp và dữ liệu thực tế Kết quả thực nghiệm trên tập dữ liệu AI City Challenge

22 cho thấy độ chính xác tăng 6.7%, độ phản hồi tăng 7.1%, và mAP tăng 10.3% khi so

Trang 8

vi sánh với việc chỉ huấn luyện trên mô hình YOLOv8 gốc Bên cạnh đó, tốc độ của mô hình không đổi so với YOLOv8 trên phần cứng RTX 3090

Trang 9

vii

MỤC LỤC

THÔNG TIN KHÓA LUẬN TỐT NGHIỆP i

LỜI CẢM ƠN iv

TÓM TẮT v

MỤC LỤC vii

DANH MỤC CÁC TỪ VIẾT TẮT ix

DANH MỤC CÁC BẢNG BIỂU x

DANH MỤC HÌNH ẢNH xi

Chương 1 MỞ ĐẦU 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu nghiên cứu 1

1.3 Nhiệm vụ nghiên cứu 2

1.4 Giới hạn đề tài 2

1.5 Phương pháp nghiên cứu 2

1.6 Bố cục của Đồ án 2

Chương 2: CƠ SỞ LÝ THUYẾT 4

2.1 Convolution Neuron Network 4

2.2 Convolution Layer 5

2.3 Pooling Layer 6

2.4 Fully Connected Layer 6

2.5 Activation Function 6

2.6 Object Detection 7

2.6.1 YOLOv1 8

2.6.2 YOLOv4 9

2.6.2.1 Backbone 9

2.6.2.2 Neck 11

2.6.2.3 Head 13

2.6.3 Scaled-YOLOv4 14

2.6.4 YOLOv8 14

2.6.4.1 Neck 15

2.6.4.2 Head 16

2.7 GAN – Generative Adversarial Networks 16

2.7.1 DCGAN 17

2.7.2 WGAN 18

2.7.3 Ứng dụng của GAN vào Domain Adaptation 19

2.8 Data Synthetic 20

Trang 10

viii

Chương 3: THIẾT KẾ HỆ THỐNG 22

3.1 Yêu cầu thiết kế 22

3.2 Tổng quan hệ thống 22

3.3 Bộ dữ liệu huấn luyện 23

3.4 Khối phát hiện đối tượng với nhiều bộ Critic (Multi-Critic) dựa trên kỹ thuật học đối nghịch 24

3.4.1 YOLOlosses 26

3.4.2 Advloss 28

3.5 Khối đánh giá đa nhiệm Critic (Multi-task Critic) 28

3.6 Quá trình suy luận của mô hình YOLOv8 (Inference phase) 30

Chương 4: KẾT QUẢ THỰC NGHIỆM 31

4.1 Thiết lập môi trường mô phỏng để đánh giá kết quả thực nghiệm 31

4.1.1 Phần cứng và phần mềm 31

4.1.2 Bộ dữ liệu 31

4.2 Phương pháp đánh giá 32

4.3 Kết quả thực nghiệm của hệ thống 32

Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 36

5.1 Kết luận 36

5.2 Hạn chế của đề tài 36

5.3 Hướng phát triển 36

TÀI LIỆU THAM KHẢO 37

PHỤ LỤC 41

Trang 11

ix

DANH MỤC CÁC TỪ VIẾT TẮT

YOLO: You Only Look Once

CNN: Convolutional Neural Network

FC: Fully Connected

SPP: Spatial Pyramid Pooling

CSPNet: Cross Stage Partial Network

PANet: Path Aggregation Network

GAN: Generative Adversarial Network

DCGAN: Deep Convolutional Generative Adversarial Network WGAN: Wasserstein Generative Adversarial Network

ROI: Region of Interest

FPS: Frame per Second

Trang 12

x

DANH MỤC CÁC BẢNG BIỂU

Bảng 3.1 Bảng so sánh các mô hình Object Detection trên tập dữ liệu COCO 25Bảng 4.1 Bảng so sánh kết quả khi dùng phương pháp học thích ứng miền và khi không dùng phương pháp học thích ứng miền 33Bảng 4.2 Bảng so sánh kết quả khi sử dụng phương pháp học bán giám sát 34

Trang 13

xi

DANH MỤC HÌNH ẢNH

Hình 1.1 Sự khác nhau giữa môi trường cách ly và môi trường thực tế 1

Hình 2.1 Ví dụ về kiến trúc cơ bản của CNN.[6] 4

Hình 2.2 Ví dụ về lớp tích chập [6] 5

Hình 2.3 Ví dụ về lớp tích chập với Stride là 1 và Stride là 2 5

Hình 2.4 Ví dụ về Max Pooling và Average Pooling 6

Hình 2.5 Ví dụ về Fully Connected Layer 6

Hình 2.6 Ví dụ về một số hàm kích hoạt 7

Hình 2.7 Ví dụ về YOLOv1 8

Hình 2.8 Kiến trúc mạng YOLOv1 9

Hình 2.9 Kiến trúc mạng YOLOv4 9

Hình 2.10 Khối CSP 10

Hình 2.11 Bảng so sánh kiến trúc của Darknet-19 và Darknet-53 11

Hình 2.12 Sự khác nhau của kiến trúc khi sử dụng và không sử dụng SPP 12

Hình 2.13 Sơ đồ của khối SPP [25] 12

Hình 2.14 Kiến trúc của PANet 13

Hình 2.15 Head ở YOLOv4 14

Hình 2.16 CSP Neck 14

Hình 2.17 Kiến trúc của YOLOv8 15

Hình 2.18 Khối C2f (trái) và Khối BottleNeck (phải) 15

Hình 2.19 Coupled Head và Decoupled Head 16

Hình 2.20 Kiến trúc của DCGAN 18

Hình 2.21 Kiến trúc của WGAN 19

Hình 2.22 Ví dụ về biến đổi không gian ảnh từ miền nguồn sang miền đích 20

Hình 2.23 Ví dụ về áp dụng học đối nghịch để giảm khoảng cách từ miền nguồn sang miền đích 20

Hình 2.24 Ví dụ về dữ liệu thật (trái) và dữ liệu tổng hợp (phải) 21

Hình 3.1 Tổng quan kiến trúc hệ thống 23

Hình 3.2 Region of Interest (ROI) 23

Hình 3.3 Dữ liệu và mặt nạ (mask) của tập dữ liệu AIC22 24

Hình 3.4 Một số mẫu trong bộ dữ liệu mới, dữ liệu chưa được cân bằng sáng (trái) và dữ liệu đã được cân bằng sáng (phải) 24

Hình 3.5 Ảnh minh họa rời rạc hóa giá trị từ tâm đến các cạnh của Bounding Box 27

Hình 3.6 Chi tiết mô hình đánh giá Critic 30

Hình 4.1 Bộ dữ liệu AIC22(trái) và bộ dữ liệu được tạo ra để huấn luyện(phải) 31

Hình 4.2 Ảnh được lấy ra từ những video thực tế của tập dữ liệu AIC22 32

Hình 4.3 Điểm số của đặc trưng ảnh tổng hợp (trái) và điểm số của đặc trưng ảnh thật (giữa) khi đưa qua mô hình Critic Khoảng cách giữa 2 đặc trưng thật và tổng hợp (phải) 34

Hình 4.4 So sánh kết quả giữa YOLOv8 gốc (hàng đầu tiên) và hệ thống đề xuất (hàng thứ 2) 35

Hình 4.5 Một số trường hợp phát hiện sai của hệ thống đề xuất 35

Trang 14

1

Chương 1 MỞ ĐẦU 1.1 Lý do chọn đề tài

Hệ thống tính tiền tại cái quầy bán hàng trong các siêu thị chủ yếu là dùng máy quét

mã vạch hoặc máy quét mã QR để xác định giá của sản phẩm Những phương thức này tốn khá nhiều thời gian và chi phí ban đầu Thêm vào đó, khi mã vạch hoặc mã QR trên sản phẩm bị mờ hay mất một phần thì rất khó để nhận diện Để khắc phục những vấn đề này, rất nhiều ứng dụng về AI và Computer Vision được sử dụng trong các cửa hàng Tuy nhiên, phương pháp truyền thống là xử lý ảnh thuần thì cần môi trường cách ly, không có bất kỳ ảnh hưởng của môi trường như ánh sáng, tay người, [1] Và phương pháp này chỉ phát hiện được một sản phẩm trong một thời điểm được thể hiện ở Hình 1.1(a) Do đó, mô hình học sâu được ứng dụng để giải quyết vấn đề của phương pháp

xử lý ảnh thuần, nhưng cách tiếp cận này gặp những vấn đề khác như là cần thu thập bộ

dữ liệu lớn và được đánh nhãn, điều này rất tốn thời gian, vì thế, phương pháp sinh dữ liệu tổng hợp từ việc quét 3D trên máy tính được ra mắt [2] Tuy nhiên, độ chính xác khi dùng dữ liệu tổng hợp này để huấn luyện và chạy trên thực tế giảm đi đáng kể, bởi

vì rất khó để tạo ra dữ liệu giống thực tế hoàn toàn Vì thế, luận văn này sẽ tập trung vào phần phát hiện sản phẩm bằng phương pháp học thích ứng miền bằng việc kết hợp GAN [3], [4] vào YOLOv8 [5] nhằm tăng độ chính xác khi sử dụng dữ liệu tổng hợp để huấn luyện

Hình 1.1 Sự khác nhau giữa môi trường cách ly và môi trường thực tế

1.2 Mục tiêu nghiên cứu

Thiết kế hệ thống phát hiện và nhận dạng sản phẩm được sử dụng tại các cửa hàng bán hàng tự động được thể hiện ở Hình 1.1 (b), khi chỉ sử dụng dữ liệu tổng hợp để huấn

Trang 15

2

luyện Hệ thống sẽ phát hiện sản phẩm bằng việc sử dụng mô hình YOLOv8 kết hợp với GAN để cải thiện độ chính xác

1.3 Nhiệm vụ nghiên cứu

- Nhiệm vụ 1: Phân tích các thử thách của đề tài

- Nhiệm vụ 2: Khảo sát mô hình và tham khảo tài liệu

- Nhiệm vụ 3: Đề xuất mô hình và tóm tắt toàn bộ hệ thống

- Nhiệm vụ 4: Tiền xử lý dữ liệu

- Nhiệm vụ 5: Thay đổi trong mô hình YOLOv8 (thay đổi thuật toán huấn luyện

và kết hợp mô hình GAN vào mô hình)

- Nhiệm vụ 6: Đánh giá kết quả

- Nhiệm vụ 7: Viết luận văn báo cáo đồ án tốt nghiệp

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

- Dữ liệu sử dụng trong đồ án còn hạn chế nên chỉ phân biệt được 116 sản phẩm

từ bộ dữ liệu AIC22

- Chưa đưa hệ thống lên phần cứng

1.5 Phương pháp nghiên cứu

Các phương pháp được sử dụng trong đồ án bao gồm:

- Phương pháp nghiên cứu tài liệu: Thu thập và nghiên cứu các bài báo liên

quan đến đề tài

- Phương pháp thực nghiệm: Huấn luyện và xây dựng mô hình phát hiện sản

phẩm với nhiều thông số khác nhau

1.6 Bố cục của Đồ án

- Chương 1: Giới thiệu Chương này sẽ giới thiệu tổng quan tình hình nghiên

cứu trước đây của các hệ thống tự động bán hàng để từ đó rút ra các hạn chế

và đề xuất hướng giải quyết phù hợp Cuối cùng là phần trình bày tổng quan

bố cục đồ án

- Chương 2: Cơ sở lý thuyết Giới thiệu các thuật toán, các phương pháp như

CNN, Object Detection, GAN, Domain Adaptation, Data Synthetic

- Chương 3: Thiết kế hệ thống Chương này mô tả các bước để tìm ra giải pháp

cho vấn đề và đặt yêu cầu cho hệ thống đề xuất Phương pháp được mô tả từ tổng quan đến chi tiết của các thuật toán bên trong

Trang 16

3

- Chương 4: Kết quả thực nghiệm Đưa ra các kết quả thực nghiệm để từ đó

đánh giá và lựa chọn thuật toán phù hợp nhất

- Chương 5: Kết luận và hướng phát triển Chương tổng kết hoạt động và các

giới hạn của hệ thống Từ đó, đưa ra các hướng phát triển

Trang 17

4

Chương 2: CƠ SỞ LÝ THUYẾT

Chương 2 giới thiệu về định nghĩa của Convolution Neuron Network (CNN), lý

thuyết về Object Detection, đặc biệt là các mạng YOLO, GAN (Generative Adversarial

Network) và học thích ứng miền cũng được giới thiệu ở chương này

2.1 Convolution Neuron Network

Trước đây, do mô hình chỉ có các lớp kết nối đầy đủ (Fully Connected layers) nên

mô hình neural không thể học sâu được Bởi vì khi mạng càng sâu, số lượng tham số

của mô hình sẽ tăng lên rất nhanh, ví dụ, đầu vào của mô hình là ảnh RGB có kích 28x28 thì lớp đầu vào sẽ có 2.352 nút (28*28*3=2.352) Giả sử số lượng nút ở lớp ẩn

đầu tiên là 100 nút thì số lượng tham số giữa lớp đầu vào và lớp ẩn là 2.352 * 100 =

235.200 Tuy nhiên, đó mới chỉ có một lớp ẩn, nếu mô hình có số lớp ẩn nhiều hơn,

chẳng hạn như 4, 5 thì số lượng tham số sẽ tăng lên rất nhiều Điều này khiến mô hình

mạng rất nặng và cần rất nhiều dữ liệu để huấn luyện cũng như thời gian tính toán lâu

Thêm vào đó, các điểm ảnh của hình ảnh không độc lập nhau mà có liên hệ với các điểm

ảnh lân cận, vì thế, nếu đưa các điểm ảnh một cách độc lập vào mô hình sẽ không hợp

lý Do đó, mạng neural tích chập (CNN) [6] ra đời để giải quyết các vấn đề trên Kiến

trúc của mạng tích chập phổ biến được thể hiện ở Hình 2.1 Ảnh đầu vào đi qua các lớp

tích chập (Convolution Layers) và các lớp gộp (Pooling Layers) để trích xuất các đặc

trưng, sau đó các đặc trưng được tổng hợp trước đó sẽ được gửi qua lớp kết nối đầy đủ

(Fully Connected Layers) để đưa ra đầu ra dự đoán Chi tiết về các lớp này sẽ được

trình bày chi tiết ở các mục tiếp theo

Hình 2.1 Ví dụ về kiến trúc cơ bản của CNN.[6]

Trang 18

tự nếu Stride là N thì mỗi lần bộ lọc sẽ di chuyển qua N pixel Giá trị của Stride càng lớn thì đầu ra sẽ càng nhỏ được thể hiện qua Hình 2.3

(a) Không có Padding (b) Có Padding

Hình 2.2 Ví dụ về lớp tích chập [6]

Hình 2.3 Ví dụ về lớp tích chập với Stride là 1 và Stride là 2

Trang 19

6

2.3 Pooling Layer

Pooling layer thường được dùng giữa các Convolutional layer, để giảm chiều không gian của dữ liệu nhưng vẫn giữ được các thuộc tính quan trọng Có nghĩa là, sau khi đầu vào đi qua các Convolution layer thì tiếp đến Pooling layer để lược bớt các thông tin không cần thiết Trong quá trình này, quy tắc về Stride và Padding áp dụng như phép tính Convolution trên ảnh Thông thường, có hai dạng Pooling chính là Max Pooling và Average Pooling Trong đó, Max Pooling chọn giá trị lớn nhất làm giá trị đầu ra còn Average Pooling thì chọn giá trị trung bình cộng Trong Hình 2.4 cho thấy ví dụ về hai loại Pooling với kích thước bộ lọc là 2×2 và stride=2

2.4 Fully Connected Layer

Sau khi ảnh được truyền qua nhiều Convolutional layer và Pooling layer thì đầu ra của lớp cuối cùng sẽ được làm phẳng thành vector và đưa vào Fully Connected layer như một mạng nơ-ron Cuối cùng sử dụng Softmax hoặc Sigmoid để phân loại đầu ra Hình 2.5 mô tả một khối Fully Connected layer cơ bản

2.5 Activation Function

Dữ liệu hiện nay đều ở dạng không tuyến tính, vì thế nên khi đầu ra của mạng ron tuyến tính thì mô hình sẽ rất khó để phát hiện ra các mối quan hệ phức tạp trong dữ

nơ-Hình 2.4 Ví dụ về Max Pooling và Average Pooling

Hình 2.5 Ví dụ về Fully Connected Layer

Trang 20

Object Detection là một trong những bài toán đang rất được quan tâm hiện nay Nó

có rất nhiều ứng dụng, như phát hiện khuôn mặt, phát hiện xe và được sử dụng trong hệ thống xe tự hành Mô hình Object Detection sẽ xác định vị trí của các đối tượng trong hình ảnh, đánh dấu chúng bằng Bounding Box và gán nhãn cho từng Bounding Box tương ứng Để phát hiện được đối tượng, có rất nhiều phương pháp được sử dụng, nhưng chúng có thể được nhóm thành hai loại chính: Two-Stage Approach và One-Stage Approach Nhóm đầu tiên, Two-Stage Approach, sử dụng hai mô hình riêng biệt để phát hiện và phân loại đối tượng Mô hình đầu tiên sẽ làm nhiệm vụ phát hiện vùng chứa các đối tượng (Region of Interest) trong hình ảnh, sau đó, mô hình thứ hai sẽ phân loại và định vị các đối tượng đó Phương pháp này cho ra độ chính xác cao, nhưng lại có tốc độ thấp và không phù hợp với những bài toán cần chạy trên thời gian thực Một số mô hình Two-Stage phổ biến là R-CNN [7], Fast-RCNN [8] và Faster-RCNN [9] Nhóm thứ hai, One-Stage Approach, thực hiện cả hai nhiệm vụ phát hiện và phân loại đối tượng cùng một lúc Do thực hiện cả hai nhiệm vụ trong một mô hình, cách tiếp cận này có tốc độ nhanh hơn các mô hình Two-Stage, trong khi độ chính xác vẫn không thấp hơn Mô hình One-Stage nổi tiếng như SSD [10] (Single Shot Detection) và họ YOLO [11] [12] [13] [14] [15] [16] [17] [5](You Only Look Once)

Hình 2.6 Ví dụ về một số hàm kích hoạt

Trang 21

8

2.6.1 YOLOv1

YOLO [11] (You Only Look Once) là một mô hình phát hiện đối tượng đột phá được giới thiệu vào năm 2016 bởi Joseph Redmon Với tốc độ xử lý đáng kinh ngạc, YOLO vượt trội hơn các mô hình phát hiện đối tượng trước đó và có khả năng hoạt động trong thời gian thực Ý tưởng chính của YOLO là chia ảnh thành lưới SxS, trong đó mỗi

ô lưới chịu trách nhiệm phát hiện một đối tượng và tạo ra nhiều Bounding Box với các kích thước khác nhau Ví dụ, trong YOLOv1 được minh họa trong Hình 2.7, một ảnh được chia thành lưới 7x7, và mô hình bắt đầu phát hiện đối tượng trong từng ô Nếu có đối tượng trong ô, mô hình sẽ tạo ra hai Bounding Box cho ô đó Mỗi Bounding Box dự đoán vị trí trung tâm (x, y), kích thước (w, h) và điểm đánh giá (confidence) cho biết xác suất đối tượng nằm trong ô đó Nhìn chung, mỗi Bounding Box được YOLO dự đoán bao gồm năm giá trị: (x, y, w, h, confidence), tất cả đều được chuẩn hóa để nằm trong khoảng từ 0 đến 1 Hình 2.8 cho thấy kiến trúc của mạng YOLOv1, được thiết kế

để phát hiện 20 loại đối tượng, với đầu vào mạng là ảnh RGB (Red-Green- Blue) có kích thước là (448, 448, 3), và đầu ra là mảng có chiều là (S, S, Bx5+C) = (7, 7, 2x5+20)

= (7, 7, 30) Mô hình bao gồm 24 lớp Convolution làm nhiệm vụ trích xuất đặc trưng ảnh, theo sau là 2 lớp Fully Connected chịu trách nhiệm dự đoán tọa độ và điểm đánh giá Tuy nhiên, kiến trúc YOLOv1 có một số hạn chế là rất khó để phát hiện vật thể nhỏ bên cạnh đó mỗi ô lưới chỉ phát hiện được một đối tượng dẫn đến việc các đối tượng bị chồng lấn nhau sẽ không được phát hiện

Hình 2.7 Ví dụ về YOLOv1

Trang 22

mô hình gồm 3 khối chính: Backbone, Neck, Heads Chi tiết của các khối sẽ được đề cập chi tiết ở các phần tiếp theo

2.6.2.1 Backbone

Backbone của mô hình YOLOv4 thường sử dụng các mô hình đã được huấn luyện trước trên các tập dữ liệu rất lớn như ImageNet [19], có nhiệm vụ trích xuất đặc trưng của ảnh đầu vào Có nhiều loại Backbones như VGG16 [20], CSPResNet50 [21],

Hình 2.9 Kiến trúc mạng YOLOv4

Trang 23

10

CSPDarknet53 [21], và EfficentNet [22] Tuy nhiên, CSPDarkNet53 được chọn làm Backbone cho mô hình YOLOv4 do độ chính xác mà nó mang lại CSPDarkNet53 là sự kết hợp của các khối CSP vào mạng DarkNet53 [13]

a) Khối CSP (Cross Stage Partial)

Khối CSP dựa trên kiến trúc DenseNet [23] có tác dụng làm giảm số lượng tính toán cũng như tăng khả năng học của mô hình Đầu vào của khối được chia thành 2 nhánh, nhánh đầu tiên sẽ đi qua khối tích chập và nhánh còn lại sẽ kết hợp trực tiếp với đầu ra của nhánh thứ nhất được mô tả ở Hình 2.10 Do đó, khối CSP sẽ biết được những đặc trưng nào không cần trích xuất, và đặc trưng nào cần trích xuất, dẫn đến mô hình sẽ

có tốc độ nhanh hơn và độ chính xác cũng được cải thiện Bên cạnh đó, việc kết nối trực tiếp sẽ giúp mô hình tránh được vấn đề Vanishing Gradient

Trang 24

a) SPP – Spatial Pyramid Pooling

CNN thường được sử dụng để trích xuất đặc trưng hình ảnh với đầu vào cố định

để tạo ra đầu ra cố định Do đó, các hình ảnh có kích thước không đúng phải được thay đổi Việc này gây ra vấn đề là hình ảnh bị méo và bị giảm độ phân giải Do đó, SPP đã được tạo ra Một lớp SPP được thêm vào tại lớp tích chập cuối cùng để kết hợp các đặc trưng và tạo ra một đầu ra với kích thước nhất định, sau đó đưa nó vào các lớp kết nối đầy đủ Việc này tránh việc cắt và làm méo hình ảnh Hình 2.12 mô tả sự thay đổi trong kiến trúc mạng khi thêm SPP Đầu tiên, khối cắt, thay đổi kích thước ảnh đầu vào đã bị

Trang 25

12

loại bỏ Sau đó, kích thước của feature map được điều chỉnh sau khi đã được đi qua tất

cả các lớp Convolution bằng một khối Spatial Pyramid Pooling (SPP) đằng sau lớp Convolution cuối cùng Trong YOLOv4, thuật toán SPP có một số khác biệt, nó không còn chia feature map thành các khối rồi ghép chúng lại thành vector 1 chiều, mà áp dụng Max Pooling với các kernel có kích thước khác nhau (Multi-scale Maxpooling) Kích thước của feature map đầu vào sẽ được giữ nguyên, và các feature map thu được từ việc

sử dụng Max Pooling (với các kernel kích thước khác nhau) sẽ được ghép lại như được thể hiện trong Hình 2.13

Hình 2.13 Sơ đồ của khối SPP [25]

b) PAN – Path Aggregation Network

Trước đây FPN (Feature Pyramid Network) [26], thể hiện trong khối (a) của Hình 2.14, được sử dụng để trích xuất và kết hợp đặc trưng ngữ nghĩa và đặc trưng không

Hình 2.12 Sự khác nhau của kiến trúc khi sử dụng và không sử dụng SPP

Trang 26

13

gian thông qua phương pháp Bottom-up và Top-down Tuy nhiên, đối với các đối tượng lớn, kỹ thuật này rất tốn thời gian để trích xuất các đặc trưng về không gian vì đầu vào cần được đưa qua hàng trăm lớp của mạng Để giải quyết vấn đề này, PAN, mô tả ở khối (a) và (b) của Hình 2.14, được tạo ra với việc thêm một khối Bottom-up vào sau khối FPN Điều này rút ngắn đường đi bằng cách sử dụng các kết nối bên từ các lớp thấp đến các lớp cao, giúp cho việc trích xuất đặc trưng hiệu quả hơn

2.6.2.3 Head

Sau khi ảnh đầu vào được đưa qua Backbone và Neck để trích xuất đặc trưng thì YOLOv4 lấy ra các đặc trưng ở Neck với các kích thước khác nhau để đưa vào khối Head được thể hiện ở Hình 2.15 Head được cấu tạo bởi các lớp Convolution và các lớp Fully Connected Đầu ra ở mỗi Head sẽ có chiều NxNx[3*(4+1+K)] với NxN là kích thước của đặc trưng được lấy ra từ Neck, và tại mỗi Head sẽ dự đoán 3 Bounding Boxes với 4 tọa độ, 1 confidence score và K classes Do YOLOv4 sử dụng 3 đặc trưng từ 3 giai đoạn khác nhau của Neck để đưa ra dự đoán khiến cho mô hình có khả năng dự đoán được các đối tượng với kích thước khác nhau, làm tăng độ chính xác của mô hình

Hình 2.14 Kiến trúc của PANet

Trang 27

mô hình, các tác giả của Scaled-YOLOv4 dựa trên nguyên tắc chính rằng khi kích thước

mô hình tăng, chi phí tính toán tăng ít nhất có thể và ngược lại Do đó, ý tưởng chính trong mô hình này là kết hợp CSP vào Backbone và Neck để giảm số lượng tham số Kiến trúc này xử lý chỉ một nửa của feature map đầu vào và một nửa này trước khi được kết hợp với nửa còn lại sẽ đi qua các lớp Convolution Vì một phần của feature map được bảo tồn nên thông tin đi qua các giai đoạn sẽ đa dạng hơn Tiếp theo, CSP Neck cũng được thêm vào để giảm số lượng tham số của SPP được sử dụng trong mô hình như được mô tả ở Hình 2.16 Thiết kế này còn giảm tính toán của Neck khi phải tổng hợp rất nhiều thông tin Ngoài ra, nó còn tạo ra các kết nối tắt giữa các khối để tránh Vanishing Gradients

Hình 2.16 CSP Neck

2.6.4 YOLOv8

Sau rất nhiều phiên bản của YOLO thì YOLOv8 [5] được ra mắt với rất cải thiện trong kiến trúc giúp tăng độ chính xác lẫn tốc độ xử lý Tổng quan kiến trúc của mô hình

Ngày đăng: 20/03/2024, 15:26

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

TÀI LIỆU LIÊN QUAN

w