Bối cảnh và vấn đề nghiên cứu

Hành vi bạo lực nơi công cộng và trong đời sống xã hội là mối đe dọa trực tiếp đối với an ninh trật tự và an toàn của cộng đồng. Thực tế cho thấy các nguồn phát sinh bạo lực xuất phát từ những xung đột, thất vọng cá nhân hoặc hành vi bộc phát. Mặc dù hệ thống camera giám sát đô thị, camera hành trình và thiết bị cá nhân của lực lượng tuần tra ghi nhận lượng lớn dữ liệu hình ảnh mỗi ngày, việc giám sát thủ công phụ thuộc vào con người thường dẫn đến sự chậm trễ trong phát hiện và can thiệp.

Để giải quyết vấn đề trên, đề tài khóa luận tốt nghiệp kỹ sư Công nghệ thông tin (chuyên ngành Kỹ thuật dữ liệu) với tên gọi "Hệ thống phát hiện bạo lực (Violence Detection System)" được hai sinh viên Vũ Văn Phước (MSSV: 19133045) và Nguyễn Hoài Nam (MSSV: 19133037), dưới sự hướng dẫn của Th.S Quách Đình Hoàng tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, thực hiện trong giai đoạn từ tháng 02/2023 đến tháng 07/2023. Nghiên cứu được phát triển nâng cấp từ đề tài tiểu luận chuyên ngành "Phát hiện bạo lực trong video".

Mục tiêu nghiên cứu được xác định cụ thể gồm:

  1. Nghiên cứu và khảo sát các mô hình học sâu (Deep Learning) xử lý dữ liệu video và chuỗi hình ảnh phục vụ bài toán nhận diện bạo lực trên tập dữ liệu thực tế.
  2. Tối ưu hóa siêu tham số để lựa chọn mô hình học sâu đạt độ chính xác cao (mục tiêu đặt ra trên 95%) với chi phí tính toán hợp lý.
  3. Thiết kế và xây dựng hoàn chỉnh một hệ thống nhận diện bạo lực theo thời gian thực (real-time violence detection) ứng dụng kiến trúc Lambda, triển khai trên nền tảng điện toán đám mây và kết nối giao diện website/dashboard giám sát.

Đối tượng nghiên cứu của đề tài là chuỗi hành động bạo lực trong video thực tế cùng các mô hình học sâu, công nghệ xử lý luồng dữ liệu và hạ tầng điện toán đám mây. Phạm vi thực nghiệm dữ liệu dựa trên bộ dữ liệu Real Life Violence Situations Dataset từ nền tảng Kaggle; hạ tầng thử nghiệm kết hợp giữa thiết bị cục bộ (laptop, camera) và dịch vụ đám mây Google Cloud Platform (GCP) trong khung thời gian 18 tuần (từ ngày 10/02/2023 đến ngày 10/07/2023).

Về các công trình liên quan, đề tài kế thừa và phân tích nghiên cứu "Fully integrated violence detection system using CNN and LSTM" của nhóm tác giả Sarthak Sharma, B. Sudharsan cùng các cộng sự. Nghiên cứu này từng kết hợp mạng tích chập trích xuất đặc trưng với mạng LSTM và mô hình Xception, đạt độ chính xác 98,32% trên bộ dữ liệu Movies and Hockey trước khi tích hợp vào dịch vụ đám mây và ứng dụng di động.

Cơ sở lý thuyết và phương pháp

Đề tài kết hợp giữa lý thuyết thị giác máy tính dựa trên học sâu và các nguyên lý kỹ thuật dữ liệu phân tán để xử lý luồng video thời gian thực.

Khung lý thuyết học sâu cho dữ liệu không gian - thời gian

