Hệ Thống Phát Hiện Ngã Thời Gian Thực

Hệ Thống Phát Hiện Ngã Thời Gian Thực

Completed 2026-04-11

Hệ thống phát hiện ngã thời gian thực được xây dựng nhằm giám sát an toàn cho người cao tuổi và bệnh nhân trong môi trường gia đình hoặc cơ sở y tế. Hệ thống sử dụng camera kết hợp AI để theo dõi liên tục, tự động phát hiện ngã và gửi cảnh báo ngay khi xảy ra sự cố.

Té ngã là nguyên nhân phổ biến gây chấn thương nghiêm trọng, đặc biệt khi không được phát hiện kịp thời. Giám sát thủ công thường không liên tục và phụ thuộc vào người chăm sóc.

  • Nguy cơ chấn thương cao
  • Phát hiện chậm → tăng rủi ro
  • Thiếu giám sát liên tục

Hệ thống được thiết kế theo pipeline 3 bước:

  • Thu nhận dữ liệu
  • Trích xuất đặc trưng
  • Phân loại và phát hiện ngã

Mỗi cửa sổ thời gian được biểu diễn bằng 32 đặc trưng, tổng hợp từ các thống kê cơ bản và đặc trưng đỉnh.

Để giảm cảnh báo nhầm, hệ thống áp dụng xác nhận kép:

  • Kiểm tra qua nhiều bước liên tiếp
  • Chỉ cảnh báo khi điều kiện ổn định

Hệ thống được đánh giá bằng LOSO-CV nhằm đảm bảo khả năng tổng quát hóa trên nhiều đối tượng.

Dữ liệu sử dụng là GMDCSA-24 v2.1, bao gồm các hoạt động thường ngày và tình huống ngã có gắn nhãn thời gian.

Tổng thể, hệ thống hướng tới phát hiện thời gian thực, giảm cảnh báo sai và dễ triển khai trong thực tế.

Tech Stack:

Python MediaPipe OpenCV scikit-learn Random Forest SVM Gradient Boosting pandas numpy joblib

Timeline

T2
T3
T4
T5
T6
T7
CN

Ngày có sự kiện sẽ được tô màu. Click để xem sự kiện trong ngày.

Tất cả sự kiện

Hoàn Thiện Tài Liệu & Phát Hành Dự Án

2026-03-26
release

Hoàn thiện tài liệu kỹ thuật đầy đủ trong README.md:

  • Hướng dẫn cài đặt từng bước (pip install -r requirements.txt)
  • Quy trình chạy 3 lệnh: trích xuất → huấn luyện → nhận diện thời gian thực
  • Bảng mô tả 32 đặc trưng chi tiết
  • Bảng so sánh kết quả 5 mô hình LOSO-CV
  • Cấu trúc thư mục bộ dữ liệu mong đợi

Dự án được phát hành công khai dưới dạng mã nguồn mở, sẵn sàng cho cộng đồng nghiên cứu tái sử dụng và mở rộng. Toàn bộ pipeline từ dữ liệu thô đến hệ thống chạy thời gian thực có thể tái tạo hoàn toàn.

Hệ Thống Logging & Giám Sát Hoàn Chỉnh

2026-03-24
feature

Xây dựng TeeLogger — hệ thống ghi log kép đồng thời xuất ra console và file .log. Mỗi phiên chạy tự động tạo:

  • File .log — log văn bản chi tiết với timestamp
  • File .json — metrics có cấu trúc dễ phân tích tự động (accuracy, F1, precision, recall cho từng mô hình)

Điều này cho phép theo dõi lịch sử thực nghiệm, so sánh các lần chạy khác nhau và tái tạo kết quả nghiên cứu một cách đáng tin cậy.

Tối Ưu Hóa & Xử Lý Các Trường Hợp Biên

2026-03-22
bug

Phát hiện và xử lý các vấn đề thực tế khi chạy với webcam:

  • Ngưỡng visibility 0.5 để loại bỏ các điểm xương cốt bị che khuất hoặc ngoài khung hình
  • Xử lý tốc độ khung hình thay đổi (variable FPS) — cửa sổ trượt tự động thích nghi
  • Tọa độ MediaPipe được chuẩn hóa 0-1, bất biến với khoảng cách camera và độ phân giải
  • Buffer 15 khung hình cho phát hiện đỉnh spike vận tốc — ổn định hơn với noise

Điều chỉnh tham số cửa sổ trượt và ngưỡng xác nhận qua thực nghiệm để đạt cân bằng tốt giữa độ nhạy và tỷ lệ báo nhầm.

Xây Dựng Module Nhận Diện Thời Gian Thực

2026-03-20
feature

