Mở đầu chương, đề tài sẽ trình bày tổng quan về tình hình các hệ thống nhận diện tiên tiến nhất hiện nay đồng thời áp dụng các công nghệ vào những hoạt động trong cuộc sống và lợi ích của chúng trong khoa học và y học. Từ đó phát triển hệ thống Định vị và xác định tư thế yoga cho bài tập thể dục bằng học máy. 5 • Chương 2: CƠ SỞ LÍ THUYẾT. Chương tiếp theo sẽ trình bày tổng quan cơ sở lý thuyết được ứng dụng vào trong hệ thống.
Các phần cứng hỗ trợ cho việc xây dựng mô hình. Các khái niệm về máy học (Machine Learning - ML) và các thư viện mở rộng. • Chương 3: THIẾT KẾ HỆ THỐNG. Phân tích các yêu cầu, sơ đồ khối, lưu đồ giải thuật của hệ thống và nguyên lý hoạt động tạo nên một mô hình với tính ứng dụng cao.
• Chương 4: KẾT QUẢ THỰC NGHIỆM. Nội dung của phần này thể hiện chức năng nhận diện các tư thế yoga trong bài tập thể duc và hiển thị kết quả khi sử dụng hệ thống sau quá trình thiết kế và thử nghiệm. • Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN. Tổng hợp quá trình từ nghiên cứu đến khi hoàn thành đề tài.
Từ đó đưa ra những hướng phát triển của đề tài trong tương lai 6 Chương 2 CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về yoga và bài tập yoga Yoga là một trong những phương pháp rèn luyện sức khỏe phổ biến trên toàn thế giới, đem lại hiệu quả cao trong việc giảm căng thẳng, cải thiện sức khỏe và nâng cao thể chất. Đây không chỉ là một hình thức tập luyện vật lý mà còn là một phương pháp rèn luyện tâm trí và cơ thể có nguồn gốc từ triết học Ấn Độ cổ điển. Với sự phát triển trong hàng nghìn năm lịch sử, yoga không còn là những hoạt động thể chất, mà còn là một hành trình tìm kiếm, hướng đến sự cân bằng và hài hòa trong cuộc sống. Được tạo ra từ từ ngữ Sanskrit "yuj", có nghĩa là "kết nối" hoặc "liên kết", yoga thúc đẩy sự liên kết giữa cơ thể, tâm trí và tinh thần.
Bằng cách kết hợp các tư thế thể chất, hơi thở nhịp nhàng và bài tập thiền định, yoga tạo ra một trải nghiệm toàn diện cho cả cơ thể và tinh thần. Mỗi phiên tập yoga không chỉ là việc luyện tập với cơ thể mà còn là một cuộc hành trình đi sâu vào bên trong tâm trí. Thông qua việc tập trung vào hơi thở và cảm nhận cơ thể, người tập yoga có thể trải qua sự nhận thức sâu sắc về bản thân và môi trường xung quanh. Điều này không chỉ giúp giảm căng thẳng và lo âu mà còn tạo ra một trạng thái tinh thần sảng khoái và thư giãn.
Ngoài ra, yoga cũng mang lại nhiều lợi ích cho sức khỏe vật lý. Các tư thế yoga giúp tăng cường sức mạnh cơ bản, cải thiện linh hoạt và tăng sự ổn định của cơ bắp. Các tư thế cân bằng và uốn cong cơ thể giúp cải thiện tư thế và giảm nguy cơ chấn thương. Hơn 7 nữa, việc tập trung vào hơi thở và sự lưu thông năng lượng trong cơ thể giúp kích thích hệ thần kinh, tăng cường hệ tuần hoàn và giảm căng thẳng.
Yoga không chỉ đơn thuần là một hình thức tập luyện mà còn là một phương tiện tìm kiếm sự cân bằng và hài hòa tinh thần. Trải qua một lớp tập yoga, người tập không chỉ rèn luyện cơ thể mà còn khám phá và phát triển sự nhận thức về bản thân và cuộc sống. Đây là một hành trình đầy ý nghĩa và sâu sắc, mang lại lợi ích to lớn cho sức khỏe và trạng thái tinh thần của mỗi người.2 Tổng quan về Machine Mearning Machine Learning được xem như một nhánh của trí tuệ nhân tạo. Lĩnh vực này tập trung vào nghiên cứu, phát triển mô hình máy tính có khả năng học hỏi dựa trên dữ liệu mẫu hoặc những dữ liệu đã được học.
Machine Learning có thể tự dự đoán và đưa ra quyết định mà không cần phải lập trình cụ thể. Từ đó tự động cải thiện hiệu suất trong công việc [5]. Bài toán đặt ra cho Machine Learning xử lí chia làm 2 loại chính: Dự đoán (prediction) và phân loại (classification). Ví dụ phân loại chữ viết, nhận diện vật dụng,.
và với đề tài của nhóm, nhóm thực hiện đề tài sẽ sử dụng Machine Learning cho công việc phân loại các tư thế yoga để chấm điểm. Các dạng Machine Learning thường được chia ra dựa trên các yếu tố sau: • Huấn luyện có giám sát (Supervised Learning) của con người, không có giám sát (Unsupervised Learning) và học củng cố (Reinforcement Learning) • Học dần dần hoặc học một cách nhanh chóng (Online vs Batch Learning) • Học và so sánh các điểm dữ liệu mới với các điểm dữ liệu đã biết (Instance-based vs Model-based Learning) Các thuật toán phân loại cũng đối diện với vấn đề underfitting và overfitting tương tự như trong bài toán hồi quy. Vì vậy, việc thử nhiều phương pháp với các cách chọn đặc trưng và mức độ chính quy hóa khác nhau là cần thiết để tìm ra phương án tốt nhất. Có nhiều cách để đánh giá hiệu suất của một phương pháp phân loại.
Một cách đơn giản là sử dụng một tập dữ liệu thử nghiệm và tính tỉ lệ dự đoán đúng trên tập này. Phương pháp nào có tỉ lệ dự đoán đúng và hiệu suất cao sẽ được ưu tiên lựa chọn.3 Thư viện mã nguồn mở mediapipe 2.1 Tổng quan về MediaPipe MediaPipe là một thư viện mã nguồn mở được Google nghiên cứu và phát triển, nó cung cấp nhiều tính năng cho các bài toán AI/ML và hiện đang ở giai đoạn Alpha. Một số ưu điểm có thể kể đến của thư viện này là: • Có thể chạy ổn định trên hầu hết các thành phần phần cứng thông dụng. • Thư viện này được cung cấp miễn phí và hỗ trợ trên nhiều nền tảng như Windows, Ubuntu, Mac,.
• Dễ dàng cài đặt và triển khai. Toàn bộ mã nguồn của dự án được công khai trên trang chủ của MediaPipe, cho phép người dùng tải về và tùy chỉnh để phù hợp với dự án của bản thân. Hiện nay, MediaPipe đã có nhiều dự án cho các ứng dụng quan trọng trong lĩnh vực thị giác máy tính như phát hiện khuôn mặt, phân đoạn màu sắc, phát hiện vật thể, mống mắt, tư thế và bàn tay. Và trong đó model phân tích tư thế BlazePose được nhóm thực hiện đề tài sử dụng trong đề tài này.1: Các điểm landmarks của model 9 Mô hình điểm mốc trong MediaPipe dự đoán vị trí của 33 điểm mốc tư thế được thể hiện như hình 2.
Ngõ ra là 33 điểm mốc tư thế với các thông số x, y và z: • Giá trị x, y: toạ độ các điểm mốc trên hình ảnh; với x, y lần lượt tương ứng là chiều rộng và chiều cao. • Thông số z: thể hiện độ sâu của mốc so với điểm mốc ở hông.2 Model BlazePose trong MediaPipe Trong lĩnh vực xử lý ảnh, ước tính tư thế (Pose Estimation) là một trong những bài toán phổ biến. Trước đây, đã có nhiều nghiên cứu thành công như OpenPose và PoseNet. Tuy nhiên, một trong những thách thức quan trọng của các mô hình này là tốc độ xử lý.
Trong một nghiên cứu mới của Google AI Research, các nhà nghiên cứu đã giới thiệu một kiến trúc mới có khả năng chạy realtime trên các thiết bị di động với tốc độ xử lý khoảng 30 FPS (30 khung hình mỗi giây). Và đây cũng có thể là lý do lớn nhất nhóm thực hiện đề tài quyết định sử dụng model này. BlazePose bao gồm hai thành phần chính: • Pose Detector (máy phát hiện tư thế). Pose Dectector: có nhiệm vụ phát hiện ra vùng chứa đối tượng trên frame ảnh.
Thay vì sử dụng phương pháp nhận diện toàn bộ cơ thể, các tác giả của BlazePose chọn lựa sử dụng bộ nhận diện khuôn mặt cùng với điểm giữa hông của người, kèm theo việc đo kích thước của vòng tròn bao quanh người và góc nghiêng của cơ thể. Góc nghiêng này được tính toán bằng cách đo góc giữa đường thẳng từ điểm giữa hông đến điểm giữa vai và đường thẳng đứng. Đây là một bộ detector đơn giản và lightweight. Vùng ROI là vùng chứa đối tượng cần xử lí và kích thước của vòng tròn bao quanh cơ thể.2 thể hiện vùng ROI của model BladePose khi xoay người theo phương thẳng đứng [7].2: Vùng ROI của model BlazePose khi xoay người theo phương thẳng đứng Pose Tracker: có nhiệm vụ trích xuất ra các điểm keypoints quan trọng trong vùng chứa đối tượng từ ảnh, khi đó sẽ dự đoán vị trí của đối tượng trong các frame ảnh tiếp theo.
Mạng Pose Tracking bao gồm hai phần chính: Keypoints Detection (xác định vị trí các điểm trên cơ thể) và Keypoints Regression (xác định vị trí của các điểm chính).3, Keypoints Detection là phần mạng được huấn luyện ở bên trái và giữa, Keypoints Regression là đầu ra của mô hình và là phần mạng ở bên phải. Ban đầu, để huấn luyện Keypoints Detection, mạng sử dụng bản đồ nhiệt và bản đồ lệch (Heat maps + Offset maps). Sau đó, Phần Keypoints Regression bắt đầu huấn luyện bằng cách chia sẻ các đặc điểm với Keypoints Detection. Kết quả đầu ra là 33 điểm chính được mô tả như trong hình 2.3: Mạng Pose Tracking 2.4 Thuật toán học máy Thuật toán học máy là các phương pháp và quy trình cho phép máy tính học từ những dữ liệu ta đã chuẩn bị và tự động cải thiện qua kinh nghiệm mà không cần phải lập trình rõ ràng cụ thể cho các nhiệm vụ.
Các thuật toán học máy được chia thành nhiều nhóm như học có giám sát, học không giám sát, học củng cố,. Đối với đề tài này nhóm thực hiện đề tài sẽ chọn phương pháp học có giám sát vì những ưu thế của nó phù hợp để thực hiện cho đề tài cũng như độ phổ biến của nó có thể dễ dàng tiếp xúc với những người mới. Ưu thế của phương pháp học có giám sát: • Độ chính xác cao: Vì sử dụng dữ liệu đã gán nhãn để huấn luyện mô hình nên mô hình học được mối quan hệ giữa đầu vào và đầu ra một cách chính xác. • Đánh giá hiệu suất dễ: Ta có thể dễ dàng đánh giá hiệu suất của mô hình vì ta đã thiết lập nhãn đúng.
• Ứng dụng thực tế: Các bài toán như phân loại rác thải, chữ viết và tư thế yoga khi sử dụng phương pháp học có giám sát sẽ đạt được hiệu quả cao. 12 • Dễ hiểu: Một số thuật toán của học có giám sát như hồi quy tuyến tính, cây quyết định có thể dễ dàng giải thích để giúp người dùng nghe và hiểu rõ lý do đằng sau mỗi quyết định của mô hình.