Giới thiệu dự án

Trong bối cảnh cuộc Cách mạng Công nghiệp 4.0, tự động hóa và trí tuệ nhân tạo (AI) đang trở thành động lực then chốt định hình lại nền nông nghiệp hiện đại (Smart Agriculture). Tại Việt Nam, ngành sản xuất và xuất khẩu nông sản đóng vai trò trụ cột trong nền kinh tế, tuy nhiên tỷ lệ tổn thất sau thu hoạch vẫn duy trì ở mức cao từ 20% đến 25% (theo thống kê của Tổ chức Lương thực và Nông nghiệp Liên Hợp Quốc - FAO). Một trong những nguyên nhân chính xuất phát từ khâu phân loại nông sản truyền thống phụ thuộc phần lớn vào lao động thủ công, dẫn đến năng suất thấp, độ chính xác không đồng đều, thiếu tính ổn định và chi phí vận hành cao.

Đề tài "Thiết Kế Và Thi Công Mô Hình Phân Loại Trái Cây Theo Chất Lượng" do sinh viên ngành Công nghệ Kỹ thuật Điện tử Viễn thông, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh thực hiện, dưới sự hướng dẫn của PGS.TS Trương Ngọc Sơn, tập trung giải quyết triệt để bài toán tự động hóa kiểm định chất lượng nông sản bằng thị giác máy tính và cơ điện tử.

                   +----------------------------------------------------+
                   |                 HỆ THỐNG PHÂN LOẠI                 |
                   |               TRÁI CÂY TỰ ĐỘNG AI                  |
                   +-------------------------+--------------------------+
                                             |
            +--------------------------------+-------------------------------+
            |                                                                |
+-----------v------------+                                       +-----------v------------+
|   THỊ GIÁC MÁY TÍNH    |                                       |   ĐIỀU KHIỂN & CƠ KHÍ  |
| - Camera W1 1080p      |                                       | - Arduino Nano CH340   |
| - Deep Learning YOLOv4 |                                       | - Cảm biến IR MH-IR01  |
| - Giao diện GUI PyQt5  |                                       | - Servo MG996R         |
| - Phân loại 3 lớp:     |                                       | - Băng chuyền DC &     |
|   Tươi, Hỏng, Khác     |                                       |   Relay Module 5V      |
+------------------------+                                       +------------------------+

Mục tiêu dự án

  1. Thu nhận và xử lý tín hiệu hình ảnh: Tích hợp Webcam 1080p thu thập dữ liệu luồng video thời gian thực từ băng chuyền, truyền tải trực tiếp về máy chủ xử lý trung tâm.
  2. Nhận dạng và phân loại thông minh: Triển khai mạng nơ-ron học sâu (Deep Learning) YOLOv4 với kiến trúc tối ưu hóa để phân loại chính xác 3 trạng thái: Trái đạt chuẩn (tươi), Trái hỏng (thối/dập nát)Trái khác loại.
  3. Điều khiển chấp hành thời gian thực: Xây dựng mạch điều khiển sử dụng vi điều khiển Arduino Nano kết hợp cảm biến hồng ngoại MH-IR01 và động cơ Servo MG996R để kích hoạt cơ cấu gạt trái cây chính xác vào các ngăn chứa tương ứng.
  4. Giám sát và quản lý dữ liệu trực quan: Phát triển ứng dụng máy tính (Desktop App) trên nền tảng PyQt5 cung cấp giao diện hiển thị video thời gian thực, điều khiển hệ thống và thống kê sản lượng phân loại.

Phạm vi và giới hạn đề tài

  • Phạm vi đối tượng: Kiểm tra và phân loại quả cà chua (đạt chuẩn, hư hỏng) và nhận biết các loại quả ngoại lai khác.
  • Môi trường hoạt động: Hệ thống yêu cầu điều kiện ánh sáng ổn định, hạn chế nhiễu quang học từ môi trường bên ngoài để đảm bảo độ chính xác nhận dạng.
  • Quy mô triển khai: Mô hình mẫu thực nghiệm (Prototype) kết hợp máy tính cá nhân (PC) xử lý AI và vi điều khiển giao tiếp qua cổng nối tiếp (UART/COM).

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

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

