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

Khóa luận tốt nghiệp kỹ sư ngành Mạng máy tính và Truyền thông của tác giả Ngô Nguyễn Linh Hảo và Đặng Đức Châu (Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh, năm 2022) tập trung vào bài toán nhận dạng hành vi bạo lực thời gian thực trên các thiết bị biên kinh phí thấp.

Lý do chọn đề tài và bối cảnh thực tiễn

Theo số liệu thống kê của Bộ Công an năm 2021, cả nước ghi nhận 41.728 vụ phạm tội về trật tự xã hội, trong đó TP. Hồ Chí Minh chiếm 1.404 vụ. Tại các đô thị có mật độ dân cư cao, sự gia tăng nhanh chóng của các khu dân cư, chung cư cao cấp và trường học kéo theo áp lực lớn về quản lý an ninh. Đồng thời, theo thống kê từ Quỹ Nhi đồng Liên Hợp Quốc (UNICEF), có khoảng 150 triệu học sinh từ 13 đến 15 tuổi trên toàn cầu từng bị gián đoạn học tập do bạo lực học đường và bắt nạt. Thực tế tại TP. Hồ Chí Minh cũng đã xảy ra các vụ bạo lực học đường tại trường quốc tế gây bức xúc xã hội.

Hiện nay, phần lớn hệ thống an ninh vẫn sử dụng camera giám sát thông thường phụ thuộc hoàn toàn vào con người theo dõi trực tiếp. Việc quan sát màn hình liên tục trong thời gian dài làm giảm khả năng tập trung của nhân viên giám sát, dẫn tới nguy cơ bỏ sót các hành vi bất thường và bạo lực. Các giải pháp thị giác máy tính hiện đại chủ yếu tập trung vào nhận dạng hành động cơ bản (đi bộ, chạy, nhảy) hoặc đòi hỏi phần cứng hiệu năng cao có GPU đắt đỏ. Do đó, việc xây dựng một hệ thống phát hiện hành vi bạo lực tự động 24/7, có khả năng vận hành ổn định trên thiết bị tính toán biên nhỏ gọn, chi phí thấp là một yêu cầu cấp thiết.

Mục tiêu và nhiệm vụ nghiên cứu

Văn bản xác định 3 mục tiêu nghiên cứu cụ thể:

  1. Tìm hiểu về trí tuệ nhân tạo (AI) và ứng dụng của AI vào hệ thống camera giám sát nhằm phát hiện, ngăn chặn hành động phạm tội.
  2. Áp dụng kỹ thuật học sâu để xây dựng mô hình phát hiện đối tượng/hành động, triển khai mô hình lên thiết bị biên Raspberry Pi 4 Model B có gắn USB Camera.
  3. Xây dựng hệ thống website để người dùng theo dõi, giám sát hình ảnh từ camera theo thời gian thực và nhận thông báo cảnh báo tức thời khi phát hiện hành vi bạo lực.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu:
    • Mô hình học sâu nhận diện hành vi bạo lực.
    • Các tập dữ liệu huấn luyện và kiểm thử: RWF-2000, Hockey Fights, Raw video, AIRTLab.
    • Kỹ thuật tối ưu hóa mô hình máy học chạy trên Raspberry Pi 4 Model B.
    • Ngôn ngữ lập trình Python trong xây dựng và thực thi mô hình.
    • Nền tảng Node.js, hệ quản trị cơ sở dữ liệu MongoDB cho hệ thống backend, Vue.js cho giao diện web.
    • Thư viện Socket.IO phục vụ kết nối và truyền dữ liệu thời gian thực.
  • Phạm vi nghiên cứu: Khuôn viên trường học, hàng quán, khu dân cư, chung cư có quy mô dưới 100 người.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết và mô hình ứng dụng

Khóa luận tiếp cận bài toán phân loại hành vi thông qua việc kết hợp mạng nơ-ron tích chập (CNN) và mạng nơ-ron hồi quy (RNN):

  • Object Detection & Phân loại hành động: Tiếp cận cấu trúc kết hợp MobileNet và LSTM (Long Short-Term Memory). MobileNet đóng vai trò trích xuất đặc trưng không gian (Spatial Features) từ từng khung hình với độ phức tạp tính toán thấp, sau đó chuỗi vector đặc trưng kích thước $30 \times 25.600$ được đưa qua các lớp Dense và lớp LSTM (256 units) để học các đặc trưng biến thiên theo thời gian (Temporal Features) nhằm đưa ra quyết định nhị phân: Bạo lực (Fight) hoặc Không bạo lực (NonFight).
  • Thư viện AI và thị giác máy tính: Python 3, TensorFlow, Keras, OpenCV (tiền xử lý và hậu xử lý khung hình ma trận), NumPy, Pandas, Scikit-learn, Pickle.
