← Quay lại Blog

Xây dựng hệ thống phát hiện lỗi vải thời gian thực với YOLOv8

Trong đợt thực tập Embedded AI tại Vietsol JSC, mình được giao xây dựng một hệ thống phát hiện lỗi vải chạy trực tiếp trên dây chuyền sản xuất tại nhà máy dệt Phong Phú. Bài viết này ghi lại những gì mình học được khi triển khai một pipeline computer vision thời gian thực trên thiết bị edge chạy Linux.

1. Thu thập luồng video từ camera công nghiệp

Camera trên dây chuyền xuất luồng RTSP liên tục. Việc đầu tiên là viết script Python dùng OpenCV để mở và đọc ổn định luồng này mà không bị giật khung hình hay tràn bộ đệm khi chạy 24/7.

cap = cv2.VideoCapture(rtsp_url, cv2.CAP_FFMPEG)
cap.set(cv2.CAP_PROP_BUFFERSIZE, 1)

2. Xây dựng pipeline thu thập dữ liệu

Trước khi huấn luyện mô hình, cần có dữ liệu chất lượng. Mình xây dựng một pipeline tự động chụp và lưu ảnh theo chu kỳ, sau đó dùng LabelImg và CVAT để gán nhãn các loại lỗi vải phổ biến. Việc gán nhãn nhất quán ảnh hưởng trực tiếp đến độ chính xác mô hình sau này — đây là điều mình đánh giá thấp lúc đầu.

3. Huấn luyện và tối ưu YOLOv8

Sau khi có bộ dữ liệu, nhóm mình huấn luyện mô hình YOLOv8 để phân loại các dạng lỗi. Bước tối ưu quan trọng nhất là cân bằng giữa độ chính xác và tốc độ suy luận (inference), vì hệ thống cần chạy real-time ngay trên dây chuyền, độ trễ cao đồng nghĩa với việc bỏ sót lỗi.

4. Triển khai thực tế

Khác với môi trường thử nghiệm, triển khai trên nhà máy đòi hỏi xử lý các tình huống như mất kết nối camera, ánh sáng thay đổi, và đảm bảo dịch vụ tự khởi động lại nếu gặp lỗi — đây là lúc kinh nghiệm quản lý process và deploy service trên Linux phát huy tác dụng.

Kết luận

Dự án này giúp mình hiểu rõ rằng một hệ thống computer vision "chạy được trên máy demo" và "chạy ổn định trên dây chuyền sản xuất thực tế" là hai bài toán rất khác nhau — phần lớn công sức nằm ở việc xử lý dữ liệu và độ ổn định của hệ thống, không chỉ riêng độ chính xác của mô hình.