Giới thiệu dự án

Sự bùng nổ của kỷ nguyên số và internet băng thông rộng đã dẫn đến sự tăng trưởng hàm mũ của dữ liệu đa phương tiện trực tuyến. Theo ước tính từ các nền tảng video toàn cầu như YouTube và Vimeo, có hơn 500 giờ video được đăng tải mỗi phút, đưa tổng khối lượng lưu trữ toàn cầu lên mức hàng trăm exabyte. Tuy nhiên, hơn 85% dữ liệu video hiện nay tồn tại dưới dạng phi cấu trúc (unstructured data), thiếu vắng các nhãn siêu dữ liệu (metadata) chi tiết và có độ dài trải rộng qua nhiều bối cảnh khác nhau.

Việc định vị chính xác một đoạn cắt ngắn (video shot) chứa nội dung, hành động hoặc văn bản cụ thể trong hàng nghìn giờ video trở thành một bài toán hóc búa đối với thị giác máy tính (Computer Vision) và truy vấn thông tin đa phương tiện (Multimedia Information Retrieval - MIR). Tìm kiếm tuần tự truyền thống hoàn toàn bất khả thi khi không gian tìm kiếm mở rộng tới quy mô hàng triệu khung hình.

Khóa luận tốt nghiệp ngành Khoa học Máy tính tại Trường Đại học Công nghệ Thông tin – ĐHQG-HCM do sinh viên Nguyễn Hồng Quang và Đinh Xuân Vũ thực hiện (dưới sự hướng dẫn của TS. Mai Tiến Dũng và ThS. Đỗ Văn Tiến) đã giải quyết triệt để rào cản này. Đề tài tập trung nghiên cứu và phát triển Hệ thống truy vấn video tương tác (Interactive Video Retrieval System - IVR) trên tập dữ liệu tiêu chuẩn quốc tế V3C1 (Vimeo Creative Commons Collection 1), vốn được sử dụng chính thức trong cuộc thi thường niên danh giá Video Browser Showdown (VBS) thuộc hội nghị quốc tế MultiMedia Modeling (MMM).

+-----------------------------------------------------------------------------------+
|                            BÀI TOÁN TRUY VẤN VIDEO TƯƠNG TÁC                      |
|                                                                                   |
|  [Đầu vào Người dùng]                [Trích xuất Đa phương thức]     [Kết quả]   |
|  - Câu mô tả văn bản (Text)     --->  - CLIP ViT-B/32 (Cross-Modal)  --> Top-K   |
|  - Chữ trong cảnh (Scene-Text)  --->  - PP-OCR / ElasticSearch       --> Video   |
|  - Nhãn âm thanh (Audio Tag)    --->  - PANNs CNN14 Vector Search    --> Shots   |
+-----------------------------------------------------------------------------------+

Mục tiêu của dự án

  1. Nghiên cứu nền tảng lý thuyết và khảo sát hiện trạng: Đánh giá các kiến trúc truy vấn video tiên tiến từng tham gia đấu trường VBS (SOMHunter, VIRET, vitrivr, VIREO) và các mô hình học sâu hiện đại như Vision Transformer (ViT), Contrastive Language-Image Pre-Training (CLIP).
  2. Tiền xử lý và phân đoạn video tự động: Áp dụng mô hình học sâu TransNetV2 để phân đoạn toàn bộ 7.475 video thành gần 1.000.000 shots và trích xuất các khung hình chính (keyframes) tiêu biểu.
  3. Xây dựng hệ thống trích xuất đặc trưng đa phương thức (Multi-modal Feature Extraction): Tích hợp trích xuất nhúng không gian đa chiều cho văn bản/hình ảnh (CLIP), nhận dạng văn bản quang học trong cảnh (PP-OCR/Scene-Text Recognition) và gán nhãn âm thanh tự động (Audio Tagging với PANNs).
  4. Tối ưu hóa lập chỉ mục và tìm kiếm nhanh: Xây dựng cơ sở dữ liệu vector tốc độ cao bằng thư viện FAISS (Facebook AI Similarity Search) kết hợp với Elasticsearch cho truy vấn văn bản mờ (Fuzzy Search).
  5. Thiết kế và phát triển giao diện Web UI tương tác: Cung cấp hệ thống tương tác thời gian thực, cho phép người dùng linh hoạt phối hợp truy vấn ngữ nghĩa, duyệt shot và xem trước theo dòng thời gian (Timeline View).
  6. Thực nghiệm mô phỏng VBS: Đánh giá độ chính xác và thời gian phản hồi thông qua các tác vụ Known-Item Search (KIS) gồm Visual KIS (V-KIS) và Textual KIS (T-KIS).

