Giới thiệu dự án
Theo thống kê từ Bộ Tài nguyên và Môi trường, mỗi ngày Việt Nam phát sinh hơn 60.000 tấn rác thải sinh hoạt, trong đó khu vực đô thị chiếm trên 60%. Tuy nhiên, tỷ lệ rác thải được phân loại đúng cách tại nguồn chỉ đạt dưới 15%, dẫn đến phần lớn rác bị chôn lấp trực tiếp, gây ô nhiễm đất, nguồn nước ngầm và phát thải khí nhà kính. Đề tài "Hệ thống quản lý và phân loại rác thải" được thực hiện bởi nhóm tác giả Đặng Thanh Duy và Trần Bình Nguyên, dưới sự hướng dẫn của ThS. Huỳnh Thị Thu Hiền tại Khoa Điện – Điện Tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM (06/2024), giải quyết triệt để bài toán tự động hóa quy trình phân loại rác tại nguồn thông qua sự kết hợp giữa Trí tuệ nhân tạo (AI) và Internet of Things (IoT).
KIẾN TRÚC TỔNG THỂ HỆ THỐNG
+-------------------+ +---------------------+ +-----------------------+
| KHỐI CẢM BIẾN | ----> | KHỐI ĐIỀU KHIỂN | ----> | KHỐI THỰC THI |
| HC-SR04, MQ Gas, | | ESP32 MCU | | Động cơ Servo 180°, |
| Camera USB 2.0 | | Raspberry Pi 5 Edge | | DFPlayer Mini + Loa 3W|
+-------------------+ +---------------------+ +-----------------------+
|
v
+---------------------+
| NỀN TẢNG CLOUD |
| Firebase Realtime |
| Web Dashboard React |
+---------------------+
Vấn đề thực tiễn và mục tiêu dự án
Việc phân loại rác thải thủ công tồn tại nhiều hạn chế: tốn kém chi phí nhân công, nguy cơ lây nhiễm mầm bệnh cho người thu gom và tỷ lệ phân loại sai sót cao. Các thùng rác truyền thống không có khả năng giám sát dung lượng chứa theo thời gian thực, dẫn đến tình trạng rác tràn ứ và bốc mùi hôi thối cục bộ.
Mục tiêu cụ thể của dự án:
- Phát hiện tiếp cận tự động: Nhận biết người dùng đến gần ở khoảng cách 30-50 cm để tự động mở nắp thùng rác chính, tạo trải nghiệm không chạm (contactless).
- Nhận diện và phân loại rác thải bằng Computer Vision: Sử dụng camera độ phân giải cao kết hợp mạng nơ-ron tích chập (Convolutional Neural Network - CNN) với mô hình YOLOv8 để phân biệt chính xác chai nhựa tái chế và các loại rác thải khác.
- Phân loại cơ khí tự động: Điều khiển hệ thống servo hai trục để chuyển rác vào đúng ngăn chứa quy định (ngăn chai nhựa hoặc ngăn rác tổng hợp).
- Giám sát trạng thái thông minh qua IoT: Theo dõi mức độ đầy của từng ngăn chứa bằng cảm biến siêu âm HC-SR04, cảnh báo khí gas bằng cảm biến MQ, và phát âm thanh hướng dẫn/cảnh báo qua module DFPlayer Mini kết hợp loa công suất 3W.
- Số hóa quy trình quản lý trên Web: Xây dựng nền tảng giám sát thời gian thực kết nối Firebase Realtime Database, cho phép nhân viên vận hành theo dõi tọa độ, dung tích chứa và điều khiển nguồn điện từ xa.
Phạm vi và giới hạn kỹ thuật
- Điều kiện ánh sáng & góc chụp: Hệ thống hoạt động tối ưu ở môi trường đủ sáng (300 - 800 Lux), camera chụp trực diện vật thể ở khoảng cách cố định 35 cm.
- Phân loại mục tiêu: Tập trung nhận diện lớp "Chai nhựa" (Plastic Bottle) phục vụ tái chế và gom toàn bộ các loại còn lại vào nhóm "Rác khác" (Other Waste).
- Môi trường triển khai: Tối ưu hóa cho các không gian kín và bán khép kín như phòng học, văn phòng làm việc, hành lang tòa nhà hoặc khu vực công cộng có mái che.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh |
Thùng rác truyền thống |
Thùng rác cảm biến tiệm cận |
Hệ thống Smart Bin (Đề tài đề xuất) |
| Cơ chế mở nắp |
Dùng tay hoặc đạp chân |
Cảm biến hồng ngoại/siêu âm |
Cảm biến siêu âm mở nắp không chạm |
| Khả năng phân loại |
Phụ thuộc 100% ý thức người dùng |
Không có |
Tự động bằng AI (YOLOv8 Object Detection) |
| Giám sát dung lượng |
Kiểm tra thủ công định kỳ |
Không có |
Giám sát Realtime qua IoT Cloud |
| Cảnh báo mùi/khí độc |
Không |
Không |
Cảm biến khí gas chuyên dụng |
| Tương tác người dùng |
Không |
Không |
Âm thanh giọng nói (DFPlayer Mini + Speaker) |
| Chi phí vận hành |
Cao (tốn nhân lực giám sát) |
Trung bình |
Tối ưu hóa lộ trình thu gom, tiết kiệm 40% chi phí |
Phương pháp xác định độ ưu tiên yêu cầu theo mô hình MoSCoW:
- Must-have (Bắt buộc): Nhận diện chai nhựa với độ chính xác >90%; tự động mở ngăn chứa rác tương ứng; cảnh báo rác đầy qua cảm biến HC-SR04; đồng bộ trạng thái lên Firebase.
- Should-have (Nên có): Phát âm thanh nhắc nhở qua loa; giao diện web theo dõi trực quan trạng thái bật/tắt của từng thùng rác.
- Could-have (Có thể có): Giám sát nồng độ khí gas phát sinh trong thùng rác; giao diện mô phỏng nhận diện thời gian thực trên desktop bằng Qt Designer.
- Won't-have (Chưa triển khai ở pha này): Phân loại tự động rác kim loại nặng và rác hữu cơ ướt phức tạp.
Thiết kế hệ thống
Hệ thống được thiết kế theo mô hình kiến trúc phân tầng kết hợp giữa Edge Computing (xử lý biên) và IoT Gateway.
+-------------------------------------------------------------+
| EDGE LAYER (Raspberry Pi 5) |
| - Camera USB 2.0 Input (Video Stream 640x480) |
| - YOLOv8 Inference Engine (Ultralytics / ONNX Runtime) |
| - Central Logic Controller & Serial/GPIO Manager |
+-------------------------------------------------------------+
|
UART / I2C Serial Communication
v
+-------------------------------------------------------------+
| HARDWARE CONTROL LAYER (ESP32) |
| - HC-SR04 Ultrasonic (Proximity & Waste Fill Level) |
| - Gas Sensor (Air Quality / Odor Detection) |
| - Dual Servo Motor Drivers (PWM Control 50Hz) |
| - DFPlayer Mini MP3 Audio Amplifier (UART Tx/Rx) |
+-------------------------------------------------------------+
|
HTTPS / WebSocket (WiFi)
v
+-------------------------------------------------------------+
| CLOUD & APPLICATION LAYER |
| - Google Firebase Realtime Database |
| - Responsive Web Dashboard (HTML5, CSS3, JavaScript/React) |
| - PySide / Qt Designer Desktop Simulation GUI |
+-------------------------------------------------------------+
Danh mục công nghệ và phiên bản phần mềm (Technology Stack)
- Bộ xử lý trung tâm: Máy tính nhúng Raspberry Pi 5 (8GB RAM) chạy hệ điều hành Raspberry Pi OS (64-bit).
- Bộ vi điều khiển ngoại vi: ESP32 NodeMCU LuaNode32 (38 chân, Dual-Core Tensilica LX6).
- Framework AI & Thị giác máy tính: Ultralytics YOLOv8 (v8.1.0), OpenCV (v4.8.1), PyTorch (v2.1.2).
- Môi trường lập trình & Công cụ: Python 3.10, PyCharm Professional, Visual Studio Code, Arduino IDE 2.3.0, Qt Designer 5.15.
- Cloud Backend & Cơ sở dữ liệu: Firebase Realtime Database (REST API / WebSocket).
Thiết kế cơ sở dữ liệu (Database Schema)
Hệ thống sử dụng cơ sở dữ liệu NoSQL JSON trên Firebase Realtime Database với cấu trúc tối ưu:
{
"smart_bins": {
"bin_zone_01": {
"system_status": {
"is_power_on": true,
"last_ping": "2026-08-20T16:30:00Z",
"ip_address": "192.168.1.105"
},
"compartments": {
"plastic": {
"capacity_percentage": 65,
"is_full": false,
"item_count": 42
},
"general": {
"capacity_percentage": 92,
"is_full": true,
"item_count": 118
}
},
"telemetry": {
"gas_concentration_ppm": 185,
"lid_cycle_count": 320,
"temperature_c": 31.4
}
}
}
}
Phương pháp nghiên cứu và quy trình phát triển
Dự án được triển khai theo mô hình Agile/Iterative Prototype qua 4 giai đoạn rõ ràng trong 16 tuần:
| Tuần |
Giai đoạn |
Nội dung công việc và Deliverables |
| W1 - W4 |
Khảo sát & Thiết kế |
Lập hồ sơ yêu cầu, lựa chọn linh kiện phần cứng, thiết kế sơ đồ nguyên lý mạch. |
| W5 - W8 |
Thu thập dữ liệu & Train AI |
Thu thập 2.500 ảnh chai nhựa/rác thải, gán nhãn qua LabelImg, huấn luyện YOLOv8 trên Kaggle GPU T4. |
| W9 - W12 |
Chế tạo cơ khí & Mạch |
In 3D khung vỏ, lắp ráp cảm biến siêu âm, động cơ servo, mạch hạ áp LM2596S và kết nối Raspberry Pi 5 - ESP32. |
| W13 - W16 |
Tích hợp & Kiểm thử |
Tích hợp hệ thống tổng thể, lập trình Web Dashboard, tối ưu hóa độ trễ xử lý và đánh giá UAT. |
Implementation và kết quả
Quy trình phát triển và thuật toán cốt lõi
Trái tim của hệ thống nhận diện là mạng YOLOv8 với cấu trúc Backbone sử dụng các khối C2f (Cross-Stage Partial with 2 Convolutions) thay thế cho module C3 truyền thống. C2f tăng cường kết nối residual gradient, giúp trích xuất sâu các đặc trưng biên và hình thái của chai nhựa mà vẫn duy trì số lượng tham số thấp. Phần Head sử dụng cấu trúc Decoupled Head dạng Anchor-free, tách biệt nhánh phân loại (Classification Loss dùng Binary Cross-Entropy - BCE) và nhánh hồi quy tọa độ bounding box (kết hợp Complete IoU - CIoU Loss và Distribution Focal Loss - DFL).
Hàm mất mát tổng thể của YOLOv8 được xác định:
$$\mathcal{L}{total} = \lambda{box} \mathcal{L}{CIoU} + \lambda{cls} \mathcal{L}{BCE} + \lambda{dfl} \mathcal{L}_{DFL}$$
1. Đoạn mã Python thực thi nhận diện và điều khiển trên Raspberry Pi 5 (waste_detector.py)
import cv2
import time
import serial
import json
from ultralytics import YOLO
# Khởi tạo kết nối Serial tới vi điều khiển ESP32
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)
time.sleep(2)
# Load mô hình YOLOv8 đã tối ưu hóa trọng số
model = YOLO('/home/pi/models/yolov8_waste_best.pt')
# Cấu hình Camera USB 2.0
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
CONFIDENCE_THRESHOLD = 0.75
TARGET_CLASS_ID = 0 # 0: Plastic_Bottle, 1: Other_Waste
def process_classification():
ret, frame = cap.read()
if not ret:
return
# Thực hiện suy luận (Inference)
results = model(frame, conf=CONFIDENCE_THRESHOLD, verbose=False)
detected_plastic = False
for r in results:
boxes = r.boxes
for box in boxes:
cls_id = int(box.cls[0])
conf = float(box.conf[0])
if cls_id == TARGET_CLASS_ID and conf >= CONFIDENCE_THRESHOLD:
detected_plastic = True
break
# Gửi lệnh phân loại tới ESP32 qua Serial
if detected_plastic:
payload = {"action": "ROUTE", "target": "PLASTIC_BIN", "confidence": conf}
else:
payload = {"action": "ROUTE", "target": "GENERAL_BIN", "confidence": 0.0}
ser.write((json.dumps(payload) + "\n").encode('utf-8'))
if __name__ == '__main__':
try:
while True:
# Lắng nghe tín hiệu kích hoạt từ cảm biến vật thể của ESP32
if ser.in_waiting > 0:
line = ser.readline().decode('utf-8').rstrip()
if line == "TRIGGER_INFERENCE":
process_classification()
except KeyboardInterrupt:
cap.release()
ser.close()
2. Đoạn mã C++ nhúng điều khiển cảm biến và cơ cấu chấp hành trên ESP32 (esp32_firmware.ino)
#include <ESP32Servo.h>
#include <ArduinoJson.h>
#define PIN_TRIG_USER 5
#define PIN_ECHO_USER 18
#define PIN_SERVO_MAIN_LID 19
#define PIN_SERVO_SORT_FLAP 21
#define PIN_GAS_SENSOR 34
Servo mainLidServo;
Servo sortFlapServo;
long readDistance(int trigPin, int echoPin) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH, 30000);
if (duration == 0) return 999;
return duration * 0.034 / 2;
}
void setup() {
Serial.begin(115200);
pinMode(PIN_TRIG_USER, OUTPUT);
pinMode(PIN_ECHO_USER, INPUT);
mainLidServo.attach(PIN_SERVO_MAIN_LID);
sortFlapServo.attach(PIN_SERVO_SORT_FLAP);
mainLidServo.write(0); // Đóng nắp chính
sortFlapServo.write(90); // Vị trí cân bằng ngăn phân loại
}
void loop() {
long userDistance = readDistance(PIN_TRIG_USER, PIN_ECHO_USER);
// Phát hiện người dùng ở khoảng cách dưới 40cm
if (userDistance > 0 && userDistance <= 40) {
mainLidServo.write(100); // Mở nắp chính
delay(1000);
// Gửi tín hiệu yêu cầu Raspberry Pi 5 kích hoạt chụp ảnh và nhận diện AI
Serial.println("TRIGGER_INFERENCE");
// Chờ phản hồi JSON từ Raspberry Pi
unsigned long startTime = millis();
while (millis() - startTime < 3000) {
if (Serial.available()) {
String response = Serial.readStringUntil('\n');
StaticJsonDocument<200> doc;
DeserializationError error = deserializeJson(doc, response);
if (!error) {
const char* target = doc["target"];
if (strcmp(target, "PLASTIC_BIN") == 0) {
sortFlapServo.write(30); // Nghiêng về ngăn chai nhựa
} else {
sortFlapServo.write(150); // Nghiêng về ngăn rác khác
}
delay(2500);
sortFlapServo.write(90); // Trả về vị trí ban đầu
break;
}
}
}
delay(2000);
mainLidServo.write(0); // Đóng nắp chính
}
delay(200);
}
Thử nghiệm và đánh giá chất lượng
Quá trình kiểm thử mô hình được thực hiện thông qua việc so sánh 3 kiến trúc mạng phát hiện đối tượng phổ biến trên cùng tập dữ liệu gồm 2.500 ảnh thực tế:
| Mô hình Deep Learning |
mAP@0.5 (%) |
Thời gian suy luận trên RPi 5 (ms) |
Dung lượng Model (MB) |
FLOPs (G) |
| SSD-MobileNetV2 |
82.4% |
45 ms |
18.5 MB |
3.8 G |
| MobileNetV3-Large |
85.1% |
38 ms |
12.2 MB |
2.5 G |
| YOLOv8n (Đề xuất) |
94.8% |
32 ms |
6.3 MB |
8.7 G |
BIỂU ĐỒ ĐỘ CHÍNH XÁC THEO EPOCH
mAP (%)
100 | *---*---* YOLOv8n (94.8%)
80 | *---*---*
| *---*---* +---+---+ MobileNetV3 (85.1%)
60 | *---*---* +---+---+
| *---*---* +---+---+ #---#---# SSD-MobileNet (82.4%)
40 | #---#---# #---#---#
0 +-------------------------------------------------------
0 20 40 60 80 100 (Epochs)
Kết quả thử nghiệm thực tế với 200 lượt phân loại rác:
- Tập dữ liệu chai nhựa sạch/nguyên vẹn: Độ chính xác đạt 98.0% (98/100 mẫu).
- Tập dữ liệu chai nhựa móp méo, biến dạng: Độ chính xác đạt 91.0% (91/100 mẫu).
- Tập dữ liệu rác tổng hợp (giấy, vỏ lon, hộp xốp): Nhận diện chính xác là "Rác khác" đạt 95.0% (95/100 mẫu).
- Thời gian phản hồi toàn chu trình: Trung bình 1.8 giây từ khi phát hiện vật thể đến khi hoàn tất phân loại vào ngăn.
Đổi mới và đóng góp
- Ứng dụng mạng nơ-ron không Anchor (Anchor-free) thế hệ mới trên phần cứng nhúng: Thay vì các phương pháp học sâu cũ dựa trên Anchor boxes (như YOLOv3/v4 hay SSD), việc ứng dụng YOLOv8 với cấu trúc C2f giúp giảm 45% trọng số tính toán nhưng nâng mAP thêm 9.7% so với SSD-MobileNet.
- Kiến trúc xử lý song song phân tầng (Decoupled Edge-Microcontroller Architecture): Phân tách hoàn toàn tác vụ AI thị giác máy tính nặng (thực thi trên Raspberry Pi 5) và tác vụ điều khiển thời gian thực chính xác micro-giây (thực thi trên ESP32). Cách thiết kế này loại bỏ hiện tượng giật rung servo do xung đột tài nguyên luồng CPU.
- Giải pháp phản hồi kép (Visual & Audio Feedback): Tích hợp âm thanh thông minh định dạng MP3 (DFPlayer Mini) kết hợp cảnh báo mức đầy trực quan theo thời gian thực trên Web Dashboard, giảm phụ thuộc vào việc kiểm tra thủ công.
- Hiệu quả kinh tế vượt trội: Toàn bộ hệ thống được chế tạo với kinh phí dưới 3.500.000 VNĐ, chỉ bằng 1/10 so với các hệ thống phân loại rác công nghiệp chuyên dụng, mở ra khả năng nhân rộng quy mô lớn cho trường học, bệnh viện và công sở.
Ứng dụng thực tế và triển khai
KỊCH BẢN TRIỂN KHAI THỰC TẾ TRONG TÒA NHÀ
[Người dùng đến gần] ---> Cảm biến siêu âm kích hoạt mở nắp thùng
|
[Đưa rác vào buồng] ---> Camera USB 2.0 chụp ảnh ở cự ly 35cm
|
[Xử lý AI tại biên] ---> Raspberry Pi 5 phân loại: Chai nhựa vs Rác khác
|
[Kích hoạt cơ khí] ---> Servo gạt rác vào ngăn chứa tương ứng
|
[Kiểm tra dung tích] ---> Cảm biến siêu âm đo mức rác còn lại
|
[Đồng bộ dữ liệu] ---> Gửi dữ liệu qua WiFi lên Firebase Realtime DB
|
[Thông báo & Quản lý] ---> Hiển thị trực quan trên Web Dashboard
Chiến lược vận hành và triển khai
- Cung cấp nguồn điện: Hệ thống sử dụng bộ nguồn công nghiệp Adapter 12V-2A kết hợp module chuyển đổi giảm áp LM2596S (hạ xuống 5V-3A cấp dòng ổn định cho các động cơ servo) và nguồn Power Supply PD 5V-5A riêng biệt cho Raspberry Pi 5.
- Bảo trì và giám sát: Nhân viên vệ sinh theo dõi trực tiếp trạng thái các thùng rác qua điện thoại thông minh hoặc máy tính thông qua Web Dashboard. Khi một ngăn chứa đạt ngưỡng $\ge 90%$, hệ thống tự động đánh dấu đỏ trên bản đồ tòa nhà, tối ưu hóa cung đường thu gom rác.
Phân tích chi phí - lợi ích (Cost-Benefit Analysis)
BẢNG DỰ TOÁN CHI PHÍ PHẦN CỨNG HỆ THỐNG (BOM - BILL OF MATERIALS)
+-------------------------------------+--------------+---------------+
| Linh kiện / Thiết bị | Số lượng | Thành tiền |
+-------------------------------------+--------------+---------------+
| Máy tính nhúng Raspberry Pi 5 (8GB) | 01 | 2.100.000 VNĐ |
| Module ESP32 NodeMCU 38 chân | 01 | 130.000 VNĐ |
| USB Camera 2.0 720p | 01 | 180.000 VNĐ |
| Cảm biến HC-SR04 & Cảm biến Gas MQ | 03 | 120.000 VNĐ |
| Động cơ Servo 180° (Mô-men 5.5kg.cm)| 02 | 220.000 VNĐ |
| Mạch DFPlayer Mini + Loa 3W | 01 bộ | 75.000 VNĐ |
| Mạch giảm áp LM2596S & Phụ kiện | 01 bộ | 150.000 VNĐ |
| Khung vỏ Composite / Mica in 3D | 01 bộ | 450.000 VNĐ |
+-------------------------------------+--------------+---------------+
| TỔNG CHI PHÍ PHẦN CỨNG | | 3.425.000 VNĐ |
+-------------------------------------+--------------+---------------+
Thời gian hoàn vốn (ROI) ước tính đạt từ 8 đến 12 tháng thông qua việc cắt giảm 50% thời gian tuần tra của nhân viên vệ sinh và tối đa hóa giá trị thu hồi phế liệu chai nhựa tái chế sạch.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Độ nhạy ánh sáng: Khi môi trường có cường độ ánh sáng dưới 100 Lux (ban đêm không có đèn), tỷ lệ nhận diện chính xác giảm xuống còn 72%.
- Vật thể biến dạng phức tạp: Chai nhựa bị vò nát hoàn toàn hoặc dính bùn đất sẫm màu có thể bị nhận diện nhầm thành rác thông thường.
- Số lượng ngăn phân loại: Mô hình hiện tại mới hỗ trợ cơ chế phân loại nhị phân (Chai nhựa vs Rác khác).
Kế hoạch nâng cấp trong tương lai
- Mở rộng đa lớp nhận diện: Huấn luyện thêm các lớp đối tượng rác kim loại (lon nhôm), hộp sữa giấy tetrapak, rác hữu cơ và rác thải nguy hại (pin, bóng đèn).
- Tối ưu hóa mô hình AI với TensorRT / NCNN: Chuyển đổi mô hình YOLOv8 sang định dạng TensorRT engine để giảm thời gian suy luận trên GPU biên xuống dưới 15 ms.
- Chiếu sáng chủ động (Active Illumination): Bổ sung vòng đèn LED Ring trợ sáng tự động kích hoạt khi camera chuẩn bị chụp ảnh, loại bỏ hoàn toàn sự phụ thuộc vào ánh sáng môi trường.
- Tích hợp nguồn năng lượng tái tạo: Lắp đặt tấm pin mặt trời 50W kết hợp pin sạc Lithium LiFePO4 cho phép triển khai độc lập tại các công viên ngoài trời.
Đối tượng hưởng lợi
CÁC ĐỐI TƯỢNG HƯỞNG LỢI
+----------------------+ +----------------------+ +----------------------+
| SINH VIÊN / NC VIÊN | | LẬP TRÌNH VIÊN EMBED | | DOANH NGHIỆP / CÔNG SỞ|
| Tham khảo kiến trúc | | Nắm vững kỹ thuật | | Tự động hóa phân loại|
| Edge AI kết hợp IoT | | pipeline AI - Serial | | Giảm 40% chi phí |
| và dữ liệu thực nghiệm| | tối ưu hóa bộ nhớ | | Giám sát thông minh |
+----------------------+ +----------------------+ +----------------------+
- Sinh viên và Nhà nghiên cứu: Tiếp cận toàn bộ quy trình thiết kế hệ thống nhúng lai ghép (Hybrid Embedded AI System), từ khâu thu thập dataset, gán nhãn, fine-tune mô hình học sâu cho đến điều khiển cơ điện tử.
- Lập trình viên IoT & Computer Vision: Sở hữu kiến trúc mẫu hoàn chỉnh về cách tối ưu giao tiếp tuần tự Serial không nghẽn luồng giữa Python (Raspberry Pi) và C++ (ESP32), cùng giải pháp đồng bộ Cloud qua Firebase.
- Cơ quan, Trường học và Doanh nghiệp: Có ngay giải pháp công nghệ giá rẻ để hiện đại hóa hạ tầng thu gom rác, nâng cao chỉ số môi trường ESG (Environmental, Social, and Governance) và ý thức bảo vệ môi trường của cộng đồng.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai phần mềm nhận diện là gì?
Hệ thống yêu cầu máy tính nhúng tối thiểu là Raspberry Pi 4 (khuyến nghị Raspberry Pi 5 để đạt tốc độ xử lý mượt mà), chạy Python 3.9+, thư viện ultralytics cùng opencv-python. Với thiết bị phần cứng thấp hơn, mô hình có thể được tối ưu qua định dạng TFLite hoặc ONNX Runtime.
2. Hệ thống xử lý thế nào khi có nhiều rác thải được đưa vào cùng lúc?
Ở phiên bản hiện tại, thuật toán được lập trình để xử lý từng vật thể đơn lẻ theo chu kỳ mở/đóng nắp. Nếu có nhiều vật thể xuất hiện trong khung hình, thuật toán sẽ chọn vật thể có diện tích Bounding Box lớn nhất và độ tin cậy cao nhất để quyết định hướng phân loại cơ khí.
3. Có thể tích hợp hệ thống vào mạng lưới quản lý đô thị thông minh có sẵn không?
Hoàn toàn khả thi. Nhờ kiến trúc cơ sở dữ liệu dựa trên REST API và JSON của Firebase, dữ liệu vị trí, mức rác đầy và cảnh báo khí gas có thể được tích hợp trực tiếp vào bất kỳ nền tảng Smart City Dashboard nào thông qua giao thức Webhook hoặc MQTT Broker.
4. Chi phí bảo trì và độ bền của cơ cấu cơ khí như thế nào?
Hệ thống sử dụng các động cơ servo chất lượng với bánh răng kim loại chịu tải mô-men 5.5 kg.cm, tuổi thọ kiểm định trên 50.000 chu kỳ gạt. Cảm biến siêu âm không tiếp xúc trực tiếp với rác nên có độ bền trên 3 năm hoạt động liên tục.
5. Dự án xử lý bài toán mất kết nối Internet (Offline Mode) ra sao?
Khi mất kết nối Wi-Fi, cụm xử lý AI tại biên (Raspberry Pi 5 + ESP32) vẫn thực hiện toàn bộ quy trình nhận diện, mở nắp và phân loại rác hoàn toàn bình thường. Dữ liệu viễn thông sẽ được lưu tạm vào bộ nhớ đệm cục bộ (Local Flash/SQLite) và tự động đồng bộ hóa lên Firebase ngay khi có mạng trở lại.
Kết luận
Đồ án tốt nghiệp "Hệ thống quản lý và phân loại rác thải" của sinh viên Đặng Thanh Duy và Trần Bình Nguyên đã chứng minh tính khả thi vượt trội của việc ứng dụng Trí tuệ nhân tạo (YOLOv8) kết hợp cùng hệ thống nhúng IoT (Raspberry Pi 5, ESP32) vào giải quyết bài toán môi trường cấp bách. Với độ chính xác nhận diện đạt 94.8%, thời gian xử lý toàn chu trình dưới 2 giây và chi phí phần cứng tối ưu, đề tài là một bước tiến quan trọng trong việc nội địa hóa các giải pháp công nghệ cao vì cộng đồng, hướng tới xây dựng một môi trường sống thông minh, bền vững và văn minh.