Phân hệ Công nghệ / Thư viện Vai trò kỹ thuật
Edge AI & Streaming Python 3, OpenCV, TensorFlow, Keras, Flask Thu nhận video từ USB Camera, chạy mô hình MobileNet-LSTM, dựng Flask server phát luồng video
Tunneling Ngrok Tạo kết nối an toàn (Secure Tunnel) public URL video stream từ Localhost ra Internet
Cloud Backend Node.js, Express, Axios, Socket.IO Xử lý API, điều phối kết nối thời gian thực giữa thiết bị biên và trình duyệt
Cơ sở dữ liệu MongoDB, MongoDB Atlas Lưu trữ phi quan hệ (NoSQL) dữ liệu người dùng, camera, sự kiện, log AI
Web Frontend Vue.js, HTML/CSS, JavaScript Giao diện Dashboard giám sát luồng camera trực tiếp và hiển thị cảnh báo sự kiện

Phương pháp nghiên cứu và dữ liệu thực nghiệm

Tác giả sử dụng phương pháp thực nghiệm kết hợp thiết kế hệ thống hoàn chỉnh:

  • Tập dữ liệu tổng hợp: Tổng cộng 3.520 video từ 4 tập dữ liệu chuẩn và thu thập thực tế, chia theo tỷ lệ 80% Training Set (2.816 video) và 20% Testing Set (704 video).
    • RWF-2000 Dataset: 2.000 video từ YouTube (1.000 bạo lực, 1.000 không bạo lực), độ dài 5 giây (30 fps), kích thước đầu vào tiền xử lý $64 \times 224 \times 224 \times 5$.
    • Hockey Fight Dataset: 1.000 video khúc côn cầu (500 bạo lực, 500 không bạo lực), 41 frame/video, phân giải $360 \times 288$.
    • Raw video Dataset: 172 video bạo loạn, ẩu đả thực tế tại Bangladesh, Ấn Độ (150 bạo lực, 22 không bạo lực).
    • AIRT Lab Dataset: 348 video (174 bạo lực, 174 không bạo lực gồm các hành vi như ôm, vỗ tay), phân giải Full HD $1920 \times 1080$, 30 fps.
  • Phương pháp đánh giá: Sử dụng ma trận nhầm lẫn (Confusion Matrix) với các chỉ số True Positive (TP), True Negative (TN), False Positive (FP), False Negative (FN), độ chính xác (Accuracy), hàm mất mát (Loss), tốc độ xử lý khung hình (FPS) và độ trễ trên từng khung hình (giây).

Thiết kế và triển khai hệ thống

Kiến trúc tổng thể 3 tầng

Hệ thống được tổ chức thành 3 phân hệ độc lập liên kết qua giao thức mạng:

  1. Hệ thống thiết bị (Edge Subsystem):
    • USB Camera gắn vào Raspberry Pi 4 Model B thu nhận luồng video thời gian thực.
    • Module MobileNet-LSTM trên Pi tiếp nhận chuỗi khung hình, thực hiện trích xuất đặc trưng và phân loại hành vi.
    • Khi phát hiện hành vi bạo lực, Raspberry Pi đóng gói dữ liệu kết quả và gửi lên Cloud thông qua giao thức WebSocket (Socket.IO).
    • Flask Server trên Pi khởi tạo luồng video nội bộ, phối hợp Ngrok tạo liên kết URL công khai để truyền phát luồng video trực tiếp tới giao diện web.
  2. Hệ thống Cloud (Cloud Subsystem):
    • Máy chủ Node.js tiếp nhận tín hiệu cảnh báo từ thiết bị biên qua Socket.IO.
    • Lưu trữ dữ liệu sự kiện, trạng thái camera và thông tin nhận diện vào cơ sở dữ liệu MongoDB Atlas.
    • Phục vụ các API RESTful cho ứng dụng người dùng và quản trị.
  3. Hệ thống ứng dụng (Application Subsystem):
    • Web Client viết bằng Vue.js, cung cấp Dashboard xem camera thời gian thực qua URL từ Ngrok.
    • Nhận tín hiệu sự kiện tức thì qua Socket.IO để hiển thị cảnh báo đỏ và lưu trữ lịch sử sự kiện.

Thiết kế cơ sở dữ liệu (ERD)

