Lưu đồ minh họa rừng quyết định

Một phần của tài liệu Ứng dụng thuật toán nhận dạng chuyển động của người trong môi trường 3d để huấn luyện cho robot chơi cầu lông (Trang 39 - 45)

Cho các cặp dữ liệu x1, x2, ... xn và l1, l2, ... ln cây phát triển bằng cách phân chia dữ liệu đầu vào hoặc không gian.

Với:

+ n: Là các nút (Node)

+ fn: Hàm tách (Split function) + tn: Mức ngưỡng (Threshold)

+ Pn: Phân bố xác suất lớp (class probability distribution)

Hình 2.14: Lưu đồ minh họa các nút tách (split nodes) và các nút lá (Leaf nodes)

21

• Chia Node đệ quy: Chia dữ liệu huấn luyện In đến n nút. + IL = {x ϵ In | fn(x) < tn}

+ IR = In \ IL

• Thuật toán thử tất cả các cặp (fn, tn) và chọn các giá trị (fn, tn) tốt nhất để tối đa hố được lợi ích thơng tin thu được.

22

ΔH = -|𝐼𝑙|

|𝐼𝑛|𝐻(𝑃𝐼𝑙(𝐶)) −|𝐼𝑟|

|𝐼𝑛|𝐻(𝑃𝐼𝑟(𝐶)) Entropy H được tính như sau:

• Với x và y độc lập, chúng ta xác định: h(x,y) = h(x) + h(y)

P(x,y) = P(x).P(y)

h(x) = - log P(x)

• Số lượng thơng tin trung bình là: H(x) = ΣP(x)h(x) = - ΣP(x)log P(x)

H: entropy (lượng thơng tin trung bình) là lớn khi phân phối được đồng đều hơn. Dựa vào thông số H ta chọn ngưỡng tn.

Thực tế thuật toán skeleton trong thư viện Kinect sử dụng được Shotton et al, CVPR(2011) mô tả như sau:

Hình 2.16: Lưu đồ rừng quyết định trong mơ tả của Shotton et al, CVPR(2011)

x x (2.1) (2.2) (2.3) (2.4) (2.5)

23

Thuật toán Learning decision forest điều khiển Kinect đòi hỏi CPU xử lý trong 24.000 giờ ( tương đương gần 3 năm), nhưng chỉ mất một ngày huấn luyện khi sử dụng hàng trăm máy tính cùng một lúc.

"Để giảm thời gian huấn luyện xuống, chúng tôi thực hiện một phân phối. Tập huấn luyện 3 cây cho độ sâu từ 20 đến 1 triệu hình ảnh mất khoảng một ngày trong một cụm lõi 1000 " [9].

“To keep the training times down we employ a distributed implementation. Training 3 trees to depth 20 from 1 million images takes about a day on a 1000 core cluster.” —Shotton et al, CVPR(2011)

Theo Shotton et al, CVPR(2011) trình bày, để tạo ra bộ khung xương skeleton gồm 2 bước chính:

+ Bước 1: thu ảnh độ sâu, sau đó tiến hành phân nhóm các bộ phận trên cơ thể người, và đề xuất các điểm 3D.

+ Bước 2: biến đổi hình ảnh các phần thân cơ thể người thành bộ xương.

24

Hình 2.18: Chuyển đổi các vùng trên cơ thể thành các điểm và nối thành bộ khung Shotton et al, CVPR(2011)

2.3 Thuật toán Mean shift clusting

Giới thiệu thuật toán

- Thuật toán chuyển đổi trung bình là một kỹ thuật phân cụm phi thông số mà không yêu cầu biết trước về số lượng các cụm, và khơng hạn chế hình dạng của các cụm.

- Cho n điểm dữ liệu xi , i = 1, ... , n trên không gian d chiều Rd, ước lượng mật độ hạt nhân đa biến thu được với hạt nhân K (x) và bán kính cửa sổ h là

f(x) = 𝑓(𝑥) = 1 𝑛ℎ𝑑∑ 𝐾 (𝑥−𝑥𝑖 ℎ ) 𝑛 𝑖=1

Đối với hạt nhân đối xứng vectơ, nó đủ để xác định thơng tin của hạt nhân k(x) thỏa mãn

𝐾(𝑥) = 𝐶𝑘𝑑𝑘(‖𝑥‖2) (2.3.2)

(2.6)

25

Trong đó 𝐶𝑘𝑑 là hằng số chuẩn, đảm bảo K (x) là một số nguyên dương. Các chế độ của hàm mật độ được đặt tại vị trí khơng của hàm dốc gradient ∇f (x) = 0. Độ dốc của bộ ước lượng mật độ (1) là

Trong đó 𝑔(𝑠) = −𝑘(𝑠)′ . Bước đầu tiên cân đối hàm mật độ ước tính ở x với hạt nhân 𝐺(𝑥) = 𝐶𝑔,𝑑𝑔(‖𝑥‖2) và bước tiếp theo là sự dịch chuyển trung bình:

Các vector thay đổi trung bình ln ln hướng về hướng tăng tối đa mật độ. Thủ tục chuyển đổi trung bình, thu được một cách liên tục.

• Tính tốn của vector chuyển đổi trung bình 𝒎𝒉(𝒙𝒕) • Dịch cửa sổ 𝒙𝒕+𝟏= 𝒙𝒕+ 𝒎𝒉(𝒙𝒕)

đảm bảo sẽ hội tụ về một điểm mà các gradient của hàm mật độ là zero. Quá trình tìm kiếm chế độ chuyển đổi trung bình được minh họa trong Hình 1.

Thuật tốn mean shift clustering là một ứng dụng thực tế của thủ tục tìm kiếm chế độ phát hiện:

(2.8)

(2.9)

(2.10)

26

Một phần của tài liệu Ứng dụng thuật toán nhận dạng chuyển động của người trong môi trường 3d để huấn luyện cho robot chơi cầu lông (Trang 39 - 45)

Tải bản đầy đủ (PDF)

(80 trang)