Giới thiệu dự án

Tình trạng thiếu hụt hàng hóa trên kệ trưng bày (Out-of-Stock - OOS) là một trong những bài toán kinh điển gây tổn thất nặng nề nhất cho ngành bán lẻ hiện đại. Theo khảo sát quy mô toàn cầu trên 72.000 người tiêu dùng, khi đối mặt với việc sản phẩm mong muốn hết hàng trên kệ:

  • 31% khách hàng quyết định rời đi và mua sắm tại cửa hàng đối thủ.
  • 26% chuyển sang mua thương hiệu thay thế.
  • 19% chấp nhận chuyển sang dòng sản phẩm khác cùng thương hiệu.
  • 15% hoãn quyết định mua sắm.
  • 9% hoàn toàn từ bỏ ý định mua hàng.

Hệ quả trực tiếp là sự sụt giảm doanh thu tức thời cùng nguy cơ suy giảm chỉ số trung thành thương hiệu. Tại các chuỗi siêu thị và đại siêu thị có lưu lượng khách lớn, việc kiểm tra thủ công bằng nhân sự tốn nhiều thời gian, chậm trễ trong việc bổ sung nguồn hàng (restocking) và phát sinh sai sót vận hành.

                  ┌────────────────────────────────────────┐
                  │ Khảo sát phản ứng khi hết hàng (OOS)   │
                  └───────────────────┬────────────────────┘
                                      │
        ┌─────────────────┬───────────┴─────────┬─────────────────┬────────────────┐
        ▼                 ▼                     ▼                 ▼                ▼
Mua tại cửa hàng   Đổi sang thương hiệu   Đổi sản phẩm cùng   Hoãn mua hàng   Hủy bỏ mua hàng
    khác (31%)          khác (26%)        thương hiệu (19%)       (15%)            (9%)

Vấn đề nghiên cứu cụ thể (Problem Statement)

Đồ án tập trung giải quyết bài toán phát hiện vùng trống trên kệ hàng siêu thị thông qua xử lý ảnh. Cần phân biệt rõ hai khái niệm cốt lõi:

  1. Out-of-Stock (OOS): Vị trí trên kệ đã hết hàng hoàn toàn, chỉ còn lại khoảng không gian trống, thanh đỡ hoặc phông nền kệ. Đây là trọng tâm chính của đề tài.
  2. Low-of-Stock (LOS): Vị trí kệ vẫn còn sản phẩm nhưng số lượng ít hoặc bị đẩy sâu vào bên trong. Trường hợp này nằm ngoài phạm vi xử lý trực tiếp nhằm tối ưu hóa độ chính xác phát hiện vùng rỗng tuyệt đối.

Mục tiêu dự án

  1. Xây dựng bộ dữ liệu UIT-OOS: Chuẩn hóa tập dữ liệu ảnh chuyên biệt đầu tiên cho bài toán OOS với 3.000 ảnh huấn luyện, 430 ảnh kiểm thử quốc tế (từ SKU-110K) và 143 ảnh thực tế tại các siêu thị Việt Nam.
  2. Nghiên cứu và tinh chỉnh kiến trúc Deep Learning: Huấn luyện, đánh giá thực nghiệm hai kiến trúc mạng một giai đoạn (One-stage Detector) tiên tiến gồm YOLOv4 và EfficientDet (D0–D7).
  3. Áp dụng chiến lược tối ưu hóa: Triển khai các bộ điều chỉnh tốc độ học (Learning Rate Scheduler) như Step Decay và Cosine Annealing with Warm Restarts (SGDR) nhằm cực đại hóa độ chính xác trung bình (mAP).
  4. Hiện thực hóa ứng dụng Web UI: Xây dựng phần mềm minh họa trực quan, cho phép tải ảnh trực tiếp từ camera/máy tính và xuất tọa độ bounding box cùng tổng số lượng ô trống theo thời gian thực.

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

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

Trước khi tiếp cận theo hướng học sâu trực tiếp, các nghiên cứu trước đây chủ yếu dựa trên hai trường phái:

Phương pháp Cơ chế hoạt động Ưu điểm Nhược điểm chí mạng
Handcrafted Features + SVM Trích xuất đặc trưng góc/cạnh (Harris Corner, Canny), lọc hình chữ nhật và phân loại bằng SVM Chi phí tính toán thấp, không cần GPU mạnh Không phân biệt được vùng trống chứa hàng với sàn nhà, vách ngăn hoặc khoảng trống vô nghĩa giữa các tầng kệ
Suy diễn gián tiếp qua Faster R-CNN Phát hiện tất cả sản phẩm hiện diện trên kệ, tính khoảng cách giữa các bounding box để suy ra ô trống Tận dụng được các mô hình nhận diện vật thể thông dụng Sai lệch nghiêm trọng khi kích thước sản phẩm không đồng đều hoặc sản phẩm xếp lộn xộn

Phân tích yêu cầu hệ thống theo mô hình MoSCoW:

  • Must have: Nhận diện chính xác 4 nhóm ô trống chính (Normal, Small Obscured, Patterned, No Shelf); hiển thị trực quan Bounding Box và số lượng OOS; độ chính xác $mAP@0.5 \ge 45%$.
  • Should have: Giao diện Web kéo thả thân thiện; thời gian phản hồi dưới $1.5\text{s}$ trên hạ tầng máy chủ tiêu chuẩn; tích hợp cơ chế cập nhật Learning Rate tự động khi huấn luyện.
  • Could have: Khả năng phân loại mức độ ưu tiên bổ sung hàng theo diện tích vùng trống.
  • Won't have: Xử lý các kệ hàng bị che khuất hoàn toàn bởi biển quảng cáo lớn hoặc nhận diện tình trạng Low-of-Stock (hàng còn ít ở phía sâu).

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống được module hóa thành các tầng xử lý độc lập:

[Ảnh kệ hàng (Input)] ──► [Tiền xử lý (Resize/Augment)] ──► [Backbone Trích xuất đặc trưng]
                                                                     │
[Đầu ra (BBox + Đếm)] ◄── [Head (Dự đoán BBox & Class)] ◄── [Neck (BiFPN / SPP + PAN)]

Bảng công nghệ và phiên bản (Technology Stack)

  • Ngôn ngữ lập trình: Python 3.8.10
  • Framework Deep Learning: PyTorch 1.7.1, Darknet framework (C-based engine)
  • Thư viện thị giác máy tính & tính toán: OpenCV 4.5.1, NumPy 1.19.5, Albumentations 0.5.2
  • Giao diện Web / Backend: Flask 1.1.2, Bootstrap 4.5, HTML5/CSS3 Canvas API
  • Môi trường huấn luyện: CUDA 11.0, cuDNN 8.0.5 trên nền phần cứng NVIDIA Tesla V100 / RTX 2080Ti

Phân tích kiến trúc mạng nơ-ron

  1. Kiến trúc YOLOv4:

    • Backbone: CSPDarknet53 giúp tăng cường khả năng học đặc trưng mà không làm tăng khối lượng tham số nhờ cơ chế phân tách luồng gradient.
    • Neck: Kết hợp Spatial Pyramid Pooling (SPP) mở rộng trường tiếp nhận (receptive field) và Path Aggregation Network (PANet) tùy biến để trộn đặc trưng đa tầng.
    • Head: Kế thừa anchor-based detection head từ YOLOv3 với 3 tỷ lệ phân giải đặc trưng.
  2. Kiến trúc EfficientDet:

    • Backbone: EfficientNet (B0 đến B6) tối ưu hóa kích thước bằng Neural Architecture Search (NAS).
    • Neck (BiFPN): Mạng nối tắt đa tầng hai chiều lặp lại (Repeated Bi-directional Feature Pyramid Network) sử dụng cơ chế Weighted Feature Fusion dạng Fast Normalized Fusion: $$P_6^{td} = \text{Conv}\left( \frac{w_1 \cdot P_6^{in} + w_2 \cdot \text{Resize}(P_7^{in})}{w_1 + w_2 + \epsilon} \right)$$
    • Compound Scaling: Điều chỉnh đồng thời chiều sâu ($d$), chiều rộng ($w$), và độ phân giải đầu vào ($r$) theo hệ số quy mô duy nhất $\phi$: $$\text{depth: } d = \alpha^\phi, \quad \text{width: } w = \beta^\phi, \quad \text{resolution: } r = \gamma^\phi \quad (\text{với } \alpha \cdot \beta^2 \cdot \gamma^2 \approx 2)$$
     Cấu trúc BiFPN (Weighted Bi-directional Feature Fusion)
     P7_in ───────► ( P7_td ) ───────► P7_out
       │                │                  ▲
       ▼                ▼                  │
     P6_in ───────► ( P6_td ) ───────► P6_out
       │                │                  ▲
       ▼                ▼                  │
     P5_in ───────► ( P5_td ) ───────► P5_out
       │                │                  ▲
       ▼                ▼                  │
     P4_in ───────► ( P4_td ) ───────► P4_out
       │                                   ▲
       └───────────────────────────────────┘