Phạm vi và giới hạn hệ thống

  • Tập dữ liệu áp dụng: Tập dữ liệu V3C1 gồm 7.475 video định dạng H.264, tổng thời lượng hơn 1.000 giờ (~1,6 TB dữ liệu thô).
  • Ngôn ngữ xử lý: Toàn bộ truy vấn ngữ nghĩa, nhãn âm thanh và nhận dạng văn bản đều chuẩn hóa bằng tiếng Anh.
  • Môi trường hoạt động: Hệ thống chạy trên nền tảng cục bộ/máy chủ GPU, phục vụ tác vụ truy vấn tương tác thời gian thực dưới 5 phút cho mỗi kịch bản tìm kiếm chuẩn VBS.

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

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

Tại cuộc thi quốc tế Video Browser Showdown (VBS 2020), các hệ thống hàng đầu thế giới đã đưa ra nhiều hướng tiếp cận khác nhau để xử lý tập dữ liệu lớn V3C1. Việc phân tích ưu nhược điểm của các giải pháp này là tiền đề thiết kế nên hệ thống UIT-VBS tối ưu:

Hệ thống Cơ chế trích xuất chính Phương pháp lập chỉ mục Ưu điểm Nhược điểm
SOMHunter W2VV++, ResNet, Color Sketch High-Dim Index, SOM (Self-Organizing Maps) Giao diện SOM phản hồi liên quan cực tốt cho V-KIS Phụ thuộc nhiều vào kỹ năng duyệt lưới SOM của người dùng
VIRET W2VV++, Semantic Sketches D-Index, Vector Similarity Tìm kiếm đa chế độ (Example, Sketch, Temporal Query) Chi phí tính toán cao khi phối hợp nhiều ràng buộc sketch
vitrivr Deep Features, OCR, Audio Tags, Captions Cineast Architecture, Cottontail DB Đa dạng đặc trưng (màu sắc, vị trí, văn bản, âm thanh) Quá trình tiền xử lý nặng nề; độ chính xác phụ thuộc nhãn rời rạc
VIREO Concept Detectors, W2VV++, Color Inverted Index, Vector Ranker Kết hợp phân loại đối tượng, địa điểm và hành động tốt Giao diện điều chỉnh trọng số phức tạp cho người dùng mới
Hệ thống đề xuất (UIT-VBS) CLIP ViT-B/32, TransNetV2, PP-OCR, PANNs FAISS (IVFPQ / FlatL2), Elasticsearch 7.x Độ khớp ngữ nghĩa tự do vượt trội, truy vấn văn bản/âm thanh/hình ảnh hợp nhất Cần dung lượng RAM/VRAM tương đối để duy trì chỉ mục vector

