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

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

Yoga là phương pháp luyện tập thể chất và tinh thần có nguồn gốc từ Ấn Độ với lịch sử hơn 5.000 năm và hơn 100 hình thức tập luyện khác nhau. Bộ môn này tác động lên nhiều nhóm cơ như bắp tay, chân, mông và lưng thông qua sự kết hợp giữa tư thế, hơi thở và thiền định. Với sự phát triển của các nền tảng chia sẻ video trực tuyến, việc tự tập yoga tại nhà trở nên phổ biến. Tuy nhiên, việc luyện tập không có sự giám sát trực tiếp từ huấn luyện viên tiềm ẩn nguy cơ chấn thương cơ xương khớp do thực hiện sai kỹ thuật hoặc phân bổ lực không đều. Dữ liệu y khoa từ tạp chí JISAKOS cho thấy gần 2/3 chấn thương trong yoga xảy ra ở chi dưới (hông, đùi, đầu gối, mắt cá chân, bàn chân, ngón chân), bên cạnh các tổn thương thường gặp ở vùng cổ, vai và lưng. Nhằm giải quyết vấn đề này, đề tài tập trung xây dựng chương trình nhận diện và đánh giá tư thế yoga tự động từ video để hỗ trợ mô hình giáo viên ảo hướng dẫn người tập tại nhà.

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

Đề tài xác định 5 mục tiêu nghiên cứu cụ thể:

  1. Phát triển mô hình nhận diện tư thế yoga từ video dựa trên các kỹ thuật học sâu và thị giác máy tính, huấn luyện trên bộ dữ liệu 3DYoga90.
  2. Triển khai, đánh giá và so sánh hiệu suất phân loại của các mô hình khác nhau trên tập kiểm thử thông qua các chỉ số đo lường học máy.
  3. Đề xuất mô hình và phương pháp dự đoán tối ưu để triển khai vào ứng dụng thực tế hỗ trợ người tập yoga.
  4. Cải thiện chất lượng tập luyện và giảm thiểu nguy cơ chấn thương thông qua việc phát hiện, đánh giá chi tiết sai lệch tại các khớp chuyển động trọng yếu.
  5. Cung cấp giải pháp tập luyện linh hoạt tại nhà, cho phép người dùng tự kiểm tra kỹ thuật mà không phụ thuộc vào lớp học trực tiếp.

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

  • Đối tượng nghiên cứu: Các thuật toán học sâu và học máy trong nhận diện hành động, trích xuất điểm then chốt cơ thể (keypoints), tính toán góc và vector khớp xương; bộ dữ liệu video tư thế yoga 3DYoga90.
  • Phạm vi nghiên cứu:
    • Về dữ liệu: Khảo sát cấu trúc 90 tư thế yoga thuộc bộ dữ liệu 3DYoga90.
    • Về phương pháp: So sánh ba hướng tiếp cận phân loại chính: (1) phân loại trực tiếp từ video hình ảnh (3D-CNN ResNet, MoviNet, YoNet); (2) phân loại dựa trên tọa độ keypoint (LightGBM); (3) phân loại dựa trên tập vector và góc khớp xương (CatBoost).
    • Về ứng dụng: Trích xuất 17 điểm then chốt (sử dụng PoseNet API), tính toán góc tại 4 vị trí khớp chính (vai, khuỷu tay, hông, đầu gối) và đối sánh với tư thế chuẩn để tính tỷ lệ sai lệch.

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

Khung lý thuyết và mô hình kỹ thuật

Nghiên cứu ứng dụng các lý thuyết thị giác máy tính và học sâu chuyên sâu cho xử lý chuỗi hình ảnh không gian - thời gian:

  • Ước lượng tư thế người (Human Pose Estimation): Trích xuất tọa độ không gian của các điểm khớp then chốt trên cơ thể từ khung hình 2D/3D.
  • Phân loại video hành động (Video Action Classification): Sử dụng các mạng nơ-ron tích chập 3 chiều (3D-CNN) và kiến trúc học chuyển giao (Transfer Learning) để trích xuất đồng thời đặc trưng không gian (spatial) và thời gian (temporal).
  • Mô hình hóa hình học cơ thể: Biểu diễn chuyển động thông qua 10 đoạn vector giữa các khớp nối liên tiếp ($\vec{AB} = (X_B - X_A, Y_B - Y_A)$) và tính toán góc xoay tương ứng tại các điểm nối vai, khuỷu tay, hông, đầu gối.

