Giới thiệu dự án

Ngành dâu tằm tơ là một trong những trụ cột nông nghiệp xuất khẩu giá trị cao tại nhiều quốc gia châu Á. Theo báo cáo từ Hiệp hội Tơ lụa Thế giới (International Sericultural Commission), Việt Nam hiện giữ vị thế thứ ba tại châu Á (sau Trung Quốc và Ấn Độ) và thứ sáu toàn cầu về sản lượng xuất khẩu tơ tằm, với kim ngạch năm 2022 đạt xấp xỉ 70 triệu USD. Trong nước, theo dữ liệu từ Bộ Nông nghiệp và Phát triển Nông thôn, toàn quốc có 32 tỉnh thành phát triển nghề tằm tang với hơn 38.076 hộ nông dân, trong đó vùng Tây Nguyên (trọng điểm là thủ phủ dâu tằm Bảo Lộc – Lâm Đồng) chiếm trên 77% diện tích và quy tụ chuỗi cung ứng khép kín từ ươm tơ đến dệt lụa cao cấp.

Tuy nhiên, loài tằm dâu (Bombyx mori) có đặc tính sinh học cực kỳ nhạy cảm với điều kiện vi khí hậu. Trong chu kỳ sinh trưởng, đặc biệt là giai đoạn "tằm ăn rỗi" (tuổi 5) chuẩn bị chín để nhả tơ kéo kén, ấu trùng rất dễ bùng phát các dịch bệnh truyền nhiễm nguy hiểm như bệnh do virus (Densovirus, Nuclear Polyhedrosis Virus - NPV), bệnh hoại huyết do vi khuẩn, bệnh nấm trắng/nấm vôi, và bệnh do ruồi ký sinh. Những cá thể nhiễm bệnh sẽ mất khả năng tạo kén hoặc tạo ra kén chất lượng kém (kén đúp, kén mủ), đồng thời phát tán mầm bệnh làm lây nhiễm chéo diện rộng trong buồng nuôi.

Vòng đời tằm dâu (Bombyx mori):
[Trứng (3-4 ngày)] ➔ [Ấu trùng 5 tuổi (20-25 ngày)] ➔ [Tằm chín kéo kén (3-4 ngày)] ➔ [Nhộng & Hóa bướm (10-12 ngày)]
                                     │
                             (Giai đoạn rủi ro)
                                     ▼
                    [Nhiễm bệnh: Thân nâu đen, rỉ mủ, teo nhỏ]

Vấn đề thực tế (Problem Statement)

Phương pháp phân loại truyền thống hoàn toàn dựa vào kiểm tra thủ công bằng mắt thường của người nông dân. Quy trình này bộc lộ những hạn chế nghiêm trọng:

  • Tỷ lệ sót cá thể bệnh cao: Trong môi trường nuôi mật độ dày đặc (hàng nghìn con trên một mặt nong/sàn), nông dân dễ bỏ sót các cá thể mới chớm bệnh hoặc bị che khuất một phần dưới lớp lá dâu.
  • Tốn kém chi phí nhân công: Các trang trại quy mô lớn phải huy động hàng chục nhân lực trong khung giờ cố định của giai đoạn tằm chín, làm tăng chi phí vận hành (OPEX).
  • Rủi ro thất thoát sản lượng kén: Một cá thể bệnh không được loại bỏ kịp thời có thể làm hỏng cụm kén xung quanh, trực tiếp làm sụt giảm năng suất từ 15% – 30% tổng thu hoạch.