Ma trận ưu tiên yêu cầu người dùng (MoSCoW)

  • Must Have (Bắt buộc):
    • Phân đoạn Shot Boundary tự động bằng TransNetV2 với độ trễ thấp và độ chính xác cao.
    • Truy vấn ngữ nghĩa tự do (Text-to-Image Search) sử dụng không gian nhúng chung (Joint Embedding Space).
    • Lập chỉ mục không gian vector đa chiều đạt thời gian truy xuất Top-K dưới 300ms.
    • Giao diện tương tác cho phép xem thumbnail, chi tiết shot và các shot lân cận trong cùng video.
  • Should Have (Nên có):
    • Tìm kiếm văn bản xuất hiện trên khung hình (Scene-Text Search) hỗ trợ Fuzzy Search và khoảng cách Levenshtein.
    • Tìm kiếm theo phân loại âm thanh (Audio Tag Search) dựa trên 527 lớp sự kiện âm thanh chuẩn AudioSet.
  • Could Have (Có thể có):
    • Sắp xếp và tái xếp hạng kết quả theo độ liên quan (Relevance Re-ranking).
    • Bộ lọc video theo thời lượng và chỉ mục thời gian (Temporal Offset).
  • Won't Have (Chưa thực hiện trong phạm vi này):
    • Vẽ phác thảo màu sắc trực tiếp trên canvas (Color Sketching).
    • Xử lý luồng video trực tiếp theo thời gian thực (Live Stream Ingestion).

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 4 tầng (Layered Architecture), phân tách độc lập giữa xử lý ngầm (Offline Preprocessing) và truy vấn thời gian thực (Online Querying).

+-----------------------------------------------------------------------------------+
|                           KIẾN TRÚC HỆ THỐNG UIT-VBS                              |
+-----------------------------------------------------------------------------------+
|  [TẦNG TIỀN XỬ LÝ DỮ LIỆU (OFFLINE)]                                              |
|   V3C1 Raw Videos (7,475 files, ~1.6TB)                                           |
+-----------------------------------------------------------------------------------+
|  [TẦNG LẬP CHỈ MỤC VÀ LƯU TRỮ (STORAGE & INDEXING)]                               |
+-----------------------------------------------------------------------------------+
|  [TẦNG XỬ LÝ TRUY VẤN VÀ TÍNH ĐỘ TƯƠNG ĐỒNG (ONLINE ENGINE)]                      |
+-----------------------------------------------------------------------------------+
|  [TẦNG GIAO DIỆN TƯƠNG TÁC NGƯỜI DÙNG (FRONTEND / WEB UI)]                        |
+-----------------------------------------------------------------------------------+

Technology Stack và phiên bản

  • Ngôn ngữ lập trình: Python 3.8.10, TypeScript 4.4
  • Deep Learning Frameworks: PyTorch 1.9.0 + CUDA 11.1, TensorFlow 2.5.0
  • Thị giác máy tính & OCR: OpenCV 4.5.3, PaddleOCR 2.3.0 (PP-OCRv2)
  • Xử lý âm thanh: Librosa 0.8.1, PANNs Inference 0.1.1
  • Lập chỉ mục & Tìm kiếm: FAISS-GPU 1.7.1, Elasticsearch 7.14.0
  • Backend API & Web Server: FastAPI 0.68.0 / Flask 2.0.1, Gunicorn 20.1.0, Nginx 1.18
  • Frontend UI: React 17.0.2, TailwindCSS 2.2, Axios 0.21
{
  "mappings": {
    "properties": {
      "video_id": { "type": "keyword" },
      "shot_id": { "type": "integer" },
      "keyframe_path": { "type": "keyword", "index": false },
      "start_frame": { "type": "integer" },
      "end_frame": { "type": "integer" },
      "ocr_content": { 
        "type": "text", 
        "analyzer": "standard",
        "fields": {
          "fuzzy": {
            "type": "text",
            "analyzer": "simple"
          }
        }
      },
      "audio_tags": { "type": "keyword" }
    }
  }
}

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

Dự án áp dụng quy trình phát triển lặp nhanh theo chuẩn khoa học thực nghiệm, chia làm 3 giai đoạn chính:

+-----------------------------------------------------------------------------------------+
|                                TIẾN ĐỘ THỰC HIỆN DỰ ÁN                                  |
|                                                                                         |
|  [Tháng 09/2021 - 11/2021]  Giai đoạn 1: Nghiên cứu, tiền xử lý V3C1 & SBD TransNetV2   |
|  [Tháng 10/2021 - 12/2021]  Giai đoạn 2: Xây dựng Module CLIP, OCR, PANNs & FAISS       |
|  [Tháng 12/2021 - 01/2022]  Giai đoạn 3: Tích hợp Hệ thống, Web UI & Đánh giá VBS KIS   |
+-----------------------------------------------------------------------------------------+

Ma trận rủi ro và giải pháp khắc phục

  1. Rủi ro bùng nổ tài nguyên bộ nhớ: 1 triệu vector 512 chiều chiếm ~2 GB RAM ở dạng thô nhưng tăng vọt khi tải nhiều chỉ mục.
    • Giải pháp: Ứng dụng kỹ thuật lượng tử hóa tích phân vùng (Product Quantization - IVFPQ) trong FAISS giúp giảm 75% mức tiêu thụ RAM với độ suy giảm độ chính xác Top-10 dưới 2%.
  2. Nhiễu ký tự trong văn bản cảnh (Scene Text Noise): Chữ trích xuất từ camera di động thường bị nhòe, mất ký tự.
    • Giải pháp: Tích hợp thuật toán đối sánh mờ (Fuzzy matching) sử dụng khoảng cách Levenshtein $\le 2$ trên Elasticsearch.

Implementation và kết quả

Quá trình phát triển và các giải thuật cốt lõi

1. Phân đoạn Shot Boundary với TransNetV2

TransNetV2 sử dụng các khối tích chập giãn nở mật độ cao (Dilated Densely Connected Convolutions - DDCNV2) để duy trì trường tiếp nhận lớn mà không làm mất thông tin không gian. Mô hình tính toán xác suất chuyển cảnh cho chuỗi khung hình liên tiếp và áp dụng cơ chế Self-Attention:

$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$

Toàn bộ 7.475 video được trích xuất thành 1.082.260 shots. Với mỗi shot, khung hình chính giữa (middle frame) được trích xuất làm keyframe đại diện.

2. Không gian nhúng liên kết CLIP (Vision Transformer ViT-B/32)

Hệ thống sử dụng CLIP với kiến trúc Backbone Vision Transformer (ViT-B/32). Ảnh keyframe được chia thành các patch kích thước $16 \times 16$, đi qua lớp chiếu tuyến tính (Linear Projection) và Transformer Encoder để tạo vector đặc trưng $v_i \in \mathbb{R}^{512}$. Khi người dùng nhập câu truy vấn $q$, Text Encoder tạo vector $u_q \in \mathbb{R}^{512}$.

import torch
import clip
from PIL import Image
import faiss
import numpy as np

class VisualSearchEngine:
    def __init__(self, index_path: str, model_name: str = "ViT-B/32"):
        self.device = "cuda" if torch.cuda.is_available() else "cpu"
        self.model, self.preprocess = clip.load(model_name, device=self.device)
        self.index = faiss.read_index(index_path)
        
    def extract_text_feature(self, query_text: str) -> np.ndarray:
        text_tokens = clip.tokenize([query_text]).to(self.device)
        with torch.no_grad():
            text_features = self.model.encode_text(text_tokens)
            text_features /= text_features.norm(dim=-1, keepdim=True)
        return text_features.cpu().numpy().astype('float32')

    def search(self, query_text: str, top_k: int = 100):
        query_vector = self.extract_text_feature(query_text)
        distances, indices = self.index.search(query_vector, top_k)
        return distances[0], indices[0]

+-----------------------------------------------------------------------------------+
|                        QUY TRÌNH LẬP CHỈ MỤC VECTOR VỚI FAISS                     |
|                                                                                   |
|                            L2 Normalization (||v|| = 1)                           |
|                      FAISS IndexIVFFlat / IndexFlatIP Index                       |
|                             Tốc độ tìm kiếm: ~12ms / 1M shots                     |
+-----------------------------------------------------------------------------------+

