Giới thiệu dự án

Nông nghiệp là trụ cột an ninh lương thực và động lực kinh tế toàn cầu. Theo báo cáo từ Tổ chức Lương thực và Nông nghiệp Liên Hợp Quốc (FAO), tổng giá trị toàn cầu của nông nghiệp, lâm nghiệp và thủy sản đã tăng 78% (sau điều chỉnh lạm phát) trong giai đoạn 2000–2020, đạt 3.600 tỷ USD vào năm 2020, trong đó châu Á đóng góp tới 64% tổng giá trị gia tăng. Tuy nhiên, dịch bệnh thực vật tiếp tục là mối đe dọa nghiêm trọng, gây tổn thất 20–40% sản lượng cây trồng hàng năm. Trên các cây lương thực chủ lực như ngô và lúa, các bệnh lý như đốm lá xám (Gray Leaf Spot), gỉ sắt (Common Rust), cháy lá (Northern Leaf Blight) và thối thân thường biểu hiện triệu chứng phức tạp, dễ nhầm lẫn khi quan sát bằng mắt thường.

+-------------------------------------------------------------------------------+
|                       VẤN ĐỀ TRONG NÔNG NGHIỆP TRUYỀN THỐNG                   |
+-------------------------------------------------------------------------------+
|  1. Chẩn đoán thủ công: Phụ thuộc chuyên gia, tốn kém, độ trễ phản hồi cao.   |
|  2. Mạng CNN truyền thống: Tập trung cục bộ (local receptive field), dễ nhầm. |
|  3. Transformer tiêu chuẩn: Yêu cầu tính toán khổng lồ, không chạy được edge. |
|  4. Hạ tầng vùng sâu vùng xa: Kết nối Internet không ổn định hoặc mất sóng.   |
+-------------------------------------------------------------------------------+

Nhằm giải quyết triệt để bài toán trên, dự án khóa luận tập trung xây dựng cơ chế phát hiện bệnh trên lá cây dựa trên kiến trúc thị giác máy tính tiên tiến Vision Transformer (ViT), được tinh chỉnh và lượng tử hóa để vận hành trực tiếp theo thời gian thực trên các thiết bị di động có tài nguyên phần cứng hạn chế.

flowchart LR
    A[Lá cây ngô ngoài đồng ruộng] --> B[Camera Thiết bị Di động]
    B --> C[Mobile App Inference: LeViT / MobileViT Quantized]
    C --> D[Kết quả: Bệnh, Tỷ lệ tin cậy & Giải pháp]
    C -.->|Đồng bộ khi có mạng| E[Cloud API Node.js / VPS Vultr]
    E --> F[(MongoDB Atlas Database)]

Mục tiêu của dự án

  1. Nghiên cứu và đánh giá đa kiến trúc Transformer: Khảo sát, huấn luyện và đối chuẩn 5 mô hình học sâu chuyên biệt: LeViT, SimpleViT, MobileViT, CrossViTDeepViT trên tập dữ liệu chuẩn hóa bệnh lá ngô.
  2. Tối ưu hóa và lượng tử hóa mô hình (Model Optimization & Quantization): Chuyển đổi mô hình sang định dạng TorchScript/TFLite tối ưu nhằm giảm dung lượng bộ nhớ, giảm số phép tính FLOPs nhưng vẫn duy trì độ chính xác cao.
  3. Xây dựng hệ thống Backend và Lưu trữ phân tán: Thiết lập kiến trúc REST API với Node.js, Express.js, cơ sở dữ liệu MongoDB và hạ tầng lưu trữ đám mây LongVan SSD / VPS Vultr để quản lý hơn 100 GB dữ liệu hình ảnh.
  4. Triển khai ứng dụng di động hoàn chỉnh: Xây dựng ứng dụng Android phục vụ quét bệnh thời gian thực (offline/online), quản lý vườn cây (My Garden), tra cứu thông tin dịch bệnh và đề xuất phác đồ xử lý.

