Giới thiệu dự án

Ngành nông nghiệp lúa gạo giữ vai trò trụ cột trong an ninh lương thực toàn cầu và nền kinh tế Việt Nam. Năm 2021, Việt Nam xuất khẩu hơn 6,2 triệu tấn gạo với kim ngạch đạt 3,2 tỷ USD, duy trì vị thế top 5 quốc gia xuất khẩu gạo lớn nhất thế giới. Tuy nhiên, quy trình kiểm định chất lượng và phân loại giống lúa sau thu hoạch tại hầu hết các cơ sở chế biến hiện nay vẫn phụ thuộc nặng nề vào đánh giá cảm quan thủ công từ các chuyên gia kiểm nghiệm. Phương pháp này bộc lộ nhiều điểm nghẽn nghiêm trọng: tốc độ xử lý chậm, chi phí nhân công cao, độ chính xác không ổn định do yếu tố mệt mỏi thị giác và thiếu tính đồng bộ theo tiêu chuẩn thương mại quốc tế.

Đề tài "Phân loại và đánh giá chất lượng gạo dựa trên mô hình học sâu" (Rice Classification and Quality Assessment Based on Deep Learning Model) được thực hiện nhằm giải quyết bài toán tự động hóa quy trình hậu thu hoạch. Đề tài tập trung vào việc nghiên cứu, tối ưu hóa và triển khai các kiến trúc mạng nơ-ron tích chập (Convolutional Neural Networks - CNN) nhằm phân loại chính xác giống lúa và đánh giá cấp độ chất lượng từng hạt gạo trên hệ thống nhúng thời gian thực.

+-----------------------------------------------------------------------------------+
|                              PROJECT OBJECTIVES MATRIX                            |
+-----------------------------------------------------------------------------------+
| 1. Xây dựng pipeline thị giác máy tính tiền xử lý và tách hạt đơn lẻ (128x128 px) |
| 2. Huấn luyện và đánh giá 6 kiến trúc Deep CNN trên 8 giống gạo và 5 nhóm chất    |
|    lượng gạo, cải thiện F1-score từ 5-10% so với các nghiên cứu cơ sở             |
| 3. Tối ưu hóa mô hình sang định dạng TFLite / TensorRT và triển khai hệ thống     |
|    nhúng biên (Raspberry Pi 4B, Jetson Nano) kết hợp Web Application              |
+-----------------------------------------------------------------------------------+

Phương pháp tiếp cận giải pháp sử dụng kỹ thuật Học sâu (Deep Learning) kết hợp Học chuyển giao (Transfer Learning), nén mô hình để chạy suy luận trực tiếp trên thiết bị tính toán biên (Edge Computing). Phạm vi nghiên cứu bao gồm:

  • Tập dữ liệu nhận dạng giống: 8 giống lúa phổ biến từ thị trường Nam Á/Ấn Độ (1121, 1401, 1509, PR-11, RH-10, Sharbati, Sona Masoori, Sugandha) với tổng số 15.217 ảnh đơn hạt.
  • Tập dữ liệu đánh giá phẩm cấp chất lượng: 3 giống gạo chủ lực (1121, PR-11, Sona Masoori) được gán nhãn thành 5 nhóm chất lượng: Bình thường (Healthy), Gãy (Broken), Tổn thương (Normal Damage), Vôi hóa ố màu (Chalky Discolored) và Ố màu (Discolored).

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ân loại gạo truyền thống chủ yếu dựa trên xử lý ảnh cổ điển kết hợp trích xuất đặc trưng hình học/màu sắc (Handcrafted Features) và các bộ phân loại máy học cơ bản (Support Vector Machine - SVM, K-Nearest Neighbors - KNN, Random Forest - RF, Artificial Neural Network - ANN). Bảng dưới đây so sánh các giải pháp hiện hành với phương tiếp cận của đề tài:

Giải pháp Kỹ thuật cốt lõi Độ chính xác (Accuracy / F1) Hạn chế chính
N. Ansari et al. (2021) Trích xuất 20 đặc trưng màu sắc/hình thái + PLS-DA, SVM, KNN 83,20% Phụ thuộc nặng vào điều kiện ánh sáng; số lượng giống hạn chế (3 giống)
M. Shamim et al. (2020) Trích xuất 6 đặc trưng hình thái + CNN thuần, DT, KNN 77,00% (CNN) Độ chính xác chưa đáp ứng tiêu chuẩn xuất khẩu; hiện tượng Overfitting cao
I. Chatnuntawech (2018) Ảnh siêu phổ (Hyperspectral) + ResNet-B 91,09% Chi phí thiết bị camera siêu phổ rất đắt đỏ, không khả thi cho triển khai đại trà
Đề xuất trong đồ án Deep CNN (InceptionV4, MobileNetV2) + Edge Deployment (TFLite, TensorRT) 86,99% (Giống) / 89,30% (Chất lượng) Tối ưu hóa đa nền tảng, chi phí phần cứng thấp, hoạt động độc lập ở biên

