Các nghiên cứu liên quan

Một phần của tài liệu Về mô hình nhận dạng tư thế võ dựa trên ảnh chiều sâu758 (Trang 54)

2.1 Ước lượng khung xương trong không gian 2-D

2.1.2 Các nghiên cứu liên quan

Hiện nay có rất nhiều nghiên cứu về phát hiện, nhận dạng và dự đoán các hành

động của con người. Các nghiên cứu này được áp dụng trong nhiều ứng dụng thực tế

cho con người như: Rantz và các đồng nghiệp [1] đã đề xuất hệ thống tự động phát

hiện sự kiện ngã trong phòng của bệnh viện. Hệ thống sử dụng các gia tốc kế không

giây được gắn trên người bệnh nhân và được so sánh với gia tốc của dữ liệu thu được

từ cảm biến Kinect gắn trên tường. Đồng thời hệ thống cũng tính khoảng cách giữa

người và giường bệnh để phát hiện sự kiện ngã của bệnh nhân. Đặc biệt ở Việt Nam [6], [8] cũng như nhiều nước trên thế giới như Trung Quốc [12], Nhật bản, Thái Lan

có rất nhiều tư thế võ hay các bài võ vần được bảo tồn và truyền lại cho hậu thế. Việc

bảo tồn và lưu trữ trong thời đại công nghệ phát triển có thể được thực hiện bằng cách

lưu lại các hành động của Võ sư dưới dạng các khớp xương. Dữ liệu thu được từ cảm

biến Kinect phiên bản 1 thường có chứa rất nhiều nhiễu và bị mất khi bị che khuất.

Đặc biệt là dữ liệu khung xương (skeleton) của người. Nên việc ước lượng được khung

xương trong đó các điểm xương là các điểm đại diện (keypoint) trên cơ thể người là rất quan trọng.

Để ước lượng tư thế, khung xương của người trên ảnh hoặc video thường sử dụng hai hướng tiếp cận chính: hướng tiếp cận cổ điển và hướng tiếp cận sử dụng học

sâu. Trong hướng tiếp cận thứ nhất, Umer và các cộng sự [25] sử dụng quy hồi rừng

(Regression Forests) để ước lượng hướng của người sử dụng ảnh độ sâu (depth image)

thu được từ Kinect phiên bản 2. Việc học được thực hiện trên các bộ phận của người

đã được gán nhãn, với 1000 mẫu vị trí điểm ảnh trên ảnh độ sâu. Tuy nhiên kết quả

trung bình cao nhất chỉ đạt được độ chính xác (accuracy) là 35.77%.

Yang và các cộng sự [106] sử dụng mô hình hỗn hợp gồm các bộ phận thể hiện

mối quan hệ chung phức tạp giữa các bộ phận trên cơ thể người. Các mô hình phần

biến dạng là một tập hợp các mẫu được sắp xếp theo cấu hình có thể biến dạng và mỗi

mô hình có một mẫu toàn cục + một mẫu các thành phần. Các mẫu này được khớp

với nhau trong một hình ảnh để nhận dạng/phát hiện một người trong ảnh. Mô hình

dựa trên một phần có thể mô hình khớp nối tốt. Tuy nhiên, điều này đạt được với chi

phí thời gian lớn và chưa tính đến bối cảnh rộng. Kết quả phát hiện các bộ phận của

cơ thể người là 99.6% gần như tuyệt đối.

Dựa trên các kết quả phát hiện các bộ phận trên cơ thể người rất cao như trong

nghiên cứu của [106] thì Dantone và các cộng sự [107] đã đề xuất một hướng tiếp cận

để có được các các mẫu bộ phận của cơ thể tốt cho việc huấn luyện mô hình bằng cách

đề xuất các hồi quy chung phi tuyến tính mới. Đặc biệt, các tác giả đã sử dụng hai lớp

rừng ngẫu nhiên để quy hồi khớp. Lớp thứ nhất hoạt động như một bộ phận cơ thể độc lập, không phụ thuộc vào bộ phân lớp bộ phận người. Lớp thứ hai đưa các phân

phối lớp ước lượng của lớp thứ nhất vào bộ đếm và do đó có thể dự đoán các vị trí

bằng cách mô hình hóa sự phụ thuộc lẫn nhau và sự xuất hiện của các bộ phận trên cơ thể người.

Hiện với sự phát triển mạnh mẽ của học sâu (deep learning) nên việc ước lượng

các điểm đại diện, khung xương trên cơ thể người cũng được thực hiện nhiều. Daniil

[116] đã giới thiệu một mạng nơ ron tích chập mới cho việc học các đặc trưng trên tập

dữ liệu điểm đại diện như: vị trí của các điểm đại diện, quan hệ giữa các cặp điểm trên

