5 Thực nghiệm
3.19 Minh họa trực quan bias và variance (nguồn [11])
Phương pháp đề xuất
Trong chương này, chúng tôi trình bày phương pháp đề xuất để giải quyết bài toán chính - nhận diện hành động qua video. Phương pháp đề xuất là kết quả tự nghiên cứu, cũng như từ những khảo sát mà nhóm đã tiến hành trong suốt thời gian làm luận văn. Nhìn chung, hệ thống nhận diện hành động qua video mà chúng tôi hướng tới gồm hai thành phần chính như sau:
• Trích xuất dữ liệu từ camera: Đây là mô-đun được chúng tôi sử dụng để trích xuất dữ liệu skeleton mong muốn từ dữ liệu RGB của camera. Ở mô-đun này nhóm hướng tới tái sử dụng công trình MediaPipe của Google, đây là công trình đã đạt thành tựu tích cực trong lĩnh vực Thị giác máy tính và được giới thiệu trong nhiều bài báo [23] [40] [8].
• Nhận diện hành động từ dữ liệu khung xương (skeleton): Đây là mô-đun chính mà chúng tôi nghiên cứu và phát triển. Mô-đun này sẽ nhận đầu vào (input) dưới dạng một cấu trúc dữ liệu, cấu trúc này biểu diễn đồ thị skeleton của các đối tượng có trong video RGB mà MediaPipe đẩy vào. Input được xử lý bởi model do nhóm đề xuất, kết quả (output) sẽ là một vector biểu diễn loại hành động mà model dự đoán được. Chúng tôi gọi đây là mô hình nhận diện hành động bằng dữ liệu skeleton.
Sau đây chúng tôi sẽ lần lượt đi qua các mô-đun của đề tài. Phần 4.1 sẽ giới thiệu thành phần đầu tiên của hệ thống chính, ở phần này chúng tôi sẽ giới thiệu về framework MediaPipe cũng như cách thức hoạt động và lý do công trình này nổi trội trong lĩnh vực Thị giác máy tính. Tiếp sau là phần 4.2, chúng tôi sẽ tập trung vào phần này nhiều hơn, ở đây nhóm sẽ mô tả về mô hình dùng để nhận diện hành động của các chủ thể là người (subject) trong video. Các phần sau đó là sự đi sâu vào từng mô-đun con, chúng tôi sẽ trình bày chi tiết về kiến trúc các mô-đun cũng như chức năng trong mô hình tổng thể.
4.1 MediaPipe
MediaPipe là một framework mã nguồn mở cung cấp các giải pháp học máy được tối ưu cho các tác vụ cần xử lý theo thời gian thực cho dữ liệu đa phương tiện (chủ yếu là video) và chạy trên đa nền tảng (IOS, Android, Web, Desktop). MediaPipe hỗ trợ nhiều giải pháp như: nhận diện vật thể (object detection), trích xuất cả tọa độ của bàn tay, khuôn mặt hay cơ thể con người (hand, face, pose estimation), phân đoạn cơ thể con người (human segmentation) ...
Nhóm đã tận dụng MediaPipe để trích xuất dữ liệu từ camera. Công trình được công bố ở bài báo "BlazePose: On-device Real-time Body Pose tracking" [10]. Dựa trên giải pháp này, họ sẽ bóc tách ra 33 điểm tương ứng 33 bộ phận của cơ thể người trong không gian 3 chiều (x, y, z) từ một RGB video.
BlazePose bao gồm hai thành phần chính:
• Một làPose Detectorđể xác định ra vùng điểm ảnh chứa con người trên bức hình.
• Hai làPose Trackersẽ xác định skeleton trên vùng ảnh chứa con người được trích xuất bởi Pose Detector, đồng thời dự đoán thêm skeleton của các khung hình liền kề nếu đủ độ tự tin.
Pose Detector không xác định toàn bộ 33 bộ phận của cơ thể người. Thay vào đó, mô hình xác định hai điểm là khuôn mặt và điểm giữa ở hông của con người. Từ đó suy ra được vòng tròn bao quanh toàn bộ cơ thể , và độ nghiêng của người so với trục đứng.
(a) Chưa chuẩn hóa (b) Được chuẩn hóa