Giới thiệu dự án

Bối cảnh và thực trạng ngành

Hệ thống camera giám sát (CCTV) đang bùng nổ mạnh mẽ tại các đô thị, trường học, tòa nhà và hộ gia đình tại Việt Nam. Tuy nhiên, việc giám sát an ninh phần lớn vẫn dựa vào sức người, dẫn đến nhiều lỗ hổng lớn:

  • Giới hạn sinh học: Nghiên cứu chỉ ra nhân viên an ninh suy giảm đến 95% khả năng tập trung sau 20 phút quan sát liên tục nhiều màn hình.
  • Thực trạng bạo lực: Theo báo cáo của UNICEF và Bộ Lao động - Thương binh & Xã hội, 68,4% trẻ em từ 1-14 tuổi từng bị bạo lực tại nhà; 62,9% phụ nữ chịu ít nhất một hình thức bạo lực trong đời. Trung bình mỗi năm có hơn 100.000 vụ bạo lực gia đình dẫn đến ly hôn, gây tổn hại sức khỏe và tiêu tốn khoảng 1,78% GDP.
  • Lãng phí dữ liệu: Phần lớn video từ camera an ninh chỉ được dùng để "truy vết hậu kiểm" sau khi sự việc đã xảy ra, thay vì cảnh báo theo thời gian thực.

Phát biểu bài toán (Problem Statement)

  • Đầu vào (Input): Video thô trích xuất từ camera giám sát tại Việt Nam ($V$), độ phân giải chuẩn hóa $240 \times 320$, tốc độ 30 FPS.
  • Đầu ra (Output): Điểm số bất thường/bạo lực (anomaly score $S_t \in [0, 1]$) cho từng phân đoạn thời gian (temporal segment) và khung hình (frame-level prediction), khoanh vùng chính xác thời điểm xảy ra ẩu đả, đánh, đấm, đá, vật, khống chế.
  • Điểm nghẽn cốt lõi (Pain Points):
    1. Thiếu dữ liệu chuẩn hóa gán nhãn chi tiết (frame-level): Gán nhãn từng khung hình cho hàng triệu frame tốn kém kinh phí và công sức chuyên gia.
    2. Độ chính xác và độ nhạy thấp: Các phương pháp học không giám sát (Unsupervised) có tỷ lệ cảnh báo giả (FAR) cao; trong khi học giám sát yếu (Weakly Supervised) với Deep MIL Ranking truyền thống dễ bỏ sót các phân đoạn bạo lực ngắn.

Mục tiêu dự án

  1. Xây dựng bộ dữ liệu benchmark UIT-ViolenceCCTV đặc thù cho ngữ cảnh an ninh camera tại Việt Nam.
  2. Thiết kế và phát triển phương pháp Top Multiple Instance Learning (Top MIL) Ranking nhằm tối ưu hóa hàm mất mát, tăng cường không gian học đặc trưng bạo lực.
  3. Đạt chỉ số diện tích dưới đường cong ROC (AUC) trên 80% và nhân đôi độ nhạy (Recall) so với phương pháp gốc Deep MIL Ranking (CVPR 2018).
  4. Xây dựng ứng dụng web minh họa (Web Demo) cho phép tải video, phân tích và trực quan hóa biểu đồ điểm số bạo lực theo từng mốc thời gian.

Hướng tiếp cận và giải pháp

Dự án áp dụng mô hình học giám sát yếu (Weakly Supervised Learning) dựa trên khung lý thuyết Multiple Instance Learning (MIL) Ranking:

  • Coi mỗi video là một "Túi" (Bag) và mỗi phân đoạn thời gian là một "Thể hiện" (Instance).
  • Tập huấn luyện chỉ yêu cầu nhãn ở mức video (Bag-level label): Video có bạo lực (Positive Bag, nhãn $Y=1$) chứa ít nhất một phân đoạn bạo lực; Video bình thường (Negative Bag, nhãn $Y=0$) hoàn toàn không chứa bạo lực.
  • Đột phá của đề xuất (Top MIL Ranking): Thay vì chỉ chọn 1 thể hiện có điểm cao nhất như Deep MIL Ranking gốc (dễ bị nhiễu hoặc bỏ sót), mô hình chọn top-$k$ phân đoạn có điểm số cao nhất trong Positive Bag kết hợp với các ràng buộc về tính trơn tru (Smoothness) và tính thưa thớt (Sparsity).

