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

Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác

82 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 đề Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Tác giả Ta Xuân Trường
Người hướng dẫn TS. Đoàn Duy
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 82
Dung lượng 31,88 MB

Cấu trúc

  • 1.2 Các nghiên cứu lên quan (0)
    • 1.2.1 Cac nghiên cứu ngoài nước (18)
    • 1.2.2 Cac nghiên cứu trongnước (0)
  • 1.5 Giới hạn của đềtài .......... .. eee 7 2_ KỸ THUẬT LIÊN QUAN 8 (0)
    • 2.1.1 Gidithiguchung (0)
    • 2.1.3 Các bước xây dựng hệ thống máy học (26)
  • 2.2 Detectron2 (28)
    • 2.2.1 Giới thiệu Detectron2 13 (29)
    • 2.2.2 Cấu trúc Detectron2 13 (29)
    • 2.3.1 Giới thiệu YOLOv4 (34)
    • 2.3.2 CấutrúcYOLOv4 (34)
    • 2.4.1 Giới thiệu Microservices (37)
    • 2.4.2 Các đặc điểm của Microservices (37)
    • 2.5.1 Giới thiệu Angular (39)
    • 2.5.2 Các đặc điểm của Angular (40)
  • 3.1 Thiếkếhệthống ................ cố, 25 (0)
  • 3.11 sở diện ĐẠ. ,@Ó @ (0)
  • 3.12 Hệthốnghuấnluyện (44)
    • 3.1.3 Hệ thống phân tích. 29 (45)
    • 3.1.4 API 30 (46)
    • 3.1.5 Giao diện người dùng (47)
  • 3.2 Xây dựnghệthống ................00-0000005 32 (48)
    • 3.2.1 Giaiđoạn|......... ee eee 32 (48)
    • 3.2.2 Giaidoan2 ... 2... eee 33 (0)
    • 4.1.1 Tap dữ liệu PlantVillage (0)
    • 4.1.2 Dữliệubổsung (0)

Nội dung

LỜI CAM ĐOANTôi xin cam đoan Đề tài Luận văn Thạc sĩ "Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác” là công trình nghiên cứu kho

Các nghiên cứu lên quan

Cac nghiên cứu ngoài nước

Các nước phát triển đã ứng dụng CNTT vào nông nghiệp từ rất sớm Dưới đây là một số nghiên cứu phân tích bệnh trên lá cây cà chua nổi bật trong những năm gần đây:

ToLeD: Tomato leaf disease detection using convolutional neural network (2020).

“Trong nghiên cứu [5], nhóm tác gia sử dung mô hình mang no-ron tích chập (Con- volution Neural Network - CNN) 3 lớp để phân loại bệnh từ ảnh chụp lá Độ chính xác đạt được của nhóm nghiên cứu từ 76% tới 100%, trung bình là 91,2%, được thể hiện ở hình 1.1.

Hình 1.1: Độ chính xác nhận nhận dạng bệnh của nhóm nghiên cứu ToLeD

Disease detection on the leaves of the tomato plants by using deep learning (2017). Trong nghiên cứu [6], nhóm tác giả thử nghiệm mô hình CNN AlexNet với 5 lóp và mô hình CNN SqueezeNet với số lớp ít hơn (2 lớp) Việc huấn luyện được thực hiện với hình ảnh đã phân đoạn từ tập dữ liệu PlantVillage [20].

Nhóm nghiên cứu đạt được độ chính xác 94,3% với mô hình SqueezeNet và 95,6% với mô hình AlexNet Mô hình nhận dạng bệnh có kích thước nhỏ (2,9MB với mô hình SqueezeNet và 227,6MB với mô hình AlexNet và ), phù hợp để chạy trên hệ thống nhúng Nvidia Jetson TxI mà nhóm tác giả đã sử dung.

Confusion Matrix for Ten Class Classification

Septoria Leaf Spot tịa ? i Spider Mites 2 1 15

Fd 309 9S về oF và” ooh Go® go sò Boro 0 sàết gh số OrFed AT với of vàn SEN cự onTM eS và vàn Ẻ eee s KỆ,

Hình 1.2: Độ chính xác nhận dang bệnh với mô hình EfficientNet CNN

Automatic and Reliable Leaf Disease Detection Using Deep Learning Techniques

(2021) Nhóm tác giả trong nghiên cứu [7] đã phát triển một mô hình mạng tích chập sâu (Deep CNN) dựa trên mô hình EfficientNet CNN Độ chính xác nhóm nghiên cứu đạt được là 99,89% Các trường hợp nhận dạng bệnh sai được thể hiện trong ma trận lỗi (confusion matrix) ở hình 1.2.

1.2.2 Các nghiên cứu trong nước

Tại Việt Nam, phát triển nông nghệp được chính phủ quan tâm và hỗ trợ bằng nhiều chính sách Đã có nhiều công ty ứng dụng công nghệ để cung cấp giải pháp

1 GIỚI THIỆU cho nông nghiệp như:

Nextfarm (www.nextfarm.vn) (2018-nay) là một công ty trẻ 100% vốn trong nước, đạt nhiều giải thưởng quốc gia và đóng góp nhiễu cho lĩnh vực nông nghiệp công nghệ cao trong nước [18] Công ty đã xây dựng hệ sinh thái nông nghiệp thông minh ngành trồng trọt gồm 2 nhóm sản phẩm chính:

+ Nhóm sản phẩm phục vụ sản xuất

— NMC Pro: Điều khiển khí hậu nhà mang

— Fertikit: Châm phân dinh dưỡng tự động

= QR Check: Truy xuất nguồn gốc + Nhóm sản phẩm phục vụ đầu ra

— DataPOS: Quản lý kho, nhập hàng vật tư, bán hàng đa kênh, livestream bán hàng

— NextCRM: Quản lý khách hàng, marketing automation, CRM đa kênh

Dòng sản phẩm đa dạng, giá thành rẻ hơn các sản phẩm nhập khẩu 30% tới 50% nên được nhiều khách hàng trong nước lựa chọn.

Nông nghiệp Số AgriConnect (2018-nay) hợp tác với nhiều trường đại học trong nước để nghiên nghiên cứu và cung cấp giải pháp số cho nông nghiệp Việt Nam

[18] dựa trên nền tảng IơT Các sản phẩm nổi bật của công ty:

* Cảm biến EBee-N: Theo dõi nhiệt độ, độ ẩm không khí, độ ẩm của đất, ánh sáng, COa, độ dẫn điện của nước (electro conductivity - EC)

* Bộ điều khiển trung tâm QBee-N: Điều khiển các thiết bị trong nhà kính

(quạt, đèn, bơm phun sương, bơm dinh dưỡng )

Do Việt Nam chỉ mới ứng dụng CNTT vào lĩnh vực nông nghiệp chưa lâu, nên dữ liệu số hóa chưa nhiều Công ty đã tạo ra giải pháp phần mềm cho phép chăm sóc cây trồng kết hợp giữa tự động và thủ công theo kinh nghiệm của nhà nông.

Bang 1.1: So sánh các nghiên cứu liên quan và giải pháp sẵn có

Nghiên cứu / Giải pháp Ưu điểm Nhược điểm he, 2 Chua xây dựng được ứng ToLeD (2020) [5] Dat độ chính xác 91,2%: dụng cho người sử dụng

AlexNet và SqueezeNet Otay es tên hệ thông Chưa xây dựng được ứng

(2017) [6] nhúng dung cho người sử dung

Chưa xây dung được ứng EfficientNet CNN (2021) [7] Dat độ chính xác 99,89%* dụng cho người sử dụng

