Giới thiệu dự án

Tại các đô thị lớn ở Việt Nam, xe máy chiếm hơn 85% tổng lượng phương tiện tham gia giao thông, tạo ra lưu lượng di chuyển có mật độ cực kỳ dày đặc và tính chất phi tuyến tính phức tạp. Việc giám sát và điều phối giao thông thông qua hệ thống camera quan sát cố định (CCTV) truyền thống bộc lộ nhiều điểm nghẽn nghiêm trọng: góc nhìn hẹp, điểm mù lớn do bị che khuất bởi công trình kiến trúc hoặc cây xanh, và chi phí triển khai hạ tầng cố định rất cao. Sự phát triển vượt bậc của thiết bị bay không người lái (Unmanned Aerial Vehicles - UAV / Drone) mang lại giải pháp cơ động với góc nhìn bao quát từ trên cao (Bird's Eye View - BEV), độ phân giải không gian cao và khả năng bao phủ diện tích rộng lớn mà hạ tầng camera mặt đất không thể đáp ứng.

Tuy nhiên, bài toán Phát hiện và theo vết xe máy trong không ảnh (Detection and Tracking of Motorcycles in Aerial Images) đặt ra những thách thức học máy đặc thù:

  • Kích thước vật thể siêu nhỏ (Small-scale Objects): Được chụp từ độ cao hàng chục đến hàng trăm mét, diện tích xe máy trong khung hình thường chỉ chiếm dưới $30 \times 30$ pixels trên độ phân giải tổng thể 4K ($3840 \times 2160$).
  • Mật độ dày đặc và che khuất lẫn nhau (Heavy Occlusion): Xe máy di chuyển sát nhau, liên tục bị che khuất bởi tán cây, cầu vượt hoặc phương tiện lớn hơn (xe buýt, xe tải).
  • Rung lắc và chuyển động của máy quay (Camera Ego-motion): Tác động của gió và hành trình bay của UAV tạo ra nhiễu động lớn, làm mất tính ổn định của các mô hình dự đoán vận tốc tuyến tính truyền thống.
+-----------------------------------------------------------------------------------+
|                           INPUT: Aerial Video / Frame Sequence                     |
|                   (UAV 4K Resolution: 3840x2160, High Density Traffic)            |
+-----------------------------------------+-----------------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
|                                 DETECTION STAGE                                   |
|                (YOLOv3-DarkNet53, YOLOX Anchor-Free, PP-YOLOE RepResNet)          |
|                     -> Output: Bounding Boxes + Confidence Scores                 |
+-----------------------------------------+-----------------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
|                                ASSOCIATION STAGE                                  |
|         (DeepSORT Re-ID / FairMOT Joint / ByteTrack Two-Stage / OC-SORT OOS+OCM)  |
|                       -> Kalman Filtering & Hungarian Matching                    |
+-----------------------------------------+-----------------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
|                           OUTPUT: Multi-Target Trajectories                       |
|                   (Consistent ID, Trajectory Smoothing, Zero Duplication)         |
+-----------------------------------------------------------------------------------+

Mục tiêu dự án

  1. Khảo sát và phân tích toàn diện các hướng tiếp cận học sâu tiên tiến cho bài toán Phát hiện (Object Detection) và Theo dõi đa đối tượng (Multiple Object Tracking - MOT) từ không ảnh.
  2. Xây dựng và chuẩn hóa bộ dữ liệu không ảnh chuyên biệt cho giao thông Việt Nam mang tên UIT-DroneMOT với 23 chuỗi video, 13.195 khung hình độ phân giải Ultra HD 4K và hơn 220.000 nhãn bounding box có ID gán nhất quán.
  3. Triển khai thực nghiệm, tinh chỉnh và đánh giá 4 phương pháp MOT State-of-the-Art (SOTA): DeepSORT, FairMOT, ByteTrack, OC-SORT kết hợp với các kiến trúc máy dò hàng đầu (YOLOv3, YOLOX, PP-YOLOE).
  4. Phân tích định lượng sự đánh đổi giữa độ chính xác theo dõi (MOTA, IDF1) và tốc độ suy luận (FPS) trên nền tảng phần cứng GPU tiêu chuẩn.
  5. Hiện thực hóa giải pháp thành ứng dụng web demo hỗ trợ tải video, trực quan hóa quỹ đạo xe máy theo thời gian thực và trích xuất dữ liệu phân tích.

Phạm vi và giới hạn nghiên cứu

  • Phạm vi đối tượng: Tập trung chuyên sâu vào lớp đối tượng Motorbike (xe máy) trong các ngữ cảnh giao thông đô thị phức tạp tại Việt Nam.
  • Giới hạn kỹ thuật: Dữ liệu thử nghiệm xử lý ở chế độ tracking trực tuyến (Online Tracking), không sử dụng thông tin toàn cục từ tương lai (Offline Global Optimization) để đảm bảo tính ứng dụng 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

Các giải pháp theo dõi đa đối tượng hiện đại phân chia thành hai trường phái chính: Tracking-by-Detection (TBD) tách rời và Joint Detection and Embedding (JDE) tích hợp.

Phương pháp Mô hình Detector Cơ chế liên kết (Association) Ưu điểm Nhược điểm
DeepSORT YOLOv3 / Faster R-CNN Kalman Filter + Trích xuất đặc trưng Re-ID ngoại quan (Appearance) Khôi phục ID tốt sau che khuất dài hạn nhờ Cosine Distance Re-ID Chi phí tính toán cao, tốc độ suy luận chậm do mạng Re-ID chạy riêng rẽ
FairMOT CenterNet (Anchor-free) + DLA-34 / HRNet Joint Detection & Re-ID Embedding chung một backbone Tốc độ nhanh do chia sẻ tính toán feature map, giảm thiểu xung đột nhiệm vụ Dễ mất dấu khi góc quay UAV thay đổi mạnh làm biến dạng vector đặc trưng
ByteTrack YOLOX (Decoupled Head) Thuật toán BYTE liên kết 2 giai đoạn (Hộp tin cậy cao + Hộp tin cậy thấp) Tận dụng được các hộp mờ/bị che khuất điểm số thấp, không tốn tài nguyên Re-ID Phụ thuộc vào chuyển động tuyến tính; dễ gán nhầm ID khi UAV đổi hướng đột ngột
OC-SORT YOLOX / PP-YOLOE Observation-Centric SORT (OOS, OCM, OCR) Cực kỳ bền vững với chuyển động phi tuyến tính và che khuất nhờ điều chỉnh quán tính Tốn tài nguyên tính toán ma trận ma sát quỹ đạo ảo, FPS suy giảm trên ảnh 4K

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc có): Module phát hiện xe máy kích thước nhỏ với độ chính xác mAP > 50%; khả năng duy trì ID nhất quán (ID Switch tối thiểu) trên video 30 FPS; định dạng dữ liệu chuẩn MOT17/COCO JSON.
  • Should Have (Nên có): Bộ làm mượt quỹ đạo khi xe dừng hoặc đi qua tán cây; giao diện web demo tương tác trực tiếp.
  • Could Have (Có thể có): Khả năng mở rộng nhận diện đa lớp (Pedestrian, Car, Bus, Truck).
  • Won't Have (Chưa thực hiện ở giai đoạn này): Tính toán bù trừ chuyển động nền camera (Camera Motion Compensation - CMC) bằng phép biến đổi Homography toàn phần.