3. Mô-đun Scene-Text Search với PP-OCR & Elasticsearch

Sử dụng mạng phát hiện văn bản DBNet (Differentiable Binarization) kết hợp mô hình nhận dạng CRNN (Convolutional Recurrent Neural Network). Các từ trích xuất được làm sạch và nạp vào Elasticsearch:

from elasticsearch import Elasticsearch

def query_scene_text(es_client: Elasticsearch, keyword: str, max_results: int = 50):
    query_body = {
        "size": max_results,
        "query": {
            "fuzzy": {
                "ocr_content": {
                    "value": keyword.lower(),
                    "fuzziness": "AUTO",
                    "prefix_length": 1,
                    "max_expansions": 50
                }
            }
        }
    }
    response = es_client.search(index="v3c1_ocr_index", body=query_body)
    return [hit["_source"]["shot_id"] for hit in response["hits"]["hits"]]

4. Mô-đun Audio Tagging với PANNs

Trích xuất tín hiệu âm thanh tần số 32kHz, chuyển đổi sang Log-Mel Spectrogram với 64 dải tần số. Mạng CNN14 phân loại trên 527 nhãn âm thanh thuộc tập dữ liệu AudioSet (tiếng động cơ xe, tiếng nhạc cụ, tiếng cười, v.v.).

Kiểm thử và đánh giá hiệu năng

Thực nghiệm được thiết kế bám sát thể thức thi đấu Video Browser Showdown (VBS):

  • Thiết lập 10 kịch bản Known-Item Search (KIS) chuẩn hóa với 5 tác vụ Visual-KIS (cho xem trước đoạn clip 20s lặp lại) và 5 tác vụ Textual-KIS (cho mô tả chi tiết bằng văn bản).
  • Giới hạn thời gian tối đa: 300 giây (5 phút) cho mỗi tác vụ.
STT Task Loại Task Mô tả mục tiêu truy vấn Thời gian tìm ra (s) Trạng thái hoàn thành
Task 1 Textual-KIS "A white horse running across a green field near a red barn" 42s Hoàn thành
Task 2 Textual-KIS "A street sign showing 'BROADWAY' with yellow taxicabs passing" 28s (Nhờ OCR) Hoàn thành
Task 3 Textual-KIS "A person playing acoustic guitar on a wooden stage" 55s (CLIP + Audio) Hoàn thành
Task 4 Textual-KIS "A man skating outdoor doing a kickflip on concrete stairs" 89s Hoàn thành
Task 5 Textual-KIS "A vintage steam locomotive passing through a snowy mountain" 112s Hoàn thành
Task 6 Visual-KIS Shot cận cảnh máy quay bay qua bờ biển cát đen (Iceland) 67s Hoàn thành
Task 7 Visual-KIS Shot người biểu diễn xiếc nhào lộn trên dây xích kim loại 145s Hoàn thành
Task 8 Visual-KIS Shot chữ "WELCOME TO LAS VEGAS" nhấp nháy ban đêm 21s (Nhờ OCR) Hoàn thành
Task 9 Visual-KIS Shot cận cảnh robot công nghiệp màu cam lắp ráp linh kiện 178s Hoàn thành
Task 10 Visual-KIS Shot một người lặn biển bơi cùng rùa biển trong hang ngầm 260s Hoàn thành
+-----------------------------------------------------------------------------------+
|                        KẾT QUẢ THỜI GIAN TRUY VẤN CÁC TÁC VỤ KIS                  |
|                                                                                   |
|  Task 8 (OCR)      [===>                               ] 21s                      |
|  Task 2 (OCR)      [=====>                             ] 28s                      |
|  Task 1 (Text)     [========>                          ] 42s                      |
|  Task 3 (Multi)    [==========>                        ] 55s                      |
|  Task 6 (Visual)   [=============>                     ] 67s                      |
|  Task 4 (Text)     [=================>                 ] 89s                      |
|  Task 5 (Text)     [======================>            ] 112s                     |
|  Task 7 (Visual)   [=============================>     ] 145s                     |
|  Task 9 (Visual)   [==================================>] 178s                     |
|  Task 10 (Visual)  [===================================================>] 260s    |
|                                                                                   |
|  0s                                              150s                       300s  |
+-----------------------------------------------------------------------------------+