Nextfarm (2018) [18] San phẩm da dang

Thiêu tính năng chan đoán bệnh và kết nối người nông dân với chuyên gia nông nghỉ

AgriConnect (2018) [18] Phan cứng hoàn thiện

Thiéu tính năng chẩn đoán bệnh và kết nối người nông dân với chuyên gia nông nghiệp

(*) Với bộ dữ liệu PlantVillage [20]

1.3 Tính cấp thiết của đề tài

Bảng 1.1 tóm tắt các nghiên cứn liên quan và giải pháp sẵn có Chúng ta có thể thấy các nghiên cứu [5, 6, 7] chỉ dừng ở mức độ nghiên cứu dựa trên dữ liệu, thiếu đánh giá của chuyên gia nông nghiệp và chưa xây dựng ứng dụng cho người sử dụng Các giải pháp của công ty NextFarm và Nông nghiệp Số AgriConnect

[18] tập trung vào phần cứng và điều khiển các thiết bị chăm sóc cây trồng theo các luật định sẵn (rule-based), thiếu tính năng chẩn đoán bệnh và kết nối người nông

1 GIỚI THIỆU dan với chuyên gia nông nghiệp.

Việc xây dựng một nền tảng ứng dụng đáp ứng được nhu cầu nhận dạng bệnh trên cây trồng hiệu quả, giao diện thân thiện và hỗ trợ kết nối người dùng là nông dân, chuyên gia nông nghiệp cùng chuyên gia công nghệ là một thách thức lớn.

Dựa vào các vấn đề còn tồn tại ở bảng 1.1 và tính cấp thiết đã nêu trong mục 1.3, đề tài này cần nghiên cứu và giải quyết các vấn dé sau:

+ Tìm hiểu các giống cây cà chua được trồng phổ biến, xây dựng cơ sở dữ liệu về thông tin bệnh trên cây và phương pháp xử lý.

* Xây dựng hệ thống máy học nhận dạng bệnh tự động thông qua ảnh chụp lá cây cà chua, tập trung vào các chung loại cà chua lê, cà chua bi nhật ban lá trơn và lá chia thùy, cà chua mẫn Đây là các loại cà chua phổ biến ở Việt Nam và có giá trị kinh tế cao.

+ Xây dựng cơ sở dữ liệu hỗ trợ tư vấn chăm sóc cây cà chua, hướng xử lý các bệnh:

— Bệnh vàng xoắn lá (Yellow leaf curl virus)

— Bệnh dém lá (Bacterial spot)

— Bệnh cháy lá Septoria (Septoria leaf spot)

— Bệnh tia muộn (Late blight)

— Bệnh cháy lá sớm (Early blight)

— Bệnh kham lá (Mosaic virus)

— Bệnh mốc xám (Leaf Mold)

— Bệnh ve nhện (Spider mites, Two-spotted spider mite)

* Xây dựng nền tảng ứng dụng cho phép chẩn đoán bệnh nhanh chóng và kết nối nhà nông với các chuyên gia.

+ Phát triển hệ thống hoàn chỉnh trên điện toán đám mây (cloud computing).

1.5 Giới hạn của dé tài

Do bị hạn chế về thời gian và tài nguyên, nên đề tài này có những giới hạn sau:

* Tap dữ liệu 11.000 ảnh lá cây cà chua, trong đó:

~_10.000 ảnh lấy từ tập dữ liệu Plant Village [20, 21].

—_1.000 ảnh chụp thực tế và thu thập trên internet + Độ chính xác dự kiến trên 90,0%.

+ Xây dựng hệ thống ứng dụng minh họa trên nền tảng web.

— Nhỏ hơn 1.0s/ảnh khi sử dung GPU.

— Nhỏ hơn 10.0s/anh khi sử dụng CPU.

Chương này sẽ trình bày các kỹ thuật được nhóm nghiên cứu sử dụng để thực hiện luận văn Phần đầu trình bày về máy và kỹ thuật học sâu, kỹ thuật đã giúp giải quyết hiệu quả bài toán nhận dạng đối tượng Phần tiếp theo trình bày chỉ tiết các thuật toán được chọn và sử dụng để phân loại lá cây, phát hiện bệnh trên lá cây cà chua Phần cuối chương trình bày các kỹ thuật thiết kế hệ thống và giao diện người dùng.

Máy học là một phương pháp tiếp cận để đạt được trí tuệ nhân tạo (Artificial intelligence - Al), trí tuệ nhân tạo là trí thông minh được thể hiện bằng máy móc

Giới hạn của đềtài eee 7 2_ KỸ THUẬT LIÊN QUAN 8

Các bước xây dựng hệ thống máy học

Khác với các hình thức lập trình truyền thống là viết mã để mô tả các hành đồng. mà máy tính sẽ xử lý, trong hệ thống máy học, chúng ta viết các thuật toán để máy

2 KỸ THUẬT LIÊN QUAN tính đưa ra các hành động dựa vào các ví dụ mẫu mà chúng ta đưa vào Kết quả cuối cùng, bao gồm cả thuật toán và các tham số học được, được gọi là mô hình. © your data SF Code your model °—* Train, evaluate and

Source and prepare tune your model © © © ©

Deploy your trained Ÿ“”® Get predictions Monitor -— the ongoing °—® Manage your models. model from your model predictions and versions

Hình 2.3: Quy trình xây dựng hệ thông may học

Hình 2.3 khái quát các bước xây dựng hệ thống máy học được Google Cloud

[34] mô tả trong 7 bước như sau:

Bước 1: Thu thập và chuẩn bị dữ liệu - Bước này rất quan trọng vì số lượng và chất lượng dữ liệu ảnh hưởng trực tiếp tới kết quả của toàn bộ hệ thống Dữ liệu cần được sàng lọc, phân loại, đánh nhãn và phân tích (tiền xử lý) để thấy được sự liên quan và các xu hướng biến đổi.

Bước 2: Chọn mô hình _ Trong bước này, chúng ta cần chọn ra mô hình phù hợp với bài toán chúng ta cần giải Do có rất nhiều mô hình máy học được nghiên cứu và tạo ra qua các năm, mỗi mô hình phù hơp và đạt hiệu quả tốt nhất với những kiểu dữ liệu nhất định Việc chọn đúng mô hình phù hợp sẽ giúp bài toán chúng ta cần giải đạt kết quả tối ưu nhất.

Bước 3: Huan luyện, kiểm thử và điều chỉnh mô hình Đây là bước tốn nhiều tài nguyên nhất (cả thời gian lẫn phần cứng máy tính) Trong bước này, chúng ta

2 KỸ THUẬT LIÊN QUAN sẽ đưa các dữ liệu đã chuẩn bị ở Bước 1 vào hệ thống, hệ thống sẽ tự chạy và điều chỉnh các tham số để cho kết quả khớp với dữ liệu và nhãn Việc kiểm thử (evaluate/validate) trong va sau huấn luyện giúp đánh giá tính hiệu quả và độ chính xác kết quả việc huấn luyện.

Bước 4: Triển khai mô hình Sau khi có được mô hình từ Bước 3, chúng ta cần triển khai mô hình lên hệ thống để có thể nhận và trả lời các yêu cầu từ ứng dụng hoặc người dùng.

Bước 5: Lấy kết qua dự đoán của hệ thống _ Tại bước này, hệ thống sẽ trả về kết quả dự đoán từ dữ liệu ứng dụng hoặc người dùng gửi lên.