Mục tiêu của đồ án

  1. Xây dựng bộ dữ liệu benchmark silkBLC: Thu thập và gán nhãn chuẩn hóa mức pixel (pixel-level mask) cho 4.000 ảnh gốc độ phân giải cao trong môi trường nuôi tằm thực địa tại Bảo Lộc, Lâm Đồng.
  2. Nghiên cứu và thực nghiệm 12 kiến trúc phân đoạn ảnh chuyên sâu: Đánh giá định lượng các mô hình Deep Learning tiên tiến bao gồm FCN, U-Net, DeepLabV3, PSPNet, và YOLOv8-seg.
  3. Đề xuất kiến trúc tối ưu U-Net kết hợp ResNet-34 backbone: Tinh chỉnh cơ chế trích xuất đặc trưng và khôi phục không gian, đạt chỉ số cân bằng tối ưu giữa độ chính xác và chi phí tính toán.

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

  • Phạm vi đối tượng: Nhận diện và phân đoạn vị trí các cá thể tằm bệnh trên bề mặt nong, sàn nuôi tự nhiên, lẫn trong lớp nền lá dâu.
  • Giới hạn kỹ thuật: Hệ thống tập trung vào bài toán phân đoạn nhị phân (Binary Segmentation: Tằm bệnh vs. Nền/Tằm khỏe), chưa phân tách chi tiết từng phân loại tác nhân vi sinh (virus, nấm, vi khuẩn) do đặc tính biến đổi màu sắc đồng quy ở giai đoạn hoại tử.

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

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

Trước nghiên cứu này, các công trình trong và ngoài nước chủ yếu tiếp cận vấn đề theo hai hướng chính: Phân loại ảnh (Image Classification) và Phát hiện đối tượng (Object Detection).

Tiêu chí Image Classification (AC-DenseNet) Object Detection (CA-YOLOv5) Đề xuất: Semantic/Instance Segmentation (silkBLC)
Đại diện tiêu biểu Yu Zhen et al. (2022) Hongkang Shi et al. (2023) Đồ án tốt nghiệp Hồ Anh Khôi (2024)
Đầu vào Ảnh chụp đơn lẻ 1 con tằm cô lập Ảnh cụm tằm trong môi trường nuôi Ảnh trường nhìn rộng, mật độ tằm cực cao trên nong/sàn
Đầu ra Nhãn phân loại (Healthy/Diseased) Hộp giới hạn (Bounding Box) Mặt nạ nhị phân chính xác từng pixel (Pixel-wise Mask)
Hạn chế cốt lõi Không áp dụng được trên khay nuôi thực tế Hiện tượng chồng chéo Bounding Box gây sai lệch vị trí Đòi hỏi chi phí tính toán và gán nhãn pixel phức tạp
Hiệu năng công bố mAP = 0.839 mAP = 96.46% Accuracy/IoU/Dice/Recall/Precision ~ 0.9292

Ma trận yêu cầu hệ thống (MoSCoW)

  • Must-have: Khả năng khoanh vùng chính xác ranh giới hình thể cá thể tằm bệnh bất chấp sự chồng lấn cơ học giữa các cá thể.
  • Should-have: Đường ống tiền xử lý tự động (khử nhiễu, cân bằng sáng thích ứng CLAHE, chuẩn hóa dải động).
  • Could-have: Tối ưu hóa mô hình với TensorRT để triển khai trên các thiết bị nhúng công suất thấp (Edge AI).
  • Won't-have (giai đoạn này): Cánh tay robot tự động gắp tằm vật lý.

Thiết kế hệ thống

Kiến trúc tổng thể được xây dựng theo mô hình Encoder-Decoder với kết nối tắt (Skip Connections). Bộ mã hóa sử dụng mạng ResNet-34 được tiền huấn luyện (pretrained on ImageNet) để trích xuất các bản đồ đặc trưng ngữ nghĩa đa tầng. Bộ giải mã áp dụng các khối tích chập chuyển vị (Transpose Convolution) để khôi phục độ phân giải không gian về kích thước gốc $H \times W$.

[Input: 3 x H x W] 
       │
       ▼
 [Encoder: ResNet-34] ──(Skip Connection 1: Low-level Spatial)──┐
       │                                                         │
       ▼                                                         │
  [Bottleneck]                                                   ▼
       │                                            [Decoder: Transpose Conv]
       └───────────────────────────────────────────► [Feature Concatenation]
                                                                 │
                                                                 ▼
                                                    [Output Mask: 1 x H x W]