Hiện nay trên thị trường tồn tại ba phương thức phân loại nông sản chính:

Tiêu chí Phân loại thủ công Cảm biến quang học/Màu sắc Giải pháp YOLOv4 + Vi điều khiển
Độ chính xác 60% - 75% (giảm theo ca làm) 70% - 80% (dễ nhầm khi màu tương đồng) > 90% (ổn định theo thời gian)
Tốc độ xử lý Chậm (0.5 - 1 giây/quả) Nhanh (< 0.2 giây/quả) Thời gian thực (30 - 60 FPS)
Khả năng phân loại khuyết tật Nhận biết cảm quan, dễ bỏ sót vết thối nhỏ Chỉ phân biệt màu nền tổng thể Định vị chính xác vùng thối, đốm sâu
Chi phí đầu tư ban đầu Thấp Trung bình - Cao Tối ưu, linh hoạt nâng cấp phần mềm
Khả năng mở rộng (Scalability) Kém (phụ thuộc vào nhân sự) Cố định, khó thay đổi cấu hình Rất cao (chỉ cần tái huấn luyện mô hình)

Yêu cầu người dùng theo mô hình MoSCoW

  • Must have: Nhận dạng phân loại đúng 3 nhóm (Tươi, Hỏng, Khác loại); Kích hoạt Servo gạt đúng vị trí; Giao diện hiển thị đếm số lượng.
  • Should have: Dừng băng tải tức thời khi phát hiện quả ở vị trí kiểm tra; Hiển thị khung Bounding Box và Confidence Score trên GUI.
  • Could have: Tùy chỉnh ngưỡng tin cậy (Confidence Threshold) trực tiếp trên giao diện; Lưu lịch sử phân loại.
  • Won't have: Cân trọng lượng tự động tích hợp; Đồng bộ dữ liệu lên đám mây (Cloud Server) trong phiên bản hiện tại.

Thiết kế kiến trúc hệ thống

+-----------------------------------------------------------------------------+
|                               MÁY TÍNH XỬ LÝ                                |
|  +---------------------+   +---------------------+   +-------------------+  |
|  |  PyQt5 GUI Control  |<--| Darknet YOLOv4 Core |<--| OpenCV Video Feed |  |
|  |  (Display, Count)   |   | (Inference Engine)  |   | (Frame Capture)   |  |
|  +----------+----------+   +---------------------+   +---------^---------+  |
+-------------|--------------------------------------------------|------------+
              | COM Port (UART @ 9600 bps)                       | USB 2.0
+-------------v--------------------------------------------------|------------+
|  +----------+----------+   +---------------------+   +---------+---------+  |
|  | Vi điều khiển       |-->| Relay 5V Control    |-->| Băng tải 12V      |  |
|  | Arduino Nano CH340  |   +---------------------+   +-------------------+  |
|  | (ATmega328P)        |-->| 2x Servo MG996R     |-->| Thanh gạt trái cây|  |
|  |                     |<--| Cảm biến IR MH-IR01 |   | (Hỏng / Đạt)      |  |
|  +---------------------+   +---------------------+   +-------------------+  |
|                              PHẦN CỨNG HỆ THỐNG                             |
+-----------------------------------------------------------------------------+