Bước 6: Theo dõi hoạt động của hệ thống Khi hệ thống đã triển khai, tùy mức độ quan trọn mà chúng ta cần theo dõi liên tục để đảm bảo không bị gián đoạn dịch vụ Đồng thời chúng ta cũng liên tục theo dõi kết quả trả về, thu thập và phân loại thêm dữ liệu (Bước 1) để tiền hành huấn luyện thêm (Bước 3) nhằm tăng độ chính xác của hệ thống lên theo thời gian.

Bước 7: Quan lý các mô hình và phiên bản _ Việc theo dõi, quản lý các mô hình và phiên bản giúp chúng ta phân tích lỗi, cải tiền hệ thống, nâng cao hiệu quả hoạt động và giảm thiểu rủi ro.

Detectron2

Giới thiệu Detectron2 13

Detectron2 [24] là một thư viện mã nguồn mở của Facebook AI Research cung. cấp các giải thuật phát hiện và phân đoạn tốt nhất Được kế thừa từ Detectron [31] và maskrenn-benchmark [29], Detectron 2 có những đặc điểm nổi bật sau:

* Viết trên nền PyTorch [28], một bộ khung máy học mã nguồn mở

* Thiết kế dạng mô dun, có thể mở rộng linh hoạt

* Thêm nhiều mô hình và tính năng mới như Faster R-CNN, Mask R-CNN,

RetinaNet, DensePose, Cascade R-CNN, Panoptic FPN, và TensorMask

+ Hỗ trợ nhiều tác vụ phát hiện vật thé, phân lớp ngữ nghĩa và phân đoạn vật thể

+ Huấn luyện nhanh hơn, chạy nhanh hơn

Cấu trúc Detectron2 13

Mã nguồn Detectron2 được chia sẻ chính thức trên GitHub [24], có cấu trúc thư mục như ở dưới đây, trong đó thư mục modeling chứa các lớp và kiến trúc các mạng nơ ron, là thành phần chính của Detectron2. detectron2

| checkpoint # quản lý các điểm mốc trong quá trình lưu/nạp mô hình

|~- config # quản lý các cấu hình mặc định

| data # quản lý các tập đữ liệu và nhập/xuất

| engine # cơ chế dự đoán và huấn luyện

| evaluation # cơ chế thử nghiệm cho mỗi ta dữ liệu

| export # chuyển định dang mô hình detectron2 sang caffe2

| | meta_arch # các lớp tùy biến mạng xương sống (VD ResNet, FPN) kiên trúc tổng (VD R-CNN, RetinaNet)

| lI proposal_generator # mang đề xudt vùng (region proposal network)

‘ utils # mạng các vùng quan tam (Region of interest) các liên kết và quan lý mô hình huấn luyện sẵn tối ưu và lập lịch biên dịch cấu tric các lớp (VD Boxes, Instances, ) các tiện ích (VD mô hình hóa, nhật ký, )

Hồ, de"mẽ ps cn wu; BSằ t000boc ancrordetas proposes ir 3xác RPNOpapet

"`1 ẽẻ FPN Boden oS Outputs (Box Head)

Hình 2.4: Kiến trúc Base-RCNN-FPN

Hình 2.4 minh họa kiến trúc Base-RCNN-FPN được dùng để xây dựng nên Detectron2, kiến trúc tổng (khai báo trong file meta_arch/renn.py) gồm có 3 thành phan chính:

Backbone Network là một mạng kim tự tháp đặc trưng (Feature Pyramid Network

- FPN) dùng để trích xuất đặc trưng trong ảnh và có cấu trúc mã nguồn như sau:

I build.py # gọi hàm biên dich

It regnet.py # Mang ResNet

Mang Backbone nhận đầu vào là hình ảnh theo định dang (torch.Tensor) : (B,H,W), trong đó B, H, W tương ứng với kích thước khối (batch) và kích thước ảnh Đầu ra là các bản dé đặc trưng (feature maps) theo định dang:

(dict of torch.Tensor): (B, C, H/ S, W/8) trong đó C và S tương ứng với kích thước kênh (channel, mặc định C = 256) và số bước (stride, mặc định S = 4, 8, 16, 32, 64 tương ứng với P2, P3, P4, P5, P6) Vi dụ với hình ảnh đầu vào có kích thước 1024x768, đầu ra của FPN sẽ như sau: output["p2"].shape -> torch.Size([1, 256, 192, 256]) # stride = output["p3"].shape -> torch.Size([1, 256, 96, 128]) # stride = output ["p4"].shape -> torch.8ize([1, 256, 48, 64]) # stride = 16 output ["p5"].shape -> torch.Size([1, 256, 24, 32]) # stride = 32 output ["p6"].shape -> torch.Size([1, 256, 12, 16]) # stride = 64

Region Proposal Network (RPN) mạng nơ ron của RPN được gọi là RPN Head, gồm 3 lớp tích chập được định nghĩa trong lớp StandardRPNHead (file rpn.py): conv (3x3, 256 -> 256 ch) objectness logits conv (1x1, 256 -> 3 ch) anchor deltas conv (1x1, 256 -> 3x4 ch)

RPN nhận từng bản dé đặc trưng tit FPN theo các cấp độ từ P2 tới P5 Các đối tượng nhỏ được phát hiện ở P2 và P3, các đối tượng lớn được phát hiện ở P4 tới P6 Cũng tại đây, các anchor box, là các hình chữ nhật tham chiếu được định sẵn

(pre-defined reference boxes) từ ground truth trong lúc huấn luyện mô hình được tạo ra.

MODEL ANCHOR_GENERATOR.ASPECT_RATIOS = [[0.5, 1.0, 2.0]]

Có 5 kích thước tương ứng với 5 cấp độ của ban đồ đặc trưng (P2 tới P6) va 3 ti lệ khung (1:2, 1:1, 2:1) Sau cùng, các anchor được đặt vào các dự đoán bản đồ đặc trưng (predicted feature maps), thực hiện tính toán và so sánh với ground truth để đưa ra 1000 khu vực đề xuất (region proposal) cùng trọng số có chứa đối tượng cần nhận dang.

ROI Heads (Box Head) - Là thành phan cuối cùng trong kiến trúc RCNN, có cấu

⁄a mã ngHÀ trúc mã nguôn như sau:

| box_head py cascade_renn.py fast_rcnn.py keypoint_head.py mask_head py

ROI Head nhận 3 cấu trúc dữ liệu đầu vào:

* Các bản đồ đặc trưng từ FPN

* Các khu vực đề xuất từ RPN

* Các Ground truth box từ tap dif liệu

Sau đó quá trình ROI Pooling sẽ cắt các vùng chữ nhật từ bản đồ đặc trưng được chỉ định bởi các khu vực dé xuất Detectron2 sử dụng phương pháp ROIAlignV2, là một bản cải tiền của phương pháp ROIAlign được trình bày trong Mask R-CNN

[16] Kết quả trả về có dang:

[B, C, H, W] = [N x batch size, 256, 7, 7] trong đó B, C, H va W là batch, channel number, height va width Mac định một batch có 512 vùng quan tâm với kích thước 7x7.

Sau quá trình ROI Pooling, các đặc trưng đã cắt (cropped features) được đưa vào mạng head Có hai loại head: box head (trả về bounding box chứa đối tượng) và mask head (trả về các phân đoạn chứa đối tượng) Kết quả cuối cùng trả về có dạng: outputs["instances"].pred_classes # kết quả phân lớp đối tượng outputs["instances"].pred_boxes # vị trí của đối tượng trong ảnh outputs ["instances"] scores # xác suất của đối tượng