Technology Stack

  • Ngôn ngữ lập trình: Python 3.10
  • Framework Học sâu: PyTorch 2.1.2, Torchvision 0.16.2
  • Thư viện xử lý ảnh: OpenCV 4.8.1, Albumentations 1.3.1
  • Công cụ gán nhãn dữ liệu: Labelme 5.3.1 (xuất định dạng đa giác JSON sang Binary PNG Mask)
  • Hạ tầng huấn luyện: NVIDIA RTX A5000 24GB VRAM, CUDA 12.1, cuDNN 8.9

Methodology

Quy trình phát triển tuân thủ phương pháp luận nghiên cứu thực nghiệm lặp (Iterative Experimental Methodology):

  1. Thu thập dữ liệu thực địa: Thực hiện qua 3 lứa nuôi tằm liên tiếp (tháng 03/2024 đến tháng 07/2024) tại các nhà tằm tiêu chuẩn ở Bảo Lộc. Thiết bị thu thập là cảm biến quang học góc nhìn thẳng đứng ($90^\circ$), tiêu cự cố định, độ phân giải gốc $1920 \times 2560$.
  2. Chuẩn hóa quy trình gán nhãn: Thiết lập Guideline nhận diện dựa trên 4 biểu hiện bệnh học: Thân teo tóp/vàng bóng (Virus), thối đen/rỉ dịch (Vi khuẩn), xuất hiện khuẩn ty mốc (Nấm), đốm đen cơ học (Ruồi ký sinh).
  3. Đo lường mức độ đồng thuận gán nhãn: Đánh giá qua chỉ số Cohen's Kappa ($k$): $$k = \frac{p_o - p_e}{1 - p_e}$$ Hệ số $k$ giữa hai chuyên gia gán nhãn đạt mức $0.85+$, đảm bảo tính khách quan và giảm thiểu độ nhiễu nhãn ở ranh giới đối tượng.

Implementation và kết quả

Development process

Quá trình tiền xử lý và tăng cường dữ liệu (Data Augmentation) được thiết kế đặc thù để mô hình hóa các biến động ánh sáng và góc chụp trong trang trại:

import albumentations as A
from albumentations.pytorch import ToTensorV2

# Pipeline tăng cường dữ liệu chuyên sâu cho dataset silkBLC
train_transform = A.Compose([
    A.Resize(512, 512),
    A.HorizontalFlip(p=0.5),
    A.VerticalFlip(p=0.5),
    A.RandomRotate90(p=0.5),
    A.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2, hue=0.1, p=0.4),
    A.ShiftScaleRotate(shift_limit=0.0625, scale_limit=0.1, rotate_limit=45, p=0.5),
    A.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
    ToTensorV2()
])

Dữ liệu sau tăng cường mở rộng từ 4.000 ảnh gốc lên 5.120 ảnh huấn luyện chất lượng cao, phân bổ thành:

  • Train Set: 3.800 ảnh (~11.400 cá thể bệnh, ~76.000 cá thể khỏe)
  • Validation Set: 100 ảnh
  • Test Set: 100 ảnh

Hàm mất mát kết hợp (BCE + Dice Loss)

Do diện tích vùng tằm bệnh (foreground) chiếm tỷ lệ nhỏ hơn rất nhiều so với diện tích nền lá dâu (background), hiện tượng mất cân bằng lớp (class imbalance) được giải quyết bằng hàm mất mát hỗn hợp:

$$\mathcal{L}{total} = \alpha \mathcal{L}{BCE} + (1 - \alpha) \mathcal{L}_{Dice}$$

Trong đó: $$\mathcal{L}{BCE} = -\frac{1}{N} \sum{i=1}^{N} \left[ y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i) \right]$$

$$\mathcal{L}{Dice} = 1 - \frac{2 \sum{i=1}^{N} y_i \hat{y}i + \epsilon}{\sum{i=1}^{N} y_i + \sum_{i=1}^{N} \hat{y}_i + \epsilon}$$

import torch
import torch.nn as nn

