Giới thiệu dự án

Sự già hóa dân số đang là một trong những chuyển dịch nhân khẩu học lớn nhất của thế kỷ 21. Theo báo cáo Triển vọng Dân số Thế giới (World Population Prospects) của Liên Hợp Quốc, tỷ lệ người từ 65 tuổi trở lên trên toàn cầu dự kiến sẽ đạt 16% (khoảng 1/6 dân số) vào năm 2050; riêng tại khu vực Châu Âu và Bắc Mỹ, con số này ước tính lên đến 25%. Đặc biệt, nhóm dân số từ 80 tuổi trở lên sẽ tăng gần gấp 3 lần, từ 143 triệu người lên 426 triệu người. Sự già hóa nhanh chóng này dẫn đến tình trạng thiếu hụt trầm trọng điều dưỡng và nhân lực chăm sóc y tế (Tổ chức Y tế Thế giới - WHO dự báo mức thiếu hụt lên tới 18 triệu nhân viên y tế vào năm 2030). Trong bối cảnh đó, tai nạn té ngã là nguyên nhân hàng đầu gây chấn thương nghiêm trọng, tàn tật và tử vong ở người cao tuổi khi ở một mình.

                  +----------------------------------------------+
                  |           Logitech HD C310 Camera            |
                  +----------------------+-----------------------+
                                         | (Raw Video Stream)
                                         v
                  +----------------------------------------------+
                  |        NVIDIA Jetson Nano Developer Kit      |
                  |  +----------------------------------------+  |
                  |  | 1. Object Detection (SSD-MobileNet)   |  |
                  |  +-------------------+--------------------+  |
                  |                      v                       |
                  |  +----------------------------------------+  |
                  |  | 2. Pose Estimation (OpenPose - 18 pts) |  |
                  |  +-------------------+--------------------+  |
                  |                      v                       |
                  |  +----------------------------------------+  |
                  |  | 3. Feature Extraction (6-D Vector)     |  |
                  |  +-------------------+--------------------+  |
                  |                      v                       |
                  |  +----------------------------------------+  |
                  |  | 4. Classifier (Feedforward Neural Net) |  |
                  |  +-------------------+--------------------+  |
                  +----------------------|-----------------------+
                                         |
               +-------------------------+-------------------------+
               | (Motion Commands via GPIO/PWM)                    | (Video RTSP/HTTP)
               v                                                   v
+-----------------------------+                     +-----------------------------+
| L298N Driver + DC JGB37-520 |                     | Local WiFi (N150USM)        |
| -> Tracked Base Chassis     |                     | -> Remote Family Monitor    |
+-----------------------------+                     +-----------------------------+

Vấn đề cốt lõi đặt ra là: Làm thế nào để chế tạo một hệ thống robot đồng hành (Humanoid Companion Robot) có khả năng tự động bám theo đối tượng, liên tục phân tích dáng điệu và phát hiện sớm hành vi té ngã trong thời gian thực bằng camera đơn, đồng thời hoạt động mượt mà trên nền tảng máy tính nhúng biên với tài nguyên phần cứng giới hạn?

Đề tài "Nghiên cứu và cải tiến thuật toán nhận dạng hành vi của người già cho ElderRobot" do sinh viên Danh Đức Khánh Duy thực hiện dưới sự hướng dẫn của TS. Nguyễn Minh Sơn tại Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM tập trung giải quyết trọn vẹn bài toán trên.

Mục tiêu cụ thể của dự án:

  1. Xây dựng tập dữ liệu đặc trưng dáng người và hành vi chuẩn hóa riêng cho người cao tuổi.
  2. Tinh gọn và tối ưu hóa kiến trúc ước lượng tư thế người 2D (OpenPose) để đạt tốc độ xử lý khả thi trên kit máy tính nhúng AI NVIDIA Jetson Nano.
  3. Trích xuất bộ 6 vector đặc trưng hình học bất biến theo tỷ lệ khung hình và chuyển động tịnh tiến của camera.
  4. Huấn luyện mạng nơ-ron truyền thẳng (Feedforward Neural Network - FFN) phân loại chính xác 4 trạng thái hành vi: Đứng, Đi, Ngã sang trái, Ngã sang phải.
  5. Tích hợp giải pháp phần mềm lên nền tảng phần cứng Humanoid Robot (khung gầm bánh xích, động cơ DC Servo, driver L298N, streaming video qua mạng nội bộ).

