Nhận Dạng Tư Thế AI
Phát hiện tư thế cơ thể người trong ảnh bằng AI MoveNet. Xác định 17 điểm khớp bao gồm các khớp và đặc điểm khuôn mặt. Công cụ nhận dạng tư thế miễn phí.
Giới Thiệu Nhận Dạng Tư Thế AI
Nhận Dạng Tư Thế AI sử dụng MoveNet, mô hình phát hiện tư thế tiên tiến từ TensorFlow, để xác định tư thế cơ thể người trong ảnh. Nó phát hiện 17 điểm khớp bao gồm các đặc điểm khuôn mặt (mắt, tai, mũi) và các khớp cơ thể (vai, khuỷu tay, cổ tay, hông, đầu gối, mắt cá chân). Tất cả quá trình xử lý diễn ra trực tiếp trong trình duyệt - không có ảnh nào được tải lên máy chủ.
Công cụ ước tính tư thế này có gửi webcam hay ảnh của tôi lên máy chủ không?
Không. Nhận Dạng Tư Thế AI chạy toàn bộ pipeline phát hiện tư thế trong trình duyệt bằng MediaPipe Pose hoặc MoveNet qua TensorFlow.js. Luồng webcam hoặc ảnh tải lên được giải mã vào Canvas/VideoFrame trong bộ nhớ, bộ phát hiện keypoint chạy trên CPU hoặc GPU của bạn, và 33 (hoặc 17) landmark cơ thể được vẽ lại lên canvas — tất cả mà không một byte nào rời khỏi thiết bị. Không tải lên, không telemetry, không suy luận đám mây. Điều này rất cần cho ứng dụng thể hình không nên truyền video tập luyện cho bên thứ ba, sàng lọc tư thế y tế có quy định bảo mật bệnh nhân, và bất kỳ trải nghiệm AR/VR nào cần độ trễ dưới 50ms chỉ đạt được bằng suy luận cục bộ.
Mô hình tư thế nào được dùng và phát hiện bao nhiêu điểm cơ thể?
Mặc định là Google MediaPipe Pose (Pose Landmarker), phát hiện 33 landmark 3D bao trùm toàn thân — đường viền mặt, vai, khuỷu tay, cổ tay, hông, đầu gối, mắt cá chân, cộng keypoint bàn tay và bàn chân. Biến thể lite/full/heavy cân bằng tốc độ và độ chính xác: lite (~6 MB, 60+ fps) tuyệt vời cho di động, full (~25 MB) độ chính xác chuẩn 30 fps trên hầu hết laptop, heavy (~50 MB) cho phân tích thể hình ngoại tuyến. Công cụ cũng hỗ trợ MoveNet (Lightning/Thunder) từ TensorFlow.js, phát hiện 17 keypoint định dạng COCO và còn nhanh hơn MediaPipe-lite trên CPU. Cả hai cũng xuất điểm tin cậy mỗi keypoint để bạn lọc khớp có độ tin cậy thấp.
Độ chính xác ước tính tư thế trong trình duyệt cho thể hình hay vật lý trị liệu thế nào?
MediaPipe Pose-full đạt Percent of Detected Keypoints ([email protected]) khoảng 92% trên COCO val, ngang với API tư thế đám mây năm 2022. Với hầu hết trường hợp thể hình — đếm số lần squat, chống đẩy, lunge, đo thời gian plank, cảnh báo tư thế — độ chính xác là quá đủ. Với vật lý trị liệu, đo góc khớp (gập đầu gối, dang vai) đáng tin trong ±5 độ với ánh sáng tốt và camera ở chiều cao hông. Hạn chế chính: nhận thức độ sâu là xấp xỉ (2,5D, không phải 3D thật), khớp bị che sau cơ thể hoặc chi giảm độ chính xác đáng kể, và góc nhìn nghiêng khó hơn góc nhìn chính diện vì hông và vai thẳng hàng trong 2D.
Có theo dõi nhiều người trong cùng khung hình cùng lúc không?
MediaPipe Pose chỉ phát hiện một người mỗi khung theo thiết kế — được tối ưu cho cơ thể nổi bật nhất trong cảnh và mang lại độ trễ cực thấp. Với theo dõi nhiều người, bạn có thể chuyển sang MoveNet MultiPose (cũng TensorFlow.js, ~12 MB), phát hiện đồng thời tối đa 6 người bằng cách chạy bộ phát hiện người trước, rồi đầu keypoint trên từng cá thể. Đánh đổi là MoveNet MultiPose chạy ~15 fps trên laptop điển hình thay vì 60+ với một người, và độ chính xác keypoint trên mỗi người giảm nhẹ. Với phòng tập múa, thể hình nhóm hoặc phân tích thể thao có nhiều vận động viên, MultiPose là lựa chọn đúng; với tập đơn hoặc ứng dụng yoga, hãy dùng MediaPipe.