Phương pháp nghiên cứu thực nghiệm

  • Xử lý dữ liệu mất cân bằng và độ dài: Áp dụng kỹ thuật giảm mẫu (Under-sampling) đối với các lớp có số lượng mẫu vượt trội; áp dụng phương pháp lấy mẫu thời gian thưa (Sparse Temporal Sampling - STS) với chu kỳ lấy mẫu 20 khung hình/lần nhằm giảm 70% - 90% chi phí tính toán.
  • Mô hình trích xuất keypoint: Khảo sát và so sánh đặc tính kỹ thuật của YOLOv8, MoveNet và PoseNet API.
  • Mô hình phân loại tư thế:
    • Trên luồng video RGB: 3D-CNN dựa trên ResNet, kiến trúc tối ưu di động MoviNet (Mobile Video Networks) và mạng chuyên biệt YoNet.
    • Trên dữ liệu tọa độ và góc: Thuật toán tăng cường độ dốc LightGBM và CatBoost.

Nguồn dữ liệu nghiên cứu

Nghiên cứu sử dụng bộ dữ liệu học thuật 3DYoga90 do Seonok Kim và cộng sự (Đại học Korea) công bố vào tháng 10/2023:

  • Cấu trúc dữ liệu gốc: Gồm 6.177 điểm dữ liệu phân cấp 3 tầng với 90 tư thế yoga, bao gồm liên kết video YouTube RGB và chuỗi tọa độ 3D gồm 33 điểm khớp (chuẩn hóa tọa độ [0, 1]) được trích xuất bằng MediaPipe, lưu trữ dưới định dạng Parquet.
  • Dữ liệu thu thập thực tế: Sau khi lọc các video bị giới hạn bản quyền và quyền truy cập trên YouTube, nhóm tác giả tải về và tiền xử lý 5.364 video (tương ứng 5.526 tệp nhãn Parquet).

Thang đo đánh giá thực nghiệm

  • Đánh giá trích xuất keypoint:
    • Sai số bình phương trung bình (MSE): Đo lường khoảng cách sai lệch tọa độ dự đoán so với thực tế: $$\text{MSE}(k) = \frac{1}{n}\sum_{i=1}^n (p_i - q_i)^2$$
    • Tỷ lệ điểm chính xác (PCK): Phần trăm điểm keypoint nằm trong bán kính ngưỡng $\epsilon$: $$\text{PCK}(k) = \frac{1}{n}\sum_{i=1}^n \mathbb{I}(\text{dist}(p_i, q_i) \le \epsilon) \times 100%$$
    • Tỷ lệ bộ phận chính xác (PCP): Đo lường tỷ lệ các đoạn cơ thể được xác định đúng vị trí dựa trên khoảng cách Euclidean giữa hai đầu khớp: $$\text{PCP} = \frac{\text{Số lượng bộ phận chính xác}}{\text{Tổng số lượng bộ phận}} \times 100%$$
  • Đánh giá phân loại tư thế: Dựa trên ma trận nhầm lẫn (Confusion Matrix) với các chỉ số Dương thật (TP), Âm thật (TN), Dương giả (FP), Âm giả (FN) để tính:
    • Độ chính xác (Precision): $\frac{\text{TP}}{\text{TP} + \text{FP}}$
    • Độ bao phủ (Recall): $\frac{\text{TP}}{\text{TP} + \text{FN}}$
    • Điểm F1 tổng hợp (F1-Score): $2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}$
    • Độ chính xác toàn diện (Accuracy): $\frac{\text{TP} + \text{TN}}{\text{TP} + \text{TN} + \text{FP} + \text{FN}}$

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

Chương 1. Giới thiệu và Tổng quan đề tài