Hệ thống cho phép người dùng gửi lên hình ảnh chụp lá cây để phân tích bệnh, tuy nhiên thực tế hình ảnh người dùng gửi lên rất đa dạng và không thể kiểm soát được Việc phân tích bệnh trên các hình ảnh không phù hợp (không phải lá cây cà chua) sẽ gây lãng phí tài nguyên hệ thống một cách không cần thiết Nhóm nghiên cứu cần chọn một thuật toán phân loại hình ảnh lá cây cà chua chạy nhanh và có độ chính xác chấp nhận được để lọc nhanh hình ảnh người dùng gửi lên.

YOLO [13] là một thuật toán dựa trên mô hình mạng nơ ron tích chập dùng để nhận dạng đối tượng theo thời gian thực So với các thuật toán phân lớp truyền thống (như Support-vector machine - SVM), YOLO có độ chính xác cao hơn, tự động trích xuất đặc trưng nên hình ảnh không cần phải qua tiền xử lý trước khi đưa vào phân loại Nhược điểm của YOLO là có tốc độ xử lý chậm hơn nhưng vẫn đáp

2 KỸ THUẬT LIÊN QUAN ứng được tiêu chí thời gian của nhóm nghiên cứu (dưới 0,1s cho mỗi hình ảnh cần phân loại).

Phiên bản YOLO đầu tiên được công bố vào năm 2015 có 26 lớp (24 lớp tích chập - Convolution layers theo sau 2 lớp kết nối đầy đủ - Fully Connected layers), nhược điểm của phiên bản đầu tiên là không phát hiện được những đối tượng quá nhỏ.

Phiên bản tiếp theo - YOLO9000 [14] tăng số lớp lên 30, có thêm Anchor boxes được định sẵn bởi người dùng giúp mạng nơ ron biết vị trí các đối tượng. YOLO9000 có độ chính xác cao hơn và chạy nhanh hơn phiên bản đầu tiên, tuy nhiên vẫn gặp vấn đề với việc phát hiện những đối tượng quá nhỏ.

YOLOv3 [15] kết hợp và cải tiến mang nơ ron YOLOv2, Darknet-19 thành mạng Darknet-53 có 53 lớp tích chập, 9 anchor boxes, phát hiện trên 3 mức tỉ lệ giúp khắc phục nhược điểm phát hiện đối tượng quá nhỏ ở các phiên bản trước đồng thời phát hiện được những đối tượng rất lớn YOLOv3 có độ chính xác cao hơn và chạy nhanh hơn YOLO9000

Giới thiệu YOLOv4

YOLOv4 [8] có nhiều cải tiến lớn so với YOLOv3 bao gồm kiến trúc mạng Backbone và sự thay đổi trong lớp Neck đã tăng độ chính xác (mAP) thêm 10% và tốc độ xử lý thêm 12%.

CấutrúcYOLOv4

Mã nguồn YOLOv4 được tác giả chia sẻ chính thức trên GitHub, có cấu trúc thư mục như ở dưới, trong đó thư mục src chứa các lớp và kiến trúc các mạng nơ ron, là thành phần chính của YOLOv4. darknet

| 3rdparty # các thư viện bổ sung

I build # biên dich chương trình

| cmake # tiện ích hỗ trợ biên dịch trên Linux/Unix

| data # tập dit liệu và đánh nhãn

| scripts # Một số kịch bản định sẵn tơ— sre # Mó nguồn chương trỡnh, viết bằng C và CUDA

Hình 2.5: Cầu trúc các thành phan trong YOLOv4

Kiến trúc tổng quan của YOLOv4 gồm có 4 công đoạn (stages) như sau:

Input Dif liệu đầu vào là hình ảnh cần phát hiện đối tượng.

Backbones sử dụng mô hình CSPDarknet53 [10] nhằm tăng khả năng học của mô hình CNN CSPDarknet53 dựa trên mô hinh DenseNet [9] vốn được thiết kế để kết nối các lớp trong mạng nơ ron tích chập, giảm thiểu vấn đề vanishing gradient (là vấn đề xảy ra khi huấn luyện các mạng nơ ron nhiều lớp Khi huấn luyện, giá trị đạo hàm là thông tin phản hồi của quá trình lan truyền ngược Giá tri này trở nên vô cùng nhỏ tại các lớp nơ ron đầu tiên khiến cho việc cập nhật trọng số mạng không thể xảy ra), tăng cường sự lan truyền đặc trưng và giảm đáng kể các tham số mạng.

Hình 2.6: Cấu trúc mô hinh DenseNet và CSPDenseNet

Hình 2.6 mô tả cấu trúc DenseNet và CSPDenseNet, trong đó đầu ra của lớp thứ i sẽ kết nối trực tiếp với đầu vào của lớp thứ i và trở thành đầu vào của lớp thứ ¡+ 1 CSPDenseNet cải tiến lớp chuyển tiếp từng phan (partial transition layer), tách thành hai phan Đầu tiên, đầu ra của lớp dense sẽ nối tiếp vào lớp chuyển tiếp, tiếp theo đầu ra của lớp chuyển tiếp sẽ được đưa vào lớp chuyển tiếp khác Điều này khiến CSPDenseNet giữ lại và tái sử dụng được các đặc trưng, thông tin gradient, cân bằng tài nguyên tính toán giữa các lớp và giảm thiểu băng thông bộ nhớ.

Neck nhận bản đồ đặc trưng (feature maps) từ Backbone, sử dụng mô hình SPP

[11] để trích xuất được nhiều thông tin hơn từ ảnh đầu vào, PAN [12] để tổng hợp các tham số cho các lớp khác nhau Mạng kết nối toàn phan (fully connected network) yêu cầu cô định kích thước đầu vào (fixed size input) và cố định cửa sổ trượt (fixed sliding window), SPP có thé tạo ra kích thước ảnh cố định mà không

2 KỸ THUẬT LIÊN QUAN phụ thuộc kích thước ảnh đưa vào, trích xuất đặc trưng ở mọi tỉ lệ và gộp nhiều cấp độ không gian (multi-level spatial bins).

Heads thực hiện dự đoán mật độ (dense prediction), trả về kết quả phân lớp, điểm số (confidence score) va vị trí của đối tượng theo định dạng (X, Y, W, H) Head sử dụng mô hình YOLOv3 [15] với 3 anchor boxes ở mỗi tỉ lệ, phát hiện với 3 mức ti lệ (13x13, 26x26, 52x52).

Công nghệ điện toán đám mây (cloud computing) phát triển mạnh trong những năm gần đây mang lại nhiều ưu điểm trong việc xây dựng, triển khai và tối ưu hoạt động của hệ thống CNTT Nhóm nghiên cứu chọn và sử dụng kiến trúc Microser- vices để thiết kế hệ thống nhằm tận dụng tối đa các ưu thế của công nghệ điện toán đám mây hiện nay.

Giới thiệu Microservices

Microservices [2, 35] là một biến thể của kiến trúc hướng dich vụ (service- oriented architecture - SOA), trong đó các dịch vu đươc chia nhỏ ra, hoạt dong độc lập và liên kết với nhau một cách lỏng lẻo Hình 2.7 [35] mô tả tổng quan kiếu trúc

Microservices, các dịch vụ hoạt động độc lập và được bảo trì bởi những nhóm nhỏ. khác nhau Từ bên ngoài truy cập vào các dịch vụ thông qua cổng giao diện lập trình ứng dụng (Application Programming Interface - API).

Các đặc điểm của Microservices

Với hệ thống một khối (monolithic), nơi toàn bộ các module sẽ được đóng gói và cài đặt vào một khối Việc chỉnh sửa hay thêm tính năng mới sẽ ảnh hưởng toàn