Đánh giá chỉ số kỹ thuật

  • Tỷ lệ giải quyết tác vụ (KIS Success Rate): Đạt 100% trong số 10 tác vụ thử nghiệm với người dùng chuyên gia (Expert user) và 80% với người dùng mới (Novice user).
  • Thời gian phản hồi truy vấn trung bình (Mean Query Latency):
    • FAISS CLIP k-NN Search: 18,4 ms cho tập 1.082.260 vector.
    • Elasticsearch OCR Fuzzy Search: 45,2 ms.
    • Tải dữ liệu hình ảnh & Render UI: 120 ms.
  • Độ nén không gian lưu trữ: Giảm dung lượng biểu diễn 1.000 giờ video từ 1,6 TB xuống còn 2,1 GB chỉ mục vector và 450 MB chỉ mục Elasticsearch.

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

  1. Hợp nhất không gian nhúng đa phương thức thế hệ mới (Zero-Shot Cross-Modal Integration): Thay vì sử dụng các mạng W2VV++ phụ thuộc vào từ vựng cố định như các đội thi VBS 2020, hệ thống tích hợp mô hình Foundation Model CLIP ViT-B/32, cho phép hiểu sâu sắc ngữ cảnh ngôn ngữ tự nhiên mở mà không bị giới hạn trong tập nhãn đóng.
  2. Chiến lược phối hợp đa nguồn đặc trưng linh hoạt: Khắc phục nhược điểm "mù chữ cảnh" và "bỏ qua tín hiệu thính giác" của các công cụ tìm kiếm thuần thị giác. Khi có sự xuất hiện của biển hiệu, text đồ họa hoặc âm thanh đặc thù, người dùng giảm được hơn 70% thời gian tìm kiếm.
  3. Cấu trúc dữ liệu và giải thuật lập chỉ mục tối ưu: Ứng dụng mô hình phân vùng chỉ mục Inverted Index kết hợp khoảng cách Cosine trên FAISS, đạt tốc độ khớp tương đồng hàng triệu phần tử trong chưa đầy 0,02 giây trên GPU đơn lẻ.
  4. Đóng góp học thuật và công nghệ: Xây dựng thành công bộ khung thử nghiệm chuẩn hóa cho sinh viên và các nhóm nghiên cứu tại Việt Nam tiếp cận trực tiếp thể thức thi đấu VBS quốc tế.

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

Kịch bản ứng dụng trong đời sống

  • Đài truyền hình và hãng sản xuất phim (Media & Broadcasting): Quản lý kho lưu trữ tư liệu số (Digital Asset Management - DAM), cho phép biên tập viên tìm kiếm chính xác cảnh quay tư liệu chỉ bằng một câu nhớ mang tính nội dung (VD: "Cảnh phóng viên đứng dưới mưa tại lũ lụt miền Trung năm 2018").
  • An ninh trật tự và giao thông thông minh (Smart City Surveillance): Phục vụ cơ quan chức năng rà soát các đoạn trích xuất camera theo đặc điểm nghi can, màu sắc phương tiện, hoặc chữ số trên biển quảng cáo/biển số xe.
  • Nền tảng giáo dục trực tuyến (E-Learning Repositories): Định vị trực tiếp phân đoạn bài giảng nơi giảng viên viết công thức cụ thể lên bảng hoặc nói về một thuật ngữ học thuật.
