𝐵(𝑥𝑏, 𝑦𝑏, 𝑧𝑏) 𝐴(𝑥𝑎, 𝑦𝑎, 𝑧𝑎) 𝑑 𝑥 𝑂 𝑦 𝑧 (2.12) (2.13)
30
Chương 3
PHÁT HIỆN CHUYỂN ĐỘNG CƠ THỂ NGƯỜI TRONG KHÔNG GIAN 3D VÀ CÀI ĐẶT CHO MÁY
PHÁT CẦU LƠNG
3.1 Sơ đồ khối
Hình 3.1: Sơ đồ khối quá trình nhận dạng cơ thể người và cài đặt cho máy phát cầu lông
- Khối thu thập dữ liệu từ camera
Khối này sẽ có nhiệm vụ tính tốn và lấy dữ liệu từ camera 3D Asus Xtion Pro Live từ đó xây dựng bản đồ chiều sâu 3D có 3 thơng số là tọa độ X, tọa độ Y và Tọa độ z, trong đó X là tọa độ theo khung hình chiều ngang 320 pixel, Y là tọa độ theo khung hình chiều dọc 240 pixel, và Z là khoảng cách từ vật thể đến camera. Từ đó ta có khơng gian 3D của đối tượng và đi thực
Khối thu thập hình ảnh từ
camera
Khối nhận dạng tư thế con người
Khối nhận dạng con người
Khối nhận dạng tọa độ người trên
sân Khối cài đặt cho
máy phát cầu lông Khối hiển thị
31
hiện các thuật toán học máy để nhận biết được đâu là cơ thể người trong khơng gian đó.
Nếu trong khối này dữ liệu lấy được đáng tin cậy như khoảng cách tối thiểu từ đối tượng đến camera hay điều kiện ánh sáng và các vật thể xung quanh đối tượng khơng che camera thì q trình học máy và nhận dạng đối tượng sẽ chính xác và đem lại hiệu quả cao nhất.
- Khối nhận dạng tư thế con người
Khối này có chức năng nhận dạng vật đang chuyển động trước camera 3D, nếu đối tượng chuyện chuyển động thì khối này sẽ nhận biết đó có hay khơng bằng các thuật tốn phân ngưỡng đối tượng, nếu có thì bắt đầu cho khối tiếp theo là nhận dạng cơ thể người và gắn bộ xương vào đó.
- Khối nhận dạng con người
Khối này có chức năng nhận dạng cơ thể người sau khối nhận dạng tư thế, khối này đem so phân ngưỡng chuyển động đấy với bộ tập mẫu về các tư thế người đã được huấn luyện từ Randonized decision forrest từ đó xác định được các bộ phận trên cơ thể con người từ đó áp dụng thuật tốn Mean shift để xây dựng bộ xương Skeleton tracking trên cơ thể con người đó.
- Khối nhận dạng tọa độ người trên sân cầu lơng
Sau khi có tracking được cơ thể người và xây dựng bộ xương trong khơng gian 3D thì tiến hành lấy tọa độ cơ thể khớp trọng tâm cơ thể người, đó là khớp hơng, từ khớp hơng ta có được 3 thơng số trong khơng gian 3D là tọa độ X, Y và Z. Để biết được người chơi đang ở vị trí nào trên sân thì ta phải chuyển đổi tọa độ về cùng một đơn vị với sân cầu lông một cách tuyến tính, từ đó áp mới có thể biết được vị trí của người chơi trên sân thực tế.
- Khối cài đặt cho máy phát cầu lông
Khối này có tác dụng xác định vị trí mà máy phát sẽ phát cầu đến, bằng cách tính tốn vị trí người chơi đang đứng so với các tọa độ cầu đã biết trước bằng các phép tính tốn khoảng cách bằng tọa độ từ đó xây dựng thuật tốn tìm các tọa độ có khoảng cách xa nhất đến người chơi như cơng thức tốn học
32
Euclidean Distance, thuật tốn tìm giá trị lớn nhất trong chuỗi và lấy ngẫu nhiên một giá trị trong chuỗi giá trị các khoảng cách xa nhất đến đối tượng từ đó phát lệnh xoay các góc và điều chỉnh tốc độ cho máy phát cầu lông.
- Khối hiển thị:
Khối có chức năng hiển thị hình ảnh chiều sâu, phát hiện người chơi trong không gian 3D, tracking bộ xương và hiển thị vị trí người sân cầu lơng một cách trực quan.
3.2 Khối lấy dữ liệu hình ảnh 3D
Khối lấy hình ành Depth map bao gồm các bước sau.
- Cài đặt thư viện Open NI, là thư viện giao tiếp giữa thiết bị dựa trên công nghệ camera 3D của hãng Prime Sense với các ứng dụng dựa trên mã nguồn mở, cho phép lấy dữ liệu từ các thiết bị ngoại vi như camera, microphone… đặc biệt là camera 3D. Thư viện hỗ trợ đầy đủ các source để lấy bảng đồ Depth map từ đó để xây dựng được các ứng dụng mà có sử dụng đến khơng gian 3D.
33