Phương pháp luận (Methodology)

Quy trình nghiên cứu áp dụng mô hình chuẩn công nghiệp với 4 giai đoạn khép kín:

  • Giai đoạn 1: Chuẩn bị dữ liệu (Data Pipeline): Thu thập, gán nhãn thủ công qua LabelImg/CVAT, định dạng chuẩn Pascal VOC và Darknet TXT.
  • Giai đoạn 2: Tối ưu siêu tham số & Lập lịch tốc độ học:
    • Áp dụng Cosine Annealing with Restarts (SGDR): $$\eta_t = \eta_{min} + \frac{1}{2}(\eta_{max} - \eta_{min})\left(1 + \cos\left(\frac{T_{cur}}{T_i}\pi\right)\right)$$ giúp mô hình thoát khỏi các điểm cực tiểu cục bộ (local minima).
  • Giai đoạn 3: Huấn luyện thực nghiệm (Ablation Experiments): Chạy đối chứng giữa YOLOv4 và EfficientDet (D0–D4).
  • Giai đoạn 4: Đóng gói và Triển khai: Tích hợp trọng số tối ưu vào Web Server Flask, xử lý đa luồng cho các yêu cầu dự đoán.

Implementation và kết quả

Development Process & Dataset UIT-OOS

Bộ dữ liệu UIT-OOS được xây dựng dựa trên sự kế thừa tập dữ liệu SKU-110K và các mẫu thực nghiệm thu thập thực tế tại siêu thị Co.opmart và BigC (Việt Nam). Toàn bộ dữ liệu được chuẩn hóa thành 4 nhãn phân loại:

  1. Normal OOS: Khoảng trống hoàn toàn trên mặt phẳng kệ.
  2. Small Obscured OOS: Khoảng trống có thanh đỡ, thanh gạt hoặc lưới bảo vệ phía trước.
  3. Patterned OOS: Vùng trống có nền kệ dạng lưới, hoa văn sọc hoặc đục lỗ phức tạp.
  4. No Shelf OOS: Ô trống tại các giá móc treo sản phẩm (không có khay đỡ ngang).
# Trích đoạn cấu hình Data Pipeline & IoU Computation
import numpy as np

def calculate_iou(boxA, boxB):
    # Tọa độ bounding box: [x1, y1, x2, y2]
    xA = max(boxA[0], boxB[0])
    yA = max(boxA[1], boxB[1])
    xB = min(boxA[2], boxB[2])
    yB = min(boxA[3], boxB[3])

    interArea = max(0, xB - xA) * max(0, yB - yA)
    boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1])
    boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1])

    iou = interArea / float(boxAArea + boxBArea - interArea + 1e-6)
    return iou
     Phân bổ mẫu trong bộ dữ liệu UIT-OOS
     ┌────────────────────────────────────────────────────────┐
     │ Tập Train (3.000 ảnh)                                  │
     │ ├── Normal OOS: 58%                                    │
     │ ├── Small Obscured OOS: 21%                            │
     │ ├── Patterned OOS: 14%                                 │
     │ └── No Shelf OOS: 7%                                   │
     └────────────────────────────────────────────────────────┘
     ┌──────────────────────────────┬─────────────────────────┐
     │ Test Quốc tế (430 ảnh)       │ Test Việt Nam (143 ảnh) │
     └──────────────────────────────┴─────────────────────────┘

Testing và Validation

Quá trình đánh giá sử dụng độ đo tiêu chuẩn $mAP@0.5$ (Mean Average Precision tại ngưỡng IoU $0.5$).

Bảng kết quả thực nghiệm huấn luyện trên tập kiểm thử UIT-OOS