class CombinedBCEDiceLoss(nn.Module):
    def __init__(self, alpha=0.5, smooth=1e-6):
        super(CombinedBCEDiceLoss, self).__init__()
        self.alpha = alpha
        self.smooth = smooth
        self.bce = nn.BCEWithLogitsLoss()

    def forward(self, logits, targets):
        bce_loss = self.bce(logits, targets)
        
        probs = torch.sigmoid(logits)
        probs = probs.view(-1)
        targets = targets.view(-1)
        
        intersection = (probs * targets).sum()
        dice_loss = 1 - (2. * intersection + self.smooth) / (probs.sum() + targets.sum() + self.smooth)
        
        return self.alpha * bce_loss + (1 - self.alpha) * dice_loss

Testing và validation

Hiệu năng các mô hình được đánh giá toàn diện trên tập kiểm thử độc lập (Test Set) gồm 100 ảnh độ khó cao:

Mô hình (Architecture + Backbone) Pixel Accuracy IoU (Jaccard Index) Dice (F1-Score) Precision Recall
FCN-8s (VGG16) 0.8641 0.7412 0.7930 0.8120 0.7748
PSPNet (ResNet50) 0.8915 0.8134 0.8521 0.8640 0.8405
DeepLabV3+ (MobileNetV2) 0.9023 0.8356 0.8710 0.8812 0.8610
YOLOv8x-seg 0.9140 0.8670 0.8945 0.9015 0.8876
U-Net (ResNet-34) [Đề xuất] 0.9412 0.8920 0.9292 0.9310 0.9275

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

Mô hình U-Net kết hợp ResNet-34 cho thấy sự vượt trội rõ rệt nhờ việc duy trì được các chi tiết không gian sắc nét thông qua các đường truyền tắt (Skip Connections) trực tiếp từ encoder sang decoder.

[Ảnh gốc đầu vào (Input RGB)] 
       │ 
       ▼ 
[Trích xuất đa tầng ResNet34] 
       │ 
       ▼ 
[Khôi phục Transpose Conv + Skip Connections] 
       │ 
       ▼ 
[Mặt nạ nhị phân đầu ra (Output Mask: Đỏ = Tằm bệnh, Nền = Giữ nguyên)]

Phân tích lỗi (Error Analysis)

  1. Lá dâu che khuất một phần (Occlusion): Khi cá thể bệnh bị lá dâu che lấp trên 60% thân, mô hình có xu hướng dự đoán phân mảnh (fragmented mask).
  2. Nhiễm bệnh giai đoạn sớm (Low Contrast): Màu da cá thể tằm mới nhiễm virus chưa biến đổi sang màu vàng đậm/nâu đen mà vẫn giữ ánh trắng ngà, dẫn đến lỗi False Negative ở một số rìa thân.

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

  1. Đóng góp bộ dữ liệu đặc thù đầu tiên tại Việt Nam (silkBLC): Cung cấp 4.000 ảnh gốc phân giải cao, giải quyết triệt để sự thiếu hụt dữ liệu thị giác máy tính trong phân ngành dâu tằm tơ.
  2. Chuyển đổi bài toán từ Bounding Box sang Pixel-level Segmentation: Khắc phục hoàn toàn hiện tượng chồng lấn (overlap collision) vốn làm tê liệt các giải pháp Object Detection khi tằm bò đè lên nhau trong điều kiện nuôi thực tế.
  3. Cải tiến kiến trúc linh hoạt: Tích hợp ResNet-34 backbone vào U-Net cùng hàm mất mát Hybrid BCE-Dice Loss, giúp tốc độ hội tụ nhanh hơn 35% so với U-Net nguyên bản (Standard U-Net with VGG) và đạt điểm F1/Dice vượt trội 0.9292.
  4. Hiệu quả thực tế định lượng: Giảm thiểu thời gian rà soát thủ công từ 45 phút/nong xuống dưới 1.5 giây/ảnh quét toàn cảnh, tạo tiền đề tự động hóa khâu nhặt tằm bằng cơ cấu chấp hành khí nén hoặc cánh tay robot Delta.

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

Kịch bản triển khai nông nghiệp thông minh (Smart Sericulture)

Hệ thống được thiết kế để tích hợp trực tiếp vào giàn khung camera trượt tự động trên các luống tằm:

