2.1 Ước lượng khung xương trong không gian 2-D
2.1.3.2 Cơ sở dữ liệu các bài võ cổ truyền
Võ cổ truyền là một môn thể thao rất quan trọng giúp con người rèn luyện sức
khỏe và tự vệ. Ở rất nhiều quốc gia trên thế giới, đặc biệt là Châu Á có rất nhiều môn
võ cổ truyền được lưu truyền từ đời này sang đời khác. Với sự phát triển của công
nghệ thì việc lưu trữ và bảo tồn, cũng như dạy các thế võ này là rất quan trọng [15],
[16]. Hiện nay cũng có rất nhiều loại cảm biến hình ảnh khác nhau có thể thu thập
được thông tin về việc dạy và học võ của các võ đường. Trong đó cảm biến Kinect
phiên bản 1 là lại cảm biến giá rẻ nhất hiện nay. Đây là loại cảm biến có thể thu thập được nhiều thông tin như ảnh màu, ảnh độ sâu, khung xương, gia tốc trọng trường,
âm thanh, vv. Để thu thập và đồng bộ dữ liệu từ cảm biến MS Kinect phiên bản 1,
nghiên cứu sinh sử dụng công cụ thu thập dữ liệu đã được phát triển tại viện nghiên
cứu quốc tế MICA, Đại học Bách khoa Hà Nội [19]. Bộ công cụ được phát triển dựa
trên môi trường lập trình MS Visual Studio bản từ 2010 trở lại đây với sự hỗ trợ của
bộ thư viện OpenCV và bộ thư viện Nui của MS Kinect SDK 1.8 với ngôn ngữ lập
trình C++. Bộ công cụ này sử dụng bộ tham số đã được công bố của Nicolas [30] để
hiệu chỉnh ảnh màu và ảnh độ sâu về cùng một tâm. Đồng thời bộ tham số này cũng
Hình 2.8 Minh họa kiến trúc mạng HRnet [114]. Trong đó chiều ngang và chiều dọc
lần lượt thể hiện độ sâu và biến đổi kích thước cửa sổ của bản đồ đặc trưng.
Từ các dữ liệu thu thập này có thể tái hiện lại môi trường trong không gian 3-D về
việc dạy học võ tại các võ đường.
Do trên cảm biến Kinect phiên bản 1 có gắn một số cảm biến như cảm biến ảnh
màu, ảnh độ sâu, vv. Để thu được dữ liệu từ môi trường cảm biến sử dụng bộ công cụ
MS Kinect SDK 1.8 để kết nối máy tính và cảm biến [17]. Công cụ thu thập dữ liệu,
môi trường, thiết bị, hiệu chỉnh dữ liệu sử dụng trong nghiên cứu này như đã được
trình bày trong phần ngữ cảnh. Môi trường, thiết bị được thể hiện trong Hình 1.5. Môi
trường mà võ sư và các học viên biểu diễn võ thuật có kích thước là 3 3m. Thiết bị×
thu dữ liệu chỉ có một cảm biến MS Kinect được gắn trên giá và được đặt cố định.
Bộ dữ liệu thu được bao gồm 24 cảnh và được gọi tên là "VNMA - VietNam Martial
Arts" với 24 video tương ứng được dẫn link trong Phụ lục. Trong đó, được thu thập
từ 24 người (12 người có giới tính là Nam, 12 người có giới tính là Nữ). 24 người này
có độ tuổi từ 13 đến 20 tuổi (là học viên lớp võ cổ truyền). Luận án thu thập dữ liệu
trên 24 người vì trong lớp võ mà nghiên cứu sinh kết nối xin hợp tác có 24 học viên.
Trong đó, các học viên của lớp võ đã được truyền dạy các bài võ trong thời gian 1
tháng (tức là các học viên của lớp đã có kinh nghiệm cơ bản trong võ thuật). Trong
lớp võ thì các học viên thường mặc quần áo màu xẫm, không bị bóng, chiều cao của
các học viên là từ 1.4-1.7m. Cơ sở dữ liệu này được thu thập tại lớp dạy võ thuật cổ
truyền tại tỉnh Bình Định, Việt Nam. Bình Định là một một tỉnh mà được coi là miền
đất võ nổi tiếng nhất của Việt Nam. Trong mỗi video, mỗi học viên biểu diễn một bài
võ, do đó mỗi khung hình trong video sẽ có một tư thế khác nhau. Cơ sở dữ liệu này
chỉ bao gồm các ảnh có người trong ảnh.
Hu n luy n ấ ệ CPM trên c s d li u ơ ở ữ ệ COCO (Method 1) Hu n luy n ấ ệ CPM trên c s d li uơ ở ữ ệ Human 3.6M (Method 2) Mô hình CNN cho c l ng ướ ượ
các i m i đ ể đạ di n 2-D ệ
K t qu c ế ả ướ l ng khung ượ
x ngươ Ảnh u vàođầ Khung x ng 2-Dươ
K t qu trong ế ả không gian 3-D Ảnh u vào đầ (RGB) Ảnh sâuđộ Chi u k t qu 2-D ế ế ả sang không gian
3-D
Nghiên c u so sánh 2-Dứ
Hình 2.9 Nghiên cứu so sánh cho đánh giá ước lượng khung xương, tư thế trong không gian 2-D.
tư thế người trong không gian 3-D cho việc đánh giá ước lượng khung xương, tư thế người trong không gian 3-D. Dữ liệu gốc của các khớp xương được đánh dấu trên dữ liệu trong không gian 3-D. Để làm được việc này nghiên cứu hiển thị dữ liệu 3-D (dữ
liệu đám mây điểm) của cảnh trên cửa sổ của một chương trình do nghiên cứu phát
triển dựa trên môi trường lập trình Visual Studio và sự hỗ trợ của bộ thư viện PCL [34] với ngôn ngữ lập trình C++. Hình 2.10 minh họa việc làm dữ liệu gốc cho việc
đánh giá ước lượng khung xương, tư thế người trong không gian 3-D. Trong đó nghiên
cứu đánh dấu 17 đại diện (điểm xương) trên cơ thể người. Các điểm xương được đánh
theo thứ tư như trong Hình 2.10. Trong đó, luận án không chọn điểm trên xương sống
mà chỉ chọn điểm ở "Cổ" và "Giữa Hông" vì các điểm trên giữa xương sống gần như
không thay đổi vị trí (xoay và dịch) ra khỏi hai điểm đầu của xương sống là "Cổ" và
"Giữa Hông". Trong một số trường hợp khi dữ liệu bị che khuất nghiên cứu giả sử tay
hoặc chân của người thường nằm sát với cơ thể người và được chọn như trong trường
hợp dữ liệu của tay hoặc chân là nhìn thấy. Hiện tại việc đánh dấu các điểm trong
không gian 3-D là được thực hiện bằng tay và chỉ trên dữ liệu của một phía của cảm
biến MS Kinect. Còn lại khi dữ liệu bị che khuất mà hành động của người là phức tạp thì trong nghiên cứu này nghiên cứu chưa thực hiện được. Để đánh dấu được dữ liệu
trong không gian 3-D khi bị che khuất người ta thường dùng hệ thống MOCAP [101]
cho việc tính toán tọa độ thực tế của tay và chân người trong các trường hợp này.
Trong bộ cơ sở dữ liệu này nghiên cứu cũng cấp cấp dữ liệu đám mây điểm của
(1) (2) (3) (4) (5) (6) (7) (8) (9) (11) (12) (13) (17) (16) (15) (10) (14) C a s ch y ch ng ử ổ ạ ươ trình .exe C a s hi n thử ổ ể ị trong không gian 3-D
Hình 2.10 Minh họa việc đánh dấu dữ liệu gốc về khung xương, tư thế người trong
không gian 3-D. Trong đó thứ tự đánh dấu của các điểm như sau: (1) Đầu, (2) Cổ, (3)
Vai phải, (4) khuyủ tay phải, (5) cổ tay phải, (6) Vai trái, (7) khuyủ tay trái, (8) cổ tay trái, (9) Giữa hông, (10) Hông phải, (11) Đầu gối phải, (12) Cổ chân phải, (13) Ngón chân cái phải, (14) Hông trái, (15) Đầu gối trái, (16) Cổ chân trái, (17) Ngón chân cái trái
bộ cơ sở dữ liệu này được thể hiện trong Bảng 2.1. Toàn bộ cơ sở dữ liệu có thể tải về theo đường dẫn trong Phụ lục.
Bảng 2.1 Số khung hình trong các tư thế võ của cơ sở dữ liệu VNMA.
Video 1 2 3 4 5 6 7 8 9 10 11 12 Số khung hình 50 89 71 77 98 109 87 79 89 76 79 95 Video 13 14 15 16 17 18 19 20 21 22 23 24 Số khung hình 131 71 95 101 108 117 109 112 80 110 96 105
Ngoài ra, nghiên cứu cũng thu thập một tập dữ liệu nhỏ dựa trên cấu hình và
thiết lập môi trường như trong bộ cơ sở dữ liệu VNMA. Tuy nhiên, trong tập dữ liệu
này nghiên cứu thu thập chỉ trên một người có giới tính là Nam, 26 tuổi, quần màu
nâu xẫm, áo màu xanh nước biển. Người này biểu diễn 14 thế võ khác nhau tương ứng
với 14 đoạn video ngắn mà có số khung hình được thể hiện như trong Bảng 2.2. Tập cơ
sở dữ liệu này được gọi là "SVNMA - Small VietNam Martial Arts". Trong đó, nghiên
cứu thực hiện việc đánh nhãn (ground truth) các điểm đại diện của cơ thể người bằng
tay trong trên ảnh (không gian 2-D) như minh họa trong Hình 2.3 và Hình 2.11, với
18 điểm xương trên ảnh. Cơ sử dữ liệu này chỉ bao gồm các ảnh có người trong ảnh.
Hình 2.11 Các điểm đại diện (Key points) trên cơ thể người và nhãn.
Bảng 2.2 Số khung hình trong các tư thế võ của cơ sở dữ liệu SVNMA.
Video 1 2 3 4 5 6 7 8 9 10 11 12 13 14
#Khung
hình 120 74 100 87 80 88 87 74 71 90 100 97 65 68
Cơ sở dữ liệu thứ hai mà luận án dùng đánh giá việc ước lượng khung xương, tư
thế người là MADS- the Martial Arts, Dancing and Sports. [31]. Cơ sở dữ liệu này bao
gồm các video thu thập ở nhiều hướng nhìn (multi-view RGB videos) và một hướng
nhìn (depth videos). Nó bao gồm 5 kiểu hành động thách thức: Tai-chi, Karate, nhảy
Hip-hop (Hip-hop dance), Khiêu vũ và thể thao (Jazz dance and sports). Tốc độ thu
thập dữ liệu là trên các video là (10 khung hình/giây cho võ Tai-chi và Karate; 20
khung hình/giây cho khiêu vũ, nhảy hip-hop và các hành động trong thể thao). Độ
phân giải của ảnh màu và ảnh độ sâu thu được là 1024 768× điểm ảnh. Tuy nhiên,
trong cơ sở dữ liệu lưu trữ ảnh có độ phân giải là 512×384điểm ảnh. Dữ liệu gốc của
bộ cơ sở dữ liệu này được chuẩn bị (đánh dấu) trong không gian 3-D thông qua việc
sử dụng hệ thống MOCAP (MOtion CAPture) [32]. Hệ thống MOCAP sử dụng bảy cảm biến hình ảnh được đặt trên tường xung quanh không gian thu thập dữ liệu của
không gian thu thập dữ liệu và các cảm biến xác định vị trí trên các khớp trên người
biểu diễn võ thuật, khiêu vũ, hành động thể thao.
Hệ thống MOCAP làm việc với tốc độ 60 khung hình/giây. Dữ liệu gốc (đánh dấu)
về vị trí các điểm đại diện với 19 điểm theo thứ tự như sau: "cổ", "xương chậu", "hông
trái", "đầu gối trái", "mắt cá chân trái", "ngón cái chân trái", "hông phải", "đầu gối
phải", "mắt cá chân phải", "ngón chân cái phải", "vai trái", "khuỷu tay trái", "cổ tay trái", "tay trái", "vai phải", "khuỷu tay phải", "cổ tay phải", "tay phải", "đầu".
Trong luận án này chỉ đánh giá các video võ thuật cổ truyền theo một hướng nhìn
trong bộ cơ sở dữ liệu này, chúng bao gồm các video võ Tai-chi và Karate. Các video
để hiệu chỉnh ảnh màu và ảnh độ sâu được thể hiện như sau:
Hm =
331 0 254 097. 0 331 180 032.
0 0 1
(2.1)
Hình 2.12 minh họa dữ liệu đám mây điểm của cảnh khi một người biểu diễn võ thuật Karate. −1000 −800 −600 −400 −200 0 200 400 600 800 −500 0 500 1000 1500 2000 −6000 −4000 −2000 0 x − axis y − axis z − a xi s
Hình 2.12 Minh họa dữ liệu đám mây điểm của một cảnh. Các điểm màu xanh nước
biển là dữ liệu của người trong môi trường 3-D.
Cơ sở dữ liệu huấn luyện:
Như đã trình bày ở trên, phương thức 1 là sử dụng mô hình ước lượng đã được huấn
luyên trên cơ sở dữ liệu COCO [23]. Cơ sở dữ liệu này bao gồm hơn 200k ảnh và 250k
người trên ảnh, trong đó dữ liệu đánh dấu của tập huấn luyện và xác nhận là từ 150k người với 1.7 triệu nhãn của các điểm đại diện. Mỗi người được đánh dấu bởi 17 điểm
đại diện, được sắp xếp theo theo thứ tự như sau: Mũi, mắt trái, mắt phải, tai trái, tai
phải vai trái, vai phải, khuỷu tay trái, khuỷu tay phải, cổ tay trái, cổ tay phải, hông
trái, hông phải, đầu gối trái, đầu gối phải, mắt cá chân trái, mắt cá chân phải. Phương
thức 2 là sử dụng mô hình ước lượng đã được huấn luyện trên cơ sở dữ liệu Human
3.6M [85]. Cơ sở dữ liệu này bao gồm 3.6 triệu ảnh, được thu thập từ 11 người (6 nam,
5 nữ) trong 17 ngữ cảnh khác nhau (thảo luận, hút thuốc, chụp ảnh, nói chuyện điện
thoại, vv). Human 3.6M được thu thập và tính toán trên 15 cảm biến (4 máy quay
video kỹ thuật số, 1 cảm biến thời gian, 10 camera theo vết). Cơ sở dữ liệu này cung
cấp dữ liệu gốc khung xương cả 2-D và 3-D. Số khung hình của dữ liệu huấn luyện
và xác thực theo thứ tự là 35832/19312. Dữ liệu khung xương được đánh dấu với 17
điểm đại diện theo thứ tự như sau: "Xương chậu", "Hông phải", "Đầu gối phải", "Mắt
hông", "Vai trái", "Khuỷu tay trái", "Cổ tay trái", "Vai phải", "Khuỷu tay phải", "Cổ tay phải".