Xử lý video bạo lực yêu cầu kết hợp giữa việc trích xuất đặc trưng không gian của từng khung hình và mô hình hóa sự phụ thuộc thời gian giữa các khung hình liên tiếp:

  • Mạng tích chập (Convolutional Neural Network - CNN): Áp dụng các phép toán tích chập (Convolution) giữa ma trận dữ liệu ảnh đầu vào và các cửa sổ trượt (kernel/filter) để trích xuất đặc trưng cục bộ. Các tham số đệm (padding) và bước nhảy (stride) được sử dụng để kiểm soát kích thước không gian của tensor đầu ra. Tác giả khảo sát các kiến trúc CNN hiện đại nhằm giảm thiểu số lượng tham số nhưng vẫn giữ độ chính xác:
    • MobileNet & MobileNetV2: Sử dụng kỹ thuật tích chập tách biệt chiều sâu (Depthwise Separable Convolution) gồm Depthwise Convolution (áp dụng bộ lọc riêng cho từng kênh) và Pointwise Convolution (tích chập 1x1 để tái cấu trúc kênh). MobileNetV2 cải tiến với khối Inverted Residual Block và Linear Bottlenecks để hạn chế mất mát thông tin phi tuyến tính.
    • Inception & Xception: Kiến trúc Inception xử lý đa nhánh với các kernel kích thước khác nhau (1x1, 3x3, 5x5) kèm lớp gộp. Xception thay thế các khối Inception bằng chuỗi Depthwise Separable Convolution độc lập qua 3 luồng xử lý: Entry flow, Middle flow (lặp 8 lần) và Exit flow.
    • ResNet & ResNetV2: Khắc phục hiện tượng suy giảm đạo hàm (vanishing gradient) trong các mạng sâu nhờ cơ chế kết nối tắt (skip connection) qua các khối Residual Block (Identity Block và Convolution Block). Phiên bản ResNetV2 sắp xếp lại thứ tự tiền kích hoạt (Pre-activation: Batch Normalization -> ReLU -> Convolution).
    • DenseNet: Kết nối trực tiếp tất cả các tầng trước đó vào các tầng tiếp theo trong cùng một Dense Block với tốc độ tăng trưởng (growth rate $k$), kết hợp Transition Layer (Conv 1x1 và Average Pooling stride 2) để giảm chiều không gian và hạn chế overfitting.
  • Mạng thần kinh hồi quy và LSTM (Long Short-Term Memory): Mạng RNN truyền thống gặp hiện tượng bùng nổ đạo hàm (exploding gradient) hoặc tiêu biến đạo hàm (vanishing gradient) khi mô hình hóa các chuỗi dài. LSTM khắc phục bằng cấu trúc Memory Cell với trạng thái ô (cell state $C_t$) xuyên suốt chu kỳ thời gian và ba cổng điều khiển:
    • Cổng quên (Forget gate $f_t$): Quyết định lượng thông tin lược bỏ từ trạng thái trước.
    • Cổng vào (Input gate $i_t$): Quyết định thông tin mới được nạp vào cell state.
    • Cổng ra (Output gate $o_t$): Quyết định giá trị ẩn đầu ra $h_t$.
    • Mạng RNN hai chiều (Bidirectional RNN - BRNN): Chia trạng thái ẩn thành hai luồng thời gian tiến (forward states) và lùi (backward states), cho phép mô hình đánh giá ngữ cảnh của khung hình từ cả quá khứ lẫn tương lai trong một khung thời gian xác định.

Phương pháp nghiên cứu và nguồn dữ liệu

Nghiên cứu áp dụng quy trình thực nghiệm kỹ thuật dữ liệu gồm các bước:

  1. Thu thập và tiền xử lý dữ liệu: Sử dụng tập dữ liệu chuẩn Real Life Violence Situations Dataset từ Kaggle. Dữ liệu video được phân rã thành các chuỗi khung hình, chuẩn hóa kích thước đầu vào và chuyển đổi thành dạng tensor đa chiều trước khi đưa vào mô hình.
  2. Xây dựng baseline và huấn luyện mô hình: Thử nghiệm kết hợp các mạng backbone CNN khác nhau với các tầng LSTM/BRNN nhiều lớp (Stacked RNN).
  3. Tối ưu hóa siêu tham số: Áp dụng phương pháp tìm kiếm dạng lưới (Grid Search) để tinh chỉnh các tham số quan trọng như tốc độ học (learning rate), số đơn vị ẩn trong LSTM, tỷ lệ dropout, batch size.
  4. Đánh giá định lượng: Sử dụng ma trận nhầm lẫn (Confusion Matrix) và các chỉ số đo lường hiệu năng gồm Accuracy, Precision, Recall và F1-score trên tập kiểm thử độc lập, đồng thời đo lường dung lượng tham số và thời gian suy luận.