Danh mục công nghệ và thông số kỹ thuật

  • Xử lý AI / Thị giác máy tính:
    • Mô hình: YOLOv4 (Darknet Framework, CSPDarknet53 Backbone, PANet, SPP).
    • Ngôn ngữ & Thư viện: Python 3.8, OpenCV 4.5+, PyQt5 v5.15, CUDA 11.2, cuDNN 8.1.
  • Khối điều khiển & Cảm biến phần cứng:
    • Vi điều khiển: Arduino Nano CH340 (Chipset ATmega328P, 16MHz Clock, 32KB Flash, 2KB SRAM).
    • Thu nhận hình ảnh: Webcam W1 1080p (Cảm biến 1/3" FullHD CMOS, Thấu kính f = 3.6mm, 30 FPS, Góc nhìn 110°).
    • Cơ cấu phân loại: Động cơ Servo MG996R (Bánh răng kim loại, Lực kéo 11 kg/cm tại 6V, Tốc độ xoay 0.14s/60°).
    • Khối phát hiện vị trí: Module cảm biến hồng ngoại MH-IR01 (Điện áp 3.3V - 5V, khoảng cách phát hiện 2cm - 30cm).
    • Bộ truyền động: Băng tải 10x60cm, Động cơ giảm tốc 12V DC, Module Relay kích mức thấp 5V, Mạch hạ áp LM7805 (cấp nguồn 5V ổn định).

Implementation và kết quả

Quy trình huấn luyện mô hình YOLOv4

  1. Thu thập dữ liệu: Thu thập tập dữ liệu gồm các mẫu quả cà chua tươi, cà chua thối/dập nát và các loại quả khác dưới nhiều góc quay và điều kiện ánh sáng.
  2. Gán nhãn (Annotation): Sử dụng công cụ LabelImg định dạng Pascal VOC / Darknet TXT, xác định tọa độ Bounding Box tương ứng với 3 class: fresh_tomato, rotten_tomato, other_fruit.
  3. Data Augmentation: Áp dụng cơ chế Bag of Freebies (BoF) tích hợp sẵn trong YOLOv4 gồm Mosaic Augmentation (ghép 4 ảnh ngẫu nhiên), CutMix và Random Affine Transformation để tăng tính khái quát hóa cho tập dữ liệu nhỏ.
                +------------------------------------------------+
                |     Loss Function tổng quát của mạng YOLOv4    |
                +-----------------------+------------------------+
                                        |
      +---------------------------------+--------------------------------+
      |                                 |                                |
+-----v---------------+       +---------v---------+            +---------v---------+
|  Localization Loss  |       |  Confidence Loss  |            |Classification Loss|
|    (CIoU Metric)    |       | (Object & No-Obj) |            | (Cross-Entropy /  |
|                     |       |                   |            | Label Smoothing)  |
+---------------------+       +-------------------+            +-------------------+

Hàm Loss tổng quát được tối ưu hóa qua từng Epoch:

$$L_{total} = L_{localization} + L_{confidence} + L_{classification}$$

Trong đó, sai số định vị vùng chọn (Localization Loss) áp dụng Complete IoU (CIoU) tính toán trực tiếp độ trùng khớp, khoảng cách tâm và tỷ lệ khung hình giữa Bounding Box dự đoán và Ground Truth.

Triển khai mã nguồn hệ thống

1. Xử lý suy luận AI và truyền thông Serial (Python / PyQt5)

Đoạn mã chịu trách nhiệm thu nhận khung hình từ camera, thực hiện tiền xử lý, đẩy qua mạng Darknet YOLOv4 và truyền tín hiệu điều khiển phân loại xuống Arduino qua giao thức UART:

import cv2
import serial
import time
from PyQt5.QtCore import QThread, pyqtSignal

class InferenceWorker(QThread):
    change_pixmap_signal = pyqtSignal(object)
    update_counts_signal = pyqtSignal(int, int, int) # fresh, rotten, other

    def __init__(self, port="COM3", baudrate=9600):
        super().__init__()
        self.ser = serial.Serial(port, baudrate, timeout=1)
        self.net = cv2.dnn.readNetFromDarknet("yolov4-obj.cfg", "yolov4-obj_best.weights")
        self.net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
        self.net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)
        self.classes = ["rotten_tomato", "fresh_tomato", "other_fruit"]
        self.counts = [0, 0, 0]
        self.running = True

    def run(self):
        cap = cv2.VideoCapture(0)
        while self.running and cap.isOpened():
            ret, frame = cap.read()
            if not ret:
                continue

            blob = cv2.dnn.blobFromImage(frame, 1/255.0, (416, 416), swapRB=True, crop=False)
            self.net.setInput(blob)
            layer_names = self.net.getUnconnectedOutLayersNames()
            layer_outputs = self.net.forward(layer_names)

            detected_class_id = -1
            highest_conf = 0.0

            for output in layer_outputs:
                for detection in output:
                    scores = detection[5:]
                    class_id = int(scores.argmax())
                    confidence = float(scores[class_id])
                    if confidence > 0.75 and confidence > highest_conf:
                        highest_conf = confidence
                        detected_class_id = class_id

            if detected_class_id != -1:
                # Gửi lệnh phân loại xuống Arduino: '0': Hỏng, '1': Đạt, '2': Khác
                command = f"{detected_class_id}\n"
                self.ser.write(command.encode('utf-8'))
                self.counts[detected_class_id] += 1
                self.update_counts_signal.emit(*self.counts)
                time.sleep(0.5) # Tránh gửi trùng lặp khung hình liên tục

            self.change_pixmap_signal.emit(frame)
        cap.release()

