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

Thiết kế mô hình Robot Delta ứng dụng phân loại rác thải

109 2 0

Đ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ế Mô Hình Robot Delta Ứng Dụng Phân Loại Rác Thải
Tác giả Nguyễn Nhật Trường, Nguyễn Trần Bửu Thạch
Người hướng dẫn TS. Trần Đức Thiện
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ều Khiển và Tự Động Hóa
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 109
Dung lượng 11,08 MB

Nội dung

Tên đề tài: Thiết kế mô hình Robot Delta ứng dụng phân loại rác thải.. Tên đề tài: Thiết kế mô hình Robot Delta ứng dụng phân loại rác thải 2.. Nguyễn Trần Bửu Thạch MSSV: 19151171 Lớp:

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

THIẾT KẾ MÔ HÌNH ROBOT DELTA

ỨNG DỤNG PHÂN LOẠI RÁC THẢI

GVHD: TS TRẦN ĐỨC THIỆN SVTH : NGUYỄN NHẬT TRƯỜNG NGUYỄN TRẦN BỬU THẠCH

S K L 0 1 1 3 2 2

Trang 2

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

ĐỀ TÀI: THIẾT KẾ MÔ HÌNH ROBOT DELTA ỨNG

DỤNG PHÂN LOẠI RÁC THẢI

Trang 3

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN o0o

Tp Hồ Chí Minh, ngày … tháng … năm 2023

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Sinh viên thực hiện đề tài:

1 Nguyễn Nhật Trường MSSV: 19151187 Lớp: 19151CL3B

2 Nguyễn Trần Bửu Thạch MSSV: 19151171 Lớp: 19151CL3B

Ngành: Công Nghệ Kỹ Thuật Điều Khiển và Tự Động Hóa

Giảng viên hướng dẫn: TS Trần Đức Thiện ĐT: 0988862588

Ngày nhận đề tài: 06/02/2023

Ngày nộp đề tài: 30/06/2023

1 Tên đề tài:

Thiết kế mô hình Robot Delta ứng dụng phân loại rác thải

2 Các số liệu, tài liệu ban đầu:

Tìm hiểu thiết kế mô hình Robot Delta

Định hịnh đối tượng phân loại: chai nhựa và lon

Tìm hiểu về máy học, YOLO

3 Nội dung thực hiện đề tài

- Thiết kế mô hình Robot Delta trên phần mềm Solidworks 2021

- Tính toán động học cho robot, khảo sát không gian làm việc

- Ứng dụng thuật toán YOLOv5 trong hệ thống phân loại rác (chai nhựa và lon) theo thời gian thực

- Thi công mô hình Robot Delta theo bản vẽ đã thiết kế trên phần mềm Solidworks, lắp đặt tủ điện gọn gàng và an toàn theo quy chuẩn, hệ thống camera và

hệ thống cơ cấu chấp hành hút thả vật

- Lập trình điều khiển động cơ cho Robot và các thiết bị bằng phần mềm Arduino IDE, thiết kế giao diện người dùng và xử lý thuật toán phân loại trên phần mềm Visual Studio Code

Trang 4

4 Các sản phẩm dự kiến:

- Hệ thống phân loại rác tự động cho 2 đối tượng (Robot Delta, thị giác máy tính, băng tải)

- Tủ điện thiết bị

- Chương trình, giao diện điều khiển

- Quyển báo cáo đồ án tốt nghiệp

- Poster giới thiệu đồ án

5 Ngôn ngữ trình bày: Bản báo cáo: Tiếng Anh  Tiếng Việt x

Trình bày bảo vệ: Tiếng Anh  Tiếng Việt x

TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN

(Ký, ghi rõ họ tên) (ký, ghi rõ họ tên)

Trang 5

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN o0o

Tp Hồ Chí Minh, ngày … tháng … năm 2023

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Sinh viên thực hiện đề tài:

1 Nguyễn Nhật Trường MSSV: 19151187 Lớp: 19151CL3B

2 Nguyễn Trần Bửu Thạch MSSV: 19151171 Lớp: 19151CL3B

Ngành: Công Nghệ Kỹ Thuật Điều Khiển và Tự Động Hóa

Giảng viên hướng dẫn: TS Trần Đức Thiện ĐT: 0988862588

06/02/2023

(1 tuần)

- Tìm hiểu tổng quan đề tài

- Tìm hiểu về các Robot phân loại rác, ưu và nhược điểm của Robot Delta trong phân loại rác

- Tìm hiểu về động cơ Step và Arduino

13/02/2023

(2 tuần)

- Thiết kế mô hình Robot Delta trên phần mềm Solidworks

- Lựa chọn động cơ

- Tìm hiểu về động học của Robot Delta

- Tìm hiểu về xử lý ảnh, computer vision

Trang 6

27/03/2023

(2 tuần)

- Thi công mô hình

- Điều khiển động học thuận nghịch Robot

- Tìm hiểu về mạng thần kinh nơ ron và thư viện YOLOv5

- Tìm hiểu phần mềm huấn luyện (Roboflow, Google colab)

10/04/2023

(2 tuần)

- Xây dựng tập dữ liệu huấn luyện trên Roboflow

- Huấn luyện mạng YOLOv5 trên Google Colab

24/04/2023

(2 tuần)

- Kiểm chứng kết quả huấn luyện với ảnh đầu vào và camera

- Nhúng thư viện đã huấn luyện về máy tính

08/05/2023

(2 tuần)

- Xác định vị trí của vật trên hệ tọa độ ảnh

- Chuyển đổi vị trí của vật từ hệ tọa ảnh về hệ tọa độ Robot

- Xây dựng giải thuật điều khiển hành trình Robot phân loại

- Lắp đặt cơ cấu khí nén

22/05/2023

(2 tuần)

- Chạy thực nghiệm

- Đi dây hệ thống và lắp đặt tủ điện

- Thiết kế giao diện người dùng trên phần mềm Visual Studio Code

5/06/2023

(2 tuần)

- Đánh giá, kiểm chứng động học thuận, nghịch

- Đánh giá kết quả phân loại rác với hai trường hợp ánh sáng

- Cải thiện chất lượng mạng (Tăng số lượng ảnh đầu vào)

19/06/2023

(2 tuần)

- Viết quyển báo cáo đồ án

- Hoàn thành Poster, video giới thiệu đồ án và PowerPoint trình bày

GIẢNG VIÊN HƯỚNG DẪN

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

Trang 7

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN o0o

Tp Hồ Chí Minh, ngày … tháng … năm 2023

PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Sinh viên thực hiện đề tài:

1 Nguyễn Nhật Trường MSSV: 19151187 Lớp: 19151CL3B

2 Nguyễn Trần Bửu Thạch MSSV: 19151171 Lớp: 19151CL3B Ngành: Công Nghệ Kỹ Thuật Điều Khiển và Tự Động Hóa

Tên đề tài: Thiết kế mô hình Robot Delta ứng dụng phân loại rác thải

Họ và tên giảng viên hướng dẫn: TS Trần Đức Thiện

Tp Hồ Chí Minh, ngày … tháng … năm 2023

Giảng viên hướng dẫn

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

Trang 8

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN o0o

Tp Hồ Chí Minh, ngày … tháng … năm 2023

LỜI CAM ĐOAN

Nhóm sinh viên cam kết đề tài này là do nhóm thực hiện dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó

Tp.HCM, ngày … tháng … năm 2023