Chương mở đầu phân tích vai trò của yoga đối với sức khỏe và các rủi ro chấn thương khi người tập tự thực hành tại nhà mà không có huấn luyện viên hướng dẫn. Chương này xác định rõ mục đích nghiên cứu, 5 nhiệm vụ cụ thể, đối tượng nghiên cứu là bộ dữ liệu 3DYoga90 cùng phạm vi ứng dụng các phương pháp học sâu nhằm nhận diện tư thế và hỗ trợ chỉnh sửa động tác thông qua chương trình giáo viên ảo.

Chương 2. Tình trạng tập yoga hiện nay và Phát biểu bài toán

Chương 2 tổng thuật các công trình nghiên cứu liên quan đến trích xuất điểm then chốt (OpenPose, HRNet, PoseNet, YOLOv8) và phân loại tư thế yoga từ video/hình ảnh (sử dụng MobileNet, YogaConvo2d của Garg và cộng sự đạt 99% trên ảnh skeleton, YoNet của Ashraf đạt 94% trên 5 tư thế, mạng kết hợp CNN-LSTM của V Anand Thoutam đạt 99.58% trên 6 tư thế, hệ thống Aasna của Tanmay Hande đạt 98.11% trên 16 tư thế).

Chương này chỉ ra các khoảng trống học thuật và thách thức cốt lõi:

  • Hầu hết nghiên cứu trước đây chỉ thử nghiệm trên quy mô nhỏ (5 - 16 tư thế).
  • Bộ dữ liệu 3DYoga90 có số lượng lớp lớn (90 nhãn) nhưng kích thước mẫu hạn chế (~5.300 video), phân bố nhãn mất cân bằng nghiêm trọng (nhãn standing-forward-bend có 205 video, trong khi downward-facing-frog chỉ có 35 video).
  • Thời lượng video không đồng nhất (dao động từ 1 - 4 giây ở động tác half-way-lift đến trung bình 25.6 giây ở động tác balancing-table, một số động tác kéo dài từ 5 đến 40 giây như revolved-head-to-knee).
  • Video bị biến đổi góc quay camera liên tục và khoảng cách phóng đại không cố định.
Phân cấp nhãn Level 1 (3DYoga90) Số nhãn Level 2 Số nhãn Level 3
Standing (Đứng) 4 25
Sitting (Ngồi) 6 18
Balancing (Cân bằng) 2 9
Inverted (Đảo ngược) 2 18
Reclining (Nằm) 4 63
Wheel (Bánh xe) 3 33
Tổng cộng 20 90

Ghi chú: Thống kê số lượng phân cấp lớp dữ liệu theo công bố của bộ dữ liệu 3DYoga90 trong khóa luận.

Chương 3. Nghiên cứu thực nghiệm

Chương 3 trình bày chi tiết phương pháp xử lý dữ liệu và thiết kế kiến trúc mô hình:

  1. Xử lý dữ liệu: Cắt video gốc thành các phân đoạn động tác mục tiêu dựa trên trường dữ liệu frame_start và frame_end. Áp dụng phương pháp lấy mẫu thời gian thưa STS (Sparse Temporal Sampling) trích xuất cách quãng 20 frame/lần và kỹ thuật Under-sampling để cân bằng dữ liệu giữa các lớp.
  2. Xác định tư thế chuẩn: Tuyển chọn các video tham chiếu đạt độ phân giải cao, động tác thực hiện chuẩn xác, góc quay cố định và thời lượng đầy đủ để làm thước đo đánh giá độ chính xác góc khớp.
  3. Phương pháp trích xuất keypoint: Trình bày nguyên lý hoạt động của YOLOv8 (dự đoán bounding box và keypoint trong một lần truyền), MoveNet (tối ưu hóa cho thiết bị di động bằng heatmap) và PoseNet API (trích xuất 17 điểm then chốt).
  4. Mô hình phân loại: Phân tích cấu trúc mạng 3D-CNN ResNet, chuyển giao học sâu MoviNet, mô hình YoNet và các mô hình học máy phân loại trên 10 vector bộ phận cùng các góc khớp quan trọng (vai, khuỷu tay, hông, đầu gối).

Chương 4. Thực nghiệm và Kết quả