+-----------------------------------------------------------------------------------+
|                        MÔ HÌNH TRIỂN KHAI HỆ THỐNG CLOUD/DOCKER                   |
|                                                                                   |
|                     [Client Browser (React 17 SPA)]                               |
|                      [Nginx Reverse Proxy & SSL]                                  |
|      [FastAPI Core Service]                 [Static CDN Service]                  |
|    - CLIP Text Encoder (PyTorch)          - Nginx Static Keyframe Server          |
|    - FAISS Vector Engine (GPU)            - 1,000,000 Thumbnails (WebP)           |
|    [Elasticsearch 7 Cluster]                                                      |
|    - Inverted OCR Indices & Audio Metadata                                        |
+-----------------------------------------------------------------------------------+

Yêu cầu cấu hình triển khai và chi phí

  • Cấu hình máy chủ tối thiểu:
    • CPU: 8 Cores (Intel Xeon hoặc AMD EPYC)
    • RAM: 32 GB DDR4
    • GPU: 1x NVIDIA RTX 3060 (12GB VRAM) hoặc RTX 3090 (24GB VRAM)
    • Lưu trữ: 500 GB NVMe SSD (chứa chỉ mục và ảnh thumbnail nén WebP)
  • Khả năng mở rộng (Scalability): Hệ thống sẵn sàng mở rộng tuyến tính lên tập dữ liệu V3C2 (2.300 giờ, ~2,2 triệu shots) bằng cách phân cụm FAISS sharding trên nhiều node máy chủ phân tán.

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

Hạn chế hiện tại

  • Hiện tượng trùng lặp khung hình trong cùng một shot/video: Các video tĩnh (slideshow, phỏng vấn góc quay cố định) sinh ra nhiều keyframes tương tự nhau, làm chiếm không gian hiển thị danh sách kết quả Top-K.
  • Thiếu vắng ràng buộc thời gian động (Temporal Sequential Queries): Hệ thống chưa hỗ trợ truy vấn chuỗi hành động nối tiếp theo dòng thời gian (VD: "Người bước vào phòng tại thời điểm $T$, sau đó bật đèn tại thời điểm $T+1$").
  • Rào cản ngôn ngữ: Hiện tại mô hình chỉ hỗ trợ độ chính xác cao nhất với đầu vào câu truy vấn tiếng Anh.

Hướng nâng cấp trong tương lai

  1. Tích hợp mô hình đa ngôn ngữ (Multilingual CLIP): Hỗ trợ dịch tự động và truy vấn trực tiếp bằng tiếng Việt tự nhiên mà không suy giảm độ chính xác ngữ nghĩa.
  2. Khai thác đồ thị tri thức không-thời gian (Spatio-Temporal Scene Graphs): Xây dựng mô hình quan hệ giữa các thực thể qua thời gian để giải quyết triệt để các tác vụ Ad-hoc Video Search (AVS).
  3. Thuật toán đa dạng hóa kết quả (Result Diversification): Tự động gom cụm các shot thuộc cùng một video trong trang kết quả để tối đa hóa độ phủ nội dung hiển thị cho người dùng.

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

  • Sinh viên chuyên ngành CNTT / Khoa học Máy tính: Tài liệu tham khảo toàn diện về cách kết hợp các mô hình Deep Learning đa phương thức (Vision-Language-Audio) vào một ứng dụng hoàn chỉnh đạt chuẩn thi đấu quốc tế.
  • Kỹ sư thị giác máy tính và tìm kiếm (AI/Search Engineers): Nắm vững kiến trúc triển khai thực tế của FAISS kết hợp Elasticsearch để xử lý bài toán tìm kiếm vector quy mô triệu phần tử.
  • Doanh nghiệp truyền thông và chuyển đổi số: Giải pháp công nghệ sẵn sàng tùy biến để thương mại hóa thành phần mềm quản trị và khai thác giá trị từ kho video tư liệu khổng lồ.
  • Nhà nghiên cứu học thuật: Cung cấp baseline mạnh mẽ để tiếp tục phát triển các thuật toán mới trong khuôn khổ các cuộc thi TRECVID và Video Browser Showdown.

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

1. Cần chuẩn bị cấu hình phần cứng như thế nào để triển khai hệ thống?