Thiết kế và triển khai

Hệ thống phát hiện bạo lực được thiết kế theo kiến trúc Lambda (Lambda Architecture), phân chia rành mạch giữa luồng xử lý thời gian thực (Speed Layer) và luồng xử lý theo lô (Batch Layer / Serving Layer) trên môi trường điện toán đám mây GCP.

Tầng chức năng Thành phần công nghệ Nhiệm vụ kỹ thuật chi tiết
Thu nhận & Phát luồng (Streaming) Camera cục bộ, Streaming Server, Apache Kafka Camera ghi nhận video, Streaming Server giải mã khung hình và đẩy các thông điệp dự đoán/hình ảnh vào các Kafka Topic có phân vùng (Partition).
Điều phối & Xử lý (Processing / ETL) Apache Airflow (Cloud Composer), Apache Spark (Cloud Dataproc) Cụm Cloud Composer lập lịch điều phối đồ thị có hướng (DAG); Cụm Dataproc thực thi các Spark Job để trích xuất, chuyển đổi và nạp (ETL) dữ liệu cảnh báo bạo lực.
Lưu trữ (Storage) MongoDB, MongoDB Compass Lưu trữ phi cấu trúc các sự kiện phát hiện bạo lực, siêu dữ liệu thời gian, tọa độ và đường dẫn hình ảnh; MongoDB Compass phục vụ tổng hợp và kiểm tra dữ liệu.
Trực quan hóa (Serving & UI) Dashboard thời gian thực, Microsoft Power BI Hiển thị bảng điều khiển trực quan (Insight Dashboard), thống kê số lượng bạo lực theo vị trí địa lý, biểu đồ phân tán (scatter plot), biểu đồ cột và lọc theo mốc thời gian.

Hệ thống hoạt động theo nguyên lý: Khi camera ghi nhận tín hiệu hình ảnh, mô hình học sâu đã tối ưu sẽ trích xuất vector đặc trưng và dự đoán nhãn (bạo lực hoặc bình thường). Nếu hành vi bạo lực được phát hiện, dữ liệu sự kiện kèm ảnh chụp khung hình được gửi ngay lập tức tới Message Queue của Apache Kafka. Từ đây, quy trình ETL tự động chuyển dữ liệu về kho lưu trữ MongoDB thông qua điều phối của Airflow/Spark trên GCP, đồng thời cập nhật tức thời lên Dashboard và báo cáo quản trị Power BI.

Nội dung chính theo từng chương

Chương 1: Tổng quan về sự kết hợp giữa mạng CNN và LSTM

Chương 1 phân tích cơ sở toán học và kiến trúc của các mạng nơ-ron tích chập và mạng nơ-ron hồi quy. Tác giả đi sâu vào cơ chế của phép tính tích chập, cách sử dụng padding để duy trì kích thước không gian và vai trò của stride trong việc giảm chiều dữ liệu. Các mô hình CNN hiện đại được mổ xẻ chi tiết:

  • Phân tích cơ chế Depthwise Separable Convolution trong MobileNet và Inverted Residual Block trong MobileNetV2.
  • Kiến trúc đa nhánh của Inception và giải pháp mở rộng của Xception với 3 luồng (Entry, Middle, Exit flow) giúp tăng độ chính xác phân loại trên tập ImageNet.
  • Cấu trúc Residual Block trong ResNet-50 cùng sự khác biệt của bản tiền kích hoạt ResNetV2.
  • Kiến trúc Dense Block và Transition Layer của DenseNet, kèm bảng phân tích so sánh trực tiếp giữa DenseNet và ResNet:
Tiêu chí DenseNet ResNet
Kiến trúc (Architecture) Dùng các Dense block truyền đặc điểm qua tất cả các lớp Dùng các Residual block truyền thông tin qua các lớp
Tham số (Parameter) Lớn hơn do sử dụng kết nối dày đặc giữa các khối Tương đối ít tham số hơn
Độ chính xác (Accuracy) Khá cao, xấp xỉ DenseNet trên ImageNet, CIFAR Tương đương hoặc cao hơn trong một số bài toán cụ thể
Tính linh hoạt (Flexibility) Cấu trúc phức tạp, tùy chỉnh độ sâu/rộng linh hoạt Cấu trúc đơn giản, dễ dàng tùy chỉnh kích thước

Phần sau của chương làm rõ cấu trúc cổng của tế bào bộ nhớ LSTM, các hàm kích hoạt (Sigmoid, Tanh, ReLU), lợi thế của kiến trúc Multi-layer RNN trong việc tính toán biểu diễn dữ liệu phân cấp, và cấu trúc xử lý hai chiều của BRNN.

Chương 2: Tổng quan về các thành phần trong ứng dụng

Chương 2 trình bày các khối công nghệ nền tảng tạo nên hạ tầng kỹ thuật dữ liệu của hệ thống:

  • Apache Kafka: Nền tảng luồng phân tán viết bằng Java và Scala, cung cấp các tính năng: thông lượng cao, độ bền dữ liệu, cơ chế sao lưu (replication) giữa các broker, khả năng mở rộng (scalability) và hạn chế tối đa mất mát dữ liệu (zero data loss). Định nghĩa chi tiết các khái niệm Topic, Producer, Partition, Consumer.
  • Kiến trúc Lambda: Phân tích mô hình kiến trúc xử lý dữ liệu lớn kết hợp hai nhánh thời gian thực (speed layer) và xử lý mẻ (batch layer).
  • Apache Airflow: Hệ thống quản lý và lập lịch luồng công việc dựa trên mô hình đồ thị có hướng không chu trình (DAG).
  • MongoDB: Hệ quản trị cơ sở dữ liệu NoSQL dạng tài liệu, so sánh ưu nhược điểm với hệ cơ sở dữ liệu quan hệ (RDBMS) truyền thống về cấu trúc lưu trữ động và khả năng mở rộng ngang.
  • Quy trình ETL: Nguyên lý ba giai đoạn trích xuất (Extract), biến đổi (Transform) và nạp (Load) dữ liệu sự kiện phục vụ phân tích.

Chương 3: Mô hình ứng dụng

Chương 3 trình bày chi tiết về thiết kế thực nghiệm mô hình học sâu:

  • Mô tả môi trường phần cứng, thiết lập tài nguyên trên điện toán đám mây và các thư viện tiên quyết phục vụ quá trình huấn luyện.
  • Phương pháp xử lý dữ liệu video: Tách khung hình từ video ngẫu nhiên trong tập Real Life Violence Situations Dataset, chuẩn hóa kích thước tensor đầu vào và ánh xạ vector đặc trưng đầu ra.
  • Xây dựng các mô hình cơ sở (baseline models) kết hợp các backbone CNN khác nhau với các tầng LSTM.
  • Thực hiện điều chỉnh siêu tham số thông qua phương pháp Grid Search trên tập validation (tỷ lệ học, hàm tối ưu, số lớp ẩn).
  • Phân tích hiệu năng các mô hình thông qua biểu đồ độ chính xác và mất mát (Accuracy & Loss), ma trận nhầm lẫn (Confusion Matrix) và bảng báo cáo phân loại (Classification Report) với các độ đo Precision, Recall, F1-score.

Chương 4: Triển khai thực nghiệm và đánh giá kết quả