Phạm vi và giới hạn nghiên cứu

  • Phạm vi dữ liệu: 9.145 ảnh lá ngô phân chia thành 4 nhãn phân loại: Bệnh đốm lá xám, Bệnh gỉ sắt, Bệnh cháy láLá khỏe mạnh.
  • Thiết bị thử nghiệm biên: Samsung Galaxy A31 (MediaTek Helio P65), POCO X3 Pro (Snapdragon 860), Xiaomi K30 Pro (Snapdragon 865).
  • Giới hạn: Dự án tập trung vào bài toán phân loại ảnh tĩnh và luồng camera trên thiết bị di động, chưa bao gồm các hệ thống phân đoạn ảnh chi tiết đa phổ (Hyperspectral segmentation).

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

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

Trước khi kiến trúc Vision Transformer xuất hiện, các mô hình học máy cơ bản (KNN, Random Forest, SVM) và mạng nơ-ron tích chập (AlexNet, VGG-19, ResNet-50, MobileNetV2) chiếm ưu thế trong các nghiên cứu nông nghiệp số.

Giải pháp Đại diện tiêu biểu Ưu điểm Nhược điểm
Học máy cổ điển SVM, Random Forest [7], [8] Nhẹ, chạy nhanh trên CPU cấu hình thấp. Độ chính xác thấp (79–83%), phụ thuộc trích xuất đặc trưng thủ công (HOG, SFTA).
CNN truyền thống VGG-19, ResNet-50, AlexNet [9], [10] Tự động trích xuất đặc trưng không gian cục bộ; độ chính xác 90–97%. Kích thước mô hình lớn (VGG-19 >500MB), không bao quát được quan hệ tương quan toàn cục (long-range dependencies).
CNN siêu nhẹ MobileNetV2, ShuffleNetV2 [28], [29] Dung lượng nhỏ (~14MB), tốc độ inference nhanh trên thiết bị biên. Khả năng biểu diễn đặc trưng phức tạp bị giới hạn khi ảnh có nền nhiễu, ánh sáng phức tạp.
Vision Transformer gốc ViT-Base, ViT-Large [4] Cơ chế Self-Attention nắm bắt toàn cảnh bức ảnh; độ chính xác vượt trội. Số lượng tham số khổng lồ (>86M params), độ trễ cao, không thể triển khai trực tiếp trên chip di động tầm trung.
Lightweight ViT (Đề xuất) LeViT-256, MobileViT-XS Kết hợp ưu thế tốc độ của CNN và khả năng biểu diễn toàn cục của ViT; đạt 98% accuracy. Đòi hỏi quy trình tối ưu lượng tử hóa và tiền xử lý patch tỉ mỉ.

Ma trận ưu tiên yêu cầu người dùng (MoSCoW)

  • Must-Have (Bắt buộc): Nhận diện tức thời 4 trạng thái lá cây với F1-score > 90%; hoạt động độc lập không cần Internet; hiển thị tên bệnh và khuyến nghị điều trị; hỗ trợ camera chụp ảnh trực tiếp.
  • Should-Have (Nên có): Tùy chọn linh hoạt mô hình suy luận (LeViT, MobileViT, SimpleViT); quản lý danh mục vườn cây (Garden Management); ghi nhận nhật ký phát hiện bệnh.
  • Could-Have (Có thể có): Đồng bộ dữ liệu nền tảng đám mây khi có kết nối mạng; tìm kiếm cơ sở tri thức cây trồng thông minh.
  • Won't-Have (Chưa triển khai đợt này): Tự động gửi cảnh báo qua drone; kết nối cảm biến đo độ ẩm đất IoT thời gian thực.

Thiết kế hệ thống

Kiến trúc hệ thống được phân tầng rõ ràng từ tầng thu thập dữ liệu, tầng huấn luyện đám mây đến tầng ứng dụng biên trên thiết bị di động.