Phát triển realtime.py — module chạy inference trực tiếp trên webcam hoặc video file:

  • Vẽ bộ xương 33 điểm lên khung hình bằng OpenCV
  • Hiển thị thanh độ tin cậy (confidence bar) theo thời gian thực
  • Theo dõi FPS và hiệu suất xử lý
  • Overlay cảnh báo đỏ khi phát hiện ngã, duy trì 3 giây

Triển khai chiến lược xác nhận kép để giảm false positive: kết hợp ngưỡng xác suất ≥0.55 với yêu cầu 2 dự đoán liên tiếp dương tính và kiểm tra đỉnh vận tốc hông vật lý.

Kết Quả Tốt Nhất: Random Forest Đạt 91.1% Độ Chính Xác

2026-03-18
release

Sau quá trình đánh giá LOSO-CV, Random Forest được chọn là mô hình tốt nhất:

  • Độ chính xác tổng: 91.1%
  • F1-score cho lớp Ngã: 0.767
  • Precision: 0.776 — ít cảnh báo nhầm
  • Recall: 0.767 — phát hiện được phần lớn ca ngã thực sự

Mô hình được lưu tự động dưới dạng file .pkl cùng với StandardScaler tương ứng, sẵn sàng cho giai đoạn triển khai thời gian thực.

Huấn Luyện & So Sánh 5 Mô Hình Machine Learning

2026-03-16
milestone

Triển khai hệ thống huấn luyện tự động với Leave-One-Subject-Out Cross-Validation (LOSO-CV) — phương pháp đánh giá nghiêm ngặt nhất cho bài toán nhận dạng người: mỗi fold kiểm tra trên 1 đối tượng hoàn toàn mới chưa xuất hiện trong tập huấn luyện.

So sánh đồng thời 5 thuật toán:

  • Random Forest (200 cây, max_depth=10) — đạt kết quả tốt nhất
  • SVM với kernel RBF — hiệu suất cạnh tranh sát Random Forest
  • Gradient Boosting (200 estimators, learning_rate=0.05)
  • K-Nearest Neighbors (k=7)
  • Logistic Regression

Áp dụng class_weight="balanced" để xử lý mất cân bằng dữ liệu (ADL nhiều hơn Fall). Chuẩn hóa đặc trưng bằng StandardScaler theo từng fold để ngăn rò rỉ dữ liệu.

Kỹ Thuật Đặc Trưng Dựa Trên Sinh Cơ Học

2026-03-14
feature

Thiết kế bộ 32 đặc trưng dựa trên nguyên lý sinh cơ học của cơ thể người khi ngã:

  • aspect_ratio — tỷ lệ hộp bao cơ thể, phân biệt tư thế đứng và nằm
  • spine_angle — góc cột sống, phát hiện khoảnh khắc người mất thăng bằng
  • hip_velocity & hip_acceleration — tốc độ và gia tốc hông, bắt chính xác lực rơi
  • spine_angular_velocity — tốc độ xoay cột sống
  • head_hip_ratio — nén cơ thể theo chiều dọc khi chạm đất

Mỗi đặc trưng được tổng hợp thành 4 thống kê (mean, std, max, min) + 4 đặc trưng đỉnh spike, cho tổng 32 chiều vector đặc trưng.

Thiết Kế Pipeline Trích Xuất Đặc Trưng

2026-03-12
feature

Tích hợp MediaPipe Pose Landmarker để phát hiện 33 điểm xương cốt trên cơ thể từ mỗi khung hình video. Thiết kế cơ chế cửa sổ trượt (sliding window): 30 khung hình = 1 giây, bước trượt 10 khung, lấy mẫu mỗi 2 khung để giảm tải tính toán.

Xây dựng hệ thống tải bộ dữ liệu tự động từ GitHub Releases — chỉ cần một lệnh để tái tạo toàn bộ quy trình từ đầu.

Khởi Động Dự Án & Nghiên Cứu Bài Toán

2026-03-10
milestone

Xác định bài toán nghiên cứu: phát hiện ngã tự động cho người cao tuổi. Phân tích các phương pháp hiện có — từ cảm biến đeo tay, cảm biến sàn đến camera. Quyết định tiếp cận theo hướng computer vision + machine learning dựa trên camera thường (không cần phần cứng đặc biệt).

Nghiên cứu bộ dữ liệu học thuật: tìm và lựa chọn GMDCSA-24 v2.1 (Ghent Multimodal Dataset) — bộ dữ liệu mở có chú thích timestamp chi tiết, 4 đối tượng thử nghiệm, phân chia rõ ràng giữa hoạt động hàng ngày (ADL) và tình huống ngã.