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

Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại

89 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 đề Áp dụng phương pháp học sâu (Deep Learning) trong quản lý cây trồng và cỏ dại
Tác giả Lê Khắc Chiến
Người hướng dẫn Dương Anh Tuấn
Trường học Trường Đại học Bình Dương
Chuyên ngành Công nghệ thông tin, Robot và Trí tuệ nhân tạo
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Bình Dương
Định dạng
Số trang 89
Dung lượng 3,39 MB

Nội dung

Đồ án tốt nghiệp Chương 1: Giới thiệu tổng quan Robot diệt cỏ áp dụng máy học nhận diện: Với loại máy này việc xử lý cỏ dại sẽ trở nên dễ dàng hơn tiết kiệm được nguồn lao động, lượng t

Trang 1

TRƯỜNG ĐẠI HỌC BÌNH DƯƠNG KHOA CÔNG NGHỆ THÔNG TIN, ROBOT VÀ TRÍ TUỆ NHÂN TẠO



ĐỒ ÁN TỐT NGHIỆP

TÊN ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP

ÁP DỤNG PHƯƠNG PHÁP HỌC SÂU (DEEP LEARNING) TRONG QUẢN LÝ CÂY TRỒNG

Trang 2

Thầy Dương Anh Tuấn không chỉ là người hướng dẫn mà còn là nguồn động viên quan trọng, giúp em vượt qua những thách thức và phát triển không ngừng Sự tận tâm

và lòng nhiệt huyết của thầy đã tạo nên một môi trường học tập tích cực và tràn đầy động lực

Em biết ơn không chỉ về sự chuyên nghiệp mà còn về tình cảm và lòng nhiệt thành

mà thầy đã dành cho sinh viên Mong rằng tình cảm này sẽ còn được duy trì và phát triển trong thời gian sắp tới

Em xin gửi lời cảm ơn đến gia đình và đặc biệt là ba mẹ - là người đã nuôi dưỡng, giáo dục em nên người, giúp em vượt qua bao khó khăn, thách thức của cuộc sống, giúp

em có thể theo đuổi đam mê, lý tưởng của mình trên chặn đường dài phía trước

Và cuối cùng em cũng không quên cảm ơn đến những người bạn, những người đã gắn bó suốt quãng đời sinh viên của em cho đến ngày hôm nay, những người đã giúp đỡ

em rất nhiều trong suốt quá trình thực hiện hoàn thành bài báo cáo này

Một lần nữa em xin được gửi lời biết ơn chân thành và sâu sắc nhất đến thầy cô, gia đình và bạn bè đã giúp đỡ em hoàn thành bài báo cáo này!

SINH VIÊN THỰC HIỆN

Trang 3

Đồ án tốt nghiệp

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

Trang 4

Đồ án tốt nghiệp

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

Trang 5

Đồ án tốt nghiệp

ĐỀ CƯƠNG CHI TIẾT

Tên đề tài: “Áp dụng phương pháp học sâu (Deep Learning) trong quản lý cây trồng

và cỏ dại.”

Giảng viên hướng dẫn: Ths Dương Anh Tuấn

Thời gian thực hiện đề tài: Từ ngày 06 tháng 09 năm 2023 đến ngày 06 tháng 12 năm

2023

Sinh viên thực hiện: Lê Khắc Chiến- 19050001

Kế hoạch thực hiện: Đề tài được thực hiện trong 12 tuần Tóm tắt như sau:

Từ 6/9/2023

đến 27/9/2023

- Tìm hiểu, phân tích, xác định yêu cầu bài toán

- Tìm hiểu các tài liệu liên quan về quản lý cỏ dại

- Chuẩn bị nguồn dữ liệu dataset phục vụ quá trình huấn luyện và nhận diện

Từ 28/9/2023

đến 11/10/2023

- Xây dựng ý tưởng hệ thống nhận diện

- Xây dựng ý tưởng hoạt động phần cứng

- Chọn môi trường phát triển và các công nghệ được sử dụng để thực hiện bài toán

Từ 12/10/2023

đến 25/10/2023

- Tìm hiểu các thuật toán hỗ trợ phát hiện và nhận diện trong quản lý cây trồng và cỏ dại

Trang 6

Đồ án tốt nghiệp

Từ 26/10/2023

đến 15/11/2023

- Tổ chức dữ liệu huấn luyện

- Tiến hành huấn luyện cho mô hình

- Viết báo cáo

- Thử nghiệm và đánh giá mô hình

- Demo sản phẩm, kiểm tra và khắc phục các lỗi cuối cùng

Trang 7

Đồ án tốt nghiệp

vi

MỤC LỤC

LỜI CẢM ƠN i

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

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN iii

ĐỀ CƯƠNG CHI TIẾT iv

MỤC LỤC vi

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT x

DANH MỤC CÁC BẢNG xi

DANH MỤC CÁC HÌNH ẢNH, ĐỒ THỊ xii

MỞ ĐẦU 1

GIỚI THIỆU TỔNG QUAN 1

1.1 Lý do thực hiện đề tài 1

1.2 Các hệ thống tương tự 2

1.3 Phát biểu bài toán 4

1.4 Kết quả cần đạt 6

cơ sở lý thuyết 8

2.1 Cơ sở lý thuyết 8

2.1.1 Mạng thần kinh tích chập (CNN) 8

2.1.1.1 Feature trong CNN 8

2.1.1.2 Tích chập - Convolution 9

2.1.1.3 Relu Layer 10

2.1.1.4 Pooling layer 11

2.1.1.5 Fully connected layer 11

2.1.1.6 Sử dụng phương pháp học máy có giám sát (supervised machine learning) 11

2.1.1.7 Sử dụng thuật toán CNN cho hệ thống 12

2.1.1.8 Sử dụng Python với hệ thống thần kinh tích chập CNN 13

2.1.2 Module giao diện hệ thống 13

2.1.2.1 Sử dụng Flask và so sánh các framework tương tự 13

2.2 Công nghệ sử dụng 15

Trang 8

Đồ án tốt nghiệp

vii

2.2.1 YOLOv8-Segmentation 15

2.2.2 Roboflow 19

2.2.3 Google Colab 19

2.2.4 OpenCV 20

2.2.5 Python Flask 20

2.3 Tiếp cận, giải quyết vấn đề 21

2.3.1 So sánh các mô hình trong nhận diện quản lý cây trồng bằng camera giám sát 21

PHÂN TÍCH - THIẾT KẾ 25

3.1 Yêu cầu chức năng 25

3.1.1 Ngữ cảnh sử dụng 25

3.1.1.1 Danh sách Actor 25

3.1.1.2 Sơ đồ ngữ cảnh (Context Diagram) 26

3.1.2 Các use case 26

3.1.2.1 Danh sách Use Case 26

3.1.2.2 Sơ đồ Use Case tổng quát 27

3.2 Yêu cầu phi chức năng 27

3.3 Thiết kế mô hình máy học 29

3.3.1 Mô hình tổng quát 29

3.3.2 Mô hình tập dữ liệu huấn luyện 30

3.3.2.1 Lựa chọn loại cây trồng chính 30

3.3.2.2 Chuẩn bị và gán nhãn dữ liệu đầu vào 31

3.3.3 Mô hình chi tiết 32

3.3.3.1 Nhận hình ảnh 32

3.3.3.2 Tiền xử lý 33

3.3.3.3 Nhận diện cây trồng 33

3.3.3.4 Nhận diện cỏ dại 34

3.3.3.5 Tính tỷ lệ cỏ dại so với cây trồng 35

3.3.3.6 Đếm số lượng cây 35

3.3.3.7 Hiển thị kết quả 36

3.3.4 Cơ sở toán học 37

Trang 9

Đồ án tốt nghiệp

viii

3.3.4.1 Nguyên lý tính toán nhận diện đối tượng 37

3.3.4.2 Nguyên lý tính toán tỷ lệ cỏ dại 43

3.4 Mô hình xử lý tương tác 44

3.4.1 Use case chi tiết 44

3.4.1.1 Khởi chạy hệ thống phân tích với video 46

3.4.1.2 Khởi động hệ thống với camera 46

3.4.1.3 Kiểm tra tỷ lệ cỏ dại 47

3.4.1.4 Đếm số lượng cây trồng 47

3.4.1.5 Dừng hệ thống 48

3.4.2 Sơ đồ tuần tự 49

3.4.3 Sơ đồ hoạt động 50

3.5 Thiết kế giao diện người dùng 51

3.5.1 Hệ thống màn hình 51

3.6 Thiết kế chi tiết 54

3.6.1 Kiến trúc xây dựng dự án 54

Kết quả và THỰC NGHIỆM 56

4.1 Kịch bản thử nghiệm 56

4.1.1 Thành phần thiết bị triển khai trong mô hình thực nghiệm 56

4.1.2 Thiết lập cho Jetson Nano 57