graph TD
    subgraph Data & Training Pipeline
        D1[Data Sources: Kaggle, Repositório Digipathos, Mendeley] --> D2[LongVan SSD Cloud Storage 100GB]
        D2 --> D3[Google Colab Pro: PyTorch 1.13 + GPU]
        D3 --> D4[Model Training & 5-Fold Cross Validation]
        D4 --> D5[Post-Training Quantization & TorchScript Export]
    end

    subgraph Cloud Backend
        D5 --> B1[VPS Vultr Server]
        B1 --> B2[Node.js / Express.js REST APIs]
        B2 <--> B3[(MongoDB Database)]
    end

    subgraph Mobile Edge Client
        B2 -->|Tải Model Optimized & Sync Data| M1[Android App UI]
        M1 --> M2[Camera Frame Capture 224x224]
        M2 --> M3[On-device Inference Engine: LeViT / MobileViT]
        M3 --> M4[UI Hiển thị Kết quả & Quản lý Vườn cây]
    end

Technology Stack và Thông số phiên bản

+-------------------------------------------------------------------------------+
|                                TECHNOLOGY STACK                               |
+-------------------------------------------------------------------------------+
|  Deep Learning Framework : PyTorch v1.13.1, TorchVision v0.14.1, Timm v0.6.12 |
|  Optimization Tools      : TorchScript, PyTorch Mobile runtime, ONNX v1.13    |
|  Programming Languages   : Python v3.8.10, JavaScript (ES6+), Java/Kotlin      |
|  Backend API Server      : Node.js v18 LTS, Express.js v4.18.2                 |
|  Database Engine         : MongoDB Community Server v6.0 / MongoDB Atlas       |
|  Cloud Infrastructure    : VPS Vultr (Ubuntu 22.04 LTS), LongVan SSD Cloud     |
|  Edge Target Platforms   : Android OS 10.0+ (API Level 29 - 33)                |
+-------------------------------------------------------------------------------+

Thiết kế Database (MongoDB Schema)

// Collection: Users
{
  "_id": ObjectId("64f1a2b3c4d5e6f7a8b9c0d1"),
  "username": "farmer_hieu",
  "email": "hieu.nguyen@example.com",
  "passwordHash": "$2b$10$e8T1X...",
  "createdAt": ISODate("2023-05-10T08:00:00Z")
}

// Collection: Gardens
{
  "_id": ObjectId("64f1a2b3c4d5e6f7a8b9c0d2"),
  "userId": ObjectId("64f1a2b3c4d5e6f7a8b9c0d1"),
  "gardenName": "Vườn Ngô Tân Phú",
  "location": "Đồng Nai, Việt Nam",
  "totalPlants": 150,
  "createdAt": ISODate("2023-05-11T09:30:00Z")
}

// Collection: PlantScans
{
  "_id": ObjectId("64f1a2b3c4d5e6f7a8b9c0d3"),
  "gardenId": ObjectId("64f1a2b3c4d5e6f7a8b9c0d2"),
  "plantTag": "Cây Ngô Lô A-12",
  "diseaseDetected": "Bệnh đốm lá xám (Gray Leaf Spot)",
  "confidenceScore": 0.9842,
  "modelUsed": "LeViT-256",
  "imageCloudUrl": "https://storage.longvan.net/scans/img_9510.jpg",
  "treatmentAdvice": "Phun trừ nấm chứa hoạt chất Azoxystrobin hoặc Difenoconazole định kỳ 7-10 ngày.",
  "timestamp": ISODate("2023-05-15T14:20:10Z")
}

Thiết kế RESTful API

  • POST /api/v1/auth/login: Xác thực người dùng, trả về JWT Token.
  • GET /api/v1/models/sync: Kiểm tra và trả về metadata cùng link tải mô hình tối ưu mới nhất từ VPS Vultr.
  • POST /api/v1/gardens/create: Khởi tạo thông tin vườn cây mới của nông dân.
  • POST /api/v1/scans/sync: Đồng bộ lịch sử quét bệnh từ thiết bị di động lên đám mây khi có kết nối Internet.

Implementation và kết quả

Development Process & Core Algorithms

Quá trình phát triển được phân bổ qua các giai đoạn: tiền xử lý tập dữ liệu 100GB, lập trình kiến trúc Transformer tùy biến, huấn luyện với cơ chế tối ưu gradient, lượng tử hóa và đóng gói phần mềm di động.