Chương 4 tập trung vào việc hiện thực hóa toàn bộ giải pháp kỹ thuật vào thực tế:

  • Triển khai Streaming Server cục bộ tiếp nhận luồng dữ liệu từ camera và gửi kết quả phân loại lên message queue của Apache Kafka.
  • Cấu hình cụm Cloud Composer trên nền tảng Google Cloud Platform (GCP) để lập lịch và điều phối quy trình ETL tự động.
  • Khởi tạo cụm Dataproc để chạy các Spark job xử lý tổng hợp dữ liệu quy mô lớn và lưu trữ kết quả vào MongoDB.
  • Xây dựng hệ thống Dashboard thời gian thực và liên kết với Power BI, hiển thị chi tiết: biểu đồ số lượng vụ bạo lực theo vị trí địa lý, biểu đồ đường biến thiên theo thời gian/ngày trong tháng, biểu đồ cột thống kê phân loại và biểu đồ phân tán (scatter plot) thể hiện phương sai và độ tin cậy trung bình của dự đoán.
  • Kiểm thử toàn diện quy trình ghi nhận, cảnh báo và lưu trữ dữ liệu trên MongoDB Compass.

Chương 5: Tổng kết quá trình và hướng phát triển đề tài

Chương 5 đúc kết các kết quả đạt được về mặt mô hình học sâu và hệ thống phần mềm, đồng thời chỉ ra các điểm cần hoàn thiện để ứng dụng vận hành tối ưu hơn trong thực tế sản xuất.

Kết quả và đóng góp

Khóa luận đã hoàn thành đầy đủ các mục tiêu nghiên cứu và triển khai hệ thống kỹ thuật đề ra:

  1. Về mặt thuật toán và mô hình: Đã nghiên cứu, thực nghiệm và so sánh toàn diện nhiều kiến trúc học sâu kết hợp giữa CNN (MobileNet, Inception, Xception, ResNet, DenseNet) và mạng hồi quy (LSTM, Multi-layer RNN, BRNN). Đồ án đã tối ưu hóa thành công siêu tham số bằng Grid Search, lựa chọn được mô hình có độ chính xác cao và số lượng tham số tối ưu cho việc nhận diện bạo lực từ video.
  2. Về mặt kỹ thuật hệ thống: Xây dựng thành công hệ thống phát hiện bạo lực thời gian thực hoàn chỉnh tuân thủ kiến trúc Lambda, tích hợp đồng bộ giữa Streaming Server, Apache Kafka, cụm Cloud Composer/Airflow và Dataproc/Spark trên GCP, cơ sở dữ liệu MongoDB và hệ thống báo cáo quản trị Power BI.
  3. Về mặt ứng dụng thực tiễn: Hệ thống có khả năng nhận diện hành vi bạo lực từ camera, tự động lưu lại khung hình vi phạm, gửi thông báo qua hàng đợi thông điệp và trực quan hóa phân tích theo không gian - thời gian phục vụ công tác giám sát an ninh.

Hạn chế và hướng nghiên cứu tiếp

Theo nội dung trình bày của đề tài, các hạn chế và hướng mở rộng nghiên cứu bao gồm:

  • Hạn chế: Hệ thống phụ thuộc vào sự ổn định của đường truyền mạng khi gửi dữ liệu từ camera cục bộ lên môi trường điện toán đám mây; việc xử lý luồng video đa kênh đồng thời ở độ phân giải cao đòi hỏi chi phí tài nguyên máy chủ đám mây lớn.
  • Hướng phát triển tiếp theo: Tối ưu hóa mô hình học sâu để triển khai trực tiếp trên các thiết bị biên (Edge AI / IoT) nhằm giảm thiểu độ trễ truyền dữ liệu; mở rộng tập dữ liệu huấn luyện với nhiều tình huống bạo lực phức tạp hơn trong thực tế; tích hợp thêm kênh cảnh báo tức thời qua ứng dụng di động cho lực lượng chức năng.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên, học viên và kỹ sư thuộc các chuyên ngành Công nghệ thông tin, Kỹ thuật dữ liệu, Khoa học dữ liệu và Trí tuệ nhân tạo:

  • Phần phân tích mô hình học sâu (Chương 1 & Chương 3): Cung cấp tài liệu tham khảo giá trị về cách kết hợp mạng tích chập trích xuất đặc trưng (CNN) với mạng hồi quy (LSTM) để giải quyết bài toán phân loại video và chuỗi thời gian, phương pháp tối ưu hóa siêu tham số (Grid Search) và cách đánh giá mô hình bằng các chỉ số đo lường đa chiều.
  • Phần kiến trúc kỹ thuật dữ liệu lớn (Chương 2 & Chương 4): Cung cấp thiết kế mẫu về việc triển khai kiến trúc Lambda trong thực tế, tích hợp luồng streaming qua Apache Kafka với quy trình ETL tự động hóa trên nền tảng đám mây Google Cloud Platform (Cloud Composer, Dataproc, Spark) và cơ sở dữ liệu MongoDB.

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