4.1.2.1 Cài đặt hệ điều hành 57

4.1.2.2 Điều khiển Jetson Nano với Remote Desktop 59

4.1.3 Sơ đồ kết nối phần cứng trong mô hình thực nghiệm 60

4.1.4 Cấu hình thử nghiệm 62

4.1.5 Các thư viện và môi trường cần thiết 62

4.1.6 Phát triển kịch bản thử nghiệm với detection và segmentation 63

4.2 Kết quả kịch bản thử nghiệm 64

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68

5.1 Kết quả đạt được 68

5.2 Hạn chế 69

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

TÀI LIỆU THAM KHẢO 71

Trang 10

Đồ án tốt nghiệp

ix

Trang 11

Đồ án tốt nghiệp

x

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Trang 12

Đồ án tốt nghiệp

xi

DANH MỤC CÁC BẢNG

Bảng 1-1: Bảng kết quả cần đạt 6

Bảng 3-1: Bảng danh sách các Actor 25

Bảng 3-2: Bảng danh sách Use Case tổng quát 26

Bảng 3-3: Bảng danh sách Use Case chi tiết 44

Bảng 4-1: Danh sách công cụ phần cứng 56

Bảng 4-2: Danh sách thư viện cần cài đặt 62

Bảng 5-1: Bảng kết quả tự đánh giá 68

Trang 13

Đồ án tốt nghiệp

xii

DANH MỤC CÁC HÌNH ẢNH, ĐỒ THỊ

Hình 1-1: Robot AI diệt cỏ trên ruộng rau 3

Hình 1-2: Robot diệt cỏ bằng tia laser tự động 3

Hình 2-1: CNN xử lý hình ảnh đầu vào và phân loại các đối tượng dựa trên giá trị 8

Hình 2-2: Minh họa tích chập 10

Hình 2-3: Ví dụ áp dụng Relu Layer 10

Hình 2-4: Minh họa Max pooling và Average pooling trong CNN 11

Hình 2-5: Kiến trúc mạng Yolo 15

Hình 2-6: Non Max Supression (NMS) xử lý hậu kỳ ảnh 16

Hình 2-7: So sánh các phiên bản YOLO khác nhau 17

Hình 2-8: Các loại nhận diện đối với phân đoạn hình ảnh 17

Hình 2-9: Quy trình làm việc đối với Roboflow 19

Hình 3-1: Sơ đồ ngữ cảnh 26

Hình 3-2: Sơ đồ đặc tả Use Case tổng quát 27

Hình 3-3: Mô hình tổng quát 29

Hình 3-4: Dữ liệu huấn luyện đầu vào 32

Hình 3-5: Nhận ảnh từ camera 32

Hình 3-6: Tiền xử lý hình ảnh đầu vào 33

Hình 3-7: Kết quả đánh dấu vùng cây trồng và cỏ dại 34

Hình 3-8: Che cây trồng chính 34

Hình 3-9: Quy trình xử lý tính toán 35

Hình 3-10: Đếm số lượng cây 36

Hình 3-11: Hiển thị kết quả với các giao thức cơ bản 36

Hình 3-12: Tuân thủ cấu trúc mô hình YOLOv8-P5 38

Hình 3-13: Biểu diễn mô hình hoạt động của Yolo 39

Hình 3-14: Mô phỏng các tham số của đầu ra và đầu vào 40

Hình 3-15: Kết quả tính toán với IoU 41

Hình 3-16: Định vị các tham số Localization Loss 42

Hình 3-17: Sơ đồ đặc tả Use Case chi tiết 44

Hình 3-18: Sơ đồ tuần tự 49

Hình 3-19: Sơ đồ hoạt động trong phân tích dưới dạng video 50

Hình 3-20: Sơ đồ hoạt động trong phân tích với camera 51

Hình 3-21: Màn hình giới thiệu về hệ thống 52

Hình 3-22: Màn hình phân tích với video quay trước 52

Hình 3-23: Màn hình phân tích với camera trực tiếp 53

Trang 14

Đồ án tốt nghiệp

xiii

Hình 3-24: Kiến trúc dự án 54

Hình 4-1: Thiết bị Jetson Nano 57

Hình 4-2: Chọn file tiến hành Flash 58

Hình 4-3: Cài đặt hệ điều hành cho thẻ nhớ (SD Card) 58

Hình 4-4: Màn hình cái đặt thành công hệ điều hành Jetson Nano 59

Hình 4-5: Kiểm tra địa chỉ IP Jetson Nano 59

Hình 4-6: Truy cập vào Jetson Nano với Remote Desktop 60

Hình 4-7: Sơ đồ kết nối phần cứng 61

Hình 4-8: Sản phẩm phần cứng hoàn thiện 61

Hình 4-9: Cấu hình thiết bị 62

Hình 4-10: Quy trình tính toán xử lý nhận diện với detection 65

Hình 4-11: Kết quả xử lý tính toán với detection 65

Hình 4-12: Quy trình tính toán xử lý nhận diện với Segmentation 66

Hình 4-13: Kết quả xử lý tính toán với Segmentation 67

Trang 15

Đồ án tốt nghiệp Mở đầu

MỞ ĐẦU

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

- Xây dựng hệ thống quản lý cây trồng và cỏ dại bằng ngôn ngữ lập trình Python

- Xây dựng mô hình dữ liệu thực tế tại khu vườn đậu đen

- Phân vùng hình ảnh sử dụng mô hình Convolutional Neural Network

- Xây dựng chức năng quản lý cây trồng kiểm soát tỉ lệ cỏ dại trong vườn

- Tạo giao diện sử dụng từ đó có thể đưa ra các thông tin và cảnh báo cho người sử dụng khi tỉ lệ cỏ dại đạt ngưỡng nhất định

Đối tượng và phạm vi nghiên cứu

- Tìm hiểu về cách xây dựng, hoạt động, các tài liệu liên quan phục vụ cho hướng nghiên cứu và phát triển đề tài

- Tìm hiểu các cách ứng dụng của sản phẩm trong thực tế

- Nghiên cứu các sản phẩm tiêu biểu liên quan

- Xây dựng hệ thống phần cứng dựa trên Jetson Nano

- Đối tượng sử dụng: tất cả mọi người có nhu cầu sử dụng giúp quản trí khu vườn của mình

Ý nghĩa thực tiễn

- Tiếp cận công nghệ mới, học tập nghiên cứu liên quan đến xử lý dữ liệu

và thị giác máy tính

- Hiểu được quy trình phân vùng hình ảnh với thư viện YOLOv8

- Hiểu được quy trình xử lý đối với các thuật toán về CNN

- Biết thêm quy trình tích hợp từ mô hình nhận diện qua phần cứng

Trang 16

Đồ án tốt nghiệp Mở đầu

- Triển khai trên phần cứng NVIDIA Jetson Nano Development Kit-B01

- Tìm hiểu các thư viện hỗ trợ lập trình

- Kiểm tra kết quả đạt được

Kết quả mong đợi

Hoàn thành cơ bản những yêu cầu ban đầu đã để ra của sản phẩm Tạo giao diện người dùng, đưa ra các thông tin để giúp người dùng quản lý khu vườn của mình một cách tốt nhất

Kiến thức áp dụng thực tiễn:

Kiến thức áp dụng cho sản phẩm này bao gồm các kiến thức về khoa học dữ liệu Dùng dữ liệu thu thập và tự tạo để đưa ra các thông tin phán đoán, từ đó sẽ xử lý ảnh đầu ra bằng phần cứng phân tích là Jetson Nano Nhằm đưa ra những thông tin và cảnh báo về cây trồng và cỏ dại cho người sử dụng

Đề tài sau khi thực hiện cũng sẽ không tránh khỏi các thiếu sót Em mong được sự đóng góp ý kiến của quý thầy cô và các bạn để phần mềm của em có thể cải thiện hơn

Và nội dung bài báo cáo được tổ chức thành 5 chương, có nội dung như sau:

Chương 1: Giới thiệu tổng quan

Trong chương này em giới thiệu chung về đề tài, giới thiệu về tính mới tính ứng dụng của sản phẩm

Chương 2: Cơ sở lý thuyết

Trong chương này em trình bày thuyết chính phục vụ nội dung của đồ án, mô hình nhận diện Trình bày cách tiếp cận, giải quyết vấn đề Mô tả sơ lược công nghệ sử dụng trong đồ án

Chương 3: Phân tích thiết kế

Trong chương này em sẽ phân tích các yêu cầu chức năng, và phi chức năng đồng thời thiết kế mô hình tổng quát, chi tiết, cơ sở toán học cho hệ thống, mô hình triển khai giao diện người dùng

Chương 4: Kết quả và thực nghiệm

Trong chương này em so sánh sự khác biệt giữa mô hình đã có và mô hình hiện tại