Chương 4 thiết kế quy trình thực nghiệm với tỷ lệ phân chia dữ liệu 85% cho tập huấn luyện (train) và 15% cho tập kiểm thử (test). Chương này phân tích chi tiết:

  • Đánh giá khả năng trích xuất điểm then chốt giữa các mô hình PoseNet, YOLOv8 và MoveNet.
  • Đánh giá hiệu suất phân loại hành động của MoviNet so với 3D-CNN ResNet và YoNet trên luồng video ở các ngưỡng dữ liệu khác nhau.
  • So sánh hiệu quả phân loại giữa tiếp cận dữ liệu video trực tiếp (MoviNet) với tiếp cận trên tọa độ keypoint (LightGBM) và tập góc/vector (CatBoost).
  • Phân tích ma trận nhầm lẫn trên các nhóm tư thế có độ tương đồng cao.

Chương 5. Tổng kết

Chương cuối cùng tổng hợp toàn bộ các kết quả đạt được, phân tích các hạn chế nội tại của hệ thống và đề xuất các định hướng nghiên cứu nhằm tối ưu hóa chương trình trong tương lai.


Thiết kế và kiến trúc chương trình giáo viên Yoga ảo

Chương trình giáo viên yoga ảo được thiết kế theo luồng xử lý tự động nhằm hỗ trợ người dùng tự kiểm tra và chỉnh sửa động tác theo thời gian thực:

[Video / Camera người tập] 
[Trích xuất 17 điểm Keypoint qua PoseNet]
[Tính toán 10 Vector bộ phận & Góc khớp (Vai, Khuỷu tay, Hông, Đầu gối)]
[Đối sánh với Vector & Góc của Video Tư thế chuẩn]
[Giao diện phản hồi: Tỷ lệ phần trăm lỗi sai lệch theo từng khớp]
  • Đầu vào hệ thống: Luồng video tải lên hoặc hình ảnh trực tiếp từ camera người dùng; người dùng lựa chọn tư thế yoga muốn thực hiện.
  • Thành phần xử lý trung tâm: Hệ thống sử dụng PoseNet API để trích xuất 17 điểm mấu chốt trên cơ thể; từ đó tính toán 10 đoạn vector định hướng và góc xoay hình học tại 4 cụm khớp vận động chính gồm vai, khuỷu tay, hông và đầu gối.
  • Cơ chế so sánh và phản hồi: Các giá trị góc tính toán từ người tập được đối sánh trực tiếp với bộ thông số của tư thế chuẩn đã được lưu trữ sẵn.
  • Đầu ra hệ thống: Giao diện trực quan hiển thị tỷ lệ phần trăm sai lệch tại từng điểm khớp quan trọng, giúp người tập nhận diện chính xác vị trí bị lệch (ví dụ độ gập của gối hoặc độ mở của khớp vai) để điều chỉnh động tác.

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

Kết quả nghiên cứu chính

  • Khóa luận đã xây dựng và kiểm thử thành công quy trình nhận diện, đánh giá tư thế yoga từ video nhiều góc quay dựa trên bộ dữ liệu 3DYoga90.
  • Trong tác vụ phân loại chuỗi video yoga 90 nhãn, mô hình MoviNet (sử dụng kỹ thuật Transfer Learning) đạt hiệu suất tổng thể cao nhất, vượt trội hơn các mô hình 3D-CNN truyền thống và vượt trội so với phương pháp phân loại dựa trên bảng đặc trưng (LightGBM trên tọa độ keypoint và CatBoost trên góc/vector).
  • Phương pháp lấy mẫu thời gian thưa (STS) với bước nhảy 20 frame đã tối ưu hóa tài nguyên phần cứng, cắt giảm từ 70% đến 90% khối lượng dữ liệu tính toán mà vẫn đảm bảo đặc trưng phân loại của chuỗi động tác.
  • Tích hợp thành công mô hình trích xuất điểm PoseNet vào mô-đun ước lượng tư thế, cho phép tính toán góc sai lệch tại 4 nhóm khớp chính xác thực trên giao diện người dùng.