Sinh viên thực hiện

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

Trang 9



Sau khi trải qua quá trình thực hiện khóa luận tốt nghiệp trong 5 tháng, nhóm

đã nhận được nhiều sự giúp đỡ và hỗ trợ của các giảng viên trong trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, đặc biệt là TS Trần Đức Thiện đã tận tình hướng dẫn, góp ý và tạo mọi điều kiện cho nhóm hoàn thành khóa luận tốt nghiệp một cách thuận lợi

Tiếp đến nhóm gửi lời cảm ơn đến các thành viên trong RIC LAB đã nhiệt tình

hỗ trợ và động viên trong quá trình thực hiện khóa luận tốt nghiệp này

Với thời gian cũng như sự hiểu biết còn hạn chế, nhóm gặp không ít khó khăn trong việc tiếp cận vào việc nghiên cứu để thực hiện đề tài nên đồ án này không tránh khỏi những thiếu sót không mong muốn, nhóm rất mong nhận được sự góp ý của các thầy cô để đề tài của nhóm ngày càng hoàn thiện hơn nữa

Cuối cùng, nhóm xin chúc cho thầy cô thật nhiều sức khỏe để tiếp tục trên con đường giảng dạy

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

Tp.HCM, ngày … tháng … năm 2023

Sinh viên thực hiện

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

Trang 10

Sau quá trình thực hiện khóa luận tốt nghiệp với đề tài “Thiết kế mô hình Robot Delta ứng dụng phân loại rác thải” nhóm đã học hỏi được thêm nhiều kiến thức

bổ ích về Robot cũng như về xử lý ảnh và rút ra được nhiều kinh nghiệm Trong báo cáo này nhóm sẽ trình bày từng bước nhóm đã thực hiện để hoàn thành khóa luận tốt nghiệp Đầu tiên nhóm đã tìm hiểu về cấu trúc và thiết kế mô hình trên phần mềm Solidworks, sau khi thiết kế hoàn tất nhóm tiến hình thi công phần cứng Tiếp đến nhóm đã có những bước đầu điều khiển Robot và các thiết bị liên quan Bên cạnh đó nhóm cũng thiết kế giao diện người dùng trên phần mềm Visual Studio Code để có thể giám sát và điều khiển hệ thống dễ dàng hơn Để phát hiện, phân loại hai đối tượng rác thải (chai nhựa và lon) nhóm đã xây dựng và huấn luyện mô hình mạng YOLOv5 sau đó tiến hành tính toán vị trí để điều khiển Robot Delta thực hiện phân loại Cuối cùng nhóm tiến hành đánh giá kết quả phân loại hai đối tượng (chai nhựa

và lon) với số lượng 900 mẫu trong nhiều điều kiện ánh sáng khác nhau và đưa ra kết luận về độ chính xác, tốc độ xử lý của mô hình

Trang 11

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii

PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN v

LỜI CAM ĐOAN vi

LỜI CẢM ƠN vii

TÓM TẮT ĐỒ ÁN viii

MỤC LỤC ix

DANH MỤC BẢNG xiii

DANH MỤC HÌNH ẢNH xv

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

CHƯƠNG 1: TỔNG QUAN 1

1.1 Đặt vấn đề 1

1.2 Tình hình nghiên cứu 1

1.2.1 Nghiên cứu nước ngoài 1

1.2.2 Nghiên cứu trong nước 2

1.2.3 Nghiên cứu tại trường Đại học Sư Phạm Kỹ Thuật TP Hồ Chí Minh 4

1.3 Mục tiêu đề tài 5

1.4 Nội dung nghiên cứu 5

1.5 Giới hạn đề tài 5

1.6 Phương pháp đánh giá kết quả 5

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 6

2.1 Giải thuật phân loại rác và quy trình thực hiện 6

2.1.1 Giải thuật phân loại rác thải 6

2.1.2 Quy trình thực hiện phân loại rác thải 7

2.2 Giới thiệu Robot Delta 8

2.2.1 Cấu tạo Robot Delta 8

2.2.2 Nguyên lý hoạt động Robot Delta 8

Trang 12

2.3.2 Giới thiệu chung về động cơ bước và bộ điều khiển động cơ 10

2.4 Tổng quan thị giác máy tính, xử lý ảnh và các phần mềm 11

2.4.1 Giới thiệu về thị giác máy tính 11

2.4.2 Giới thiệu về xử lý ảnh 11

2.4.3 Giới thiệu phần mềm sử dụng trong quá trình huấn luyện 12

2.5 Giới thiệu mạng thần kinh CNN và mô hình YOLO 13

2.5.1 Cấu trúc mạng thần kinh CNN 13

2.5.2 Mô hình YOLO (You Only Look Once) 15

2.5.3 Phương pháp đánh giá mô hình phát hiện đối tượng 21

2.6 Phương pháp chuyển đổi hệ tọa độ xác định vị trí đối tượng 23

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG 24

3.1 Tổng quan về hệ thống 24

3.2 Yêu cầu thiết kế phần cứng 25

3.3 Thiết kế mô hình trên phần mềm Solidworks 25

3.3.1 Đế cố định Robot 26

3.3.2 Đế di động Robot 27

3.3.3 Khớp trên Robot 28

3.3.4 Khớp hình bình hành Robot 28

3.3.5 Khung Robot 29

3.3.6 Một số chi tiết khác 29

3.4 Lựa chọn thiết bị 30

3.4.1 Động cơ 30

3.4.2 Thiết bị điện 30

3.4.3 Thiết bị điều khiển 32

3.4.4 Camera Logitech 33

3.4.5 Cơ cấu phân loại 33

3.5 Thi công phần cứng 35

Trang 13

3.5.3 Sơ đồ hệ thống 37

3.5.4 Thi công tủ điện 39

CHƯƠNG 4: TÍNH TOÁN ĐỘNG HỌC VÀ THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN 40

4.1 Các thông số của Robot Delta 40

4.2 Động học nghịch 41

4.3 Động học thuận 47

4.4 Không gian làm việc của Robot Delta 52

4.5 Mô tả quy trình hoạt động và lưu đồ giải thuật của hệ thống 53

4.6 Lập trình, thiết kế phần mềm điều khiển và giao diện người dùng 57

4.6.1 Lập trình điều khiển Robot và các thiết bị 57

4.6.2 Lập trình, thiết kế phần mềm điều khiển và giao diện người dùng 57

CHƯƠNG 5: PHÁT HIỆN, PHÂN LOẠI VÀ XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG 59

5.1 Quy trình huấn luyện mô hình YOLO 59

5.2 Chuẩn bị tập dữ liệu 59

5.2.1 Thu thập dữ liệu 59

5.2.2 Dán nhãn dữ liệu 60

5.2.3 Phân chia tập dữ liệu 61

5.2.4 Tiền xử lý dữ liệu 61

5.2.5 Làm giàu dữ liệu 61

5.3 Quá trình huấn luyện 62

5.3.1 Quá trình huấn luyện trên phần mềm Google Colab 62

5.3.2 Kết quả huấn luyện 64

5.3.3 Đánh giá huấn luyện 67

5.4 Tính toán và xác định vị trí đối tượng 68 CHƯƠNG 6: KIỂM CHỨNG VÀ ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM 72

Trang 14

6.1.2 Kiểm chứng động học nghịch trên checkerboard 74

6.1.3 Kiểm chứng động học thực tế 76

