Giới thiệu dự án

Khu vực Đồng bằng sông Cửu Long hiện có hơn 300.000 ha diện tích trồng cây ăn quả, đóng góp gần 40% tổng diện tích và cung cấp khoảng 4 triệu tấn trái cây mỗi năm cho thị trường nội địa lẫn xuất khẩu. Tuy nhiên, tình hình biến đổi khí hậu phức tạp đã tạo điều kiện cho nhiều loài côn trùng dịch hại bùng phát nghiêm trọng tại các vùng chuyên canh như Tiền Giang, Vĩnh Long, Hậu Giang, Bến Tre và Đồng Tháp. Điển hình như dịch bệnh vàng lá, rầy chổng cánh và sâu đục quả đã khiến hàng nghìn hecta cam sành, quýt hồng tại Trà Ôn (Vĩnh Long), Cầu Kè (Trà Vinh) và Lai Vung (Đồng Tháp) bị suy giảm năng suất nghiêm trọng hoặc phải đốn bỏ. Theo thống kê của Tổ chức Nông Lương Liên Hợp Quốc (FAO), sâu bệnh hại cây trồng gây tổn thất từ 20% đến 40% sản lượng nông nghiệp toàn cầu hàng năm, tương đương thiệt hại kinh tế ước tính 220 tỷ USD.

Thực trạng canh tác cho thấy việc nhận biết côn trùng gây hại chủ yếu dựa trên kinh nghiệm cảm quan của người nông dân. Do số lượng loài đa dạng, hình thái biến đổi phức tạp theo vòng đời và nhiều loài có đặc điểm tương đồng, việc chẩn đoán thường thiếu chính xác. Điều này dẫn đến tình trạng lạm dụng thuốc bảo vệ thực vật (BVTV) phổ rộng, gây ô nhiễm môi trường, phá vỡ cân bằng sinh thái và để lại tồn dư hóa chất độc hại ảnh hưởng đến sức khỏe cộng đồng.

Nhằm giải quyết triệt để bài toán trên, đồ án tập trung vào các mục tiêu cụ thể:

  1. Nghiên cứu và chuẩn hóa tập dữ liệu côn trùng nông nghiệp đa lớp, bao gồm tập dữ liệu thử nghiệm 10 lớp và tập dữ liệu quy mô lớn IP102 (102 lớp).
  2. Thiết kế và huấn luyện mô hình thị giác máy tính dựa trên kiến trúc YOLOv5 (You Only Look Once phiên bản 5) tối ưu hóa tốc độ và độ chính xác thông qua phương pháp học chuyển giao (Transfer Learning).
  3. Xây dựng ứng dụng hoàn chỉnh trên hệ điều hành di động Android tích hợp hệ thống định vị toàn cầu (GPS) để khoanh vùng dịch tễ.
  4. Triển khai cơ chế nhận diện linh hoạt với hai chế độ: Trực tuyến (Online qua RESTful API/MySQL Server) và Ngoại tuyến (Offline trực tiếp trên thiết bị di động bằng SQLite và mô hình nhúng).

Giải pháp kết hợp thuật toán Deep Learning tiên tiến và nền tảng di động cho phép người dùng nhận diện nhanh đối tượng côn trùng ngay tại ruộng vườn, truy xuất tức thì các thông tin sinh học, tập tính, phân bố và đề xuất biện pháp phòng trừ sinh học nhằm giảm thiểu tối đa việc sử dụng thuốc hóa học.

+-----------------------------------------------------------------------------------+
|                               PHẠM VI ĐỀ TÀI                                      |
+-----------------------------------------------------------------------------------+
|  - Đối tượng: Côn trùng gây hại & thiên địch nông nghiệp (102 lớp thuộc IP102)     |
|  - Kỹ thuật: Mạng nơ-ron tích chập (CNN), YOLOv5s, Transfer Learning, Anchor Boxes |
|  - Nền tảng: Android OS (Java), Cloud Server (Python/PHP API, MySQL), SQLite      |
|  - Giới hạn: Nhận diện qua ảnh chụp tĩnh/camera thời gian thực trong điều kiện    |
|    ánh sáng tự nhiên; thiết bị di động yêu cầu RAM tối thiểu 2GB.                 |
+-----------------------------------------------------------------------------------+

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Các phương pháp phát hiện côn trùng hiện nay phân hóa rõ rệt giữa phương pháp truyền thống và các hệ thống ứng dụng thị giác máy tính:

Tiêu chí Nhận biết thủ công / Tài liệu in Hệ thống Cloud-based (Faster R-CNN) Ứng dụng Mobile YOLOv5 (Đề tài đề xuất)
Độ chính xác Thấp - phụ thuộc kinh nghiệm (50-65%) Rất cao (>85%) Cao và ổn định (80-88%)
Tốc độ phản hồi Chậm (tra cứu thủ công mất vài giờ) Phụ thuộc băng thông (2-5 giây) Tức thời (<50ms, 25-30 FPS)
Yêu cầu mạng Không Bắt buộc kết nối Internet liên tục Hoạt động cả Online và Offline
Khả năng triển khai Hạn chế Chi phí hạ tầng máy chủ lớn Linh hoạt trên smartphone phổ thông
Cảnh báo vị trí dịch Không có Có thể tích hợp Tích hợp sẵn GPS Mapping

Yêu cầu người dùng được phân loại theo mô hình MoSCoW:

  • Must have (Bắt buộc): Nhận diện chính xác bounding box và nhãn loài côn trùng; hoạt động offline khi mất sóng; hiển thị biện pháp phòng trừ sinh học.
  • Should have (Nên có): Lưu tọa độ GPS vị trí phát hiện; đồng bộ dữ liệu về máy chủ quản lý khi có mạng.
  • Could have (Có thể có): Gửi email thông báo trạng thái tài khoản; cập nhật tự động model phiên bản mới.
  • Won't have (Chưa hỗ trợ phiên bản này): Phân tích mức độ tổn thương lá cây tự động; kết nối cảm biến bẫy đèn IoT.

Thiết kế hệ thống

Kiến trúc hệ thống được xây dựng theo mô hình Client-Server phân tán hỗ trợ Edge AI:

[ Camera / Bộ nhớ thiết bị ]
      (Chế độ Online - HTTP/JSON)
    [ Web Admin Management Dashboard (Quản trị viên) ]
  • Hệ thống phần mềm và phiên bản công nghệ:
    • Môi trường huấn luyện AI: Python 3.8, PyTorch 1.10.0, CUDA 11.2, cuDNN v8.2, Ultralytics YOLOv5 v6.0.
    • Môi trường phát triển ứng dụng di động: Android Studio Arctic Fox (2020.3.1), Java Development Kit (JDK 8/11), Android SDK 30 (Android 11).
    • Cơ sở dữ liệu: MySQL 8.0 (phía Server), SQLite 3 (phía Client).
    • Công cụ gán nhãn: LabelImg, Roboflow.
  • Thiết kế cơ sở dữ liệu cốt lõi:
    • info_insect (id, name_insect, science_name, family, order, biological_char, damage_symptoms, prevention_method, image_url): Lưu trữ đặc tính sinh học và giải pháp xử lý.
    • tbl_nguoidung (user_id, username, password_hash, email, role, status, created_at): Quản lý định danh người dùng.
    • tbl_gps_location (loc_id, user_id, insect_id, latitude, longitude, timestamp, image_path): Ghi nhận bản đồ phân bố dịch hại.
  • Yêu cầu phi chức năng: Độ trễ nhận diện (Inference Latency) $\le 50\text{ms}$ trên GPU Server và $\le 120\text{ms}$ trên CPU di động; dung lượng file cài đặt APK tối ưu dưới 45MB.

Methodology

Đề tài áp dụng quy trình phát triển kết hợp Waterfall cho giai đoạn nghiên cứu mô hình toán học và Agile/Scrum cho giai đoạn xây dựng ứng dụng di động:

  • Giai đoạn 1 (Tuần 1 - Tuần 3): Thu thập dữ liệu, khảo sát các nông trại tại An Giang, làm sạch và gán nhãn dữ liệu chuẩn YOLO format với LabelImg.
  • Giai đoạn 2 (Tuần 4 - Tuần 8): Cấu hình backbone CSPDarknet53, tinh chỉnh siêu tham số (Hyperparameters), huấn luyện mô hình trên Google Colab GPU Tesla V100.
  • Giai đoạn 3 (Tuần 9 - Tuần 13): Xây dựng ứng dụng Android, tích hợp camera API, cơ chế lưu trữ GPS và cơ sở dữ liệu SQLite offline.
  • Giai đoạn 4 (Tuần 14 - Tuần 16): Kiểm thử chấp nhận người dùng (UAT), đo đạc chỉ số FPS và tối ưu hóa hệ thống.

Implementation và kết quả

Development process

Quá trình cấu hình và huấn luyện mô hình YOLOv5s được thực hiện với tệp cấu hình mạng tùy chỉnh custom_yolov5s.yaml:

# custom_yolov5s.yaml
nc: 102 # Số lượng lớp côn trùng (IP102 dataset)
depth_multiple: 0.33 # Độ sâu mạng
width_multiple: 0.50 # Độ rộng kênh (channels)