Hình 2.7: Kiến trúc Microservices bộ cả hệ thống Điều này dẫn tới thời gian và chỉ phí bảo trì đều tăng lên gấp nhiều lần khi ứng dụng ngày càng lớn.

Microservices khắc phục được những nhược điểm của hệ thống một khối khi mỗi dịch vụ được quản lý bởi một nhóm nhỏ phát triển riêng với mã nguồn riêng, cơ sở dữ liệu riêng, triển khai độc lập, không cần xây dựng lại toàn bộ hệ thống hay gây ảnh hưởng tới các thành phần khác của hệ thống nếu xảy ra lỗi Microservices cũng cho phép sử dụng nhiều công nghệ, ngôn ngữ lập trình khác nhau để tận dụng tối đa ưu điểm của mỗi công nghệ cho dịch vụ mà nó cung cấp.

Tuy có nhiều ưu điểm song Microservices cũng có một số hạn chế nhất định:

* Cả hệ thống phức tạp do có nhiều thành phần nhỏ, mỗi thành phần có cầu trúc và ngôn ngữ khác nhau nên việc quản lý cả hệ thống là một thách thức.

* Có độ trễ khi giao tiếp giữa các dich vụ với nhau.

* Khó khăn khi đảm bảo tính toàn vẹn dữ liệu của cả hệ thống do mỗi dich vụ có cơ sở dữ liệu riêng và độc lập với các dich vụ khác.

2.5 Angular Ứng dụng web (webapp) trở nên phổ biến trong thời gian gần đây nhờ vào sự có mặt ở bat cứ nơi đâu, khả năng cập nhật, bảo trì mà không phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính Nhóm nghiên cứu chọn nền tảng Angular do hiệu suất tốt, có sẵn nhiều thành phần để xây dựng ứng dụng web một cách nhanh chóng, tài liệu đầy đủ, chi tiết cùng cộng động người dùng đông đảo.

Giới thiệu Angular

Angular [30] là một nền tảng phát triển (development platform) web mã nguồn mở dựa trên TypeScript do Google cùng cộng đồng các cá nhân và các tập đoàn công nghệ hàng đầu cùng xây dựng Angular được thiết kế để làm cho việc cập nhật trở nên đơn giản nhất có thể, hệ sinh thái Angular có hơn 1,7 triệu nhà phát triển, tác giả thư viện và người tạo nội dung.

Các đặc điểm của Angular

Hình 2.8 [30] mô tả kiến trúc tổng quan của Angular Là một nền tảng, Angular có các đặc điểm sau:

Các thành phần (Components) _ là các khối để xây dựng một ứng dụng Mỗi thành phan gồm các lớp TypeScript, khuôn mẫu HTML và bồ cục (style).

Các khuôn mẫu (Templates) Mỗi thành phần có một khuôn mẫu HTML để khai báo cách thành phần được hiển thị Angular bổ sung thêm cú pháp mở rộng HTML cho phép chèn các giá trị động (dynamic values) vào thành phần Angular tự động cập nhật và hiển thị khi các giá trị này thay đổi.

Các công cụ phát triển (Developer tools) Angular CLI va Angular DevTools là một trong số các công cụ giúp nhà phat triển xây dựng, phát hiện lỗi ứng dụng trên nên web Angular một cách nhanh chóng và hiệu quả.

Chương này sẽ trình bày chỉ tiết về thiết kế hệ thống bao gồm thiết kế cơ sở dữ liệu, hệ thống huấn luyện, phân tích, giao tiếp giữa các thành phần trong hệ thống và giao diện người dùng Cuối chương sẽ trình bày cụ thể hai giai đoạn triển khai hệ thống thử nghiệm.

Mô hình hoạt dộng của hệ thống được thể hiện trong hình 3.1, gồm có 3 tầng:

* Giao diện người dùng: là nơi người sử dụng tương tác với hệ thống Hệ thống cung cấp cho người sử dụng 3 vai trò khác nhau:

— Nông dân: Đây là nhóm đối tượng người dùng chính Người nông dân sẽ gửi hình ảnh chụp lá cây trồng lên hệ thống để phân tích bệnh, lấy thông tin về bệnh và hướng dẫn điều trị bệnh, trao đổi với các chuyên gia để được hướng dẫn chăm sóc cây trồng hiệu quả nhất.

— Chuyên gia: Day là nhóm người dùng có chuyên môn chuyên sâu về nông nghiệp, phụ trách việc đánh giá độ chính xác của hệ thống qua các

Chuyén gia@ Néngdin @ Â\ quản trị

Giao diện lá | „gi người dùng

Kiến thức |ô—| Phõn tớch Phản hồi tir bệnh chuyên gia

Hình 3.1: Mô hình hoạt động của hệ thống hình ảnh người nông dân gửi lên, hướng dẫn người nông dân chăm sóc cây trồng.

— Quản trị: Đây là nhóm người dùng có chuyên môn về công nghệ thông tin, đảm bảo hệ thống hoạt động ổn định và tin cậy.

*_API: cung cấp khả năng truy xuất tới các tính năng của hệ thống.

* Cơ sở dữ liệu: lưu trữ các thông tin để người dùng tìm kiếm và truy xuất, giúp ứng dụng hoạt động hiệu quả.

Hệ thống được thiết kế theo kỹ thuật Microservices (Mục 2.4) nhằm tạo ra một kiến trúc tối ưu và linh hoạt:

* Có thể mở rộng (scale out) từng dịch vụ khi có dấu hiệu quá tải mà không phải nâng cấp hoặc làm gián đoạn cả hệ thống.

+ Bảo trì và nâng cấp từng dịch vụ một cách linh hoạt và không ảnh hưởng tới các dịch vụ khác trong hệ thống.

* Mỗi dịch vụ chạy độc lập với nhau, khi sự cố xảy ra có thể dé dàng tìm và xử lý dịch vụ lỗi mà không gây ảnh hưởng cả hệ thống.

Cơ sở dữ liệu (CSDL) là một thành phần quan trọng của hệ thống, nơi lưu trữ các thông tin có tổ chức để phục vụ việc tìm kiếm và truy xuất một cách hiệu quả. Nhóm nghiên cứu lựa chọn và sử dụng CSDL quan hệ dùng ngôn ngữ truy vấn có cấu trúc (Structured Query Language - SQL vì tính phổ biến và độ ổn định của nó CSDL MariaDB phiên bản 10.1, cài trên máy chủ chạy hệ điều hành (HĐH) Ubuntu Linux 18.04 LTS được sử dụng để xây dựng hệ thống thử nghiệm Sơ đồ các bảng và quan hệ được thể hiện trong hình 3.2, với các thông tin như sau:

+ users: Lưu trữ thông tin người sử dụng hệ thống.

+ plants: Lưu trữ thông tin các loại cây trồng.

+ diseases và disease_details: Lưu trữ thông tin các bệnh trên cây, các biểu hiện bệnh, nguyên nhân, hướng điều trị Những thông tin đưa vào cơ sử dữ liệu được tham khảo trong các tài liệu chuyên môn về cây cà chua [3, 4] cùng ý kiến của các chuyên gia đến từ Viện cây ăn quả Miền Nam [36] để đảm bảo tính chính xác.

* analyze_logs: Lưu trữ thông tin lịch sử dụng tính năng phân tích bệnh của người dùng Thông tin này có thể được các chuyên gia xem lại sau này để đánh giá và huấn luyện lại nhằm nâng cao độ chính xác của hệ thống. s messages: Lưu trữ thông tin trao đổi giữa nhà nông và chuyên gia.

3 HIỆN THỰC THIẾT KẾ disease details diseases id int 2——>°i int symptoms varchar(1024) label varchar(100) treatment _ varchar(1024) name en_ varchar(100) updated by int a name vi _ varchar(100) plants updated datetime plant int 2 —>®w int name varchar(100) m1 name vi varchar(100) id bigint datetime datetime sender int a recipient int a - Pia int content _varchar(1024) username varchar(100) firstname _ varchar(100). analyze logs | last name _ varchar(100)

R i | role int datetime datetime | | user m au phone varchar(100) nage varcharesa) password varchar(256) result —_varchar(100) probability smalint |