6.2 Kiểm chứng YOLO 78

6.2.1 Kiểm chứng và thử nghiệm lần thứ nhất 79

6.2.2 Kiểm chứng và thử nghiệm lần thứ hai 80

6.3 Đánh giá kết quả toàn hệ thống 80

CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 85

7.1 Kết luận 85

7.2 Hướng phát triển 85

TÀI LIỆU THAM KHẢO 86

PHỤ LỤC 88

Trang 15

Bảng 1 1: Một số Robot phân loại rác trên thế giới 2

Bảng 1 2: Một số Robot Delta ở Việt nam 3

Bảng 1 3: Đề tài Robot phân loại tại trường Đại học Sư Phạm Kỹ Thuật TP.HCM 4 Bảng 3 1: Một số chi tiết khác của Robot Delta 29

Bảng 3 2: Động cơ Nema 17 30

Bảng 3 3: Bảng danh sách các thiết bị điện 31

Bảng 3 4: Bảng danh sách các thiết bị điều khiển 32

Bảng 3 5: Thông tin về Camera Logitech C920 33

Bảng 3 6: Các thiết bị cơ cấu khí nén 34

Bảng 3 7: Các chi tiết sau gia công 35

Bảng 3 8: Thông số của băng tải 36

Bảng 3 9: Hình ảnh trước và sau thi công tủ điện 39

Bảng 4 1: Thông số các chi tiết Robot 40

Bảng 5 1: Các bước huấn luyện mô hình YOLOv5 trên Google Colab 63

Bảng 5 2: Chương trình cụ thể các bước huẩn luyện 63

Bảng 6 1: Nhập tọa độ để kiểm chứng động học TH1 72

Bảng 6 2: Nhập tọa độ để kiểm chứng động học TH2 73

Bảng 6 3: Nhập góc và vị trí kiểm chứng động học trên checkerboard 75

Bảng 6 4: Nhập tọa độ góc để kiểm chứng động học thực tế 76

Bảng 6 5: Huấn luyện với dữ liệu 515 ảnh (ánh sáng bình thường) 79

Bảng 6 6: Huấn luyện với dữ liệu 515 ảnh (ánh sáng tối) 79

Bảng 6 7: Huấn luyện với dữ liệu 1026 ảnh (ánh sáng bình thường) 80

Bảng 6 8: Huấn luyện với dữ liệu 1026 ảnh (ánh sáng tối) 80

Bảng 6 9: Quy trình giai đoạn hoạt động của hệ thống 81

Bảng 6 10: Bảng đánh giá hệ thống lần 1 83

Bảng 6 11: Bảng đánh giá hệ thống lần 2 83

Trang 17

Hình 2 1: Quy trình phân loại rác 7

Hình 2 2: Một số mô hình Robot Delta 8

Hình 2 3: Arduino Mega 2560 9

Hình 2 4: Sơ đồ chân Arduino Mega 2560 9

Hình 2 5: Một số loại động cơ bước 10

Hình 2 6: Driver A4988 10

Hình 2 7: Board shield V3 11

Hình 2 8: Phần mềm Roboflow 12

Hình 2 9: Phần mềm Google Colab 12

Hình 2 10: Cấu trúc mạng CNN 13

Hình 2 11: Thuật toán của lớp tích chập 14

Hình 2 12: So sánh giữa Max Pooling và Average Pooling 14

Hình 2 13: Quá trình làm phẳng 14

Hình 2 14: Cấu tạo của lớp kết nối đầy đủ 15

Hình 2 15: Cấu trúc mô hình YOLOv5 16

Hình 2 16: Cấu trúc trích xuất đặc trưng của YOLOv5 16

Hình 2 17: Các feature map của mô hình YOLOv5 với đầu vào ảnh 416x416 17

Hình 2 18: Anchor box trong feature map 18

Hình 2 19: Công thức dự đoán Bounding box từ Anchor box 19

Hình 2 20: Thuật toán Non-max suppression 19

Hình 2 21: Công thức tính IOU 21

Hình 2 22: Confusion Matrix cho hai đối tượng 21

Hình 2 23: Quy trình chuyển đổi hệ tọa độ 23

Hình 3 1: Sơ đồ khối tổng quan hệ thống 24

Hình 3 2: Mô hình 3D Robot Delta a) Góc nhìn tổng quan; b) Góc nhìn từ ngoài vào; c) Góc nhìn từ trên xuống; d) Góc nhìn từ dưới lên 26

Trang 18

Hình 3 4: Mô hình 3D đế di động Robot 27

Hình 3 5: Mô hình 3D khớp trên Robot 28

Hình 3 6: Mô hình 3D khớp hình bình hành Robot 28

Hình 3 7: Khung Robot 29

Hình 3 8: Mô hình thực tế sau khi thi công 36

Hình 3 9: Sơ đồ mạch động lực 37

Hình 3 10: Sơ đồ mạch điều khiển tổng quát 37

Hình 3 11: Sơ đồ kết nối Arduino-Board Shield V3 38

Hình 3 12: Sơ đồ kết nối Board Shield V3-Driver-Động cơ bước 38

Hình 3 13: Các thiết bị bên trong tủ điện 39

Hình 4 1: Mô hình động học của Robot Delta 40

Hình 4 2: Điểm cuối cùng của Robot và các góc  41

Hình 4 3: Giao tuyến của hình cầu và mặt phẳng yz 41

Hình 4 4: Giao điểm của 2 đường tròn 42

Hình 4 5: Hệ tọa độ mới ( ,x y z   47, )

Hình 4 6: Mô hình sau khi tịnh tiến J J J 481, 2, 3 Hình 4 7: Giao điểm 3 mặt cầu 48

Hình 4 8: Hình chiếu trên mặt phẳng xy 49

Hình 4 9: Không gian làm việc của Robot Delta trong a) Không gian 3 chiều xyz; Không gian 2 chiều b) xy; c) xz; d) yz 52

Hình 4 10: Lưu đồ tổng quan hệ thống 54

Hình 4 11: Lưu đồ khối xử lý tín hiệu 55

Hình 4 12: Lưu đồ khối điều khiển 55

Hình 4 13: Lưu đồ dự đoán Bounding box của YOLOv5 56

Hình 4 14: Lập trình điều khiển trên phần mềm Arduino IDE 57

Hình 4 15: Giao diện giới thiệu trên Visual Studio Code 58

Trang 19

Hình 5 2: Tải dữ liệu lên phần mềm Roboflow 60

Hình 5 3: Dán nhãn theo Bounding box 60

Hình 5 4: Phân chia tập dữ liệu để huấn luyện 61

Hình 5 5: Dữ liệu sau khi đã được làm giàu 62

Hình 5 6: Các hình ảnh mới được tạo ra sau khi được làm giàu 62

Hình 5 7: Quá trình huấn luyện trên Google Colab 64

Hình 5 8: Kết quả huấn luyện với 185 ảnh đầu vào 65

Hình 5 9: Kết quả huấn luyện với hình ảnh 66

Hình 5 10: Kết quả huấn luyện với camera thời gian thực 66

Hình 5 11: Kết quả huấn luyện trên phần mềm Google Colab 67

Hình 5 12: Hệ tọa độ Robot Delta và không gian làm việc Camera 68

Hình 5 13: Xác định tọa độ tâm của vật từ Bounding box 68

Hình 5 14: Hệ tọa độ Pixel trong vùng làm viêc của camera 69

