Xử lý dữ liệu ảnh 2D

Một phần của tài liệu Thiết kế và điều khiển gương tương tác thông minh đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ kỹ thuật cơ điện tử (Trang 63 - 66)

Skeleton tracking hoặt động dựa trên nền tảng của thuật toán openpose. Mục đích của thuật toán là tự động tạo ra một mô hình cơ thể bao gồm vị trí của từng mắt xích chính trong cơ thể người được hiển thị bằng hình ảnh máy ảnh kỹ thuật số. Gần đây, "Openpos" sử dụng deep learning, một thuật toán được phát triển để xác định mô hình cơ thể của một người dựa trên vị trí khớp mà không cần sử dụng cảm biến. OpenPose cho phép bạn tìm các điểm chính (keypoints) của một hoặc nhiều đối tượng trong thời gian thực và mô hình hóa chuyển động của con người bằng cách tạo các skeleton của đối tượng. [10]

Sử dụng thật toán neural network và deep learning với mạng lưới Convolution Neural Network với 57 lớp. Dựa trên hình ảnh gốc, mạng CNN này tạo ra một biểu đồ nhiệt tại vị trí của 18 khớp chính trong cơ thể con người, bao gồm hình ảnh và hướng của bản đồ nhiệt chứa các khớp cần phát hiện. Sau khi xác định vị trí các khớp, tìm các mối nối giữa các khớp để các khớp là một bộ phận của cùng một cơ thể.

Mỗi khớp trong một khung xương tiêu chuẩn luôn có các trọng số đi kèm. Các trọng số này dùng để lọc lại những khớp đã được phát hiện trước đó. Các khớp kết hợp với trọng số sẽ tạo ra được thông số độ tin cây ( joint_confidence ). Một khớp được công nhận khi nó có độ tin cậy nằm trong vùng joint_confidence đặt ra, và joint_confidence càng nhỏ thì các khớp càng có độ chính xác cao. Ngưỡng thấp nhất của độ tin cậy là 0.2, nếu nhỏ hơn mức nhỏ nhất cho phép thì sẽ những giá trị của các vị trí bị loại ra khỏi hệ thống xây dựng mô hình hóa khung xương của con người. 18 khớp có độ tin cậy phù hợp sẽ được lưu lại với một thứ tự nhất định, và việc tạo ra bộ khung xương (skeleton) sẽ đơn giản là chỉ cần nối các khớp lại theo thứ tự đã được quy ước từ ban đầu.

55

Hình 4-9 Các bước xử lý để xây dựng khung xương của người trong video

Tóm lại, từ ảnh RGB thu được từ camera, thuật thoán deep learning cùng mạng lưới CNN kết hợp tạo ra biểu đồ nhiệt (Heat-maps) của từng bộ phận cơ thể và hướng của các bộ phận (Part Affinity fields). Tiếp theo, thuật toán tìm các mối nối đúng cho các khớp sao cho các khớp của cùng một cơ thể được nối với nhau tạo thành mô hình khung xương người.

Kết quả trả về là 18 khớp đặc trưng gồm:

Nose - 0, Neck - 1, Right Shoulder - 2, Right Elbow - 3, Right Wrist - 4, Left Shoulder - 5, Left Elbow - 6, Left Wrist - 7, Right Hip - 8, Right Knee - 9, Right Ankle - 10, Left Hip - 11, Left Knee - 12, Left Ankle - 13, Right Eye - 14, Left Eye - 15, Right Ear - 16, Left Ear - 17.

56

Hình 4-10 18 khớp chính của cơ thể được xác định

Sau khi đã có được khung xương gồm 18 khớp đặc trưng, Skeleton Tracking SDK hỗ trợ xác định các tọa độ các pixel trên ảnh 2D. Cho biết vị trí các khớp có tọa độ là bao nhiêu, hỗ trợ cho việc lấy mẫu và nhận diện động tác tương tác giữa người dùng và gương.

57

Hình 4-11 Tọa độ (x,y) 18 khớp của cơ thể

Một phần của tài liệu Thiết kế và điều khiển gương tương tác thông minh đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ kỹ thuật cơ điện tử (Trang 63 - 66)