2. Điều khiển cơ cấu chấp hành (Arduino Firmware C++)

Chương trình nhận ký tự điều khiển từ máy tính và đọc trạng thái cảm biến tiệm cận hồng ngoại để kích hoạt cơ cấu gạt phân loại:

#include <Servo.h>

Servo servoHuu;   // Điều khiển gạt trái hỏng
Servo servoKhac;  // Điều khiển gạt trái khác loại

const int sensorPin = 2;   // Chân tín hiệu MH-IR01
const int relayConveyor = 4; // Chân điều khiển Relay băng tải

void setup() {
  Serial.begin(9600);
  servoHuu.attach(7);
  servoKhac.attach(8);
  servoHuu.write(0);
  servoKhac.write(0);
  pinMode(sensorPin, INPUT);
  pinMode(relayConveyor, OUTPUT);
  digitalWrite(relayConveyor, LOW); // Bật băng tải chạy
}

void loop() {
  if (Serial.available() > 0) {
    char decision = Serial.read();
    
    if (decision == '0') { // Trái hỏng
      delay(800); // Chờ trái cây di chuyển đến vị trí servo 1
      servoHuu.write(90);
      delay(600);
      servoHuu.write(0);
    } 
    else if (decision == '2') { // Trái khác loại
      delay(1500); // Chờ trái cây di chuyển đến vị trí servo 2
      servoKhac.write(90);
      delay(600);
      servoKhac.write(0);
    }
    // Trái đạt chuẩn ('1'): Không kích servo, để trôi về cuối băng tải
  }
}

Kết quả thử nghiệm và đánh giá thực tế

+-----------------------------------------------------------------------------+
|                 KẾT QUẢ ĐÁNH GIÁ MÔ HÌNH THỰC TẾ TRÊN 150 MẪU               |
|                                                                             |
|  Nhóm quả: CÀ CHUA HỎNG      Nhóm quả: CÀ CHUA TƯƠI    Nhóm: TRÁI KHÁC LOẠI |
|  +--------------------+      +--------------------+    +------------------+ |
|  | Số mẫu test: 50    |      | Số mẫu test: 50    |    | Số mẫu test: 50  | |
|  | Nhận diện đúng: 44 |      | Nhận diện đúng: 46 |    | Nhận diện đúng:47| |
|  | Độ chính xác: 88%  |      | Độ chính xác: 92%  |    | Độ chính xác: 94%| |
|  +--------------------+      +--------------------+    +------------------+ |
|                                                                             |
|  * Tỷ lệ nhận diện trung bình toàn hệ thống: 91.33%                         |
|  * Tốc độ đáp ứng cơ cấu gạt Servo: < 0.25 giây                             |
|  * Tốc độ suy luận (Inference Speed): 32 FPS (NVIDIA GPU) / 12 FPS (CPU)    |
+-----------------------------------------------------------------------------+