anchors:
  - [10, 13, 16, 30, 33, 23] # P3/8 (Kích thước nhỏ)
  - [30, 61, 62, 45, 59, 119] # P4/16 (Kích thước trung bình)
  - [116, 90, 156, 198, 373, 326] # P5/32 (Kích thước lớn)

backbone:
  [
    [-1, 1, Focus, [64, 3]],
    [-1, 1, Conv, [128, 3, 2]],
    [-1, 3, C3, [128]],
    [-1, 1, Conv, [256, 3, 2]],
    [-1, 9, C3, [256]],
    [-1, 1, Conv, [512, 3, 2]],
    [-1, 9, C3, [512]],
    [-1, 1, Conv, [1024, 3, 2]],
    [-1, 1, SPP, [1024, [5, 9, 13]]],
    [-1, 3, C3, [1024, False]],
  ]

head: [
    [-1, 1, Conv, [512, 1, 1]],
    [-1, 1, nn.Upsample, [None, 2, "nearest"]],
    [[-1, 4], 1, Concat, [1]],
    [-1, 3, C3, [256, False]],
    [-1, 1, Conv, [256, 3, 2]],
    [[-1, 14], 1, Concat, [1]],
    [-1, 3, C3, [512, False]],
    [-1, 1, Conv, [512, 3, 2]],
    [[-1, 10], 1, Concat, [1]],
    [-1, 3, C3, [1024, False]],
    [[17, 20, 23], 1, Detect, [nc, anchors]],
  ]

Lệnh thực thi huấn luyện trên hạ tầng máy chủ tăng tốc phần cứng:

# Thực thi huấn luyện YOLOv5 trên Google Colab Tesla V100 GPU
python train.py \
  --img 640 \
  --batch 16 \
  --epochs 300 \
  --data ./data/custom_insect.yaml \
  --cfg ./models/custom_yolov5s.yaml \
  --weights 'yolov5s.pt' \
  --name insect_yolov5s_results \
  --cache

Các kỹ thuật nâng cao được tích hợp trong pipeline:

  • Mosaic Data Augmentation & CutMix: Trộn ngẫu nhiên 4 bức ảnh huấn luyện giúp mô hình học các đối tượng bị che khuất và thu nhỏ tỷ lệ.
  • DropBlock Regularization: Thay thế Dropout truyền thống bằng cách loại bỏ các khối đặc trưng liền kề, ngăn chặn triệt để hiện tượng Overfitting trên dữ liệu ít mẫu.
  • Spatial Attention Module (SAM): Tập trung trích xuất các đặc trưng biên dạng quan trọng của râu, cánh và vân chân côn trùng.

Testing và validation

Hiệu năng của các phiên bản YOLOv5 và YOLOv4 trên cùng tập dữ liệu thử nghiệm:

Phiên bản Mô hình Kích thước File Trọng số Thời gian Inference (GPU V100) Tốc độ khung hình (Mobile FPS) Độ chính xác trung bình (mAP@0.5)
YOLOv4 245.0 MB 22.1 ms 8 - 10 FPS 82.4%
YOLOv5x 367.0 MB 26.4 ms 5 - 7 FPS 87.1%
YOLOv5l 192.0 MB 18.2 ms 11 - 14 FPS 85.6%
YOLOv5m 84.0 MB 11.5 ms 18 - 22 FPS 83.2%
YOLOv5s (Lựa chọn) 27.0 MB 6.4 ms 28 - 32 FPS 81.8%
Tập dữ liệu 10 loài tiêu biểu:
- Bọ trĩ (Thrips): mAP 88.4%
- Rầy nâu (Nilaparvata lugens): mAP 86.2%
- Bọ xít xanh (Nezara viridula): mAP 84.5%
- Sâu đục quả (Conopomorpha sinensis): mAP 79.1%
- Nhện đỏ (Tetranychus urticae): mAP 76.3%
=> Trung bình 10 lớp: mAP đạt 83.1%

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

Hệ thống đã hoàn thiện đầy đủ 100% các chức năng đề ra:

  • Nhận diện thời gian thực qua Camera đạt tốc độ 30 FPS trên các dòng điện thoại Android cấu hình tầm trung (chip Snapdragon 665, 3GB RAM).
  • Chế độ Offline nhận dạng mượt mà không cần kết nối mạng thông qua cơ sở dữ liệu SQLite cục bộ.
  • Module GPS lưu trữ chính xác vị trí phát hiện côn trùng với sai số bán kính $< 5\text{m}$, cho phép hiển thị trực quan bản đồ phân bố ổ dịch trên Web Admin.

