điểm động tác võ 3.3.1 Nhận diện động tác tấn công 3.3.1.1 Xử lý dữ liệu
Chuẩn bị tập mẫu như đã giới thiệu trong chương 1, camera Kinect cho phép theo
dõi khung xương của người đứng trước camera, cụ thể là với mỗi khung hình camera
Kinect thu được 20 khớp xương tương ứng với 20 tọa độ (x, y, z). Mỗi khớp có mỗi ID
khác nhau và có gốc với ID là giữa hông. Dữ liệu thu được sau khi lấy tọa độ của 20
điểm trên cơ thể sẽ được xử lý ở chương 2 sau mỗi đó động tác được ghi vào file text,
sau đó gán nhãn cho từng động tác: động tác công gán nhãn là 1, thủ được gán nhãn
là 0. Tập dữ liệu được chia thành tập training bao gồm 289 động tác và tập test bao
gồm 66 động tác. Mỗi tư thế được thu ở khoảng cách 2.5 m ± 0.2 m và 3.3 m ± 0.2 m, được thể hiện trong Hình 3.3.
3.3.1.2 Trích xuất đặc trưng cơ thể người với camera Kinect
Trong nghiên cứu này đề xuất phương pháp dựa trên tọa độ của 20 khớp xương
để trích đặc trưng tư thế người từ dữ liệu thu được từ camera Kinect sử dụng vị trí
tương đối (Relative Position). Phương pháp sử dụng tọa độ với 3 giá trị (x, y, z) của
Hình 3.3 Thu thập dữ liệu. bụng.
Kinect SDK (Software Development Kit) xử lý và cung cấp cho chúng ta dữ liệu
với tốc độ 30 khung hình mỗi giây. Mỗi khung hình sẽ được xử lý bởi giải pháp đề xuất
và xác định trong hình đó có xuất hiện việc tấn công hay không. Đối với các khớp được
theo dõi trên khung xương, sẽ có 4 mẫu dữ liệu tương ứng được thu thập từ Kinect:
các tọa độ (x, y, z) của khớp và thông tin theo dõi của khớp đó. Các tọa độ(x, y, z) là
tọa độ Descartes và thiết bị Kinect được đặt ở gốc tọa độ.
Trong quá trình thực thi, hệ thống liên tục theo dõi tư thế của người trong tầm nhìn camera, đồng thời tính toán vận tốc trung bình các khớp trong một số khung
hình liên tiếp gần nhất. Hệ thống theo dõi và đưa ra cảnh báo khi vận tốc đó đạt giá
trị vượt trên một ngưỡng định trước với giả định rằng đòn tấn công đã xảy ra.
Khung xương dữ liệu đầu vào bản chất là một tập có thứ tự các đỉnh tương ứng
với các vị trí khớp trên cơ thể con người. Ngoài ra có thể xét thêm các cạnh với tiêu
chí thể hiện sự nối tiếp giữa các vị trí khớp. Khi con người thực hiện một hành vi cụ
thể nào đó, xét về ngữ nghĩa toán học, các tọa độ trong không gian của các vị trí khớp
này sẽ thay đổi theo một số quy tắc nhất định. Chính những sự thay đổi này sẽ có ý
nghĩa phân biệt giữa hành vi này với hành vi khác, như thể hiện trong Hình 3.4.
Dựa trên những phân tích như vậy, ta có thể dựa trên những sự khác biệt trong
tương quan giữa các tọa độ trong không gian của tập các đỉnh để tạo ra những đặc
trưng không gian có khả năng phân biệt giữa các hành vi [45],[46]. Trong trường hợp
này, ta sử dụng những sự khác biệt đơn giản và dễ hình dung đến theo tư duy thông
thường của con người, đó là khoảng cách giữa hai điểm, diện tích một tam giác, độ lớn
góc giữa hai cạnh. Ví dụ như khi một người co chân lại, rõ ràng là khoảng cách giữa
gót chân và mông sẽ nhỏ hơn so với khi đứng; khi thực hiện đấm, góc giữa cẳng tay so
với thân người sẽ lớn hơn so với khi đứng duỗi tay. . . Trong bài toán này, các đặc trưng được lựa chọn sử dụng:
Hình 3.4 Thể hiện tọa độ trên khung xương. a. Đặc trưng góc
Đặc trưng được tính dựa trên góc giữa hai vector. Cụ thể, với đầu vào là 4 đỉnh
A, B, C, D trên khung xương như trong công thức (3.2) và minh họa như Hình 3.5.
ANGLE F EAT URE A, B, C, D_ ( ) = 1 if cos(AB, CD)>0 0 otherwise
(3.2)
Như vậy, nếu 2 vector AB,CD tạo thành một góc nhọn, giá trị đặc trưng sẽ là 1,
ngược lại là 0.
b. Đặc trưng cạnh
Hình 3.5 Minh họa đặc trưng góc khuỷu tay. Đường màu đen thể hiện đặc trưng về góc khuỷu tay.
là 4 đỉnh A, B, C, D trên khung xương:
EDGE F EAT URE A, B, C, D_ ( ) = 1 if (AB-CD)>0 0 otherwise
(3.3)
Như vậy, nếu đoạn thẳng AB dài hơn đoạn thẳng CD, giá trị đặc trưng sẽ là 1,
ngược lại là 0.
c. Đặc trưng tam giác
Đặc trưng được tính dựa trên diện tích của tam giác được tạo thành bởi 3 đỉnh. Cụ
thể, với đầu vào là 6 đỉnh A, B, C, D, E, F trên khung xương:
T RIAN F EAT U RE A, B, C, D, E, F_ ( ) = 1 if S4ABC −S4DEF > 0 0 otherwise
(3.4)
Như vậy, nếu tam giác ABC có diện tích lớn hơn tam giác DEF, giá trị đặc trưng
sẽ là 1, ngược lại là 0.
Dễ dàng nhận thấy do khung xương bao gồm nhiều điểm nên những đặc trưng
được sử dụng sẽ có rất nhiều và thường khả năng phân biệt cũng không phải là mạnh,
dạng các hành vi. Để sử dụng các đặc trưng này, ta cần 1 cách để kết hợp 1 nhóm các
đặc trưng như vậy lại để tạo 1 bộ phân lớp hiệu quả hơn, trong này các đặc trưng được đưa vào các nút của cây quyết định.
Sau khi đã trích đặc trưng, giai đoạn kế tiếp là huấn luyện một mô hình phân lớp
có khả năng nhận dạng đúng tư thế dựa trên các đặc trưng. Phần này sẽ trình bày mô hình.
Việc học cây được thực hiện với việc học từng nút và với mỗi hành động cụ thể
ta sẽ học một bộ phân lớp riêng để phân biệt nó với các hành động còn lại. Mỗi nút
được học với một tập huấn luyện có dạng như sau: M = (S, a, w) i, i = 1, N . Trong¯
đó, (S, a, w)i là mẫu thứ của của tập huấn luyện. Trong mẫu này, i S là mẫu khung
xương đầu vào – chính là một tập có thứ tự các đỉnh trong không gian 3 chiều, a là
giá trị nhãn của hành động, w sẽ là trọng số đánh giá mức độ ảnh hưởng của mẫu i
trong quá trình học. Như vậy, nhãn của hành động sẽ nhận giá trị là 1 hoặc 0 tùy vào
mẫu khung xương có thuộc vào loại hành động đang xét hay không.
Vì số lượng đặc trưng rất nhiều, nên khi học cây cần thực hiện lựa chọn tự động đặc trưng phù hợp nhất cho từng nút theo từng bước xây dựng cây. Sự phù hợp nhất
này sẽ mang ý nghĩa là cực tiểu giá trị sai số phân chia khi sử dụng một đặc trưng để
phân chia tập huấn luyện. Sau khi sử dụng một đặc trưng, tập huấn luyện M sẽ được
phân chia thành 2 tập con M 0 và M1 tương ứng với kết quả phân chia ra nhãn 0 và 1.
Sai số phân chia sẽ được tính bằng tổng sai số trên hai tập con M0 và M1. Cụ thể hơn
sai số trên tập con M i được tính theo công thức (3.5).
E M( i) = X
((S,a,w)∈M i)
w∗(a−¨ai) (3.5)
Trong đó, ¨a ilà kỳ vọng của các giá trị nhãn trong tập con M i. Bằng cách như vậy,
tại mỗi nút, ta có thể chọn được một đặc trưng không gian phù hợp nhất để cực tiểu
sai số phân chia. Sau khi phân chia, 2 tập con M 0 và M1 sẽ tiếp tục là đầu vào cho
việc học hai nút cho của nút vừa học. Quá trình học kết thúc khi cây đã đủ độ cao
hoặc tập huấn luyện không còn phân chia được nữa. Thuật toán học tại mỗi nút được
mô tả như trong thuật toán 3.1
Trong hàm trên, mean labels M_ ( ) là hàm tính kỳ vọng các nhãn trong tập
M split error M, f, _ ( ) là hàm tính sai số phân chia của tập M với đặc trưng ,f
Algorithm 3.2: Thuật toán học tại mỗi nút của cây quyết định.
Input: Tập M, độ cao d của cây hiện tại
Output: Đặc trưng F hoặc giá trị trả về v nếu là nút lá
Các bước: 1. if | |M ≤1 OR d≥MAX_DEP T H : 2. v = mean_labels M( ) 3. return 4. F =N one
5. best err M AX_ = _V ALU E
6. for each f in F EAT URE SET :_ 7. err split= _error M, f( )
8. if err < best err :_ 9. best err err_ =
10. F = f 11. M0, M1 = split data_ (M, F ) 12. learn node M , d_ ( 0 + 1) 13. learn node M , d_ ( 1 + 1)
3.3.2 Mô hình chấm điểm động tác võ cổ truyền
3.3.2.1 Mô tả động tác người
Việc xác định động tác người không phải là vấn đề đơn giản trong nhận dạng đối
tượng. Chúng ta phải chọn một bộ cơ sở dữ liệu thích hợp để cho một hành động đại
diện chính xác duy nhất. Khi đó cử chỉ mô tả cần chứa đầy đủ các đặc trưng của hành
động để có thể phân biệt sự khác nhau của chúng và các mô tả phải bất biến khi vị trí đứng của người hay tầm vóc của người thay đổi khác.
a.Vị trí các khớp Camera Kinect cho kết quả tọa độ của 20 khớp xương xác định
trong thời gian thực tạo thành một bản đồ khung xương của người biểu diễn [97] (Hình.
3.6). Các tọa độ của 20 khớp là duy nhất và hoàn toàn có thể đại diện cho một động
tác, và các thiết lập dữ liệu là tương đối nhỏ cho máy tính. Nhưng việc mô tả thay
đổi dựa trên thay đổi hình học các điểm ảnh là rất khó để xác định các số liệu khoảng cách.
b.Véc tơ chi
Camera Kinect thu nhận và cho chúng ta tọa độ các khớp xương nên chúng ta
sử dụng các vector chi để biểu diễn hình ảnh khung xương của người biểu diễn. Một
vector chi được định nghĩa là các đoạn đường nối giữa 2 khớp xương với nhau (Hình
3.7). Như các vector hình học, vector mô tả đại diện cho duy nhất một cử chỉ mà không
dịch chuyển hay thay đổi tỷ lệ. Chuyển động cơ thể cũng có thể được mô phỏng hoàn hảo bằng chuyển động quay của mỗi vector xung quanh khớp ban đầu của nó. Xem
xét các đặc điểm của chuyển động của con người và cấu trúc cơ thể, chúng ta có thể 1
Hình 3.6 Vị trí các khớp xương mà camera Kinect cung cấp.
giảm dữ liệu dư thừa bằng cách phân tích các vectơ chi trong các nhóm khác nhau.
1) Véc tơ đầu mình: Véc tơ đầu mình bao gồm các đoạn bên trong đầu, vai và hông
(Hình 3.7, với điểm đầu cuối màu đỏ)...vv, véc tơ này ít khi thể hiện chuyển động
riêng lẻ và mạnh. Xoay và uốn cong của phần thân thể này gắn chung với tứ chi.
Do đó, nghiên cứu loại bỏ các véc tơ này khỏi nhóm đại diện.
2) Véc tơ cấp độ 1: Véc tơ cấp độ 1 bao gồm khuỷu tay và đùi (Hình 3.7, với điểm
đầu cuối màu cam)...vv, véc tơ cấp độ 1 chứa rất nhiều thông tin của những
chuyển động và cử chỉ. Do đó, nghiên cứu sắp xếp chúng trong nhóm đại diện.
3) Véc tơ cấp độ 2: Véc tơ cấp độ 2 bao gồm cánh tay và cẳng chân(Hình 3.7, với
điểm đầu cuối màu xanh)...vv, véc tơ cấp độ hai được kéo dài ra hơn so với vector
cấp độ 1, và chúng tạo ấn tượng thị giác đáng kể. Do đó, nghiên cứu xếp chúng trong nhóm đại diện.
4) Bàn tay và bàn chân: Kinect có thể theo dõi bàn tay và bàn chân nút (hình 3.7,
các nút màu đen), nhưng trong quá trình thu nhận thường không ổn định...vv.
Hình 3.7 Dữ liệu khung xương Kinect và véc tơ chân tay.
Bảng 3.1 Thể hiện tám véc tơ chi 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