Hình 5 15: Hệ tọa độ Ảnh trong vùng làm viêc của camera 70

Hình 5 16: Tương quan giữa hệ tọa độ Ảnh và hệ tọa độ Robot 71

Hình 6 1: Hệ tọa độ Robot so với checkerboard 74

Hình 6 2: Camera với ánh sáng bình thường 78

Hình 6 3: Camera với ánh sáng tối 78

Trang 20

Từ viết tắt Tên tiếng Anh Tên tiếng Việt

YOLOv5 You Only Look Once Version 5

GPS Global Positioning System Hệ thống định vị toàn cậu CNN Convolution Neural Network Mạng nơ-ron tích chập IOU Intersection Over Union

VCC Voltage at the common collector

UART Universal Asynchronous

Receiver-Transmitter GPU Graphics Processing Unit

TPU Tensor Processing Unit

CPU Central Processing Unit

Trang 21

CHƯƠNG 1: TỔNG QUAN

Trong chương đầu tiên nhóm sẽ đưa ra thực trạng vấn đề rác thải đang là một vấn đề lớn và cực kỳ cấp thiết trên thế giới Từ những nghiên cứu trên thế giới, những nghiên cứu ở Việt Nam cũng như tại Trường Đại học Sư Phạm Kỹ Thuật TP.HCM, nhóm nhận thấy vấn đề áp dụng Robot trong phân loại rác thải vẫn chưa thực sự được

áp dụng rộng rãi và nhóm quyết định chọn đề tài này Nhóm sẽ trình bày mục tiêu nhóm đặt ra, nội dung nhóm đã thực hiện được cũng như những vấn đề còn hạn chế

và đưa ra những phương pháp đánh giá đã sử dụng

1.1 Đặt vấn đề

Trong thời điểm công nghiệp hóa, hiện đại hóa hiện nay cùng với sự gia tăng dân số nhanh chóng dẫn đến lượng rác thải công nghiệp và rác thải sinh hoạt cũng tăng lên rất nhanh Trung bình mỗi năm con người tạo ra 1,3 tỷ tấn chất thải rắn đô thị và chỉ trong năm 2020 thế giới thải ra hơn hai tỷ tấn rác thải rắn Với số lượng khổng lồ và chủng loại đa dạng, vấn đề xử lý rác thải đã và đang là một vấn đề lớn trên thế giới, đặc biệt là ở các nước đang phát triển Vấn đề này bắt buộc phải được thực hiện vì nó không chỉ ảnh hưởng tới môi trường sống bị ô nhiễm mà còn ảnh hưởng trực tiếp tới đời sống và sức khỏe của con người Việc thu gom, phân loại

và xử lý rác thủ công mất rất nhiều thời gian và công sức cũng như ảnh hưởng đến sức khỏe trực tiếp của người thực hiện công việc Chính vì thế với sự phát triển nhanh chóng và vượt bậc của quá trình công nghiệp hóa, hiện đại hóa trên thế giới, các nước lớn đang dần áp dụng quá trình tự động hóa vào trong công nghiệp và sinh hoạt Các hệ thống, dây chuyền tự động và Robot đang được ứng dụng ngày càng nhiều với ưu điểm tốc độ xử lý và thực hiện công việc nhanh gấp nhiều lần cũng như có thể thay thế hoàn toàn con người trong các công việc nguy hiểm Đây chính là giải pháp cho vấn đề phân loại rác thải

1.2 Tình hình nghiên cứu

1.2.1 Nghiên cứu nước ngoài

Trước thực trạng trên, nhiều quốc gia đang phát triển, tổ chức quốc tế, các nhóm nghiên cứu và doanh nghiệp đang đi tiên phong nỗ lực tìm kiếm những giải pháp mới hiệu quả nhằm hạn chế, thu thập và xử lý triệt tiêu lượng rác thải Một số hãng sản xuất Robot lớn trên thế giới như ABB, AMP, Machinex,… đã thiết kế và cho ra mắt các loại Robot với các tính năng và công việc khác nhau nhằm giải quyết các vấn đề rác thải Có thể nói ứng dụng Robot vào công việc xử lý rác thải sẽ là xu thế toàn cầu trong nhiều năm tiếp theo

Trang 22

Bảng 1 1: Một số Robot phân loại rác trên thế giới

+ Công ty FANUC + Sản xuất năm 2021 + Nước Nhật Bản + Công suất: 55 lần nhặt/ phút + Loại rác: rác thải nhựa + Cơ cấu hút

+ Công ty CSAIL + Sản xuất năm 2019 + Nước Mỹ

+ Công suất: 10-15 lần nhặt/ phút + Loại rác: rác thải nhựa

+ Cơ cấu gắp

+ Công ty AMP + Sản xuất năm 2022 + Nước Mỹ

+ Công suất: 80 lần nhặt/ phút + Loại rác: rác thải sinh hoạt + Cơ cấu hút

1.2.2 Nghiên cứu trong nước

Tại Việt Nam, việc nghiên cứu phát triển Robot đã có những bước tiến đáng

kể trong nhiều năm qua Nhiều đơn vị trên toàn quốc thực hiện thành công các nghiên cứu về ứng dụng của Robot như: Trung tâm Tự động hóa thuộc Bộ Công nghiệp, Đại học Bách khoa Thành phố Hồ Chí Minh, Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh, Viện Khoa học và Công nghệ quân sự, Học viện Kỹ thuật Quân sự, Viện

Cơ học, Việt Nam đã có các công ty lớn, nhỏ chuyên thiết kế, sản xuất và xuất khẩu Robot có thể kể đến nổi bật như: Next Robotics, Tosy, Ngoài ra các công ty, xí nghiệp lớn cũng đang từng bước áp dụng Robot vào trong các hệ thống, dây chuyền sản xuất tự động của họ nhằm cải thiện năng suất cũng như giảm thiểu chi phí nhân

Trang 23

lực Có thể kể đến một số tập đoàn lớn đã ứng dụng Robot vào trong quy trình sản xuất của họ: Vinfast với hơn 1000 Robot phục vụ cho việc sản xuất ô tô, SamSung

sử dụng các tay Robot trong sản xuất, lắp ráp linh kiện, Điều đó cho thấy Việt Nam cũng đã và đang từng bước làm chủ công nghệ Robot, không để bị bỏ xa trong lĩnh vực công nghệ này Tuy nhiên hầu hết các ứng dụng về Robot ở nước ta chủ yếu được

sử dụng trong các nhà máy sản xuất, vận chuyển hàng hóa hoặc y tế Rất ít người nghĩ đến việc ứng dụng Robot cho vấn đề phân loại rác thải, hầu hết chỉ dừng lại ở những nghiên cứu tại các trường đại học chứ chưa ứng dụng vào các nhà máy công nghiệp Đối với các ứng dụng yêu cầu về độ chính xác, tốc độ xử lý nhanh và hoạt động với công suất lớn như: phân loại rác thải, đính linh kiện, Thì các loại Robot nối tiếp thông thường không thể đáp ứng được Chính vì vậy các loại Robot song song, Robot Delta đã được thiết kế ra nhằm giải quyết các vấn đề đó Với thiết kế nhỏ gọn, tốc độ

xử lý nhanh với các đối tượng nhẹ cũng như dễ dàng lắp ráp và tích hợp vào các hệ thống khác nhau, Robot Delta chính là loại Robot phù hợp nhất trong vấn đề xử lý rác thải