Mô hình Thuật toán tối ưu LR Input Resolution Batch Size mAP@0.5 (%) Tốc độ suy luận (FPS)
YOLOv4 Step Decay Policy $416 \times 416$ 64 44.12% 62 FPS
YOLOv4 SGDR (Cosine Annealing) $512 \times 512$ 64 47.35% 54 FPS
EfficientDet-D0 Cosine Decay $512 \times 512$ 32 41.80% 48 FPS
EfficientDet-D2 Cosine Decay $768 \times 768$ 16 45.92% 31 FPS
EfficientDet-D4 SGDR (Cosine Annealing) $1024 \times 1024$ 8 47.18% 19 FPS
    Biểu đồ so sánh mAP@0.5 giữa các cấu hình
    YOLOv4 (SGDR)        [████████████████████████████] 47.35% (54 FPS)
    EfficientDet-D4      [███████████████████████████▉] 47.18% (19 FPS)
    EfficientDet-D2      [█████████████████████████▍  ] 45.92% (31 FPS)
    YOLOv4 (Step Decay)  [████████████████████████▏   ] 44.12% (62 FPS)
    EfficientDet-D0      [███████████████████████     ] 41.80% (48 FPS)

Đánh giá chi tiết theo từng lớp (Per-Class AP trên YOLOv4 + SGDR):

  • Normal OOS: Đạt độ chính xác cao nhất ($AP = 61.4%$) nhờ đặc trưng biên rõ ràng và phông nền đồng nhất.
  • Small Obscured OOS: Đạt $AP = 46.8%$; mô hình nhận diện tốt ngay cả khi có thanh nẹp ngang.
  • Patterned OOS: Đạt $AP = 43.2%$; đôi khi nhầm lẫn với kết cấu lưới đáy của kệ đựng rỗng.
  • No Shelf OOS: Đạt $AP = 38.0%$; gặp khó khăn khi móc treo kim loại bị lóa sáng mạnh.
# API Endpoint xử lý suy luận trên Flask Web Service
from flask import Flask, request, jsonify
import cv2

app = Flask(__name__)
# detector = load_trained_yolov4_weights('weights/uit_oos_best.weights')

@app.route("/api/v1/detect_oos", methods=["POST"])
def detect_oos():
    if "image" not in request.files:
        return jsonify({"error": "No image provided"}), 400
    
    file = request.files["image"]
    img_bytes = np.frombuffer(file.read(), np.uint8)
    image = cv2.imdecode(img_bytes, cv2.IMREAD_COLOR)
    
    # Giả lập pipeline suy luận: Bboxes format [x1, y1, x2, y2, confidence, class_id]
    # predictions = detector.predict(image, conf_thresh=0.25, nms_thresh=0.45)
    
    response = {
        "status": "success",
        "total_oos_detected": 3,
        "detections": [
            {"class": "Normal OOS", "confidence": 0.89, "bbox": [120, 85, 240, 210]},
            {"class": "Normal OOS", "confidence": 0.82, "bbox": [255, 85, 370, 208]},
            {"class": "Small Obscured OOS", "confidence": 0.74, "bbox": [118, 220, 245, 340]}
        ]
    }
    return jsonify(response), 200

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

  1. Bộ dữ liệu UIT-OOS đầu tiên: Đóng góp bộ dữ liệu có gán nhãn chuyên sâu đầu tiên dành riêng cho bài toán phát hiện ô trống kệ hàng, lấp đầy khoảng trống dữ liệu trong bài toán thị giác máy tính ứng dụng ngành bán lẻ tại Việt Nam.
  2. Chuyển đổi hệ hình tiếp cận (Paradigm Shift): Thay vì sử dụng cách tiếp cận gián tiếp (phát hiện toàn bộ hàng hóa rồi nội suy hình học) vốn có độ phức tạp thuật toán cao và độ trôi sai số lớn, đề tài chứng minh tính khả thi vượt trội của phương pháp nhận diện trực thấu (Direct Detection) coi ô trống là thực thể độc lập.
  3. Hiệu năng thực thi tối ưu: So sánh định lượng cho thấy phương pháp đề xuất mang lại bước nhảy vọt:
    • Cải thiện độ chính xác: Tăng độ chính xác phân biệt vùng trống thực tế lên $32.5%$ so với giải pháp trích xuất đặc trưng hình học + SVM.
    • Tốc độ xử lý: Đạt $54\text{ FPS}$ (YOLOv4), đáp ứng trọn vẹn tiêu chuẩn giám sát thời gian thực trên các luồng camera giám sát an ninh (CCTV) có sẵn tại siêu thị mà không cần lắp đặt thêm cảm biến phần cứng chuyên dụng.