Phạm vi nghiên cứu tập trung vào việc giám sát 01 đối tượng trong không gian phòng kín diện tích 30m², bề mặt sàn phẳng không vật cản phức tạp, nhận diện hành vi chuỗi cơ bản gồm "Đi rồi ngã" và "Đứng rồi ngã".


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

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

Các phương pháp phát hiện té ngã và giám sát hành vi hiện nay trên thị trường và trong nghiên cứu học thuật được chia thành ba nhóm chính:

Tiêu chí Hệ thống đa Camera cố định (8-camera Fall Detection System) Mô hình kết hợp CNN + RNN/LSTM (Human Fall-down Event Detection) Giải pháp đề xuất trên ElderRobot (OpenPose + FFN cải tiến)
Cấu trúc phần cứng 8 camera phân tán + Android Box (SpeedyAI Inc) 1 Camera RGB độ phân giải cao + GPU rời (NVIDIA GTX 1060 6GB) 1 Camera RGB (Logitech HD C310) + NVIDIA Jetson Nano Developer Kit
Độ chính xác trung bình 89.0% 88.0% - 91.2% 92.5% (trên tập kiểm thử thực tế)
Tốc độ xử lý (FPS) 7.0 FPS (độ trễ tăng cao khi tăng tải) 8.0 FPS (trên GPU máy tính để bàn) 8.5 - 10.0 FPS (ngay trên thiết bị nhúng biên)
Khả năng di động Cố định, giới hạn trong góc quét camera Cố định, không di chuyển theo người Cơ động cao, robot chủ động bám giữ khoảng cách
Ưu điểm Giảm thiểu góc chết nhờ số lượng camera lớn Phân tích chuỗi 8 frame qua LSTM nhận diện nhiều hành vi phức tạp Tối ưu hóa tính toán, không yêu cầu trạm máy chủ ngoài, chi phí phần cứng thấp
Nhược điểm Chi phí lắp đặt cao, điểm mù giữa các phòng, bảo trì phức tạp Yêu cầu năng lực tính toán lớn, không chạy được trên Edge AI SoC Giới hạn phân loại trong 4 nhóm hành vi cốt lõi

Yêu cầu người dùng được lượng hóa theo chuẩn MoSCoW:

  • Must have: Phát hiện chính xác tư thế té ngã trong vòng dưới 200ms; tự động điều hướng động cơ để bám đuôi người già ở khoảng cách an toàn (1.0m - 1.5m); stream hình ảnh về màn hình quản trị nội bộ.
  • Should have: Phân biệt rõ ràng giữa tư thế đi nghiêng tự nhiên của người già và tư thế ngã; thích ứng tốt với sự thay đổi kích thước bounding box khi khoảng cách thay đổi.
  • Could have: Cảnh báo âm thanh tại chỗ khi phát hiện nguy cơ chấn thương.
  • Won't have (giai đoạn này): Nhận diện hành vi phức tạp trong môi trường công cộng đông đúc hoặc vượt địa hình gồ ghề ngoài trời.

Thiết kế hệ thống

Kiến trúc ElderRobot được thiết kế phân tầng từ tầng cảm biến, tầng xử lý trung tâm đến tầng chấp hành:

graph TD
    A[Webcam Logitech C310 720p] -->|Raw Frames| B[NVIDIA Jetson Nano 4GB]
    subgraph Jetson Nano Processing Pipeline
        B --> C[Face Tracking: RetinaFace + MobileFaceNet]
        B --> D[Body Detection: SSD-MobileNet]
        D --> E[Pose Estimation: OpenPose Caffe Engine]
        E --> F[Feature Calculation: 6 Geometrical Descriptors]
        F --> G[Classification: 3-Layer Feedforward Neural Network]
    end
    G -->|Control Signals via GPIO| H[L298N Dual Motor Driver]
    H --> I[2x DC Servo JGB37-520 Motors]
    I --> J[Chassis: Tracked Base System]
    B -->|WiFi Streaming N150USM| K[Local Web Monitoring Dashboard]

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

  • Hệ điều hành: Linux Ubuntu 18.04 LTS (NVIDIA JetPack 4.6).
  • Thư viện AI & Xử lý ảnh: Caffe Deep Learning Framework (C++ Native Core), OpenCV 4.5.1 với hỗ trợ CUDA 10.2 và cuDNN 8.2.
  • Mô hình học sâu tích hợp:
    • RetinaFace + MobileFaceNet: Định danh khuôn mặt người cần theo dõi.
    • SSD-MobileNet: Xác định bounding box cơ thể đối tượng.
    • OpenPose (COCO 18 keypoints): Dự đoán tọa độ 18 khớp xương 2D.
    • Feedforward Classifier: Mạng nơ-ron đa tầng phân loại hành vi.

Thiết kế phần cứng & nguồn điện

  • Bộ điều khiển trung tâm: NVIDIA Jetson Nano Developer Kit (CPU Quad-core ARM A57 @ 1.43 GHz, GPU 128-core Maxwell).
  • Khung gầm chấp hành: Hệ thống bánh xích cao su chịu lực, truyền động qua 2 động cơ DC Giảm Tốc Servo JGB37-520 kết hợp Module cầu H L298N kiểm soát hướng di chuyển đa chiều (tiến, lùi, quay trái, quay phải).
  • Bộ chuyển đổi nguồn: Khối pin Li-ion 7.4V - 11.1V kết hợp mạch hạ áp DC-DC Buck Converter XL4015 (cung cấp nguồn 5V/4A ổn định cho Jetson Nano và 7.4V dòng cao cho động cơ).
  • Thiết bị thu hình: Logitech HD Webcam C310 truyền tín hiệu qua chuẩn USB 2.0.

Implementation và kết quả

Chi tiết thuật toán và quy trình xử lý

1. Cải tiến mạng ước lượng tư thế OpenPose

Mô hình gốc OpenPose (CMUPose) sử dụng các tầng tích chập có kích thước kernel lớn $7 \times 7$ tiêu tốn nhiều tài nguyên tính toán. Trong nghiên cứu này, các kernel $7 \times 7$ được thay thế bằng chuỗi 3 kernel liên tiếp $3 \times 3$ (mô phỏng kiến trúc DenseNet). Sự cải tiến này giữ nguyên trường tiếp nhận (Receptive Field) nhưng giảm số lượng phép tính (FLOPs) từ 97 operations xuống còn 51 operations (giảm 47.4% chi phí tính toán).

Mạng trích xuất hai đại lượng cốt lõi qua từng stage:

  • Confidence Maps ($S$): Thể hiện xác suất xuất hiện của khớp xương $j$ tại vị trí pixel $p$: $$S^{j,k}(p) = \exp \left( - \frac{|p - x{j,k}|2^2}{\sigma^2} \right)$$ *(với $x{j,k}$ là tọa độ Ground Truth của khớp xương $j$ của người $k$, $\sigma$ điều khiển độ rộng phân phối Gaussian).

  • Part Affinity Fields ($L$): Vector trường 2D duy trì thông tin định hướng và liên kết giữa hai khớp xương $j_1$ và $j_2$ của chi thể $c$: $$L^{c,k}(p) = \begin{cases} v & \text{nếu } p \text{ nằm trên chi thể } c, k \ 0 & \text{ngược lại} \end{cases}$$ *(với $v = \frac{x{j_2,k} - x_{j_1,k}}{|x_{j_2,k} - x_{j_1,k}|_2}$ là vector đơn vị hướng từ khớp $j_1$ sang $j_2$).

2. Trích xuất bộ đặc trưng hình học thích ứng dáng người già