mà mình đang nghiên cứu Nêu kết quả thử nghiệm của kịch bản va hướng xử lý của các trường hợp ngoại lệ

Chương 5: Kết luận và hướng phát triển

Trang 17

Đồ án tốt nghiệp Mở đầu

Sau một quá trình miệt mài với công việc, dù gặp lắm khó khăn nhưng đây là lúc

để em nhìn lại thành quả lao động của mình Đây là lúc em tổng kết lại những mặt đạt

được, những mặt hạn chế của đề tài và đề xuất hướng phát triển

Trang 18

Đồ án tốt nghiệp Chương 1: Giới thiệu tổng quan

GIỚI THIỆU TỔNG QUAN

Hiện trạng

Khoa học và công nghệ có vai trò quan trọng trong việc chuyển đổi mô hình tăng trưởng, nâng cao năng suất, chất lượng, hiệu quả và sức cạnh tranh của nền kinh tế thế giới Hiện nay, cùng với sự phát triển của nền công nghiệp 4.0, các thiết bị và máy móc

đã đóng một vai trò quan trọng trong cuộc sống hằng ngày của con người Ứng dụng những thiết bị “thông minh” có áp dụng trí tuệ nhân tạo nhằm cải tiến đời sống con người, hoàn thiện các thao tác cơ bản, tăng tốc độ và thời gian có thể xử lý công việc

Dù chúng vẫn chưa thể cạnh tranh với sức mạnh xử lý của con người,nhưng cũng đã có rất nhiều ứng dụng hữu ích được tạo ra để khai thác tiềm năng của chúng Hầu hết các lĩnh vực trong cuộc sống đều có mặt của các thiết bị, ứng dụng khoa học và công nghệ như nông nghiệp, công nghiệp, giáo dục, dịch vụ,…

Với sự gia tăng dân số toàn cầu, đảm bảo cung ứng lương thực cho tương lai là quan trọng, nhưng cần kết hợp với bảo vệ tài nguyên và môi trường Tận dụng dữ liệu cây trồng từ người nông dân đòi hỏi sự áp dụng hiệu quả trong thời đại khoa học tiên tiến, đồng thời tận dụng sức mạnh của công nghệ thông tin để cải thiện chất lượng và sản lượng, tiết kiệm lao động, đưa ra quyết định chính xác trong nghiên cứu và sản xuất, góp phần tăng trưởng kinh tế và phát triển tri thức con người, nâng cao chất lượng sống Đối với nông nghiệp trồng trọt sản xuất lương thực thì cỏ dại là một trong những đối tượng dịch hại đáng lo ngại, tác hại rất lớn trên cây trồng Cỏ dại không gây hại trực tiếp cho cây trồng nhưng nó cạnh tranh dinh dưỡng, ánh sáng, nước với cây trồng Cỏ dại có thể làm giảm năng suất và chất lượng sản phẩm Ngoài ra, nhiều loài cỏ dại là ký chủ của sâu bệnh hại và còn là nơi trú ẩn, sinh sản của chuột Cỏ dại còn là cầu nối của nhiều dịch hại nguy hiểm khác như cỏ Lồng vực, Đuôi phụng còn là ký chủ phụ của rầy nâu truyền bệnh vàng lùn, lùn xoăn lá Đây là lúc chúng ta sử dụng đến công nghệ để

tự động nhận biết và tìm cách loại bỏ những thực vật hoang dại và giữ lại các thực vật đang muốn phát triển

Với mong muốn xây dựng một hệ thống dựa trên phương pháp học sâu nhằm hỗ trợ cho người dùng dễ dàng quản lý cây trồng và cỏ dại trong khu vườn của mình Đó là

lí do em đã chọn đề "Áp dụng phương pháp học sâu (Deep Learning) trong quản lý cây

Trang 19

Đồ án tốt nghiệp Chương 1: Giới thiệu tổng quan

trồng và cỏ dại" Trong báo cáo này em sẽ trình bày về các khái niệm cơ bản của công nghệ nhận dạng phân vùng hình ảnh, các công cụ và phương pháp thực hiện để xây dựng

hệ thống ra sao, cũng như báo cáo kết quả và một số đánh giá về sản phẩm, hướng phát triển thêm của đề tài

Tính cần thiết

Nông nghiệp công nghệ cao và đổi mới khoa học công nghệ đóng vai trò quan trọng trong giải quyết thách thức phát triển nông nghiệp Sử dụng các công nghệ như sinh học, nhà kính, tưới nhỏ giọt, cảm biến, tự động hóa, và internet vạn vật giúp tiết kiệm chi phí, tăng năng suất, giảm giá thành, và nâng cao chất lượng nông sản, đồng thời bảo vệ môi trường và làm cho sản xuất nông nghiệp linh hoạt, đáp ứng hiệu quả nhu cầu thị trường

Tiến bộ công nghệ nông nghiệp chính xác giúp nông dân dễ dàng cải thiện năng suất Việc khai thác triệt để dữ liệu nông nghiệp, đặc biệt qua viễn thám, mang lại nhiều lợi ích quan trọng Dưới đây là 5 ứng dụng chính của viễn thám trong nông nghiệp chính xác

Giám sát cây trồng: Giúp quan sát đồng trồng và đưa ra các quyết định kịp thời

Tiết kiệm thời gian, tiền bạc và tăng sản lượng

Theo dõi độ ẩm đất: Dựa trên những dữ liệu thu thập được chúng ta có thể quyết

định thời điểm, vị trí và lượng nước được tưới cho cây trồng Giúp cung cấp thêm hàng loạt dữ liệu về đất

Quản lý dinh dưỡng: Sau các cuộc viễn thám chúng ta có thể xác định các khu vực

trên cánh đồng cần được tính toán lại phân bón và các chất dinh dưỡng cần thiết Giúp giảm thiểu lãng phí phân bón

Phát hiện cỏ dại: Giúp thực hiện các biện pháp phòng ngừa, kiểm soát sự phát

triển của cỏ dại vầ bảo vệ mùa màng

Ước tính sản lượng: Giúp nông dân dự đoán sản lượng Từ đó đưa ra các quyết

định tốt hơn về lịch trình trồng trọt, thu hoạch và tiếp thị

Các thiết bị ứng dụng các phương pháp khoa học ngày nay hiện đang được sử dụng

và nghiên cứu sản xuất ở Việt Nam tuy nhiên với nhu cầu và nguồn kinh tế thì có vẻ như các sản phẩm vẫn chưa ứng dụng rộng rãi ở quy mô rộng

Trang 20

Đồ án tốt nghiệp Chương 1: Giới thiệu tổng quan

Robot diệt cỏ áp dụng máy học nhận diện: Với loại máy này việc xử lý cỏ dại sẽ

trở nên dễ dàng hơn tiết kiệm được nguồn lao động, lượng thuốc trừ sâu sử dụng để loại

bỏ cỏ dại giảm 90%, bảo vệ hệ sinh thái đất tại nông trường Dựa trên việc xác định đâu

là cây trồng và đâu là cỏ dại nhờ áp dụng các phương pháp máy học và phân tích dữ liệu thông qua các thiết bị quan sát và cảm biến

Máy diệt cỏ laser áp dụng máy học nhận diện: tương tự với máy phun thuốc trừ

sâu có sử dụng máy học máy bắn tia laser sẽ giải quyết các bài toán về lao động, bảo vệ môi trường và hoàn toàn không sử dụng đến thuốc trừ sâu Trong quá trình áp dụng các phương pháp khoa học và sinh học từ lúc con người nguyên cứu ra loại thuốc có thể diệt

Hình 1-2: Robot diệt cỏ bằng tia laser tự động Hình 1-1: Robot AI diệt cỏ trên ruộng rau

Trang 21

Đồ án tốt nghiệp Chương 1: Giới thiệu tổng quan

cỏ thì đến nay số lượng loại thuốc diệt cỏ ngày càng tăng đồng thời kém hiệu quả theo từng năm, nguyên nhân là do quá trình sử dụng thuốc diệt cỏ, những loại cỏ sống sót trong lần phun đó sẽ sinh trưởng ra những loại cỏ thế hệ sau có sức kháng sinh cao hơn, thậm chí là khó tiêu diệt hơn Đây là hậu quả của việc lạm dụng thuốc diệt cỏ

Cách hoạt động chung của hai loại máy trên: khi bắt đầu sử dụng máy sẽ chụp ảnh mặt đất, từ đó theo dõi và phát hiện cỏ dại theo thời gian thực Bằng cách sử dụng AI những thiết bị này phát hiện rõ những loại cỏ dại nhanh hơn cả tốc độ của con người có thể kịp nhận biết đâu là cỏ dại đâu là cây trồng với vị trí chính xác lên đến từng cm Sau khi nhận biết được các loại cỏ dại này các tìm tia laser hoặc thuốc trừ sâu sẽ được bắn

ra tại nơi mà thiết bị này đi qua