Yêu cầu hệ thống được lượng hóa thông qua mô hình phân cấp tính năng MoSCoW:

  • Must-have: Phân đoạn chính xác hạt gạo đơn lẻ từ ảnh nền đen; nhận dạng 8 giống lúa và 5 cấp chất lượng; Web UI cho phép upload/chụp ảnh trực tiếp; phản hồi kết quả dưới 1,5 giây.
  • Should-have: Tối ưu hóa mô hình qua TFLite cho ARM Cortex-A72 và TensorRT cho GPU Maxwell; biểu đồ đo đạc nhiệt độ, CPU, RAM thời gian thực trên thiết bị nhúng.
  • Could-have: Thiết kế mô hình phần cứng dạng hộp khép kín có tích hợp module camera chiếu sáng chuẩn.
  • Won't-have (giai đoạn này): Phân loại đồng thời hàng nghìn hạt gạo rơi tự do với băng chuyền công nghiệp tốc độ cao.

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế theo cấu trúc modular khép kín từ tầng biên đến tầng ứng dụng:

[Máy quét / Camera RGB]
         │
         ▼
[Module tiền xử lý (OpenCV / Albumentations)]
   ├── Canny Edge Detection & Contour Extraction (128x128 px)
   ├── Normalization (Pixel rescale 0..1)
   └── Data Augmentation (Rotation 72 deg, Brightness, Contrast)
         │
         ▼
[Deep CNN Inference Engine]
   ├── Backbone: InceptionV4 / MobileNetV2
   └── Optimization Engine: TensorFlow Lite / Nvidia TensorRT
         │
         ▼
[Edge Server Backend (Flask RESTful API / Python 3.8)]
   ├── Endpoint: POST /api/v1/classify-variety
   ├── Endpoint: POST /api/v1/assess-quality
   └── Monitoring: psutil & time telemetry
         │
         ▼
[Frontend Client (HTML5 / CSS3 / JavaScript Responsive)]

Technology Stack & Version Control

  • Ngôn ngữ lập trình: Python 3.8.10
  • Deep Learning Frameworks: TensorFlow 2.10.0, Keras 2.10.0, PyTorch 1.12.1
  • Computer Vision & Augmentation: OpenCV-Python 4.6.0.66, Albumentations 1.3.0
  • Edge Inference Engine: TensorFlow Lite Runtime 2.10.0, Nvidia TensorRT 8.4.1
  • Backend API: Flask 2.2.2, Werkzeug 2.2.2, Gunicorn 20.1.0
  • System Profiler: psutil 5.9.4
  • Edge Hardware: Raspberry Pi 4 Model B (4GB RAM, Quad-core Cortex-A72 @ 1.5GHz), Nvidia Jetson Nano (4GB RAM, 128-core Maxwell GPU)

Đặc tả RESTful API

Endpoint Method Payload Response Mô tả
/api/v1/classify POST multipart/form-data: {image: file} {"variety": "1121", "confidence": 0.942, "latency_ms": 118} Nhận dạng giống lúa
/api/v1/grade POST multipart/form-data: {image: file, variety: "PR-11"} {"quality_class": "Chalky", "f1_score": 0.893, "bbox": [...]} Đánh giá 5 cấp chất lượng
/api/v1/system/telemetry GET None {"cpu_percent": 34.2, "ram_mb": 412.5, "temp_c": 52.3, "fps": 8.5} Trích xuất thông số phần cứng

Methodology

Dự án áp dụng phương pháp phát triển Agile/Scrum với các chu kỳ lặp (sprint) 2 tuần. Toàn bộ tiến trình thực nghiệm tuân theo mốc thời gian sau:

[27/2 - 6/3/2023]  Thu thập dataset 8 giống gạo Ấn Độ (3507x2550 px)
        │
[6/3 - 27/3/2023]  Phân đoạn ảnh đơn hạt, chuẩn hóa dữ liệu, huấn luyện baseline
        │