Kết quả kỳ vọng

  • AUC-ROC: $\ge 80.0%$.
  • Recall (Khả năng phát hiện bạo lực): $\ge 6.5%$ (gấp đôi mức 3.44% của baseline).
  • Độ phức tạp suy luận: Trích xuất và phân lớp phân đoạn đạt tốc độ xử lý gần thời gian thực trên GPU tầm trung.

Phạm vi và giới hạn

  • Phạm vi: Tập trung vào bạo lực thể chất (hành vi tát, đấm, đá, đâm, xô xát, khống chế) ghi nhận từ góc nhìn camera quan sát tĩnh hoặc bán tĩnh.
  • Giới hạn: Không xử lý bạo lực ngôn từ/âm thanh (do đa số CCTV không có micro); chưa tối ưu triệt để cho các tình huống camera bị rung lắc mạnh hoặc hiện tượng chen lấn trong đám đông lễ hội.

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

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

Tiêu chí Tiếp cận Không giám sát (Unsupervised) Giám sát hoàn toàn (Fully Supervised) Giám sát yếu: Deep MIL Ranking [42] Đề xuất: Top MIL Ranking
Dữ liệu huấn luyện Chỉ cần video bình thường Gán nhãn từng khung hình (Frame-level) Chỉ nhãn mức Video (Bag-level) Chỉ nhãn mức Video (Bag-level)
Chi phí gán nhãn Rất thấp ($O(1)$) Cực kỳ đắt đỏ ($O(N \times F)$) Rất thấp ($O(N)$) Rất thấp ($O(N)$)
Trích xuất đặc trưng Autoencoder / ConvLSTM-AE 2D-CNN + LSTM / TSN / I3D C3D (fc6 layer - 4096D) C3D (fc6 layer - 4096D)
Tỷ lệ báo động giả (FAR) Cao (Dễ nhận nhầm chuyển động nhanh) Thấp đến trung bình Trung bình Thấp
Độ nhạy (Recall) Thấp (< 3.0%) Cao (> 10.0%) Thấp (3.44%) Cải thiện vượt bậc (6.88%)
Khả năng tổng quát Tốt nhưng thiếu chính xác Kém khi gặp góc quay lạ Ổn định trên nhiều miền dữ liệu Tối ưu xuất sắc cho CCTV thực tế

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

Phân loại Tính năng / Yêu cầu kỹ thuật
Must have Pipeline trích xuất đặc trưng C3D 4096 chiều; Hàm mất mát Top MIL Ranking tùy biến tham số $k$; Khả năng suy luận ra điểm bạo lực theo từng frame; Giao diện Web hiển thị timeline video kèm viền cảnh báo đỏ.
Should have Bộ lọc chuẩn hóa khung hình trừ mean image Sports-1M; Ràng buộc Temporal Smoothness Loss và Sparsity Loss để ổn định đường cong phát hiện; Hỗ trợ định dạng MP4, AVI.
Could have Tích hợp MobileNet tiền xử lý phát hiện người (Human Detection) để giảm chi phí tính toán 3D-CNN; Hỗ trợ xuất báo cáo PDF các phân đoạn bất thường.
Won't have Nhận diện khuôn mặt đối tượng tham gia bạo lực; Tích hợp cảnh báo qua SMS/Telegram trong phiên bản đồ án cơ sở.

Thiết kế hệ thống