1. Cơ chế Self-Attention và Cải tiến trong Kiến trúc LeViT

Kiến trúc tiêu chuẩn của Self-Attention tính toán ma trận tương quan giữa các patch ảnh:

$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}} + B\right)V$$

Trong đó $Q, K, V$ tương ứng là ma trận Query, Key, Value, $d_k$ là số chiều của vector biểu diễn, và $B$ là ma trận độ lệch vị trí tương đối (Relative Position Bias).

Khác với ViT truyền thống đưa thẳng ảnh qua Linear Projection, LeViT áp dụng 4 lớp tích chập liên tiếp với kích thước kernel $3 \times 3$ và bước nhảy (stride) 2 để giảm độ phân giải không gian đầu vào từ $224 \times 224$ xuống $14 \times 14$ trước khi đưa vào các khối Transformer. Đồng thời, LeViT giảm hệ số mở rộng của MLP từ 4 xuống 2, giúp cắt giảm đáng kể chi phí tính toán FLOPs.

import torch
import torch.nn as nn

class LeViTPatchEmbedding(nn.Module):
    """
    4-layer Convolutional Stem in LeViT to downsample 224x224 input to 14x14 feature maps
    """
    def __init__(self, in_channels=3, out_channels=256):
        super().__init__()
        self.conv_stem = nn.Sequential(
            nn.Conv2d(in_channels, 32, kernel_size=3, stride=2, padding=1),
            nn.BatchNorm2d(32),
            nn.Hardwish(),
            nn.Conv2d(32, 64, kernel_size=3, stride=2, padding=1),
            nn.BatchNorm2d(64),
            nn.Hardwish(),
            nn.Conv2d(64, 128, kernel_size=3, stride=2, padding=1),
            nn.BatchNorm2d(128),
            nn.Hardwish(),
            nn.Conv2d(128, out_channels, kernel_size=3, stride=2, padding=1),
            nn.BatchNorm2d(out_channels),
        )

    def forward(self, x):
        return self.conv_stem(x) # Output tensor: [Batch_Size, 256, 14, 14]

2. Pipeline Lượng tử hóa và Xuất TorchScript cho Mobile

Để mô hình có thể suy luận trực tiếp trên bộ xử lý di động mà không cần máy chủ GPU hỗ trợ, nhóm nghiên cứu đã triển khai kỹ thuật Post-Training Quantization (PTQ) từ 32-bit Floating Point (FP32) sang 8-bit Integer (INT8):

import torch

def export_optimized_mobile_model(model_fp32, sample_input_tensor, output_filepath):
    """
    Quantize and trace PyTorch model for mobile deployment
    """
    model_fp32.eval()
    
    # 1. Fuse Conv + BN blocks where applicable
    model_fused = torch.ao.quantization.fuse_modules(model_fp32, [['conv_stem.0', 'conv_stem.1']], inplace=False)
    
    # 2. Dynamic/Static Quantization configuration
    model_fused.qconfig = torch.ao.quantization.get_default_qconfig('qnnpack')
    model_prepared = torch.ao.quantization.prepare(model_fused)
    
    # 3. Calibration with representative dataset
    with torch.no_grad():
        model_prepared(sample_input_tensor)
        
    model_quantized = torch.ao.quantization.convert(model_prepared)
    
    # 4. TorchScript Tracing for Mobile Runtime
    traced_script_module = torch.jit.trace(model_quantized, sample_input_tensor)
    traced_script_module.save(output_filepath)
    print(f"Model saved successfully to {output_filepath}")

# Trigger export for LeViT-256
sample_input = torch.randn(1, 3, 224, 224)
# export_optimized_mobile_model(levit_model, sample_input, "levit_256_quantized.pt")

Testing và Validation

Thông số tập dữ liệu thử nghiệm (5-Fold Cross Validation)

Tập dữ liệu gồm 9.145 ảnh được phân bổ theo tỷ lệ huấn luyện/xác thực là 4:1 (7.316 ảnh train, 1.829 ảnh val):