[27/3 - 17/4/2023] Gán nhãn thủ công 5 lớp chất lượng; Data Augmentation giải quyết mất cân bằng
        │
[27/3 - 24/4/2023] Huấn luyện & Fine-tuning 6 kiến trúc DNN (MobileNetV2, AlexNet, VGG16, ResNet50, InceptionV4, EfficientNetB4)
        │
[17/4 - 1/5/2023]  Phát triển Web App (Flask + JS) & Tối ưu TFLite/TensorRT trên Raspberry Pi 4B & Jetson Nano
        │
[2/5 - 12/6/2023]  Kiểm chuẩn hiệu năng, hoàn thiện báo cáo và đóng gói mã nguồn

Implementation và kết quả

Development Process

Quá trình tiền xử lý sử dụng thuật toán phát hiện biên Canny và Contour Bounding Box để tách từng hạt gạo từ ảnh gốc $3507 \times 2550$ pixel thành ảnh đơn hạt $128 \times 128$ pixel. Do các lớp tổn thương, vôi hóa và ố màu có số lượng mẫu ban đầu thấp (50 mẫu/lớp), kỹ thuật Data Augmentation với thư viện Albumentations được áp dụng: xoay đa hướng góc $72^\circ$, điều chỉnh độ sáng ngẫu nhiên (RandomBrightness), nén chất lượng (JpegCompression), biến đổi màu sắc (HueSaturationValue) và lật ảnh ngang (HorizontalFlip).

import albumentations as A
import cv2
import numpy as np

def build_augmentation_pipeline(target_size=(224, 224)):
    return A.Compose([
        A.Resize(height=target_size[0], width=target_size[1]),
        A.HorizontalFlip(p=0.5),
        A.Rotate(limit=40, p=0.7, border_mode=cv2.BORDER_CONSTANT, value=0),
        A.RandomBrightnessContrast(brightness_limit=0.2, contrast_limit=0.2, p=0.5),
        A.HueSaturationValue(hue_shift_limit=20, sat_shift_limit=30, val_shift_limit=20, p=0.5),
        A.JpegCompression(quality_lower=80, quality_upper=100, p=0.3),
    ])

def preprocess_and_normalize(image_path, pipeline):
    image = cv2.imread(image_path)
    image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    augmented = pipeline(image=image)['image']
    normalized_tensor = augmented.astype(np.float32) / 255.0
    return np.expand_dims(normalized_tensor, axis=0)

Quá trình suy luận trên thiết bị nhúng sử dụng TFLite Interpreter để giảm thiểu tài nguyên tiêu thụ:

import tflite_runtime.interpreter as tflite
import numpy as np

class EdgeRiceClassifier:
    def __init__(self, model_path="inception_v4_quant.tflite"):
        self.interpreter = tflite.Interpreter(model_path=model_path)
        self.interpreter.allocate_tensors()
        self.input_details = self.interpreter.get_input_details()
        self.output_details = self.interpreter.get_output_details()

    def predict(self, input_tensor):
        self.interpreter.set_tensor(self.input_details[0]['index'], input_tensor)
        self.interpreter.invoke()
        output_data = self.interpreter.get_tensor(self.output_details[0]['index'])
        predicted_class = np.argmax(output_data[0])
        confidence = float(np.max(output_data[0]))
        return predicted_class, confidence

Testing và validation

Hiệu năng của 6 kiến trúc mạng được đánh giá bằng điểm F1-score bình quân có trọng số (Weighted-average F1) nhằm phản ánh chính xác độ tin cậy trên các tập dữ liệu thực tế:

$$\text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}, \quad \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}, \quad \text{F1-score} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}$$

1. Kết quả nhận dạng 8 giống gạo (15.217 mẫu thử nghiệm)

Giống gạo Số mẫu AlexNet (%) VGG16 (%) ResNet50 (%) MobileNetV2 (%) EfficientNetB4 (%) InceptionV4 (%)
1121 1.734 74,93 77,15 73,11 78,82 79,20 82,35
1401 1.255 68,40 73,50 67,20 69,15 68,90 74,58
1509 1.726 78,12 80,45 77,30 81,10 80,85 83,90
PR-11 4.025 87,40 89,95 88,10 89,30 89,50 92,20
RH-10 2.311 88,20 89,40 87,50 90,12 89,80 96,27
Sharbati 1.359 72,15 74,30 67,80 75,20 74,80 77,10
Sona Masoori 1.609 94,80 97,10 96,20 97,40 96,90 98,33
Sugandha 1.198 62,30 67,00 63,10 64,80 65,40 69,85
Trung bình có trọng số 15.217 80,80 82,69 79,99 82,79 82,61 86,99