Cơ sở dữ liệu MongoDB gồm 5 collection chính:

  • Users: UserId (ObjectId), username (String), password (String), email (String), Address (String), Age (Number), Country (String).
  • Camera: CameraId (ObjectId), SiteId (ObjectId), UserId (String), Name (String), Status (String).
  • Site: SiteId (ObjectId), City (String), Country (String), Address (String).
  • Event: EventId (ObjectId), CameraId (ObjectId), TimeBegin (String), TimeEnd (String).
  • AI Detection: DetectId (ObjectId), EventId (ObjectId), Result (Number), Frame (Date), Time (Date).

Mối quan hệ thực thể: Một User quản lý nhiều Camera; một Site chứa nhiều Camera; mỗi Camera ghi nhận nhiều Event; mỗi Event liên kết tương ứng với một bản ghi AI Detection.


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

Chương 1: Mở đầu

Chương 1 phân tích bối cảnh an ninh trật tự xã hội tại Việt Nam và vấn đề bạo lực học đường toàn cầu. Tác giả chỉ ra điểm nghẽn của hệ thống giám sát truyền thống là phụ thuộc vào con người, dễ mệt mỏi và bỏ sót sự cố. Khóa luận đặt ra bài toán nhận dạng hành động phạm tội trực tiếp bằng AI trên phần cứng nhúng giá rẻ.

Tác giả chỉ rõ các thách thức kỹ thuật lớn:

  • Về phương pháp: Các nghiên cứu trước chủ yếu chạy trên GPU máy trạm cấu hình cao, việc đưa mô hình học sâu nhận diện hành động chuỗi thời gian lên Raspberry Pi 4 đòi hỏi tối ưu hóa cấu trúc mạng nghiêm ngặt để đảm bảo tốc độ thời gian thực.
  • Về dữ liệu: Video ghi lại hành vi bạo lực thực tế từ camera giám sát rất khan hiếm và bảo mật; dung lượng tập dữ liệu lớn (3.522 video, tương đương 15,83 GB) gây quá tải tài nguyên trong các thử nghiệm ban đầu.

Chương 2: Công nghệ liên quan

Chương 2 trình bày chi tiết nền tảng lý thuyết và các công nghệ sử dụng:

  • Nhóm công nghệ AI: Tổng quan về thị giác máy tính và bài toán Object Detection; vai trò của TensorFlow và Keras trong huấn luyện mạng nơ-ron; thư viện OpenCV trong tiền xử lý ảnh, biến đổi ma trận; NumPy hỗ trợ tính toán mảng đa chiều hiệu năng cao với bộ nhớ liên tục.
  • Nhóm công nghệ Web & Hệ thống: Kiến trúc non-blocking I/O hướng sự kiện của Node.js; cơ chế hoạt động hai chiều thời gian thực của Socket.IO; giao thức Axios phục vụ gọi API RESTful; framework Vue.js xây dựng giao diện Single Page Application; công cụ Ngrok tạo đường hầm kết nối mạng mà không cần cấu hình NAT/VPN/DNS động; hệ quản trị cơ sở dữ liệu hướng tài liệu MongoDB lưu trữ linh hoạt dưới dạng JSON/BSON.

Chương 3: Kiến trúc hệ thống

Chương 3 mô tả chi tiết sơ đồ thiết kế hệ thống từ biên tới máy chủ:

  • Phân tích luồng xử lý dữ liệu giữa 3 phân hệ: Thiết bị (Pi 4 + Camera) $\rightarrow$ Cloud (Node.js + MongoDB) $\rightarrow$ Ứng dụng (Vue.js Web).
  • Trình bày sơ đồ phân rã chức năng (Website Admin quản lý người dùng, camera, sự kiện; Web User xem Dashboard, quản trị camera cá nhân, theo dõi cảnh báo).
  • Xây dựng mô hình Use Case chi tiết cho 3 nhóm đối tượng: Người dùng chưa có tài khoản (Đăng ký), Người dùng đã có tài khoản (Đăng nhập, Quản lý thông tin, Đổi mật khẩu, Xem chi tiết Camera, Xem chi tiết Event, Lịch sử Event), và Quản trị viên (Thống kê Camera, Thống kê Event, Thống kê User).
  • Thiết kế chi tiết sơ đồ thực thể kết hợp (ERD) và cấu trúc các trường dữ liệu trong MongoDB.

Chương 4: Đánh giá mô hình và thực nghiệm

Chương 4 trình bày toàn bộ quá trình thử nghiệm thực tế:

1. Môi trường phần cứng: So sánh môi trường huấn luyện và môi trường triển khai thực tế:

Thiết bị CPU RAM GPU Vai trò
Google Colab Intel Xeon (2 cores) 13 GB Tesla K80 12GB Huấn luyện thử nghiệm mô hình ban đầu
PC trạm Intel Core i7-8750H (6 cores/12 threads) 16 GB NVIDIA GTX 1050 Huấn luyện toàn bộ tập dữ liệu 3.520 video
Raspberry Pi 4 Model B Broadcom BCM2711, 4 nhân Cortex-A72 @ 1.2 GHz 4 GB Không hỗ trợ GPU Thiết bị biên nhận diện thực tế tại hiện trường

2. Kịch bản thực nghiệm:

  • Kịch bản 1: Đánh giá mô hình trên PC trạm để xác định độ chính xác tối đa và thời gian suy luận chuẩn.
  • Kịch bản 2: Triển khai mô hình MobileNet-LSTM lên Raspberry Pi 4 Model B kết nối USB Camera thực tế để kiểm tra tốc độ khung hình (FPS), thời gian xử lý từng frame và độ ổn định khi truyền dữ liệu.

3. Kết quả đánh giá mô hình:

  • Mô hình đạt độ chính xác 82,67% trên tập dữ liệu kiểm thử (Testing Set gồm 704 mẫu).
  • Tốc độ xử lý trên Raspberry Pi 4 Model B đạt 8 đến 9 khung hình/giây (FPS).
  • Thời gian xử lý trung bình trên mỗi khung hình là 0,1 giây.
  • Giao diện web hoàn thiện các chức năng đăng ký, đăng nhập, trang cá nhân, Dashboard xem video trực tiếp từ camera và bảng danh sách thống kê sự kiện bạo lực theo mốc thời gian thực.

Chương 5: Kết luận

Chương 5 đúc kết kết quả khóa luận, nêu rõ các khó khăn kỹ thuật đã vượt qua và đề xuất các hướng phát triển nhằm nâng cao năng lực hệ thống.


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

Kết quả định lượng

  • Xây dựng và tối ưu thành công mô hình MobileNet-LSTM trên tập dữ liệu 3.520 video.
  • Đạt độ chính xác 82,67% trên tập kiểm thử (Testing Set).
  • Tốc độ xử lý trực tiếp trên thiết bị biên nhúng Raspberry Pi 4 Model B (4GB RAM) đạt 8 - 9 FPS, thời gian trích xuất và phân loại đạt 0,1s/frame, đáp ứng yêu cầu nhận dạng thời gian thực tại các khu vực giám sát vừa và nhỏ.

Giải pháp và đóng góp kỹ thuật

  • Thiết kế giải pháp trọn gói kết hợp Edge AI - Cloud - Web: xử lý suy luận phân tán tại biên, giải phóng băng thông truyền tải luồng video liên tục lên server trung tâm.
  • Sử dụng mô hình MobileNet gọn nhẹ kết hợp LSTM giúp hệ thống học được các đặc trưng ngữ cảnh theo chuỗi thời gian thay vì chỉ phân tích từng khung hình tĩnh độc lập.
  • Xây dựng hệ thống cảnh báo tức thời qua WebSocket giúp giảm thiểu chi phí nhân sự tuần tra, giám sát an ninh liên tục.

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

Hạn chế

  • Phần cứng Raspberry Pi 4 Model B không có bộ tăng tốc GPU chuyên dụng, do đó tốc độ xử lý dừng lại ở mức 8-9 FPS, chưa đạt mức 24-30 FPS chuẩn của camera giám sát công nghiệp.
  • Tập dữ liệu huấn luyện chủ yếu thu thập từ nguồn Internet (YouTube, thể thao, tin tức), còn thiếu các video ghi lại từ các góc quay camera an ninh góc rộng chuyên dụng trong các điều kiện ánh sáng phức tạp (ban đêm, ngược sáng).
  • Hệ thống mới chỉ tập trung phân loại một hành vi cụ thể là bạo lực thể xác (Fight/NonFight), chưa mở rộng sang các dạng hành vi vi phạm trật tự khác (trộm cắp, phá hoại tài sản).
  • Phạm vi thử nghiệm thực tế mới dừng lại ở quy mô dưới 100 người.

