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

Khóa luận tốt nghiệp Hệ thống thông tin: Ứng dụng IoT xây dựng hệ thống thuỷ canh tự động

71 2 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 đề Ứng dụng IoT xây dựng hệ thống thuỷ canh tự động
Tác giả Nguyen Anh Truong Thang, Le Tien Vinh
Người hướng dẫn THS. Nguyen Thi Kim Phung
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Hệ thống Thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 71
Dung lượng 57,71 MB

Nội dung

- Nghiên cứu của Mohamed Farag Taha 2022 [3]: Nghiên cứu nay sử dụng công nghệ hình ảnh đề thu thập dữ liệu về cây trồng được trồng trong hệ thống thủy canh.. Một mạng CNN được xây dựng

Trang 1

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRUONG ĐẠI HỌC CÔNG NGHỆ THONG TIN

KHOA HỆ THÓNG THÔNG TIN

NGUYEN ANH TRUONG THANG - 19522204

LE TIEN VINH - 19522521

KHOA LUAN TOT NGHIEP

UNG DỤNG IOT XÂY DỰNG HE THONG

THỦY CANH TỰ ĐỘNG

KỸ SƯ NGÀNH HỆ THÓNG THÔNG TIN

GIANG VIÊN HUONG DAN

THS NGUYEN THI KIM PHUNG

TP HO CHÍ MINH, 2023

Trang 2

LỜI CẢM ƠN

Điều đầu tiên chúng em muốn nói đó là xin cảm ơn Trường Đại học Công Nghệ

Thông Tin - ĐHQG TP.HCM, khoa Hệ Thống Thông Tin và toàn thé giáo viên và

nhân viên tại nhà trường, qua 4 năm trau dôi kiến thức tại trường, chúng em đã

được thêm rất nhiều điều, không chỉ là lượng kiến thức bổ ích mà bên cạnh đó là

được cơ hội tiếp xúc đến một môi trường mới giúp tạo nên một cơ sở vững chắc dé

có thê vững bước trên con đường công việc của mình trong tương lai

Bên cạnh đó em xin gửi lời cảm ơn đặc biệt đến Ths Nguyễn Thị Kim Phụng, cô

Phụng không chỉ là giáo viên hướng dẫn khóa luận mà còn là giáo viên hướng dẫn

của lớp, nhờ cô mà chúng em có thể hoàn thành quá trình học tập ở trường của mình

và dé có thê hoàn tat dé tài thì cô đã bỏ ra rất nhiều công sức dé chỉ dẫn chúng em

hoàn thiện được một đề tài mà với nhiều kiến thức chúng em chưa hề biết đến

Lời cuối cùng em xin chúc tất cả thầy cô tại Trường Đại học Công nghệ Thông Tin

- ĐHQG TP.HCM và khoa Hệ Thống Thông Tin sẽ luôn là những người đi đầu

trong công tác giảng dạy và giáo dục cho nhiều thế hệ sinh viên Cảm ơn thầy cô đãluôn đồng hành, dẫn dắt chúng em từ những ngày mới tham gia vào môi trường đạihọc, một môi trường hoàn toàn mới mà tụi em được tiếp xúc Khoảng thời gian học

tại ngôi trường Công Nghệ Thông Tin — ĐHQG TP.HCM sẽ là khoảng thời gian

đáng nhớ nhất mà chúng em có, bên cạnh đó em xin gửi lời cảm ơn chân thành nhất

cô Phụng, chúc cô sẽ luôn gặt hái được nhiều thành công trong công tác giảng dạy

và mong cô sẽ luôn giữ được sức khỏe tốt để có thể tiếp tục đào tạo những thế hệ

sinh viên trẻ!

Trân trọng,

Nhóm sinh viên thực hiện đề tài TP.HCM, ngày 20 tháng 6 năm 2023

Trang 3

CHƯƠNG 1 TONG QUAN DE TÀ [ -5-2-s°©5<cse©ssesssessecsee 1

1 Giới thiệu để Bi eee eccceeeeeccssseeeesssneeeesssnecessnnnecessnnsecssnneecessnnseeessneseeesseed 1

2 Tổng quan về tình hình trong và ngoai NUGC ccccscessesssesssecstesseessecseeseeees 1

P TL 0): uÝÝ 1 2.2 Tinh hình nghiên cứu ngoal HƯỚC - 5 5- 2+ + *+eExeeseereserrereee 1 E1 0l 0i) on ae 2

4 Đối tượng nghiên CỨU -2£ 2+SE+EE£2E2EEEEEEEEEEE2E127171 71.211 EtxeeU 25 Khảo st để tài c che 2

CHƯƠNG 2 CƠ SỞ LÝ THUYET VE THUY CANH VA CÁC THIẾT

1 —~- ˆÔÔÔỒ 4

1 Mô hình thủy canh hồi lưu - 2-2 52252 E+EE££E£EEE2EEEEEeEEerEerrxrrkerxee 4

2 Yếu tố môi trường ảnh hưởng đến cây trồng trong thủy canh 53 Tìm hiểu về cảm biến cvcccS+vtcc+ctceEktrrrrktrtrtrtrrrrrtrrrrrtrrerrrieg 6

4 _ Tìm hiểu về Arduino Nano R3 - 2-2 2¿+++++£x++E++E+zExerxerxezrxerxerxees 6 5 Tìm hiểu về Module Wifi ESP8266 -¿ ©25cccc+ererrrerrrrrkrrrrrked 6

6 Tìm hiểu về ThingsBoard ¿-2¿©++2+£+x++E++EE++EE++Exezrxerxeerxesred 6

7 _ Các thiết bị sử dụng trong đề tài - c s+ck+EEcEcEcEeEEerkerkerkrrkrreee 7

7.1 — Arduino Nano R ch nghe 7 7.2 ESP8266 NodeMCU Lua CP21102 6 5 2+ £+£+s£+s+svsesseesrs 7

7.3 Cảm Biến Tong Chat Ran Hòa Tan DFRobot Gravity 87.4 Cảm Biến Độ Am, Nhiệt DO DHTI L ¿-cc+c++ccxererreeree 87.5 Cam Biến Ánh Sáng MS-CDS05 ccssscsssesssesssessesssesssecsessesssecssecseeeseeens 9

7.6 Bom Lifetech AP 3500 che 9 T.7 Camera WyZe Cam VỒ sgk Hư 10

7.8 Ô cắm hẹn BiG CƠ +- + E222 E2 2EEEEEE1521712112112111 111111 xe 11

CHUONG 3 CƠ SO LY THUYET VE CAC THUAT TOÁN 11

1 Gidi thiệu về SSD (Single Shot MultiBox Detector) -««+- 11

2 Giới thiệu về Convolutional Neural Network - 6s ses++xezzxerez 13

2.1 Input LAV€T - Ăn SH TT kg 14 2.2 Convolutional LAY€T cv ng 14 2.3 Lớp kích hoạt (activation layer) cccceseecceseceseceeeeeeceeeeseceeeeeceaeeees 16

Trang 4

2.4 Pooling LAy€T SG SH HH HH Hư 17 2.5 Fully Connected LLay€T - - <1 11H ng ng 18

3 Giới thiệu về Random Forest c.ccccscssssssssssesssssssessssesessecersecsesessvsarsecavsecaees 19

4 Các thư viện và công cụ SU dỤng c1 + 3 rrriresrrrrrrsee 25

4.1 _ Thư viện DHT - nh HT HH HH HH nh y 25

4.2 Thu viện PubSubCÏIient - 5 +5 S<k + £*kEEEkeEerrrerreesrkseeere 25

4.3 Thur viện ArduinoJSON c5 S22 SE SE ve eecey 25 4.4 Thu viện Object Detection API, - 5- + c + sieeirrrrrrerrrrre 25