Bảng 1 2: Một số Robot Delta ở Việt nam

+ Ứng dụng rộng rãi tại các nhà máy sản xuất trong các công đoạn: xử lý, phân loại và đóng gói sản phẩm với tốc độ và độ chính xác cao

+ Được dùng phổ biến trong các tác

vụ gắp thả và sắp xếp sản phẩm trên băng chuyền sản xuất công nghiệp + Mẫu Delta X phù hợp cho công việc nghiên cứu và thử nghiệm của các phòng Lab về Robotics

Trang 24

1.2.3 Nghiên cứu tại trường Đại học Sư Phạm Kỹ Thuật TP Hồ Chí Minh

Đã có rất nhiều nghiên cứu về Robot tại trường Đại học Sư Phạm Kỹ Thuật

TP Hồ Chí Minh trong những năm gần đây tuy nhiên chủ yếu những nghiên cứu chỉ dừng lại ở phòng thí nghiệm chứ chưa có tính ứng dụng vào môi trường công nghiệp Các đề tài về Robot chủ yếu liên quan đến phân loại sản phẩm, dò tìm đường đi, xác định vị trí,… Nhìn chung vẫn chưa có nhiều nghiên cứu về vấn đề ứng dụng Robot trong việc phân loại và xử lý rác thải

Bảng 1 3: Đề tài Robot phân loại tại trường Đại học Sư Phạm Kỹ Thuật TP.HCM

Robot Scara 3 bậc

tự do, sử dụng hệ thống thị giác máy tính phân loại rác thải nhựa

+ Còn hạn chế số lượng đối tượng phân loại, về vị trí phân loại

Thiết kế và chế tạo

hệ thống phân loại

rác tự động

Nguyễn Đức Lợi Lương Công Hiệu

Võ Nhựt Minh

Thiết kế mô hình Robot Scara phân loại rác thải

+ Tốc độ phân loại chưa cao

Phân loại sản phẩm

linh hoạt ứng dụng

Robot và xử lý ảnh

Lê Đức Kông Nguyễn Văn Thiên

Thiết kế mô hình Robot Delta phân loại sản phẩm theo màu sắc

+ Tốc độ và độ chính xác chưa cao

Sau khi tham khảo các đề tài ứng dụng Robot phân loại của một vài nhóm nghiên cứu tại trường Đại học Sư Phạm Kỹ thuật, nhóm nhận thấy nhìn chung các đề tài đã có thể thiết kế và thi công các hệ thống Robot phân loại khác nhau nhưng vẫn còn rất nhiều hạn chế như: tốc độ xử lý vẫn còn chưa cao, chỉ có thể phân loại với một số ít các đối tượng khác nhau chưa thể mở rộng thêm Bên cạnh đó, các đề tài Robot Delta ở trường cũng chỉ mới dừng lại trong việc phân loại sản phẩm Mà xu thế toàn cầu hiện nay là ứng dụng xử lý ảnh và trí tuệ nhân tạo vào trong các hệ thống

tự động hóa vẫn chưa được áp dụng nhiều dẫn đến những đề tài này vẫn chưa thể sử dụng vào trong công nghiệp Đối với vấn đề phân loại rác thải thì chỉ mới có một vài nhóm nghĩ đến và thực hiện những bước đầu tiên trong khi vấn đề rác thải trong công nghiệp không đơn giản như vậy Chính vì những yếu tố trên cũng như muốn tiếp cận thế giới trong lĩnh vực Robot, tự động hóa nhóm quyết định chọn đề tài “THIẾT KẾ

MÔ HÌNH ROBOT DELTA ỨNG DỤNG PHÂN LOẠI RÁC THẢI”

Trang 25

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

Thiết kế, thi công và điều khiển mô hình Robot Delta Xây dựng và huấn luyện

mô hình YOLOv5 phân loại 2 loại rác thải (chai nhựa và lon) Kết hợp giải thuật phân loại và xác định vị trí điều khiển Robot phân loại rác thải

1.4 Nội dung nghiên cứu

Chương 1 nhóm đã đưa ra các vấn đề liên quan, lý do chọn đề tài, tình hình nghiên cứu trong và ngoài nước cũng như mục tiêu, giới hạn của đề tài Tiếp theo nhóm trình bày các cơ sở lý thuyết đã áp dụng để thực hiện để tài về Robot Delta và

mô hình YOLOv5 trong chương 2 Ở chương 3 sẽ trình bày cách thiết kế mô hình, lựa chọn thiết bị và các công đoạn thi công Chương 4 nhóm sẽ tính toán động học, xây dựng chương trình điều khiển Robot và trình bày lưu đồ giải thuật hệ thống Tiếp theo sẽ trình bày các bước huấn luyện mô hình YOLOv5 cho 2 đối tượng rác thải ở chương 5 Chương 6 sau khi đã huấn luyện mạng thành công sẽ áp dụng vào mô hình, tiến hành chạy thực nghiệm và đánh giá kết quả phân loại Cuối cùng sẽ đưa ra kết luận và hướng phát triển trong tương lai ở chương 7

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

Trong đề tài này vì nhóm tham khảo một số mô hình Robot Delta nhưng vì kiến thức về cơ khí còn hạn chế nên quá trình thiết kế và thi công Robot vẫn chưa tối

ưu, Robot vẫn còn bị rung lắc khi hoạt động với tốc độ cao

Ngoài ra nhóm chỉ huấn luyện mô hình YOLOv5 phân loại với 2 đối tượng (chai nhựa, lon) chưa thể phân loại với nhiều đối tượng hơn Tốc độ phân loại đối tượng chưa cao

1.6 Phương pháp đánh giá kết quả

Trong quá trình thực hiện có nhiều bước cần phải đánh giá và kiểm chứng lại quá trình thực hiện để đảm bảo sai số phải ở mức tối thiểu và tốc độ phải tối ưu Một

số cách và ứng dụng mà nhóm đã thực hiện để đánh giá lại quá trình thực hiện đề tài:

• Đánh giá tính toán động học và quy hoạch quỹ đạo: nhóm đã tiến hành lập trình điều khiển thuận nghịch cho Robot, sau đó tổng hợp và đưa ra sai số cho phép từ đó điều chỉnh phần lập trình và phần cứng

• Đánh giá quá trình huấn luyện mô hình YOLO: tiến hành ghi nhận lại

số lượng phân loại chính xác và chưa chính xác, lập ra ma trận Confusion Matrix và đánh giá mô hình huấn luyện qua các thông số Recall, Precision và F1-score

Trang 26

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Chương này trình bày tổng quan và khái quát cơ sở lý thuyết các nội dung liên quan được thực hiện trong đề tài Trình bày về các phương pháp phân loại rác Giới thiệu về cấu tạo và nguyên lý hoạt động Robot Delta Giới thiệu chung về các thiết bị

sử dụng trong đề tài Giới thiệu tổng quan về thị giác máy tính và xử lý ảnh Giới thiệu cấu trúc mạng thần kinh CNN, mô hình YOLO và các phương pháp đánh giá Cuối cùng nói về phương pháp chuyển đổi hệ tọa độ xác định vị trí đối tượng

2.1 Giải thuật phân loại rác và quy trình thực hiện

Để có thể thiết kế một hệ thống phân loại và xử lý rác thải tự động ta sẽ phải quan tâm đến hai yếu tố là giải thuật phân loại và cơ cấu thực hiện phân loại Cả hai yếu tố này đều ảnh hưởng đến độ chính xác cũng như tốc độ phân loại rác của hệ thống