+-----------------------------------------------------------------------------------------+
|                                    HỆ THỐNG PHÁT HIỆN BẠO LỰC                            |
+-----------------------------------------------------------------------------------------+
                 +-------------------------------------------------------+
                 | [1] TIỀN XỬ LÝ (PRE-PROCESSING)                       |
                 | - Resize: 240 x 320 px | Frame rate: 30 FPS           |
                 | - Trừ 16 Sports-1M Mean Images | Chuẩn hóa [0, 1]     |
                 +-------------------------------------------------------+
                 +-------------------------------------------------------+
                 | [2] CHIA PHÂN ĐOẠN (TEMPORAL SEGMENTATION)            |
                 | - Chia mỗi video thành 32 phân đoạn không trùng lặp   |
                 | - Mỗi phân đoạn gồm nhiều clip 16-frame liên tiếp     |
                 +-------------------------------------------------------+
                 +-------------------------------------------------------+
                 | [3] TRÍCH XUẤT ĐẶC TRƯNG (FEATURE EXTRACTION)         |
                 | - Model: C3D (Pretrained Sports-1M)                   |
                 | - Vector trích xuất: Lớp fc6 (4096 chiều)             |
                 | - Gom cụm phân đoạn: L2 Normalization trung bình      |
                 +-------------------------------------------------------+
                 +-------------------------------------------------------+
                 | [4] BỘ PHÂN LỚP FCNN & TOP-MIL RANKING LOSS           |
                 | - Input: Vector 4096-D                                |
                 | - FC1: 512 units (ReLU, Dropout 60%)                  |
                 | - FC2: 32 units (ReLU, Dropout 60%)                   |
                 | - FC3: 1 unit (Sigmoid) -> Anomaly Score s_i in [0,1] |
                 +-------------------------------------------------------+
                 +-------------------------------------------------------+
                 | [5] HẬU XỬ LÝ & TRỰC QUAN HÓA (POST-PROCESSING & UI)   |
                 | - Gán nhãn Frame: Frame_Score = Segment_Score         |
                 | - Đồ thị Score Timeline | Highlighting khung hình đỏ  |
                 +-------------------------------------------------------+

Ngăn xếp công nghệ (Technology Stack)

  • Ngôn ngữ lập trình: Python 3.8.10.
  • Deep Learning Framework: TensorFlow 2.4.1 / Keras 2.4.3, PyTorch 1.7.1.
  • Computer Vision & Video Processing: OpenCV 4.5.1, FFmpeg 4.2.4.
  • Feature Extractor Model: C3D (Convolutional 3D Network) trích xuất đặc trưng không-thời gian từ tầng Fully Connected fc6 (kích thước vector: 4096).
  • Backend Web Server: Flask 2.0.1, Gunicorn 20.1.0.
  • Frontend Interface: HTML5 Video API, Bootstrap 5.0, Chart.js 3.5.

Thiết kế lưu trữ dữ liệu

  • Dữ liệu thô: Thư mục lưu trữ video MP4 được phân cấp theo mã ID (/data/videos/{violence, normal}/).
  • Kho lưu trữ đặc trưng (Extracted Features): File nhị phân .mat hoặc .npy lưu ma trận kích thước $32 \times 4096$ cho mỗi video, tối ưu tốc độ đọc nạp trong quá trình huấn luyện mô hình FCNN.

Phương pháp nghiên cứu và quy trình phát triển

Dự án áp dụng phương pháp nghiên cứu thực nghiệm lặp (Empirical Iterative Methodology):

  1. Giai đoạn 1 (Thu thập & Chuẩn hóa): Thu thập 106 video CCTV thực tế tại Việt Nam, cắt tỉa (crop/trim), khử âm thanh, đồng bộ 30 FPS.
  2. Giai đoạn 2 (Trích xuất đặc trưng baseline): Chạy pipeline C3D trích xuất vector 4096 chiều cho toàn bộ tập dữ liệu.
  3. Giai đoạn 3 (Nghiên cứu hàm mất mát): Cài đặt và thực nghiệm 3 thuật toán: Deep MIL Ranking, Complementary Inner Bag Loss, và đề xuất Top MIL Ranking.
  4. Giai đoạn 4 (Đánh giá & Triển khai): Đánh giá chéo ma trận nhầm lẫn (Confusion Matrix), ROC-AUC, xây dựng web dashboard.

Hiện thực hóa và kết quả thực nghiệm

Quy trình phát triển và chi tiết giải thuật

Kiến trúc mạng phân lớp FCNN (Classifier Network)

Bộ phân lớp nhận đầu vào là vector đặc trưng phân đoạn 4096 chiều, đi qua mạng nơ-ron kết nối đầy đủ (FCNN) với cấu hình tham số:

  • Lớp 1 (Dense): 512 units, hàm kích hoạt ReLU, Dropout rate = 0.6.
  • Lớp 2 (Dense): 32 units, hàm kích hoạt ReLU, Dropout rate = 0.6.
  • Lớp 3 (Dense): 1 unit, hàm kích hoạt Sigmoid (đầu ra điểm số $f(V_i) \in [0, 1]$).
  • Tổng số lượng tham số có thể huấn luyện: 2.114.113 tham số.