4.5 Công cụ Labellmg - c1 v.v HH như, 25 0h ầẠ 26

CHUONG 4 XÂY DỰNG HE THÓNG -.2 5-5 se secsscs«e 27

1 _ Quy trình phân loại đặc tính cây trồng - 2 2 2+xezxezxerxerxrrszes 27

1.1 Thu thập dữ liệu - 2 -Sv Ăn HH HH gi, 27 1.2 Xây dựng mô hình Single Shot MultiBox Detectfor - - 29

2 Quy trình dự đoán tình trang cây trồng -¿ -¿©-s©++cx+cxe+cseee 34

2.1 _ Thu thập dữ liệu cho việc phân loại tình trạng cây trồng 34

2.2 _ Xây dung mô hình Convolutional Neural Network 37

2.3 Thu thập dữ liệu cho việc dự đoán tinh trang cây trồng 41

2.4 Xây dựng mô hình Random FOTes( - + «+ £++£+s£+se+s+sexse 52

3 ĐÁNH GIA TONG QUAN 55tr 56

3.1 Đánh giá việc nhận dạng cây trồng giữa thủy canh va trồng dat 56

3.2 _ Đánh giá việc thu thập dữ liỆu -.- 55 5< St *+*+eEseseseeeesserek 57

3.3 Đánh giá việc nhận dạng cây trỒng - 2-2 2+ +xerxerxerxerssree 583.4 Đánh giá việc nhận dang tinh trang cây trồng -5z-s+ 58

CHUONG 5 KET LUẬN VÀ HUONG PHAT TRIEN 59

I Kết Luan ees eeccceeeccsssseecsssnnesesssnneecessnnecessnneecssneeeessnesessnmecessnesessnnneeen 59

2 Hướng phat trig eeceeccecccsesssessssssessecssesssessscssecsssssscasecssscsesssecssecsseseessecs 59

Tài liệu tham kha 5-55 5< s55 sss Error! Bookmark not defined.

Trang 5

DANH MỤC HÌNH ANH

Hình 2.1 Một số mô hình thủy canh thông dụng -2- 2 2 +2 sz+£z+zszszez 4

Hình 2.2 Mô hình thủy canh hồi lưu ¿- ¿+ E+SE+EE+EE£E£EEEEEEeEEerkerxrrxrrrres 5

Hình 2.3 Hình anh Arduino Nano R3 - x nHnHnHnHngngnrey 7 Hình 2.4 Hình ảnh ESP8266 NodeMCu 5c 11v sksskrekrskrey 8

Hình 2.5 Hình ảnh Cảm biến chất ran hòa tan -:-cc+2cc+vsvcveerrrvrrrrr 8Hình 2.6 Hình anh cảm biến nhiệt độ và độ âm -: cccc¿ccxvvsrcrvrrrrr 9Hình 2.7 Hình ảnh cảm biến ánh sáng ccccccscesscsssesssesssecssessscssecssecssesscssecssecsseeseesses 9

Hình 2.8 Hình ảnh máy bơm thủy canhhn - 25 +3 1113911 E9 vs re 10 Hình 2.9 Hinh ảnh camera Wyze Cam VỒ - sgk, 11

Hình 2.10 Hinh anh 6 cắm hẹn giờ CO weccccsccsscsssesssesssecssssesssecssscsessecssecssscseeaseesseess 11Hình 3.1 Hình biểu diễn cấu trúc của SSD -ccccccvvccccxverrrrrrrrrrrerrre 12Hình 3.2 Hình biểu diễn các default bounding boxx -¿©¿©scszx>sz 13Hình 3.3 Hình biéu diễn cau trúc đặc trưng của mô hình CNN -. 14

Hình 3.4 Hình biểu diễn lớp tích chập -¿- 2 + +2++++£x+zxvzx+zzxzrxerxeres 15 Hình 3.5 Hình biểu diễn lớp tích chập với các stride khác nhau 15

Hình 3.6 Hình biểu diễn áp dung padding - 2 2£ x+zE+zEe+Ezrxerxezez 16

Hình 3.7 Hình ảnh ví dụ cho việc tích chập - - << + * + +svesseeseeeseeers 16

Hình 3.8 Hình ảnh biểu diễn hàm RELU -¿-25c¿525cccvcvxererrxeerre 17 Hình 3.9 Hình ảnh ví dụ biểu diễn hàm RELU 2-2 5¿©5+25+2zx+zxz>s+ 17 Hình 3.10 Hình biểu diễn lớp gộp - 2-2 ©2¿©2£+++x+£E++EE+EEvrxerxezreerxerxrres 18 Hình 3.11 Biéu diễn chuyên thành vector 1D của Fully Connected Layer 18

Hình 3.12 Hình anh mô phỏng thuật toán Decision TTee «+5 «+<s+ 19

Hình 3.13: Tập dữ liệu GG (TAÌT St St 11v 11 111151111111111 1111111111111 xe 20Hình 3.14: Tập dit liệu đầu tiên được cắt từ dit liệu train -. -2- 2 s52 21Hình 3.15: Tập dữ liệu thứ hai được cắt từ dữ liệu train - scce+serzxere2 21Hình 3.16: Tập dit liệu thứ 3 được cắt từ đữ liệu train -¿ -+=5+ 21

Trang 6

Hình 3.17: Tập dữ liệu thứ tư được cắt từ đữ liệu train -¿-s- cscx+xsxerzxsrers 21Hình 3.18: Cây quyết định đầu tiên với thuộc tính x1 và x0 . - + 22Hình 3.19: Cây quyết định thứ hai với thuộc tính x2 - 2 25c s+cxcs+£ss+2 23Hình 3.20: Cây quyết định thứ hai với thuộc tính x2 - 2 25c ++cs+cs+zszse2 23Hình 3.21: Cây quyết định thứ hai với thuộc tính xI ¿25c scs+zs+zs+se2 24Hình 3.22: Mẫu dữ liệu cần dự đoán - - - + k+EEEE+E+EEEE+E+EEEErEeEeEtrkerrreresree 24

Hình 3.23 Hình ảnh công cụ LabelÏmg - - - <5 3+ + + +ESseerseeeeeerereere 26 Hình 3.24 Arduino IIDE - - s11 x11 930 911 91 911 91h Hư 26

Hình 4.1 Hình ảnh giàn thủy canh - ó5 1E ngưng trên 27

Hình 4.2 Hình ảnh về các hình ảnh giàn thủy canh -¿-cs¿©cs5s+ec++ 28

Hình 4.3 Hình anh sử dụng công cụ LabelÏmg «5 +55 ££++++seseese 28 Hình 4.4 Hình ảnh các file hình ảnh và xml - -.- 5 6+ + £++E++eEsesserseerss 29

Hình 4.5 Cai đặt thư viện Object Det€CfIOT - - - 25 31+ E+krsskrereserresrrre 29 Hình 4.6 Import dữ liệu hình ảnh và ximlL - - 25 +2 *++£++EE+seEeeeeeereeereee 30

Hình 4.7 Hình ảnh kết quả chia tập dữ liệu - 2-2 5¿©+¿2£+2x++£x++zxzxesrxz 30

Hình 4.8 Hình ảnh cai đặt mô hình SSÌD - 25 S2 k +3 + skrerssrrssrree 30

Hình 4.9 Training mô hình SSÌ G2 1 9 9 vn HH tr 31

Hình 4.10 Hình kết qua training mô hình - 2-2 s¿2+++£+2x++zx++zxzxeersz 3lHình 4.11 Hàm hiển thị kết quả phân loại đặc tính cây trồng - 31Hình 4.12 Hàm hién thị kết quả phân loại đặc tính cây trồng - 32Hình 4.13 Hàm hiển thị kết quả phân loại đặc tính cây trồng - 32Hình 4.14 Hình ảnh kết quả phân loại đặc tính cây trồng - 5-52 52 33Hình 4.15 Hình ảnh kết quả phân loại đặc tinh cây trồng 5 5 s2 33Hình 4.16 Hình ảnh kết quả mAP - 2-52 2S SESE£EEEEEEEEEEEEEEEEEEEeEEerkerkerkrree 33Hình 4.17 Hình ảnh kết quả phân loại đặc tính cây trồng theo thời gian thực 34

Hình 4.18 Import mô hình và hình ảnh giàn thuỷ canh - «<< «++<<ss+ 34

Hình 4.19 Xây dựng hàm sử dụng mô hình phân loại đặc tính cây trồng 35

Trang 7

Hình anh các cây xà lách sau khi phân loại - -««++<«<+++ 36

Import các hình anh sau khi đã được phân chia trạng thái 37

Tiền xử lý hình ảnh và chia tập dữ liệu -2- 2 c5 s+cs+cs+eszez 38Hình anh kích thước tập huấn luyện và kiểm tra - 5-2 38Tiến hành xây dựng mô hình CNN - 2-2 2 2+E+£x+zx+rxersrrszes 39Hình anh tong quan về mô hình CNN 2- 2 2+5 x+£++£++zszeszes 40Tiến hành training mô hình CNN -. ¿- 2£ ++2+++zxzz++zx+zrxz 40Hình ảnh kết qua training mô hình CNN -. -¿- ¿+52 41Hình ảnh kết quả phân loại tinh trạng cây trồng thời gian thực 41Hình ảnh quy trình tong quan cho quá trình thu thập dữ liệu 42Bang mạch sau khi kết nối các linh kiện 2- 2 5¿©sz©sszcsz 46Bảng mach sau khi kết nối các linh kiện 2-2- 5¿2s2©s+cs2 47

Giao diện màn hình thêm Device ThìngsBoard - «<< «+ 48

Giao diện thiết lập bảo mật dé kết nói đến ThingsBoard 49

Giao điện nhận được các tín hiệu gửi đến ThingsBoard 49

Hình ảnh tong quan về giàn thủy canh và camera - - 51Hinh anh bang mach va thiết bị TOT eecceccceccscsecsecsecessesesecsesvecereveeeeeens 51Hình anh file CSV về độ tươi của cây -¿- ¿+cccxscxsrxersrrsres 52Import các thư viện cần thiết cho chương trình - 5: 5-52 52Đọc dữ liệu và chuyên kiểu đữ liệu cột timestamp -.-‹ «++ 53Map dữ liệu giữa 2 nguồn đữ liệu đầu vào . 5 scscs+s2 53Kết qua sau khi map dữ liệu giữa 2 nguồn dif liệu dau vào 54

Ham convert dữ liệu cho cột chứa thuộc tinh quyết định 54

Hàm tiền xử lí dữ liệu oes eccceeecsseeeessseeeessnecessneeessneeessneeesnneeesnneeessneses 54Hình 4.47 Bước chia 2 dữ liệu thành 2 phần train và test sau khi tiền xử lí dữ liệu.54

Trang 8

Hình 4.48 Bước áp tệp train vào cho mô hình và kiểm tra độ chính xác mô hình 55

Hình 4.49 Đưa ra dự đoán từ dữ liệu ThingsBoard - c5 S5 sex 55

Hình 4.50 Hàm dự đoán và in kết quả từ dữ liệu ThingsBoard - 55Hình 4.51 Hàm tạo lịch để thực hiện việc lay dữ liệu và dự đoán - 56

Hình 4.52 Dua ra dự đoán từ dữ liệu ThingsBoard 55 s- sex 56

Hình 5.1 Hình ảnh cây trồng thuỷ canh - - 2 s+5s££+££+E£zE£EerEerxerxersesee 57

Trang 9

DANH MỤC TỪ VIET TAT

Trang 10

CHƯƠNG 1 TONG QUAN ĐÈ TÀI

1 Giới thiệu đề tài

Thủy canh được xem là một phương pháp trồng cây hiệu quả trong không gian hạnchế hoặc môi trường nội thất, giúp tiết kiệm nước, không gian và nguồn lực Tuy

nhiên, việc chăm sóc và quản lý cây trong hệ thống thủy canh vẫn đòi hỏi sự can

thiệp thủ công và quan sát liên tục từ phía người điều hành Đây là nơi mà sự kết

hợp giữa IoT và trí tuệ nhân tạo đem lại sự tiễn bộ đáng kê.

Dé thực hiện điều này, chúng ta cần xây dựng một mô hình học sâu dé xác định loạicây trồng cụ thé va đưa ra lời khuyên về cách thay đổi các yếu tố môi trường phù

hợp với mỗi loại cây Thông tin về cây trồng và môi trường sẽ được cung cấp cho

mô hình huấn luyện dé mô hình có thé xác định loại cây và đưa ra những đề xuất

điều chỉnh cần thiết

Ngoài ra, việc tự động hóa quá trình chăm sóc cây còn giúp tăng quy mô sản xuât

nông nghiệp và giảm thiêu sai sót do con người.

2 Tổng quan về tình hình trong và ngoài nước

2.1 Tình hình trong nước

Tại Việt Nam, việc trồng theo phương pháp thủy canh đã được thực hiện nhiều và

thành công Việc sử dụng thủy canh giúp tăng chất lượng sản phẩm, năng suất và

giảm sự lãng phí tài nguyên.

Hiện tại, việc sử dụng thủy canh kết hợp trí tuệ nhân tạo vẫn chưa phát triển mạnh

mẽ tại Việt Nam Mặc dù có những nỗ lực và các dự án nghiên cứu trong lĩnh vực

này, nhưng chưa có nhiêu ứng dụng thực tê được triên khai và áp dụng rộng rãi.

Việt Nam đã có nhiều nghiên cứu và phát triển các ứng dụng IoT trong lĩnh vực

nông nghiệp Một sô loại nghiên cứu được coi là quan trọng bao gôm:

- _ Nghiên cứu của Lương Vinh Quốc Danh (2019) [1]: Nghiên cứu ứng dụng công

nghệ IoT và nông nghiệp thông minh tại Việt Nam Phân tích xu thế ứng dụng tựđộng hóa và dự báo sự phát triển của thị trường nông nghiệp thông minh

- Nghiên cứu của Chu Đức Hoàng (2017) [2]: Nghiên cứu này sử dụng công nghệ

Internet of Things và mô hình thủy canh hồi lưu để nâng cao mô hình trồng rauthủy canh Mô hình này sử dụng các cảm biến như nhiệt độ, độ 4m, ánh sáng,

pH và EC đề đảm bảo kiêm soát nồng độ dinh dưỡng chính xác Đồng thời, kết

nối 3G và WIFI cho phép giám sát từ xa từ bất kỳ nơi nào Điều này dẫn đến

việc tạo ra môi trường sinh trưởng tốt nhất cho rau thủy canh

2.2 Tình hình nghiên cứu ngoài nước

Trang 11

Ở Mỹ, thủy canh đã trở thành một phương pháp trồng cây phổ biến trong các hệ

thong nông nghiệp đô thị và trang trại nhỏ Các trang trại thủy canh được thiết kế

hiện đại và tự động, sử dụng các công nghệ tiên tiến như cảm biến, tự động hóa và

quản lý thông minh

Tai Nhật Bản, việc sử dụng thủy canh cũng đã phat triển mạnh mẽ, đặc biệt trong

các đô thị lớn Các hệ thống thủy canh được tích hợp vào kiến trúc đô thị và sử

dụng công nghệ IoT đê giám sát và điêu khiên từ xa.

Một sô nghiên cứu quôc tê đã áp dụng các thuật toán học máy và học sâu được sử

dụng dé nhận diện và phân loại cây trông, dự đoán năng suât và điêu chỉnh điêu

kiện môi trường phù hợp.

- Nghiên cứu của Mohamed Farag Taha (2022) [3]: Nghiên cứu nay sử dụng

công nghệ hình ảnh đề thu thập dữ liệu về cây trồng được trồng trong hệ thống

thủy canh Một mạng CNN được xây dựng và huấn luyện dé nhận dạng và phânloại các hiện tượng thiếu dinh dưỡng trong cây trồng dựa trên hình ảnh

- _ Nghiên cứu cua Sandy C Lauguico (2020) [4]: Sử dụng công nghệ hình ảnh

máy tính, nghiên cứu này thu thập đữ liệu về tăng trưởng của cây rau trong hệ

thống thủy canh Sau đó, phân loại và dự đoán giai đoạn tăng trưởng của cây rauđược thực hiện bang cách sử dung các thuật toán hoc máy

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

Mục tiêu của nghiên cứu này là tạo ra một hệ thống thủy canh kết hợp IoT và mô

hình học máy, học sâu nhăm:

- - Xác định loại cây trồng: xây dựng một hệ thống nhận diện cây trồng dé xác định

loại cây được trồng trong hệ thông thủy canh

- Dé xuất điều chỉnh yêu tô môi trường: xây dựng một hệ thống dé đề xuất thay

đổi các yếu tô môi trường như nhiệt độ, độ am, ánh sáng và chất dinh dưỡng déphù hợp với điều kiện sống của mỗi loại cây trồng

4 Đối tượng nghiên cứu

Đối tượng nghiên cứu trong đề tài này là rau xà lách và rau muống Hai loại cây

trồng này được chọn vì sự phô biến và tiềm năng trong việc trồng trọt thủy canh Cảrau xà lách và rau muống là hai loại rau có thời sinh trưởng ngắn, hình dạng và cấu

trúc khác nhau giúp cho quá trình thu thập dữ liệu tiện lợi hơn và bộ dữ liệu cũng

trở nên đa dạng hơn.

5 Khao sát đề tài

Hiện nay có khá nhiều khóa luận, bài báo có làm về chủ đề liên quan đến thủy canh

và thủy canh tự động hay là nông nghiệp tự động trong nhà kính trong đó có những

Trang 12

chủ đề như:

- “Xây Dựng Mô Hình Quản Lý Nhà Kính Thông Minh Tự Động Chăm Sóc Cây

Trong Dùng Nên Tang loT (Building A Model Of Manager A Smart Greenhouse:

Automatic Cultivating Crop Plants With The lot Technology)” do anh Trần Cao

Lam va Nguyén Quéc Viét thuc hién cùng su hướng dẫn của Th.S Lê Hoài Nghia

- “Vườn Rau Thúy Canh Thông Minh Sử Dung Anh Sáng Đèn Led (Smart

Hydroponics Garden Using Led Light)” do anh Nguyễn Thiện Nhân và Nguyễn

Phúc Thịnh thực hiện cùng sự hướng dẫn từ Th.S Phan Đình Duy

Hầu hết ở những bài nghiên cứu, bài báo trên thì chung quy đều hướng tới một mụcđích đó chính là làm cách nào dé có thé tự động hóa quy trình trồng rau, củ quả mộtcách tự động, giúp tiết kiệm chi phí, công sức, hạn chế rủi ro và tăng năng suất câytrong Nhưng ta có thé thấy những hệ thống trên có lượng dữ liệu về cây trồng và dé

có thê xác định cây trồng tốt ở mức nào khá là hạn ché, có thé không hề cho biết

được liệu với những thông số môi trường hiện tại có thé giúp cây trồng phát triển

được hay không.

Trang 13

CHƯƠNG 2 CƠ SỞ LÝ THUYET VE THUY CANH VA CAC

THIET BI

1 Mô hình thủy canh hồi lưu

Thủy canh là một hình thức trồng cây mà không cần sử dụng đất mà thay vào đó sửdụng dung dịch chứa dưỡng chat dé cung cấp cho cây trồng Hệ thống thủy canh

cho phép cây trồng được trồng trong môi trường kiểm soát, điều chỉnh độ âm, nhiệt

độ và chất dinh dưỡng Điều này giúp tăng năng suất, sử dụng nước hiệu quả hơn vàtiết kiệm diện tích

Thủy canh hồi lưu là một trong các loại hệ thống thủy canh phổ biến Trong hệ

thống này, dung dịch chứa chất dinh dưỡng sẽ cung cấp cho cây trồng thông qua

một hệ thống đường ống Sau khi cây trồng hấp thụ chất dinh dưỡng, dung dịch

thừa được thu hồi và chuyền về bề chứa dé tái sử dụng

Khi dung dịch được cung cấp đầy đủ chất dinh dưỡng, dung dịch này sẽ được chảyqua chậu hoặc hệ thông ống và từ từ lưu về bề chứa Quá trình này được điều khiểnbang van hoặc bộ điều khiển tự động dé đảm bảo dung dịch chảy qua cây trồng vớitốc độ và thời gian thích hợp

Drip system Aeroponics

Hình 2.1 Một số mô hình thủy canh thông dụng

Trang 14

Ưu điểm của mô hình thủy canh hồi lưu:

Tiết kiệm nước: Dung dịch được tái sử dụng, giúp giảm lượng nước sử dụng sovới phương pháp trồng cây truyền thống

Kiểm soát môi trường: Môi trường trồng cây có thể được điều chỉnh chính xác,tạo điều kiện tối ưu cho sự phát triên của cây trồng

Năng suất cao: Mô hình thủy canh hồi lưu thường cho phép tăng năng suất trồngcây so với phương pháp truyền thống, nhờ điều khiển chất dinh dưỡng va môi

trường tốt

Nhược điểm của mô hình thủy canh hồi lưu:

Đầu tư ban đầu: Xây dựng và thiết lập một hệ thống thủy canh hồi lưu đòi hỏi

một đầu tư ban đầu lớn, bao gồm các thiết bị như bề chứa, hệ thống đường ống,

bơm và thiết bị kiểm soát

Kiến thức và kỹ năng: Mô hình thủy canh hồi lưu yêu cầu kiến thức và kỹ năng

dé thiết lập và vận hành hệ thống Người trồng cây cần hiểu về quản lý chất dinhdưỡng, điều khién môi trường và xử lý các vấn đề có thé phát sinh

Rủi ro: Nếu hệ thong không được vận hành hoặc kiểm soát đúng cách, có thê

xảy ra các van đề như vi khuân, nắm mốc hay sự suy thoái của chất dinh dưỡng,

ảnh hưởng đến sức khỏe và năng suất cây trồng.

2 Yếu tố môi trường ảnh hướng đến cây trồng trong thủy canh

Nhiều nghiên cứu đã chỉ ra răng trong hệ thống thủy canh, các yếu tố môi trường

như ánh sáng, nhiệt độ, độ 4m, khí CO2, độ dẫn điện EC, tong lượng chất rắn hòa

tan (TDS) và độ pH tác động đến các loại rau trồng [5] [6]

Trang 15

Tuy nhiên, do kinh phí còn hạn chế nên trong khóa luận này chúng em sử dụng cảm

biên vê ánh sáng, nhiệt độ, độ âm và tông lượng chât răn hòa tan (TDS)

3 Tìm hiéu vê cảm biên

Cảm biến (sensor) là một thiết bị hoặc một phần của hệ thống, có khả năng thu thập

thông tin về yêu tô môi trường và chuyên đôi thành tín hiệu điện tử hoặc tín hiệu

khác đê có thê được xử lý và sử dụng.

Nguyên lý hoạt động: Mỗi loại cảm biến hoạt động dựa trên một nguyên lý cơ bản

khác nhau Ví dụ, cảm biến nhiệt độ dựa trên sự biến đổi điện trở của một vật liệu

dẫn điện khi nhiệt độ thay đổi Cảm biến ánh sáng sử dụng các hiện tượng như

quang điện, hoặc sự thay đôi của các thuộc tính quang học dé đo lường ánh sáng

4 Tìm hiểu về Arduino Nano R3

Arduino là một bo mach dùng dé xử lý các tín hiệu nhận được từ cảm biến hoặc dé

điêu khiên các thiệt bị kích hoạt

Arduino Nano R3 là một phiên bản nhỏ gọn và phố biến của bo mạch Arduino Đây

là phiên bản thứ ba của dòng Arduino Nano, với nhiêu cải tiên và tính năng mới so

với các phiên bản trước.

Arduino Nano R3 có 14 chan I/O kỹ thuật s6, 8 chan analog dé doc giá tri từ các

cảm biên analog

5 Tìm hiểu về Module Wifi ESP8266

Module WiFi ESP8266, dựa trên vi điều khiển ESP8266, cho phép kết nối với mangWiFi và truyền dit liệu qua giao thức TCP/IP hoặc MQTT

Module WiFi ESP8266 có khả năng kết nối với Arduino bang cách sử dụng các

giao thức giao tiếp như Serial (UART), SPI hoặc I2C Điều này cho phép module

ESP8266 nhận và gửi tín hiệu với Arduino, điều này cho phép thực hiện các chức

năng IoT phức tạp hơn.

6 Tìm hiểu về ThingsBoard

ThingsBoard là một nền tảng IoT mã nguồn mở và miễn phí, được thiết kế dé quản

lý và giám sát các thiết bị oT Với ThingsBoard, ta có thé thu thập dữ liệu từ các

thiết bị, hiển thị thông tin theo thời gian thực và tạo các bảng điều khién tùy chỉnh

dé quản lý hệ thống IoT của ta [7]

Dưới đây là một số đặc điểm chính của ThingsBoard:

Trang 16

- Quan lý thiết bị: ThingsBoard cung cấp giao diện quản lý mạnh mẽ dé đăng ký,

kết nối và quản lý các thiết bị IoT Ta có thé thêm, xóa và cập nhật thông tin củacác thiết bị, và theo dõi trạng thái hoạt động của chúng

- Thu thập dữ liệu: ThingsBoard cho phép ta thu thập dữ liệu từ các thiết bị IoT

thông qua giao thức MQTT, CoAP, HTTP Ta có thé thu thập các giá trị từ cảmbiến, trạng thái của thiết bị hoặc bất kỳ dữ liệu nào mà ta muốn theo dõi

- Luu trữ và truy xuất dữ liệu: ThingsBoard cung cấp cơ sở dữ liệu mạnh mẽ dé

lưu trữ dữ liệu từ các thiết bị IoT Ta có thể truy xuất dữ liệu lịch sử và xem lại

các giá tri dựa trên thời gian, thiết bị hoặc thuộc tính

- Tao bảng điều khiển: ThingsBoard cho phép ta tạo các bảng điều khiển tùy

chỉnh dé hiền thị dữ liệu IoT theo cách ta muốn Ta có thé tạo biểu đồ, đồ thị,

bảng, hình anh và các thành phần khác dé trực quan hóa dữ liệu và theo dõi

trang thái của hệ thống IoT

- Quy tắc và cảnh báo: Ta có thé tạo các quy tắc dựa trên điều kiện và hành động

để thực hiện các tác vụ như gửi cảnh báo, thay đổi trang thái thiết bị hoặc thực

hiện các tương tác khác.

- _ Tích hợp và mở rộng: ThingsBoard hỗ trợ tích hợp với các hệ thống và dịch vụ

khác thông qua các giao thức va API.

7 Các thiết bị sử dung trong đề tài

7.1 Arduino Nano R3

Arduino Nano là một phiên bản thu nhỏ của ArduinoUno R3 và các phiên bản

Arduino khác, được tạo ra để tương thích với breadboard nhưng vẫn giữ nguyên day

đủ tính năng của một board Arduino tiêu chuân.

Trang 17

Hình 2.4 Hình ảnh ESP8266 NodeMCU

7.3 Cảm Biến Tong Chat Ran Hòa Tan DFRobot Gravity

- Cam biến tông chat ran hòa tan DFRobot Gravity đo tong chat rắn hòa tan trong

nước (TDS—Téng chat rắn hòa tan hòa tan) trong nước, giúp đánh giá chat

lượng nước Thông số TDS cho biết bao nhiêu miligam chất rắn hòa tan hòa tanđược tìm thấy trong một lít nước

- Khoảng do TDS: 0 — 1000 PPM

Cảm biên đo nhiệt độ và độ âm

- _ Khoảng do giá trị của độ 4m: 20% - 80%RH sai số + 5% RH

Trang 18

- _ Khoảng do giá trị của nhiệt độ: 0 - 50°C sai số + 2°C

Hình 2.6 Hình ảnh cảm biến nhiệt độ và độ ẩm7.5 Cảm Biến Ánh Sáng MS-CDS05

- Cam biến đo độ sáng xung quanh

- - Khoảng đo giá tri của ánh sáng: 0 — 1023

Hình 2.7 Hình ảnh cảm biến ánh sáng

7.6 Bơm Lifetech AP 3500

Bơm Lifetech AP 3500, công suất 60w, lưu lượng 3000L/h, độ cao 3M, sử dụng lắpđặt các giàn thủy canh hay dùng cho bê cá

Trang 19

Hình 2.8 Hình ảnh máy bơm thủy canh 7.7 Camera Wyze Cam v3

Camera Wyze Cam v3 hiện nay là một loại camera tầm trung đáp ứng yêu cầu chonhu cầu lấy hình ảnh với chất lượng hình ảnh vừa đủ tốt (1080 Full HD) từ cây

trồng ở giàn thủy canh, camera này còn có nhiều chức năng như nhận diện âm thanh

hoặc phát hiện chuyên động, chế độ ban đêm, góc rộng (130 độ), phóng to rõ 8X,

giúp chúng ta có thê đáp ứng đầy đủ điều kiện để quan sát giàn cây trồng thủy

canh, Bên cạnh đó còn có thé giúp chúng ta lưu trữ linh hoạt hình ảnh video ở trêncloud hoặc thẻ nhớ (Thẻ mieroSD tối đa 128gb) dựa trên ứng dụng do nhà sản xuấtcung cấp Và hiện tại cũng đã có khá nhiều người viết những API, SDK có thê giúpchúng ta dễ dàng truy cập đến những chức năng đó bằng những đoạn mã để mở

rộng chức năng theo nhu cầu của người sử dụng.

10

Trang 20

Hình 2.9 Hinh ảnh camera Wyze Cam v3

7.8 Ô cắm hẹn giờ cơ

O cắm hẹn giờ cơ dùng dé hẹn giờ bơm nước lên giàn thủy canh

Hình 2.10 Hinh anh 6 cắm hen giờ cơ

CHUONG 3 CƠ SỞ LÝ THUYET VE CÁC THUẬT TOÁN

1 Giới thiệu về SSD (Single Shot MultiBox Detector)

Với ưu điểm phát hiện da vật thé, mục dich sử dụng của Single Sot MultiBox

Detector đó chính là phân loại đặc tính cây trồng và đồng thời tạo nên bộ dữ liệu

hình ảnh cây trồng dé làm dữ liệu đầu vào cho việc phân loại tình trang của cây.

Dưới đây là những lý thuyết cơ bản về Single Sot MultiBox Detector:

SSD (Single Shot MultiBox Detector) là một mô hình phát hiện đối tượng trong lĩnh

vực thị giác máy tính và học sâu SSD được phát triển bởi Wei Liu, Dragomir

Anguelov, và các nhóm nghiên cứu từ Google SSD là một trong những mô hình

phát hiện đối tượng pho bién va hiéu quả, thường được sử dung dé nhận dạng và

phân loại đối tượng trong anh [8]

Extra Feature Layers

VGG-16 f 4 through Conv5, 3 layer Classifier : Conv: 3x3x(4x(Classes+4))

N Classifier : Conv: 3x3x(6x(Classes+4))

-74.3mAP 59FPS

19 19SSD

Conv: 3x3x512-s2 Conv: 3x3x256-s2 Conv: 3x3x256-s1 Conv: 3x3x256-s1

11

Trang 21

Hình 3.1 Hình biểu diễn cấu trúc của SSD

Kiến trúc của SSD gồm hai thành phan chính: mạng cơ sở (base network) và các

tang phụ (auxiliary layers) Mỗi thành phan nay đóng vai trò quan trọng trong việc

phát hiện đối tượng và giải quyết các nhược điểm của các phương pháp truyền

thống

Trong SSD, base network (từ input Image đến Conv7 trong hình 3.9) là một kiến

trúc mạng chuẩn (như VGGNet) dé ta ra ma trận đặc trưng Mục đích của base

network là học cách nhận diện và hiểu các đặc trưng cơ bản của hình ảnh, như cạnh,góc, màu sắc và các đối tượng trong hình ảnh [9]

Sau khi tạo ra khối feature map từ mạng cơ sở (base network), SSD sử dụng các

tầng phụ (auxiliary layers) dé tiền hành phát hiện vật thé Các tang phụ nay được

thêm vào sau các tầng của mạng cơ sở và giúp tăng cường khả năng phát hiện các

vật thé có kích thước khác nhau trên anh [8]

Multi-scale feature maps for detection: Mô hình SSD thêm vào một lớp tích chập

vào sau mạng cơ sở nhằm giảm số lượng chiều và tăng khả năng nhận dạng ở nhiều

tỷ lệ khác nhau

Ví dụ, SSD có thê tạo ra các ma trận đặc trưng với kích thước nhỏ hơn ở các tầng

gần cuối và kích thước lớn hơn ở các tầng gần đầu Điều này giúp SSD phát hiện

các đối tượng nhỏ và lớn trên ảnh Các bản đồ đặc trưng ở các tỷ lệ khác nhau này

cung cấp thông tin về vị trí và đặc trưng của các đối tượng ở các tỷ lệ khác nhau

trên ảnh.

Convolutional predictors for detection:

Việc bổ sung các lớp trong các tầng phụ tạo ra một số lượng dự đoán cố định bằng

cách sử dụng convolutional filters Ví dụ, nếu chúng ta có một feature map có kíchthước 38x38, chúng ta có thé thêm một tang tích chập dé dự đoán các đối tượng tạicác vị trí trên feature map này Mỗi tầng tích chập này sẽ sử dụng một bộ lọc nhỏ, ví

dụ như 3x3, và tạo ra các dự đoán cho mỗi default box tại các vị trí trên feature

map.

Mỗi dự đoán bao gồm các thông tin về lớp và vi trí của đối tượng Ví dụ, một dự

đoán có thể bao gồm xác suất của các lớp đối tượng khác nhau (ví dụ: xe hơi,

người, chó, v.v.) và các giá trị offset dé chỉnh sửa vị trí và kích thước của bounding

box so với default box [10]

Default boxes and aspect ratios:

Default boxes là các hộp giới han được định nghĩa trước va được sử dụng dé ước

lượng vi trí của các đôi tượng trong SSD

12

Trang 22

Mỗi default box được định nghĩa bởi một bộ giá trị, bao gồm tọa độ x, y của trung

tâm hộp và chiêu dài, chiêu rộng của hộp Các default box thường có kích thước

khác nhau đề phù hợp với các đối tượng có kích thước khác nhau trong hình ảnh

Aspect ratios (ty lệ khung hình) được sử dụng dé tạo ra các hộp giới han (boundingboxes) có kích thước khác nhau cho các đối tượng trong hình ảnh Tỷ lệ khung hìnhđại diện cho tỷ lệ giữa chiều rộng và chiều cao của hộp giới hạn

im Hal

= i

ee

Hinh 3.2 Hinh biéu đó, các default bounding boxx

Ví dụ, với một số ty lệ khung hình phô biến như 1:1, 1:2 và 2:1 va Default box size:

30x30 Đối với mỗi vị trí trên feature map, chúng ta sẽ tạo ra các default box tương

ứng bang cách kêt hợp các aspect ratios và default box sizes.

Default box 1: Trung tâm (x, y), kích thước (30x30)

Default box 2: Trung tâm (x, y), kích thước (30x60)

Default box 3: Trung tâm (x, y), kích thước (60x30)

Loss function

- Localization loss: đo lường sai số giữa tham số của box dự báo (predicted box)

và box thực tê (ground truth box)

- Confidence loss: được tính toán dựa trên sai sô dự đoán nhãn

2 Giới thiệu về Convolutional Neural Network

Muc dich su dung cua Convolutional Neural Network 1a phan loai tinh trang cay

trong va đồng thời cũng là cơ sở dé tạo nên một bộ dữ liệu đầu vào cho việc đưa ra

dự đoán về tình trạng cây trồng, đưới đây là những lý thuyết cơ bản về

Convolutional Neural Network:

Convolutional Neural Network (CNN) là một kiến trúc mạng no-ron nhân tao đượcphát triển đặc biệt dé xử lý và phân tích dit liệu hình ảnh, được ứng dụng nhiều

trong các lĩnh vực như nhận dạng đối tượng, phân loại ảnh, nhận dạng khuôn mặt,

và xử lý thị giác máy tính nói chung.

13

Trang 23

Cấu trúc đặc trưng của CNN gồm các lớp (layer) sau [11]:

- Input Layer: Là lớp nhận dữ liệu đầu vào, thông thường là hình ảnh

- Convolutional layer: Dùng dé khám phá đặc trưng của bức ảnh, thường sẽ sử

dụng nhiều bộ lọc (filter hoặc kernel) dé thực hiện phép tích chập trên hình ảnh

đầu vào từ Input layer dé tao ra ma trận đặc trưng (feature map)

- Pooling Layer: Lớp này dùng dé làm giảm kích thước của ma trận đặc trưng

(feature map) bang cách lấy giá trị lớn nhất (Max pooling) hoặc giá trị trung

bình (Average Pooling) của một vùng trong ma trận.

- Fully Connected Layer: Lớp này kết nối các đặc trưng đã được trích xuất từ các

lớp trước và đưa phân loại hoặc dự đoán.

Trong đó, lớp Convolutional và Pooling được lặp lại nhiều lần trong cấu trúc của

CNN Việc lặp lai này giúp cho mô hình học được các đặc trưng phức tap hay trích

xuất được các đặc trưng mới trong quá trình học

conv2 feature maps

conv1 feature maps 14x14x32

Các đầu vào có thé là dữ liệu số học hoặc hình anh được biéu diễn dưới dang ma

trận 2D hoặc 3D Ví dụ, nếu đầu vào là một bức ảnh màu RGB có kích thước 32x32

pixel, thì lớp đầu vào sẽ chứa ma trận 3D với kích thước là 32x32x3, trong đó chiều

thứ ba là 3 dé biêu diễn 3 kênh màu (đỏ, xanh lá cây và xanh lam)

2.2 Convolutional Layer

Lớp này hoạt động bằng cách áp dụng các bộ lọc tích chập (kernel hoặc filter) lên

các vùng nhỏ của đữ liệu đầu vào Mỗi bộ lọc tích chập là một ma trận số học có

kích thước nhỏ hơn hoặc bằng kích thước của dữ liệu đầu vào Bằng cách trượt bộ

lọc tích chập qua toàn bộ không gian đầu vào, ta thực hiện phép tích chập giữa bộ

lọc và từng vùng nhỏ của đầu vào tương ứng

14

Trang 24

Feature

Hình 3.4 Hình biểu diễn lớp tích chập

2.2.1 Stride

Stride hay còn được gọi là bước nhảy, là khoảng cách giữa các lần mà bộ lọc áp

dụng lên ma trận đầu vào Thế nên, bước nhảy càng lớn sẽ giúp làm giảm kích

thước của ma trận đặc trưng (feature map), giúp làm giảm độ phức tạp và các tham

số trong quá trình huấn luyện

Ta có thể điều chỉnh stride dựa trên mục tiêu của bài toán, ví dụ hình ảnh phân loại

không cân quá chi tiêt vào từng diém ảnh trên đôi tượng đê nhận dang, ta có thé

tang stride lên giúp làm giảm hiệu suât tính toán

Padding là việc thêm các giá trị đệm vào xung quanh ma trận đầu vào trước khi áp

dụng tích chập giúp đảm bảo rằng các pixel ở viền của ảnh cũng được xử lý một

15

Trang 25

cach đầy đủ, tránh mat mát thông tin quan trọng Tuy nhiên, khi áp dung padding,đầu ra của lớp tích chập sẽ có kích thước lớn hơn so với không sử dụng padding

HNHH DHRNH

"mm °° Seno

— ñnnjn

Padded Image

Hình 3.6 Hình biểu diễn áp dung padding

Từ những dit kiện trên ta có thé có được công thức tổng quan của kích thước ma

trận đặc trưng sau khi thực hiện phép tích chập như sau

HN—-FI+2P W-F+2P

» S

Với

- HxWxD là kích thước của ma trận đầu vào từ lớp Input Layer

- Filter có kích thước FxFxD, stride là S va padding là P

- K1as6bé filter được áp dung cho việc tích chap

Dưới day là hình anh ví dụ cho việc thực hiện tích chập với ma trận từ Input Layer với bộ lọc (kernel), padding = 0 va stride = 1

Kết qua sau khi thực hiện tích chap

Hình 3.7 Hình ảnh ví dụ cho việc tích chập

2.3 Lớp kích hoạt (activation layer)

Chức năng chính của lớp kích hoạt là áp dụng một hàm kích hoạt phi tuyến tính lên

tính năng trích xuât từ lớp trước đó đê tạo ra tính năng phi tuyên.

16

Trang 26

Có nhiều loại hàm kích hoạt được sử dụng trong CNN nói riêng và trong Neural

Network nói chung, trong đó các hàm kích hoạt phi tuyến phổ biến nhất là:

2.3.1 Ham RELU

Ham Rectified Linear Unit (ReLU) đơn giản là loại bo các giá trị nhỏ hơn 0 Ta có

công thức như sau:

Hinh 3.8 Hinh anh biéu dién ham RELU

Dưới day là hình ảnh ví dụ cho việc áp dung hàm kích hoạt ReLU

bình trên tưng vùng đó.

17

Trang 27

Có hai phép tổng hợp phô biến được sử dụng trong lớp nay:

- Max Pooling: Lay ra giá trị lớn nhất trên từng vùng được tổng hop

- Average Pooling: Lấy ra giá trị trung bình trên từng vùng được tổng hợp

Dưới đây là hình ảnh biểu diện cho Pooling Layer với kích thước 2x2

2.5 Fully Connected Layer

Mục tiêu cua lớp Fully Connected là thực hiện phân loại hoặc dự đoán kết quả cuối

cùng Sau khi hình anh ban đầu được truyền qua nhiều lớp convolutional layer vàpooling layer, ta có được các ma trận đặc trưng Ở lớp này, kích thước của ma trậnđặc trưng là HxW sẽ được chuyên sang một vector có kích thước HxW

one Flattening

——

Pooled Feature Map

|o|Bm|xs|Ìbe|ocl|l-l=-Hình 3.11 Biểu diễn chuyển thành vector 1D cua Fully Connected Layer

Sau khi chuyền đổi thành vector, dé đưa ra phan loại từ vector đó, chúng ta thường

áp dụng một lớp softmax hoặc sigmoid dé tạo ra các dự đoán cho từng lớp.

Lớp softmax thường được sử dụng trong các bài toán phân loại đa lớp, trong đó

chúng ta muốn dự đoán xác suất của đối tượng thuộc về mỗi lớp Lớp softmax sẽ

tính toán xác suất tương ứng cho mỗi lớp bằng cách áp dụng hàm softmax cho

vector đầu vào Hàm softmax chuyền đổi các giá trị trong vector thành các giá trị

18

Trang 28

xác suât năm trong khoảng từ 0 đên 1, và tông các xác suât của tât cả các lớp là 1.

Lớp có xác suât cao nhât sẽ được coi là lớp dự đoán.

3 Giới thiệu về Random Forest

Mục đích sử dụng của Random Foret là đưa ra những dự đoán về tình trang cua cay

dựa trên những dữ liệu về điều kiện môi trường như nhiệt độ, ánh sáng, độ 4m và

TDS, dưới đây là những lý thuyết cơ bản về Random Forest:

Random Forest [12] là một thuật toán được sử dụng để phục vụ cho việc giải quyết

các van đê về phân loại, tính hôi quy Một thuật toán Random Forest kêt hợp nhiêu cây quyêt định với nhau đê tạo ra dự đoán cuôi cùng.

Về cơ sở lý thuyết của thuật toán của Random Forest thì bao gồm những khái niệm

va yêu t6 sau:

- Decision Tree (Cây quyết định): Các cây quyết định được xem như thành phan

cơ bản của Random Forest Cây quyết định là một cấu trúc dữ liệu có cấu trúc

cây được sử dụng dé đưa ra các quyết định dựa trên các thuộc tính của dữ liệu cósan Mỗi cây quyết định trong Random Forest được xây dựng độc lập từ dữ liệuhuấn luyện Trong quá trình xây dựng cây quyết định, các điểm dữ liệu được

chia thành các nhóm theo các đặc điềm và giá trị của chúng Mỗi nút trong cây

quyết định đại diện cho một quyết định dựa trên một thuộc tính cụ thé.

decision nodes root node

Hình 3.12 Hình ảnh mô phỏng thuật toán Decision Tree

- Bootstrap Sampling: Random Forest sử dụng phương pháp tái chọn ngẫu nhiên

dé tạo ra các mẫu dữ liệu con từ tập dữ liệu huấn luyện Quá trình tái chọn ngẫunhiên giúp tạo ra sự đa dạng trong các cây quyết định trong Random Forest Mỗicây trong Random Forest sẽ được huấn luyện trên một mẫu con khác nhau, được

19

Trang 29

tạo ra thông qua quá trình bootstrap sampling Việc sử dụng các mẫu con khác

nhau giúp các cây quyết định có khả năng khám phá các mối quan hệ và thông

tin khác nhau trong dữ liệu huấn luyện Điều này giúp tạo ra sự đa dạng trong

các cây quyết định, vì mỗi cây được huấn luyện trên một mẫu con khác nhau

- Feature Randomness: Khi xây dựng mỗi cây quyết định, Random Forest sẽ chọn

một số thuộc tính ngẫu nhiên từ tập dữ liệu huấn luyện Số lượng thuộc tính

được chon thường nhỏ hơn tông số thuộc tính có sẵn trong dữ liệu Điều này

đảm bảo rằng mỗi cây quyết định sẽ chỉ sử dụng một phần nhỏ thuộc tính và

không được biết trước Điều này giúp giảm sự phụ thuộc vào các thuộc tính cụ

thé và tao ra sự đa dạng trong các cây

- Voting: Khi thực hiện dự đoán cho một mẫu dữ liệu mới, Random Forest sử

dụng phương pháp bỏ phiếu dé kết hợp dự đoán từ các cây quyết định thành một

dự đoán cuối cùng Quá trình bỏ phiếu này tùy thuộc vào loại bài toán, có thé là

phân loại hoặc hồi quy Random Forest tận dụng sự đa dạng của các cây quyết

định dé đưa ra dự đoán cuối cùng Việc kết hợp dự đoán từ nhiều cây giúp cải

thiện độ chính xác và ôn định của mô hình, đồng thời giảm khả năng bị

overfitting do sự cân nhắc từ nhiều góc độ khác nhau

- OOB (Out-of-Bag): Phuong phap OOB (Out-of- Bag) được sử dung trong.

Random Forest dé ước tính độ lỗi trên tập dữ liệu huấn luyện mà không cần phải

Sử dụng tập dữ liệu kiểm tra riêng biệt Khi tạo mỗi mẫu con (bootstrap sample),

một số mau không được chọn và được coi là mẫu of-bag" Các mẫu

"out-of-bag" là những mẫu không được chọn vào mẫu con và do đó không được sử

dụng trong quá trình huấn luyện của cây quyết định tương ứng Tuy nhiên, vì

các mẫu này không được sử dụng trong quá trình huấn luyện, chúng có thê được

sử dung dé đánh giá hiệu suất của mô hình

Với dataset trên ta có thé thay chúng ta có 5 thuộc tính là x0,x1,x2,x3,x4 va 1 cột

thuộc tính quyét định là y va dé áp dụng thuật toán Random Forest cho tap dataset

trên sẽ có những bước như sau.

20

Trang 30

BI: Chúng ta sẽ sử dụng phương pháp tái chọn ngẫu nhiên dé tạo ra các mẫu dữ liệu

con từ tập dữ liệu huân luyện Chúng ta sẽ tạo ra 4 tập mẫu đữ liệu con như sau.

Tập 1 x0 x1 x2 x3 x4 y

2.7 4.3 4.1 5 5.6 0

4.3 49 4.1 47 5.5 0 2.7 4.8 4.1 5 5.6 0 6.5 2.9 4.7 4.6 6.1 1 2.7 6.7 4.2 5.3 4.8 1

2.7 6.7 42 5.3 4.8 1

Hình 3.14: Tap dữ liệu dau tiên được cắt từ dữ liệu train

Tập 2 x0 x1 x2 x3 x4 y

2.7 48 41 5 5.6 0 4.3 4.9 4.1 4.7 5.5 0

Trang 31

B2: Sau khi chia được 4 tập dữ liệu như trên ta sẽ chọn ngẫu nhiên những thuộc tính

đê giúp chúng ta làm ra decision tree, và ở đây chúng ta sẽ chọn thuộc tính cho

Trang 32

Hình 3.19: Cây quyết định thứ hai với thuộc tính x2.

23

Trang 33

B4: Sau khi đã có 4 decision tree như trên chúng ta có thé chọn 1 mẫu dữ liệu dé

tiên hành dự đoán, ở đây chúng ta sẽ chọn mẫu dữ liệu như sau:

x0 x1 x2 x3 x4

2.8 6.2 4.3 5.3 5.5

Hình 3.22: Mẫu dữ liệu cần dự đoán

B5: Tiếp đến chúng ta sẽ tiến hành áp mau đữ liệu cần dự đoán vào 4 cây decision

tree và tiên hành voting, ta có thê thây:

e Với cây | ta có thé nhận kết quả ở cột y là 1

e Với cây 2 ta có thể nhận kết quả ở cột y là 0

e Với cây 3 ta có thé nhận kết quả ở cột y là 1

e Với cây 4 ta có thé nhận kết quả ở cột y là 1

Sau khi đã nhận được kết quả mà ta áp mẫu dự liệu cần dự đoán vào các decision

tree ta sẽ tiên hành bước bỏ phiêu ở đây ta thay là 1 chiêm 3⁄4 kêt quả, vì vậy với

mau dir liệu trên ta có thê dự đoán được cột y sẽ có giá trị là 1.

24

Trang 34

4 Các thư viện và công cụ sử dụng

4.1 Thu viện DHT

Thư viện DHT là một thư viện Arduino phổ biến được sử dụng dé làm việc với các

cảm biến nhiệt độ và độ 4m dong DHT Thư viện này cung cấp các chức năng để

đọc dir liệu từ cảm biến và tính toán nhiệt độ và độ âm tương ứng.

4.2 Thư viện PubSubClient

Thư viện PubSubClient là một thư viện Arduino phố biến được sử dụng dé kết nối

và giao tiếp với các broker MQTT (Message Queuing Telemetry Transport) trong

các ứng dụng IoT MQTT là một giao thức truyền thông nhẹ, đơn giản và tin cậy

được sử dụng dé truyền tải thông tin giữa các thiết bị trong môi trường mang phân

tán.

4.3 Thu viện ArduinoJson

Thư viện ArduinoJson là một thư viện mã nguồn mở cho Arduino và các nền tảng

nhúng khác, được sử dụng để làm việc với định dang JSON (JavaScript Object

Notation).

4.4 Thư viện Object Detection API

Object Detection API là một thư viện mã nguồn mở được phát triển bởi Google dựa

trên TensorFlow Thư viện này cung câp các công cụ và hàm đê xây dựng và huân

luyện các mô hình nhận diện đôi tượng (object detection) mạnh mẽ [13]

API này cung cấp một cách tiếp cận linh hoạt dé tạo ra các mô hình nhận diện đối

tượng có thé phát hiện và phân loại nhiều đối tượng khác nhau trong ảnh hoặc video

và hỗ trợ các thuật toán nhận điện đối tượng phô biến như Faster R-CNN, SSD và

YOLO (You Only Look Once).

4.4.1 SSD (Single Shot MultiBox Detector):

- SSD MobileNet v1: Đây là một mô hình object detection nhẹ, sử dung kiến trúc

MobileNet v1 làm mạng cơ sở kết hợp việc sử dụng lớp tích chập và lớp phân

loại dé phát hiện đối tượng và xác định vị trí của chúng

- SSD MobileNet v2: Phiên bản cải tiến của SSD MobileNet v1, sử dụng kiến trúc

MobileNet v2 Phiên bản này tăng cường hiệu suất và tốc độ xử lý so với phiên

bản trước đó.

4.5 Công cụ Labellmg

Labellmg là một công cụ mã nguồn mở được sử dụng dé gắn nhãn (labeling) đối

tượng trong ảnh được phát triên bởi một nhóm công nghệ viên tai GitHub và thường được sử dụng trong các dự án liên quan đên học máy và thị giác máy tính.

25

Trang 35

Labellmg cho phép người dùng dễ dàng tạo các hộp giới hạn (bounding boxes)

xung quanh đối tượng trong ảnh và gắn nhãn cho chúng Các nhãn có thể được xácđịnh và tùy chỉnh bởi người dùng, cho phép phân loại nhiều lớp và đối tượng khác

nhau trong một tập dữ liệu.

Box Labels

JUsers/rflynn/sre/labellmg/dem, JUsers/rlynn/src/labelimg/dem,

a /Usersirflynn/srcflabellmg/dem

` /Users/rflynn/src/labellmg/dem Prev Image JUsers/rflynn/sre/labellmg/dem,

Arduino IDE là một phần mềm được sử dung dé lập trình và nạp chương trình cho

các bo mạch, hỗ trợ ngôn ngữ lập trình C/C++ và cung cấp một giao diện thân thiện

Ngày đăng: 05/10/2024, 00:18

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

TÀI LIỆU LIÊN QUAN