2.1.1 Giải thuật phân loại rác thải

Giải thuật phân loại là phương pháp xác định ra và kiểm tra xem đó là loại rác thải nào cũng như cho biết vị trí chính xác của loại rác đó đang ở đâu trong một vùng không gian xác định

Đối với giải thuật phân loại thì có rất nhiều phương pháp khác nhau tùy thuộc vào độ sáng tạo cũng như kiến thức của người thiết kế hệ thống Chúng ta có thể sử dụng, kết hợp các công cụ khác nhau để kiểm tra, phân loại và đưa ra vị trí của loại rác thải Hiện nay có rất nhiều phương pháp để phân loại rác thải như: Sử dụng các loại cảm biến khác nhau, sử dụng camera quang phổ, huấn luyện mạng thần kinh nhân tạo

❖ Phương pháp đầu tiên cũng là phương pháp phổ biến nhất trên thế giới hiện nay là sử dụng các loại cảm biến để xác định Ta có thể sử dụng các loại cảm biến khác nhau để phân loại ra các loại rác thải khác nhau như: cảm biến kim loại với rác thải kim loại, cảm biến độ ẩm với rác thải hữu cơ,…

• Ưu điểm: tốc độ xác định, phân loại nhanh và độ chính xác cũng khá cao Ngoài ra không phải sử dụng thêm các thiết bị khác để xác định vị

trí như camera

• Nhược điểm: chỉ phân loại được một số loại rác cố định, không thể mở rộng đối tượng phân loại

❖ Một phương pháp nữa cũng được dùng để phân loại rác thải trên thế giới đó

là sử dụng camera quang quổ Phương pháp là đo sự phản xạ ánh sáng của

Trang 27

các loại rác thải khác nhau để phân loại và thường được ứng dụng trong các ứng dụng phân loại rác thải trong xây dựng

• Ưu điểm: Có thể ứng dụng vào trong nhiều ứng dụng khác nhau đặc

biệt là phân loại rác thải công nghiệp và xây dựng

• Nhược điểm: Phải sử dụng song song 2 camera và phải có thêm những khâu tiền xử lý rác thải vì không thể phân biệt được những đối tượng

có chỉ số phản xạ gần bằng nhau

❖ Phương pháp cuối cùng được cho là có tính ứng dụng cao nhất là huấn luyện mạng thần kinh nhân tạo Với tập dữ liệu đã được chuẩn bị trước để tiến hành huấn luyện

• Ưu điểm: Có thể phân loại rất nhiều loại rác thải khác nhau và có thể

mở rộng số lượng rác phân loại tùy thuộc vào số lượng và chất lượng của đầu vào huấn luyện ngoài ra tốc độ phân loại gần như cũng bằng thời gian thực

• Nhược điểm: Người huấn luyện mạng phải có một số kiến thức nhất định về xử lý ảnh và mạng thần kinh nhân tạo Trong quá trình huấn luyện mạng công đoạn chuẩn bị tập dữ liệu đầu vào sẽ tốn khoảng thời gian rất lớn và có thể ảnh hưởng đến chất lượng và tốc độ phân loại Mỗi phương pháp sẽ có các ưu nhược điểm khác nhau tùy vào mục đích của người sử dụng phương pháp Vì có nhiều ưu điểm như: tính ứng dụng, linh hoạt cao, ứng dụng các kiến thức về xử lý ảnh và mạng thần kinh nhân tạo phù hợp với đề tài nên nhóm đã lựa chọn tiến hành sử dụng phương pháp huấn luyện mạng thần kinh nhân tạo để thực hiện trong đề tài phân loại rác này

2.1.2 Quy trình thực hiện phân loại rác thải

Hình 2 1: Quy trình phân loại rác Quy trình thực hiện phân loại rác thải được thực hiện qua 5 bước:

Bước 1 - Nhận tín hiệu hoạt động: Người dùng thao tác trực tiếp trên giao diện

điều khiển để điều khiển Robot và các thiết bị hoạt động

Trang 28

Bước 2 - Xử lý tín hiệu đầu vào: Đưa rác thải vào băng tải, khi đối tượng đi

qua vùng làm việc của camera thì mô hình sẽ phân loại và tính toán được vị trí của đối tượng

Bước 3 - Tính toán động học: Khi có được vị trí đối tượng thì tiếp tục tính

toán động học nghịch để gửi tín hiệu điều khiển cho Robot

Bước 4 - Gửi tín hiệu điều khiển: Bộ điều khiển sẽ tiến hành cấp xung cho các

động cơ

Bước 5 - Điều khiển Robot: Khi nhận được tín hiệu xung điều khiển từ động

cơ thì Robot sẽ thực thi việc phân loại

2.2 Giới thiệu Robot Delta

2.2.1 Cấu tạo Robot Delta

Robot Delta có cấu tạo bao gồm 2 phần đế song song: đế cố định ở trên để đặt các động cơ và đế di động ở dưới đặt cơ cấu chấp hành, 2 phần đế này được kết nối qua các cánh tay có dạng hình bình hành được điều khiển qua các động cơ được gắn trên đế cố định, đây chính là ưu điểm của Robot Delta so với các loại Robot thông thường khác Robot Delta chủ yếu làm việc với những ứng dụng ở hai mặt phẳng song song như đính lính kiện, phân loại sản phẩm,… Vì có kết cấu nhỏ gọn với chất liệu nhẹ, tốc độ làm việc của Robot Delta rất nhanh nhưng bù lại không thể làm việc với những ứng dụng yêu cầu chịu tải cao

Hình 2 2: Một số mô hình Robot Delta

2.2.2 Nguyên lý hoạt động Robot Delta

Nguyên lý hoạt động của Robot Delta là sử dụng các hình bình hành để tạo chuyển động đầu cuối cùng mà vẫn giữ nguyên hướng Tức là chỉ chuyển động theo

Trang 29

hướng X, Y và Z mà không bị quay hướng Đế cố định được đặt ở phía trên chứa các động cơ điều khiển các khớp trên và khớp hình bình hành

Số bậc của Robot theo số khớp của Robot, trên thế giới đã sản xuất ra các mô hình Robot Delta 4,5,6 bậc nhưng phổ biến và ứng dụng vào công nghiệp nhiều nhất vẫn là Robot Delta 3 bậc

2.3 Giới thiệu chung về các thiết bị

2.3.1 Giới thiệu chung về Arduino

Arduino là một board mạch vi điều khiển do một nhóm giáo sư và sinh viên nước Ý thiết kế và đưa ra sử dụng đầu tiên vào năm 2005 Arduino có thể thực hiện nhiều nhiệm vụ như lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác Ngoài ra Arduino còn có khả năng kết nối, tương tác với các thiết bị GPS, Internet, Camera, điện thoại di động,…

Trên thế giới hiện này có rất nhiều loại Arduino với các kích thước và cấu hình khác nhau nhưng trong đề tài lần này nhóm sử dụng Arduino Mega 2560 vì yêu cầu kết nối với số lượng thiết bị điều khiển khá lớn và cũng cần một tốc độ xử lý nhất định

Hình 2 3: Arduino Mega 2560

Hình 2 4: Sơ đồ chân Arduino Mega 2560

Trang 30

2.3.2 Giới thiệu chung về động cơ bước và bộ điều khiển động cơ