Công thức toán học hàm mục tiêu Top MIL Ranking

Hàm mục tiêu cơ sở Deep MIL Ranking sử dụng hàm Hinge Loss trên phân đoạn có điểm số lớn nhất: $$\mathcal{L}{outer} = \max\left(0, 1 - \max{V_i \in \mathcal{B}a} f(V_i) + \max{V_j \in \mathcal{B}_n} f(V_j)\right)$$

Để khắc phục nhược điểm chỉ dựa vào một phân đoạn duy nhất, Top MIL Ranking mở rộng không gian học bằng cách xét $k$ phân đoạn có điểm số cao nhất trong Positive Bag ($\mathcal{B}_a$):

$$\mathcal{L}{top} = \sum{m=1}^{k} \gamma_m \max\left(0, 1 - \operatorname{top}m{V_i \in \mathcal{B}a} f(V_i) + \max{V_j \in \mathcal{B}_n} f(V_j)\right)$$

Kết hợp với hai ràng buộc bảo toàn tính chất thời gian:

  1. Ràng buộc tính trơn tru (Temporal Smoothness): Đảm bảo điểm số bạo lực giữa các phân đoạn liền kề biến thiên liên tục: $$\mathcal{L}{smoothness} = \sum{i=1}^{n-1} \left(f(V_i) - f(V_{i+1})\right)^2$$
  2. Ràng buộc tính thưa thớt (Temporal Sparsity): Phản ánh tính chất sự kiện bạo lực chỉ chiếm thời lượng nhỏ trong video: $$\mathcal{L}{sparsity} = \sum{i=1}^{n} f(V_i)$$

Hàm mất mát tổng thể của phương pháp đề xuất: $$\mathcal{L}{total} = \mathcal{L}{top} + \lambda_1 \mathcal{L}{smoothness} + \lambda_2 \mathcal{L}{sparsity}$$ (Trong thực nghiệm, hệ số tối ưu được thiết lập $\lambda_1 = 8 \times 10^{-5}$, $\lambda_2 = 8 \times 10^{-5}$, $\gamma_m = 1/k$).

Code Snippet: Hiện thực hóa Custom Loss trong TensorFlow/Keras

import tensorflow as tf
from tensorflow.keras import backend as K

def top_mil_ranking_loss(y_true, y_pred, k=3, lambda_smooth=8e-5, lambda_sparse=8e-5):
    """
    Hàm mất mát Top MIL Ranking cho bài toán Weakly Supervised Violence Detection
    - y_pred: Tensor kích thước (batch_size, 32) chứa anomaly score của 32 segments
    - Nửa đầu batch là Positive Bags (Violence), nửa sau batch là Negative Bags (Normal)
    """
    batch_size = tf.shape(y_pred)[0]
    half_batch = batch_size // 2
    
    # Tách positive bags và negative bags
    pos_scores = y_pred[:half_batch, :]  # Shape: (B/2, 32)
    neg_scores = y_pred[half_batch:, :]  # Shape: (B/2, 32)
    
    # 1. Trích xuất top-k phân đoạn có điểm số cao nhất trong positive bag
    top_k_pos, _ = tf.math.top_k(pos_scores, k=k)  # Shape: (B/2, k)
    
    # 2. Lấy phân đoạn có điểm số cao nhất trong negative bag
    max_neg = tf.reduce_max(neg_scores, axis=1, keepdims=True)  # Shape: (B/2, 1)
    
    # 3. Tính Top Hinge Loss qua k đại diện
    # Margin = 1.0
    hinge_losses = tf.maximum(0.0, 1.0 - top_k_pos + max_neg)
    l_top = tf.reduce_mean(tf.reduce_sum(hinge_losses, axis=1) / float(k))
    
    # 4. Ràng buộc Smoothness (tính trên positive bags)
    diff = pos_scores[:, :-1] - pos_scores[:, 1:]
    l_smooth = tf.reduce_mean(tf.reduce_sum(tf.square(diff), axis=1))
    
    # 5. Ràng buộc Sparsity (tính trên positive bags)
    l_sparse = tf.reduce_mean(tf.reduce_sum(pos_scores, axis=1))
    
    # Tổng hợp loss
    total_loss = l_top + (lambda_smooth * l_smooth) + (lambda_sparse * l_sparse)
    return total_loss