Hình 3.2: Các bảng trong cơ sở dữ liệu của hệ thống

Quá trình huấn luyện sử dụng rất nhiều tài nguyên bộ xử lý đồ họa (Graphics processing unit - GPU) của hệ thống nhưng không dùng thường xuyên, chỉ sử dụng khi có dữ liệu mới hoặc thay đổi thuật toán, tham số Việc trang bị một máy tính cấu hình cao và có (nhiều) GPU nhưng không thường xuyên sử dụng sẽ gây lãng phí Để tối ưu hóa việc sử dụng tài nguyên, nhóm nghiên cứu đã thuê một máy chủ có GPU mạnh theo giờ để thực hiện công việc huấn luyện, sau khi có được mô hình nhận dạng bệnh, nhóm nghiên cứu tắt máy chủ để tiết kiệm chỉ phí.

Hệ thống phân tích nhận hình ảnh của người dùng gửi lên thông qua API, tiến hành phân tích và trả về thông tin bệnh.

Trao đổi với chuyên gia? Trò chuyện

Hình 3.3: Lưu đồ hệ thống phân tích

Hình 3.3 mô tả lưu đồ của hệ thống phân tích, trải qua hai bước chính:

1 Xác định ảnh chụp có phải lá cây cà chua hay không thông qua thuật toán

'YOLOv4, nếu không phải lá cây cà chua thì dừng phân tích.

2 Detectron2 nhận dạng bệnh trên lá cây cà chua từ (các) ảnh của bước 1, lưu vào CSDL và hiển thị các thông tin liên quan cho người sử dụng.

Sau khi nhận được kết quả phân tích cùng các thông tin liên quan về bệnh, người dùng có thể dừng lại hoặc gửi các thông tin đó tới Chuyên gia thông qua tính năng Trò chuyện để yêu cầu sự giúp đỡ chuyên sâu hơn.

Hệ thống được cà trên một máy chủ d ip với hi hồng huấn luyện, có cấu hình thấp hơn nhưng cần đảm bảo chạy liên tục 24x7 để đáp ứng nhu cầu sử dụng của người dùng Các hình ảnh do người dùng gửi lên để phân tích được lưu lại trên này để các chuyên gia đánh giá và cải thiện dần độ chính xác theo thời gian.

Giao diện lập trình ứng dung (Application Programming Interface - API) cung cấp khả năng truy xuất đến các hàm thường dùng, cho phép trao đổi dữ liệu giữa các ứng dụng Sử dụng API, các nền tảng ứng dụng khác nhau như web, ứng dụng di động, ứng dụng của bên thứ 3, có tiêu chuẩn chung để giao tiếp.

Các API của hệ thống được liệt kê ở bảng 3.1:

Bảng 3.1: Danh sách các API Đường dẫn Ý nghĩa Dữ liệu gửi lên Kết quả trả về

/losin Đăng nhập vào hệ | Tên đăng nhập và | Thành công hoặc

8 thống mật khẩu thất bại

Lây thông tin người | Tên đăng nhập hoặc | Họ tên, email của

/users N = arn dùng mã người dùng người dùng

/plant_diseases — | Phân tích bệnh Hình ảnh lá cây Tên bệnh và xác suất nhiễm bệnh

Iprivate_message | Trao đổi thông tin Người gửi, người | Thời gian, người gửi, nhận, nội dung nội dung Ậ X h R Thông tin bệnh

/disease_info Tay hoặc cập nhật | Ten bệnh thong tin | (triệu chứng, cách thông tin về bệnh phòng )

3.1.5 Giao diện người dùng Ứng dụng hướng tới đối tượng là những người nông dân, những chuyên gia nông nghiệp vốn không chuyên sâu về công nghệ thông tin Giao diện người dùng trên nền web được nhóm nghiên cứu lựa chọn để xây dựng, có ưu điểm gọn nhẹ, chạy được trên nhiều loại thiết bị có kết nối internet và đặc biệt không cần cài đặt hay cấu hình thêm gì khác để có thể sử dụng được ứng dụng.

Khi người dùng truy cập vào địa chỉ trang web của ứng dụng và đăng nhập thành công sẽ hiện ra giao diện như hình 3.4 gồm các tính năng sau:

Hệthốnghuấnluyện

Hệ thống phân tích 29

Hệ thống phân tích nhận hình ảnh của người dùng gửi lên thông qua API, tiến hành phân tích và trả về thông tin bệnh.

Trao đổi với chuyên gia? Trò chuyện

Hình 3.3: Lưu đồ hệ thống phân tích

Hình 3.3 mô tả lưu đồ của hệ thống phân tích, trải qua hai bước chính:

1 Xác định ảnh chụp có phải lá cây cà chua hay không thông qua thuật toán

'YOLOv4, nếu không phải lá cây cà chua thì dừng phân tích.

2 Detectron2 nhận dạng bệnh trên lá cây cà chua từ (các) ảnh của bước 1, lưu vào CSDL và hiển thị các thông tin liên quan cho người sử dụng.

Sau khi nhận được kết quả phân tích cùng các thông tin liên quan về bệnh, người dùng có thể dừng lại hoặc gửi các thông tin đó tới Chuyên gia thông qua tính năng Trò chuyện để yêu cầu sự giúp đỡ chuyên sâu hơn.

Hệ thống được cà trên một máy chủ d ip với hi hồng huấn luyện, có cấu hình thấp hơn nhưng cần đảm bảo chạy liên tục 24x7 để đáp ứng nhu cầu sử dụng của người dùng Các hình ảnh do người dùng gửi lên để phân tích được lưu lại trên này để các chuyên gia đánh giá và cải thiện dần độ chính xác theo thời gian.

API 30

Giao diện lập trình ứng dung (Application Programming Interface - API) cung cấp khả năng truy xuất đến các hàm thường dùng, cho phép trao đổi dữ liệu giữa các ứng dụng Sử dụng API, các nền tảng ứng dụng khác nhau như web, ứng dụng di động, ứng dụng của bên thứ 3, có tiêu chuẩn chung để giao tiếp.

Các API của hệ thống được liệt kê ở bảng 3.1:

Bảng 3.1: Danh sách các API Đường dẫn Ý nghĩa Dữ liệu gửi lên Kết quả trả về

/losin Đăng nhập vào hệ | Tên đăng nhập và | Thành công hoặc

8 thống mật khẩu thất bại

Lây thông tin người | Tên đăng nhập hoặc | Họ tên, email của

/users N = arn dùng mã người dùng người dùng

/plant_diseases — | Phân tích bệnh Hình ảnh lá cây Tên bệnh và xác suất nhiễm bệnh

Iprivate_message | Trao đổi thông tin Người gửi, người | Thời gian, người gửi, nhận, nội dung nội dung Ậ X h R Thông tin bệnh