[Camera IP 4K / USB Industrial] ──(RTSP Stream)──► [Edge Computing: Jetson Orin Nano]
                                                              │
                                                      (Inference Engine)
                                                              ▼
                                                   [Tọa độ pixel tằm bệnh]
                                                              │
                                                              ▼
                                               [Bộ điều khiển PLC / Giao diện Web GUI]

Kiến trúc phân tầng triển khai

+------------------------------------------------------------------------+
|                          TẦNG ỨNG DỤNG & GUI                           |
|       - Dashboard giám sát thời gian thực (FastAPI + React.js)         |
|       - Cảnh báo vị trí cá thể bệnh qua màn hình / Đèn Laser định vị   |
+------------------------------------------------------------------------+
                                   ▲
                                   │ (REST API / WebSocket)
+------------------------------------------------------------------------+
|                         TẦNG XỬ LÝ TRUNG TÂM                           |
|       - Deep Learning Inference (ONNX Runtime / TensorRT FP16)         |
|       - Pipeline tiền xử lý & Lọc nhiễu hình thái học (Morphology)     |
+------------------------------------------------------------------------+
                                   ▲
                                   │ (Video Stream / V4L2)
+------------------------------------------------------------------------+
|                          TẦNG THU THẬP VẬT LÝ                          |
|       - Cảm biến hình ảnh RGB gắn trên ray trượt 2 trục (X-Y)          |
|       - Hệ thống đèn LED chiếu sáng chuẩn hóa nhiệt độ màu 5000K       |
+------------------------------------------------------------------------+

Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit & ROI)

  • Chi phí đầu tư phần cứng ban đầu: ~15 – 25 triệu VNĐ (cho 1 bộ khung trượt + Camera góc rộng + NVIDIA Jetson Orin Nano).
  • Tiết kiệm chi phí vận hành: Một trang trại quy mô 50 hộp tằm/tháng tiết kiệm được 2 – 3 nhân công thời vụ nhặt tằm bệnh (tương đương 12 – 18 triệu VNĐ/tháng).
  • Thời gian hoàn vốn (Payback Period): Ước tính đạt điểm hòa vốn chỉ sau 2 đến 3 lứa nuôi nhờ giảm thiểu triệt để tỷ lệ thất thoát kén do lây nhiễm chéo.

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

Hạn chế tồn tại

  • Phụ thuộc điều kiện chiếu sáng cực đoan: Hiện tượng bóng đổ cục bộ từ giàn nuôi tầng trên có thể làm sai lệch độ nhận diện biên của vết hoại tử.
  • Tính toán tài nguyên: Mô hình kích thước lớn (~85MB) yêu cầu GPU rời hoặc bộ tăng tốc NPU để đạt tốc độ xử lý trên 30 FPS.

Hướng phát triển tiếp theo

  1. Phân loại đa nhãn (Multi-class Disease Segmentation): Mở rộng tập dữ liệu để phân tách cụ thể từng dòng bệnh lý (Grasserie, Flacherie, Muscardine, Pebrine) bằng việc bổ sung kênh ảnh quang phổ cận hồng ngoại (NIR).
  2. Nén mô hình (Model Quantization): Áp dụng kỹ thuật INT8 Quantization và Pruning để triển khai mượt mà trên vi xử lý siêu rẻ như Raspberry Pi 5 kết hợp Google Coral Edge TPU.
  3. Cơ cấu gắp tự động: Tích hợp giải thuật điều khiển nghịch lưu (Inverse Kinematics) kết nối hệ thống hút chân không để loại bỏ cá thể bệnh hoàn toàn tự động.

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

  • Sinh viên & Kỹ sư Khoa học Dữ liệu: Nguồn tài liệu thực tế toàn diện về ứng dụng Computer Vision giải quyết bài toán mất cân bằng lớp và phân đoạn đối tượng mật độ cao.
  • Nhà phát triển giải pháp IoT Nông nghiệp: Tham khảo kiến trúc triển khai Edge-to-Cloud và tối ưu hóa đường ống xử lý ảnh công nghiệp.
  • Chủ hộ & Hợp tác xã nuôi tằm: Công cụ hỗ trợ ra quyết định kịp thời, bảo vệ chất lượng kén và tối ưu hóa lợi nhuận kinh tế.
  • Nhà nghiên cứu Sinh học / Tằm tang: Cung cấp phương pháp định lượng số liệu trực quan về mức độ phát tán dịch bệnh trong các thực nghiệm giống tằm mới.

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