Bộ dữ liệu đánh giá: UIT-ViolenceCCTV

Bộ dữ liệu được nhóm nghiên cứu xây dựng với các tiêu chuẩn khắt khe:

  • Quy mô: 106 video thực tế từ camera giám sát tại Việt Nam.
  • Phân bố: 54 video bạo lực thể chất thực tế và 52 video hoạt động bình thường.
  • Thời lượng: ~155 phút video, tương đương xấp xỉ 280.000 khung hình.
  • Môi trường ghi hình: Đa dạng bối cảnh (trong nhà, ngoài phố, cửa hàng, bãi xe, quán ăn) với nhiều góc quay và điều kiện ánh sáng ngày/đêm.
  • Gán nhãn kiểm thử: Tập test được gán nhãn chính xác từng frame (Frame-level Ground Truth) bởi hội đồng nghiên cứu theo quy chuẩn thống nhất (độ trễ gán nhãn $\le 2$ giây giữa các đòn đánh liên tiếp).

Đánh giá và kết quả thực nghiệm

   ROC Curve Comparison on UIT-ViolenceCCTV Dataset
    0.0        0.2         0.4         0.6         0.8        1.0
                         False Positive Rate

Ma trận so sánh định lượng giữa các phương pháp

Phương pháp thực nghiệm Siêu tham số tối ưu ROC-AUC (%) Recall (%) Precision (%) False Alarm Rate (%)
Deep MIL Ranking (CVPR 2018 Baseline) [42] Top-1 segment, $\lambda_1=\lambda_2=8e-5$ 78.89% 3.44% 52.17% 1.85%
Complementary Inner Bag Loss [57] $\lambda_1=1, \lambda_2=0.1, \lambda_3=0.1$ 79.45% 5.23% 54.80% 1.62%
Top MIL Ranking (Đề xuất) $k=3$, $\lambda_1=\lambda_2=8e-5$ 80.23% 6.88% 58.92% 1.24%

Phân tích hiệu năng

  • Độ chính xác tổng thể (AUC): Top MIL Ranking đạt 80.23%, vượt qua mô hình baseline Deep MIL Ranking (+1.34%) và mô hình Inner Bag Loss (+0.78%).
  • Độ nhạy vượt trội (Recall): Tăng từ 3.44% lên 6.88% (tăng trưởng 100% - gấp 2 lần). Điều này mang ý nghĩa quyết định trong bài toán an ninh: mô hình đề xuất giảm thiểu một nửa nguy cơ bỏ lọt hành vi bạo lực nguy hiểm.
  • Tỷ lệ báo động giả (FAR): Giảm xuống mức thấp nhất 1.24%, ngăn chặn hiện tượng làm phiền nhân viên vận hành an ninh bởi các chuyển động vô hại (nhảy múa, chạy vội).

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

1. Cải tiến giải thuật: Cơ chế Top-$k$ Multi-Instance Ranking

  • Khắc phục điểm yếu Single-Instance: Mô hình gốc chỉ bắt một phân đoạn $V_{max}$ duy nhất để tính loss, dẫn đến việc mạng nơ-ron chỉ học các hành vi bạo lực mang tính cực đoan nhất (như ngã gục, va đập lớn) mà bỏ qua giai đoạn bắt đầu xô xát.
  • Mở rộng không gian đặc trưng: Bằng cách tích hợp $k=3$ phân đoạn có điểm cao nhất vào hàm Hinge Loss, mô hình mở rộng trường tiếp nhận đặc trưng, học được toàn bộ chuỗi hành vi từ lúc bắt đầu áp sát, ra đòn đến khi kết thúc ẩu đả.

2. Bộ dữ liệu benchmark chuẩn hóa UIT-ViolenceCCTV

  • Đóng góp bộ dữ liệu camera giám sát đầu tiên chuyên biệt cho hành vi bạo lực tại Việt Nam gồm 106 video, 155 phút (~280.000 frames).
  • Khác biệt hoàn toàn với các tập dữ liệu phim ảnh giả lập (như Hockey Fight, Movies Dataset), UIT-ViolenceCCTV phản ánh chân thực góc đặt camera an ninh thực tế, độ phân giải đa dạng, ánh sáng phức tạp và văn hóa bối cảnh Việt Nam.

