Bảng 3.1 Thể hiện tám véc tơ chi1 Khủy tay trái 5 Cánh tay trái 1 Khủy tay trái 5 Cánh tay trái 2 Khủy tay phải 6 Cánh tay phải
3 Đùi trái 7 Bắp chân trái
4 Đùi phải 8 Bắp chân phải
thường không đáng kể. Do đó trong giai đoạn ban đầu này, nghiên cứu loại bỏ
bàn tay và bàn chân ra khỏi nhóm đại diện để đảm bảo sự vững mạnh của mô tả.
Tóm lại, nhóm đại diện bao gồm tám vectơ chi (Bảng 3.1). Như chúng ta có thể
thấy, kích thước dữ liệu được giảm đáng kể trong khi các thông tin cần thiết của động
tác vẫn được giữ lại tốt. c.Đánh giá động tác:
Sau khi chọn động tác biểu diễn thích hợp, chúng ta có thể tính toán góc nằm
giữa vectơ chi tương ứng thu được thực tế và các động tác chuẩn sử dụng công thức
tập dữ liệu động tác chuẩn từ thư viện trước khi bắt đầu. Các động tác chuẩn sẽ lần
lượt được hiển thị trên màn hình dưới dạng hình ảnh của khung xương (Hình 3.8, bên tay phải)...vv.
Hình 3.8 Chương trình thu nhận dữ liệu chuẩn từ võ sư. 3.3.2.2 Công thức chấm điểm
Xem xét thực tế, nghiên cứu quan sát được từ các thí nghiệm, nghiên cứu gán
trọng số khác nhau cho từng thành viên trong mảng khoảng cách và sử dụng tổng
trọng số để bù đắp cho sự sai lệch thị giác. Nghiên cứu đề xuất một công thức chấm điểm như công thức (3.10).
Trước tiên là tham số khoảng cách D:
D= [f 1(α1+ α 2) + f 2(α3+ α 4) + f 3(α5+ α 6) + f 4(α7+ α 8)] (3.6)
Trong đó αi là biểu thị góc một thành viên của AngleDif f, D biểu thị các tham
số khoảng cách duy nhất tính từ mảng, f 1, f2, f3, f4, biểu thị các giá trị trọng số của
các chi ước lượng được sử dụng công thức (3.7).
cosα = xstxre + ystyre + zstzre p x2st + y 2 st + z2 stp x2re + y2 re + z 2 re (3.7) Trong đó (xst, yst, zst) biểu thị tọa độ của một vectơ chi của các cử chỉ chuẩn, (xre, yre, zre) biểu thị tọa độ của một vectơ chân tay của động tác trong thời gian thực.
Nghiên cứu xác định tập hợp bao gồm tám góc như là mảng khoảng cách AngleDiff = α1, α2, α3, α4, α5, α6, α7, α8 ( xem Bảng 3.1), nó chứa hầu hết các thông tin về khoảng
cách giữa động tác trong thời gian thực và động tác chuẩn.
Để tính toán các giá trị trọng số, hệ thống sẽ tự động thu thập 10 cặp cử chỉ gần
đây nhất được xếp loại từ cơ sở dữ liệu mà có số điểm trong khoảng ± 15% và tham khảo trung bình cộng của mỗi α i. Giá trị trọng số được tính như công thức (3.8)
fi = 1
AvgiP i=14 Avg1 i
(3.8) Trong đó Avg1, Avg2, Avg3, Avg4 biểu thị trung bình cộng của khuỷu tay (α 1 + α 2), đùi (α3 + α 4), cánh tay α( 5+ α 6) và cẳng chân (α 7+ α8). Thao tác này sẽ gán trọng số lớn hơn tới các chi mà được đánh giá chặt chẽ hơn theo người chấm.
Sau khi nghiên cứu đã nhận giá trị D, mục tiêu của nghiên cứu là để D vào chia
phần trăm điểm. Nhiệm vụ là tương đối đơn giản bằng cách sử dụng biến đổi tuyến
tính. Nghiên cứu cho phép người dùng nhập vào một giá trị chuẩn D st và số điểm tham
chiếu của nó Sst.
Trong trường hợp phán đoán cử chỉ một người biểu diễn thường không được phép đi chệch khỏi những cử chỉ chuẩn quá nhiều. Nghiên cứu xác định một hàm giới hạn
độ lệch cho phép người dùng nhập vào một giá trị ngưỡng M (độ) để hạn chế độ lệch
không thể chấp nhận những cử chỉ như trong công thức (3.9).
f α( max) = 1− 0 4. M2α2
max (3.9)
Trong đó α max biểu thị tối đa trong AngleDiff. Hàm có một số tính năng:
f(0) = 1. Khi cử chỉ thời gian thực giống hệt với những cử chỉ tiêu chuẩn, giá trị
hàm là 1.
f0(αmax) 0< , f ”(αmax ) 0< , khi bao gồm góc tăng tối đa, giá trị hàm giảm mạnh.
f M( ) = 0, khi tối đa bao gồm cách tiếp cận góc hoặc vượt quá giá trị ngưỡng,
Khi đó ta có công thức chấm điểm sẽ là:
Score f α= ( max ) [(. Dst −D)× 100−Sst
Dst + Sst (3.10)
Trong đó f α( max) biểu thị hàm giới hạn độ lệch. D st có thể tự thiết lập bởi người sử dụng theo nhu cầu của họ, D st nhỏ hơn chỉ ra tiêu chuẩn cao hơn về phân loại S st
cung cấp cho người dùng một tùy chọn để kiểm soát các điểm trong phạm vi mong muốn.
Với các tính năng trên, điểm số sẽ được hạn chế một cách hợp lý khi độ lệch giữa
thời gian thực cử chỉ và điệu bộ tiêu chuẩn, tức là số điểm cao đòi hỏi phải thực hiện
trơn tru của tất cả chân tay.
3.4 Thực nghiệm
3.4.1 Nhận diện động tác tấn công
3.4.1.1 Nhận diện động tác tấn công bằng cây phân loại
1. Thử nghiệm với bộ dữ liệu K3HI [50] được công bố trên mạng: Thuật toán được thử nghiệm với bộ dữ liệu K3HI [50] được công bố trên mạng chứa các dữ liệu
tọa độ 3D của bộ xương người. Trong đó, các khớp nối cho mỗi người đã được trích xuất bằng phần mềm OpenNI (Open Natural Interaction) với NITE do PrimeSense
cung cấp. Một bộ xương được thể hiện bằng các vị trí 3D của 15 khớp, bao gồm đầu, cổ, vai trái, vai phải, khuỷu tay trái, khuỷu tay phải, tay trái, tay phải, thân, hông
trái, hông phải, đầu gối trái, đầu gối phải, trái chân và bàn chân phải. Bộ K3HI đã
được xây dựng với một số hành vi cụ thể. Từ tập các khung xương, nghiên cứu tiến
hành gán nhãn trạng thái cho từng khung xương để làm dữ liệu thử nghiệm. Cụ thể,
với hành vi kicking của bộ K3HI, sau khi gán nhãn ta thu được bộ dữ liệu 3752 mẫu khung xương.
Thử nghiệm được tiến hành theo cách kiểm chứng chéo 10-fold, tức là chia bộ
dữ liệu làm 10 phần, tiến hành 10 lần thử, lần lượt mỗi lần lấy 9 phần để học và thử
nghiệm 1 phần còn lại, tổng kết lại kết quả chính xác 3423/3752 ∼ 91.231343% Với
một số lựa chọn khác nhau về chiều cao của cây quyết định được xây dựng, biểu đồ
cho thấy khi chiều cao của cây tăng, tức là nhiều đặc trưng được kết hợp hơn, độ chính xác cũng tăng theo như Hình 3.9. Từ đó cũng chứng minh tính hiệu quả của những
đặc trưng không gian được sử dụng và cách kết hợp.
2. Thử nghiệm với bộ dữ liệu 36 thế võ thu bằng Kinect trong đó :
Bộ cơ sở dữ liệu sau khi ước lượng ở chương 2 với khung xương 20 điểm, 15083
Hình 3.9 Thể hiện chiều cao của cây và số đặc trưng.
nghiệm tương tự với bộ dữ liệu K3HI
Cách thức kiểm chứng chéo (cross validation) 5 lượt (folds).Lựa chọn khác nhau
về chiều cao của cây.Biểu đồ cho thấy khi chiều cao của cây tăng, tức là nhiều đặc
trưng được kết hợp hơn, độ chính xác cũng tăng theo, từ đó cũng chứng minh tính
hiệu quả của những đặc trưng không gian được sử dụng và cách kết hợp như trong Hình 3.9.
3.4.1.2 Nhận diện động tác tấn công bằng mạng nơ ron
Đồng thời với việc nhận dạng động tác tấn công bằng phương pháp cây phân loại
thì nghiên cứu cũng thực hiện trên phương pháp mới hơn là sử dụng mạng trí nhớ ngắn
định hướng dài hạn (Long Short term memory) còn được viết tắt là LSTM. LSTM là
một kiến trúc đặc biệt của RNN có khả năng học được sự phụ thuộc trong dài hạn
(long-term dependencies) được giới thiệu bởi Hochreiter và Schmidhuber (1997). Kiến
trúc này đã được phổ biến và sử dụng rộng rãi cho tới ngày nay. LSTM đã tỏ ra khắc
phục được rất nhiều những hạn chế của RNN trước đây về triệt tiêu đạo hàm. Tuy
nhiên cấu trúc của chúng có phần phức tạp hơn mặc dù vẫn giữ được tư tưởng chính
của RNN là sự sao chép các kiến trúc theo dạng chuỗi. Một mạng RNN tiêu chuẩn sẽ có kiến trúc rất đơn giản chẳng hạn như đối với kiến trúc gồm một tầng ẩn là hàm
tanh như hình 3.10 bên dưới . LSTM cũng có một chuỗi dạng như thế nhưng phần
kiến trúc lặp lại có cấu trúc khác biệt hơn. Thay vì chỉ có một tầng đơn, chúng có tới
4 tầng ẩn (3 sigmoid và 1 tanh) tương tác với nhau theo một cấu trúc đặc biệt. Các kí
hiệu có thể diễn giải như sau:
Trong sở đồ tính toán trên, mỗi một phép tính sẽ triển khai trên một véc tơ. Trong
đó hình tròn màu hồng biểu diễn một toán tử đối với véc tơ như phép cộng véc tơ, phép nhân vô hướng các véc tơ. Màu vàng thể hiện hàm activation mà mạng nơ ron
sử dụng để học trong tầng ẩn, thông thường là các hàm phi tuyến sigmoid và tanh. Kí
Hình 3.10 Sự lặp lại kiến trúc module trong mạng RNN chứa một tầng ẩn
thẳng rẽ nhánh thể hiện cho nội dung véc tơ trước đó được sao chép để đi tới một phần
khác của mạng nơ ron.
Cũng sử dụng bộ cơ sở dữ liệu của camera Kinect ở chương trước, sau khi được
ước lượng trong không gian 3D để có các tọa độ chuẩn hơn thì lựa chọn ra 14 điểm
key có khả năng mô tả đăc trưng của thế võ nhằm làm giảm kích thước đầu vào của
mạng nơ-ron. Tại frame đầu tiên của mỗi video, chọn đường thẳng đi qua đầu và bụng
làm trục tham chiêu cho sự thay đổi vị trí của các điểm trên cơ thể, từ đó ta tính đươc
vị trí của mỗi điểm cơ thể tại các frame khác nhau. Như vây mỗi frame được quy đổi
thành một vector 14 chiều ;tương ứng với 14 vị trí của các điểm trên cơ thể. Mỗi video
sẽ được chuẩn hóa thành một ma trận có kích thước 50x14 (Mỗi video có 50 frame).
Ta tiến hành xây dựng mô hình LSTM sử dụng thư viện: Tensorflow.
Số lượng hidenlayer : 32
window size (số lượng frame đưa vào mỗi lần để dự đoán đầu ra): 50.
learning rate : 0,005. Thuật toán tối ưu: Adam. batch size: 100.
Kết quả: khi test trên tập test thế võ công như hình 3.13
Hình 3.11 Sự lặp lại kiến trúc module trong mạng LSTM chứa 4 tầng ẩn (3 sigmoid
và 1 tanh) tương tác
Hình 3.12 Diễn giải các kí hiệu trong đồ thị mạng nơ ron
Kết quả cho thấy hiệu quả nhận dạng động tác tấn công khi chạy trên mạng nơ
ron LSTM có hiệu quả cao, nhất là khi số liệu tọa độ của các điểm đã được ước lượng
thì có hiệu quả cao hơn về độ chính xác phát hiện động tác.
3.4.2 Chấm điểm động tác võ cổ truyền Việt Nam
Trong công việc này, nghiên cứu áp dụng hệ thống chấm điểm động tác tĩnh của con người dựa trên khung xương của camera Kinect của tác giả Linwan Liu [93] để
thực hiện xây dựng chương trình chấm điểm động tác một bài Võ cổ truyền Việt Nam
bằng cảm biến Kinect của MS để lấy được các dữ liệu khung xương để tiến hành đối
chiếu với dữ liệu mẫu và tiến hành chấm điểm. Đóng góp chính của công việc này được
đưa ra dưới đây:
Thực hiện nhận dạng chấm điểm các động tác võ của một bài võ theo cơ sở dữ liệu mẫu 3-D cho trước.
Hình 3.13 Kết quả nhận dạng trên tập Test thế võ công.
Hình 3.14 Kết quả nhận dạng trên tập Test thế thủ.
cho chương trình thể dục giữa giờ được đưa vào chương trình học của các trường
phổ thông từ năm 2016.
Xây dựng chương trình phần mềm để người dùng có thể chọn độ khó của việc
chấm thông qua các thông số nhập vào.
Nghiên cứu đã thu thập 36 động tác được đưa ra bởi một võ sư đó là được cho là có cùng mức hiệu suất (Hình 3.15). Nghiên cứu thiết lập đầu vào của người dùng Dst = 50, Sst = 80, M = 35 và 36 bằng cử chỉ lớp (3.10).
Qua khảo sát thì các thế võ liên tục sẽ có thời gian dừng để chuyển qua thế khác,
tại vị trí dừng này tư thế sẽ được so sánh với mẫu và chấm điểm, như minh họa trong Hình 3.16.
Hình 3.17 cho thấy một số kết quả trong đó các động tác mà người biểu diễn quay
lưng lại với camera thì điểm số không cao như các động tác trực diện. Cũng như một
Hình 3.15 Lấy mẫu chuẩn.kể. kể.
Các hệ thống chấm điểm được phát triển trên nền tảng Visual Studio 2013 sử
dụng C . Người dùng sẽ được yêu cầu nhập các tham số trong hộp chỉnh sửa và chọn#
bộ dữ liệu võ tiêu chuẩn từ thư viện trước khi bắt đầu. Người dùng sẽ thực hiện công
việc hiệu chuẩn để sửa trước khi bắt đầu thực hiện các động tác tiếp theo. Các động
tác tiêu chuẩn sẽ lần lượt hiển thị trên màn hình dưới dạng hình ảnh của khung xương (Hình 3.18).
Các học viên sẽ thực hiện liên tục các động tác của mình và camera sẽ chụp và
so sánh các mẫu để xem nó có biểu diễn chính xác như trên màn hình hiển thị hay
không. Nếu các học viên quên động tác, họ có thể nhìn vào các mẫu trên màn hình để thực hiện cho đúng. Sau khi máy tính thu được dữ liệu của người biểu diễn dữ liệu từ
camera, nó sẽ so sánh và ghi điểm ngay lập tức, cứ sau mỗi điểm dừng nó sẽ đọc tới
hình ảnh tư thế tiếp theo trong bộ dữ liệu sau đó đưa ra hình ảnh tiếp theo trên màn
Hình 3.16 Các vị trí dừng để chấm điểm.
Hình 3.17 Thống kê trung bình điểm chấm 36 động tác võ cổ truyền Việt Nam. điểm của người biểu diễn (Hình 3.19).
Trong công việc này đã thực hiện áp dụng công thức chấm điểm động tác người
sử dụng camera Kinect [93] cho động tác võ cổ truyền Việt Nam, đã xây dựng cơ sở dữ
liệu mẫu 3-D của 36 động tác võ giữa giờ đang được đưa vào dạy tại các trường phổ
thông của Việt Nam và phần mềm chấm điểm động tác tĩnh. Đây là bước mở đầu của
việc thực hiện tự rèn luyện và đánh giá võ cổ truyền Việt Nam, góp phần cho việc bảo
tồn và phát triển tinh hoa dân tộc. Chương trình hứa hẹn có nhiều hướng mở rộng khi
có thể tích hợp kiểm tra đánh giá qua mạng sau này. Thống kê cho thấy chương trình
bước đầu đã đánh giá tương đối chính xác các động tác võ. Hệ thống làm việc hiệu
Hình 3.18 Giao diện chương trình chấm điểm.
3.5 Kết luận
Dựa vào kết quả đạt được, một mô hình nhận dạng tư thế người có rất nhiều ứng dụng như:
Hướng dẫn tập tập võ, yoga, vv. Các ứng dụng dạng này có thể chấm điểm, kiểm
tra các động tác có tập đúng hay không.