cơ thể người. Mạng mới này dựa trên bộ công cụ OpenPose [29] và có thể thực hiện

Hình 2.2 Minh họa bản đồ các điểm nổi bật được tạo ra từ ảnh cơ thể người. Trong

đó mỗi vùng điểm nổi bật là một ứng cử viên vị trí của các điểm đại diện [109].

liệu có nhiều người COCO 2016 [23]. Đây là bộ cơ sở dữ liệu rất lớn được đánh nhãn

với hơn 150 nghìn người với 1.7 triệu nhãn các điểm đại diện. Kyle và các cộng sự [115]

đã sử dụng mạng nơ ron tích chập (convolutional neural network) để học từ dữ liệu

các điểm đại diện của cơ thể người đã được đánh dấu và trích xuất từ dữ liệu nối lên

khi chiếu hai camera vào người. Sau đó kết quả được chiếu sang không gian 3-D và sử

dụng thuật toán bình phương khoảng cách tối thiểu để đánh giá kết quả ước lượng.

Cao và các cộng sự [24] sử dụng mạng nơ ron tích chập để học vị trí của các điểm đại

diện trên cơ thể người và các phép biến đổi hình học của các đường nối các cặp điểm

đại hiện có quan hệ kết nối trên cơ thể người.

Toshev và các cộng sự [108] đã ước lượng tư thế, khung xương người dựa trên việc

coi khung xương người là một vấn đề hồi quy dựa trên CNN đối với các khớp của cơ

thể. Các tác giả cũng sử dụng một loạt các biến hồi quy như vậy để hiệu chỉnh các

ước lượng tư thế, khung xương và có được ước lượng tốt hơn. Một điều quan trọng

mà phương pháp này thực hiện là dựa trên tư thế, khung xương toàn diện, tức là khi

các khớp xương bị che khuất, chúng có thể được ước lượng nếu tư thế, khung xương

đó được suy luận từ cấu trúc tổng thể. Mô hình trong nghiên cứu này được thực hiện

trên mạng AlexNet backend (7 lớp), trong đó lớp cuối cùng sử dụng để bổ trợ cho mô

hình đưa ra 2000 tọa độ khớp nối.

Tompson và các cộng sự [109] đã tạo ra các bản đồ điểm nổi bật (heatmaps) bằng cách chạy một hình ảnh thông qua nhiều độ phân giải khác nhau song song để thu

thập đồng thời các đặc trưng ở nhiều tỷ lệ khác nhau. Đầu ra là một bản đồ các điểm

nổi bật rời rạc thay vì là hồi quy liên tục. Một bản đồ các điểm nổi bật dự đoán xác

suất của khớp xảy ra ở mỗi điểm ảnh. Trong đó mỗi vùng nổi bật trên bản đồ là một

ứng cử viên của vị trí các điểm đại diện trên cơ thể người. Ví dụ bản đồ các vùng nổi

bật được tạo ra như ở hình 2.2.

Cùng với hướng tiếp cận học trên và phát hiện ra các bản đồ các điểm nổi bật

(heatmap), Wei và các cộng sự [110] đã đề xuất một mạng mà huấn luyện làm nhiều

giai đoạn trên tập đặc trưng của ảnh. Chúng cung cấp một khung dự đoán tuần tự để tập trung vào học các mô hình các khả năng dự đoán cao (xác xuất cao). Các bản đồ

các điểm nổi bật là đầu ra của giai đoạn trước là đầu vào của các giai đoạn sau. Trong

đó kết quả ước lượng cao nhất của mô hình này trên bộ dữ liệu MPII [103] là 87.95%.

Ngoài ra, còn các mạng nơ ron tích chập khác được đề xuất cho việc ước lượng tư thế, khung xương người trên ảnh [111], [112], [113], [114].

Đặc biệt, cơ sở dữ liệu về điểm đại diện của người COCO [23], [14], [13] đã được

phát triển trong nhiều năm. Các cơ sở dữ liệu này được thu thập từ rất nhiều người

và cũng có rất nhiều thách thức cho việc ước lượng các hoạt động của người.

2.1.3 Sử dụng học sâu cho việc ước lượng các hành động trong bài võ cổ

truyền trong không gian 2-D

2.1.3.1 Phương thức

Hành động của cơ thể người được phát hiện và nhận dạng cũng như dự đoán, ước

lượng dựa trên các bộ phận của cơ thể người (body part). Các bộ phận được cấu thành

dựa trên sự liên kết giữa các điểm đại diện (Key points). Trong đó mỗi một bộ phận được thể hiện bằng một vector Lc trong không gian 2-D (không gian ảnh) trong một

tập hợp các vector trên cơ thể người , trong đó tập hợp các vectorS L L= 1, L2, ..., L C,