Tính mới của đề tài

Phương pháp nhận diện truyền thống: Đối với các phương pháp quản lý cỏ dại

bằng khoa học công nghệ nhận diện, phân loại trước kia phần lớn sẽ chú trọng vào phần thu thập dữ liệu cỏ dại và từ đó nhận biết đâu là cỏ dại đâu là cây trồng Tuy nhiên đối với từng địa điểm khác nhau và từng cây trồng khác nhau sẽ có từng loại cỏ dại khác nhau sinh sôi nảy mầm Làm cho việc thu thập dữ liệu về cỏ cho từng địa điểm này là một vấn đề khá khó khăn, ngoài ra có thể tính đến tương lai có thể có những loại cỏ mới chưa được phát hiện Với số lượng dữ liệu cỏ dại khổng lồ việc xử lý dữ liệu, gán nhãn, huấn luyện sẽ gây trở ngại về thời gian và công sức

Phương pháp nhận diện trong đề tài nghiên cứu này: Vì để khắc phục được những

khuyết điểm về mặt thời gian và công sức nhằm phù hợp với thời gian nghiên cứu của mình nhưng vẫn có tính ứng dụng và cũng là một phần mới trong việc nhận diện so với những phương pháp nhận diện trước kia, đồng thời là bước khởi đầu cho những sản phẩm cải tiến sau này Đối với việc nhận diện quản lý cây trồng và cỏ dại em sẽ nhận diện các loại cây trồng chính thay vì các loại cỏ dại để nhận biết và phân biệt giữa cây trồng và cỏ dại từ đó thu hẹp lượng dữ liệu phải thu thập đồng thời nhận biết được nhiều loại cỏ không phải và cây trồng chính hơn

Mục tiêu

Trong đề tài nghiên cứu này em sẽ tìm hiểu và tạo ra một hệ thống áp dụng các công nghệ khoa học nhằm quản lý khu vườn của người sử dụng và cảnh báo đến người dùng khi mật độ cỏ dại so với cây trồng đạt đến ngưỡng nhất định từ đó người trồng có thể quản lý khu vườn của mình một cách chủ động hơn Giúp gia tăng sản lượng cây trồng, giúp cây trồng không bị cạnh tranh chất dinh dưỡng bởi các loại cỏ dại

Trang 22

Đồ án tốt nghiệp Chương 1: Giới thiệu tổng quan

Nghiên cứu các phương pháp quản lý cỏ dại và cây trồng có áp dụng công nghệ khoa học từ đó so sánh và đánh giá các hướng làm tối ưu ở phạm vi phù hợp, đồng thời đưa ra một số hướng phát triển của đề tài này trong tương lai nhằm mang lại được một sản phẩm có thể ứng dụng và triển khai trên phạm vi rộng rãi Định hướng tương lai về việc áp dụng các kỹ thuật mới cho quảnn lý cây trồng và cỏ dại bằng DL

Chia sẻ các kĩ thuật và quy trình xây dựng trong suốt quá trình hoàn thiện sản phẩm này cũng là một phần trong bài nghiên cứu này Từ đó có một cái nhìn tổng quan giúp

so sánh và đánh sản phẩm, hướng làm Xem xét các quy trình tạo và làm nên cải tiến và thay đổi để phù hợp với nhu cầu, thị trường và ứng dụng của sản phẩm trong nhiều hoạt động trong cuộc sống

Nội dung

Trong phần nội dung thực hiện đồ án này sẽ bao gồm các nội dung chính như So sánh các thuật toán nhận diện phục vụ cho bài toán quản lý cây trồng và cỏ dại Quy trình xử lý nhận diện và tính toán tỷ lệ dựa trên các khung hình nhận được từ camera Cách tích hợp và sử dụng thiết bị NVIDIA Jetson Nano Developer Kit trên Yolov8 Nhận xét ưu nhược điểm, ứng dụng và hướng phát triển của đề tài

Phạm vi

Trong phạm vi đồ án này sản phẩm sẽ được thực hiện và triển khai mô phỏng trên khu vườn cây đậu đen Tại đây cây trồng chính mà sản phẩm quan tâm đó chính là cây đậu đen Sản phẩm quan sát và bắt đầu nhận diện, truyền tải thông tin đến trung tâm điều khiển Giúp người dùng quan sát được tình hình cỏ dại và cây trồng của mình mà không cần phải trực tiếp ra vườn

Sản phẩm đồ án

Sản phẩm sẽ bao gồm một hệ thống phần cứng mạch xử lý nhận diện có kết nối camera và internet Sản phẩm sẽ hỗ trợ người dùng thông qua giao diện website giúp người dùng quản lý tình trạng cỏ dại bất cứ đâu, bất cứ khi nào trong khu vườn của mình

và không cần phải di chuyển trực tiếp địa điểm cần kiểm tra

Ràng buộc nghiệp vụ và công nghệ sản phẩm

Ràng buộc số lượng truy cập: Ứng dụng hỗ trợ phiên bản website và chỉ sử dụng một camera duy nhất vì vậy trong trường hợp nhiều lượng truy cập sẽ gây ra một số xung đột khi xử lý

Ràng buộc công nghệ: Sản phẩm xử lý hình ảnh trên thiết bị Jetson Nano hoặc những thiết bị phần cứng hỗ trợ xử lý hình ảnh bằng GPU

Trang 23

Đồ án tốt nghiệp Chương 1: Giới thiệu tổng quan

ẩm ướt,…Nhằm tăng tuổi thọ hệ thống

Bảng 1-1: Bảng kết quả cần đạt

Biết cách xây dựng quy trình xử lý bài

toán quản lý cây trồng và cỏ dại

Các quy trình đưa ra phù hợp và khả thi thực hiện tại thời điểm thực hành Biết xây dựng bộ dữ liệu và cấu trúc

bộ dữ liệu phù hợp với mô hình nhận

Mô hình nhận diện tốt và tối ưu Hệ thống nhận diện tỷ lệ chính xác cao

>75% với các loại cỏ khác nhau Triển khai sản phẩm thành mô hình

hoàn thiện trên phần cứng có giao diện

dành cho người dùng

Giao hiện dễ sử dụng, thân thiện với người sử dụng

Biết đánh giá sản phầm và nêu được

hướng phát triển đề tài

Đánh giá thực tế dựa trên sản phẩm hoàn thành, đưa ra hướng phát triển phù hợp từ sản phẩm đề tài

Tính ứng dụng

Trang 24

Đồ án tốt nghiệp Chương 1: Giới thiệu tổng quan

Quản lý mật độ cỏ dại trong vườn: Đối với những khu vườn phải thường xuyên quan sát lượng cỏ dại để đưa ra các phương pháp giải quyết và số lượng nhân lực phù hợp, hoặc sẽ quản lý cỏ dại theo từng mốc thời gian, có thể thấy những khu vườn này

đã phải hao phí thời gian và công sức nhưng vẫn không thể quản lý cỏ dại tối ưu nhất Người trồng không thể biết được khi nào thì họ nên xử lý cỏ dại, khi nào thì lượng cỏ dại sẽ phát triển lớn mạnh và phải mất thời gian để có được những thông tin này

Vì vậy sản phẩm của em sẽ là một sản phẩm giải quyết các vấn để trên Sản phẩm

sẽ cung cấp cho người dùng về mật độ cỏ dại so với cây trồng là bao nhiêu phần trăm

và cảnh báo cho người dùng Giúp họ nắm bắt được tình hình cỏ dại trong vườn và đưa

ra những hướng giải quyết, cũng như thuê số lượng nhân lực phù hợp

Trang 25

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

xử lý ảnh, cụ thể là nhận diện đối tượng trong ảnh

Mô hình CNN để training và kiểm tra, mỗi hình ảnh đầu vào sẽ chuyển nó qua 1 loạt các lớp tích chập với các bộ lọc (Kernals), tổng hợp lại các lớp được kết nối đầy đủ (Full Connected) và áp dụng hàm Softmax để phân loại đối tượng có giá trị xác suất giữa 0 và 1

2.1.1.1 Feature trong CNN

Trong mạng Neural Convolutional (CNN), các feature (đặc trưng) là những thông tin quan trọng được trích xuất từ ảnh đầu vào Các feature này giúp mô hình CNN nhận biết và phân loại các đối tượng trong ảnh Các CNN sẽ so sánh hình ảnh dựa theo từng mảnh Feature Thay vì phải khớp các bức ảnh lại với nhau thì CNN sẽ nhìn ra sự tương động khi tìm kiếm thô các Feature khớp với nhau bằng 2 hình ảnh tốt hơn Mỗi Feature được xem là một hình ảnh mini có nghĩa chúng là những mảng 2 chiều nhỏ Các Feature này đều tương ứng với các khía cạnh nào đó của hình ảnh và chúng có thể khớp lại với nhau