Độ chính xác phân loại tổng thể đạt 91.33%, đáp ứng tốt yêu cầu phân loại tự động trong môi trường thực nghiệm. Sai số phân loại xuất hiện chủ yếu ở các mẫu cà chua chỉ có vết thối nông ở mặt dưới bị che khuất khỏi góc quét của camera.


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

  1. Ứng dụng cấu trúc mạng CSPDarknet53 & PANet tiên tiến:
    • Việc sử dụng Cross Stage Partial Network (CSP) giảm 20% khối lượng tính toán so với Darknet-53 truyền thống bằng cách chia nhỏ Feature Map thành hai nhánh và ghép nối liên tục, giúp truyền dẫn Gradient hiệu quả hơn, loại bỏ hiện tượng biến mất Gradient (Vanishing Gradient).
    • Cải tiến khối PANet với phép nối chuỗi (Concatenation) thay vì phép cộng (Addition) giúp bảo toàn nguyên vẹn thông tin không gian từ tầng thấp đến tầng cao.
                    +--------------------------------+
                    |       CSPDarknet53 Layer       |
                    +---------------+----------------+
                                    |
                    +---------------+----------------+
                    | Split Feature Map into 2 Parts |
                    +-------+----------------+-------+
                            |                |
             +--------------v---+      +-----v---------------+
             | Dense Processing |      | Pass-through Branch |
             +--------------+---+      +-----+---------------+
                            |                |
                            +--------+-------+
                                     |
                         +-----------v----------+
                         | Feature Concatenation|
                         +----------------------+
  1. Kỹ thuật Bag of Specials (BoS) và Bag of Freebies (BoF):
    • Ứng dụng hàm kích hoạt Mish ($f(x) = x \cdot \tanh(\ln(1 + e^x))$) với đặc tính trơn, liên tục, cho phép thông tin Gradient thâm nhập sâu hơn so với hàm ReLU truyền thống.
    • Kỹ thuật lọc bỏ hộp trùng lặp DIoU-NMS tính toán trực tiếp khoảng cách Euclidean giữa tâm 2 Bounding Box, cải thiện độ chính xác định vị lên 8% trong các trường hợp quả nằm sát nhau trên băng chuyền.
  2. Tích hợp kiến trúc liên lạc phân tầng tối ưu:
    • Phân chia rõ ràng giữa tầng xử lý thuật toán nặng (Deep Learning trên Máy tính) và tầng điều khiển thời gian thực (Real-time I/O trên ATmega328P), đảm bảo tính ổn định cơ khí mà không đòi hỏi chi phí đầu tư các bộ điều khiển công nghiệp PLC đắt tiền.

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

Kịch bản ứng dụng trong thực tiễn

  • Cơ sở sơ chế và đóng gói nông sản quy mô vừa và nhỏ: Thay thế dây chuyền phân loại thủ công, nâng công suất phân loại lên 1.200 - 1.800 quả/giờ với độ ổn định 24/7.
  • Nhà máy sản xuất thực phẩm chế biến (Tương cà, Nước ép): Tự động loại bỏ hoàn toàn các quả hỏng, dập, thối trước khi đưa vào khâu nghiền ép, đảm bảo an toàn vệ sinh thực phẩm theo chuẩn HACCP và ISO 22000.
  • Hợp tác xã nông nghiệp công nghệ cao: Kiểm định chất lượng đồng đều trước khi đóng thùng xuất khẩu sang các thị trường khó tính (EU, Nhật Bản, Hoa Kỳ).
                      LỘ TRÌNH TRIỂN KHAI VÀ THƯƠNG MẠI HÓA
                      