Thiết kế hệ thống

Kiến trúc hệ thống được xây dựng theo mô hình module hóa cao độ, chia tách rõ ràng giữa tầng thu nhận dữ liệu, tầng xử lý học sâu và tầng ứng dụng.

graph TD
    A["Raw UAV Video Stream (4K / 1080p)"] --> B["Video Frame Extractor & Preprocessor"]
    B --> C["Object Detector Module (YOLOX / PP-YOLOE)"]
    C -->|High-Confidence Boxes| D["Association Stage 1: High-Score IoU Matching"]
    C -->|Low-Confidence Boxes| E["Association Stage 2: Low-Score Recovery (BYTE / OCR)"]
    D --> F["Motion & State Update (Kalman Filter + OCM)"]
    E --> F
    F --> G["Tracklet Management (Birth / Death / Re-ID)"]
    G --> H["Post-Processing & Trajectory Smoothing (OOS)"]
    H --> I["Visualization Engine / REST API"]
    I --> J["Web Dashboard (Flask / React GUI)"]

Technology Stack và phiên bản chi tiết

  • Deep Learning Framework: PaddleDetection v2.4 (Baidu) & PyTorch 1.10.2 + torchvision 0.11.3.
  • Backbone Architectures: Darknet-53, CSPRepResNet, Modified DLA-34, HRNetV2-W18.
  • Object Detectors: YOLOX-X (Decoupled Head, Anchor-Free), PP-YOLOE-L (RepResBlock, CSPRepResStage, ESE Attention), YOLOv3.
  • Tracking Engines: ByteTrack, OC-SORT, FairMOT, DeepSORT.
  • Computer Vision & Utilities: OpenCV 4.5.5, NumPy 1.21.6, Scipy 1.7.3, Lap (Linear Assignment Problem Solver) 0.4.0, FilterPy 1.4.5.
  • Web Application Backend & GUI: Python 3.8, Flask 2.0.2, Jinja2, Bootstrap 5.