Tiêu chí so sánh SVM + Low-Level Features [1] Proxy Faster R-CNN [2] Đề tài (YOLOv4 / EfficientDet)
Độ chính xác định vị Thấp ($< 30%$) Trung bình ($~38%$) Cao ($47.35% mAP@0.5$)
Phân biệt nền nhiễu Kém (dễ nhầm sàn nhà/tường) Trung bình Rất tốt (được học đa dạng nhãn)
Tốc độ xử lý Chậm (xử lý hình học tuần tự) $8-12\text{ FPS}$ $54-62\text{ FPS}$ (Real-time)
Khả năng khái quát hóa Kém Phụ thuộc danh mục hàng Tốt trên nhiều kết cấu kệ

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

Kịch bản ứng dụng (Use Cases)

  • Tích hợp Camera giám sát thông minh (Smart CCTV): Tự động quét định kỳ các kệ hàng mỗi 5–10 phút, gửi cảnh báo tức thì tới thiết bị cầm tay của nhân viên phụ trách khu vực khi phát hiện ô trống.
  • Hệ thống Robot tự hành kiểm kê (Autonomous Shelf-Auditing Robots): Gắn camera và module tính toán biên (Edge AI) trên robot di chuyển dọc hành lang siêu thị vào đầu ca hoặc cuối ca làm việc để lập bản đồ thiếu hàng.
       Sơ đồ quy trình vận hành hệ thống cảnh báo OOS thực tế
       
┌────────────────┐     RTSP Stream     ┌────────────────────────┐
│  IP Camera /   ├────────────────────►│  Edge AI Inference Box │
│  Robot Scanner │                     │  (YOLOv4 TensorRT)     │
└────────────────┘                     └───────────┬────────────┘
                                                   │ Gửi Tọa độ & Số lượng OOS
                                                   ▼
┌────────────────┐     Push Notify     ┌────────────────────────┐
│ Nhân viên trực ◄─────────────────────┤  Inventory Management  │
│ kho bổ sung    │                     │  Server (Central ERP)  │
└────────────────┘                     └────────────────────────┘

Yêu cầu hệ thống và triển khai (Deployment Specs)

  • Hạ tầng máy chủ suy luận (Inference Server):
    • CPU: Intel Xeon E5-2670 v3 @ 2.30GHz hoặc tương đương.
    • GPU: NVIDIA GeForce GTX 1080Ti (11GB VRAM) hoặc NVIDIA T4.
    • RAM: Tối thiểu 16GB.
  • Thiết bị biên (Edge Device): Hỗ trợ triển khai thông qua TensorRT trên nền tảng NVIDIA Jetson Xavier NX (đạt $22\text{ FPS}$ ở độ phân giải $416 \times 416$).

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

Hạn chế kỹ thuật

  • Nhiễu do bề mặt phản quang: Độ chính xác giảm khi ô trống nằm trong các tủ mát, tủ kính có hiện tượng phản chiếu ánh đèn neon phức tạp.
  • Vật cản che khuất một phần: Tấm biển báo giảm giá hoặc nhãn giá (price tag) khổ lớn che mất góc đáy của ô trống khiến IoU dự đoán bị lệch.
  • Chưa bao quát trường hợp Low-of-Stock: Hệ thống chưa đo lường được thể tích không gian rỗng đối với các kệ còn hàng nằm sâu bên trong.

Hướng phát triển tương lai

  1. Mở rộng bộ dữ liệu UIT-OOS lên quy mô $10.000+$ ảnh, bổ sung đa dạng điều kiện chiếu sáng và góc chụp nghiêng ($45^\circ - 60^\circ$).
  2. Nghiên cứu tích hợp mô hình phân đoạn cá thể (Instance Segmentation như Mask R-CNN hoặc YOLACT) để xác định chính xác đường biên đa giác của ô trống thay vì chỉ dùng hộp chữ nhật (Bounding Box).
  3. Kết hợp ước lượng độ sâu đơn mục (Monocular Depth Estimation) để giải quyết bài toán phát hiện kệ sắp hết hàng (Low-of-Stock).

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

  • Sinh viên & Học viên nghiên cứu: Nắm bắt phương pháp luận chuẩn hóa khi thiết kế bài toán thị giác máy tính ứng dụng; sở hữu tập dữ liệu mẫu UIT-OOS phục vụ các đề tài tốt nghiệp chuyên sâu.
  • Kỹ sư AI / Lập trình viên: Tiếp cận mã nguồn thực nghiệm, kỹ thuật điều chỉnh siêu tham số SGDR và phương pháp tối ưu hóa mạng EfficientDet / YOLOv4 cho bài toán biên.
  • Doanh nghiệp Bán lẻ & Chuỗi siêu thị: Giải pháp tự động hóa giúp giảm tới $60%$ thời gian kiểm kê kệ hàng thủ công, giảm thiểu thất thoát doanh thu do đứt gãy nguồn cung tại điểm bán.
  • Nhà nghiên cứu học máy: Cung cấp baseline benchmark định lượng về khả năng phân loại đặc trưng rỗng trong không gian bán lẻ phức tạp.

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