Đóng góp mới của khóa luận

  1. Mở rộng quy mô phân loại tư thế yoga: Khác với các nghiên cứu trước chỉ giải quyết bài toán phân loại trên tập nhỏ (từ 5 đến 16 tư thế), khóa luận đã thực hiện phân loại và xử lý toàn diện trên tập dữ liệu 90 tư thế với cấu trúc phân cấp 3 cấp độ.
  2. Khảo sát đa phương pháp luận: Thực hiện so sánh đối chứng giữa ba hướng tiếp cận phân loại khác nhau: xử lý video không gian - thời gian (Video-based), xử lý tọa độ khung xương (Keypoint-based) và xử lý hình học giải phẫu (Angle/Vector-based).
  3. Ứng dụng phản hồi chi tiết góc khớp: Không dừng lại ở việc gán nhãn tư thế (pose classification), hệ thống cung cấp giải pháp định lượng sai số góc khớp dựa trên dữ liệu tham chiếu chuẩn, hỗ trợ người tập tự sửa lỗi kỹ thuật.

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

Hạn chế của đề tài

  • Dữ liệu bị thiếu hụt so với công bố gốc: Do bản quyền video YouTube, tập dữ liệu thu thập được giảm từ 6.177 xuống 5.364 video, ảnh hưởng đến mật độ mẫu của một số nhãn hiếm.
  • Mất cân bằng dữ liệu lớn: Sự chênh lệch số lượng video giữa các nhãn (từ 35 video đến 205 video) cùng sự biến thiên thời lượng (từ 1 giây đến 40 giây) gây khó khăn cho việc tối ưu hóa độ bao phủ của mô hình.
  • Tính đa dạng và biến đổi hình ảnh: Các video trong tập dữ liệu chứa nhiều góc quay camera thay đổi liên tục trong cùng một video, cự ly phóng đại không đồng nhất và sự khác biệt về độ dẻo dai cơ thể của từng người mẫu thực hiện.
  • Hạn chế phần cứng: Việc xử lý video 3D đòi hỏi năng lực tính toán lớn, tạo rào cản khi triển khai các mô hình kích thước lớn trong thời gian thực.

Hướng phát triển tiếp theo

  • Cải tiến thuật toán tiền xử lý để chuẩn hóa kích thước và độ dài video tự động mà không làm mất thông tin chuyển động quan trọng.
  • Nâng cao độ chính xác trích xuất keypoint trong điều kiện môi trường ánh sáng yếu hoặc khi các chi cơ thể bị che khuất (occlusion).
  • Mở rộng chức năng hệ thống để xây dựng chương trình giáo viên yoga ảo toàn diện: ghi nhận lịch sử bài tập, theo dõi tiến độ luyện tập và thuật toán gợi ý chuỗi tư thế tiếp theo (Yoga sequence recommendation) dựa trên thể trạng và trình độ người dùng.
  • Tối ưu hóa mô hình học sâu để triển khai hoàn chỉnh trên các thiết bị di động và nền tảng web với độ trễ thấp.

Giá trị tham khảo

  • Đối tượng tham khảo:
    • Sinh viên, học viên cao học và nghiên cứu sinh ngành Công nghệ Thông tin, Khoa học Dữ liệu, Trí tuệ Nhân tạo đang làm việc với các bài toán thị giác máy tính, ước lượng tư thế người (Human Pose Estimation) hoặc nhận diện hành động từ video (Action Recognition).
    • Các kỹ sư phát triển phần mềm ứng dụng AI trong lĩnh vực thể thao số, chăm sóc sức khỏe và phục hồi chức năng.
  • Nội dung có giá trị tham khảo cao:
    • Quy trình xử lý dữ liệu video thực tế: Kỹ thuật cắt khung hình dựa trên metadata (frame_start, frame_end), phương pháp lấy mẫu thời gian thưa STS và giải pháp xử lý mất cân bằng dữ liệu lớn.
    • Phương pháp luận chuyển đổi tọa độ điểm khớp (keypoints) thành vector không gian và góc xoay hình học để định lượng chuyển động cơ thể.
    • Hệ thống tiêu chí và công thức đánh giá toàn diện cho cả bài toán trích xuất điểm then chốt (MSE, PCK, PCP) và bài toán phân loại đa lớp (Accuracy, Precision, Recall, F1-Score).

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

1. Khóa luận sử dụng bộ dữ liệu nào và dữ liệu có đặc điểm gì nổi bật?