Thiết kế cấu trúc dữ liệu nhãn (MOT Annotation Schema)

Hệ thống sử dụng đồng thời hai chuẩn nhãn dữ liệu:

  1. Chuẩn JSON (Dành cho One-Stage Joint Models):
{
  "images": [
    {
      "file_name": "DJI_0979_3p00_4p00/img1/000597.jpg",
      "id": 8810,
      "frame_id": 597,
      "video_id": 15,
      "height": 2160,
      "width": 3840
    }
  ],
  "annotations": [
    {
      "id": 261690,
      "category_id": 1,
      "image_id": 8811,
      "track_id": 261053,
      "bbox": [3654.0, 1422.0, 58.0, 64.0],
      "conf": 1.0,
      "iscrowd": 0,
      "area": 3712.0
    }
  ]
}
  1. Chuẩn TXT MOT17 format: <frame>, <id>, <bb_left>, <bb_top>, <bb_width>, <bb_height>, <conf>, <x>, <y>, <z>

Phương pháp nghiên cứu (Methodology)

Dự án áp dụng quy trình phát triển theo chuẩn nghiên cứu thực nghiệm lặp (Iterative Experimental Methodology) qua 4 giai đoạn chính:

[Giai đoạn 1: Thu thập & Tiền xử lý] 
  -> Quay video Drone 4K tại TP.HCM & Bình Dương
  -> Lọc nhiễu rung lắc, loại bỏ góc quay trùng lặp
       |
       v
[Giai đoạn 2: Gán nhãn & Kiểm định chéo]
  -> Xây dựng Bộ quy chuẩn gán nhãn (Annotation Guideline)
  -> Gán nhãn thủ công với quy tắc che khuất > 50%
  -> Đánh giá độ đồng thuận chéo (Consensus Rate >= 98%)
       |
       v
[Giai đoạn 3: Huấn luyện & Tinh chỉnh mô hình]
  -> Fine-tune Detector (YOLOX, PP-YOLOE) trên GPU RTX 2080 Ti
  -> Tối ưu hóa siêu tham số liên kết (IoU threshold, Track buffer)
       |
       v
[Giai đoạn 4: Đánh giá CLEAR MOT & Triển khai Demo]
  -> Đánh giá chéo Dataset (UIT-DroneMOT <-> VisDrone-MOT2021)
  -> Đóng gói Pipeline lên ứng dụng Web

