Học máy, học sâu và ứng dụng
Học máy
Trong luận án này điểm qua một số khái niệm cơ bản về học máy, học sâu và các ứng dụng của chúng Trong khoảng gần 30 năm qua, khái niệm, cụm từ "Học máy (máy học) machine learning" đã được nhắc đi nhắc lại rất nhiều trong ngành công nghệ thông tin Chi tiết hơn là khoa học máy tính, trí tuệ nhân tạo Học máy là một lĩnh vực trong trí tuệ nhân tạo [55] Chi tiết hơn "học máy" đã bắt đầu xuất hiện năm 1950 khi nhà bác học Turing đã tạo ra "phép thử Turing" để xác định xem liệu một máy tính có trí thông minh thực sự hay không Để vượt qua bài kiểm tra đó, một máy tính phải có khả năng đánh lừa một con người tin rằng nó cũng là con người.Hay Arthur Samuel năm 1952, đã viết ra chương trình học máy (computer learn-ing) đầu tiên Chương trình này là trò chơi cờ, và hãng máy tính IBM đã cải
Hình 1.1 Minh họa mô hình của học máy [57].
Trong đó định nghĩa "Học máy" được thể hiện như sau:
Theo Arthur Samuel (1959): "Máy học là ngành học cung cấp cho máy tính khả năng học hỏi mà không cần được lập trình một cách rõ ràng".
Theo Giáo sư Tom Mitchell – Carnegie Mellon University: "Học máy là 1 chương trình máy tính được nói là học hỏi từ kinh nghiệm E từ các tác vụ T và với độ đo hiệu suất P Nếu hiệu suất của nó áp dụng trên tác vụ T và được đo lường bởi độ đo P tăng từ kinh nghiệm E".
Hiện nay có rất nhiều thuật toán và các mô hình sử dụng học máy, cụ thể được thể hiện trong Hình 1.1.
Học máy được chia làm hai loại là học có giám sát và học không có giám sát, như thể hiện ở Hình 1.2, chi tiết có thể tham khảo trong [58]. Đặc biệt học máy được áp dụng trong nhiều lĩnh vực [58]: xử lý ảnh (gắn thẻ hình ảnh trên facebook, nhận dạng ký tự, ô tô tự lái, vv); phân tích văn bản (lọc spam, phân tích ngữ nghĩa, khai thác thông tin, vv); khai phá dữ liệu (Phát hiện bất thường, phát hiện các quy luật, gom nhóm, dự đoán, vv); trò chơi điện tử và Robot (chơi game, tương tác với robot, các hệ thống trợ giúp, vv) Ngày nay với sự phát triển của phần cứng máy tính và hệ điều hành, cũng như các yêu cầu từ thực tế ngày càng cao về độ chính xác và tốc độ tính toán nên trong phần tiếp theo, luận án sẽ giới thiệu khái quát về học sâu.
Hình 1.2 Mô hình phân loại học máy [58].
Học sâu
Trong những năm gần đây đã xuất hiện khái niệm học sâu "Học sâu (deep learn-ing) là một chi của ngành máy học dựa trên một tập hợp các thuật toán để cố gắng mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều biến đổi phi tuyến" [59] Học sâu cũng nằm trong mô hình của học máy Mô hình của học sâu được thể hiện trong Hình 1.3.
Hiện nay có nhiều kiến trúc học sâu khác nhau như mạng nơ ron sâu, mạng nơ ron tích chập sâu, mạng niềm tin sâu và mạng nơ ron tái phát đã được áp dụng cho các lĩnh vực như thị giác máy tính, tự động nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, nhận dạng âm thanh ngôn ngữ và tin sinh học, chúng đã được chứng minh là tạo ra các kết quả rất tốt đối với nhiều nhiệm vụ khác nhau.
Hình 1.3 Mô hình của học sâu [58].
Hệ thống khôi phục hoạt động của người trong không gian 3-D và chấm điểm võ thuật
Hệ thống khôi phục hoạt động của người trong không gian 3-D 13
Mingsong và các cộng sự [2] đã để xuất một mô hình theo vết và xây dựng lại khung cảnh và người trong không gian 3-D thời gian thực Hệ thống xây dựng lại môi trường và người trong không gian 3-D dữ trên dữ liệu thu thập từ 8 cảm biến hình ảnh Các dữ liệu thu thập được từ các cảm biến hình ảnh được hiệu chỉnh và phân đoạn để tách riêng dữ liệu của người và các dữ liệu khác Để dự đoán và theo vết được các hành động của người, nghiên cứu sử dụng mô hình biến dạng (deformation model) dựa trên các đặc trưng biến dạng trên ảnh độ sâu Khi có nhiều các đặc trưng có sự biến đổi mạnh hơn vượt qua ngưỡng của mô hình biến dạng thì nghiên cứu đề xuất hàm năng lượng bổ sung cho các ràng buộc của mô hình biến dạng Đặc biệt các kỹ thuật về sử dụng hình bóng và khôi phục dữ liệu được sử dụng để khôi phục lại hình trạng của người dựa trên tập dữ liệu thu được từ các cảm biến hình ảnh Hệ thống này phải sử dụng CPU để thu thập dữ liệu và khôi phục dữ liệu 3-D Hay Meier và các cộng sự
[7] đã xây dựng một ứng dụng khôi phục, theo vết hành động của người trong không gian 3-D Mô hình của người được thể hiện bằng dạng lưới.
Hệ thống chấm điểm võ thuật
Hiện nay dựa trên các tìm hiểu của nghiên cứu sinh thì trên thế giới chưa có một hệ thống chấm điểm nào được công bố để chấm điểm các môn võ thuật như: Karate, Judo, Taekwondo,vv Năm 2018, liên đoàn Karate thế giới mới chỉ đưa ra được một bộ quy tắc về chấm điểm các động tác trong môn Karate [20] Bộ quy tắc này dựa trên vị trí ra đòn vào đối phương như: Đầu, mặt, cổ, ngực, bụng, đằng trước đằng sau.
Ước lượng khung xương trên cơ thể người trong không gian 2-D
Ước lượng khung xương trên ảnh màu
Thông tin ảnh màu là thông tin thông dụng nhất thu được từ các camera/cảm biến Sự thay đổi hình dạng, tư thế của cấu trúc cơ thể người trong ảnh tạo ra đặc trưng biến đổi rất mạnh (deformation) Điều đó làm cho việc ước lượng hình trạng, khung xương trên cơ thể người gặp rất nhiều khó khăn Sự biến đổi của cơ thể người phức tạp được tạo thành bởi sự biến đổi của các bộ phận trên cơ thể người, đó có thể chỉ là các phép biến đổi thông thường như: Phép dịch, phép xoay, hay tăng giảm kích thước.
Felzenszwalb và các cộng sự [51] đã đề xuất hướng tiếp cận cho việc huấn luyện sự thay đổi kích thước (multiscale) và mô hình biến dạng thành phần (Deformable Part Model - DPM) cho việc phát hiện đối tượng trên ảnh Trong mô hình biến dạng một phần, cơ thể người được biểu diễn thành cấu trúc hình sao, bao gồm một bộ lọc gốc, một bộ các bộ phát hiện bộ phận và một mô hình biến dạng một phần Trong mô hình DPM, biến dạng được coi là vị trí tương đối của các bộ phận cơ thể Các đặc trưng được trích xuất được huấn luyện trên bộ phân lớp SVM (Support Vector Machine) để dự đoán vị trí của các bộ phận trên cơ thể người.
Sun và các cộng sự [52] đã đề xuất mô hình dựa trên phần khớp nối (Articulated Part-based Model (APM)) để phát hiện các bộ phận của cơ thể người và ước lượng tư thế của người Mô hình APM thể hiện một đối tượng như là một bộ sưu tập của nhiều phần ở mức độ chi tiết khác nhau, từ thô đến mịn, trong đó các bộ phận ở mọi mức độ được kết nối với mức độ thô hơn thông qua mối quan hệ cha con Các mô hình và quan hệ ở các mức độ được học để phát hiện ra đối tượng Pishchulin và các cộng sự
[53] cũng như Andriluka [54], đều sử dụng phương thức chia cơ thể người thành các bộ phận và huấn luyện mô hình trên các bộ phận cho việc dự đoán tư thể của người. Như Andriluka [54] thì sử dụng AdaBoost cho việc dự đoán tư thế của người.
Berti và các cộng sự [49] đã đề xuất một hướng tiếp cận để cải thiện độ chính xác của ước lượng các hình trạng người sử dụng mô hình biến đổi phần (deformation part model) để vượt qua sự phức tạp tính toán Mô hình biến dạng bộ phận như trước đây chỉ được trích xuất qua kênh RGB, trong nghiên cứu này, sử dụng thêm kênh độ sâu (depth channel) để có được mô hình biến dạng bốn chiều (4-D) Do số chiều tăng lên nên để giảm độ phức tạp tính toán thì cần giảm số lượng các khớp trong không gian biến dạng 4 chiều Cuối cùng, giải pháp hoàn chỉnh có được bằng cách giải quyết các khớp bị bỏ qua bằng cách sử dụng các mô hình động học nghịch đảo Mục tiêu chính của nghiên cứu này là phân tích ảnh hưởng đến độ chính xác của ước lượng các khớp xương khi sử dụng bộ lọc Kalman được thêm vào mô hình biến dạng một phần 4 chiều.
Ước lượng khung xương trên ảnh độ sâu
Cùng với sự phát triển của phần cứng máy tính và công nghệ cảm biến Thông tin thu được từ các loại cảm biến ngoài ảnh màu còn có thể thu được thông tin về độ sâu. Thông tin 2-D là thông tin trên ảnh màu Khi thu được ảnh độ sâu nữa thì thông tin thu được từ môi trường là thông tin 3-D (thông tin về thế giới thực) Thông tin độ sâu là rất hữu ích để giải quyết sự thay đổi ngoại hình, biến dạng và các vấn che khuất, cải thiện độ tin cậy và độ chính xác của ước lượng từ người trong các cảnh phức tạp.
Plagemann và các cộng sự [61] đã đề xuất một thuật toán lọc hiệu quả cho việc theo dõi các tư thế của người với tốc độ xử lý thời gian thực (4 đến 10 khung hình/giây) sử dụng một đoạn video dữ liệu độ sâu thu được từ một cảm biến độ sâu Trong mỗi lần lặp bộ lọc, các tác giả áp dụng một hình thức tìm kiếm dựa trên mô hình cục bộ khai thác đặc tính của chuỗi khung hình liên tiếp Vì các chuyển động của người là nhanh và có thể bị che khuất nên có thể phá vỡ tìm kiếm cục bộ, bài báo sử dụng một bộ phân loại được huấn luyện trên các bộ phận của cơ thể để phát hiện các bộ phận cơ thể.
Shotton và các cộng sự [62] đã đề xuất một phương thức mới để dự đoán nhanh và chính xác các vị trí 3-D của khớp cơ thể từ một hình ảnh có độ sâu duy nhất, không sử dụng thông tin tạm thời Bài báo thực hiện một cách tiếp cận nhận dạng đối tượng, thiết kế một biểu diễn các bộ phận cơ thể trung gian để ánh xạ việc ước tính trong các trường hợp khó thành vấn đề phân loại trên điểm ảnh đơn giản hơn Tập dữ liệu huấn luyện lớn và rất đa dạng cho phép bộ phân loại ước lượng các bộ phận cơ thể bất biến, hình dạng cơ thể, quần áo, v.v Cuối cùng, bài báo tạo ra các mô hình 3-D để đánh giá các khớp cơ thể ước lượng được Hệ thống có thể chạy với tốc độ
200 khung hình/giây Đánh giá của bài báo cũng cho thấy độ chính xác cao trên cả hai bộ cơ sử dữ liệu sinh và thực tế, và đánh giá sự ảnh hưởng của một số tham số huấn luyện mô hình Bài báo đạt được độ chính xác cao khi so sánh với các công việc liên quan và được chứng minh cải thiện được độ chính xác của việc ước lượng khung xương trên toàn bộ cơ thể người Đặc trưng sử dụng cho việc huấn luyện mô hình là đặc trưng bất biến với các phép biến đổi tư thế và hình dáng của cơ thể người. descriptors) Cách tiếp cận của bài báo cũng cung cấp một cách tự nhiên để ước lượng một vectơ định hướng 3-D cho một điểm quan tâm nhất định Điều này có thể được sử dụng để chuẩn hóa các đặc trưng để đơn giản hóa việc phân loại cũng như trực tiếp ước lượng định hướng của các bộ phận cơ thể trong không gian Các đặc trưng mô tả hình dạng cục bộ được huấn luyện trên các mảnh (patchs) để phân biệt các bộ phận trên cơ thể.
Jain và các cộng sự [64] đã trình bày một cách tiếp cận dựa trên mô hình để phát hiện và ước lượng tư thế của người bằng cách kết hợp dữ liệu ảnh màu và độ sâu từ một cảm biến Hệ thống được đề xuất sử dụng mô hình phát hiện dựa trên tầng (Haar cascade) và khớp mẫu để thực hiện theo dõi các bộ phận cơ thể như đầu và thân. Một mô hình hình que được sử dụng để thể hiện các bộ phận cơ thể được phát hiện. Việc khớp sau đó được thực hiện độc lập cho từng bộ phận, sử dụng bản đồ biến đổi khoảng cách có trọng số Đầu ra là một mô hình phù hợp với tư thế của người trong khi đầu vào đã cho là hình ảnh Thuật toán hoạt động trong thời gian thực, hoàn toàn tự động và có thể phát hiện nhiều người không giao nhau Tuy nhiên hệ thống này mới chỉ thực hiện ước lượng các chi của người Trong đó kết quả ước lượng các bộ phận như đầu có độ chính xác là 98%, tay là 86.4%.
Như trình bày [68] trong một đánh giá gần đây của tiếp cận dựa trên video RGB và [69] cho tiếp cận dựa trên lược đồ ảnh chiều sâu Hiện phương pháp nhận dạng hành động của người dựa trên khung xương có thể được phân thành hai loại chính: tiếp cận dựa trên khớp nối và dựa trên phần cơ thể Tiếp cận dựa trên khớp nối xem khung xương người như một tập hợp các điểm đại diện được nối với nhau thông qua các khớp, hướng tiếp cận dựa trên phần cơ thể xem khung xương người như sự kết nối các phần cơ thể.
Tiếp cận dựa trên khớp nối: Khung xương người được biểu diễn trong [70] sử dụng các điểm đại diện được kết nối 3-D với nhau và các quỹ đạo được biểu diễn theo mô hình phân cấp theo thời gian của hiệp phương sai.
Fengjun và các cộng sự [71] đã biểu diễn khung xương người sử dụng mô hình Markov ẩn (Hidden Markov Models - HMMs) Một tập 13 quỹ đạo chung trong một không gian 4-D XYZT đã được sử dụng trong [72] để biểu diễn cho một hành động của con người và phép chiếu hình học (affin) của chúng được so sánh dùng một không gian con các phép đo tương tự bất biến dựa trên các góc.
Trong Wang và các cộng sự [73] đã biểu diễn khung xương người sử dụng vị trí tương đối giữa cặp các khớp xương và các biến đổi theo thời gian của biểu diễn này được mô hình dùng hệ thống thứ bậc các hệ số của phép biến đổi theo thời gian và không gian (Fourier) Hơn nữa, cách tiếp cận dựa theo nhóm hành động đã được sử dụng với sự kết nối các điểm phân biệt được lựa chọn dùng cách tiếp cận học trên đặc trưng nhiều nhân (multiple kernel).
Trong nghiên cứu [74] khung xương người được biểu diễn bằng các vị trí kết nối tương quan thông qua dịch chuyển tạm thời của khớp và bù của khớp liên quan đến khung hình khởi điểm ban đầu Phân loại hành động được thực hiện bằng cách dùng quy tắc Naive Bayes láng giềng gần nhất trong một không gian kích thước nhỏ hơn được xây dựng bằng các phân tích thành phần đặc trưng (Principal Component Analysis
- PCA) Một biểu diễn khung xương tương tự đã được sử dụng với phương pháp cây ngẫu nhiên trong nghiên cứu [75] Một biểu diễn khung cảnh bất biến của khung xương người đã đạt được trong [25] bằng cách lượng tử hóa các điểm 3-D vào lược đồ dựa trên hướng của chúng đối với một hệ tọa độ cố định ở vị trí hông làm trung tâm Những biến đổi theo thời gian của biểu diễn khung cảnh bất biến này được mô phỏng dùng các HMMs.
Tiếp cận dựa trên các bộ phận: Cơ thể con người được chia thành năm phần khác nhau trong [76] và hoạt động của con người được thể hiện bằng cách sử dụng các thông số chuyển động của các phần cơ thể riêng dịch chuyển ngang và dọc hoặc quay trong mặt phẳng, v.v PCA được sử dụng để biểu diễn cho một hành động của người như một tổ hợp tuyến tính của tập các hành động cơ bản và phân loại chúng được thực hiện bằng cách so sánh các hệ số PCA.
Chaudhry và các cộng sự [77] đã chia một khung xương người thành các phần nhỏ hơn và mỗi một phần được biểu diễn dùng một số đặc trưng lấy cảm hứng từ hình dạng sinh học Những biến đổi thời gian của các đặc trưng lấy cảm hứng từ hình dạng sinh học được mô phỏng bằng các hệ tuyến tính động Trong [78] một vài thông tin điểm kết nối xương được lựa chọn tự động tại mỗi trường hợp theo thời gian dựa trên các phép đo trung bình hoặc biến đổi các góc chung, biến đổi vận tốc góc tối đa của các khớp xương, v.v Sau đó hành động của con người được thể hiện theo trình tự thông tin của các khớp, chúng được so sánh bằng cách dùng khoảng cách Levenshtein (thể hiện khoảng cách khác biệt giữa hai chuỗi ký tự) Trình tự của khung xương được trình bày trong [79] sử dụng các cặp giống nhau về cấu trúc giữa phép chiếu góc kết nối và sau đó phân loại sử dụng SVM tuyến tính.
Ngoài các hướng tiếp cận dựa trên việc học là chính cho ước lượng khung xương của người thì còn hướng tiếp cận dựa trên đại số Vemulapalli và các cộng sự [80] đề xuất một biểu diễn khung xương mới được mô hình một cách rõ ràng mối tương quan nhóm Lie Do việc phân lớp các đường cong trong nhóm Lie không đơn giản nên cần phải ánh xạ các đường cong mô tả hoạt động này từ nhóm Lie vào đại số Lie tức là trên một không gian vector Sau đó chúng ta thực hiện phân lớp dựa trên tổ hợp kỹ thuật so khớp chuỗi thời gian động (Dynamic Time Warping- DTW) (dùng để so khớp độ tương tự giữa hai chuỗi trạng thái theo thời gian) biến động sai lệch thời gian, biểu diễn tháp (người ta hay dùng pyramid) thời gian Fourier và kỹ thuật huấn luyện SVM tuyến tính Kết quả thí nghiệm trên ba bộ dữ liệu hành động cho thấy rằng biểu diễn đề xuất thực hiện tốt hơn so với nhiều biểu diễn khung xương hiện có Các phương pháp đề xuất cũng nhanh hơn so với nhiều hướng tiếp cận nhận diện hành động con người dựa trên khung xương mới nhất.
Ước lượng tư thế dựa trên đối tượng và ngữ cảnh hoạt động
Hầu hết các hành động trên cơ thể người sẽ quyết định tư thế của người Do đó việc phát hiện và nhận dạng hành động cơ thể người thường có vai trò bước đầu cho việc ước lượng tư thế của người Cụ thể hơn là việc phát hiện và nhận dạng các bộ phận trên cơ thể người Thường thì việc ước lượng các tư thế của người thường đi kèm với bài toán phát hiện và nhận dạng hành động và mối liên hệ giữa đối tượng và hành động của người.
Desai và các cộng sự [65] đã trình bày một cách tiếp cận mới để mô hình hóa tư thế của con người, cùng với các đối tượng tương tác, dựa trên các mô hình thành phần của các tương tác và các mối quan hệ của họ Các mô hình khung xương của người, mới chỉ phát hiện và ước lượng được các khớp nối lớn, còn không thể mô hình/ước lượng chính xác khi bị che khuất và tương tác Để giải quyết bài toán ước lượng tư thế, phát hiện, nhận dạng hành động trong trường hợp này đòi hỏi một bộ mẫu huấn luyện lớn Bài báo này kết hợp cả ba cách tiếp cận với một mô hình thành phần linh hoạt đủ để ước lượng mô hình khớp nối chi tiết nhưng vẫn đảm bảo được các phần và tương tác đối tượng Mô hình huấn luyện cho việc phát hiện nhận dạng hành động được huấn luyện từ các mảnh nhỏ của các hành động Các phát hiện hành động và phân loại hành động được thực hiện và đánh giá so sánh với các phương thức cơ sở trên bộ cơ sở dữ liệu có nhiều thách thức PASCAL Ví dụ như Hình 1 trong bài báo này là phát hiện hành động cưỡi ngựa, từ đó ước lượng ra tư thế của người.
Singh và các cộng sự [66] đã giải quyết vấn đề ước lượng tư thế của người trong một hình ảnh tĩnh khi người thực hiện một hành động có thể liên quan đến tương tác với các đối tượng cảnh Trong kịch bản như vậy, có thể ước lượng chính xác hơn bằng cách sử dụng kiến thức về đối tượng trong cảnh Bài báo đề xuất cây ngữ cảnh cho việc nối giữa mô hình tư thế và đối tượng của con người trong tương tác Để ước lượng tư thế trong một hình ảnh, bài báo trình bày một mô hình Bayes để tối ưu ghép nối bằng cách tối đa hóa khả năng trên nhiều cây ngữ cảnh cho tất cả các tương tác Bài báo đánh giá cách tiếp cận của luận án trên bộ dữ liệu gồm 65 hình ảnh và cho thấy suy luận chung của tư thế và bối cảnh cho độ chính xác cao hơn.
Yao và các cộng sự [67] đã đề xuất một mô hình kết nối tương tác giữa các đối tượng và tư thế của người Theo cách tiếp cận của bài báo, phát hiện đối tượng cung cấp một ưu tiên mạnh để ước lượng tư thế con người tốt hơn, trong khi tư thế con người ước lượng được sử dụng để cải thiện độ chính xác của việc phát hiện các đối tượng Mô hình kết hợp này được đánh giá trên tập dữ liệu các hành động trong thể thao như đánh tenis, hay trong biểu diễn nhạc cụ. ỞViệt Nam hiện nay cũng có một số nghiên cứu về phát hiện nhận dạng hành động liên quan đến tư thế và khung xương của người Như Ha và các cộng sự [81] đã đề xuất giải pháp nhận dạng hành vi té ngã thông qua ảnh chiều sâu thu nhận được từ thiết bị Kinect do Microsoft sản xuất Quá trình xử lý bao gồm các bước: (1) Thu nhận các đặc trưng về khung xương và đường biên cơ thể thông qua việc sử dụng Kinect; (2) Tính toán các thông số đặc trưng gồm vị trí khớp và tốc độ khớp; (3) So sánh các giá trị thông số đặc trưng đó với các giá trị ngưỡng, nếu các đặc trưng đó vượt quá ngưỡng và không tiếp tục có sự biến động lớn, hành vi té ngã được giả định rằng đã xảy ra Kết quả thực nghiệm trong môi trường thực tế và bộ cơ sở dữ liệu MOCAP(MOtion CAPture) về khung xương cho thấy giải pháp đề xuất mang lại hiệu quả hứa hẹn Việc phát hiện hành động ngã là dựa trên vị trí của các khớp xương so với mặt sàn Mặt phẳng sàn là mặt phẳng đánh dấu cho việc phát hiện nhận dạng các hành động khác Nó là một mặt phẳng cố định mà hệ thống bắt buộc phải phát hiện.
Hay nghiên cứu của Phạm và các cộng sự [82] đã trình bày về khả năng nhận dạng
20 tư thế người với dữ liệu thu được từ camera Kinect, dữ liệu thu được từ nhiều người với chiều cao khác nhau và góc thu dữ liệu khác nhau Lợi thế của việc sử dụng dữ liệu khung xương thu từ camera Kinect là không bị ảnh hưởng bởi sự thay đổi của ánh sáng hay độ nhiễu của hình ảnh Nghiên cứu cũng sẽ đưa ra 4 phương pháp trích đặc trưng từ dữ liệu khung xương thu thập được từ camera Kinect Sau đó, bộ dữ liệu sẽ được đem đi huấn luyện bằng mô hình máy học véc-tơ hỗ sợ (SVM) Qua thực nghiệm cho thấy độ chính xác khi nhận dạng tư thế người đạt hơn 98%.
Nhận xét
Như vậy, chúng ta có thể thấy hầu hết các hướng tiếp cận cho việc ước lượng tư
Ước lượng khung xương và tư thế người trong môi trường 3-D
Phục hồi tư thế 3-D của người từ một ảnh
Vấn đề ước lượng 3-D khung xương và tư thế của người là vấn đề có rất nhiều thách thức trong thị giác máy tính như: Các hoạt động phi tuyến của người, bị che khuất bởi nền, lộn xộn các khớp trong không gian 2-D, sự nhập nhập nhằng giữa 2-D và 3-D Hầu hết các nghiên cứu dựa theo hướng tiếp cận này đều sử dụng học sâu (deep learning) cho việc huấn luyện mô hình ước lượng.
Tome và các cộng sự [84] đã đề xuất một mô hình mạng nơ ron tích chập cho việc huấn luyện mô hình ước lượng khung xương trong không gian 2-D Và mô hình chiếu việc ước lượng trong không gian 2-D sang không gian 3-D bằng việc huấn luyện mô hình ước lượng 3-D từ 3.6 triệu hành động của người trong không gian 3-D từ bộ cơ sở dữ liệu Human 3.6M [85], [88] Trong đó dữ liệu đầu vào của hệ thống là ảnh màu, sau đó hệ thống thực hiện ước lượng khung xương trên ảnh màu với đầu ra là 14 điểm đại diện, sau đó 14 điểm ước lượng được sẽ được chiếu vào không gian 3-D và ước lượng đầu ra là 17 điểm đại diện trong không gian 3-D.
Fang và các cộng sự đã [89] đề xuất một ngữ pháp tư thế để giải quyết vấn đề ước lượng 3-D tư thế con người Mô hình của trong bài báo này trực tiếp lấy tư thế 2-D làm đầu vào và tìm cách ánh xạ các điểm đại diện trong 2-D sang không gian 3-D Mô hình đề xuất bao gồm một mạng để phát huy các đặc trưng liên kết theo tư thế và hệ thống phân cấp về một bộ kiến thức cấu trúc cơ thể người (ví dụ: động học, đối xứng, điều phối động cơ) Mô hình đề xuất được thực hiện trên các ràng buộc cấp cao với các tư thế của người.
Timm và các cộng sự [90] đã chọn ra được một mô hình để ước lượng 3-D tư thế người trong trường hợp dữ liệu bị che khuất trên bộ cơ sở dữ liệu Human 3.6M [85],
[88] Trong đó quá trình ước lượng khung xương và các khớp nối trên 2-D các tác giả sử dụng mạng ResNet-50 [91] Sau đó toạ độ của mỗi điểm đại diện ước lượng được được chiếu sang không gian 3-D Dữ liệu che khuất được tạo ra dựa trên các cấu trúc hình tròn, hình chữ nhật với kích thước khác nhau trên ảnh màu.
Dữ liệu học là các cảnh (S1, S5, S6, S7, S8) dữ liệu kiểm tra là các cảnh (S9, S11) của bộ dữ liệu Human 3.6M [85], [88].
Ngoài ra cũng có rất nhiều nghiên cứu về ước lượng 3-D khung xương, tư thế người từ một ảnh (khung hình) được thực hiện sớm hơn Các nghiên cứu này được liệt kê và tóm tắt trong bảng 1 của bài báo [83].
Phục hồi tư thế 3-D của người
Mặc dù gần đây dựa trên những thành công của học sâu (deep learning), điển hình là các mạng nơ ron tích chập đã được đề xuất cho bài toán ước lượng 3-D khung xương và tư thế người Quá trình này sử dụng các mạng nơ ron tích chập để huấn luyện và ước lượng trong không gian 2-D sau đó ánh xạ vào không gian 3-D Tuy nhiên, ước lượng tư thế 3-D từ các khung hình riêng lẻ dẫn đến ước lượng không thống nhất theo thời gian do lỗi độc lập trong mỗi khung hình gây ra Do đó, Hossain và các cộng sự
[92] đã sử dụng thông tin tạm thời trên một chuỗi các vị trí khớp 2-D để ước lượng một chuỗi các tư thế 3-D Bài báo đã thiết kế một mạng chuỗi theo trình tự bao gồm các đơn vị LSTM (Long Short-Term Memory) được chuẩn hóa lớp với các kết nối đầu vào với đầu ra ở phía bộ giải mã và sử dụng ràng buộc độ mịn theo thời gian trong quá trình huấn luyện Với kiến trúc mạng như vậy làm cho bộ ước lượng chính xác hơn đến hơn 12% trên bộ cơ sở dữ liệu Human 3.6M [85], [88].
Cũng có nhiều nghiên cứu cũ hơn trong việc ước lượng 3-D khung xương, tư thế người sử dụng một chuỗi ảnh từ một cảm biến Các nghiên cứu này được liệt kê và tóm tắt trong bảng 3 của bài báo [83] và các nghiên cứu về ước lượng 3-D khung xương, tư thế người sử dụng 1 khung hình tương ứng ở nhiều hướng nhìn khác nhau được liệt kê và tóm tắt trong bảng 2 của bài báo [83].
Hầu hết các nghiên cứu về ước lượng khung xương, tư thế trong không gian 3-D đều sử dụng các mô hình mạng CNN để huấn luyện và ước lượng khung xương trên cứu về ước lượng khung xương trong không gian 3-D đều được đánh giá trên bộ cơ sở dữ liệu Human3.6M [85] với các độ đo thông dụng như sau: MPJPE (Mean Per Joint Position Error) [134], PCK (Percentage of Correct Keypoints), và AUC (Area Under Curve)
[135], PMPJPE (Procrustes Aligned Mean Per Joint Position Error) [158], vv Các nghiên cứu này thường đánh giá trên các bộ cơ sở dữ liệu như: Human3.6M [85], LSP [149], 3DHP[145], MPII [153],HumanEva-I[32], Football II [148], Invariant-Top View [61, 26], MPI-INF3DHP [145], MuPoTS-3D [140], AIChallenger [143].
Trong đó kết quả ước lượng khung xương trong không gian 3-D dựa trên độ đo M P JP E được thể hiện trong Bảng 1.1.
1.4.2.1 Phục hồi khung xương, tư thế người trong không gian 3-D từ một ảnh
Theo báo cáo trong khảo sát của Sarafianos và các cộng sự [83], để giải quyết ước lượng tư thế người trong không gian 3-D từ một hình ảnh, thường thực hiện ước lượng tư thế người trong không gian 2-D và sau đó ước lượng độ sâu của nó bằng cách so khớp với thư viện của các tư thế 3-D như Hình 1.4 Bảng 1.2 thể hiện tóm tắt về các thông tin của các nghiên cứu dựa trên hướng tiếp cận ước lượng, khôi phục khung xương người trong không gian 3-D từ một ảnh Trong bảng này, luận án thể hiện năm (year), thông tin tác giả (Main Author/ reference), có sử dụng bộ thư viện khung xương cho việc khôi phục khung xương không (3-D pose library), ý tưởng cơ bản của nghiên cứu (Method Highlights), cơ sở dữ liệu sử dụng để đánh giá (Evaluation dataset), các độ đo đánh giá (Evaluation matrix). 1.4.2.2 Phục hồi khung xương, tư thế người trong không gian 3-D từ một chuỗi ảnh
Hướng tiếp cận ước lượng khung xương trong không gian 3-D từ một chuỗi ảnh có thể là một chuỗi ảnh thu được từ nhiều camera (multi-view) hoặc một chuỗi khung hình liên tiếp thu được một camera Trong phần này, luận án khảo sát các nghiên cứu theo hướng tiếp cận này, như được trình bày trong Bảng 1.3 Bảng này cũng được trình theo giống cấu trúc của Bảng 1.2.
Nhận xét
Như đã trình bày ở trên, việc phục hồi tư thế 3-D của người với một ảnh đầu vào hoặc một chuỗi ảnh đầu vào thì thường thực hiện ước lượng tư thế trên ảnh Với phương thức ước lượng có đầu vào là một ảnh thì thực hiện ước lượng tư thế trên ảnh sau đó thực hiện ánh xạ sang không gian 3-D nhờ một bộ cơ sở dữ liệu về tư thế của người trong 3-D Quá trình huấn luyện ước lượng tư thế trong không gian 3-D là quá trình tìm kiếm (matching) bộ tư thế tốt nhất trong bộ cơ sở dữ liệu tư thế mà có độ sâu tương ứng.Trong khi hướng tiếp cận với đầu vào là một chuỗi ảnh từ một camera hoặc từ nhiều hướng nhìn khác nhau (trên nhiều camera) thì cũng thực hiện ước lượng tư thế trên ảnh, sau đó sử dụng bộ tham số trong của các camera và bộ tham số hiệu chỉnh các ảnh để ánh xạ các điểm đại diện, khớp nối ước lượng được trong không gian 3-D Đặc biệt hướng tiếp cận dựa trên một chuỗi hình ảnh thì có kết quả tốt hơn cho việc phát hiện và theo vết người (tracking), hướng tiếp cận này có tính đến tham số về không gian và thời gian trong quá trình ước lượng Còn hướng tiếp cận có một ảnh đầu vào có lỗi tích lũy về thời gian trên các khung hình liên tiếp nhau Hầu hết các nghiên cứu đều được đánh giá trên các bộ cơ sở dữ liệu chuẩn (benchmark)(các bộ cơ sở dữ liệu cung cấp các tập huấn luyện, tập xác nhận, tập kiểm tra) như Human3.6M [85], HumanEVA [102], MPII [103] Trong phần tiếp theo nghiên cứu sinh sẽ miêu tả chi tiết hơn về các bộ cơ sở dữ liệu này.
Bảng 1.1 Thống kê các nghiên cứu ước lượng khung xương của người trong không gian 3-D mà có đánh giá trên cơ cở dữ liệu Human3.6M [85] và kết quả ước lượng.
Kết quả ước Phương thức lượng trung bình
Veges CS [136] Protocol #1: 61.1 Wang CS [137] Protocol #1: 63.67 Martinez CS [138] protocol #1: 45.5 Pavlakos CS [142] 51.9
Wang CS [143] Protocol#1: 40.8 Hossain CS [92] Protocol #1: 39.2
Omran CS [155] 59.9 Pavllo CS [156] 36 Bastian CS [157] Protocol #1: 50.9 Kocabas CS [158] 51.83
Rhodin CS [123] 131.7 Mehta CS [127] ResNet 100: 82.5
ResNet 50: 80.5 Protocol #1: 88.39 Tome CS [84] Protocol #2: 70.4
Hình 1.4 Minh họa phương thức ước lượng tư thế, khung xương trong không gian3-D [154]: Đầu vào là một ảnh màu (RGB), đầu tiên là ước lượng khung xương trong không gian ảnh (2-D) sau đó ước lượng giá trị độ sâu của khung xương bằng việc tìm kiếm một mô hình khung xương, tư thế phù hợp Khung xương ước lượng được có màu đỏ, khung xương gốc có màu xám.
Bảng 1.2 Khảo sát về ước lượng tư thế người trong không gian 3-D sử dụng 1 ảnh.
Năm Tham 3-D Ý tưởng chính của phương Dữ liệu Độ đo khảo Thư viện pose thức đánh giá đánh giá Ước lượng tư thế người 2D sử dụng Mask R-CNN với Pavllo ResNet-101-FPN, sử dụng nó để thực hiện trong
Detectron, cũng như mạng kim tự tháp xếp tầng (CPN) Human3.6M
(mô hình huấn luyện trên COCO); Ước lượng tư thế 3D: HumanEva-I
[134] Tối ưu sử dụng Amsgrad và huấn luyện cho 80 epochs trong cơ sở dữ liệu Human3.6M Ước lượng tư thế 2D, tọa độ dự đoán bằng mô hình giống với tọa độ xy như đầu vào, PCK
Nibali điều đó là đơn giản để xây dựng một
2019 CS Không convolutional network mà bản đồ đầu vào RGB đến bản đồ nhiệt xy.
[135] Dự đoán tọa độ 3D và tránh các vùng không mong muốn bằng cách dự đoán đường biên trong 2D AUC bản đồ nhiệt theo sơ đồ soft-argmax.
Tư thế 2D được ước lượng bằng cách sử dụng mạng
Wang convolutional pose machines Từ mạng con cho ước lượng 2D, Human3.6M
2019 CS Có ước lượng 3D được điều chỉnh từ kết quả ước lượng MPJPE
[137] 2D trong không gian vector phù hợp với kết quả tư thế 3D dự đoán.
Veges Bộ phát hiện tư thế 2D trên các phương thức cơ sở của nhiều người
2019 CS Không dựa trên OpenPose trên ảnh độ sâu; chiếu từ thành phần MuPoTS-3D MPJPE
[139] 2D sang 3D component được gọi là 3D PoseNet.
Những tiến bộ đáng kể trong ước lượng tư thế 2D của người bằng cách dử dụng mô hình ước lượng deep Convolutional
Wang Neural Networks (CNNs) và có khả năng MPII
2019 CS Có với các kích thước khác nhau của cơ sở dữ liệu 2D được đánh dấu bằng tay LSP MPJPE
[143] Các tác giả đã đề xuất một phương thức đơn mới
Human3.6M để tạo ra một ước lượng tư thế 3D tốt từ các nhãn được đánh dấu trên ảnh.
Li Các tác giả đã sử dụng phương thức hiện đại hour glass Human3.6M network để ước lượng các khớp xương trong 2D;Đề xuất một cách
2019 CS Không tiếp cận mới để tạo ra nhiều giả thuyết khả thi về MPII MPJPE
[144] MPI-INF 3DHP ước lượng các khớp 3D từ khớp 2D
Tư thế 2D được xác định với một thành phần có sẵn và Veges sau đó vị trí 3D của khớp được dự đoán ước lượng khung xương 3D: sử dụng tối ưu Adam với một
2018 CS Có Human3.6M MPJPE tỷ lệ học 0.001 và phân rã theo cấp số nhân với tỷ lệ [136]
0.96 Kích thước patch là 256, huấn luyện cho 100 epochs. Đầu tiên, một thành phần phát hiện hộp người
Sun trong ảnh đầu vào RGB Thứ hai, một camera COCO
2018 CS Có chiếu các thành phần sử dụng để chiếu sang 3D ground truth to MPII MPJPE
[141] tọa độ hệ thống, được thống nhất là pixel/ voxel theo phương thức phân loại học. Ước lượng tư thế 2D, tồn tại nhiều kích thức ước lượng
Fang các cơ sở dữ liệu (Andriluka CS 2014; Charles CS 2016); Human3.6M
2018 CS Có các tác giả đã phát triển một mạng ngữ nghĩa kết hợp cả khả năng mã hóa HumanEva-I MPJPE
[89] mạnh mẽ của deep neural networks MPII và phụ thuộc cấp cao và quan hệ của cơ thể con người
Omran Các tác giả đã đề xuất phương thức mới (Neural Body Fitting UP-3D
(NBF)) Nó tích hợp một mô hình cơ thể thống kê trong một CNN,
2018 CS Không HumanEva-I MPJPE tận dụng phần cơ thể ngữ nghĩa từ dưới lên đáng tin cậy
[155] phân đoạn và các ràng buộc mô hình cơ thể từ trên xuống mạnh mẽ Human3.6M
Pavllo QuaterNet, đại diện cho luân chuyển với tứ phương và của chúng tôi hàm phạt thực hiện chuyển động về phía trước trên một bộ xương
2018 CS Không Human3.6m MPJPE để xử phạt lỗi vị trí tuyệt đối thay vì lỗi góc;
Nó giảm prelling để tích lũy lỗi dọc theo chuỗi động học
Martinez Phát hiện tư thế 2D bằng cách xếp chồng hiện đại hourglass Human3.6M network mà được huấn luyện trên cơ sở dữ liệu MPII; chúng có thể được huấn luyện
2017 CS Có HumanEva MPJPE từ thuật toán tham lam cho 2D sang 3D với lượng lớn
[138] MPII dữ liệu của hệ thống MOCAP trong môi trường được điều khiển
Pavlakos Ước lượng tư thế 3D, các tác giả đã rời không gian Human3.6M các đối tượng và sử dụng ConvNet để dự đoán trên từ voxel HumanEva-I
2017 CS Có MPJPE với khả năng lớn nhất cho muỗi khớp trên ảnh màu KTH Football II
; a một chuỗi tối ưu con để khôi phục khung xương 3D MPII Ước lượng tư thế 2D: Các tác giả đã sử dụng
Tekin stacked hourglass network design, thực hiện lặp đi lặp lại Human3.6m từ dưới lên, từ trên xuống xử lý trên quan hệ HumanEva-I
2017 CS Không các thành phần trên ảnh; một khung phân biệt KTH Football II MPJPE
[147] khai thác đồng thời vị trí của bản đồ tin tưởng LSP và tín hiệu hình ảnh 3D để ước tính tư thế con người 3D.
Haque Các tác giả đề xuất một mô hình bất biến quan điểm cho ước lượng tư thế con người 3D từ một hình ảnh độ sâu duy nhất Stanford EVAL
2016 CS Không PCKh Để đạt được điều này, mô hình phân biệt đối xử nhúng theo vùng
[159] Invariant-Top View vào một không gian tính năng quan điểm bất biến.
Bảng 1.3 Khảo sát về ước lượng khung xương người trong không gian 3-D từ một chuỗi ảnh.
Tác giả Thư Dữ liệu Độ đo
Year chính/ viện Method tư thế đánh giá đánh giá tham khảo3D
Karim Các tác giả trình bày hai giải pháp mới cho ước tính tư thế con người 3D đa góc nhìn dựa trên Human3.6M
2019 CS Không MPJPE phương pháp tam giác mới có thể học được kết hợp CMU Panoptic [146] thông tin 3D từ nhiều hướng nhìn 2D.
Bastian Một phần của mạng huấn luyện được đề xuất Human3.6M
(RepNet) học một bản đồ từ một bản phân phối 2D
2019 CS Có MPI-INF-3DHPMPJPE đặt ra để phân phối các tư thế 3D bằng cách sử dụng một nghịch cảnh
[157] phương thức huấn luyện LSP ước lượng EpipolarPose ước lượng từ nhiều hướng nhìn của các ảnh MPJPE
Kocabas PMPJPE và sau đó khai thác hình học epipolar để ước lượng một Human3.6M
2019 CS Có PCK tư thế 3D và hình học máy ảnh mà sau đó MPI-INF-3DHP
[158] được sử dụng để đào tạo một công cụ ước tính tư thế 3D PSS @50
Rhodin Các tác giả đề xuất khắc phục vấn đề này bằng cách MPJPE
2018 CS Có học một đại diện cơ thể nhận thức hình học từ Human3.6M N-MPJPE
[123] nhiều hướng nhìn của ảnh nằm ngoài các vùng đánh dấu P-MPJPE
Các tác giả thực hiện một chuỗi các tư thế và mã hóa 2 chiều Hossain chúng trong một vectơ kích thước cao cố định trong
2018 CS Có ẩn trạng thái cuối cùng của độ đo LSTM; sử dụng thời gian Human3.6M MPJPE
[92] thông tin trên một chuỗi các vị trí khớp 2 chiều để ước lượng một chuỗi các tư thế 3 chiều
1.5 Các bộ cơ sở dữ liệu cho việc đánh giá ước lượng khung xương trong không gian 3-D
Trước khi trình bày đến các bộ cơ sở dữ liệu sử dụng cho việc đánh giá ước lượng khung xương trong không gian 3-D, luận án giới thiệu về cảm biến MS Kinect được sử dụng trong việc thu thập các cơ sở dữ liệu về võ thuật cổ truyền Việt Nam mà được sử dụng nhiều trong luận án.
1.5.1 Giới thiệu Kinect và thiết lập thu dữ liệu
Trong quá trình thu thập dữ liệu của người biểu diễn võ thuật (võ sư, học viên của các võ đường), luận án sử dụng cảm biến Microsoft (MS) Kinect phiên bản 1 (version 1 - v1) [125], được minh họa như trong Hình 1.8. Đây là một loại cảm biến giá rẻ Loại cảm biến này có thể thu thập được nhiều loại dữ liệu từ môi trường như: ảnh màu, ảnh độ sâu, khung xương, vec tơ gia tốc trọng trường, âm thanh, vv Cảm biến Kinect cũng có thể mở rộng sử dụng trong chơi các trò chơi, trong giáo dục, hay trong tái tạo môi trường 3-D (môi trường thực). Tuy nhiên, cảm biến Kinect có giới hạn đo của nó từ 0.5 đến 4m, dữ liệu độ sâu có thể bị mất nếu khoảng cách đo nằm ngoài giới hạn trên và bề mặt đối tượng sẽ bị mất dữ liệu khi bề mặt là màu đen hoặc bị bóng (như mặt kính, hoặc làm bằng thủy tinh).
Hình 1.7 thể hiện dữ liệu ảnh màu và ảnh độ sâu thu thập được từ cảm biến Kinect Để thực hiện được việc thu dữ liệu, cảm biến Kinect phiên bản 1 sử dụng Microsoft SDK 1.8 [60] cho việc kết nối với máy tính Để hiệu chỉnh và lưu dữ liệu vào máy tính, nghiên cứu sinh sử dụng bộ công cụ được phát triển trên Visual Studio với ngôn ngữ lập trình C++ với sự hỗ trợ của bộ thư viên OpenCV 3.4.0 [18].
Thiết lập thu dữ liệu bằng camera Kinect:
Hình 1.5 Minh họa thiết lập các thiết bị.
Một cảm biến MS Kinect được gắn trên giá cố định và được đặt ở một phía của lớp dạy võ thuật thu thập được ảnh màu, ảnh độ sâu với tốc độ thông thường từ(từ 10 đến 30 khung hình/giây) [126] với độ phân giải 640×480 điểm ảnh cho cả hai loại ảnh Do cảm biến MS Kinect được gắn có hướng thẳng vào giữa vùng biểu diễn của lớp võ thuật nên dữ liệu thu được thường có trục z (màu xanh dương) hướng thẳng vào người và cũng chính là khoảng cách từ cảm biến MS Kinect đến người, còn trục x (màu đỏ) hướng sang ngang và trục y (màu xanh là cây) hướng lên trên, được thể hiện ở hình trái trong Hình 1.6.
Người biểu diễn võ thuật là các võ sư hoặc học viên của lớp học võ thuật nằm trong vùng đã được giới hạn có kích thước là 3×3m như minh họa trong hình 1.5.
Do giới hạn thu được dữ liệu của cảm biến MS Kinect phiên bản 1 là 0.8 - 4m và góc nghiêng tối đa là 30 o quanh tâm trục của cảm biến MS Kinect Người biểu diễn có độ tuổi thường từ 12 tuổi trở lên, giới tính có thể là nam hoặc nữ trong phạm vi thu của cảm biến MS Kinect phiên bản 1 thì tránh được tình trạng mất dữ liệu do khoảng cách giữa người và cảm biến MS Kinect là quá gần hoặc quá xa Người mặc đồ võ thuật không bóng tức không bao quanh bởi nilon do cảm biến MS Kinect phiên bản 1 sử dụng ánh sáng hồng ngoại để thu thập dữ liệu nên bề mặt bị bóng thì thường sẽ hấp thu ánh sáng hồng ngoại nên sẽ bị mất dữ liệu độ sâu Ở một hướng nhìn cố định nên dữ liệu 3-D của người là bị thiếu các bộ phận, do bị che khuất khi quay đi các hướng khác Một tình huống khác là dữ liệu được thu thập bao gồm nhiều nhiễu vì hình ảnh độ sâu được thu thập bởi MS Kinect thường bị ảnh hưởng bởi các điều kiện chiếu sáng.
Một đám mây điểm được tạo ra từ một cặp ảnh (ảnh màu, ảnh độ sâu) có kích thước là 640 ×480 điểm ảnh tồn tại khoảng vài trăm nghìn điểm Đặc biệt là quá trình ước lượng khung xương, tư thế người phải qua bước ước lượng trên không gian 2-D sau đó ánh xạ sang không gian 3-D Do đó quá trình cần một lượng thời gian lớn để hoàn thành việc tái tạo lại môi trường 3-D và ước lượng đầy đủ khớp xương của người trong một cảnh Trong quá trình huấn luyện mô hình học sâu để ước lượng khung xương trong không gian 2-D thì ảnh màu được thay đổi kích thước về kích thước phù hợp với mạng CNN nên kích thước của ảnh thu được từ cảm biến MS Kinect không ảnh hưởng đến các mạng CNN Hình 1.6 thể hiện mô hình khung xương, tư thế của người trong video biểu diễn võ thuật được ước lượng và dựng lại môi trường trong không gian 3-D (trong thế giới thực).
1.5.2 Hiệu chỉnh dữ liệu thu từ cảm biến Kinect Ảnh màu và ảnh độ sâu thu được từ cảm biến MS Kinect phiên bản 1 được kết hợp
Ước lượng khung xương trong không gian 2-D
Giới thiệu
Ước lượng và dự đoán hành động của cơ thể người là một vấn đề được nghiên cứu nhiều trong cộng đồng thị giác máy tính và công nghệ robot Ước lượng tư thế, khung xương của người trong không gian 2-D là việc ước lượng vị trí các khớp nối trên cơ thể người trên ảnh hoặc video [104] Mỗi khớp nối được tạo thành từ các điểm đại diện Trong đó tọa độ của các điểm đại diện có giá trị (x, y) trên ảnh như minh họa trong Hình 2.1.
Hình 2.1 Minh họa kết quả ước lượng khung xương người trong không gian 2-D [105].
Các nghiên cứu này được áp dụng trong nhiều lĩnh vực như nhận dạng hành động,Hoạt hình, Chơi game, v.v., và ứng dụng cuộc sống hàng ngày của con người như phát hiện bệnh nhân ngã trong các bệnh viện [1], hay hệ thống phát hiện sự kiện ngã cho người cao tuổi [3], [4] Tuy nhiên các nghiên cứu về vấn đề cũng gặp nhiều khó khăn như: sự kết nối giữa các khớp, quần áo và thay đổi ánh sáng.
Các nghiên cứu trên có thể sử dụng thông tin ảnh màu, ảnh độ sâu [1], hay khung xương [5] thu được từ các loại cảm biến Trong đó, cảm biến MS Kinect là một loại cảm biến thông dụng và rẻ tiền có thể thu thập được các thông tin như ảnh màu, ảnh độ sâu, khung xương [125] Tuy nhiên, việc phát hiện các hành động như ngã vẫn còn rất nhiều thách thức [5], [27]. Để ước lượng được tư thế, khung xương của người trên ảnh hoặc video có thể thực hiện theo hai hướng tiếp cận: hướng tiếp cổ điển và hướng tiếp cận dựa trên học sâu (deep learning).
Cách tiếp cận cổ điển để ước lượng tư thế, khớp xương nối giữa các bộ phận sử dụng cấu trúc khung của người trên ảnh Ý tưởng cơ bản là biểu diễn một người bằng một tập hợp các "bộ phận" được sắp xếp theo cấu trúc biến dạng (không cứng nhắc) Mỗi "Phần" là một mẫu xuất hiện một khớp trong ảnh Khi các bộ phận được tham số hóa theo vị trí và hướng điểm ảnh, cấu trúc kết quả có thể mô hình hóa các khớp nối rất phù hợp trong ước lượng tư thế, khung xương của người Điều đó có nghĩa là mỗi khớp trên cơ thể người được đánh số và sắp xếp theo một thứ tự nhất định Ví dụ: khớp cổ phải được nối với đầu và hai vai Do những hạn chế của hướng tiếp cận cổ điển cho việc ước lượng tư thế, khung xương của người, ngày nay với sự phát triển mạnh mẽ của học sâu về phát hiện, nhận dạng và dự đoán hành động là một hướng tiếp cận tốt Hướng tiếp cận này đã thay thế phần lớn các mô hình học thủ công và đồ họa.
Do đó, trong nội dung của phần công việc này, luận án sử dụng học sâu để ước lượng và dự đoán các hành động của người trên dữ liệu video biểu diễn võ của các võ sư và học viên Hướng tiếp cận này dựa trên việc học và dự đoán các điểm đại diện trên mô hình khung xương của người trên bộ dữ liệu COCO [14] và Human 3.6M [85, 88].
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 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ọc trênCPU Đặc biệt, mạng nơ ron tích chập được học và đánh giá trên bộ cơ sở dữ
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á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.
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
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 S, trong đó tập hợp các vector L = L1,
L2, , LC , có C vector trên cơ thể người S Trong đó cơ thể người S được thể hiện bằng J điểm đại diện (Key points), S = S1, S2, , 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 ∈ Rw×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ện X 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 , g 2 ở mỗi giai đoạn sẽ dự đoán bản đồ các vùng nổi bật (heatmaps) như b 1 , b 2 ở 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:
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
St, 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: 3(R,G,B)); 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-ResolutionNetwork) 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 → đến độ phân giải cao NhưngHRNet duy trì các cửa sổ có độ phân giải cao theo các
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)
Hình 2.7 Minh họa kết quả ước lượng khung xương trên ảnh của mô hình đã được huấn luyện trên bộ cơ sở dữ liệu 2016 MSCOCO Keypoints Challenge [23].
2.1.3.2 Cơ sở dữ liệu các bài võ cổ truyền
Kết luận
Việc bảo tồn, lưu trữ và giảng dạy võ cổ truyền là rất quan trọng trong việc giữ gìn bản sắc văn hóa quốc gia cũng như rèn luyện trạng sức khỏe của mỗi cá nhân và tự vệ. Tuy nhiên, hành động của cơ thể (cơ thể, cánh tay, chân) của một võ sư dạy võ thuật không phải lúc nào cũng rõ ràng vì có nhiều khớp bị che khuất Trong phần này, trước tiên luận án đã xem xét một số phương pháp ước lượng tư thế người trong không gian 2-
D trên các hình ảnh RGB Sau đó, đã đề xuất một bộ dữ liệu về võ thuật cổ truyền Việt Nam do các em học sinh phổ thông biểu diễn Đồng thời đề xuất một nghiên cứu so sánh về ước lượng khung xương trên ảnh (không gian 2-D) trong đó nghiên cứu so sánh sử dụng mô hình các mạng CNN để ước lượng các điểm đại điện Cuối cùng, luận án đã trình bày các phương pháp để đánh giá các điểm đại diện và khớp xương ước lượng được Đặc biệt, luận án đã trình bày và đánh kết quả ước lượng khung xương, tư thế người trên ảnh trong không gian 3-D bằng việc chiếu các kết quả ước lượng trong không gian 2-D sang không gian 3-D trên bộ cơ sở dữ liệu võ cổ truyền Việt Nam đã đề xuất và cơ sở dữ liệu võ cổ truyền Nhật Bản, Trung Quốc (MADS) Kết quả ước lượng cho thấy phương thức với mô hình được huấn luyện trên mạng CPM trên bộ cơ sở dữ liệu COCO là tốt nhất (sai số trung bình về khoảng cách là 79.79mm trên cơ sở dữ liệu VNMA và130.59 trên cơ sở dữ liệu MADS).
Hình 2.17 Minh họa kết quả ước lượng khung xương, tư thế người trong không gian 3-D.
Hình 2.18 Minh họa các kết quả ước lượng các điểm đại diện và các khớp nối trên các video võ thuật cổ truyền Các khớp nối của cơ thể người là có màu đỏ; Các khớp nối của tay phải có màu xanh lá cây; Các khớp nối của tay trái có màu giảm dần từ đỏ đến vàng; Các khớp nối của chân phải có màu xanh nước biển; Các khớp nối của chân trái có màu xanh lục. p o i n800 Video 2
Hình 2.19 Đồ thị thể hiện xác suất ước lượng các điểm đại diện trên 3 video võ thuậtIOU cổ truyền có thứ tự là: 2 th , 9 th , 12 th
2-D pose 3-D pose 2-D pose 3-D pose 2-D pose 3-D pose
Hình 2.21 Minh họa việc đánh giá ước lượng khung xương trong không gian 2-D và chiếu sang không gian 3-D.
1400 CMP training by COCO po in ts 1200 CMP training by Human 3.6m
MPJPE (mm)Hình 2.22 Phân bố khoảng cách lỗi giữa các điểm đại diện trên dữ liệu gốc và dữ liệu ước lượng được.
Bảng 2.4 Kết quả ước lượng khung xương trên ảnh và chiếu sang không gian 3-D với 14 điểm xương trên dữ liệu VNMA Kết quả được đánh giá trên độ đo MPJPE theo đơn vị milimet (mm).
Bảng 2.5 Số khung hình đánh giá trong dữ liệu VNMA.
Số khung hình Số khung hình
#Video đánh giá trên dữ liệu gốc
Giá trị độ sâu lớn hơn 0 Giá trị độ sâu bằng 0 Giá trị độ sâu lớn hơn 0 Giá trị độ sâu bằng 0
Hình 2.23 Minh họa ảnh độ sâu thu thập được từ cảm biến MS Kinect v1 trong bộ cơ sở dữ liệu VNMA Vùng màu đen bị xa so với giới hạn đo của cảm biến MS Kinect v1 nên giá trị độ sâu bằng không, còn vùng người, và vùng sàn nhà có màu nâu nên giá trị độ sâu lớn hơn không. Điểm (1) của khung xương ước lượng được bị nằm ngoài vùng d ữ liệu độ sâu Phần tóc của người bị hấp thụ ánh sang hồng ngoại nên b ị mất dữ liệu
Hình 2.25 Minh họa ảnh thu thập được từ cảm biến MS Kinect v1 quá xa.
Bảng 2.6 Kết quả ước lượng khung xương trên ảnh sau đó chiếu sang không gian 3-D trên cơ sở dữ liệu MADS với 14 điểm xương.
Tai_chi_S1 121.4755 145.6657 Tai_chi_S2 107.303 141.7948 Tai_chi_S3 140.8937 177.942 Tai_chi_S4 137.6644 163.3607 Tai_chi_S5 147.1612 160.3719 Tai_chi_S6 124.4179 156.7291 Average 130.5935083 153.7619
6 x 10 4 CMP training by COCO po in ts 5 CMP training by Human 3.6m
4 of k ey 3 Th e nu m be r
MPJPE (mm) on MADS dataset
Hình 2.26 Phân bố lỗi khoảng cách lỗi MPJPE của các cặp điểm đại diện giữa dữ liệu gốc và dữ liệu ước lượng được trên cơ sở dữ liệu MADS.
Bảng 2.7 Số khung hình cho việc đánh giá ước lượng khung xương trên ảnh sau đó chiếu sang không gian 3-D trên cơ sở dữ liệu MADS.
Số khung hình Số khung hình
#Video sử dụng để đánh giá trên dữ liệu gốc
Hình 2.27 Minh họa kết quả ước lượng khung xương trên không gian 2-D (trên ảnh màu) sử dụng CPM trong nghiên cứu của Tome et al [84].
Phục hồi khung xương, tư thế người trong không gian 3-D và bị che khuất 72
Giới thiệu
Ước lượng đầy đủ khung xương, tư thế người trong không gian 3-D từ một ảnh màu là vấn đề vẫn còn rất nhiều thách thức Vì ước lượng trong không gian 3-
D việc trích chọn các đặc trưng cũng như huấn luyện gặp rất nhiều khó khăn do dữ liệu 3-D phức tạp hơn rất nhiều so với dữ liệu trong không gian 2-D (không gian ảnh) Việc ước lượng khung xương, tư thế người trong không gian 3-D được ứng dụng rất nhiều trong thực tế khi tương tác với robot, các nghiên cứu này sẽ tạo ra môi trường tương tác trực quan hơn Ngoài ra ước lượng khung xương, tư thế của người trong môi trường 3-D còn được áp dụng trong nhiều ứng dụng khác như phân tích thể thao, phân tích đánh giá và chơi các trò chơi có đồ họa 3-D, hay trong việc chăm sóc và bảo vệ sức khỏe.
Ví dụ: việc phát hiện khung xương, tư thế người trong không gian 3-D giúp phát hiện các sự kiện ngã của người già trong bệnh viện, hay kết quả ước lượng có thể thấy được đầy đủ hành động của con người trong thế giới thực, giải quyết các trường hợp khi các bộ phận của người bị che khuất Trong luận án này hướng đến việc xây dựng, tái tạo lại môi trường 3-D trực quan trong các video biểu diễn võ thuật cổ truyền Từ đó có thể hướng đến xây dựng các ứng dụng lưu trữ, dạy võ thuật bằng video, đánh giá các bài biểu diễn võ thuật được truyền dạy của học sinh phổ thông Để giải quyết vấn đề này thì thường sử dụng thông tin đầu vào là ảnh màu hoặc ảnh độ sâu và kết quả đầu ra là dữ liệu về khung xương, tư thế người trong không gian 3-D.
Trong luận án này, nghiên cứu sinh thực hiện một nghiên cứu so sánh, từ dữ liệu kết quả ước lượng 2-D tốt sẽ có được kết quả ước lượng 3-D tốt hơn Các kết quả ước lượng khung xương của người trong không gian 3-D được đánh giá trên bộ cơ sở dữ liệu võ thuật cổ truyền Việt Nam và bộ cơ sở dữ liệu võ cổ truyền khác trên thế giới như Tai-Chi, Karate Chúng được đánh giá trên các độ đo về góc, khoảng cách, độ dài của các khớp xương ước lượng được Đặc biệt trong nghiên cứu này luận án đề xuất một phương thức đồng bộ hệ trục tọa độ trong không gian 3-D giữa các bộ cơ sở dữ liệu, để phục vụ cho việc đánh giá Các kết quả được thể hiện trong các phần tiếp theo của nghiên cứu này Cuối cùng luận án thể hiện kết quả ước lượng khung xương khi bị che khuất trong không gian 3-D, trường hợp này không ước lượng được
Hình 2.28 Minh họa việc ước lượng khung xương, tư thế người trong không gian 3-D với dữ liệu bị che khuất Bên trái thể hiện kết quả ước lượng khung xương, tư thế của người trên 2-D với bộ ước lượng [24] Bên phải là kết quả ước lượng tư thế, khung xương của người trong không gian 3-D sử dụng bộ ước lượng của [84]. cứu về phát hiện, nhận dạng, ước lượng đối tượng trong không gian 3-D hay tái tạo lại khung cảnh 3-D vẫn còn rất nhiều các thách thức Để ước lượng khung xương trong không gian 3-D thường được thực hiện theo hai hướng tiếp cận là: ước lượng khung xương 3-D trên một ảnh; ước lượng khung xương trên một chuỗi ảnh [83] Trong đó việc ước lượng khung xương 3-D sử dụng một hình ảnh thì thường thực hiện việc ước lượng khung xương trong không gian 2-D sau đó ánh xạ sang không gian 3-D, nếu sử dụng ảnh màu cho việc ước lượng Khi sử dụng ảnh độ sâu thì thực hiện chiếu vào không gian 3-D dựa trên giá trị độ sâu trong ảnh và thực hiện ước lượng Thường thì quá trình ước lượng khung xương 3-D được thực hiện dựa trên một tập các mẫu khung xương tư thế trong không gian 3-D đã được xây dựng sẵn dựa vào dữ liệu đánh dấu các điểm đại diện và các khớp xương trong không gian 3-D Quá trình ước lượng là quá trình ánh xạ và tìm một mô hình khung xương đã định nghĩa tốt nhất.
Như trong nghiên cứu của Tome và các cộng sự [84] đã đề xuất một hướng tiếp cận cho việc ước lượng khung xương 3-D dựa trên kết ước lượng khung xương trong không gian 2-D (không gian ảnh), sau đó ánh xạ sang không gian 3-D Trong đó bộ dữ liệu khung xương chuẩn bị trước lấy từ dữ liệu gốc của bộ cơ sở dữ liệu Human 3.6M Quá trình so sánh và chọn mô hình khung xương tốt nhất sử dụng PCA (Principal Component Analysis) 2-D được thể hiện như trong Hình 2.29 Trong đó hàm lỗi có giá trị từ 71.36 đến 185.72mm trên bộ cơ sở dữ liệu Human 3.6M.
Mar và các cộng sự [117] đã đề xuất một mạng nơ ron có tên là "Deep Depth Pose (DDP)" Dữ liệu đầu vào của mạng này là bản đồ độ sâu của một người, mạng này thông qua một mạng nơ ron tích chập và dựa trên một tập các tư thế khung xương của người trong không gian 3-D đã chuẩn bị sẵn để đưa ra kết quả là vị trí của các khớp xương trong không gian 3-D như minh họa trong Hình 2.30.
Hình 2.29 Minh họa chuẩn hóa các mô hình trong bộ dữ liệu huấn luyện mô hình khung xương người trong 3-D và việc so sánh khung xương ánh xạ được từ 2-D sang 3-D với bộ dữ liệu huấn luyện [84].
Mô hình trong bài báo này được đánh giá trên hai bộ cơ sở dữ liệu là: "ITOP"
[118] và "UBC3V" [119] Trong đó sai số về độ chính xác trên cơ sở dữ liệu "ITOP" là 10cm (tính theo khoảng cách Euclidean trong không gian 3-D) theo các hướng nhìn và sai số về độ chính xác trên cơ sở dữ liệu "UBC3V" là 98.8% có sai số là 10cm.
Atrevi và các cộng sự [120] đã đề xuất một mô hình mới cho việc ước lượng khung xương, tư thế 3-D của người dựa trên việc phân tích hình dạng bóng 2-D Phương thức này bao gồm 4 phần: thứ nhất là mô phỏng cơ sở dữ liệu hình bóng và bộ xương, thứ hai là phát hiện người và trích xuất hình bóng 2-D, thứ ba là phù hợp hình dạng người và bóng, cuối cùng là nhân rộng ra các bộ phận của toàn bộ khung xương và xác nhận Mô
Hình 2.30 Minh họa mô hình hoạt động của mạng [117]. trưng HOG (Histogram of Oriented Gradients)[121] với các kích thước tăng giảm khác nhau Bước thứ ba là thực hiện việc miêu tả hình dáng của bóng sử dụng các miêu tả hình học của Krawtchouk [122] Bước cuối cùng là so khớp khung xương với mỗi hình bóng trong cơ sở dữ liệu đã được xây dựng.
Trong hướng tiếp cận về ước lượng khung xương, tư thế 3-D của người sử dụng một chuỗi ảnh có nghiên cứu của Rhodin và các cộng sự [123] Trong nghiên cứu này các tác giả đã đề xuất một mô hình ước lượng khung xương, tư thế 3-D của người dựa trên các hình ảnh chụp từ một người ở các góc nhìn khác nhau Trong đó mô hình là một bộ mã hóa và giải mã được huấn luyện trên các hình ảnh để dự đoán khung xương, tư thế của người từ một ảnh đầu vào Sau đó kết quả ước lượng được ánh xạ sang không gian 3-D một cách đơn giản vì tư thế của người trong không gian 3-D đã được xây dựng từ các khung hình của người đó từ các hướng nhìn khác nhau Mô hình ước lượng của bái báo này được thể hiện trong Hình 2.31.
2.2.3 Phục hồi khung xương, tư thế người trong không gian 3-D Để giải quyết vấn đề ước lượng tư thế và chuyển động của con người trong không gian 3-D, quá trình này thường sử dụng các kỹ thuật thị giác máy tính Những nghiên cứu này có thể dựa trên một hình ảnh duy nhất hoặc một chuỗi hình ảnh/ các ảnh từ nhiều hướng nhìn khác nhau Vấn đề ước tính hành động và tư thế của con người được áp dụng trong nhiều ứng dụng như: tương tác giữa người với người (như ngôn ngữ cơ thể hoặc nhận dạng cử chỉ), tương tác của con người với robot, giám sát video (sử dụng để truyền đạt hành động của con người) [83] Để giải quyết ước lượng tư thế người trong không gian 3-D từ một hình ảnh duy nhất, các nghiên cứu này thường được thực hiện từ ước lượng tư thế 2-D (trên ảnh) và sau đó ánh xạ vào không gian 3-D Mô hình thường được áp dụng để ước tính tư thế con người 3 chiều được hiển thị trong Hình 3 của [83].Trong phần này, luận án xem xét chi tiết các nghiên cứu ước
Hình 2.31 Minh họa ước lượng khung xương, tư thế 3-D của người từ một chuỗi hình ảnh [123]. lượng tư thế người trong không gian 3-D theo hai hướng tiếp cận trên Đặc biệt trong vài năm gần đây, số lượng nghiên cứu về ước lượng tư thế người trong không gian 3-D đã được công bố trên nhiều hội nghị và tạp chí uy tín về khoa học máy tính và thị giác máy tính được hiển thị như trong Hình 2.32.
2.2.3.1 Nghiên cứu so sánh về khôi phục khung xương người trong không gian 3-D
Vấn đề ước lượng khung xương, tư thế 3-D của người là một vấn đề có nhiều thách thức như hệ tọa độ của dữ liệu huấn luyện với dữ liệu kiểm tra Hay số lượng và độ phức tạp để tạo nên một mô hình ước lượng các điểm xương trong không 3-D là rất lớn Như đã trình bày thì vấn đề ước lượng khung xương, tư thế 3-D của người thường được giải quyết theo hai hướng là ánh xạ từ kết quả ước lượng trong không gian 2-D và ước lượng dựa trên một chuỗi hình ảnh Trong nghiên cứu này luận án áp dụng hướng tiếp cận của Tome và các cộng sự (CS) [84] và đề xuất một nghiên cứu so sánh để thấy được hiệu năng của của các mạng nơ ron tích chập cho việc ước lượng khung xương, tư thế của người trong không gian 3-D Mô hình được thể hiện trong Hình 2.33.
Phương thức thứ nhất "3-D_COCO_Method": Ước lượng 2-D sử dụng CPM được huấn luyện trên cơ sở dữ liệu COCO [23] + ước lượng 3-D trên nghiên cứu của
Statistics of published studies on the 3-D human pose estimation following each year
Phục hồi khung xương, tư thế người trong không gian 3-D
Để giải quyết vấn đề ước lượng tư thế và chuyển động của con người trong không gian 3-D, quá trình này thường sử dụng các kỹ thuật thị giác máy tính Những nghiên cứu này có thể dựa trên một hình ảnh duy nhất hoặc một chuỗi hình ảnh/ các ảnh từ nhiều hướng nhìn khác nhau Vấn đề ước tính hành động và tư thế của con người được áp dụng trong nhiều ứng dụng như: tương tác giữa người với người (như ngôn ngữ cơ thể hoặc nhận dạng cử chỉ), tương tác của con người với robot, giám sát video (sử dụng để truyền đạt hành động của con người) [83] Để giải quyết ước lượng tư thế người trong không gian 3-D từ một hình ảnh duy nhất, các nghiên cứu này thường được thực hiện từ ước lượng tư thế 2-D (trên ảnh) và sau đó ánh xạ vào không gian 3-D Mô hình thường được áp dụng để ước tính tư thế con người 3 chiều được hiển thị trong Hình 3 của [83].Trong phần này, luận án xem xét chi tiết các nghiên cứu ước
Hình 2.31 Minh họa ước lượng khung xương, tư thế 3-D của người từ một chuỗi hình ảnh [123]. lượng tư thế người trong không gian 3-D theo hai hướng tiếp cận trên Đặc biệt trong vài năm gần đây, số lượng nghiên cứu về ước lượng tư thế người trong không gian 3-D đã được công bố trên nhiều hội nghị và tạp chí uy tín về khoa học máy tính và thị giác máy tính được hiển thị như trong Hình 2.32.
2.2.3.1 Nghiên cứu so sánh về khôi phục khung xương người trong không gian 3-D
Vấn đề ước lượng khung xương, tư thế 3-D của người là một vấn đề có nhiều thách thức như hệ tọa độ của dữ liệu huấn luyện với dữ liệu kiểm tra Hay số lượng và độ phức tạp để tạo nên một mô hình ước lượng các điểm xương trong không 3-D là rất lớn Như đã trình bày thì vấn đề ước lượng khung xương, tư thế 3-D của người thường được giải quyết theo hai hướng là ánh xạ từ kết quả ước lượng trong không gian 2-D và ước lượng dựa trên một chuỗi hình ảnh Trong nghiên cứu này luận án áp dụng hướng tiếp cận của Tome và các cộng sự (CS) [84] và đề xuất một nghiên cứu so sánh để thấy được hiệu năng của của các mạng nơ ron tích chập cho việc ước lượng khung xương, tư thế của người trong không gian 3-D Mô hình được thể hiện trong Hình 2.33.
Phương thức thứ nhất "3-D_COCO_Method": Ước lượng 2-D sử dụng CPM được huấn luyện trên cơ sở dữ liệu COCO [23] + ước lượng 3-D trên nghiên cứu của
Statistics of published studies on the 3-D human pose estimation following each year
Hình302515 0 00 2.32 2000 Thống 2001kê số lượng2006 nghiên 2014 cứu về 2016 ước lượng2017 khung 2018 xương của Jul -19người trong không gian 3-D theo từng năm. được huấn luyện trên Human 3.6m [85] + ước lượng 3-D trên nghiên cứu của Tome
CS [84] Phương thức này sử dụng đầu ra của phương thức 2 (Method 2), Hình 2.9 trong nghiên cứu so sánh về đánh giá ước lượng khung xương trong không gian 2-
D là đầu vào cho ước lượng, khôi phục khung xương trong không gian 3-D.
Phương thức thứ ba "3-D_VNECT_Method": Ước lượng khung xương 2-D và 3-D sử dụng mạng VNect trong nghiên cứu của Mehta CS [127].
Quá trình ước lượng khung xương, tư thế 3-D của người được thực hiện dựa trên việc ánh xạ kết quả ước lượng trong không gian 2-D vào không gian 3-D Thực chất quá trình này là việc so sánh kết quả ước lượng trong không gian 2-D để tìm mô hình tốt nhất trong tập dữ liệu huấn luyện Quá trình này là quá trình đi tìm mô hình khung xương, tư thế, với một góc quay tối ưu, mô hình gần đúng tìm được dựa trên một phân phối Gaussian (hàm lỗi nhỏ nhất) Việc tối ưu ở đây là tối ưu một tập các biến, từ một tập N khung xương 3-D, mỗi biểu diễn là một ma trận Pi (3 × L) các khớp nối 3-D, ở đây i ∈ 1, 2, , N và L là số khớp của người trong 3-D.
Hướng tiếp cận này tìm một ước lượng toàn cục về mức trung bình tư thế 3-D, một bộ ma trận e cơ sở trực giao J và phương sai nhiễu σ, cùng với mỗi lần xoay mẫu Ước lượng khung Ảnh đầu vào xương trên ảnh
3-D_COCO_Method Ước lượng khung xương trong 2-D ( trained CPM- on COCO dataset)
3-D_HUMAN3.6_Method Ảnh RGB đầu Ước lượng khung xương trong 2-D ( trained CPM- vào on Human 3.6H dataset)
3-D_VNECT_Method Ước lượng khung xương trong 2-D sử dụng mô hình Mehta et al.
SIGGRAPH 2017 – trained on MPII, LSP dataset Ánh x ạ sang 3-D nhờ Kết quả ước lượng kỹ thuật so sánh trong 3-D
Human3.6m Ước lượng tư thế 3-D bằng phương thức của Tome et al CVPR 2017
Khung xương, tư thế ước lượng được Ước lượng tư thế 3-D bằng phương thức của Mehta et al SIGGRAPH 2017
Hình 2.33 Minh họa mô hình nghiên cứu so sánh ước lượng khung xương, tư thế trong không gian 3-D.
Ri và các hệ số cơ bản ai để tối thiểu hóa theo công thức sau:
Trong đó, a i e = P j a i,j e j là tương tự tenxơ của phép nhân giữa vectơ và ma trận,
| || 2 2 là chỉ tiêu Frobenius bình phương của ma trận, trục y được giả sử để chỉ lên và ma trận xoay mà Ri được xem là phép xoay so với mặt phẳng đất Một số tham số cơ bản của mô hình CNN trong hướng tiếp cận của Tome CS [84] được thể hiện trong Hình 2.34.
Trong mô hình nghiên cứu so sánh phương thức thứ ba dựa trên nghiên cứu của
Hình 2.34 Minh họa các tham số của mô hình CNN trong Tome CS [84]. khung hình màu (ảnh RGB), sau đó người được cắt bằng một khung bao được phát hiện từ khung hình trước Bản đồ các điểm nổi bật (heatmap) được dự đoán bằng việc sử dụng mạng quy hồi CNN và sau đó được lọc nhờ sử dụng các mẫu khung xương trong cơ sở dữ liệu huấn luyện Cuối cùng các điểm đại diện được ánh xạ sang không gian 3-D.
Mô hình này được đánh giá là có tốc xử lý thời gian thực, có thể hoạt động ởmôi trường ngoài trời Rất thích hợp cho việc xây dựng các ứng dụng tương tác người máy và ở ngoài trời Đặc biệt việc huấn luyện các đặc trưng cho việc học và dự đoán bản đồ các điểm nổi bật là dựa trên mạng ResNet (Deep Residual Networks)
[128], mạng này cung cấp một ý tưởng đột phá cho việc xây dựng bản đồ đặc trưng và huấn luyện Mạng ResNet trong bài báo này được xây dựng trên nền tảng bộ thư viện Tensorflow [129] Mô hình trong mạng này sử dụng cở sở dữ liệu MPII [103], LSP [130], [131] cho việc huấn luyện ước lượng các điểm đại diện, khung xương trên ảnh Và sử dụng cơ sở dữ liệu Human 3.6M [85] và MPI-INF-3DHP [132] cho việc chiếu khung xương trong không gian ảnh sang không gian 3-D.
Một số tham số của mô hình CNN trong [127] được thể hiện ở Hình 2.36.
Hình 2.35 Minh họa kiến trúc mạng VNect [127].
Hình 2.36 Minh họa các tham số của mô hình CNN VNect.
Dữ liệu đầu ra ước lượng khung xương trong không gian 2-D và 3-D dựa trên mô hình trong bài báo này là 21 điểm đại diện theo thứ tự như Hình 2.37 Hình 2.38 minh họa một kết quả ước lượng các điểm đại diện trên ảnh và khung xương trong không gian 3-D.
2.2.3.2 Thí nghiệm và kết quả ước lượng khung xương 3-D
Trong luận án này thưc hiện đánh giá trên 24 video của bộ cơ sở dữ liệu
"VNMA" đã được miêu tả trong phần 2.1.3.2 Và cũng đánh giá trên cơ sở dữ liệuMADS [31] Qua tìm hiểu và thực hiện trên hai nghiên cứu về ước lượng khung xương, tư thế trong không gian 3-D: Thứ nhất mô hình của Tome CS [84] thì có đầu ra là 17 điểm trên khung xương, đã được minh họa và sắp xếp trên Hình2.17 Hướng tiếp cận của Mehta CS [127] thì có đầu ra là 21 điểm đại diện trên khung xương được thể hiện như Hình 2.37 Nên giao của hai tập dữ liệu đầu ra,luận án thực hiện đánh giá kết quả ước lượng khung xương, tư thế trong không
(3) Vai trái (2) Cổ (6) Vai phải
(5) cổ tay trái (16) Xương sống (8) cổ tay phải
(12) Cổ chân trái (14) Cổ chân ph ải
(20) Chân trái (21) Chân ph ải
Hình 2.37 Minh họa sắp xếp thứ tự các khớp trong không gian 3-D của mạng VNect.
Kết quả ước lượng khung xương, tư thế người trong không gian 3-D trên cơ sở dữ liệu VNMA được thể hiện như trong Bảng 2.8.
Hình 2.40 thể hiện phân bố khoảng cách lỗi khi ước lượng khung xương, tư thế người trong không gian 3-D trên cơ sở dữ liệu VNMA với 15 điểm đại diện cho việc đánh giá ở mỗi khung hình.
Như thể hiện ở Bảng 2.8 và Hình 2.40, có thể thấy kết quả ước lượng của phương thức thứ nhất "3-D_COCO_Method" là tốt nhất (sai số về khoảng cách là 170.866 mm).
Hình 2.41 thể hiện một số kết quả ước lượng khung xương trong không gian 3-D trên dữ liệu VNMA với 17 điểm đại diện.
+ Kết quả ước lượng khung xương trong không gian 3-D trên cơ sở dữ liệu MADS Kết quả ước lượng khung xương, tư thế người trong không gian 3-D trên cơ sở dữ liệu MADS được thể hiện như trong Bảng 2.9.
Ước lượng khung xương, tư thế người khi bị che khuất
Trong chương này luận án đã thể hiện được hiệu năng của ước lượng khung xương trong không gian 3-D cho việc ước lượng khung xương, tư thế khi các khớp, các bộ phận của người bị che khuất Từ nghiên cứu cho thấy hiệu năng của các mạng Nơ ron tích chập cho việc ước lượng khung xương, tư thế người Từ đó có thể áp dụng nghiên cứu này vào xây dựng các ứng dụng về khôi phục, lưu trữ,đánh giá, phân tích và dạy võ thuật cổ truyền trong chương tiếp theo.
NHẬN DẠNG VÀ CHẤM ĐIỂM ĐỘNG TÁC VÕ CỔ TRUYỀN VIỆT NAM 91
Giới thiệu
Nhận dạng tư thế người là một đề tài được nhiều người quan tâm và nghiên cứu do có thể ứng dụng vào nhiều lĩnh vực như:
An ninh: có thể giúp nhận biết có tấn công hay bạo lực trong đám đông giúp lực lượng chức năng can thiệp kịp thời, có phương án xử lý.
Giải trí: các trò chơi mang tính tương tác.Hướng dẫn tập thể dục hay tập võ: giúp cho người tập có thể biết được khi nào mình tập sai tư thế, chấm điểm cho mỗi tư thế khi thực hiện đúng một tư thế.
Trong lĩnh vực máy học (machine learning) cũng như thị giác máy tính (computer
Hình 3.1 Minh họa cây quyết định có đi chơi không. vision), cây quyết định (decision tree) là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi một nút trong (internal node) tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định Mô hình cây quyết định được thể hiện như trong Hình 3.1.
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó
[99] Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính [99] Quá trình này được lặp lại một cách đệ quy cho mỗi tập con dẫn xuất Quá trình đệ quy hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất Một bộ phân loại rừng ngẫu nhiên (random forest)
[100] sử dụng một số cây quyết định để có thể cải thiện tỉ lệ phân loại Mô hình của bộ phân loại rừng ngẫu nhiên được thể hiện như trong Hình 3.2.
Hình 3.2 Minh họa mô hình của thuật toán rừng ngẫu nhiên cho việc phân loại Trong đó thuật toán này được áp dụng cho một rừng bao gồm nhiều cây quyết định. một tập dữ liệu cho trước Dữ liệu được cho dưới dạng các bản ghi có dạng:
Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân loại hay tổng quát hóa (x1, x2, x3, ) là các biến sẽ giúp ta thực hiện công việc đó Các kiểu cây quyết, Cây hồi quy (Regression tree) ước lượng các hàm giá có giá trị là số thực thay vì được sử dụng cho các nhiệm vụ phân loại (ví dụ: ước tính giá một ngôi nhà hoặc khoảng thời gian một bệnh nhân nằm viện)
Nhận dạng tư thế người là phân lớp một tư thế thu được từ camera vào một trong các tư thế đã được định nghĩa trước đó ví dụ như: đứng, ngồi, nằm Người mô tả tư thế sẽ biểu diễn trước camera và hệ thống sẽ nhận dạng tư thế đó là tư thế gì Trong nghiên cứu này trình bày về khả năng nhận dạng tư thế tấn công trong bài võ 36 tư thế với dữ liệu thu được từ camera Kinect đã qua ước lượng khung xương 3D, cùng với bộ dữ liệu công bố có sẵn trên mạng Lợi thế của việc sử dụng dữ liệu khung xương thu từ cameraKinect là không bị ảnh hưởng bởi sự thay đổi của ánh sáng hay độ nhiễu của hình ảnh.Nghiên cứu cũng sẽ đưa ra phương pháp trích đặc trưng từ dữ liệu khung xương thu thập được từ camera Kinect Sau đó, bộ dữ liệu sẽ được đem đi huấn luyện bằng mô hình cây phân loại Qua thực nghiệm cho thấy độ chính xác khi nhận dạng tư thế người đạt hơn91% Nhận dạng động tác người tự động là một trong những phần quan trọng trong các ứng dụng tương tác giữa Người- Máy Trong đó xác định thành công hình dáng người chắc chắn có thể giúp một máy tính có thể kiểm soát các động tác khác nhau trên cơ sở của sự tương tác với cùng một mẫu thu nhận trước đó Trong vài thập kỷ qua, đã có nhiều nghiên cứu sâu rộng đã được thực hiện trên cơ sở nhận dạng sinh trắc học, sử dụng các mẫu hành vi khác nhau như dáng đi, gõ bàn phím, biểu diễn múa ba lê hay nhận dạng biểu hiện tâm lý người thông qua các biểu hiện môi, cơ mặt, giọng nói là một trong những cách thức phổ biến của nhận dạng người [94], [95] Nhận dạng dáng đi của con người có lợi thế rất lớn trong sự nhận dạng từ các hình ảnh độ phân giải thấp, nơi các kỹ thuật sinh trắc học khác là không phù hợp vì không đủ thông tin điểm ảnh [96] Võ cổ truyền Việt Nam là một đặc trưng của dân tộc Việt Nam hình thành qua quá trình đấu tranh giải phóng dân tộc Có một đặc điểm cho đến nay là chưa có tính thống nhất cao giữa các môn phái nên vẫn chưa có hệ thống bài mẫu chuẩn hóa toàn thế giới giống các môn võ khác như karatedo hay taewondo vv.
Các nghiên cứu liên quan
Đã có rất nhiều nghiên cứu về đề tài nhận dạng tư thế người tuy nhiên hầu hết sử dụng các thông tin có được từ ảnh màu được chụp bởi camera thường [99], [37], [41]. Trở ngại chính của các phương pháp giải quyết truyền thống là việc trích xuất đặc trưng từ hình ảnh thu được bởi camera thông thường còn nhiều khó khăn do nhiễu, góc chụp, ánh sáng, ảnh hưởng của môi trường Trong khi đó, Microsoft đã phát triển thiết bị Kinect, thiết bị này ngoài khả năng thu được ảnh màu còn có thể cung cấp dữ liệu về độ sâu và theo dõi khung xương của người đứng trước camera Hiện nay, có một số đề tài nhận dạng tư thế người dựa trên dữ liệu cung cấp từ camera Kinect như: TS Lê Thị Lan thực hiện 7 thực nghiệm với 4 cách trích xuất dữ liệu từ khung xương được cung cấp bởi thiết bị Kinect [42], kết quả của đề tài cho thấy độ chính xác cao khi nhận dạng 4 tư thế đứng,ngồi, nằm và cúi người Đề tài “Human gesture recognition using Kinect camera” [43] củaOrasa Patsadu, Chakarida Nukoolkit và Bunthit Watanapa, đề tài này đưa ra sự so sánh giữa 4 phương pháp phân loại là mạng nơron lan truyền ngược, SVM, cây quyết định vàBayes thơ ngây hay "Gesture recognition from Indian classical dance using Kinect" [44] của Sripara Saha, Shreya Ghosh, Amit Konar, Atulya K Nagar sử dụng tọa độ của 11 khớp xương ở phần thân trên để nhận dạng 5 cử chỉ khác nhau Những đề tài trên đều đạt được độ chính xác cao khi sử dụng dữ liệu khung xương từ camera Kinect, tuy nhiên và tiếp theo là kết luận và hướng phát triển Trong biểu diễn võ thuật của các môn thể thao cũng như đào tạo võ thuật cổ truyền, vấn đề biểu diễn hoặc thực hiện đúng và chính xác các hành động trong võ thuật là điều rất quan trọng Biểu diễn đúng giúp có điểm cao trong các cuộc thi Thực hiện đúng các động tác giúp các thế võ có một hiệu năng về lực lớn (nhiều sức mạnh) Võ thuật có vai trò rất lớn trong cuộc sống hàng ngày của con người, võ thuật không chỉ giúp con người rèn luyện sức khỏe và tự vệ mà nó còn giúp con người nâng cao nhận thức Như trong nghiên cứu [98], đã phân tích và đánh giá việc đào tạo võ thuật truyền thống ảnh hưởng đến nhận thức của người lớn Để làm như vậy, bài báo đã sử dụng bài kiểm tra mạng chú ý (ANT) để kiểm tra hai nhóm người tham gia khác nhau: có ít nhất 2 năm kinh nghiệm về Võ thuật và không có kinh nghiệm với môn thể thao này Kết quả được thể hiện cho thấy rằng số năm kinh nghiệm võ thuật một người tham gia môn thể thao này càng lâu thì càng tốt.
Hiện nay hầu như trên thế giới việc đánh giá và chấm điểm các động tác võ thuật cổ truyền hay các các môn thể thao võ thuật thường do con người (ban giám khảo) nhìn nhận và đánh giá bằng cảm nhận Chứ chưa có một hệ thống máy móc nào thực hiện việc đánh giá các động tác trong các bài biểu diễn võ thuật cổ truyền hay trong đào tạo võ thuật.
Cơ sở lý thuyết để nhận diện động tác tấn công và chấm điểm động tác võ 95
3.3.1 Nhận diện động tác tấn công
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 20 khớp xương tuy nhiên tọa độ của 20 khớp xương được dời lại với gốc tọa độ là phần
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, độ
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_FEATURE(A, B, C, D) = 1 if cos(AB~,CD~)>0 (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 Đặc trưng được tính dựa trên độ dài đoạn thẳng nối giữa 2 đỉnh Cụ thể, với đầu vào
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:
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:
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 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 i của tập huấn luyện Trong mẫu này, 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 M0 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).
Trong đó, a¨ i là 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à M 1 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,split_data(M, f) là hàm phân chia tập dữ liệu huấn luyện M với đặc trưng f.
Algorithm 3.2:1 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á
6 f or each f in F EAT U RE_SET :
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
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 mẫu khung xương được gán với các nhãn tấn công và phòng thủ ta tiến hành thử
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:
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
Kết quả: khi test trên tập test thế võ thủ như hình 3.14
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
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
D st = 50, S st = 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 số động tác có độ che khuất cao thì độ chính xác cũng như điểm chấm giảm đi đáng
Hình 3.15 Lấy mẫu chuẩn. 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).