MediaPipe Pose khác OpenPose hay YOLOv8-Pose ra sao?
OpenPose (CMU, 2017) là tiên phong lịch sử về tư thế đa người dùng part-affinity field bottom-up, nhưng mô hình rất nặng (~200 MB) và chậm nếu không có GPU CUDA — bất khả thi cho trình duyệt. YOLOv8-Pose là mô hình hợp nhất phát hiện+keypoint chạy tốt trên GPU và cho kết quả đa người mạnh ở định dạng COCO 17 điểm. MediaPipe Pose dùng cách top-down hai giai đoạn: bộ phát hiện người định vị cơ thể, rồi bộ hồi quy keypoint tinh chỉnh 33 landmark trong 3D. Thiết kế hai giai đoạn nhanh hơn nhiều trên CPU (ưu tiên di động) và cho theo dõi thời gian mượt hơn vì giai đoạn hai khởi tạo từ khung trước. Trên trình duyệt, MediaPipe là người chiến thắng thực tế; YOLOv8-Pose thắng khi bạn có máy chủ GPU.
Tôi có thể chạy ước tính tư thế thời gian thực từ webcam không?
Có — đây chính là mục đích của MediaPipe Pose. Công cụ dùng navigator.mediaDevices.getUserMedia để xin quyền truy cập webcam (trình duyệt yêu cầu cấp phép), đưa khung vào mô hình tư thế qua WebGL/WebGPU và phủ bộ xương theo thời gian thực. Trên laptop từ 2020 trở đi có GPU tích hợp, bạn có thể đạt 30-60 fps với MediaPipe-lite một người hoặc 15-25 fps với MoveNet MultiPose. Nguồn webcam không bao giờ rời khỏi máy. Để giảm tối đa độ trễ, công cụ dùng requestVideoFrameCallback khi có sẵn (Chrome 83+) cho độ chính xác lập lịch dưới mức khung — quan trọng với ứng dụng trực tiếp như filter AR gương, phiên dịch ngôn ngữ ký hiệu hoặc motion capture cho phát triển game indie.
Công cụ hỗ trợ tư thế 3D hay chỉ 2D?
MediaPipe Pose xuất cả 2D (x, y theo pixel ảnh) và tọa độ 3D thế giới xấp xỉ (x, y, z theo mét tương đối với trung tâm hông). Tọa độ z 3D được ước tính từ tỷ lệ cơ thể 2D và khá chính xác khi camera vuông góc với đối tượng, nhưng không phải 3D chất lượng mét. Để có 3D thực sự, bạn cần cảm biến độ sâu (LiDAR, Kinect, ánh sáng cấu trúc) hoặc tam giác hóa đa khung nhìn với hai camera đồng bộ trở lên. Đầu ra 3D của MediaPipe đủ cho hiệu ứng AR, phân tích chuyển động cơ bản và hoạt họa avatar 3D (đây là cái VTuber dùng), nhưng không đủ cho đo lường sinh cơ học cấp nghiên cứu.
Khác biệt giữa MediaPipe (BlazePose) và MoveNet — nên chọn cái nào?
BlazePose / MediaPipe Pose do Google Research phát triển cho AR và thể hình với 33 landmark và ước tính 3D tích hợp. Nó được triển khai bằng C++ với binding WebAssembly và tích hợp chặt với JS API MediaPipe Solutions. MoveNet do nhóm TensorFlow của Google phát triển cho thể hình với 17 keypoint COCO, trong hai kích thước: Lightning (nhanh nhất, di động) và Thunder (chính xác hơn). MoveNet được xây trên TFJS và TFLite, dễ tinh chỉnh trong ngăn xếp huấn luyện TF chuẩn. Quy tắc: dùng MediaPipe Pose cho ứng dụng AR/avatar cần bao phủ 33 điểm gồm mặt và bàn chân; dùng MoveNet khi chỉ cần 17 khớp COCO chuẩn và muốn tốc độ CPU tối đa.