Do camera di chuyển liên tục theo robot, việc sử dụng vận tốc biến thiên tuyệt đối giữa các frame (như các nghiên cứu trên camera tĩnh) dẫn đến sai số nghiêm trọng. Đề tài xây dựng 6 vector đặc trưng hình học tương đối dựa trên 18 điểm khung xương chuẩn COCO:

  1. Góc nghiêng thân trên ($\theta$): Góc hợp bởi vector thân (nối điểm Cổ $p[1]$ và Trung điểm hông $p[18] = \frac{p[8] + p[11]}{2}$) với trục hoành nằm ngang: $$\vec{n}_1 = p[1] - p[18]; \quad \vec{n}_2 = \begin{bmatrix} 1 \ 0 \end{bmatrix}; \quad \cos\theta = \frac{\vec{n}_1 \cdot \vec{n}_2}{|\vec{n}_1| |\vec{n}_2|}$$
  2. Góc nghiêng chân trái so với phương thẳng đứng.
  3. Góc nghiêng chân phải so với phương thẳng đứng.
  4. Khoảng cách thẳng đứng từ trọng tâm thân đến điểm thấp nhất của bàn chân.
  5. Tỷ lệ khung bao quanh phần thân trên ($C_1$).
  6. Tỷ lệ khung bao quanh toàn bộ cơ thể ($C_2$).
// Trích đoạn C++ tính toán Vector đặc trưng từ 18 Keypoints COCO
#include <opencv2/opencv.hpp>
#include <cmath>
#include <vector>

struct KeyPoint { float x; float y; float score; };

std::vector<float> extractElderFeatures(const std::vector<KeyPoint>& keypoints) {
    std::vector<float> features(6, 0.0f);
    
    // keypoints[1]: Neck (Cổ), keypoints[8]: RHip (Hông phải), keypoints[11]: LHip (Hông trái)
    if (keypoints[1].score > 0.2f && keypoints[8].score > 0.2f && keypoints[11].score > 0.2f) {
        cv::Point2f neck(keypoints[1].x, keypoints[1].y);
        cv::Point2f midHip((keypoints[8].x + keypoints[11].x) / 2.0f, 
                           (keypoints[8].y + keypoints[11].y) / 2.0f);
        
        // Vector thân người
        cv::Point2f torsoVec = neck - midHip;
        float normTorso = std::sqrt(torsoVec.x * torsoVec.x + torsoVec.y * torsoVec.y);
        
        // 1. Tính cosin góc nghiêng thân so với trục hoành (Vector [1, 0])
        if (normTorso > 1e-5f) {
            features[0] = std::abs(torsoVec.x) / normTorso; 
        }
        
        // 2 & 3. Tính góc cẳng chân trái/phải so với phương đứng (Vector [0, 1])
        // keypoints[9]: RKnee, keypoints[10]: RAnkle, keypoints[12]: LKnee, keypoints[13]: LAnkle
        if (keypoints[9].score > 0.2f && keypoints[10].score > 0.2f) {
            cv::Point2f rLeg = cv::Point2f(keypoints[10].x, keypoints[10].y) - cv::Point2f(keypoints[9].x, keypoints[9].y);
            float normRLeg = std::sqrt(rLeg.x * rLeg.x + rLeg.y * rLeg.y);
            features[1] = (normRLeg > 1e-5f) ? (rLeg.y / normRLeg) : 0.0f;
        }
        if (keypoints[12].score > 0.2f && keypoints[13].score > 0.2f) {
            cv::Point2f lLeg = cv::Point2f(keypoints[13].x, keypoints[13].y) - cv::Point2f(keypoints[12].x, keypoints[12].y);
            float normLLeg = std::sqrt(lLeg.x * lLeg.x + lLeg.y * lLeg.y);
            features[2] = (normLLeg > 1e-5f) ? (lLeg.y / normLLeg) : 0.0f;
        }
        
        // 4. Khoảng cách thân đến điểm thấp nhất của bàn chân
        float lowestAnkleY = std::max(keypoints[10].y, keypoints[13].y);
        features[3] = std::abs(lowestAnkleY - midHip.y) / (normTorso + 1e-5f);
        
        // 5 & 6. Tỷ lệ Aspect Ratio của Bounding Box thân C1 và toàn thân C2
        // [Logic bounding box normalization]
        features[4] = normTorso / (std::abs(keypoints[2].x - keypoints[5].x) + 1e-5f); // Chiều dài thân / Độ rộng vai
        features[5] = (lowestAnkleY - neck.y) / (std::abs(torsoVec.x) + normTorso + 1e-5f);
    }
    return features; // Trả về 6 đặc trưng đưa vào mạng FFN
}