Hình 2-1: CNN xử lý hình ảnh đầu vào và phân loại các đối tượng dựa trên giá trị

Trang 26

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

2.1.1.2 Tích chập - Convolution

Lớp tích chập là khối xây dựng cơ bản của Mạng thần kinh tích chập (CNN) Nó đóng một vai trò quan trọng trong việc trích xuất các đặc điểm từ dữ liệu đầu vào, chẳng hạn như hình ảnh Những yếu tố quan trọng của một convolutional layer là: stride, padding, filter map, feature map

Mạng CNN sử dụng filter để áp dụng vào các vùng của ma trận hình ảnh Các filter map là các ma trận 3 chiều, bên trong đó là những tham số và chúng được gọi là parameters

Stride là số lượng dịch chuyển filter map theo từng pixel dựa vào các giá trị từ trái qua phải Khi stride là 1 thì ta di chuyển các kernel 1 pixel Khi stride là 2 thì ta di chuyển các kernel đi 2 pixel

Padding: Những giá trị viền xung quanh của ma trận hình ảnh sẽ được gán các giá trị 0 để có thể tiến hành nhân tích chập mà không làm giảm kích thước ma trận ảnh ban đầu

Feature map: Biểu diễn kết quả sau mỗi lần feature map quét qua ma trận ảnh đầu vào Sau mỗi lần quét thì lớp Convolutional sẽ tiến hành tính toán

Các tham số của các bộ lọc này được học thông qua quá trình lan truyền ngược (backpropagation) và cập nhật trong quá trình huấn luyện Những bộ lọc học được trong quá trình huấn luyện có thể phát hiện ra các đặc trưng phức tạp của hình ảnh, giúp cải thiện độ chính xác của mô hình Convolutional layer thường được sử dụng kết hợp với các lớp kích hoạt (activation layer) như ReLU (Rectified Linear Unit) để tạo động lực cho quá trình học và giảm thiểu độ dốc biến mất (vanishing gradient), một vấn đề thường gặp trong việc huấn luyện mạng neural sâu

Tích chập duy trì mối quan hệ giữa các pixel bằng cách tìm hiểu các tính năng hình ảnh bằng cách sử dụng các ô vương nhỏ của dữ liệu đầu vào Nó là 1 phép toán có 2 đầu vào như ma trận hình ảnh và 1 bộ lọc hoặc hạt nhân

Trang 27

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

2.1.1.3 Relu Layer

Relu layer là hàm kích hoạt trong neural network và hàm này còn được gọi là activation function Hàm kích hoạt có tác dụng mô phỏng các neuron có tỷ lệ truyền xung qua axon Trong activation function thì nó còn có hàm nghĩa là: Relu, Leaky, Tanh, Sigmoid, Maxout,

Hiện nay, hàm relu được dùng phổ biến và vô cùng thông dụng Nó được sử dụng nhiều cho các nhu cầu huấn luyện mạng neuron thì relu mang lại rất nhiều ưu điểm nổi bật như: việc tính toán sẽ trở nên nhanh hơn, Quá trình sử dụng relu, chúng ta cần lưu

ý đến vấn đề tùy chỉnh các learning rate và theo dõi dead unit Những lớp relu layer đã được sử dụng sau khi filter map được tính ra và áp dụng hàm relu lên những giá trị của filter map

Hình 2-2: Minh họa tích chập

Hình 2-3: Ví dụ áp dụng Relu Layer

Trang 28

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

2.1.1.4 Pooling layer

Khi ma trận ảnh đầu vào có kích thước quá lớn, các lớp Pooling layer sẽ được đặt vào giữa những lớp Convolutional để làm giảm những parameters Hiện, hai loại lớp Pooling được sử dụng phổ biến là Max pooling và Average

2.1.1.5 Fully connected layer

Khi 2 lớp convolutional layer và pooling layer nhận được ảnh truyền, lớp này sẽ

có nhiệm vụ xuất kết quả Khi ta nhận được kết quả là model đọc được thông tin ảnh, ta cần phải tạo sự liên kết để cho ra nhiều output hơn Đây chính là lúc ta sử dụng fully connected layer Ngoài ra, nếu lớp này có dữ liệu hình ảnh thì lớp sẽ chuyển chúng thành các mục chưa được phân chia chất lượng để tìm ra ảnh có chất lượng cao nhất

2.1.1.6 Sử dụng phương pháp học máy có giám sát (supervised machine learning)

Phần lớn các ứng dụng học máy thực tế đều sử dụng học tập có giám sát – supervised learning Vậy đối với ứng dụng của đề tài này phương pháp này sẽ có những

ưu điểm gì nổi bật so với các phương pháp học khác

Khả năng học đặc trưng tự động: Mô hình có khả năng tự học các đặc trưng quan

trọng từ dữ liệu hình ảnh của cây trồng mà không cần định rõ trước

Hiệu quả về mặt thời gian: Supervised machine learning có thể cung cấp hiệu suất

nhận diện nhanh chóng, đặc biệt là khi sử dụng các mô hình như CNN được tối ưu hóa cho xử lý hình ảnh

Khả năng tích hợp linh hoạt: Các mô hình có thể dễ dàng tích hợp vào các hệ thống

camera giám sát hiện đại để thực hiện nhận diện cây trồng trực tuyến

Hiệu suất cao với dữ liệu lớn: Khi được huấn luyện trên lượng dữ liệu lớn và đa

dạng, supervised learning có khả năng cung cấp hiệu suất nhận diện cao

Hình 2-4: Minh họa Max pooling và Average pooling trong CNN

Trang 29

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

Cập nhật và tinh chỉnh dễ dàng: Dữ liệu mới có thể được thêm vào để cập nhật và

tinh chỉnh mô hình theo thời gian, giúp nâng cao khả năng nhận diện theo thời gian

Tận Dụng Dữ Liệu Gán Nhãn: Supervised learning tận dụng dữ liệu gán nhãn, nơi

mỗi hình ảnh cây trồng đã được gắn kết với nhãn đúng Điều này giúp mô hình học được

từ các mẫu dữ liệu có sẵn và cung cấp dự đoán chính xác khi đối mặt với dữ liệu mới

Tính phổ biến và sử dụng rộng rãi: Có nhiều thư viện và framework hỗ trợ

supervised machine learning như scikit-learn, TensorFlow, PyTorch, làm cho việc triển khai và sử dụng mô hình trở nên phổ cập và thuận tiện

Sử dụng supervised machine learning trong nhận diện cây trồng bằng camera giám sát giúp tự động hóa quá trình nhận diện, giảm sự phụ thuộc vào quy tắc cụ thể, và mang lại khả năng nhận diện nhanh chóng và linh hoạt Điều này làm cho phương pháp này trở thành một công cụ mạnh mẽ trong nhiều ứng dụng trong nông nghiệp và quản lý môi trường

2.1.1.7 Sử dụng thuật toán CNN cho hệ thống

Kiến trúc lý tưởng khi giải quyết vấn đề dữ liệu hình ảnh, một trong những mô hình Deep Learning tiên tiến không thể nhắc đến CNN Nó giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay CNN được sử dụng nhiều trong các bài toán nhận dạng, phân đoạn các đối tượng trong ảnh Dưới đây

sẽ là một số lý do lựa chọn mô hình này cho đề tài

Xử Lý Ảnh Toàn Cảnh: CNN có khả năng xử lý ảnh toàn cảnh (global image) và

học đặc trưng từ các phần khác nhau của hình ảnh, giúp nhận diện cây trồng trong ngữ cảnh tổng thể

Chia Sẻ Trọng Số (Weight Sharing): CNN sử dụng cơ chế chia sẻ trọng số trong

các lớp tích chập, giúp học được các đặc trưng cấp thấp và chia sẻ chúng ở nhiều vị trí khác nhau trên ảnh

Linh Hoạt với Kiến Trúc Mạng: CNN có thể được linh hoạt thiết kế với nhiều lớp

tích chập và lớp pooling, giúp nó hiệu quả trong việc trích xuất thông tin và học cấu trúc phức tạp từ dữ liệu hình ảnh

Hiệu Quả Tính Toán: CNN được thiết kế để làm giảm số lượng tham số cần tối ưu,

giúp giảm tải cho việc huấn luyện và triển khai mô hình trên các hệ thống thực tế

Data Augmentation: CNN có thể kết hợp với kỹ thuật tăng cường dữ liệu (data

augmentation) để tạo thêm biến thể từ dữ liệu huấn luyện, giúp mô hình có khả năng tổng quát hóa tốt hơn

Trang 30

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

Tích Hợp Phương Pháp Học Đặc Trưng Tự Động: CNN có khả năng tự động học

các đặc trưng quan trọng từ dữ liệu, giảm thiểu sự cần thiết của việc xác định các đặc trưng bằng tay, giảm công sức và chi phí

Độ Chính Xác Cao: CNN thường mang lại độ chính xác cao trong các nhiệm vụ