Khóa luận sử dụng bộ dữ liệu 3DYoga90 (công bố tháng 10/2023 bởi Seonok Kim và cộng sự, Đại học Korea). Bộ dữ liệu có cấu trúc phân cấp 3 cấp độ với tổng cộng 90 tư thế yoga, bao gồm video RGB thu thập từ YouTube và chuỗi xương 3D gồm 33 điểm tọa độ được trích xuất bằng MediaPipe, lưu dưới định dạng tệp Parquet. Do vấn đề bản quyền, số lượng video tải về thực tế là 5.364 video (so với 6.177 video gốc).

2. Phương pháp lấy mẫu thời gian thưa (STS) được áp dụng như thế nào và có lợi ích gì?

Phương pháp STS được nhóm nghiên cứu áp dụng bằng cách lấy mẫu khung hình cách quãng 20 frame một lần thay vì xử lý liên tục từng khung hình. Kỹ thuật này giúp loại bỏ các điểm dữ liệu trùng lặp, tập trung vào các thời điểm chuyển động mang tính phân biệt cao, đồng thời giảm thiểu từ 70% đến 90% chi phí và tài nguyên tính toán.

3. Những mô hình nào đã được thử nghiệm và mô hình nào đạt hiệu suất phân loại video tốt nhất?

Nghiên cứu đã thử nghiệm:

  • Phân loại video trực tiếp: 3D-CNN ResNet, MoviNet (Transfer Learning), YoNet.
  • Phân loại trên tọa độ keypoint: LightGBM.
  • Phân loại trên góc và vector: CatBoost. Kết quả cho thấy mô hình MoviNet đạt hiệu suất phân loại video yoga tốt nhất trên bộ dữ liệu 3DYoga90.

4. Chương trình giáo viên yoga ảo đánh giá độ chính xác của người tập dựa trên cơ chế nào?

Chương trình sử dụng PoseNet API để trích xuất 17 điểm then chốt trên cơ thể từ video/camera của người tập, sau đó tính toán 10 đoạn vector và góc xoay tại 4 khớp trọng yếu (vai, khuỷu tay, hông, đầu gối). Các giá trị góc này được so sánh trực tiếp với góc của video tư thế chuẩn được chọn lọc trước đó để tính ra tỷ lệ phần trăm sai lệch tại từng bộ phận, cung cấp phản hồi trực quan trên giao diện.

5. Bộ dữ liệu 3DYoga90 gây ra những thách thức kỹ thuật cụ thể nào trong quá trình huấn luyện?

Bộ dữ liệu có sự mất cân bằng lớn về số lượng mẫu (tư thế standing-forward-bend có 205 video, trong khi downward-facing-frog chỉ có 35 video); thời lượng video phân tán mạnh (từ 1 - 4 giây ở half-way-lift đến 25.6 giây ở balancing-table, một số video kéo dài tới 40 giây); góc quay camera và tiêu cự thay đổi liên tục trong cùng một video; ngoài ra số lượng nhãn lớn (90 lớp) trên quy mô hơn 5.300 video tạo nguy cơ quá khớp (overfitting).


Kết luận

Khóa luận tốt nghiệp của sinh viên Quách Kiều Oanh và Trần Thị Thu Hà đã giải quyết bài toán nhận diện và đánh giá tư thế yoga tự động nhằm phục vụ chương trình giáo viên yoga ảo. Thông qua việc phân tích chuyên sâu bộ dữ liệu 3DYoga90 gồm 90 tư thế, nghiên cứu đã chứng minh tính hiệu quả của mô hình MoviNet trong phân loại video và áp dụng thành công mô hình PoseNet để trích xuất điểm then chốt tính toán góc sai lệch khớp xương. Mặc dù còn gặp thách thức về tính mất cân bằng dữ liệu và góc quay camera phức tạp, công trình đã thiết lập được pipeline hoàn chỉnh từ tiền xử lý, mô hình hóa đến giao diện đánh giá thực nghiệm, tạo tiền đề ứng dụng thị giác máy tính vào hỗ trợ luyện tập thể thao và chăm sóc sức khỏe tại nhà.