Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh xã hội hiện đại và đặc biệt là giai đoạn dịch bệnh COVID-19 diễn biến phức tạp, nhu cầu theo dõi và chăm sóc sức khỏe cá nhân tại gia đình ngày càng tăng cao nhằm giảm tải áp lực cho các cơ sở y tế. Việc phát hiện kịp thời các triệu chứng sức khỏe bất thường như té xỉu, đau bụng, đau đầu, đau lưng, tức ngực để cảnh báo đến người thân đóng vai trò quan trọng trong việc bảo vệ tính mạng và sức khỏe người bệnh.
Trước đây, các hệ thống camera giám sát truyền thống thường ứng dụng mạng nơ-ron tích chập (2D CNN) để nhận diện hành vi dựa trên việc phân tích trực tiếp từng khung hình ảnh riêng rẽ. Phương pháp này bộc lộ những hạn chế rõ rệt: các khung hình rời rạc thiếu sự liên kết chuỗi thời gian, dẫn đến khó phân biệt các hành động có cử chỉ tương đồng (như đi bộ và chạy bộ); đồng thời, việc xử lý toàn bộ dữ liệu ma trận điểm ảnh đòi hỏi thiết bị phần cứng cấu hình cao, tiêu tốn nhiều tài nguyên tính toán và khó vận hành ổn định trên các thiết bị phổ thông. Nhằm khắc phục các nhược điểm này, khóa luận tập trung nghiên cứu giải pháp nhận diện hành động dựa trên sự chuyển động của khung xương cơ thể (Skeleton-based Action Recognition), chuyển đổi dữ liệu không gian ảnh thành chuỗi tọa độ điểm nốt nhẹ hơn, phục vụ bài toán giám sát thời gian thực.
Mục tiêu đề tài và các nhiệm vụ nghiên cứu cụ thể bao gồm:
- Nghiên cứu cơ sở lý thuyết về thị giác máy tính, kỹ thuật học sâu (Deep Learning), mạng nơ-ron hồi quy (RNN, LSTM, GRU), thư viện MediaPipe Pose và phương pháp Train Pipeline trong Scikit-Learn.
- Xây dựng mô hình nhận dạng hành động dựa trên chuyển động khung xương bằng cách kết hợp MediaPipe Pose để trích xuất 33 điểm mốc tọa độ 3D và mạng LSTM để phân loại chuỗi hành động theo thời gian.
- Thu thập, tiền xử lý và xây dựng tập dữ liệu video phục vụ nhận dạng 16 lớp hành động và triệu chứng bất thường liên quan đến sức khỏe tại nhà.
- Thiết kế và cài đặt hoàn chỉnh hệ thống phần mềm camera thông minh trên nền tảng Linux và Windows, tích hợp cơ chế đa luồng tự động chụp ảnh và gửi email cảnh báo khi phát hiện dấu hiệu bất thường, đảm bảo mô hình hoạt động ổn định trên thiết bị cấu hình thấp.
Đối tượng nghiên cứu của khóa luận là các cử chỉ, hành động bất thường của con người liên quan đến sức khỏe trong môi trường sinh hoạt tại nhà. Phạm vi nghiên cứu giới hạn ở việc xử lý luồng video RGB từ camera thông thường (thu thập qua Laptop TUFGAMING và bộ dữ liệu KARD), trích xuất 33 điểm mốc 3D của cơ thể người và phân loại 16 nhóm hành động cụ thể.
Cơ sở lý thuyết và phương pháp
Khóa luận được xây dựng dựa trên các nền tảng lý thuyết và công nghệ xử lý dữ liệu thị giác máy tính và học sâu:
- Biểu diễn dữ liệu ảnh số: Khái niệm điểm ảnh (Pixel), mức xám (thang 0–255), hệ màu RGB và cấu trúc biểu diễn dữ liệu đa chiều dưới dạng Tensor ($H \times W \times C$).
- Mạng nơ-ron tích chập (CNN) và MobileNetV2: Khảo sát cơ chế tích chập (Convolution), bước nhảy (Stride), đệm viền (Padding), hàm kích hoạt phi tuyến ReLU, lớp gộp (Max/Average Pooling) và lớp kết nối đầy đủ (Fully Connected). Nghiên cứu kiến trúc MobileNetV2 với khối Inverted Residual Block, lớp tích chập tách biệt chiều sâu (Depthwise Separable Convolution) và cơ chế loại bỏ phi tuyến ở các lớp nút cổ chai (Linear Bottlenecks) nhằm tối ưu hóa tài nguyên cho thiết bị phần cứng thấp/IoT.
- Kỹ thuật Transfer Learning: Ứng dụng tri thức từ các miền nguồn đã được huấn luyện trên tập dữ liệu lớn để áp dụng cho bài toán đích, giúp giảm thiểu thời gian huấn luyện và nhu cầu dữ liệu mẫu.
- Mạng nơ-ron hồi quy (RNN) và LSTM (Long Short-Term Memory): Phân tích cơ chế truyền trạng thái ẩn qua các bước thời gian, các vấn đề suy giảm đạo hàm (Vanishing Gradient) và bùng nổ đạo hàm (Exploding Gradient) trong thuật toán BPTT. Cấu trúc tế bào nhớ LSTM được ứng dụng chuyên sâu với ba cổng điều khiển:
- Cổng quên (Forget Gate): Loại bỏ thông tin không cần thiết khỏi trạng thái tế bào nội bộ ($s_t$).
- Cổng vào (Input Gate): Chọn lọc và bổ sung thông tin mới vào trạng thái tế bào.
- Cổng ra (Output Gate): Xác định thông tin từ trạng thái tế bào được đưa ra trạng thái ẩn ($h_t$).
- Thư viện MediaPipe Pose: Sử dụng mô hình BlazePose phát hiện 33 điểm mốc (landmarks) 3D $(x, y, z)$ trên toàn bộ cơ thể người từ luồng video RGB với tốc độ xử lý nhanh, tối ưu cho môi trường đa nền tảng.
- Phương pháp Train Pipeline: Sử dụng đối tượng Pipeline trong Scikit-Learn để chuẩn hóa quy trình làm việc khép kín gồm hai khối: khối huấn luyện (Training) và khối vận hành thực tế (Serving).
Phương pháp nghiên cứu kết hợp giữa nghiên cứu tài liệu lý thuyết và thực nghiệm hệ thống. Dữ liệu huấn luyện được tổng hợp từ hai nguồn chính: dữ liệu tự quay thực tế từ thiết bị phần cứng (Laptop TUFGAMING) và trích xuất mẫu từ bộ dữ liệu học thuật KARD (Kinetics Activity Recognition Dataset). Bên cạnh đó, tác giả khảo sát các bộ dữ liệu chuẩn quốc tế như NTU RGB+D, STAIR-Actions, UCF-101 và HMDB-51 để tham khảo cách phân loại cử chỉ.
Thiết kế và triển khai hệ thống
Hệ thống camera giám sát thông minh được thiết kế theo kiến trúc xử lý thời gian thực, gồm các khối chức năng chính:
-
Khối thu nhận và trích xuất đặc trưng (Data Acquisition & Pose Extraction):
- Luồng video RGB từ camera được đọc liên tục qua thư viện OpenCV.
- Thư viện MediaPipe Pose quét từng khung hình, xác định vị trí của 33 điểm mốc khung xương trên cơ thể người.
- Tọa độ $(x, y, z)$ của 33 điểm mốc được số hóa thành vector đặc trưng và lưu trữ dưới dạng cấu trúc bảng (CSV) thay vì lưu trữ toàn bộ ma trận điểm ảnh, giúp giảm thiểu tối đa dung lượng bộ nhớ.
-
Khối phân loại hành động (Action Classification with LSTM):
- Chuỗi vector tọa độ theo các phân đoạn thời gian được đưa vào mạng nơ-ron LSTM để mô hình hóa mối quan hệ phụ thuộc thời gian giữa các cử chỉ.
- Lớp Softmax ở đầu ra tính toán phân phối xác suất và đưa ra nhãn dự đoán cho 16 lớp hành động.
-
Khối cảnh báo và vận hành đa luồng (Multi-threading Serving & Alert):
- Hệ thống vận hành với hai luồng xử lý song song độc lập:
- Luồng 1 (Phân loại hành động): Thực hiện inference liên tục từ luồng camera để nhận diện trạng thái của đối tượng.
- Luồng 2 (Xử lý cảnh báo): Khi phát hiện nhãn hành động thuộc nhóm nguy hiểm hoặc triệu chứng bệnh (té ngã, ngất xỉu, đau ngực, đau bụng...), luồng này tự động trích xuất khung ảnh sự cố, đóng gói nội dung và gửi email cảnh báo tức thì đến người chăm sóc.
-
Môi trường công nghệ:
- Ngôn ngữ lập trình: Python 3 trên nền tảng phân phối Anaconda.
- Thư viện phụ trợ: OpenCV (xử lý hình ảnh/video), MediaPipe (trích xuất pose), TensorFlow và Keras (xây dựng và huấn luyện mô hình LSTM), Scikit-Learn (quản lý Train Pipeline), NumPy và Pandas (xử lý dữ liệu dạng bảng).
- Nền tảng thực thi: Hỗ trợ triển khai trên hệ điều hành Linux và Windows.
Nội dung chính theo từng chương
Chương I: Tổng quan
Chương I trình bày tính cấp thiết của đề tài trong bối cảnh quá tải y tế và nhu cầu giám sát sức khỏe tại nhà. Tác giả phân tích lịch sử giải quyết bài toán nhận diện hành động con người, chỉ ra sự hạn chế của các phương pháp xử lý dựa trên hình ảnh thuần túy và đề xuất hướng tiếp cận nhận diện dựa trên chuyển động khung xương (Skeleton-based Action Recognition). Chương này cũng xác định rõ mục tiêu đề tài, mục tiêu nghiên cứu và phương pháp tiếp cận thực nghiệm.
Chương II: Cơ sở lý thuyết
Chương II tập trung hệ thống hóa toàn bộ nền tảng lý thuyết và công cụ kỹ thuật phục vụ đề tài:
- Trình bày khái niệm về hệ thống thông minh (Intelligent Systems), hệ thống robot và camera hỗ trợ chăm sóc sức khỏe.
- Tổng quan về Deep Learning, cấu trúc mạng nơ-ron nhân tạo và các ứng dụng trong thị giác máy tính.
- Phân tích chi tiết các kỹ thuật xử lý ảnh số: điểm ảnh, mức xám, hệ màu RGB, biểu diễn Tensor, các lớp của mạng CNN (Conv, Pooling, FC, ReLU), kỹ thuật Transfer Learning và kiến trúc mạng MobileNetV2 tối ưu hóa cho thiết bị nhúng.
- Nghiên cứu cơ chế hoạt động của mạng nơ-ron hồi quy RNN, các lỗi toán học về gradient (Vanishing/Exploding Gradient) và cấu trúc toán học của mạng LSTM với ba cổng điều khiển thông tin.
- Giới thiệu các công cụ triển khai: Python 3, Anaconda, OpenCV, Keras, TensorFlow, MediaPipe Pose (mô hình BlazePose trích xuất 33 landmarks 3D) và phương pháp đóng gói Train Pipeline trong Scikit-Learn.
- Khảo sát các bộ dữ liệu nhận dạng hành động chuẩn quốc tế (KARD, NTU RGB+D, STAIR-Actions, UCF-101, HMDB-51).
- Phân loại và mô tả đặc trưng các cử chỉ, triệu chứng sức khỏe bất thường thường gặp: hắt hơi/ho, tức ngực, đau lưng, té ngã, đau cổ, đau đầu, đau bụng, buồn nôn, ngất xỉu.
- Tổng hợp bảng so sánh các công trình nghiên cứu tương tự trong và ngoài nước.
Chương III: Hệ thống camera giám sát thông minh phục vụ chăm sóc sức khỏe tại nhà
Chương III mô tả toàn bộ quá trình thiết kế, thử nghiệm và đánh giá hệ thống thực tế:
- Nguồn dữ liệu và tiền xử lý: Thu thập video thực tế qua Laptop TUFGAMING kết hợp với tập dữ liệu KARD để hình thành tập dữ liệu 16 lớp hành động. Dữ liệu video được trích xuất thành các tập tin CSV chứa tọa độ 33 điểm mốc theo thời gian.
- Huấn luyện mô hình: Xây dựng kiến trúc mạng LSTM kết hợp MediaPipe Pose và Scikit-Learn Pipeline; phân tích kết quả huấn luyện mô hình theo các phân đoạn dữ liệu.
- Cài đặt và cấu trúc hệ thống: Thiết lập môi trường chạy trên Windows và Linux, tổ chức mã nguồn theo mô hình hai luồng xử lý song song (nhận diện thời gian thực và tự động gửi email/ảnh cảnh báo).
- Đánh giá thực nghiệm: Hệ thống đạt độ chính xác trên 95%, xử lý ổn định trên phần cứng thông thường. Tác giả tổng kết các kết quả đạt được, chỉ ra các điểm hạn chế và đề xuất tài liệu hướng dẫn sử dụng.
Kết quả và đóng góp
Bảng tổng hợp các nghiên cứu tương tự và kết quả khóa luận
| STT |
Tên nghiên cứu / Mô hình |
Phương pháp / Kiến trúc |
Bộ dữ liệu sử dụng |
Độ chính xác |
| 1 |
Revisiting Skeleton-based Action Recognition (Haodong Duan et al.) |
PoseC3D, 3D-CNN |
12 lớp của NTU RGB+D |
97,1% |
| 2 |
Channel-wise Topology Refinement Graph Convolution (Yuxin Chen et al.) |
Mạng đồ thị tích hợp GCN, CTR-GC |
NW-UCLA.1 và NTU RGB+D 120 |
96,8% |
| 3 |
Learning Skeletal Graph Neural Networks (Ailing Zeng et al.) |
Skeletal Graph Neural Network (Skeletal GNN) |
Human3.6M, MPI-INF-3DHP |
96,0% |
| 4 |
Deep Learning-Based Real-Time Multiple-Person System (Jen-Kai Tsai et al., 2020) |
3D-CNN kết hợp YOLOv3 |
12 lớp của NTU RGB+D |
82,9% |
| 5 |
STAIR Actions Benchmark (Nhóm tác giả STAIR) |
3D ResNet-34 |
STAIR-Actions (16, 30, 60 khung ảnh) |
73,87% – 76,46% |
| 6 |
Mô hình khóa luận (Nguyễn Minh Tâm) |
MediaPipe Pose + LSTM + Train Pipeline |
Tập dữ liệu 16 lớp (Thực tế + KARD) |
> 95,0% |
Đóng góp chính của đề tài
- Tối ưu hóa tài nguyên tính toán: Đề xuất và ứng dụng thành công phương pháp trích xuất 33 điểm khung xương 3D qua MediaPipe Pose chuyển thành dữ liệu tọa độ CSV, loại bỏ sự phụ thuộc vào các mạng 3D-CNN nặng nề, giúp hệ thống hoạt động mượt mà trên phần cứng máy tính phổ thông và môi trường nhúng.
- Xây dựng quy trình xử lý chuỗi hoàn chỉnh: Ứng dụng mạng LSTM kết hợp Scikit-Learn Pipeline cho phép tự động hóa các bước từ tiền xử lý dữ liệu đặc trưng đến huấn luyện và phân loại chuỗi hành động theo thời gian thực.
- Tích hợp ứng dụng cảnh báo thực tiễn: Xây dựng phần mềm hoàn chỉnh chạy trên Linux và Windows, vận hành hai luồng xử lý song song để vừa giám sát liên tục vừa tự động chụp ảnh và gửi thông báo qua email khi phát hiện các triệu chứng bất thường (té ngã, ngất xỉu, đau bụng, đau ngực...).
Hạn chế và hướng nghiên cứu tiếp
Khóa luận ghi nhận các hạn chế và định hướng phát triển cụ thể như sau:
- Hạn chế: Tập dữ liệu tự xây dựng mới chỉ tập trung vào 16 lớp hành động cơ bản; chất lượng trích xuất tọa độ điểm mốc của MediaPipe Pose phụ thuộc vào điều kiện ánh sáng môi trường và góc quay camera (dễ bị ảnh hưởng khi đối tượng bị che khuất một phần cơ thể).
- Hướng nghiên cứu tiếp:
- Mở rộng số lượng và độ đa dạng của tập dữ liệu với nhiều hành vi sức khỏe phức tạp hơn trong sinh hoạt.
- Nghiên cứu cải tiến các kiến trúc mạng nơ-ron học sâu để tăng cường độ chính xác khi nhận diện trong các điều kiện môi trường ánh sáng phức tạp hoặc góc quan sát bị khuất.
- Phát triển ứng dụng trên các nền tảng thiết bị di động thông minh và hệ thống nhúng IoT chuyên dụng nhằm phục vụ triển khai đại trà.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo hữu ích cho:
- Sinh viên và học viên ngành Công nghệ thông tin, Khoa học dữ liệu, Trí tuệ nhân tạo: Cung cấp tài liệu tổng quan và chi tiết về việc xây dựng pipeline thị giác máy tính kết hợp giữa mô hình trích xuất tư thế (MediaPipe Pose) và mô hình học chuỗi thời gian (LSTM).
- Nhà phát triển các hệ thống IoT và Smart Home/Healthcare: Tham khảo kiến trúc phân luồng xử lý song song giữa tác vụ phân loại AI thời gian thực và module kích hoạt cảnh báo tự động qua email/hình ảnh trên thiết bị phần cứng cấu hình thấp.
- Các đề tài nghiên cứu về Skeleton-based Action Recognition: Tham khảo phương pháp chuyển đổi dữ liệu khung hình video RGB thành tọa độ điểm mốc 3D $(x, y, z)$ dạng bảng để giảm chi phí huấn luyện.
Câu hỏi thường gặp
1. Tại sao tác giả lựa chọn phương pháp nhận diện qua điểm khung xương thay vì phân tích trực tiếp từ ma trận ảnh bằng 2D/3D CNN?
Phân tích trực tiếp từ ảnh đòi hỏi phần cứng rất mạnh để xử lý ma trận điểm ảnh liên tục, đồng thời các mô hình 2D CNN lấy mẫu từng frame rời rạc nên khó nắm bắt mối liên hệ chuỗi thời gian giữa các cử chỉ. Phương pháp khung xương trích xuất 33 điểm mốc 3D thành dữ liệu tọa độ $(x, y, z)$ lưu dạng CSV, giúp giảm thiểu dung lượng dữ liệu, tiết kiệm tài nguyên tính toán và chạy mượt trên thiết bị cấu hình thấp.
2. Mạng LSTM giải quyết nhược điểm gì của mạng nơ-ron hồi quy RNN truyền thống trong bài toán này?
Mạng RNN truyền thống gặp hiện tượng suy giảm đạo hàm (Vanishing Gradient) hoặc bùng nổ đạo hàm (Exploding Gradient) khi huấn luyện trên các chuỗi dài, dẫn đến mất khả năng ghi nhớ các thông tin ở xa trong quá khứ. Mạng LSTM bổ sung các tế bào nhớ (Memory Cell) và ba cổng (Forget Gate, Input Gate, Output Gate) giúp chọn lọc, lưu giữ và cập nhật thông tin dài hạn của chuỗi hành động một cách hiệu quả.
3. Hệ thống xử lý đồng thời tác vụ nhận diện và gửi cảnh báo như thế nào để không bị gián đoạn?
Hệ thống được thiết kế theo kiến trúc hai luồng xử lý song song (multithreading): một luồng chuyên trách đọc camera, trích xuất điểm mốc và phân loại hành động thời gian thực; luồng thứ hai được kích hoạt khi có sự cố để chụp khung hình, đóng gói nội dung và gửi email cảnh báo đến người dùng mà không làm nghẽn luồng nhận diện chính.
4. Tập dữ liệu huấn luyện của đề tài bao gồm những lớp hành động nào và được thu thập ra sao?
Tập dữ liệu nhận dạng 16 lớp hành động (gồm các hành động sinh hoạt và triệu chứng sức khỏe bất thường như té ngã, ngất xỉu, đau bụng, đau đầu, tức ngực, đau lưng, đau cổ, ho/hắt hơi, buồn nôn...). Dữ liệu được xây dựng bằng cách kết hợp giữa việc tự quay video thực tế bằng Laptop TUFGAMING và kế thừa các mẫu hành động từ tập dữ liệu KARD.
5. Độ chính xác thực nghiệm của hệ thống đạt mức bao nhiêu theo công bố trong khóa luận?
Theo kết quả đánh giá và kiểm thử thực tế được công bố trong văn bản, mô hình kết hợp giữa MediaPipe Pose, LSTM và Train Pipeline đạt độ chính xác trên 95% và vận hành ổn định trên các thiết bị cấu hình thấp.
Kết luận
Khóa luận của tác giả Nguyễn Minh Tâm đã nghiên cứu và triển khai thành công hệ thống camera giám sát thông minh thời gian thực nhằm phát hiện các hành vi và triệu chứng bất thường của bệnh nhân tại nhà. Bằng việc kết hợp thư viện MediaPipe Pose để trích xuất 33 điểm khung xương 3D và mạng LSTM để phân loại chuỗi hành động, mô hình đạt độ chính xác trên 95% mà không đòi hỏi phần cứng cấu hình cao. Công trình đóng góp một giải pháp ứng dụng hoàn chỉnh, hỗ trợ cảnh báo tự động qua email và có giá trị thực tiễn trong lĩnh vực chăm sóc sức khỏe từ xa.