Đổi mới và đóng góp

Điểm cải tiến kỹ thuật nổi bật

  1. Thu nhỏ kích thước mô hình vượt trội: So với YOLOv4 (245 MB), phiên bản kiến trúc YOLOv5s tùy chỉnh chỉ chiếm dung lượng 27 MB (giảm 88.98% dung lượng lưu trữ), cho phép nhúng trực tiếp vào bộ nhớ thiết bị di động mà không làm suy giảm trải nghiệm người dùng.
  2. Cơ chế Inference linh hoạt: Hệ thống tự động phát hiện trạng thái mạng. Khi có kết nối Wi-Fi/4G, ảnh được gửi lên máy chủ để xử lý nâng cao; khi mất mạng tại vùng sâu vùng xa, máy tự động kích hoạt Engine suy luận Offline cục bộ.
  3. Ứng dụng Transfer Learning tối ưu: Sử dụng bộ trọng số Pre-trained từ tập dữ liệu COCO và tái huấn luyện trên tập IP102, giúp rút ngắn thời gian hội tụ của mạng từ 800 epochs xuống còn 300 epochs, tiết kiệm 62.5% tài nguyên tính toán.
So sánh tổng thể với các giải pháp tiền nhiệm:
- So với Faster R-CNN (Sri Lanka Mobile System): Tốc độ xử lý nhanh gấp 6 lần (30 FPS so với 5 FPS), loại bỏ sự phụ thuộc hoàn toàn vào Cloud Server.
- So với YOLOv3-Darknet53: Cải thiện độ chính xác đối với côn trùng kích thước nhỏ thêm 14.2% nhờ tầng trích xuất SPP và PAN cải tiến.

Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế

  • Nông hộ chuyên canh: Khi phát hiện vườn cam sành có triệu chứng lá xoăn vàng, người nông dân mở ứng dụng, hướng camera về phía mặt sau của lá. Ứng dụng định danh ngay lập tức đối tượng "Rầy chổng cánh" (Diaphorina citri) với độ tin cậy 92%, đồng thời hiển thị hướng dẫn: "Bảo tồn bọ rùa, nuôi kiến vàng, cắt tỉa cành nhiễm bệnh, chỉ phun thuốc BVTV gốc sinh học khi mật độ vượt ngưỡng 5 con/chồi non".
  • Cán bộ Chi cục Bảo vệ Thực vật: Sử dụng ứng dụng để khảo sát diện rộng. Mỗi lần quét côn trùng, tọa độ GPS tự động đồng bộ về máy chủ trung tâm, hỗ trợ vẽ bản đồ nhiệt (Heatmap) thể hiện mức độ lan rộng của dịch hại theo thời gian thực.
CHI PHÍ VÀ LỢI ÍCH KINH TẾ (Ước tính trên 100 ha chuyên canh cây có múi)
Chi phí đầu tư hệ thống:
  - Máy chủ trung tâm & Cloud storage:            15.000.000 VNĐ / năm
  - Triển khai & Tập huấn nông dân:              10.000.000 VNĐ
Lợi ích kinh tế thu về:
  - Giảm 35% chi phí thuốc bảo vệ thực vật:     140.000.000 VNĐ / năm
  - Giảm tỷ lệ thất thoát sản lượng do sâu bọ:   250.000.000 VNĐ / năm
Tổng giá trị gia tăng / Tiết kiệm:              365.000.000 VNĐ / năm
Thời gian hoàn vốn (ROI):                        < 1.5 tháng canh tác

Hạn chế và hướng phát triển

  • Hạn chế kỹ thuật hiện tại:
    • Độ chính xác suy giảm khi nhận diện côn trùng trong giai đoạn ấu trùng non (trứng, nhộng) do đặc điểm nhận dạng chưa rõ ràng.
    • Một số loài côn trùng có hiện tượng ngụy trang hòa lẫn với màu lá cây hoặc vỏ thân cây gây ra tỷ lệ False Negative (bỏ sót đối tượng) khoảng 12-15%.
    • Ứng dụng hiện chỉ hỗ trợ nền tảng Android, chưa có phiên bản cho iOS.
  • Hướng phát triển trong tương lai:
    • Chuyển đổi mô hình sang định dạng TensorRT hoặc ONNX Runtime để tăng tốc độ xử lý phần cứng di động thêm 2-3 lần.
    • Mở rộng tập dữ liệu nhận diện bao gồm cả các giai đoạn biến thái (Trứng $\rightarrow$ Sâu non $\rightarrow$ Nhộng $\rightarrow$ Trưởng thành).
    • Tích hợp thêm module AI phân tích mức độ tổn thương của lá và chẩn đoán kết hợp bệnh hại do nấm/vi khuẩn.