có C vector trên cơ thể người . Trong đó cơ thể ngườiS S được thể hiện bằng J điểm

đại diện (Key points), S = 1 2S , S , ..., SJ. Với một ảnh đầu vào có kích thước là w×h

thì vị trí của các điểm đại diện có thể là Sj R w h× , j 1 2, , ..., J như trong hình 2.3.

Tiếp theo là sự so sánh (matching) giữa các bộ phận tương ứng trên cơ thể của các

người khác nhau được tính toán dựa trên phép biến đổi ánh xạ (affine). Trong nghiên

cứu này sử dụng hoàn toàn mạng nơ ron tích chập đã được thiết kế và tính toán trong

[24] để thực hiện việc học bộ ước lượng các vector trong .L

Như Hình 2.4, CNN này bao gồm hai nhánh thực hiện hai công việc khác nhau.

Từ dữ liệu đầu vào, một tập hợp các bản đồ đặc trưng Fđược tạo từ phân tích hình

ảnh, sau đó các bản đồ độ tin cậy và phép biến đổi hình học này được phát hiện ở giai đoạn đầu tiên. Các điểm đại diện trên dữ liệu huấn luyện được hiển thị trên bản đồ

độ tin cậy như được hiển thị. Những điểm này được huấn luyện để ước lượng các điểm

đại diện trên hình ảnh màu. Nhánh đầu tiên (nhánh trên cùng) được sử dụng để ước

lượng các điểm đại diện, nhánh thứ hai (nhánh dưới cùng) được sử dụng để dự đoán các khớp tương ứng với nhiều người.

Trong đó chi tiết của mô hình học và dự đoán (Hình 2.5) được thể hiện như sau:

Với ảnh đầu vào ở giai đoạn 1 (stage 1) là ảnh với 3 kênh màu và có kích thước là

h w× và các đặc trưng được trích chọn từ việc nhân chập với các mặt nạ có kích thước

9×9 2, ×2 5, ×5 cho bộ huấn luyệnX như trong hình 2.6. Với mỗi một mặt nạ sẽ có

được một vùng cửa sổ (patch) và mô hình học g 1, g2 ở mỗi giai đoạn sẽ dự đoán bản đồ các vùng nổi bật (heatmaps) như b 1, b2 ở mỗi giai đoạn trong Hình 2.5. Như Hình 2.5,

Hình 2.3 Minh họa đánh nhãn các điểm đại diện trên dữ liệu ảnh của người. Các

điểm màu đỏ là các điểm đại diện trên cơ thể người. Các đoạn màu xanh thể hiện sự

kết nối giữa các bộ phận trên cơ thể người.

2.6, Convolutional Pose Machines (CPM) bao gồm ít nhất 2 giai đoạn, số lượng giai

đoạn là một siêu tham số (thông thường là 3 giai đoạn). Giai đoạn thứ hai lấy kết quả

bản đồ dự đoán vùng nổi bật (heatmaps) của giai đoạn một và ảnh đầu vào ban đầu

làm đầu vào. Mô hình mạng CPM bao gồm 5 lớp tích chập như thể hiện trong nhánh 1 trong Hình 2.4.

Mô hình được huấn luyện và kiểm tra kết quả thử nghiệm được dựa trên bộ công

cụ [22]. Bộ công cụ này được cài đặt trên hệ điều hành Ubuntu 16.2 và được hỗ trợ

bởi một số thư biện như sau: Thư viện C++ OpenPose (chỉ dành riêng cho chạy kiểm tra) [133]; Tensorflow (phiên bản 1.8); Pytorch (phiên bản 1); Caffe2 (phiên bản 1)

; Chainer (phiên bản 1) ; MXnet (phiên bản 1); MatConvnet (phiên bản 1); CNTK

(phiên bản 1). Chi tiết được trình bày trong bài báo [23], [24]. Công cụ huấn luyện

và kiểm tra được viết trên ngôn ngữ Python/Matlab/c++ và chạy trên máy chủ với

cấu hình được liệt kê như sau: Intel (R) Xeon (R) CPU E5-2420 v2 @ 2.20GHz 16GB RAM, GPU GTX 1080 TI-12GB Memory.

Kết quả ước lượng khung xương là 25 điểm đại diện, được sắp xếp như sau: "mũi", "cổ", "vai phải", "khuỷu tay phải", "cổ tay phải", "vai trái", "khuỷu tay trái", "trái"

cổ tay "," giữa hông "," hông phải "," đầu gối phải "," mắt cá chân phải "," hông trái

"," đầu gối trái "," mắt cá chân trái "," mắt phải "," mắt trái "," phải tai "," tai trái "," ngón chân trái, "ngón chân trái", "gót chân trái", "ngón chân phải", "ngón chân phải", "gót chân phải". Kết quả ước lượng được minh họa trong Hình 2.7.