nhận diện ảnh, vượt trội so với nhiều phương pháp truyền thống

Ứng Dụng Rộng Rãi: CNN đã được chứng minh thành công trong nhiều lĩnh vực

như nhận diện vật thể, nhận diện khuôn mặt, và phân loại hình ảnh, chứng tỏ tính đa dạng và hiệu quả của nó

2.1.1.8 Sử dụng Python với hệ thống thần kinh tích chập CNN

Python được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học (ML) Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học

và có thể chạy trên nhiều nền tảng khác nhau Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độ phát triển

- Python có một thư viện tiêu chuẩn lớn, chứa nhiều dòng mã có thể tái sử dụng cho hầu hết mọi tác vụ Nhờ đó, các nhà phát triển sẽ không cần phải viết mã từ đầu

- Cộng đồng Python tích cực hoạt động bao gồm hàng triệu nhà phát triển nhiệt tình hỗ trợ trên toàn thế giới Nếu gặp phải vấn đề, bạn sẽ có thể nhận được sự hỗ trợ nhanh chóng từ cộng đồng

- Python có thể được sử dụng trên nhiều hệ điều hành máy tính khác nhau, chẳng hạn như Windows, macOS, Linux và Unix

2.1.2.1 Sử dụng Flask và so sánh các framework tương tự

Flask là một trong những framework web phổ biến và dễ sử dụng trong cộng đồng Python Tuy nhiên, có nhiều framework web khác cũng được sử dụng để phát triển ứng dụng web Python

Django

Trang 31

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

- Django là một framework web toàn diện, cung cấp một số tính năng như hệ quản trị cơ sở dữ liệu tích hợp, hệ thống quản lý người dùng,

và quản lý mô hình MVC (Model-View-Controller)

- Tích hợp nhiều tính năng mặc định, giúp gia tăng sự nhanh chóng và hiệu quả của quá trình phát triển

- Flask hỗ trợ việc xây dựng các định tuyến (routing) theo kiểu RESTful, giúp quản lý các tác vụ HTTP như GET, POST, PUT, DELETE một cách dễ dàng

- Flask có một cộng đồng lớn và nhiều tài liệu học tập trực tuyến, giúp nhà phát triển nhanh chóng giải quyết vấn đề và tìm hiểu cách sử dụng framework

- Flask sử dụng Jinja2 làm ngôn ngữ template, giúp tạo ra các trang web động và tương tác dễ dàng với dữ liệu từ máy chủ

Có thể thấy các framework khác sẽ có phần nhỉnh hơn về mặt tinh chỉnh và thiết

kế hệ thống so với Flask Tuy nhiên để ứng dụng và đề tài hệ thống sẽ khá hao tốn thời

Trang 32

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

gian và công sức Thay vì cung cấp hết tất cả mọi thứ, Flask cung cấp cho người dùng các thành phần cốt lõi thường được sử dụng nhất của khung ứng dụng web như URL routing, request & response object, template

Đồng thời đó Flask phù hợp cho những dự án nhỏ và trung bình Với nhu cầu tìm kiếm một giải pháp đơn giản và tùy chỉnh, và muốn giữ mức độ linh hoạt cao, Flask có thể là lựa chọn phổ biến và mạnh mẽ

Được ra mắt vào ngày 10 tháng 1 năm 2023 YOLOv8 là phiên bản mới nhất trong dòng mô hình YOLO Các mô hình YOLO được huấn luyện trước trên các bộ dữ liệu lớn như COCO và ImageNet Điều này cho phép chúng vừa có khả năng cung cấp dự đoán cực kỳ chính xác với các lớp đã được huấn luyện, vừa có thể học các lớp mới một cách tương đối dễ dàng cũng có tốc độ huấn luyện nhanh hơn, với độ chính xác cao và kích thước mô hình nhỏ Chúng có thể được huấn luyện trên các GPU đơn, do đó dễ tiếp cận hơn đối với các nhà phát triển Được công bố vào đầu năm 2023, YOLOv8 đã mang lại nhiều điểm tích cực so với phiên bản tiền nhiệm, như phát hiện không dùng anchor, giới thiệu lớp tích chập C3 và tăng cường mosaic

Về tổng thể, các phiên bản Yolo có cấu trúc giống như bảng biểu diễn dưới đây, tuy nhiên mỗi phiên bản sẽ có sự sắp xếp về số lượng và vị trí của các lớp mạng neural tính chập (Convolutional Layer) khác nhau Output cũng thay đổi theo như kích thước ảnh đầu vào ( Input Image ) Để nâng cao độ chính xác khi nhận diện vật thể người ta thường thêm các lớp vào Còn khi cần tăng tốc độ khung hình, tiết kiệm tài nguyên máy tính thì thường cắt bớt các layer (các bản yolo-tiny có ít layer hơn)

Hình 2-5: Kiến trúc mạng Yolo

Trang 33

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

Là một mô hình phát hiện đối tượng phổ biến được biết đến với tốc độ và độ chính xác YOLO không xem xét từng vùng mà nhìn toàn bộ bức ảnh một lần sau đó predict

ra class, bounding box cho từng object trong hình

Thay vì xét vùng này vùng kia thì YOLO chia ảnh thành một lưới vuông với kích thước giả sử là NxN Sau đó duyệt từng ô trong ảnh với mỗi anchor box đó thì sẽ dự đoán class và offset của bounding box của vật thể Cuối cùng thì các bouding box có xác suất lớn nhất trên ngưỡng sẽ được giữ lại áp dụng một thuật toán có tên Non Max Supression (NMS) là bước xử lý hậu kỳ được sử dụng để cải thiện độ chính xác và hiệu quả của việc phát hiện đối tượng Trong phát hiện đối tượng, thông thường sẽ có nhiều khung giới hạn được tạo cho một đối tượng trong ảnh Các khung giới hạn này có thể chồng lên nhau hoặc đặt ở các vị trí khác nhau nhưng chúng đều đại diện cho cùng một đối tượng NMS được sử dụng để xác định và loại bỏ các hộp giới hạn dư thừa hoặc không chính xác và xuất ra một hộp giới hạn duy nhất cho từng đối tượng trong ảnh

Xét về tốc độ thì YOLO hiện đang khá nhanh so với các phương pháp nói trên (tốc

độ thử nghiệm max đạt được là 45 FPS) Tuy vậy điểm yếu của YOLO lại là hay bỏ sót các object nhỏ trên ảnh như: phát hiện xe trên ảnh vệ tinh, ảnh chụp flycam….Trong thực tế mạng YOLOv3 đã sử dụng 3 lưới khác nhau (3 feature map size khác nhau) để tiến hành predict trên các ô của lưới Điều này làm tăng khả năng detection của mạng, tránh bỏ sót đối tượng trong ảnh

Ta cũng có thể tự hình dung kiến trúc YOLOv8 bằng cách chuyển đổi nó sang định dạng ONNX ONNX viết tắt của Open Neural Network Exchange Đây là định dạng mở được sử dụng để biểu thị các mô hình học máy Nó có thể được xem như một đại diện

Hình 2-6: Non Max Supression (NMS) xử lý hậu kỳ ảnh

Trang 34

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

chung cho các mô hình ML, bởi vì tính phổ biến cho bất kỳ mô hình nào, dù code mô hình được viết trong PyTorch, TensorFlow hoặc các framework nào khác

Từ biểu đồ YOLOv8 có nhiều tham số hơn so với các phiên bản tiền nhiệm như YOLOv5, nhưng ít tham số hơn so với YOLOv6 Nó cung cấp khoảng 33% mAP nhiều hơn cho các mô hình kích thước n và mAP lớn hơn nói chung Từ biểu đồ thứ hai, có thể thấy YOLOv8 có thời gian suy luận nhanh hơn so với tất cả các phiên bản YOLO khác

Trong bài toán này với mục đích tính toán chính xác hơn về tỷ lệ cỏ dại thì việc khoanh vùng chính xác với từng pixel là phần thiết yếu Tránh các trường hợp khoanh vùng cây trồng chính nhưng lại bị che khuất cỏ dại nếu sử dụng detection thông thường

Có hai kiểu phân đoạn hình ảnh chính – phân đoạn ngữ nghĩa (semantic segmentation)

và phân đoạn cá thể (instance segmentation) Từ đó, Phân vùng ảnh có thể chỉ ra thông tin chi tiết của bức ảnh, bao gồm: Vị trí của vật thể trong ảnh, hình dạng của vật thể và từng pixel nào thuộc về vật thể nào Với việc nhận diện và khoanh vùng cây trồng chung

Hình 2-7: So sánh các phiên bản YOLO khác nhau

Hình 2-8: Các loại nhận diện đối với phân đoạn hình ảnh

Trang 35

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

là đậu đen thì em đã áp dụng phân đoạn ngữ nghĩa (semantic segmentation) vào sản phẩm của mình