1. Đề tài sử dụng bộ dữ liệu nào để huấn luyện và kiểm thử mô hình phát hiện bạo lực?
Nhóm nghiên cứu sử dụng bộ dữ liệu Real Life Violence Situations Dataset được công bố trên nền tảng Kaggle (do tác giả Mohamed Mustafa cung cấp).

2. Sự khác biệt cốt lõi giữa MobileNetV1 và MobileNetV2 trong việc trích xuất đặc trưng là gì?
MobileNetV1 sử dụng một loại khối gồm lớp Depthwise Convolution nối tiếp Pointwise Convolution (1x1). Trong khi đó, MobileNetV2 sử dụng khối Inverted Residual Block với kết nối tắt giữa các tầng thắt nút hẹp (bottlenecks) và áp dụng phép biến đổi tuyến tính (Linear Bottlenecks) ở tầng cuối của khối để tránh mất mát thông tin phi tuyến tính.

3. Tại sao mạng LSTM được lựa chọn kết hợp cùng CNN thay vì mạng RNN truyền thống?
Mạng RNN truyền thống gặp vấn đề tiêu biến đạo hàm (vanishing gradient) khi chuỗi thời gian kéo dài, khiến mô hình khó học được sự phụ thuộc xa giữa các khung hình. LSTM giải quyết vấn đề này nhờ cơ chế Memory Cell với các cổng quên, cổng vào, cổng ra và đường dẫn trạng thái ô (cell state) xuyên suốt chuỗi.

4. Hệ thống phân tán trên Google Cloud Platform sử dụng những dịch vụ nào để thực hiện quy trình ETL?
Hệ thống sử dụng dịch vụ Cloud Composer (dựa trên Apache Airflow) để lập lịch và điều phối các luồng công việc theo đồ thị DAG, kết hợp dịch vụ Cloud Dataproc để thực thi các Spark Job thực hiện quá trình ETL từ message queue của Kafka vào cơ sở dữ liệu MongoDB.

5. Giao diện trực quan hóa của hệ thống cung cấp những loại biểu đồ thống kê nào?
Dashboard giám sát và báo cáo Power BI cung cấp: biểu đồ số lượng vụ việc bạo lực phân bố theo vị trí địa lý, biểu đồ đường thể hiện số lượt phát hiện theo trục thời gian, biểu đồ cột thống kê theo bộ lọc ngày tháng và biểu đồ phân tán (scatter plot) thể hiện vị trí kèm phương sai của giá trị dự đoán trung bình.

Kết luận

Khóa luận tốt nghiệp của sinh viên Vũ Văn Phước và Nguyễn Hoài Nam đã xây dựng thành công giải pháp phát hiện bạo lực hoàn chỉnh dựa trên sự kết hợp giữa mô hình học sâu CNN-LSTM và kiến trúc kỹ thuật dữ liệu Lambda. Nghiên cứu giải quyết thấu đáo từ khâu tiền xử lý video, tối ưu hóa mô hình phân loại đến việc thiết lập hạ tầng streaming bằng Apache Kafka, điều phối luồng ETL trên nền tảng GCP và trực quan hóa cảnh báo theo thời gian thực. Toàn bộ quy trình thực nghiệm và kết quả triển khai cung cấp nền tảng kỹ thuật vững chắc cho các hệ thống giám sát an ninh thông minh ứng dụng thị giác máy tính quy mô lớn.