Giai đoạn 1: Chuẩn hóa           Giai đoạn 2: Nâng cấp Edge AI    Giai đoạn 3: Tích hợp Công nghiệp
- Khung cơ khí nhôm định hình    - Chuyển sang NVIDIA Jetson      - Chuẩn truyền thông RS485/Modbus
- Hộp chiếu sáng khép kín 360°   - Bộ cấp phôi tự động tròn       - Băng tải công nghiệp kháng khuẩn
- Tối ưu bộ dữ liệu 10.000 mẫu   - Tích hợp cân điện tử Loadcell  - Đồng bộ SCADA / Dashboard Web
      |                                |                                |
      v                                v                                v
   Tháng 1 - 3                      Tháng 4 - 6                      Tháng 7 - 12

Ước tính chi phí và hiệu quả kinh tế (ROI)

  • Chi phí đầu tư phần cứng mô hình: ~4.500.000 VNĐ (gồm vi điều khiển, camera, module servo, băng chuyền, khung cơ khí mica/nhôm).
  • Hiệu quả kinh tế: Tiết kiệm chi phí thuê 2 nhân công phân loại thủ công (~15.000.000 VNĐ/tháng). Thời gian hoàn vốn dự kiến dưới 03 tháng khi ứng dụng ở quy mô sơ chế cơ sở.

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

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

  • Góc quan sát đơn hướng (Single Camera View): Camera chỉ quét được mặt trên của trái cây; nếu vết thối nằm hoàn toàn ở mặt đáy tiếp xúc với băng chuyền, hệ thống có thể phân loại sót.
  • Phụ thuộc điều kiện môi trường: Cường độ sáng thay đổi đột ngột có thể làm biến đổi giá trị RGB trên ảnh, làm giảm độ tin cậy của thuật toán phân lớp.
  • Xử lý trên máy tính để bàn: Chưa tích hợp thành hệ thống nhúng độc lập (Standalone Edge Device), phụ thuộc vào kết nối cáp USB với PC.

Hướng phát triển và mở rộng

  1. Thiết kế hệ thống camera đa góc hoặc gương phản xạ: Lắp đặt hệ thống 2 camera đối xứng hoặc buồng phản xạ gương 360 độ kết hợp cơ cấu xoay quả tự động để kiểm tra toàn bộ bề mặt.
  2. Triển khai trên máy tính nhúng chuyên dụng: Porting mô hình YOLOv4 sang định dạng TensorRT hoặc OpenVINO để chạy trực tiếp trên các module SoC như NVIDIA Jetson Orin Nano hoặc Raspberry Pi 4 (với Neural Compute Stick), giảm kích thước phần cứng.
  3. Bổ sung cảm biến đo thể tích và khối lượng: Tích hợp cảm biến Loadcell và thuật toán 3D Point Cloud để vừa phân loại chất lượng vừa phân hạng kích cỡ (Grade A, Grade B, Grade C).

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

+-----------------------------------------------------------------------------+
|                            ĐỐI TƯỢNG HƯỞNG LỢI                              |
+-----------------------------------------------------------------------------+
|  SINH VIÊN & NGHIÊN CỨU SINH                                                |
|  - Cung cấp mô hình tham khảo chuẩn về tích hợp Deep Learning và Vi điều    |
|    khiển trong Đồ án Tốt nghiệp.                                            |
|  - Tài liệu thực hành chi tiết về Darknet YOLOv4, PyQt5 và Arduino C++.     |
+-----------------------------------------------------------------------------+
|  KỸ SƯ PHẦN MỀM & NHÚNG (DEVELOPERS)                                        |
|  - Mã nguồn mẫu về xử lý đa luồng (Multi-threading) giữa OpenCV và PyQt5.  |
|  - Protocol giao tiếp UART hai chiều chống nghẽn tín hiệu I/O.              |
+-----------------------------------------------------------------------------+
|  DOANH NGHIỆP NÔNG NGHIỆP & CHỦ TRANG TRẠI                                  |
|  - Giải pháp tự động hóa chi phí thấp, tối ưu hóa lợi nhuận.                |
|  - Cắt giảm 70% chi phí nhân công kiểm định và hạn chế tỷ lệ sai sót.      |
+-----------------------------------------------------------------------------+

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