Đối tượng hưởng lợi

  • Sinh viên & Học viên CNTT: Nguồn tài liệu tham khảo chi tiết về quy trình triển khai mô hình học sâu từ khâu nghiên cứu lý thuyết, gán nhãn dữ liệu đến đóng gói ứng dụng di động thực tế.
  • Kỹ sư phát triển phần mềm: Cung cấp mẫu kiến trúc chuẩn (Architecture Pattern) cho việc tích hợp mô hình Edge AI gọn nhẹ (27MB) vào các thiết bị di động có tài nguyên giới hạn.
  • Bà con nông dân & Hợp tác xã: Công cụ hỗ trợ ra quyết định tại chỗ, giúp chẩn đoán đúng bệnh, dùng đúng thuốc, giảm 30-40% chi phí phân thuốc và nâng cao chất lượng nông sản.
  • Nhà nghiên cứu Nông nghiệp & Bảo vệ thực vật: Phương pháp số hóa cơ sở dữ liệu dịch hại và giám sát dịch bệnh thông qua dữ liệu không gian GPS chính xác.

Câu hỏi thường gặp

1. Cấu hình phần cứng tối thiểu để cài đặt và sử dụng ứng dụng di động là gì?

Thiết bị di động cần chạy hệ điều hành Android phiên bản 7.0 (Nougat) trở lên, dung lượng RAM tối thiểu 2GB (khuyến nghị 3GB+ để đạt tốc độ nhận diện 30 FPS) và bộ nhớ trống khả dụng tối thiểu 100MB cho dữ liệu offline.

2. Mô hình có thể mở rộng để nhận diện thêm các loài côn trùng mới không?

Hoàn toàn có thể. Nhờ phương pháp Transfer Learning, khi cần mở rộng thêm các lớp côn trùng mới, quản trị viên chỉ cần bổ sung ảnh gán nhãn vào tập dữ liệu và chạy tinh chỉnh (Fine-tuning) thêm 50-100 epochs mà không cần huấn luyện lại từ đầu.

3. Làm thế nào để ứng dụng nhận diện chính xác khi chụp trong điều kiện thiếu sáng hoặc rung tay?

Ứng dụng đã tích hợp thuật toán tiền xử lý cân bằng trắng (Auto White Balance) và tự động bật đèn Flash của điện thoại khi cảm biến nhận diện môi trường dưới 20 Lux. Đồng thời, kỹ thuật Mosaic Data Augmentation trong quá trình huấn luyện giúp mô hình duy trì độ chính xác cao ngay cả khi ảnh bị nhòe nhẹ.

4. Dữ liệu bản đồ định vị GPS có hoạt động khi điện thoại mất sóng không?

Có. Hệ thống sử dụng chip GPS phần cứng độc lập trên smartphone để lấy tọa độ kinh độ và vĩ độ mà không phụ thuộc vào mạng 4G/Wi-Fi. Tọa độ này được lưu tạm thời vào bảng tbl_gps_location trong SQLite và sẽ tự động đồng bộ lên Server khi có kết nối trở lại.

5. Chi phí duy trì hệ thống máy chủ hàng năm là bao nhiêu?

Với mô hình lai (Edge-Cloud hybrid), phần lớn tác vụ suy luận được thực hiện trực tiếp trên máy người dùng, do đó máy chủ trung tâm chỉ cần cấu hình vừa phải (2 Core, 4GB RAM, SSD 50GB) với chi phí thuê Cloud khoảng 1.200.000 - 1.500.000 VNĐ/năm cho quy mô phục vụ 10.000 nông dân.


Kết luận

Đồ án "Xây dựng ứng dụng nhận dạng côn trùng cho các thiết bị di động" đã giải quyết trọn vẹn bài toán chuyển giao công nghệ Trí tuệ nhân tạo vào sản xuất nông nghiệp thực tế tại Việt Nam. Bằng việc làm chủ và tùy biến kiến trúc mạng YOLOv5s cùng phương pháp Transfer Learning, đề tài đã phát triển thành công mô hình nhận diện 102 loài côn trùng với dung lượng siêu nhẹ (27 MB) và tốc độ thực thi thời gian thực trên 30 FPS.

Giải pháp không chỉ giúp người nông dân chủ động bảo vệ mùa màng, nâng cao chất lượng nông sản xuất khẩu mà còn đóng góp thiết thực vào xu hướng chuyển đổi số nông nghiệp thông minh và bảo vệ hệ sinh thái bền vững.