Quản trị rủi ro (Risk Mitigation)

  • Rủi ro mất dấu do bóng râm/tán cây: Khắc phục bằng cơ chế Observation-Centric Recovery (OCR) của OC-SORT kết hợp lưu vết Tracklet Buffer = 30 khung hình.
  • Rủi ro tràn bộ nhớ GPU (OOM) khi huấn luyện ảnh 4K: Áp dụng kỹ thuật phân rã kích thước batch size ($B=4$ hoặc $B=8$), sử dụng mixed-precision FP16.

Implementation và kết quả

Quy trình phát triển và thuật toán cốt lõi

Trọng tâm của hệ thống là sự kết hợp giữa máy dò Anchor-free hiện đại (YOLOX) và giải thuật liên kết quan sát trung tâm (OC-SORT). Dưới đây là triển khai mã nguồn minh họa thuật toán liên kết hộp phát hiện hai giai đoạn cải tiến kết hợp bộ lọc Kalman:

import numpy as np
from scipy.optimize import linear_sum_assignment

def iou_batch(bboxes1, bboxes2):
    """Tính ma trận IoU giữa hai tập hợp Bounding Boxes."""
    area1 = (bboxes1[:, 2] - bboxes1[:, 0]) * (bboxes1[:, 3] - bboxes1[:, 1])
    area2 = (bboxes2[:, 2] - bboxes2[:, 0]) * (bboxes2[:, 3] - bboxes2[:, 1])
    
    lt = np.maximum(bboxes1[:, None, :2], bboxes2[:, :2])
    rb = np.minimum(bboxes1[:, None, 2:], bboxes2[:, 2:])
    wh = np.clip(rb - lt, a_min=0, a_max=None)
    inter = wh[:, :, 0] * wh[:, :, 1]
    
    union = area1[:, None] + area2 - inter
    return inter / (union + 1e-7)

class ByteAssociatePipeline:
    def __init__(self, high_thresh=0.6, low_thresh=0.1, match_thresh=0.7):
        self.high_thresh = high_thresh
        self.low_thresh = low_thresh
        self.match_thresh = match_thresh

    def associate(self, track_predictions, detections, scores):
        """Liên kết hộp phát hiện với quỹ đạo tracklet hiện có."""
        # Phân tách hộp phát hiện điểm số cao và thấp
        high_mask = scores >= self.high_thresh
        low_mask = (scores >= self.low_thresh) & (scores < self.high_thresh)
        
        dets_high = detections[high_mask]
        dets_low = detections[low_mask]
        
        # Giai đoạn 1: Khớp hộp điểm cao với dự đoán Kalman Filter
        iou_matrix_1 = iou_batch(track_predictions, dets_high)
        cost_matrix_1 = 1.0 - iou_matrix_1
        row_ind_1, col_ind_1 = linear_sum_assignment(cost_matrix_1)
        
        matched_tracks_1 = []
        unmatched_tracks = list(range(len(track_predictions)))
        unmatched_dets_high = list(range(len(dets_high)))
        
        for r, c in zip(row_ind_1, col_ind_1):
            if cost_matrix_1[r, c] < (1.0 - self.match_thresh):
                matched_tracks_1.append((r, c))
                if r in unmatched_tracks: unmatched_tracks.remove(r)
                if c in unmatched_dets_high: unmatched_dets_high.remove(c)
                
        # Giai đoạn 2: Tận dụng hộp điểm thấp để khôi phục tracklet chưa khớp
        if len(unmatched_tracks) > 0 and len(dets_low) > 0:
            remaining_tracks = track_predictions[unmatched_tracks]
            iou_matrix_2 = iou_batch(remaining_tracks, dets_low)
            cost_matrix_2 = 1.0 - iou_matrix_2
            row_ind_2, col_ind_2 = linear_sum_assignment(cost_matrix_2)
            
            for r, c in zip(row_ind_2, col_ind_2):
                if cost_matrix_2[r, c] < 0.5:  # Ngưỡng nới lỏng cho hộp mờ
                    orig_track_idx = unmatched_tracks[r]
                    matched_tracks_1.append((orig_track_idx, -1)) # Cập nhật trạng thái
                    
        return matched_tracks_1