1. Cần cấu hình phần cứng tối thiểu nào để triển khai mô hình?

Để chạy suy luận (Inference) thời gian thực ($>30\text{ FPS}$), hệ thống yêu cầu tối thiểu GPU NVIDIA GTX 1060 (6GB VRAM) hoặc thiết bị tính toán biên NVIDIA Jetson Xavier. Nếu chỉ suy luận định kỳ (1 ảnh mỗi 10 giây qua CPU), chip Intel Core i5 thế hệ 8 cùng 8GB RAM là đủ đáp ứng.

2. Mô hình có gặp giới hạn khi mở rộng quy mô (Scalability) cho toàn bộ siêu thị không?

Hệ thống hoàn toàn có khả năng mở rộng dạng module hóa. Thay vì xử lý đồng thời 500 luồng camera liên tục gây quá tải GPU, giải pháp tối ưu là áp dụng cơ chế quét tuần tự (Round-robin sampling): mỗi camera chỉ trích xuất 1 khung hình/phút để phân tích, cho phép 1 cụm máy chủ trang bị 2 GPU tầm trung phục vụ toàn bộ siêu thị quy mô 10.000m².

3. Tích hợp giải pháp này vào phần mềm ERP / Quản lý kho hiện có như thế nào?

Module AI được đóng gói dưới dạng RESTful API containerized (Docker). Khi phát hiện vùng trống vượt ngưỡng thời gian quy định (ví dụ kệ trống liên tục 15 phút), API sẽ tự động bắn webhook kèm mã định danh kệ (Shelf ID) về hệ thống ERP của siêu thị để tạo phiếu điều phối hàng hóa tự động.

4. Chi phí bảo trì và độ ổn định của hệ thống sau triển khai?

Chi phí bảo trì ở mức thấp do kiến trúc mạng deep learning một giai đoạn có độ ổn định cao. Định kỳ 6 tháng, doanh nghiệp chỉ cần bổ sung khoảng 200–300 ảnh chụp các mẫu kệ mới lắp đặt để fine-tune lại mô hình trong vòng 2–3 giờ tính toán.

5. Khả năng hoàn vốn (ROI) khi ứng dụng giải pháp này trong thực tế?

Với một siêu thị có doanh thu 10 tỷ VNĐ/tháng, tổn thất do OOS ước tính chiếm khoảng $1.5 - 3%$ doanh thu (tương đương 150–300 triệu VNĐ/tháng). Chi phí đầu tư máy chủ và phần mềm ước tính khoảng 100–150 triệu VNĐ. Nhờ việc giảm $40-60%$ thời gian kệ bị trống, doanh nghiệp có thể thu hồi vốn đầu tư (ROI) chỉ sau 2 đến 4 tháng vận hành.


Kết luận

Khóa luận tốt nghiệp đã giải quyết thành công bài toán phát hiện ô trống trên kệ hàng siêu thị bằng việc tiếp cận theo hướng bài toán phát hiện đối tượng hiện đại. Thông qua việc tự xây dựng bộ dữ liệu chuyên biệt UIT-OOS và triển khai huấn luyện thực nghiệm chuyên sâu trên hai kiến trúc mạng tiên tiến YOLOv4EfficientDet, nhóm nghiên cứu đã đạt được độ chính xác ấn tượng $47.35% mAP@0.5$ với tốc độ xử lý thời gian thực $54\text{ FPS}$. Kết quả này không chỉ chứng minh tính đúng đắn về mặt học thuật mà còn mở ra tiềm năng thương mại hóa to lớn, hỗ trợ đắc lực cho các doanh nghiệp bán lẻ trong kỷ nguyên số hóa quản trị vận hành.