2.3.2.1 Giới thiệu về động cơ bước

Động cơ bước (còn gọi là Step Motor hay Stepping Motor) là một loại động

cơ sử dụng điện Động cơ bước quay theo từng bước một tùy theo số xung được cấp vào sẽ tạo thành một góc nào đó gọi là góc bước, nên có độ chính xác rất cao, đặc biệt là về mặt điều khiển Nếu góc bước càng nhỏ thì số bước trên mỗi vòng quay của động cơ càng lớn và độ chính xác của vị trí càng lớn

Các góc bước của động cơ thường được sử dụng phổ biến nhất là góc 1,8 độ, góc 2,5 độ, góc 7,5 độ và góc 15 độ vì đây là các góc thuận lợi cho việc tính toán nhất

Hình 2 5: Một số loại động cơ bước Hiện nay, có 4 phương pháp để điều khiển động cơ bước được sử dụng phổ biến nhất, đó là:

• Điều khiển động cơ bước dạng sóng (Wave)

• Điều khiển động cơ bước đủ (Full step)

• Điều khiển động cơ nửa bước (Half step)

• Điều khiển động cơ vi bước (Microstep)

2.3.2.2 Bộ điều khiển động cơ

Bộ điều khiển động cơ bước hay driver là thiết bị không thể thiếu khi sử dụng động cơ bước Tùy vào loại động cơ, tốc độ và ứng dụng sẽ có các driver phù hợp Trong đề tài lần này nhóm chọn driver A4988 vì kết cấu nhỏ gọn, dễ dàng kết nối lắp đặt cũng như đáp ứng khá tốt trong ứng dụng cấp xung

Hình 2 6: Driver A4988

Trang 31

Ngoài ra nhóm còn sử dụng thêm một thiết bị tích hợp cho Arduino và driver A4988 là Board Shield V3 nhằm giảm số lượng đấu dây cũng như có thể điều khiển cùng lúc cả 3 động cơ

Hình 2 7: Board shield V3

2.4 Tổng quan thị giác máy tính, xử lý ảnh và các phần mềm

Thị giác máy tính và xử lý ảnh là hai lĩnh vực liên quan mật thiết với nhau, áp dụng một số kỹ thuật trí tuệ nhân tạo AI và nhận dạng mẫu để lấy thông tin có ý nghĩa

từ hình ảnh, video và một vài đầu vào trực quan khác

2.4.1 Giới thiệu về thị giác máy tính

Thị giác máy tính sử dụng xử lý hình ảnh để nhận dạng và phân loại dữ liệu hình ảnh Trên thực tế, thị giác máy tính đang trở nên phổ biến hơn trong việc xác định các đối tượng từ hình ảnh so với hệ thống nhận thức thị giác con người Công nghệ này ngày càng được sử dụng rộng rãi trong nhiều ngành nghề khác nhau như: công nghiệp, chăm sóc sức khỏe, giải trí, …

Mục đích trong việc sử dụng xử lý ảnh bao gồm:

• Sử dụng một số kỹ thuật khác nhau để phân loại đối tượng

• Phát triển các thuật toán trong xử lý ảnh để tăng hoặc giảm chất lượng ảnh đầu vào, lọc nhiễu, làm sắc nét, …

Trang 32

2.4.3 Giới thiệu phần mềm sử dụng trong quá trình huấn luyện

Nhóm sử dụng phần mềm Roboflow cho bước chuẩn bị tập dữ liệu đầu vào, Roboflow là một công cụ cho phép người dùng xây dựng các tập dữ liệu hình ảnh hoặc truy cập các tập dữ liệu đã có sẵn trong các ứng dụng đào tạo mô hình xử lý ảnh Roboflow có đầy đủ các chức năng cần thiết để chuyển đổi, xử lý hình ảnh đầu vào thành mô hình thị giác máy tính Được tích hợp rất nhiều thư viện kinh điển như: EfficientNet, MobileNet, YOLO, TensorFlow, Pytorch,… cho phép người dùng có thể triển khai dự án trên bất kì nền tảng nào

Hình 2 8: Phần mềm Roboflow Trong quá trình đào tạo, nhóm đã sử dụng ứng dụng Colaboratory hay Google Colab là một sản phẩm của Google Research Colab cho phép chạy chương trình trực tiếp trên trình duyệt mà không cần cài đặt hoặc yêu cầu về phần cứng của máy tính

để đáp ứng các yêu cầu về khối lượng công việc nặng về CPU/GPU Hơn nữa, Colab cung cấp quyền truy cập miễn phí vào cơ sở hạ tầng điện toán như bộ lưu trữ, bộ nhớ, khả năng xử lý, đơn vị xử lý đồ họa (GPU) và đơn vị xử lý tensor (TPU)

Colab cung cấp nhiều loại GPU, thường là Nvidia K80s, T4s, P4s và P100s, tuy nhiên người dùng không thể chọn loại GPU trong Colab, GPU trong Colab thay đổi theo thời gian Vì là dịch vụ miễn phí nên Colab sẽ có những ưu tiên thứ nhất trong việc sử dụng tài nguyên hệ thống, cũng như giới hạn thời gian sử dụng, thời gian sử dụng tối đa lên tới 12 giờ

Hình 2 9: Phần mềm Google Colab

❖ Ưu điểm của Google Colab:

• Google Colab miễn phí

• Cung cấp phần cứng mạnh mẽ cho việc chạy thử chương trình từ CPU, GPU đến TPU

• Dễ dàng sử dụng và truy cập, kết nối lưu trữ trực tiếp trên Google Drive, Github

Trang 33

• Sử dụng được nhiều thư viện phổ biến dành cho DeepLearning như

Keras, TensorFlow, PyTorch và OpenCV

❖ Nhược điểm của Google Colab:

• Thời gian sử dụng có giới hạn, sau 12 giờ dữ liệu của colab sẽ bị đặt lại

• Không thể tùy chọn cấu hình phần cứng, với tài khoản miễn phí

2.5 Giới thiệu mạng thần kinh CNN và mô hình YOLO

2.5.1 Cấu trúc mạng thần kinh CNN

Hình 2 10: Cấu trúc mạng CNN CNN (Convolution Neural Network) hay còn gọi là mạng nơ-ron tích chập là một trong những mô hình Deep Learning vô cùng tiên tiến ứng dụng mạng thần kinh Nơ-ron CNN cho phép xây dựng các hệ thống thông minh với độ chính xác vô cùng cao

Mạng CNN được xây dựng theo một kiến trúc tuần tự Cấu trúc mạng CNN là một chuỗi các lớp có nhiệm vụ khác nhau, bao gồm:

❖ Lớp tích chập (Convolutional Layer):

Đây là lớp quan trọng nhất của CNN, là lớp đầu tiên để trích xuất các tính năng, đặc trưng từ hình ảnh đầu vào Ma trận điểm ảnh đầu vào sẽ được nhân tích chập với các ma trận lọc (thường có kích thước 3x3, 5x5, 7x7 và phải nhỏ hơn kích thước ma trận đầu vào) để tạo ra bản đồ đặc trưng hay feature map

Công thức toán học của lớp tích chập:

Trang 34

Với I là ma trận ảnh đầu vào, K là kích thước của ma trận lọc có chiều rộng w

và chiều cao h

Hình 2 11: Thuật toán của lớp tích chập

❖ Lớp gộp (Pooling Layer)