1. Yêu cầu cấu hình máy tính tối thiểu để chạy hệ thống phân loại là gì?

Hệ thống yêu cầu CPU tối thiểu Intel Core i5 thế hệ 8 hoặc tương đương, 8GB RAM. Để đạt hiệu năng thời gian thực trên 30 FPS, hệ thống khuyến nghị trang bị card đồ họa rời NVIDIA (từ GTX 1050Ti trở lên) có hỗ trợ CUDA Core và cuDNN để tăng tốc suy luận mạng nơ-ron.

2. Làm thế nào để mở rộng hệ thống cho các loại trái cây khác (cam, xoài, táo)?

Để phân loại loại quả mới, người dùng chỉ cần thực hiện 3 bước:

  • Thu thập thêm tập ảnh của loại quả mới (khoảng 300 - 500 ảnh/nhãn).
  • Gán nhãn Bounding Box tương ứng.
  • Thực hiện Transfer Learning trên nền tảng trọng số Pre-trained YOLOv4 trong khoảng 2.000 - 4.000 Iterations mà không cần lập trình lại hệ thống cơ khí hay mã nguồn Arduino.

3. Tại sao hệ thống sử dụng YOLOv4 thay vì các phiên bản nhẹ hơn như YOLOv4-Tiny?

YOLOv4 bản đầy đủ cung cấp kiến trúc CSPDarknet53 với độ sâu mạng lớn và các khối SPP/PANet, đảm bảo trích xuất chính xác các đặc trưng vi mô như vết thâm, đốm nấm nhỏ trên vỏ cà chua. YOLOv4-Tiny tuy có tốc độ khung hình cao hơn nhưng dễ bỏ sót các khiếm khuyết nhỏ trên bề mặt quả.

4. Hệ thống xử lý thế nào khi có nhiều trái cây nằm liền kề nhau trên băng chuyền?

Nhờ tích hợp thuật toán DIoU-NMS (Distance-IoU Non-Maximum Suppression), hệ thống phân tách hiệu quả các Bounding Box chồng lấn dựa trên khoảng cách giữa các tâm hộp giới hạn. Ngoài ra, cảm biến hồng ngoại MH-IR01 tại vị trí chụp ảnh sẽ gửi tín hiệu ngắt để dừng băng tải trong mili-giây, tách phôi đơn lẻ trước khi phân loại.

5. Chi phí bảo trì và thay thế linh kiện định kỳ bao gồm những gì?

Hệ thống sử dụng các linh kiện chuẩn công nghiệp phổ thông: Động cơ Servo MG996R bánh răng kim loại có độ bền > 50.000 chu kỳ gạt; Module cảm biến hồng ngoại MH-IR01 không tiếp xúc có tuổi thọ cao; Băng tải và Relay dễ dàng thay thế với chi phí dưới 100.000 VNĐ cho mỗi linh kiện đơn lẻ.


Kết luận

Đồ án tốt nghiệp "Thiết Kế Và Thi Công Mô Hình Phân Loại Trái Cây Theo Chất Lượng" của nhóm tác giả Trần Thanh Trung và Hồ Khánh Bình (Trường ĐH Sư phạm Kỹ thuật TP.HCM) đã chứng minh tính khả thi và hiệu quả vượt trội của việc kết hợp trí tuệ nhân tạo (YOLOv4), thị giác máy tính và hệ thống cơ điện tử trong giải quyết các bài toán nông nghiệp thực tiễn.

Hệ thống đạt tỷ lệ nhận dạng chính xác trung bình 91.33%, tốc độ xử lý thời gian thực, điều khiển cơ cấu phân loại linh hoạt và giao diện quản trị trực quan. Đây là tiền đề kỹ thuật vững chắc để tiếp tục phát triển các dây chuyền kiểm định chất lượng nông sản thông minh quy mô công nghiệp, góp phần thúc đẩy quá trình chuyển đổi số trong nông nghiệp Việt Nam.