Ở đây em sẽ so sánh thêm về segmentation của YOLO và các mô hình khác tương

tự bao gồm Mask R-CNN, Unet, FCN và nhiều mô hình khác

Yolo

Điểm mạnh:

- Tốc độ xử lý nhanh, phù hợp cho các ứng dụng thời gian thực

- Khả năng phát hiện đối tượng chính xác

Điểm yếu:

- Khả năng phân đoạn đối tượng không chi tiết như các mô hình khác

- Có thể gặp khó khăn trong việc phân loại các đối tượng nhỏ

Mask R-CNN

Điểm mạnh:

- Khả năng phát hiện và phân đoạn đối tượng chi tiết

- Độ chính xác cao trong việc xác định ranh giới của đối tượng

Điểm yếu:

- Tốc độ xử lý chậm hơn so với YOLO

- Yêu cầu tài nguyên tính toán cao hơn

Unet

Điểm mạnh:

- Thích hợp cho việc phân đoạn hình ảnh y tế

- Có khả năng xử lý các cấu trúc phức tạp trong hình ảnh

Điểm yếu:

- Khả năng phân đoạn đối tượng không cao như các mô hình phát hiện đối tượng khác

- Có thể gặp khó khăn trong việc xử lý hình ảnh có kích thước lớn

FCN (Fully Convolutional Networks)

Điểm mạnh:

- Đơn giản và hiệu quả trong việc phân đoạn hình ảnh

- Có khả năng xử lý hình ảnh có kích thước khác nhau

Trang 36

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

Điểm yếu:

- Khả năng phân đoạn đối tượng không chi tiết như các mô hình khác

- Có thể gặp khó khăn trong việc xử lý các cấu trúc phức tạp trong hình ảnh

Là một framework dành cho nhà phát triển Thị giác Máy tính để thu thập dữ liệu tốt hơn để xử lý trước và các kỹ thuật đào tạo mô hình Roboflow có sẵn các tập dữ liệu công khai cho người dùng và cũng có quyền truy cập để người dùng tải lên dữ liệu tùy chỉnh của riêng họ Roboflow chấp nhận các định dạng chú thích khác nhau Trong quá trình xử lý trước dữ liệu, có các bước liên quan như định hướng hình ảnh, thay đổi kích thước, độ tương phản và tăng cường dữ liệu

Toàn bộ quy trình làm việc có thể được điều phối với các nhóm trong khuôn khổ Đối với đào tạo mô hình, có một loạt thư viện mô hình đã có mặt như EfficientNet, MobileNet, Yolo, TensorFlow, PyTorch,… Sau đó , các tùy chọn trực quan và triển khai mô hình cũng có sẵn do đó bao gồm toàn bộ hiện đại

Ứng dụng vào bài toán này Roboflow hỗ trợ xử lý dữ liệu, gán nhãn, quản lý cấu trúc dữ liệu, tăng cường dữ liệu cho mô hình Là một công cụ hữu ích giúp rút ngắn thời gian trong quá trình làm việc với bộ dữ liệu mà em chuẩn bị Ngoài ra Roboflow còn hỗ trợ huấn luyện và giao diện sử dụng, tuy nhiên đối với bài toán đặt ra đồng thời để ứng dụng nhu cầu chức năng em chỉ xem loại hỗ trợ này là nguồn tham khảo để cải thiện bài toán của riêng mình

Colaboratory hay còn gọi là Google Colab, là một sản phẩm từ Google Research,

nó cho phép thực thi Python trên nền tảng đám mây, đặc biệt phù hợp với Data analysis, machine learning và giáo dục Có thể sử dụng tài nguyên máy tính từ CPU tốc độ cao

và cả GPUs và cả TPUs

Hình 2-9: Quy trình làm việc đối với Roboflow

Trang 37

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

Đây tuy rằng không phải là một máy chủ mạnh khi sử dụng miễn phí nhưng vẫn

là một lựa chọn phù hợp cho việc huấn luyện và trực quan hóa quá trình huấn luyện Giúp em có thể đánh giá sơ bộ mô hình sau khi huấn luyện

Là một bộ công cụ phần mềm hiện đại được ứng dụng trong quá trình xử lý hình ảnh, video, phân tích và Machine Learning theo thời gian thực Bộ công cụ OpenCV có hơn 2500 thuật toán được tối ưu hoá dành cho thị giác máy tính và Machine Learning

Nó hỗ trợ cho nhiều ngôn ngữ lập trình như C, C++, Python, Java,

Xây dựng và xử lý toàn bộ hoạt động GUI: OpenCV được cung cấp module Highgui giúp bạn có thể giải quyết toàn bộ vấn đề liên quan tới xây dựng và hoạt động GUI một cách đơn giản

Cung cấp tất cả tác vụ để phân tích video: OpenCV sẽ cung cấp các tác vụ như phân tích chuyển động giữa các khung hình liên tiếp trong video, theo dõi các đối tượng khác nhau trong video hay tạo mô hình giám sát, Ngoài ra, OpenCV cũng cung cấp các chức năng xử lý sự ổn định của video

Hỗ trợ tái tạo 3D trong Computer Vision: OpenCV cung cấp các thuật toán có thể tìm ra các mối quan hệ giữa những đối tượng khác nhau trong các hình ảnh 2D để tính toán cho vị trí 3D nhờ các thuật toán cụ thể

Trong ứng dụng đối với bài toán của mình, em sử dụng với mục đích làm việc với video từ webcam Hỗ trợ trong việc chuyển đổi khung hình thành 2D tăng khả năng xử

lý, chuyển đổi không gian màu hỗ trợ nhận biết cây trồng, làm mịn ảnh giúp loại bỏ các vật thể có thể gây ra sai sót tỷ lệ, phân tách các sắc tố màu có trong khung hình trong một khoảng thời gian, từ đó hỗ trợ xác định phân loại tỉ lệ cây trồng và cỏ dại

Tương tự Django Python Flask cũng là một micro-framework được viết bằng ngôn ngữ lập trình Python dùng cho các nhà phát triển web Micro ở đây không có nghĩa là framework này thiếu các chức năng mà thể hiện ở việc nó sẽ cung cấp những chức năng

Trang 38

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

cốt lõi nhất cho các ứng dụng web và có khả năng mở rộng, người dùng cũng có thể mở rộng bất cứ lúc nào vì Flask hỗ trợ rất nhiều các tiện ích mở rộng như tích hợp CSDL,

hệ thống upload, xác thực, template, email… Việc là một micro-framework cũng giúp cho flask có một môi trường xử lý độc lập và ít phải sử dụng các thư viện bên ngoài, điều này giúp nó nhẹ và ít gặp phải các lỗi hơn, việc phát hiện và xử lý các lỗi cũng dễ dàng và đơn giản hơn

Sự khác biệt giữa Flask và Django đều là 2 framework dùng cho các nhà phát triển web nhưng chúng có những điểm khác nhau cơ bản và vì vậy phù hợp với những đối tượng người dùng cũng khác nhau:

- Flask cung cấp hỗ trợ cho API, Django thì không có bất kỳ hỗ trợ nào cho API

- Flask không hỗ trợ các trang HTML động còn Django cung cấp các trang HTML động

- Flask là một khung công tác web Python được xây dựng để phát triển nhanh chóng còn Django được xây dựng cho các dự án dễ dàng và đơn giản

- Flask cung cấp một phong cách làm việc đa dạng hơn với khả năng mở rộng trong khi Django cung cấp một phong cách làm việc Nguyên khối

- Mặt khác, trình điều phối URL của khung công tác web Flask là một yêu cầu RESTful, trình điều phối URL của khung công tác Django dựa trên trình điều khiển-regex

- Flask là khung công tác WSGI trong khi Django là khung công tác web ngăn xếp đầy đủ

Trang 39

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

Ưu điểm: SVM hiệu quả trong việc xử lý dữ liệu có kích thước nhỏ hơn, có khả năng phân loại tốt khi dữ liệu rõ ràng và tách biệt SVM hoạt động tốt khi dữ liệu là tuyến tính và có thể được tách bằng một đường ranh giới tuyến tính Trong trường hợp

dữ liệu đặc trưng của cây trồng có thể được biểu diễn một cách tuyến tính SVM có thể

xử lý dữ liệu đa chiều, nơi mà mỗi chiều có thể tương ứng với một đặc trưng cụ thể của hình ảnh cây trồng Ngoài ra nó có thể tìm cách tạo ra một đường ranh giới tối ưu giữa các lớp dữ liệu, giúp tối ưu hóa độ chính xác của mô hình

Nhược điểm: Không hiệu quả như CNN trong xử lý dữ liệu hình ảnh phức tạp và