3. Mạng nơ-ron phân loại (Feedforward Neural Network)

Vector 6 đặc trưng được chuẩn hóa và đưa vào mạng FFN 3 tầng:

  • Tầng đầu vào (Input Layer): 6 nodes.
  • Tầng ẩn (Hidden Layer): 12 nodes, hàm kích hoạt Sigmoid $\sigma(z) = \frac{1}{1 + e^{-z}}$.
  • Tầng đầu ra (Output Layer): 4 nodes đại diện cho 4 xác suất hành vi (Đứng, Đi, Ngã trái, Ngã phải), tối ưu bằng thuật toán Gradient Descent với hàm mất mát MSE: $$C = \frac{1}{2n} \sum_{x} |y(x) - a^L(x)|^2$$

Kết quả thực nghiệm và đánh giá hiệu năng

Thử nghiệm được triển khai thực tế trên robot chạy trong phòng thí nghiệm với 200 lượt diễn tập các tư thế của người già:

Lớp hành vi (Action Class) Số mẫu thực nghiệm Nhận diện chính xác (TP) Nhận diện sai (FP/FN) Độ chính xác (Accuracy %)
Đứng (Stand) 50 48 2 96.0%
Đi (Walk) 50 46 4 92.0%
Ngã sang trái (Fall Left) 50 45 5 90.0%
Ngã sang phải (Fall Right) 50 46 4 92.0%
Trung bình toàn hệ thống 200 185 15 92.5%
  • Hiệu năng phần cứng trên Jetson Nano:
    • Tốc độ xử lý Pipeline AI: 8.8 - 9.6 FPS (đáp ứng phản xạ cơ điện thời gian thực).
    • Mức chiếm dụng bộ nhớ RAM: 2.1 GB / 4.0 GB.
    • Công suất tiêu thụ trung bình: 7.5W - 10W.
    • Độ trễ phản hồi điều khiển động cơ: $< 120\text{ ms}$.

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

  1. Bộ đặc trưng hình học kháng nhiễu chuyển động: Khác với các mô hình trước đây sử dụng biến thiên tọa độ camera tĩnh, đề tài đề xuất 6 chỉ số hình học nội tại (Intrinsic Skeletal Ratios). Thuật toán không bị nhầm lẫn khi camera robot rung lắc hoặc tịnh tiến theo người.
  2. Tối ưu hóa mô hình OpenPose cho Edge AI: Thay thế kernel $7 \times 7$ bằng bộ 3 kernel $3 \times 3$, giảm tải $47.4%$ phép tính, giúp chạy được mạng trích xuất khung xương phức tạp trên dòng chip nhúng giá rẻ như Jetson Nano mà không cần phụ thuộc vào máy chủ GPU trung tâm.
  3. Mô hình hóa hình thái học đặc thù của người già: Bổ sung tham số bù trừ góc gập lưng tự nhiên của người cao tuổi vào thuật toán phân loại, giúp phân biệt chính xác giữa dáng đi lom khom và trạng thái chuẩn bị té ngã.
  4. Hệ thống nhúng cơ điện tử khép kín: Hoàn thiện nguyên mẫu robot dịch vụ dạng Humanoid mini với đầy đủ khả năng: Định danh người -> Bám khoảng cách -> Phân tích hành vi -> Phát video giám sát cục bộ.

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

Tình huống ứng dụng thực tế

  • Viện dưỡng lão và Trung tâm phục hồi chức năng: ElderRobot đóng vai trò như một hộ lý tự hành đi tuần tra hoặc đồng hành cùng các cụ già có nguy cơ đột quỵ hoặc Parkinson, phát hiện té ngã ngay lập tức để gửi tín hiệu SOS đến y tá trực.
  • Mô hình nhà thông minh (Smart Home for Elderly): Robot di chuyển trong không gian gia đình, truyền hình ảnh thời gian thực qua giao thức mạng nội bộ (RTSP/WebRTC) để con cháu theo dõi người thân từ xa mà vẫn đảm bảo tính riêng tư (không phải gắn camera cố định ở mọi phòng).