Hướng nghiên cứu tiếp

  • Nâng cấp và thử nghiệm trên các phần cứng biên có hỗ trợ chip tăng tốc AI chuyên dụng (Edge TPU, NVIDIA Jetson).
  • Thu thập và mở rộng tập dữ liệu camera giám sát thực tế tại các góc quay thực tế ở Việt Nam.
  • Phát triển mô hình nhận diện đa hành vi phạm tội (mang vác hung khí, cướp giật, đột nhập).
  • Mở rộng quy mô thử nghiệm cho các khu vực công cộng lớn hơn.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo chuyên môn đối với:

  • Sinh viên, kỹ sư ngành Mạng máy tính, Hệ thống nhúng và IoT: Tham khảo cách thức đóng gói mô hình học sâu chạy trên máy tính nhúng ARM (Raspberry Pi), cách thiết lập máy chủ phát luồng video nhẹ (Flask) và kỹ thuật tạo kênh truyền dữ liệu qua Ngrok và Socket.IO.
  • Người nghiên cứu thị giác máy tính ứng dụng: Tham khảo pipeline tiền xử lý dữ liệu video (OpenCV/NumPy) và kiến trúc kết hợp mạng không gian - thời gian (MobileNet kết hợp LSTM) cho bài toán phân loại hành vi.
  • Kỹ sư phát triển phần mềm Fullstack: Tham khảo mô hình phân rã chức năng, thiết kế lược đồ CSDL NoSQL (MongoDB) và cách xây dựng giao diện Dashboard thời gian thực bằng Vue.js.

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

1. Khóa luận sử dụng mô hình học sâu nào để nhận diện hành vi bạo lực?

Tác giả đề xuất mô hình kết hợp MobileNet và LSTM. Mạng MobileNet đóng vai trò trích xuất đặc trưng không gian từ chuỗi 30 khung hình, tạo ra vector đặc trưng có kích thước $30 \times 25.600$. Dữ liệu này sau đó đi qua các lớp Dense và lớp LSTM gồm 256 units để phân tích mối tương quan thời gian và đưa ra kết quả phân loại hành vi bạo lực.

2. Dữ liệu huấn luyện mô hình được tổng hợp từ những nguồn nào?

Tổng cộng có 3.520 video được sử dụng từ 4 tập dữ liệu: RWF-2000 (2.000 video), Hockey Fight (1.000 video), Raw video (172 video) và AIRT Lab Dataset (348 video). Dữ liệu được chia theo tỷ lệ 80% (2.816 video) cho tập huấn luyện và 20% (704 video) cho tập kiểm thử.

3. Hiệu năng thực tế của mô hình trên thiết bị biên Raspberry Pi 4 Model B đạt mức nào?

Trên thiết bị Raspberry Pi 4 Model B (CPU Broadcom 4 nhân Cortex-A72 1.2 GHz, RAM 4GB, không có GPU hỗ trợ), mô hình đạt độ chính xác 82,67% trên tập Testing Set. Tốc độ xử lý khung hình đạt 8 - 9 FPS với thời gian suy luận trung bình là 0,1 giây cho mỗi khung hình.

4. Luồng truyền dữ liệu và cảnh báo trong hệ thống diễn ra như thế nào?

USB Camera thu tín hiệu video $\rightarrow$ Raspberry Pi 4 phân tích hành vi qua mô hình MobileNet-LSTM $\rightarrow$ Khi có bạo lực, kết quả được gửi qua WebSocket (Socket.IO) tới máy chủ Node.js $\rightarrow$ Máy chủ lưu dữ liệu vào MongoDB Atlas $\rightarrow$ Đồng thời, Flask Server trên Pi kết hợp Ngrok phát luồng video trực tiếp tới giao diện Vue.js để hiển thị cảnh báo đỏ kèm video cho người dùng.

5. Hệ thống được thiết kế hướng tới triển khai trong phạm vi nào?

Khóa luận xác định phạm vi nghiên cứu và ứng dụng thực tế tại khuôn viên trường học, hàng quán, khu dân cư hoặc chung cư có quy mô dưới 100 người.


Kết luận

Khóa luận "Xây dựng hệ thống phát hiện hành động phạm tội sử dụng camera thông minh áp dụng kỹ thuật học sâu" của Ngô Nguyễn Linh Hảo và Đặng Đức Châu đã hoàn thành trọn vẹn mục tiêu nghiên cứu và triển khai thực tế. Bằng việc kết hợp kiến trúc học sâu MobileNet-LSTM trên phần cứng Raspberry Pi 4 Model B cùng hệ thống Web Dashboard thời gian thực, đề tài đã giải quyết bài toán phát hiện bạo lực với độ chính xác 82,67% và tốc độ xử lý 8-9 FPS. Đây là giải pháp công nghệ có tính thực thi cao, mang lại giá trị thực tiễn trong việc tự động hóa giám sát an ninh và giảm tải áp lực nhân sự cho các khu dân cư và trường học.