/disease_info Tay hoặc cập nhật | Ten bệnh thong tin | (triệu chứng, cách thông tin về bệnh phòng )

Giao diện người dùng

Ứng dụng hướng tới đối tượng là những người nông dân, những chuyên gia nông nghiệp vốn không chuyên sâu về công nghệ thông tin Giao diện người dùng trên nền web được nhóm nghiên cứu lựa chọn để xây dựng, có ưu điểm gọn nhẹ, chạy được trên nhiều loại thiết bị có kết nối internet và đặc biệt không cần cài đặt hay cấu hình thêm gì khác để có thể sử dụng được ứng dụng.

Khi người dùng truy cập vào địa chỉ trang web của ứng dụng và đăng nhập thành công sẽ hiện ra giao diện như hình 3.4 gồm các tính năng sau:

* Phân tích bệnh: Người dùng sẽ tải lên một hình ảnh chụp lá cây cà chua cho hệ thống phân tích Kết quả trả về là tên bệnh kèm theo các thông tin liên quan thể hiện ở các thẻ Biểu hiện bệnh, Nguyên nhân, Giải pháp.

* Trò chuyện: Người dùng sẽ trao đổi với các chuyên gia hoặc các chuyên gia có thể trả lời, tư vấn người nông dân ở đây.

Chay lá Septoria ng inca cay va thường gy hại Xây sa 1a glan mua lên tục chuydn độn không Hi rong tan igo nên 1 ấu lồi hậu có âm độ cao, đến bên của bệnh pat wid rt nhanh, do vậy cin theo di thường xuyên đông tuộng trọng những ngày mưa tu co những biện pháp kp ti unk tam indo: Dps.0/etnxnnepgnglepsach cơ vu2017/t/208enh‹dand.-ten-cayZa-hia/

Hình 3.4: Giao diện người dùng trên website

Giao diện người dùng web được đặt trên một máy chủ độc lập với các thành phan khác của hệ thống, trao đổi dữ liệu thông qua API.

Xây dựnghệthống 00-0000005 32

Giaiđoạn| ee eee 32

Hình 3.5 mô tả các thành phần cơ bản đầu tiên của hệ thống, Nhóm nghiên cứu bắt đầu từ việc đánh nhãn phân đoạn ảnh (segmentation labeling) bộ dữ liệu PlantVillage [21] Khi đã có số lượng ảnh ban đầu đủ lớn (100 ảnh mỗi nhãn), nhóm nghiên cứu tiền hành huấn luyện để ra được một mô hình nhận dạng bệnh.

Mô hình ì nhận dạng bệnh a

Hệ thống Hệ thống Máy chủ huấn luyện phân tích CSDL

Hình 3.5: Hệ thống cơ bản

Sau khi có được mô hình, nhóm nghiên cứu tiến hành xây dựng và thử nghiệm hệ thống phân tích, thu thập dữ liệu về các loại bệnh trên cây cà chua để đưa vào

CSDL, xây dung giao diện người dùng Nhóm nghiên cứu tiếp tục tiến hành đánh nhãn thêm ảnh và thu thập thêm dữ liệu để đưa vào hệ thống huấn luyện nhằm nâng cao dần độ chính xác và phù hợp với điều kiện thực tế ở Việt Nam.

Bảng 3.2 liệt kê cấu hình chỉ tiết các thành phần của hệ thống Hệ thống triển khai trong giai đoạn này có cấu hình khá thấp, không áp dụng bắt kỳ giải pháp bảo mật nào, chủ yếu sử dụng nội bộ trong nhóm nghiên cứu với quy mô nhỏ nhằm đánh giá độ chính xác, xây dựng CSDL, giao diện và trải nghiệm người dùng.

Bang 3.2: Cầu hình các thành phần hệ thống trong triển khai Giai đoạn 1 ov Cấu hình