có thể không hoạt động tốt với dữ liệu lớn Trong trường hợp dữ liệu của cây trồng có các mối quan hệ phức tạp và phi tuyến tính, SVM có thể gặp khó khăn trong việc tìm ra đường ranh giới hiệu quả Mô hình SVM yêu cầu một lượng lớn dữ liệu huấn luyện để đảm bảo độ chính xác của mô hình, đặc biệt là khi đối mặt với việc nhận diện các loại cây trồng đa dạng

Đánh giá: SVM có thể là một lựa chọn tốt trong các trường hợp nơi dữ liệu có tính tuyến tính và số lượng đặc trưng không quá lớn Tuy nhiên, đối mặt với ảnh toàn cảnh

và dữ liệu phi tuyến tính, các mô hình sử dụng deep learning, như CNN hoặc mô hình phức tạp hơn, có thể mang lại hiệu suất tốt hơn Sự lựa chọn giữa SVM và các mô hình khác thường phụ thuộc vào yêu cầu cụ thể của ứng dụng và tính chất của dữ liệu

Random Forest:

Ưu điểm: Dễ dàng cài đặt, ít bị ảnh hưởng bởi nhiễu, và có khả năng xử lý cả dữ liệu phân loại và số Tốt cho việc phân loại dữ liệu dựa trên đặc trưng rõ ràng Nó linh hoạt và có thể được sử dụng trực tiếp cho bài toán nhận diện cây trồng mà không yêu cầu kiến thức sâu về tham số Random Forest không bị ảnh hưởng bởi các vấn đề về overfitting

Nhược điểm: Không hiệu quả bằng CNN trong việc xử lý dữ liệu hình ảnh, đặc biệt khi đặc trưng không rõ ràng hoặc phức tạp Đối với dữ liệu lớn, quá trình dự đoán của Random Forest có thể trở nên chậm hơn so với một số mô hình học máy khác như các mô hình dựa trên deep learning Nếu dữ liệu mất cân bằng giữa các lớp (ví dụ: nhiều ảnh có chứa một loại cây trồng hơn loại khác), Random Forest có thể bị thiên vị hướng các dự đoán về lớp có số lượng lớn hơn Random Forest không tự nhiên được thiết kế

để hiểu cấu trúc không gian của hình ảnh như các mô hình CNN, do đó có thể thiếu khả năng học đặc trưng tổng quát từ dữ liệu hình ảnh

Đánh giá: Có thể thấy lựa chọn hợp lý trong trường hợp có dữ liệu đa dạng và cần một mô hình có khả năng xử lý nhanh chóng chính là mô hình Random Forest Tuy nhiên, đối với nhiệm vụ nhận diện cây trồng trong hình ảnh, nếu có sẵn một lượng lớn

Trang 40

Đồ án tốt nghiệp Chương 2: Cơ sở lý thuyết

dữ liệu và mong muốn đạt được hiệu suất chính xác cao, các mô hình học máy phức tạp hơn, như CNN, có thể là lựa chọn phù hợp hơn

K-Nearest Neighbors (KNN):

Ưu điểm: Đơn giản và dễ hiểu, tốt cho dữ liệu có kích thước nhỏ và rõ ràng Có khả năng chịu nhiễu tốt đối với dữ liệu nhiễu hoặc không đồng nhất, có thể chấp nhận

dữ liệu có tính chất thay đổi từ thời gian sang thời gian

Nhược điểm: Không hiệu quả trong việc xử lý lượng dữ liệu lớn và phức tạp Không hoạt động hiệu quả nếu dữ liệu có quá nhiều tính năng hoặc nếu tỷ lệ số lượng điểm dữ liệu và số lượng tính năng là không cân đối

Đánh giá: Trong lĩnh vực nhận diện cây trồng, nếu dữ liệu đủ nhỏ và không đòi hỏi khả năng dự đoán nhanh chóng, KNN có thể là lựa chọn đơn giản và hiệu quả Để nâng cao hiệu suất dự đoán, nhận có lẽ nên có một mô hình tùy chỉnh cấp cao và phù hợp hơn với đề tài

CNN (Convolutional Neural Network):

Ưu điểm: CNN rất hiệu quả trong việc xử lý dữ liệu hình ảnh do có khả năng trích xuất đặc trưng tự động thông qua các lớp convolutional CNN có thể nhận diện các đặc trưng phức tạp và là lựa chọn tốt cho việc phân loại và nhận dạng hình ảnh, giúp nó hiệu quả trong việc nhận diện hình ảnh cây trồng Ngoài ra có thể tích hợp CNN vào các hệ thống camera giám sát để thực hiện nhận diện trực tuyến

Nhược điểm: Đòi hỏi lượng lớn dữ liệu huấn luyện để đạt được hiệu suất tốt và có thể khó hiểu đối với những người mới học Mô hình CNN có thể đòi hỏi nhiều tài nguyên tính toán, đặc biệt là khi xử lý ảnh độ phân giải cao nhằm cải thiện tốc độ dựa trên phần cứng.Ngoài ra nếu không có kiểm soát cẩn thận, CNN có thể có xu hướng overfitting đặc biệt khi có ít dữ liệu huấn luyện hoặc khi dữ liệu không đủ đa dạng

Đánh giá: CNN là một công cụ mạnh mẽ trong nhận diện cây trồng bằng camera giám sát Kết hợp CNN với các kỹ thuật xử lý ảnh và dữ liệu đa dạng có thể mang lại kết quả tốt nhất trong quản lý cây trồng đối với đề tài này

Trong việc nhận diện cây trồng bằng camera giám sát, CNN thường là lựa chọn ưu tiên do khả năng xử lý hình ảnh và nhận diện đặc trưng phức tạp Tuy nhiên, lựa chọn

mô hình còn phụ thuộc vào mục tiêu cụ thể của bài toán, lượng dữ liệu có sẵn, và các yếu tố khác như tốc độ xử lý và nguồn lực tính toán

Ngày đăng: 26/10/2024, 14:08

HÌNH ẢNH LIÊN QUAN

Hình 2-1: CNN xử lý hình ảnh đầu vào và phân loại các đối tượng dựa trên giá trị - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 2 1: CNN xử lý hình ảnh đầu vào và phân loại các đối tượng dựa trên giá trị (Trang 25)
Hình 2-6: Non Max Supression (NMS) xử lý hậu kỳ ảnh - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 2 6: Non Max Supression (NMS) xử lý hậu kỳ ảnh (Trang 33)
Hình 3-4: Dữ liệu huấn luyện đầu vào - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 3 4: Dữ liệu huấn luyện đầu vào (Trang 49)
Hình 3-9: Quy trình xử lý tính toán - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 3 9: Quy trình xử lý tính toán (Trang 52)
Hình 3-12: Tuân thủ cấu trúc mô hình YOLOv8-P5 - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 3 12: Tuân thủ cấu trúc mô hình YOLOv8-P5 (Trang 55)
Hình 3-16: Định vị các tham số Localization Loss - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 3 16: Định vị các tham số Localization Loss (Trang 59)
Bảng 3-3: Bảng danh sách Use Case chi tiết  Hình 3-17: Sơ đồ đặc tả Use Case chi tiết - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Bảng 3 3: Bảng danh sách Use Case chi tiết Hình 3-17: Sơ đồ đặc tả Use Case chi tiết (Trang 61)
Hình 3-18: Sơ đồ tuần tự - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 3 18: Sơ đồ tuần tự (Trang 66)
Hình 3-19: Sơ đồ hoạt động trong phân tích dưới dạng video - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 3 19: Sơ đồ hoạt động trong phân tích dưới dạng video (Trang 67)
Hình 3-20: Sơ đồ hoạt động trong phân tích với camera - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 3 20: Sơ đồ hoạt động trong phân tích với camera (Trang 68)
Hình 3-22: Màn hình phân tích với video quay trước - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 3 22: Màn hình phân tích với video quay trước (Trang 69)
Hình 3-23: Màn hình phân tích với camera trực tiếp - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 3 23: Màn hình phân tích với camera trực tiếp (Trang 70)
Hình 4-5: Kiểm tra địa chỉ IP Jetson Nano  Hình 4-4: Màn hình cái đặt thành công hệ điều hành Jetson Nano - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 4 5: Kiểm tra địa chỉ IP Jetson Nano Hình 4-4: Màn hình cái đặt thành công hệ điều hành Jetson Nano (Trang 76)
Hình 4-6: Truy cập vào Jetson Nano với Remote Desktop - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
Hình 4 6: Truy cập vào Jetson Nano với Remote Desktop (Trang 77)
Hình đầu tiên là kết quả đóng hộp của mô hình nhận diện tại đây vẫn nhận cỏ dại - Áp dụng phương pháp học sâu (deep learning) trong quản lý cây trồng và cỏ dại
nh đầu tiên là kết quả đóng hộp của mô hình nhận diện tại đây vẫn nhận cỏ dại (Trang 82)

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

TÀI LIỆU LIÊN QUAN

w