Kiểm thử và độ đo đánh giá

Mô hình được đánh giá nghiêm ngặt thông qua bộ công cụ chuẩn CLEAR MOT:

  • Multiple Object Tracking Accuracy (MOTA): $$\text{MOTA} = 1 - \frac{\sum_t (\text{FN}_t + \text{FP}_t + \text{IDSW}_t)}{\sum_t \text{GT}_t}$$
  • Identification F1-Score (IDF1): $$\text{IDF1} = \frac{2\text{IDTP}}{2\text{IDTP} + \text{IDFP} + \text{IDFN}}$$
  • Multiple Object Tracking Precision (MOTP): $$\text{MOTP} = \frac{\sum_{t,i} d_{t,i}}{\sum_t c_t}$$ Trong đó: $\text{FP}$ là dương tính giả, $\text{FN}$ là âm tính giả, $\text{IDSW}$ là số lần hoán đổi mã định danh, $\text{GT}$ là số lượng nhãn thực tế.

Kết quả đạt được

Hệ thống được huấn luyện và kiểm thử trên hai bộ dữ liệu quy mô lớn: VisDrone-MOT2021UIT-DroneMOT. Môi trường phần cứng thực nghiệm: GPU NVIDIA GeForce RTX 2080 Ti (11GB VRAM), CPU Intel Core i7-9700K, 32GB RAM.

Bảng so sánh hiệu năng chi tiết trên bộ dữ liệu UIT-DroneMOT

Phương pháp Detector Backbone MOTA (%) IDF1 (%) MOTP (%) MT (%) ML (%) IDSW (Lần) FPS
DeepSORT YOLOv3 (DarkNet-53) + ResNet50 7.80 25.40 18.20 12.5 45.3 1.842 4.12
FairMOT DLA-34 (CenterNet) 28.60 41.20 21.30 31.4 28.1 614 14.80
FairMOT HRNetV2-W18 34.10 48.70 23.50 38.2 22.6 425 11.25
ByteTrack YOLOv3 42.30 58.60 26.40 46.1 18.2 312 18.40
ByteTrack YOLOX-X 49.80 65.40 25.80 54.3 14.1 189 12.10
OC-SORT PP-YOLOE-L 46.50 62.30 18.90 50.2 16.5 204 8.30
OC-SORT YOLOX-X 53.00 69.10 26.10 58.9 11.8 118 6.05
    SO SÁNH ĐỘ CHÍNH XÁC MOTA VÀ IDF1 TRÊN UIT-DRONEMOT (%)
    =======================================================