+-----------------------------------------------------------------------------------+
|                        HƯỚNG DẪN TRIỂN KHAI PHẦN CỨNG                             |
+-----------------------------------------------------------------------------------+
| 1. Cài đặt hệ điều hành:                                                          |
|    Flash thẻ nhớ 32GB/64GB bằng NVIDIA JetPack 4.6 (Ubuntu 18.04 LTS).            |
|                                                                                   |
| 2. Cài đặt thư viện phụ thuộc:                                                    |
|    sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev    |
|    sudo apt-get install libhdf5-serial-dev protobuf-compiler libopenblas-dev         |
|                                                                                   |
| 3. Biên dịch Caffe Framework tối ưu với CUDA/cuDNN:                               |
|    git clone https://github.com/BVLC/caffe.git && cd caffe                        |
|    cp Makefile.config.example Makefile.config                                     |
|    # Bật cờ USE_CUDNN := 1 và USE_OPENCV := 1 trong Makefile.config               |
|    make all -j4 && make pycaffe                                                   |
|                                                                                   |
| 4. Nạp Model Weights & Cấu hình chân GPIO động cơ L298N:                         |
|    - Pin 33 (GPIO PWM): Động cơ trái                                              |
|    - Pin 32 (GPIO PWM): Động cơ phải                                              |
|    - Pin 11, 12, 15, 16: Điều khiển chiều quay IN1, IN2, IN3, IN4                 |
|                                                                                   |
| 5. Khởi chạy hệ thống:                                                            |
|    ./elder_robot_core --camera_id 0 --net_proto pose.prototxt --weights pose.caffemodel
+-----------------------------------------------------------------------------------+

Phân tích chi phí - lợi ích (Cost-Benefit Analysis)

Ước tính chi phí linh kiện phần cứng (BOM):

So với chi phí thuê một nhân viên chăm sóc tại nhà (dao động từ 8.000.000 – 15.000.000 VNĐ/tháng), ElderRobot mang lại tỷ suất hoàn vốn (ROI) chỉ sau 1 đến 2 tháng sử dụng, đồng thời hoạt động bền bỉ 24/7.


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

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

  • Vấn đề che khuất (Occlusion): Nếu đối tượng bị che khuất hơn 50% các khớp chính (ví dụ nằm sau bàn ghế lớn), độ chính xác trích xuất xương của OpenPose giảm xuống dưới 70%.
  • Phạm vi hoạt động: Khung gầm bánh xích thích hợp nhất trên sàn phẳng; chưa có khả năng leo bậc cầu thang hoặc vượt qua gờ cửa cao $> 3\text{cm}$.
  • Điều kiện ánh sáng: Camera quang học thông thường bị suy giảm chất lượng rõ rệt trong môi trường bóng tối hoặc thiếu sáng nghiêm trọng.

Hướng phát triển tương lai

  • Nâng cấp cảm biến: Tích hợp Camera đo chiều sâu RGB-D (Intel RealSense D435) hoặc cảm biến LiDAR 2D để xây dựng bản đồ SLAM tự động tránh chướng ngại vật thông minh.
  • Tối ưu hóa sâu mô hình AI: Chuyển đổi mô hình Caffe sang định dạng NVIDIA TensorRT, tận dụng cấu trúc FP16/INT8 để nâng tốc độ xử lý từ 9 FPS lên 20+ FPS trên Jetson Nano.
  • Mở rộng hành vi nhận diện: Bổ sung các trạng thái: Ngồi ghế, Chới với mất thăng bằng, Nằm bất động kéo dài, Vẫy tay cầu cứu.

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

  • Sinh viên & Học viên ngành Kỹ thuật Máy tính / Robot / IoT: Nguồn tài liệu tham khảo thực tế về cách kết hợp giữa xử lý ảnh Deep Learning, nén mô hình nhúng và điều khiển cơ điện tử Robot.
  • Kỹ sư AI & Embedded Developers: Nắm bắt kỹ thuật trích xuất đặc trưng hình học tùy biến để thay thế các mô hình LSTM nặng nề trên vi xử lý biên.
  • Doanh nghiệp Thiết bị Y tế & Viện dưỡng lão: Mô hình tham chiếu tin cậy với chi phí cạnh tranh để sản xuất thương mại hóa các dòng robot trợ lý y tế cá nhân.
  • Các nhà nghiên cứu Computer Vision: Phương pháp tiếp cận bài toán Human Pose Estimation thích ứng riêng cho nhân khẩu học người cao tuổi.

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

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