Để chạy toàn bộ hệ thống phục vụ truy vấn thời gian thực trên tập 1 triệu shot của V3C1, bạn cần tối thiểu 1 GPU NVIDIA có từ 8GB VRAM trở lên (hỗ trợ CUDA 11.x), 32GB RAM hệ thống và 500GB ổ cứng SSD để đọc ghi nhanh các tệp thumbnail keyframe và chỉ mục vector.

2. Hệ thống xử lý thế nào khi không gian tìm kiếm mở rộng lên hàng chục triệu video?

Hệ thống sử dụng cơ chế lượng tử hóa vector phân vùng (FAISS IVFPQ) kết hợp Voronoi Cell Partitioning. Khi số lượng video tăng lên gấp 10 lần, chỉ mục vector có thể phân mảnh (Sharding) trên nhiều GPU/Node khác nhau, đảm bảo độ trễ tìm kiếm vẫn duy trì ở mức dưới 100ms.

3. Có thể tích hợp hệ thống vào các nền tảng CMS hoặc cơ sở dữ liệu hiện có không?

Hoàn toàn có thể. Tầng backend của hệ thống được đóng gói dưới dạng các RESTful API độc lập thông qua FastAPI. Bất kỳ hệ thống quản lý nội dung (CMS) hay website nào cũng có thể gửi yêu cầu HTTP POST kèm câu truy vấn dạng văn bản và nhận về danh sách JSON chứa mã định danh video, vị trí khung hình và độ tương đồng.

4. Chi phí vận hành và bảo trì hệ thống ước tính là bao nhiêu?

Nếu triển khai trên các dịch vụ đám mây (Cloud Server như AWS/GCP), chi phí cho một phiên bản GPU (1x NVIDIA T4 / A10G) dao động khoảng 200 - 400 USD/tháng. Nếu đầu tư máy chủ vật lý chuyên dụng (On-premise Server), thời gian hoàn vốn (ROI) đạt dưới 6 tháng so với chi phí thuê nhân công gắn nhãn và tìm kiếm video thủ công.

5. Tại sao việc kết hợp cả CLIP, OCR và Audio lại vượt trội hơn các hệ thống chỉ dùng Text-to-Video truyền thống?

Trong thực tế, người dùng thường chỉ nhớ một chi tiết rất nhỏ như một dòng chữ tình cờ lướt qua hoặc tiếng còi xe, tiếng chuông điện thoại. Các mô hình Text-to-Video tổng quát thường bỏ qua các chi tiết điểm ảnh nhỏ (như biển hiệu chữ) hoặc tín hiệu sóng âm. Việc kết hợp 3 luồng dữ liệu độc lập giúp nâng cao xác suất định vị đúng shot (Recall@100) lên hơn 35% so với phương pháp đơn phương thức.


Kết luận

Đồ án tốt nghiệp "Tìm Hiểu Và Xây Dựng Hệ Thống Truy Vấn Video Trên Tập Dữ Liệu V3C1" của nhóm sinh viên Trường Đại học Công nghệ Thông tin – ĐHQG-HCM đã giải quyết thành công một trong những bài toán phức tạp và mang tính ứng dụng cao nhất của ngành Khoa học Máy tính hiện nay. Bằng việc kết hợp nhuần nhuyễn giữa các kiến trúc học sâu tiên tiến (TransNetV2, CLIP ViT-B/32, PP-OCR, PANNs) cùng công nghệ lập chỉ mục vector tốc độ cao (FAISS, Elasticsearch), hệ thống đã chứng minh được tính khả thi, hiệu năng vượt trội và độ chính xác cao trong môi trường thử nghiệm mô phỏng đấu trường quốc tế Video Browser Showdown. Đây là nền tảng kỹ thuật vững chắc, mở ra tiềm năng to lớn cho việc thương mại hóa các giải pháp tìm kiếm dữ liệu đa phương tiện thông minh trong tương lai.