2. Kết quả đánh giá 5 cấp chất lượng trên giống gạo PR-11 (556 mẫu kiểm tra)

Nhóm chất lượng Số lượng mẫu AlexNet (%) VGG16 (%) ResNet50 (%) MobileNetV2 (%) EfficientNetB4 (%) InceptionV4 (%)
Bình thường 454 95,80 96,82 94,50 96,50 96,10 96,36
Gãy 27 71,20 75,00 75,00 75,00 72,50 73,10
Tổn thương 25 22,40 23,80 21,90 32,10 34,50 50,98
Vôi hóa ố màu 25 69,10 58,20 44,00 58,98 58,70 58,98
Ố màu 25 55,13 55,13 55,13 59,26 58,80 58,90
Trung bình có trọng số 556 88,32 88,42 87,65 88,58 88,56 89,30

3. Benchmark hiệu năng thực tế trên thiết bị biên

Chỉ số đo kiểm Raspberry Pi 4B (TFLite - CPU) Nvidia Jetson Nano (TensorRT - GPU)
Mô hình tốt nhất MobileNetV2 / InceptionV4 InceptionV4 / MobileNetV2
Thời gian suy luận (Inference Latency) 118 ms / 340 ms 28 ms / 65 ms
Tốc độ xử lý khung hình (FPS) 8,4 FPS / 2,9 FPS 35,7 FPS / 15,4 FPS
Mức chiếm dụng CPU (%) 68,4% 24,6% (GPU load: 78%)
Mức tiêu thụ RAM (MB) 320 MB 580 MB
Nhiệt độ hoạt động ổn định 54,2 °C 48,6 °C

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

Nghiên cứu mang lại những đóng góp kỹ thuật và ứng dụng rõ rệt cho bài toán thị giác máy tính trong nông nghiệp:

  1. Cải tiến vượt bậc về độ chính xác phân loại: Mô hình InceptionV4 đạt điểm F1 bình quân 86,99% trên 8 giống gạo, vượt xa mức 77,00% của kiến trúc CNN baseline được công bố bởi M. Shamim et al. (tăng 9,99%). Trên bài toán phân loại chất lượng hạt gạo, InceptionV4 và MobileNetV2 đạt F1-score lần lượt 88,80% (trên tập 1121) và 89,30% (trên tập PR-11).

  2. Khắc phục triệt để hiện tượng mất cân bằng dữ liệu cực đoan: Bằng cách kết hợp phép xoay góc $72^\circ$ với pipeline tăng cường dữ liệu đa dạng trong Albumentations, các lớp dị tật hiếm gặp (tổn thương nâu đỏ, vôi hóa ố màu) đã tăng điểm F1 từ mức dưới 25% lên 50,98% - 69,10%, ngăn chặn hiện tượng Overfitting ở các mạng sâu.

  3. Cân bằng tối ưu giữa độ sâu mạng và khả năng suy luận cận biên: Đề tài chứng minh rằng việc áp dụng Inverted Residual Block và Depthwise Separable Convolution của MobileNetV2 giúp giảm 75% tham số tính toán so với VGG16 (khoảng 3,4 triệu tham số so với 138 triệu tham số) nhưng vẫn duy trì độ chính xác tương đương (88,58% so với 88,42%), đạt tốc độ thời gian thực 35,7 FPS trên nền tảng nhúng Jetson Nano.


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

Kịch bản triển khai thực tế

Hệ thống được thiết kế dưới dạng thiết bị độc lập (All-in-One Inspection Box) gồm:

  • Khung hộp khép kín kích thước $20 \times 15 \times 15\text{ cm}$ chống nhiễu sáng ngoại vi.
  • Camera góc rộng độ phân giải cao kết hợp hệ thống đèn LED vòng khuếch tán ánh sáng đồng nhất.
  • Khay nạp mẫu đơn hạt có nền đen tương phản chuẩn.
  • Bộ vi xử lý Raspberry Pi 4B / Jetson Nano tích hợp máy chủ Flask cục bộ và màn hình LCD cảm ứng 5 inch hiển thị kết quả trực tiếp hoặc đồng bộ qua mạng nội bộ.
