- 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 2LỜ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 3CHƯƠ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 42.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 5DANH 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 6Hì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 7Hì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 8Hì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 9DANH MỤC TỪ VIET TAT
Trang 10CHƯƠ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 12chủ đề 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 13CHƯƠ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 15Tuy 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 17Hì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 19Hì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 20Hì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 21Hì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 22Mỗ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 23Cấ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 24Feature
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 25cach đầ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 26Có 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 27Có 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 28xá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 29tạ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 30BI: 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 31B2: 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 32Hình 3.19: Cây quyết định thứ hai với thuộc tính x2.
23
Trang 33B4: 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 344 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 35Labellmg 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