Nhãn Tên loại bệnh Số ảnh Huấn luyện Số ảnh Xác thực Tổng cộng
0 Bệnh đốm lá xám (Gray Leaf Spot) 1.908 476 2.384
1 Bệnh gỉ sắt (Common Rust) 1.641 411 2.052
2 Bệnh cháy lá (Northern Leaf Blight) 1.908 477 2.385
3 Lá ngô khỏe mạnh (Healthy) 1.859 465 2.324
Tổng Toàn bộ dataset 7.316 1.829 9.145

Kết quả đánh giá hiệu suất mô hình học sâu

Sau 200 epochs huấn luyện trên Google Colab GPU (Intel Xeon @ 2.20GHz, 12GB VRAM), hiệu suất phân loại chi tiết của các mô hình đạt được như sau:

Mô hình Kích thước Tham số (M) FLOPs (G) Validation Accuracy Validation Loss F1-Score TB
LeViT LeViT-256 18.12 2.1 98.02% 0.151 0.980
SimpleViT SimpleViT-256 22.00 4.2 95.14% 0.218 0.951
MobileViT MobileViT-XS 2.70 0.7 90.45% 0.285 0.903
CrossViT CrossViT-Base 28.40 5.6 90.12% 0.292 0.901
DeepViT DeepViT-S 27.00 4.5 90.05% 0.298 0.900

Ghi chú: LeViT-256 đạt F1-score 1.00 ở nhãn Bệnh đốm lá xám và Gỉ sắt, độ chính xác xác thực tăng ổn định từ 77% lên 98% qua các epoch.

Benchmark phần cứng trên thiết bị di động thực tế

Các mô hình sau lượng tử hóa được kiểm thử liên tục trong 15 phút trên 3 dòng điện thoại Android để đo lường mức độ ổn định:

Thiết bị kiểm thử Chipset & RAM Mô hình Tốc độ (FPS) Tải CPU (%) RAM tiêu thụ (MB) Nhiệt độ TB (°C)
Samsung Galaxy A31 Helio P65 / 6GB LeViT-256 18.2 42.5% 148 MB 36.8°C
(Android 12) Helio P65 / 6GB MobileViT-XS 26.4 31.0% 92 MB 35.2°C
POCO X3 Pro Snapdragon 860 / 6GB LeViT-256 32.5 28.4% 154 MB 37.4°C
(Android 13) Snapdragon 860 / 6GB MobileViT-XS 45.1 19.8% 98 MB 35.9°C
Xiaomi K30 Pro Snapdragon 865 / 8GB LeViT-256 38.6 24.1% 160 MB 36.2°C
(Android 13) Snapdragon 865 / 8GB MobileViT-XS 52.3 16.5% 102 MB 35.1°C

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

  1. Ứng dụng thành công Transformer trên thiết bị di động tầm trung: Đồ án tiên phong chứng minh tính khả thi của việc đưa các kiến trúc Transformer (vốn đòi hỏi phần cứng trung tâm dữ liệu khổng lồ) xuống thiết bị biên chỉ có RAM 6GB và vi xử lý MediaTek Helio P65 mà vẫn đạt tốc độ khung hình thực tế 18–26 FPS.
  2. Cơ chế lai CNN-Transformer tối ưu (Hybrid Architecture Paradigm): Kết hợp giai đoạn Convolutional Downsampling của LeViT với các khối Attention giúp giảm kích thước tham số xuống 18.12M, vượt qua nhược điểm thiếu Inductive Bias của ViT thuần túy trên các tập dữ liệu kích thước trung bình.
  3. Độ chính xác vượt trội so với các công trình trước đây:
Nghiên cứu / Phương pháp Mô hình sử dụng Số lượng ảnh Độ chính xác đạt được
Panigrahi et al. (2020) [8] Random Forest 3.823 79.23%
Intel Movidius Stick [19] Modified CNN 679 88.46%
Syarief et al. (2020) [23] CNN + OpenMP 3.854 89.00% – 93.00%
Đồ án Khóa luận UIT (2023) LeViT-256 Quantized 9.145 98.02%
  1. Đóng gói giải pháp Full-stack thực tế: Không chỉ dừng lại ở thử nghiệm mô hình trong notebook, đồ án hoàn thiện ứng dụng di động Android gồm 12 màn hình giao diện (Đăng nhập, Quản lý vườn cây, Lựa chọn Model, Quét trực tiếp, Lịch sử bệnh).

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