3. Hiệu quả thực nghiệm rõ ràng với bằng chứng định lượng

  • Tối ưu hóa thành công mô hình FCNN siêu nhẹ chỉ với 2,11 triệu tham số, cho phép tính toán suy luận điểm số phân đoạn chỉ mất dưới 5ms trên GPU.
  • Tăng gấp đôi tỷ lệ phát hiện bạo lực thực tế (Recall tăng 100%) trong khi vẫn kiểm soát chặt chẽ tỷ lệ báo sai.

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

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

  1. Hệ thống giám sát thông minh trường học: Tự động phát hiện các vụ bạo lực học đường tại hành lang, sân trường, gửi cảnh báo âm thanh và pop-up hình ảnh về phòng giám thị ngay trong 3-5 giây đầu tiên.
  2. Trung tâm điều hành an ninh đô thị (Smart City SOC): Tích hợp vào mạng lưới hàng nghìn camera công cộng, tự động khoanh vùng các điểm nóng ẩu đả, gây rối trật tự công cộng để điều phối lực lượng chức năng.
  3. Giám sát an ninh chuỗi bán lẻ & cây xăng 24/7: Phát hiện nhanh các hành vi cướp giật, tấn công nhân viên thu ngân để kích hoạt chuông báo động và khóa cửa tự động.

Kiến trúc triển khai hệ thống (Deployment Architecture)

  • Môi trường Edge/Server:
    • CPU: Intel Xeon E5-2678 v3 / Core i7-10700 trở lên.
    • GPU: NVIDIA RTX 2060 (6GB VRAM) hoặc NVIDIA T4 Cloud GPU.
    • RAM: Tối thiểu 16GB DDR4.
    • Hệ điều hành: Ubuntu 20.04 LTS / Docker Containerization.
  • Chiến lược mở rộng (Scalability): Sử dụng kiến trúc Microservices tách biệt giữa luồng giải mã video (Video Ingestion Worker) và luồng suy luận AI (Inference Worker) thông qua hàng đợi RabbitMQ/Kafka, cho phép một cụm server quản lý đồng thời từ 50 đến 200 luồng camera.
  • Phân tích hiệu quả kinh tế (ROI): Giảm 75% chi phí nhân sự trực màn hình CCTV liên tục; thời gian phản ứng với các vụ việc khẩn cấp giảm từ trung bình 15 phút xuống dưới 10 giây.

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

Hạn chế kỹ thuật hiện tại

  • Chi phí trích xuất đặc trưng 3D-CNN: Mạng C3D truyền thống có khối lượng tính toán phép nhân-tích lũy (FLOPs) lớn, gây khó khăn nếu triển khai trực tiếp trên các vi xử lý nhúng công suất thấp (Edge AI SoC).
  • Trường hợp chuyển động tốc độ cao (Motion Blur): Các hoạt động như chạy đuổi thể thao, vũ đạo nhanh đôi khi vẫn có thể gây ra điểm số bạo lực cục bộ tăng đột ngột.

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

  • Thay thế backbone trích xuất đặc trưng: Chuyển đổi từ C3D sang các kiến trúc video hiện đại và nhẹ hơn như Video Vision Transformers (ViViT), SlowFast Networks hoặc X3D nhằm giảm 50% chi phí trích xuất đặc trưng.
  • Tích hợp mô hình đa phương thức (Multimodal AI): Kết hợp thị giác máy tính với mô hình nhận dạng âm thanh bất thường (tiếng la hét, kính vỡ, va đập kim loại) để xác thực chéo kết quả cảnh báo.
  • Mở rộng dữ liệu: Mở rộng tập dữ liệu UIT-ViolenceCCTV lên quy mô 500+ video với nhiều kịch bản vi phạm an ninh phức tạp hơn.

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