1. Yêu cầu cấu hình tối thiểu để triển khai mô hình là gì?

Hệ thống yêu cầu tối thiểu CPU Intel Core i5 thế hệ 10 (hoặc AMD Ryzen 5 tương đương), RAM 8GB và GPU NVIDIA GTX 1650 (4GB VRAM) cho quá trình suy luận đạt tốc độ 15 FPS ở độ phân giải $512 \times 512$. Đối với thiết bị nhúng tại chuồng nuôi, khuyến nghị sử dụng NVIDIA Jetson Orin Nano (8GB) chạy môi trường TensorRT FP16.

2. Mô hình xử lý hiện tượng tằm bò đè lên nhau (High Density Overlap) như thế nào?

Khác với Object Detection sử dụng Bounding Box dễ bị trùng tọa độ IoU lớn, phương pháp Semantic Segmentation ánh xạ nhãn trên từng pixel độc lập. Khi kết hợp với các lớp Skip Connection trong U-Net, mạng nơ-ron nhận diện được các đặc trưng vi biên (micro-edges) và độ tương phản kết cấu bề mặt giữa các cá thể, giúp khoanh vùng đúng phần thân bị bệnh mà không bị nhầm lẫn với cá thể khỏe mạnh bên dưới.

3. Hệ thống có thể tích hợp với các giải pháp phần mềm quản lý trang trại có sẵn không?

Có. Mô hình được đóng gói dưới dạng Docker Container cung cấp giao diện RESTful API thông qua FastAPI. Bất kỳ hệ thống ERP nông nghiệp hoặc ứng dụng di động nào cũng có thể gửi ảnh chụp qua HTTP POST request và nhận về kết quả tọa độ/mặt nạ phân đoạn dưới định dạng JSON Base64 trong vòng dưới 200ms.

4. Quy trình bảo trì và cập nhật mô hình khi môi trường chuồng trại thay đổi ra sao?

Khi trang trại thay đổi cấu trúc khay nuôi hoặc giống tằm mới, hệ thống áp dụng kỹ thuật Active Learning: Chỉ cần chụp thêm khoảng 200 – 300 ảnh thực tế mới, tiến hành tinh chỉnh (Fine-tuning) trong 20 – 30 epochs trên nền trọng số cũ của U-Net+ResNet34 mà không cần huấn luyện lại từ đầu.

5. Chi phí đầu tư trọn gói cho một cơ sở nuôi tằm vừa và nhỏ là bao nhiêu?

Tổng chi phí ước tính dao động từ 18 đến 30 triệu VNĐ, bao gồm thiết bị tính toán nhúng Edge AI (12 triệu), cảm biến Camera công nghiệp kèm ống kính chống bụi (4 - 8 triệu), và hệ thống giá treo chiếu sáng chuẩn hóa (2 - 5 triệu). Hệ thống có độ bền phần cứng trên 3 năm trong môi trường nông nghiệp tiêu chuẩn.


Kết luận

Đồ án tốt nghiệp "Phát hiện tằm bệnh sử dụng học sâu và công nghệ thị giác máy tính" đã giải quyết thành công điểm nghẽn nghiêm trọng trong quy trình sản xuất tơ lụa truyền thống. Bằng việc xây dựng bộ dữ liệu chuẩn hóa silkBLC và triển khai mô hình U-Net kết hợp ResNet-34 đạt hiệu năng F1-Score/Dice 0.9292, nghiên cứu đã chứng minh tính khả thi vượt trội của Deep Learning trong việc tự động hóa giám sát nông nghiệp công nghệ cao. Công trình không chỉ mang giá trị học thuật thực nghiệm vững chắc mà còn trực tiếp mở ra hướng tiếp cận kinh tế hiệu quả, góp phần hiện đại hóa ngành dâu tằm tơ Việt Nam trên trường quốc tế.