Sau khi có được bản đồ đặc trưng từ lớp tích chập ta cần thực hiện gộp để giảm

số lượng thông số, giảm khối lượng tính toán Có hai phương pháp gộp là: Max Pooling và Average Pooling

Hình 2 12: So sánh giữa Max Pooling và Average Pooling

❖ Lớp làm phẳng (Flattening Layer)

Đây là một lớp đơn giản được sử dụng để chuẩn hóa dữ liệu từ lớp trước đó làm đầu vào cho lớp cuối cùng – lớp kết nối đầy đủ (Fully Connected Layer)

Hình 2 13: Quá trình làm phẳng

Trang 35

❖ Lớp kết nối đầy đủ (Fully Connected Layer)

Lớp cuối cùng thực hiện quá trình phân loại là lớp kết nối đầy đủ (Fully Connected Layer) Các giá trị từ lớp làm phẳng sẽ được đưa qua các lớp của mạng nơ-ron, mạng sẽ dự đoán ra xác suất và vị trí của từng đối tượng Cuối cùng mô hình tính toán hàm loss function và sử dụng thuật toán lan truyền ngược để cập nhật trọng

số với mục tiêu hàm loss function sẽ tiến về 0 Quá trình này được thực hiện đến khi

hết chù kỳ

Hình 2 14: Cấu tạo của lớp kết nối đầy đủ

2.5.2 Mô hình YOLO (You Only Look Once)

Mô hình YOLO đã được giới thiệu bởi Joseph Redmon vào năm 2016 là một

mô hình mạng CNN ứng dụng nhận dạng và phân loại đối tượng dựa vào dự đoán các bounding box Về độ chính xác thì YOLO có thể không phải là thuật toán chính xác nhất nhưng là thuật toán nhanh nhất trong các mô hình phát hiện đối tượng YOLO không chỉ là thuật toán phát hiện và dán nhãn cho bài toán phân loại mà còn xác định được vị trí của vật thể trong không gian

Mô hình YOLO có rất nhiều phiên bản khác nhau và được cập nhật liên tục nhưng trong đề tài này nhóm sử dụng phiên bản YOLOv5 trong việc huấn luyện phân loại vì tính chính xác cũng như tốc độ xử lý của nó

2.5.2.1 Kiến trúc mô hình YOLO

Kiến trúc mô hình YOLOv5 cũng giống như kiến trúc mạng CNN bao gồm các lớp tích chập giúp trích xuất các feature map, các lớp gộp để giảm thông số tính toán, lớp làm phẳng để chuẩn bị đầu vào cho mạng nơ-ron và lớp kết nối đầy đủ sẽ

dự đoán xác suất và vị trí của từng đối tượng

Trang 36

Hình 2 15: Cấu trúc mô hình YOLOv5 Cấu trúc trích xuất đặc trưng của mô hình YOLOv5 còn gọi là cấu trúc CSPDarknet53 gồm 6 lớp convolution, 5 lớp pooling và 5 lớp CSPResblock

Hình 2 16: Cấu trúc trích xuất đặc trưng của YOLOv5

Trang 37

2.5.2.2 Đầu vào của YOLOv5

YOLOv5 hỗ trợ các đầu vào ảnh với 2 kích thước 416x416 và 608x608 Khi ảnh được đưa vào sẽ thu được các feature map với kích thước nhỏ hơn để dự đoán vật thể trên từng ô Với đầu vào 416x416 thì mô hình sẽ dự đoán trên 3 feature map 13x13, 26x26 và 52x52, còn với đầu vào 608x608 thì mô hình sẽ dự đoán trên 3

feature map 19x19, 38x38 và 72x72

2.5.2.3 Feature map

Mô hình YOLOv5 phát hiện vật thể dựa trên 3 bản đồ đặc trưng hay feature map khác nhau từ lớn tới nhỏ Những feature map có kích thước nhỏ giúp dự báo được các đối tượng có kích thước lớn Ngược lại những feature map có kích thước

lớn sẽ giúp dự báo các đối tượng kích thước nhỏ

Hình 2 17: Các feature map của mô hình YOLOv5 với đầu vào ảnh 416x416

2.5.2.4 Anchor box

Sau khi có được các feature map với các kích thước khác nhau YOLOv5 sẽ tạo ra các anchor box trong từng ô của feature map Dựa vào các anchor box này thuật toán regression bounding box sẽ dự đoán ra vị trí đối tượng và đóng khung lại, các khung này còn gọi là bounding box của vật thể

Số lượng anchor box sẽ được quy định, nếu số lượng anchor box trong từng ô của feature map càng nhiều thì sẽ giúp cho việc phân loại càng chính xác tuy nhiên

sẽ làm giảm tốc độ phân loại Thường thì số lượng anchor box được chọn cho mỗi ô

sẽ là 3 anchor box với kích thước khác nhau

Trang 38

Hình 2 18: Anchor box trong feature map

2.5.2.5 Bounding box

Sau khi đã chọn được các anchor box cho từng ô, thuật toán sẽ dự đoán ra các bounding box cho mỗi ô dựa trên những anchor box Với anchor box có kích thước

w

( p , ph) tại ô ( ,c c x y) thuật toán sẽ dự đoán ra bounding box có kích thước ( b bw, h)

và tâm ( , b bx y) dựa vào công thức:

( ) ( ) ( )

2

x y w h

Trang 39

Hình 2 19: Công thức dự đoán Bounding box từ Anchor box

2.5.2.6 Non-max suppression

Sau khi đã dự đoán thành công các bounding box của vật thể cho từng ô thì lúc này sẽ có rất nhiều bounding box bị trùng lập hoặc không liên quan Trong trường hợp đó thuật toán Non-max suppression sẽ được thực hiện để loại bỏ những bounding box với xác suất thấp hoặc trùng lập chỉ giữ lại duy nhất 1 bounding box

Hình 2 20: Thuật toán Non-max suppression

2.5.2.7 Loss Function

Hàm loss function là hàm đo độ sai số của mô hình trong quá trình huấn luyện Mục tiêu của việc huấn luyện là tìm ra bộ thông số phù hợp nhất để hàm loss function tiến về 0 nghĩa là mô hình đã được huấn luyện tốt

Hàm loss function của YOLO chia thành 2 thành phần: L loc(localization loss)

đo sai số vị trí của bounding box dự đoán và L cls(confidence loss) đo sai số của phân phối xác suất

Trang 40

ij i i i i i i i i loc coord

Cij: Điểm tin cậy của ô i

Cˆij: Điểm tự tin dự đoán

p c i( ): Xác suất của ô i có chứa đối tượng của lớp c trong tập C

p cˆi( ): Xác suất có điều kiện dự đoán

2.5.2.8 Đầu ra của YOLOv5

Đầu ra mô hình YOLO là một vector:

p0 là tỉ lệ có vật thể trong bounding box

• ( , , , ) t t t tx y w h lần lượt là vị trí tọa độ tâm, chiều rộng, chiều cao của bounding box

• ( , p p1 2, pn) là vector dự đoán sẽ có đối tượng nào trong bounding box

• Cứ mỗi 1 anchor box sẽ cho ra (n + 5) đầu ra (n là số đối tượng huấn luyện) Nếu ta sử dụng 3 anchor box cho mỗi ô và với feature map có kích thước 13x13 thì số lượng output sẽ là: 13x13x3x(n+5)

Ngày đăng: 24/02/2024, 23:43

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w