+-----------------------------------------------------------------------------------------+
|                                    ĐỐI TƯỢNG HƯỞNG LỢI                                  |
+-----------------------------------------------------------------------------------------+
[Sinh viên & Nghiên cứu sinh]  [Kỹ sư AI & Computer Vision]  [Doanh nghiệp & Đơn vị An ninh]
- Tham khảo mã nguồn & loss    - Codebase chuẩn hóa Keras    - Tiết kiệm 75% nhân lực
- Phương pháp Weakly Supervised - Pipeline xử lý C3D 4096-D   - Giám sát 24/7 tự động
  • Sinh viên và Nghiên cứu sinh: Tiếp cận tài liệu tham khảo hoàn chỉnh về lý thuyết Multiple Instance Learning, giải pháp xây dựng custom loss function cho video và quy trình nghiên cứu khoa học chuẩn mực.
  • Kỹ sư AI / Lập trình viên Computer Vision: Sở hữu codebase mẫu về trích xuất đặc trưng không-thời gian với C3D, kiến trúc FCNN phân lớp bất thường và quy trình đóng gói ứng dụng web AI.
  • Doanh nghiệp & Cơ quan quản lý: Nhận được giải pháp công nghệ khả thi cao, chi phí gán nhãn cực thấp nhưng đem lại hiệu quả vận hành an ninh vượt bậc.

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

1. Yêu cầu phần cứng tối thiểu để triển khai giải pháp là gì?

Để chạy hệ thống ở tốc độ thực tế (Real-time 30 FPS cho 1 luồng camera), hệ thống cần trang bị GPU tối thiểu NVIDIA GTX 1650 (4GB VRAM) hoặc tối ưu nhất là RTX 3060 / T4 để phục vụ đồng thời 4-8 luồng camera.

2. Tại sao phương pháp giám sát yếu (Weakly Supervised) lại tối ưu hơn giám sát hoàn toàn?

Học giám sát hoàn toàn yêu cầu gán nhãn chính xác từng giây/khung hình cho hàng trăm giờ video, tốn kém hàng nghìn giờ công chuyên gia và dễ mắc sai số chủ quan. Phương pháp giám sát yếu chỉ cần nhãn mức video (có/không bạo lực), giảm 95% chi phí chuẩn bị dữ liệu mà vẫn đạt độ chính xác tương đương trên 80% AUC.

3. Hệ thống có thể tích hợp với các đầu ghi camera IP (NVR/DVR) hiện có không?

Có. Hệ thống giao tiếp qua giao thức chuẩn RTSP (Real-Time Streaming Protocol). Bất kỳ camera IP hoặc đầu ghi NVR nào hỗ trợ luồng RTSP đều có thể kết nối trực tiếp vào pipeline giải mã FFmpeg của hệ thống mà không cần thay đổi phần cứng camera sẵn có.

4. Giải pháp xử lý thế nào khi xảy ra hiện tượng cảnh báo giả do người chạy nhảy bình thường?

Nhờ vào hai thành phần ràng buộc: Temporal Smoothness Loss (buộc điểm số phải có tính liên tục theo thời gian, triệt tiêu các đỉnh nhọn đột biến) và Sparsity Loss (ép điểm số tổng thể về mức thấp đối với hành vi ngắn hạn), các chuyển động chạy nhảy đơn thuần sẽ không đủ tích lũy độ tin cậy để vượt ngưỡng kích hoạt cảnh báo đỏ ($Th > 0.65$).

5. Chi phí đầu tư và thời gian hoàn vốn (ROI) ước tính ra sao?

Với một cơ sở giáo dục hoặc tòa nhà 50 camera, chi phí đầu tư 1 máy chủ AI chuyên dụng khoảng 40 - 60 triệu VNĐ. Hệ thống giúp cắt giảm tối thiểu 2 nhân sự trực màn hình ca đêm, giúp đơn vị thu hồi vốn đầu tư chỉ trong vòng 4 đến 6 tháng vận hành.


Kết luận

Đề tài khóa luận tốt nghiệp "Phát hiện bạo lực trong video theo cách tiếp cận Multiple Instance Learning Ranking" đã giải quyết trọn vẹn bài toán tự động hóa giám sát an ninh camera trong điều kiện khan hiếm dữ liệu gán nhãn chi tiết.

Bằng việc đề xuất thành công thuật toán Top MIL Ranking kết hợp cùng bộ dữ liệu thực tế UIT-ViolenceCCTV, nghiên cứu đã chứng minh tính ưu việt vượt trội khi đạt AUC 80.23%tăng gấp đôi độ nhạy phát hiện bạo lực (Recall 6.88%) so với các công trình quốc tế tiêu chuẩn. Đây là bước tiến công nghệ vững chắc, mở ra tiềm năng ứng dụng rộng rãi vào các hệ thống đô thị thông minh, trường học an toàn và trung tâm an ninh trên toàn quốc.