Kịch bản sử dụng trong thực tế (Real-World Scenarios)

  • Hộ nông dân cá thể: Người nông dân mang điện thoại ra ruộng ngô, mở ứng dụng và hướng camera vào những lá có đốm bất thường. Ứng dụng tự động kích hoạt LeViT-256, khoanh vùng nhận diện và hiển thị: "Bệnh gỉ sắt (Độ tin cậy: 98.5%)" kèm hướng dẫn tỉa lá và phun thuốc sinh học.
  • Hợp tác xã nông nghiệp: Quản lý nhiều lô đất khác nhau thông qua tính năng "Vườn cây của tôi". Trưởng hợp tác xã có thể thống kê tỷ lệ cây nhiễm bệnh theo từng tuần để kịp thời khoanh vùng dịch bệnh.
+-------------------------------------------------------------------------------+
|                       YÊU CẦU PHẦN CỨNG & HẠ TẦNG TRIỂN KHAI                  |
+-------------------------------------------------------------------------------+
|  Client (Nông dân) : Điện thoại Android 10.0 trở lên, Camera tối thiểu 8MP,   |
|                      Dung lượng trống > 100MB, RAM tối thiểu 3GB.             |
|  Server (Cloud API): 01 VPS Linux Ubuntu (2 vCPU, 4GB RAM, 50GB SSD Cloud)   |
|                      Node.js v18 + MongoDB Atlas M10 Cluster.                 |
+-------------------------------------------------------------------------------+

Lộ trình thương mại hóa và mở rộng

gantt
    title Kế hoạch Triển khai & Mở rộng Hệ thống (2023 - 2024)
    dateFormat  YYYY-MM
    section Giai đoạn 1: Thử nghiệm thực địa
    Pilot testing tại 5 hợp tác xã Đồng Nai   :2023-06, 3M
    Tối ưu hóa UI/UX dựa trên phản hồi nông dân:2023-08, 2M
    section Giai đoạn 2: Đa dạng hóa dữ liệu
    Mở rộng dataset: Lúa, Cà chua, Sầu riêng  :2023-10, 4M
    Tích hợp mô hình Object Detection (YOLOv8-ViT):2023-12, 3M
    section Giai đoạn 3: Ra mắt diện rộng
    Phát hành trên Google Play Store          :2024-03, 2M
    Kết nối với hệ thống đại lý thuốc BVTV    :2024-04, 4M

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

Hạn chế kỹ thuật hiện tại

  • Độ nhạy sáng ngoài đồng ruộng: Ảnh chụp dưới trời nắng gắt hoặc ngược sáng có thể gây chói lóa trên phiến lá, làm giảm độ tin cậy của mô hình xuống khoảng 85–88%.
  • Chưa phát hiện đa bệnh đồng thời trên cùng một lá: Mô hình hiện tại hoạt động theo cơ chế Single-label Classification, chưa xử lý được trường hợp một lá cây vừa bị đốm lá xám vừa bị cháy lá.
  • Dung lượng pin khi quét liên tục: Chế độ camera stream thời gian thực liên tục kích hoạt bộ xử lý NPU/CPU khiến thiết bị ấm lên (37.4°C trên POCO X3 Pro) và tiêu hao pin nhanh hơn.

Hướng phát triển trong tương lai

  • Nâng cấp sang Object Detection & Segmentation: Tích hợp các kiến trúc như RT-DETR hoặc MobileViT-YOLO để vừa xác định loại bệnh vừa khoanh vùng chính xác vị trí vết bệnh trên lá.
  • Mở rộng cơ sở tri thức cây trồng: Bổ sung bộ dữ liệu cho các loại cây ăn trái giá trị cao tại Việt Nam (sầu riêng, thanh long, bưởi da xanh).
  • Hỗ trợ đa nền tảng: Biên dịch ứng dụng sang iOS thông qua CoreML và Flutter Framework.

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