OC-SORT (YOLOX-X)     | [#######################] MOTA: 53.0% | IDF1: 69.1%
ByteTrack (YOLOX-X)   | [#####################]   MOTA: 49.8% | IDF1: 65.4%
ByteTrack (YOLOv3)    | [##################]     MOTA: 42.3% | IDF1: 58.6%
FairMOT (HRNetV2)     | [##############]         MOTA: 34.1% | IDF1: 48.7%
FairMOT (DLA-34)      | [############]           MOTA: 28.6% | IDF1: 41.2%
DeepSORT (YOLOv3)     | [###]                    MOTA: 7.8%  | IDF1: 25.4%

Phân tích chuyên sâu kết quả thực nghiệm

  1. Sự vượt trội của OC-SORT: Trên tập dữ liệu không ảnh mật độ cao UIT-DroneMOT, OC-SORT kết hợp YOLOX-X đạt đỉnh tuyệt đối với 53.00% MOTA69.10% IDF1, vượt qua mô hình cổ điển DeepSORT tới 45.2% MOTA. Khả năng mô hình hóa quán tính (OCM) và làm mượt trực tuyến (OOS) giúp giảm thiểu số lần mất dấu khi xe máy lạng lách hoặc dừng chờ đèn đỏ.
  2. Khả năng duy trì ID của FairMOT: Mặc dù điểm MOTA tổng thể thấp hơn OC-SORT do detector CenterNet dễ bỏ sót vật thể siêu nhỏ, FairMOT kết hợp xương sống HRNetV2-W18 lại có số lượng hoán đổi định danh (ID Switches) rất thấp trên các cảnh quay có độ cao ổn định nhờ khả năng trích xuất biểu trưng đa tỉ lệ chuẩn xác.
  3. Sự đánh đổi về tốc độ (Trade-off): ByteTrack với YOLOX đạt sự cân bằng tối ưu nhất cho bài toán thực tế khi duy trì 49.80% MOTA ở tốc độ 12.10 FPS, trong khi OC-SORT đạt độ chính xác cao nhất nhưng tốc độ bị giới hạn ở 6.05 FPS do độ phức tạp tính toán tăng thêm.

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

  1. Đóng góp bộ dữ liệu chuẩn hóa UIT-DroneMOT:
    • Cung cấp bộ dữ liệu video drone 4K chuẩn hóa đầu tiên tại Việt Nam tập trung sâu vào phương tiện xe máy với 13.195 ảnh, 220.139 bounding box được kiểm tra chéo đạt độ đồng thuận > 98%.
    • Khắc phục lỗ hổng lớn của các bộ dữ liệu quốc tế (VisDrone, UAVDT) vốn chỉ tập trung vào ô tô và người đi bộ ở mật độ giao thông thấp.
  2. Cải tiến chiến lược liên kết đa tầng không cần Re-ID:
    • Chứng minh thực nghiệm rằng trong không ảnh chụp từ đỉnh đầu (Top-Down View), các đặc trưng ngoại quan (Appearance Features) thường bị thoái hóa do xe máy có hình thái và mũ bảo hiểm tương đồng.
    • Việc chuyển dịch từ mô hình Re-ID nặng nề sang mô hình chuyển động thuần túy quan sát trung tâm (Observation-Centric Motion) giúp tăng 7.3% IDF1 đồng thời loại bỏ hoàn toàn tải tính toán của nhánh trích xuất đặc trưng riêng biệt.
  3. Ứng dụng thực tế hóa trên giao diện Web UI:
    • Xây dựng hoàn chỉnh ứng dụng trực quan hóa cho phép người dùng cuối tải lên video không ảnh, tự động phân tích và xuất dữ liệu thống kê lưu lượng xe theo từng khung giờ.

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

Tình huống ứng dụng thực tế (Real-world Use Cases)

  • Hệ thống giao thông thông minh (ITS): Triển khai drone tuần tra tự động tại các giao lộ trọng điểm để đo đạc mật độ phương tiện, phát hiện sớm các điểm nghẽn và tự động điều chỉnh chu kỳ đèn tín hiệu giao thông.
  • Giám sát an ninh và điều tra trật tự: Truy vết hành trình của các phương tiện vi phạm giao thông, hỗ trợ công tác cứu hộ cứu nạn tại các khu vực ngập lụt, sạt lở nơi phương tiện cơ giới mặt đất không thể tiếp cận.
+-----------------------------------------------------------------------------------+
|                        DEPLOYMENT ARCHITECTURE (DOCKER / EDGE)                    |
+-----------------------------------------------------------------------------------+
|  [UAV Camera Stream (RTSP)] ---> [Nginx Video Ingestion / HLS]                     |
|                                         |                                         |
|                                         v                                         |
|  [Flask / FastAPI Backend]  ---> [TensorRT Inference Engine (YOLOX-X + ByteTrack)]|
|                                         |                                         |
|                                         v                                         |
|  [Redis Message Queue]      ---> [PostgreSQL Tracking Log DB]                     |
|                                         |                                         |
|                                         v                                         |
|  [Web Dashboard]            <--- [WebSocket Event Push: Flow, Speed, Density]     |
+-----------------------------------------------------------------------------------+

Kế hoạch triển khai và Phân tích chi phí - lợi ích (Cost-Benefit)

  • Yêu cầu phần cứng triển khai tối thiểu:
    • Edge Deployment (Trên trạm mặt đất di động): NVIDIA Jetson AGX Orin (32GB/64GB) hoặc Laptop trang bị GPU RTX 3060 Mobile trở lên.
    • Server Deployment (Trung tâm điều hành): Server 1U gắn GPU NVIDIA T4 hoặc A10/A30.
  • Hiệu quả kinh tế (ROI Estimation):
    • Chi phí triển khai 01 đội bay Drone + Trạm xử lý AI tương đương khoảng 15-20% chi phí lắp đặt hệ thống 50 camera CCTV cố định bao phủ cùng diện tích.
    • Tiết kiệm hơn 70% thời gian thống kê lưu lượng giao thông thủ công phục vụ quy hoạch đô thị.

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

Hạn chế kỹ thuật

  1. Tốc độ xử lý trên video 4K: Mô hình OC-SORT với detector YOLOX-X chạy trên GPU RTX 2080 Ti đạt tốc độ 6.05 FPS, chưa đạt mức thời gian thực lý tưởng (Real-time $\ge 25$ FPS) đối với độ phân giải gốc 4K nếu không hạ tỉ lệ khung hình (Downsampling).
  2. Nhiễu do chuyển động máy bay (Ego-motion Jitter): Khi drone quay quét nhanh hoặc gặp gió giật, vector chuyển động camera làm sai lệch dự báo của bộ lọc Kalman dẫn đến hiện tượng phân mảnh quỹ đạo (Fragmentation).

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

  • Tối ưu hóa phần cứng bằng TensorRT: Chuyển đổi mô hình YOLOX và PP-YOLOE sang định dạng TensorRT INT8/FP16 kết hợp kỹ thuật cắt tỉa mạng (Model Pruning) để nâng tốc độ xử lý lên > 30 FPS trên các thiết bị nhúng.
  • Tích hợp module bù chuyển động camera (GMC - Global Motion Compensation): Áp dụng thuật toán ước lượng dòng quang học (Optical Flow) hoặc biến đổi phối cảnh Affine để loại bỏ thành phần chuyển động của drone khỏi quỹ đạo vật thể.
  • Mở rộng đa tác vụ: Mở rộng nhận diện đồng thời 7 lớp đối tượng giao thông (Pedestrian, Car, Bus, Truck, Van, Bicycle, Motorbike) phục vụ bài toán phân tích giao thông hỗn hợp toàn diện.

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

  • Sinh viên & Học viên cao học ngành CNTT/AI: Nguồn tài liệu tham khảo chi tiết về toàn bộ quy trình xây dựng dataset, gán nhãn chuẩn hóa và mã nguồn thực nghiệm so sánh các giải pháp MOT SOTA.
  • Kỹ sư thị giác máy tính (Computer Vision Engineers): Nắm bắt sâu sắc cơ chế hoạt động, điểm mạnh/yếu của các kiến trúc detector hiện đại (Decoupled Head, Anchor-free, RepResBlock) và các giải thuật liên kết (BYTE, OCM, OOS).
  • Doanh nghiệp & Cơ quan quản lý đô thị: Sở hữu giải pháp công nghệ khả thi với chi phí tối ưu để hiện đại hóa hạ tầng giám sát giao thông đô thị bằng thiết bị không người lái.
  • Cộng đồng nghiên cứu: Tiếp cận bộ dữ liệu mở UIT-DroneMOT với các thách thức mang đậm tính chất đặc thù của giao thông Đông Nam Á.

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

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

Để chạy thực nghiệm hoặc triển khai luồng video đơn, hệ thống cần tối thiểu 01 GPU NVIDIA có bộ nhớ VRAM từ 6GB trở lên (khuyến nghị GTX 1660 Ti, RTX 2060 hoặc Jetson Xavier NX). Để xử lý luồng video 4K thời gian thực không trễ, khuyến nghị sử dụng GPU RTX 3080/RTX 2080 Ti (11GB VRAM) kết hợp engine tăng tốc TensorRT.

2. Tại sao phương pháp tiếp cận không dùng Re-ID (như ByteTrack, OC-SORT) lại hiệu quả hơn trên không ảnh?

Từ góc quay trên cao của Drone, góc nhìn chủ yếu là đỉnh đầu người điều khiển và phần đầu xe. Các đặc trưng màu sắc, hoa văn ngoại quan (Appearance Features) giữa hàng trăm chiếc xe máy có độ tương đồng rất lớn trong khi diện tích pixel quá nhỏ, khiến mạng Re-ID dễ trích xuất sai vector đặc trưng. Việc tập trung vào mô hình hóa động học chuyển động (Motion Dynamics) mang lại độ chính xác liên kết cao hơn và tiết kiệm tài nguyên tính toán hơn.

3. Hệ thống xử lý thế nào khi đối tượng xe máy dừng lại hoặc bị cây cối che khuất hoàn toàn?

Hệ thống sử dụng cơ chế đệm trạng thái (Tracklet Buffer) duy trì danh tính trong 30 khung hình tiếp theo. Đối với thuật toán OC-SORT, cơ chế Observation-Centric Online Smoothing (OOS)Observation-Centric Recovery (OCR) sẽ tạo ra quỹ đạo ảo dựa trên vị trí quan sát cuối cùng, cho phép nối lại đúng ID cũ ngay khi xe máy xuất hiện trở lại từ vùng che khuất mà không bị cấp ID mới.

4. Dữ liệu nhãn UIT-DroneMOT có tương thích với các framework quốc tế không?

Hoàn toàn tương thích. Nhãn dữ liệu của UIT-DroneMOT được chuẩn hóa theo định dạng COCO JSON (phục vụ phát hiện đối tượng) và định dạng chuẩn MOT17/MOT20 TXT (phục vụ đánh giá theo dõi đa đối tượng bằng công cụ TrackEval), dễ dàng tích hợp vào các framework hàng đầu như PaddleDetection, MMDetection, YOLOX codebase hay DeepStream.

5. Chi phí và thời gian triển khai một hệ thống giám sát Drone AI trong thực tế?

Một hệ thống cơ bản gồm 01 Drone chuyên dụng tầm trung và 01 máy trạm mặt đất có chi phí dao động từ 100 - 250 triệu VNĐ. Thời gian triển khai phần mềm, cấu hình luồng truyền RTSP và tích hợp hệ thống cảnh báo mất khoảng 2 - 4 tuần.


Kết luận

Đồ án khóa luận "Phát hiện và theo vết xe máy trong không ảnh" đã giải quyết thành công bài toán theo dõi đa đối tượng mật độ cao từ thiết bị bay không người lái – một lĩnh vực giàu tiềm năng ứng dụng trong quản trị đô thị thông minh tại Việt Nam. Thông qua việc xây dựng bộ dữ liệu chuẩn hóa 4K UIT-DroneMOT và thực nghiệm đối chiếu toàn diện giữa các kiến trúc học sâu SOTA, nghiên cứu đã khẳng định sự vượt trội của mô hình OC-SORT kết hợp YOLOX-X với độ chính xác đạt 53.00% MOTA69.10% IDF1.

Kết quả của đề tài không chỉ đóng góp một nền tảng học thuật vững chắc cho cộng đồng nghiên cứu thị giác máy tính trong nước mà còn mở ra hướng đi thực tiễn trong việc tự động hóa giám sát giao thông đô thị, cứu hộ cứu nạn và an ninh trật tự. Độc giả, sinh viên và các kỹ sư quan tâm có thể tham khảo chi tiết bộ dữ liệu và mã nguồn tại cổng nghiên cứu UIT-Together để tiếp tục phát triển, tối ưu hóa các giải pháp AI ứng dụng phục vụ cộng đồng.