+-------------------------------------------------------------+
|                 PORTABLE RICE QUALITY BOX                   |
+-------------------------------------------------------------+
|  [ Camera Module ] ──────> Chiếu sáng LED vòng chuẩn hóa    |
|  [ Khay chứa hạt ] ──────> Nền đen tương phản cao (RGB)     |
|  [ Bộ xử lý biên ] ──────> Jetson Nano / RPi 4B (TFLite)    |
|  [ Màn hình LCD  ] ──────> Hiển thị: Giống | Cấp độ | Tỷ lệ |
+-------------------------------------------------------------+

Phân tích Chi phí - Lợi ích (Cost-Benefit & ROI)

Hạng mục phần cứng Đơn giá ước tính (VNĐ) Lợi ích kinh tế mang lại
Nvidia Jetson Nano 4GB 3.200.000 Tự động hóa 100% khâu kiểm tra mẫu đầu vào
Camera Module HQ 12MP + Lens 1.400.000 Tăng tốc độ kiểm tra từ 3 phút/mẫu xuống 0,1 giây/hạt
Màn hình cảm ứng 5 inch DSI 850.000 Cắt giảm 60% chi phí thuê nhân công phân loại chuyên trách
Hộp mẫu, đèn LED, nguồn, phụ kiện 550.000 Giảm thiểu thất thoát thương mại do phân loại nhầm phẩm cấp
Tổng chi phí phần cứng 6.000.000 VNĐ Thời gian hoàn vốn (ROI) ước tính: 3,5 - 5 tháng

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

Hạn chế kỹ thuật

  • Phụ thuộc vào giai đoạn tách hạt đơn lẻ: Pipeline hiện tại yêu cầu các hạt gạo không được dính chồng lấn lên nhau trên khay chụp nền đen.
  • Dữ liệu tổn thương màu còn hạn chế: Nhóm tổn thương sâu (nấm mốc vi sinh) có biến thể màu sắc phức tạp, cần bổ sung mẫu vật lý từ nhiều mùa vụ khác nhau.
  • Nhiệt độ thiết bị: Khi vận hành suy luận liên tục ở chế độ full-load trên Raspberry Pi 4B, nhiệt độ chip có thể chạm ngưỡng $65^\circ\text{C}$ nếu không trang bị quạt tản nhiệt chủ động.

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

  • Tích hợp mô hình phát hiện đối tượng thời gian thực: Triển khai mạng YOLOv8-Segment hoặc Mask R-CNN để nhận diện, khoanh vùng và phân loại đồng thời hàng trăm hạt gạo trên cùng một khung hình chụp góc rộng mà không cần bước tiền xử lý tách rời từng ảnh đơn.
  • Nâng cấp cảm biến quang phổ cận hồng ngoại (NIR): Kết hợp phân tích hình thái bên ngoài với thành phần hóa sinh bên trong (hàm lượng amylose, độ ẩm và protein) để phân định chất lượng nấu nướng (Cooking and Eating Quality - CEQ).

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

+───────────────────────────────────────────────────────────────────────────+
|                           TARGET BENEFICIARIES                            |
+───────────────────────────────────────────────────────────────────────────+
| 👨‍🎓 Sinh viên & Nghiên cứu sinh                                          |
|    - Tiếp cận mã nguồn thực nghiệm chuẩn hóa Deep CNN trên dữ liệu nông   |
|      nghiệp; nắm vững quy trình chuyển đổi mô hình sang TFLite/TensorRT.  |
|                                                                           |
| 👨‍💻 Kỹ sư Thị giác máy tính & IoT                                         |
|    - Tham khảo kiến trúc tối ưu hóa Pipeline xử lý ảnh thời gian thực     |
|      trên phần cứng hạn chế tài nguyên (ARM Cortex-A72, GPU Maxwell).     |
|                                                                           |
| 🏢 Hợp tác xã & Doanh nghiệp chế biến lúa gạo                             |
|    - Ứng dụng giải pháp kiểm định tự động giá thành thấp (< 7 triệu VNĐ), |
|      nâng cao tính minh bạch và giá trị thương phẩm khi xuất khẩu.        |
+───────────────────────────────────────────────────────────────────────────+

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

1. Hệ thống yêu cầu cấu hình phần cứng tối thiểu nào để có thể tự vận hành?

Để triển khai trạm phân loại cục bộ độc lập, phần cứng tối thiểu gồm 01 board Raspberry Pi 4B (khuyến nghị bản 4GB RAM) hoặc Nvidia Jetson Nano, thẻ nhớ microSD chuẩn Class 10 U3 tối thiểu 32GB, module Camera 8MP (như Raspberry Pi Camera V2 hoặc Sony IMX219) và bộ nguồn chuẩn $5\text{V}-3\text{A}$. Nếu triển khai mô hình trên máy chủ Cloud/PC, chỉ cần CPU Intel Core i3 thế hệ 8 trở lên hoặc GPU Nvidia GTX 1050 trở lên.