Input image Confidence maps Affinity fields

Hình 2.4 Kiến trúc mạng nơ ron tích chập cho việc ước lượng các điểm đại diện S t,

và các bộ phận phù hợp trên cơ thể người khác nhau [24].

Hình 2.5 Minh họa chi tiết mô hình dự đoán vùng các điểm nổi bật (heatmaps) [110].

Các tham số huấn luyện của mạng nơ ron tích chập được thể hiện như sau: Kích

thước ảnh đầu vào là (rộng: 368×cao:368× số kênh màu: (R,G,B));3 batchSize = 16;

stacks = 4; Số giai đoạn là 6 cho việc gộp; Số lớp nơ ron tích chập là 5; vv. Chi tiết

các tham số khác được thể hiện trong đường dẫn sau: https://github.com/ZheC/ Realtime_Multi-Person_Pose_Estimation/blob/master/training/example_proto/ pose_train_test.prototxt

Trong luận án này cũng tìm hiểu mạng nơ ron tích chập có hiệu năng được đánh

giá là cao nhất cho việc ước lượng khung xương, tư thế người [114]. Trong bài báo

này, các tác giả đã đề xuất một mạng nơ ron tích chập mới có tên là HRNet (High-

Resolution Network). Mạng này được đánh giá là chính xác hơn toàn bộ các mạng hiện

có có cho việc ước lượng khung xương, tư thế người, phát hiện các điểm đại diện của

khung xương người trên bộ cơ sở dữ liệu kinh điển COCO [23]. HRNet thực hiện theo

một ý tưởng đơn giản. Bình thường hầu hết các mạng khác đi từ việc biểu diễn ảnh

các cửa sổ nhân chập theo hướng: từ độ phân giải cao đến độ phân giải thấp

Hình 2.6 Minh họa chi tiết mô hình trích chọn đặc trưng cho việc huấn luyện mô

hình dự đoán các vùng nổi bật (heatmaps) ở từng giai đoạn [110].

giai đoạn của mô hình. Kiến trúc bắt đầu từ một mạng con độ phân giải cao như giai

đoạn đầu tiên và dần dần thêm các mạng con độ phân giải cao với các kích thước khác

nhau lần lượt tạo thành nhiều giai đoạn hơn và kết nối song song các mạng con đa độ phân giải như thể hiện trong Hình 2.8.

Sự hợp nhất nhiều quy mô được lặp đi lặp lại được thực hiện bằng cách trao đổi

thông tin qua các mạng con đa độ phân giải song song qua toàn bộ quá trình. Một vấn

đề khác của HRNet là kiến trúc này không sử dụng giám sát bản đồ các vùng nổi bật

trung gian, không giống như mô hình đồng hồ cát xếp chồng (Stacked Hourglass). Bản

đồ các vùng nổi bật được hồi quy bằng cách sử dụng hàm sai số toàn phương trung bình MSE (Mean squared error).

Toàn bộ quá trình cài đặc và thực hiện mạng HRnet được thể hiện trong đường dẫn sau:https://github.com/leoxiaobin/deep-high-resolution-net.pytorch. Tuy nhiên

một vấn đề đặc biệt của mạng này là chạy song song tối thiểu trên 4 GPU nên yêu cầu

về phần cứng của mạng này là rất lớn. Nên trong nghiên cứu này không chạy thực tế được hiệu năng của mạng này cho việc ước lượng khung xương của người trên ảnh.

Để trực quan hóa các kết quả ước lượng khung xương ở từng bước trong quá trình

ước tính tư thế con người 3-D, nghiên cứu sinh đề xuất một nghiên cứu so sánh về ước

lượng tư thế, khung xương người trong không gian 2-D (Nghiên cứu so sánh 2-D), nó được hiển thị trong Hình. 2.9.

Trong Hình 2.9, luận án đánh giá theo hai phương thức: Phương thức đầu tiên

(Phương thức 1 - Method 1) sử dụng mạng CNN CPM được huấn luyện trên trên

cơ sở dữ liệu COCO [23]; Phương thức thứ hai (Phương thức 2 - Method 2) sử

dụng mạng CNN CPM được huấn luyện trên trên cơ sở dữ liệu Human 3.6M [85]. Kết

quả ước lượng khung xương, tư thế người trong không gian 2-D với tọa độ của từng điểm đại diện ước lượng được (x i, yi) trên hình ảnh màu, sau đó chúng được kết hợp

với điểm ảnh có tọa độ (x i, yi) trên hình độ sâu theo phương trình (1.3) để tạo ra điểm đại diện (X p, Yp, Zp) trong không gian 3-D.

Một phần của tài liệu Về mô hình nhận dạng tư thế võ dựa trên ảnh chiều sâu758 (Trang 54)

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

(148 trang)