Hệ thống yêu cầu bo mạch máy tính nhúng có GPU tích hợp hỗ trợ CUDA (tối thiểu NVIDIA Jetson Nano 4GB hoặc Jetson Xavier NX), thẻ nhớ MicroSD tối thiểu 32GB chuẩn Class 10 (tốc độ đọc $> 90\text{MB/s}$), nguồn điện 5V/4A ổn định và camera USB hỗ trợ chuẩn UVC độ phân giải tối thiểu 720p @ 30fps.

2. Thuật toán có bị nhầm lẫn khi người già chỉ cúi xuống nhặt đồ không?

Không. Thuật toán sử dụng đồng thời góc nghiêng thân $\theta$, tỷ lệ khung bao $C_1, C_2$ và khoảng cách tương đối giữa hông và mắt cá chân $p[18] \rightarrow p[10], p[13]$. Khi cúi người nhặt đồ, chân vẫn giữ thẳng và khoảng cách từ hông tới mặt sàn không bị giảm đột ngột về mức 0 như khi ngã hoàn toàn.

3. Tại sao không dùng mô hình RNN/LSTM để nhận diện chuỗi hành vi?

Mạng RNN/LSTM đòi hỏi duy trì bộ đệm chuỗi nhiều frame liên tục (thường từ 8 đến 16 frames), tiêu tốn dung lượng bộ nhớ RAM lớn và tạo độ trễ tính toán đáng kể trên Jetson Nano (chỉ đạt ~2-4 FPS). Mạng FFN 3 tầng kết hợp bộ 6 đặc trưng chọn lọc giúp xử lý từng frame đơn lẻ tức thời với tốc độ tiệm cận 10 FPS.

4. Hệ thống xử lý thế nào khi có nhiều người cùng xuất hiện trong khung hình?

Robot kết hợp module RetinaFace và MobileFaceNet ở đầu vào. Khi phát hiện nhiều người, hệ thống sẽ so khớp khuôn mặt để xác định đúng "Chủ nhân" đã đăng ký từ trước; sau đó thuật toán SSD-MobileNet sẽ khóa khung bao quanh đối tượng này để OpenPose trích xuất đặc trưng cho duy nhất người đó.

5. Chi phí bảo trì và độ bền pin của Robot kéo dài bao lâu?

Với khối pin Li-ion 3S 12V 5200mAh, robot có thể hoạt động giám sát liên tục từ 2.5 đến 3.5 giờ. Việc bảo trì chủ yếu tập trung vào vệ sinh bụi bẩn bám trên cụm bánh xích định kỳ mỗi tháng một lần và kiểm tra điện áp cell pin.


Kết luận

Đồ án "Nghiên cứu và cải tiến thuật toán nhận dạng hành vi của người già cho ElderRobot" đã giải quyết thành công bài toán giám sát an toàn y tế cho người cao tuổi bằng sự kết hợp hài hòa giữa thị giác máy tính và robot tự hành. Bằng việc cải tiến cấu trúc mạng OpenPose và đề xuất bộ 6 đặc trưng hình học chuyên biệt, nghiên cứu đã đạt độ chính xác 92.5% với tốc độ xử lý thời gian thực ngay trên máy tính nhúng biên NVIDIA Jetson Nano. Đây là nền tảng vững chắc hướng đến việc phát triển các giải pháp trợ lý Robot y tế thông minh, giá thành thấp, phục vụ đắc lực cho xã hội trong kỷ nguyên già hóa dân số.