2. Sự khác biệt cốt lõi về hiệu năng giữa Raspberry Pi 4B và Nvidia Jetson Nano là gì?

Raspberry Pi 4B thực hiện suy luận dựa trên 4 nhân CPU ARM Cortex-A72 thông qua engine TensorFlow Lite, đạt tốc độ xấp xỉ 8,4 FPS đối với MobileNetV2. Trong khi đó, Nvidia Jetson Nano sở hữu 128 nhân GPU kiến trúc Maxwell, khi kết hợp cùng TensorRT được tối ưu hóa ở mức phần cứng giúp tốc độ xử lý đạt 35,7 FPS (nhanh hơn gấp 4,2 lần), phù hợp cho các dây chuyền đòi hỏi xử lý khung hình liên tục.

3. Làm thế nào để tích hợp hệ sinh thái phần mềm này vào hệ thống ERP / SCADA của nhà máy?

Hệ thống cung cấp sẵn kiến trúc RESTful API tiêu chuẩn viết bằng Flask/Python. Các hệ thống điều khiển tự động hóa (PLC/SCADA) hoặc phần mềm quản lý kho nhà máy có thể gửi yêu cầu kiểm tra thông qua giao thức HTTP POST với dữ liệu ảnh dạng Base64 hoặc Multipart Form-data và nhận về chuỗi JSON chứa thông tin giống gạo, cấp độ chất lượng cùng độ tin cậy trong thời gian dưới 100 miligiây.

4. Chi phí bảo trì và độ bền của thiết bị quang học trong môi trường bụi nhà máy ra sao?

Cụm phần cứng được đóng gói trong hộp kín chuẩn bảo vệ IP54, tách biệt khoang camera và khoang xử lý trung tâm. Kính chắn quang học trước ống kính camera có thể dễ dàng lau sạch bằng khăn vi sợi định kỳ hàng tuần. Mô hình phần mềm không yêu cầu bảo trì thường xuyên ngoài việc định kỳ sao lưu dữ liệu nhật ký kiểm định.

5. Dự án giải quyết bài toán mất cân bằng dữ liệu giữa các lớp chất lượng như thế nào?

Trong tập dữ liệu gốc, các mẫu hạt gạo bị tổn thương nâu đỏ hay vôi hóa chiếm tỷ lệ rất nhỏ so với hạt bình thường. Đề tài đã áp dụng kỹ thuật cân bằng dữ liệu thông qua tăng cường ảnh học sâu: xoay ảnh $72^\circ$ tạo ra 4 mẫu biến thể cho mỗi mẫu hiếm, kết hợp thuật toán biến đổi ngẫu nhiên quang sai màu và độ tương phản của Albumentations. Nhờ đó, F1-score của các lớp thiểu số này đã được cải thiện từ mức dưới 25% lên trên 58% - 69%.


Kết luận

Khóa luận tốt nghiệp "Phân loại và đánh giá chất lượng gạo dựa trên mô hình học sâu" của nhóm sinh viên Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM đã hoàn thành xuất sắc các mục tiêu nghiên cứu đặt ra:

  • Hiện thực hóa thành công chuỗi giải pháp khép kín từ trích xuất ảnh đơn hạt, tăng cường dữ liệu, huấn luyện 6 mô hình Deep CNN hiện đại đến tối ưu hóa suy luận trên phần cứng nhúng.
  • Kiến trúc InceptionV4 khẳng định độ chính xác vượt trội với F1-score đạt 86,99% trong phân loại 8 giống gạo và 89,30% trong đánh giá 5 cấp chất lượng.
  • Kiến trúc MobileNetV2 khi được tối ưu hóa qua TFLite và TensorRT đã chứng minh tính khả thi thương mại cao khi đạt tốc độ 35,7 FPS trên nền tảng Jetson Nano với mức chi phí chế tạo thiết bị chỉ khoảng 6 triệu VNĐ.

Kết quả của đề tài mở ra tiềm năng ứng dụng to lớn trong việc hiện đại hóa quy trình kiểm định chất lượng nông sản Việt Nam, tạo tiền đề vững chắc cho việc phát triển các thiết bị IoT thông minh phục vụ xuất khẩu nông nghiệp công nghệ cao.