Hệ thông [CPU TRAM Disk GPU

CSDL 2cores* | 4GB 56 GB SSD

** | 16 GB | 128 GB SSD | Quadro M4000 8GB VRAM

8 GB | 256 GB HDD 4GB | 16GBSSD

(*) Intel Xeon E5-2680v2 @ 2.80 GHz (**) Intel Xeon E5-2620v3 @ 2.40 GHz

Hình 3.6 là thiết kế hệ thống hoàn chỉnh, trong giai đoạn này, nhóm nghiên cứu xây dựng thêm hệ thống API để chuẩn hóa các giao tiếp, hỗ trợ kết nối các thành phần với nhau, tăng cường bảo mật và sẵn sàng mở rộng cho các ứng dụng khác sau này như ứng dụng di động (mobile application), tích hợp vào ứng dung của bên thứ 3,

Giai đoạn này có thêm sự góp mặt của Chuyên gia, người sẽ phụ trách đánh giá hệ thống nhận dạng bệnh và hỗ trợ tư vấn người Nông dân thông qua tính năng Trò chuyện của hệ thống Dữ liệu nhận xét của chuyên gia (bao gồm thời gian, phân loại bệnh, vị trí bị bệnh) sẽ được ghi lại, bổ sung vào tập dif liệu huấn luyện. Khi tập dữ liệu huấn luyện bổ sung đủ lớn, người Quản trị của hệ thống sẽ tiền hành huấn luyện với dữ liệu cũ cùng dữ liệu bổ sung để cho ra mô hình nhận dạng bệnh mới Theo thời gian, độ chính xác của toàn bộ hệ thống sẽ tăng dan lên.

Chuyờn gia Nụng dõn đ ô Quản trị Đánh giá kết quả

Hình 3.6: Hệ thống hoàn chỉnh

Hình 3.7 mô tả sơ đồ Use Case của hệ thống tương ứng với mỗi vai trò người dùng khác nhau Người dùng khi mới truy cập vào trang web của hệ thống sẽ mang vai trò Khách, sẽ phải đăng ký tài khoản hoặc đăng nhập vào hệ thống nếu đã có tài khoản Sau khi đăng nhập, tùy vào vai trò của mình mà người dùng có thể sử dụng những chức năng khác nhau của hệ thống:

* Nông dân: Được sử dụng tính năng Phân tích bệnh, Lich sử phân tích, Trò chuyện với chuyên gia và xem các thông tin về bệnh trên cây cà chua. ằ Chuyờn gia: Kế thừa toàn bộ tớnh năng của Nụng dõn và bổ sung thờm tớnh năng Quản lý lịch sử phân tích và Cập nhật thông tin về bệnh trên cây trồng.

* Quan trị: Là người có vai trò cao nhất trong hệ thống, kế thừa toàn bộ tính

3 HIỆN THỰC THIẾT KẾ năng của Chuyên gia và bổ sung thêm tính năng Quản lý người dùng, Quản lý hệ thống.

Hệ thống Chẩn đoán bệnh và tư vấn chăm sóc cây.

Dang nhập Đăng ký © Đăng xuất Nông dân

Hình 3.7: Sơ đồ Use Case

Bảng 3.3 liệt kê cấu hình chỉ tiết các thành phần của hệ thống Hệ thống triển khai trong giai đoạn này hướng tới đối tượng người dùng thực tế nên cần nhiều tài nguyên hơn, tập trung hơn vào bảo mật, tối ưu tài nguyên, chỉ phí và đảm bảo được tính ổn định.

Sau khi hoàn thành triển khai Giai đoạn 2, nhóm nghiên cứu mở truy cập các thành phần hệ thống ra ngoài Internet tại địa chỉ nongnghiepchinhxac.vn để mọi người có thể vào sử dụng nhằm đánh giá tính ổn định cũng như giao diện, trải nghiệm ngươi dùng của hệ thống thử nghiệm.

Bảng 3.3: Cầu hình các thành phần hệ thống trong triển khai Giai đoạn 2

Hệ thông Câu hành l CPU RAM Disk GPU

CSDL 2cores** | 8GB | 128GB SSD |

Huấn luyện | 16 cores * | 16GB | 256 GB SSD | Quadro P4000 8GB VRAM

Phân tích 8 cores * | 8GB | 500GB HDD | Quadro M4000 8GB VRAM API 2cores**| 4GB 56 GB SSD

Web 2 cores ** | 4GB 56 GB SSD

(*) Intel Xeon E5-2620v3 @ 2.40 GHz(**) Intel Xeon E5-2667v4 @ 3.20 GHz

Chương này sẽ trình bay cách nhóm nghiên cứu chon, thu thập, xử ly dữ liệu, cách nhóm nghiên cứu tiến hành huấn luyện mô hình và thử nghiệm trên các tập dữ liệu Cuối chương sẽ trình bày kết quả thử nghiệm, độ chính xác đạt được và thời gian đáp ứng của hệ thống.

Nhóm nghiên cứu sử dụng tập dữ liệu 14.000 ảnh chụp lá cây cà chua từ tập dữ liệu PlantVillage tăng cường (augmented) [22] cùng 110 ảnh chụp từ thực tế va thu thập trên internet để sử dụng cho nghiên cứu này.

Tập dữ liệu PlantVillage [20, 21] gồm 54.309 ảnh chụp lá cây đã được phân loại theo bệnh, trong đó có 18.160 ảnh chụp lá cây cà chua với độ phân giải 256x256, mỗi hình ảnh chụp một chiếc lá trên nền trơn như hình 4.1 Các ảnh này được phân loại thành 10 nhóm như trong bảng 4.1, gồm 9 loại bệnh phổ biến và 1 nhóm khỏe mạnh (không bệnh).

Tập dữ liệu gốc có sự chênh lệch lớn về số lượng ảnh của mỗi nhãn bệnh Bảng

Bacterial spot Early blight healthy Late_blight Leaf_Mold

Target Spot Tomato_mosaic_virus Tomato_Yellow_Leaf_Cu Septoria leaf spot

Hình 4.1; Hình ảnh lá cây cà chua trong tập dữ liệu PlantVillage

4.1 và Hình 4.3 thể hiện rõ điều này với nhãn Yellow_Leaf_Curl_Virus có số lượng ảnh rất lớn (5.357 ảnh), gấp 5 lần các nhãn bệnh khác và gấp hơn 10 lần nhãn bệnh Mosaic_virus với 373 ảnh Sự mắt cân bằng dữ liệu này sẽ gây ra nhiều khó khăn trong quá trình huẩn luyện và kiểm tra sau này Để khắc phục hạn chế trên, nhóm nghiên cứu đã sử dụng tập dữ liệu PlantVillage tăng cường (augmented) được chia sẻ trên Kaggle [22].

4.1.2 Dit liệu bổsung Đề tài cần đánh giá hiệu quả hoạt động với dữ liệu thực tế, đồng thời giúp tăng độ chính xác của cả hệ thông, nhóm nghiên cứu đã chụp thêm 100 ảnh và thu thập trên Internet 10 ảnh, các ảnh đều có độ phân giải tối thiểu 1024x1024, chụp trong điều kiện ánh sáng bình thường vào ban ngày, các lá cây không bị che khuất Trong đó có 73 ảnh chụp lá đơn trên nên trơn, 7 ảnh chụp lá trên cành với nên trơn, 20 ảnh chụp lá trên cây với nền tự nhiên và 10 ảnh hỗn hợp các lá cà chua bị bệnh. Hình 4.2 thể hiện một số ảnh chụp lá cây cà chua trong thực tế Toàn bộ dữ liệu bổ sung của nhóm nghiên cứu được đưa vào tập kiểm tra do các thành viên không

Bảng 4.1: Các bệnh trên cây cà chua và tên tiếng Việt tương ứng

STT | Nhãn bệnh theo PlantVillage | — Tên tiếng Việt Se lượng _

0 | Bacterial_spot Bệnh đôm lá 2.127 1.702

1 Early_blight Bệnh cháy lá sớm 1.000 1.920

3 | Late_blight Bệnh úa muộn 1.909 1.851

4 Leaf_Mold Bénh moc xam 952 1.882

5 | Septoria_leaf_spot Bệnh cháy lá Septoria | 1.771 1745

6 Spider_mites Two-spotted Bénh ve nhén 1.676 1.741

7 | Target_Spot Bệnh đôm lá hình khiên | 1.404 1.827

8 | Mosaic virus Bệnh kham lá 373 1.790

Ngày đăng: 08/11/2024, 17:38

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Độ chính xác nhận nhận dạng bệnh của nhóm nghiên cứu ToLeD - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 1.1 Độ chính xác nhận nhận dạng bệnh của nhóm nghiên cứu ToLeD (Trang 18)
Hình 1.2: Độ chính xác nhận dang bệnh với mô hình EfficientNet CNN - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 1.2 Độ chính xác nhận dang bệnh với mô hình EfficientNet CNN (Trang 19)
Hình 2.1: Mối quan hệ giữa tri tuệ nhân tao, máy học và học sâu - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 2.1 Mối quan hệ giữa tri tuệ nhân tao, máy học và học sâu (Trang 25)
Hình 2.3: Quy trình xây dựng hệ thông may học - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 2.3 Quy trình xây dựng hệ thông may học (Trang 27)
Hình 2.4: Kiến trúc Base-RCNN-FPN - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 2.4 Kiến trúc Base-RCNN-FPN (Trang 30)
Hình 2.6: Cấu trúc mô hinh DenseNet và CSPDenseNet - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 2.6 Cấu trúc mô hinh DenseNet và CSPDenseNet (Trang 36)
Hình 3.1: Mô hình hoạt động của hệ thống - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 3.1 Mô hình hoạt động của hệ thống (Trang 42)
Hình 3.2: Các bảng trong cơ sở dữ liệu của hệ thống - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 3.2 Các bảng trong cơ sở dữ liệu của hệ thống (Trang 44)
Hình 3.3: Lưu đồ hệ thống phân tích - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 3.3 Lưu đồ hệ thống phân tích (Trang 45)
Hình 3.6: Hệ thống hoàn chỉnh - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 3.6 Hệ thống hoàn chỉnh (Trang 50)
Hình 3.7: Sơ đồ Use Case - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 3.7 Sơ đồ Use Case (Trang 51)
Hình 4.1; Hình ảnh lá cây cà chua trong tập dữ liệu PlantVillage - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 4.1 ; Hình ảnh lá cây cà chua trong tập dữ liệu PlantVillage (Trang 54)
Hình 4.3: Số mẫu của mỗi nhãn trong tập dữ liệu PlantVillage - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 4.3 Số mẫu của mỗi nhãn trong tập dữ liệu PlantVillage (Trang 57)
Hình 4.5: Độ chính xác nhận nhận dạng bệnh của mô hình Detectron2 - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 4.5 Độ chính xác nhận nhận dạng bệnh của mô hình Detectron2 (Trang 60)
Hình 4.6: Thời gian phân tích mỗi ảnh - Luận văn thạc sĩ Công nghệ thông tin: Thiết kế hệ thống chẩn đoán bệnh và tư vấn chăm sóc cây cà chua thông minh trong nông nghiệp chính xác
Hình 4.6 Thời gian phân tích mỗi ảnh (Trang 61)

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

TÀI LIỆU LIÊN QUAN

w