+-------------------------------------------------------------------------------+
|                            LỢI ÍCH ĐỊNH LƯỢNG MANG LẠI                        |
+-------------------------------------------------------------------------------+
|  1. Người nông dân : Phát hiện bệnh sớm trước 7-10 ngày, giảm 30% chi phí     |
|                      thuốc bảo vệ thực vật, tăng 15-20% năng suất thu hoạch.  |
|  2. Lập trình viên : Mã nguồn mẫu tối ưu hóa Vision Transformer trên mobile,  |
|                      pipeline lượng tử hóa PyTorch sang TorchScript chuẩn hóa.|
|  3. Doanh nghiệp   : Giải pháp số hóa nông nghiệp chi phí thấp ($0 server     |
|                      inference cost vì chạy hoàn toàn offline trên client).   |
|  4. Nhà nghiên cứu : Benchmark chi tiết so sánh 5 kiến trúc Transformer trên  |
|                      tập dữ liệu bệnh thực vật với dữ liệu thực tế tại VN.    |
+-------------------------------------------------------------------------------+

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

1. Ứng dụng có thể hoạt động khi ở ngoài đồng ruộng không có kết nối 4G/Wifi không?

Có. Toàn bộ trọng số của mô hình LeViT/MobileViT đã được lượng tử hóa và tích hợp trực tiếp vào ứng dụng Android. Quá trình xử lý ảnh và chẩn đoán diễn ra 100% cục bộ trên phần cứng điện thoại, không cần gửi ảnh về server.

2. Thiết bị di động đời cũ có chạy được mô hình không?

Các dòng máy có dung lượng RAM từ 3GB trở lên chạy hệ điều hành Android 10+ đều có thể chạy ổn định. Với các máy cấu hình thấp, người dùng có thể chọn mô hình MobileViT-XS (dung lượng chỉ 2.7M tham số, tiêu thụ 92MB RAM) trong phần cài đặt để đạt tốc độ mượt mà.

3. Quy trình đồng bộ dữ liệu với máy chủ diễn ra như thế nào?

Khi điện thoại kết nối lại với Wifi/Internet, hệ thống chạy background service để tự động đồng bộ lịch sử chẩn đoán và hình ảnh lên hệ thống máy chủ Node.js/Express và lưu vào cơ sở dữ liệu MongoDB Atlas.

4. Mô hình xử lý thế nào khi nông dân chụp ảnh không phải lá cây ngô?

Ứng dụng có ngưỡng lọc độ tin cậy (Confidence Threshold = 0.70). Nếu ảnh chụp không nằm trong 4 phân lớp đã được huấn luyện, hệ thống sẽ đưa ra cảnh báo: "Không nhận diện được đối tượng lá cây hợp lệ, vui lòng chụp lại".

5. Chi phí duy trì hệ thống backend là bao nhiêu?

Nhờ cơ chế xử lý biên (Edge Computing), máy chủ chỉ cần tiếp nhận dữ liệu metadata dạng văn bản JSON. Một gói VPS Vultr cơ bản ($5 - $10/tháng) có thể phục vụ đồng thời hơn 50.000 người dùng hoạt động hàng ngày.


Kết luận

Đồ án khóa luận tốt nghiệp "Xây dựng cơ chế phát hiện bệnh trên lá cây dựa trên kiến trúc Transformer trên thiết bị hạn chế phần cứng" đã giải quyết thành công bài toán giao thoa giữa thị giác máy tính hiện đại và nông nghiệp chính xác. Bằng việc chứng minh mô hình LeViT-256 đạt độ chính xác 98.02% và vận hành mượt mà trên các chip di động phổ thông, nghiên cứu mở ra hướng tiếp cận bền vững, hiệu quả và chi phí thấp cho người nông dân trong việc bảo vệ mùa màng và nâng cao năng suất nông nghiệp.