Đăng ký Đăng nhập
Trang chủ Nhận diện hành động qua video ...

Tài liệu Nhận diện hành động qua video

.PDF
90
1
135

Mô tả:

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH ——————– * ——————— LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NHẬN DIỆN HÀNH ĐỘNG QUA VIDEO Ngành: KHOA HỌC MÁY TÍNH : KHOA HỌC MÁY TÍNH Hội đồng Giảng viên hướng dẫn : TS. Nguyễn Đức Dũng Giảng viên phản biện : ThS. Trần Ngọc Bảo Duy Sinh viên thực hiện : Trần Hữu Thức (1713454) Đỗ Đăng Khôi (1711807) TP. Hồ Chí Minh, 07/2021 Lời cam đoan Chúng tôi xin cam đoan đây là công trình nghiên cứu của riêng chúng tôi dưới sự hướng dẫn của thầy Nguyễn Đức Dũng. Nội dung nghiên cứu và các kết quả đều là trung thực và chưa từng được công bố trước đây. Các số liệu được sử dụng cho quá trình phân tích, nhận xét được chính chúng tôi thu thập từ nhiều nguồn khác nhau và sẽ được ghi rõ trong phần tài liệu tham khảo. Ngoài ra, chúng tôi cũng có sử dụng một số nhận xét, đánh giá và số liệu của các tác giả khác, cơ quan tổ chức khác. Tất cả đều có trích dẫn và chú thích nguồn gốc. Nếu phát hiện có bất kỳ sự gian lận nào, chúng tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn tốt nghiệp của mình. Trường đại học Bách Khoa thành phố Hồ Chí Minh không liên quan đến những vi phạm tác quyền, bản quyền do chúng tôi gây ra (nếu có) trong quá trình thực hiện. Nhóm sinh viên thực hiện đề tài. Lời ngỏ Để có kết quả nghiên cứu thành công như hiện tại, ngoài nỗ lực không ngừng của mình, nhóm đã nhận được sự hỗ trợ và giúp đỡ của rất nhiều người, đơn vị khác. Lời đầu tiên, nhóm xin gửi lời cảm ơn chân thành đến Nhà trường Đại học Bách Khoa - Đại học Quốc gia TP.HCM nói chung và khoa Khoa học và Kỹ thuật Máy tính nói riêng đã cung cấp cơ sở vật chất cũng như tài liệu để phục vụ cho nghiên cứu lần này. Lời cảm ơn đặc biệt đến thầy Nguyễn Đức Dũng - người trực tiếp hướng dẫn cũng như cung cấp kiến thức thiết thực, giúp cho việc hoàn thành đề tài của nhóm trở nên dễ dàng hơn. Xin cảm ơn tất cả thầy cô khoa Khoa học và Kỹ thuật Máy tính, các thầy cô, cán bộ nhân viên trường Đại học Bách Khoa - Đại học Quốc gia TP.HCM đã truyền đạt kiến thức giảng đường cũng như kinh nghiệm sống, và hơn hết là niềm cảm hứng cho chúng tôi trong suốt quá trình học tập và rèn luyện ở ngôi trường này. Tuy nhiên trong quá trình hoàn thành đề tài, chắc chắn nhóm vẫn còn nhiều sai sót chưa được cải thiện. Do đó nhóm mong muốn nhận được những ý kiến quý báu từ thầy cô và các độc giả để bài báo cáo được trở nên hoàn thiện hơn. Kính chúc quý thầy cô sức khỏe và thành công trên con đường giảng dạy và trong cuộc sống. Tóm tắt nội dung Ngày nay trí tuệ nhân tạo đang đóng vai trò quan trọng trong cuộc sống, nhiệm vụ của ngành khoa học máy tính này là để giúp cho máy móc có thể tương tác với con người tốt hơn. Những năm gần đây, nhu cầu máy móc tương tác con người càng cao. Một bài toán đang được chú ý là nhận nhiện hành động con người để giúp máy hiểu được cử chỉ và phản ứng lại với các hành động cụ thể. Ứng dụng của bài toán này rất phổ biến trong cuộc sống, từ trật tự an ninh (chống trộm), đến an toàn giao thông (phát hiện người qua đường), tương tác bằng cử chỉ trong các hệ thống nhà thông minh. Mục tiêu của luận văn này, là tập trung nghiên cứu phương pháp giải quyết bài toán nhận diện hành động con người trong video, từ đó tiến tới mục tiêu cuối cùng là xây dựng được hệ thống nhận nhiện hành động con người từ camera. Mục lục Danh sách bảng iv Danh sách hình vẽ v 1 Giới thiệu 1 1.1 Đặt vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Mục tiêu nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Phạm vi nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Cấu trúc của luận văn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Khảo sát đề tài 5 2.1 Khái quát . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Thách thức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 Dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.5 Khảo sát các phương pháp truyền thống . . . . . . . . . . . . . . . . . . . . . 10 2.5.1 Phương pháp biểu diễn dữ liệu toàn cục . . . . . . . . . . . . . . . . . 10 2.5.2 Phương pháp biểu diễn dữ liệu cục bộ . . . . . . . . . . . . . . . . . . 11 Khảo sát các phương pháp học sâu . . . . . . . . . . . . . . . . . . . . . . . . 14 2.6 3 Kiến thức nền tảng 18 3.1 Đồ thị (Graph) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.1 Định nghĩa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.2 Phân loại đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.3 Các khái niệm trong đồ thị . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.4 Cách máy tính biểu diễn ma trận . . . . . . . . . . . . . . . . . . . . . 19 i 3.1.5 3.2 3.3 3.4 4 5 Biểu diễn skeleton bằng đồ thị . . . . . . . . . . . . . . . . . . . . . . 21 Kiến thức cơ bản về trí tuệ nhân tạo, học máy và học sâu . . . . . . . . . . . . 22 3.2.1 Phân loại phương pháp học . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1.1 Học giám sát (supervised learning) . . . . . . . . . . . . . . 22 3.2.1.2 Học không giám sát (unsupervised learning) . . . . . . . . . 22 3.2.1.3 Học bán giám sát (semi-supervised learning) . . . . . . . . . 23 3.2.1.4 Học tăng cường (reinforcement learning) . . . . . . . . . . . 24 3.2.2 Mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) . . . . . . . 24 3.2.3 Hàm kích hoạt (Activation function) . . . . . . . . . . . . . . . . . . . 26 3.2.4 Lan truyền ngược (Back propagation) . . . . . . . . . . . . . . . . . . 28 3.2.5 Hàm mất mát (Loss function) . . . . . . . . . . . . . . . . . . . . . . 29 3.2.6 Phép nhân tích chập ma trận (Convolution) . . . . . . . . . . . . . . . 30 3.2.7 Phép hợp nhất (Pooling) . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.8 Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) . . . . 32 3.2.9 Mạng nơ-ron hồi quy (Recurrent Neural Network - RNN) . . . . . . . . 34 3.2.10 Mạng nơ-ron tích chập trên đồ thị (Graph Neural Network - GNN) . . . 35 Phương pháp đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.1 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.2 Precision và recall . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.3 F1 Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Vấn đề thường gặp của học máy . . . . . . . . . . . . . . . . . . . . . . . . . 37 Phương pháp đề xuất 40 4.1 MediaPipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2 Tổng quan về mô hình nhận diện hành động bằng dữ liệu skeleton . . . . . . . 42 4.3 Mô-đun trích xuất đặc trưng không gian (SGCN) . . . . . . . . . . . . . . . . 44 4.4 Mô-đun trích xuất đặc trưng thời gian (TGCN) . . . . . . . . . . . . . . . . . . 48 Thực nghiệm 55 5.1 Xử lý tập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.2 Benchmark evaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.1 Cross-Subject Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2.2 Cross-View Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6 5.3 Tổng quan về quy trình huấn luyện . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4 Quá trình huấn luyện mô hình tuần tự . . . . . . . . . . . . . . . . . . . . . . 62 5.5 Quá trình huấn luyện mô hình song song . . . . . . . . . . . . . . . . . . . . . 65 5.6 Một số so sánh với mô hình tham khảo . . . . . . . . . . . . . . . . . . . . . . 69 Tổng kết 71 6.1 Kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 Hạn chế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.3 Phương hướng phát triển . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Tài liệu tham khảo 74 Danh sách bảng 5.1 Độ chính xác của mô hình tuần tự trên hai tập dữ liệu và epoch tương ứng . . . 63 5.2 Độ chính xác của mô hình song song trên hai tập dữ liệu và epoch tương ứng . . 67 5.3 Confusion matrix khi chọn class 8 là positive class . . . . . . . . . . . . . . . 68 5.4 Bảng so sánh độ chính xác của các mô hình . . . . . . . . . . . . . . . . . . . 69 iv Danh sách hình vẽ 2.1 Phân loại hành động (nguồn [19]). . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Phát hiện hành động (nguồn [19]). . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Ví dụ về dữ liệu độ sâu (nguồn [21]). . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Ví dụ về dữ liệu skeleton (nguồn [21]). . . . . . . . . . . . . . . . . . . . . . . 9 2.5 Các tập dữ liệu phổ biến cho bài toán nhận diện hành động. . . . . . . . . . . . 10 2.6 MEI (nguồn [2]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.7 MHI (nguồn [2]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.8 Minh họa các interest points được detect trên người đi bộ (nguồn [18]). . . . . . 13 2.9 Quỹ đạo di chuyển của skeleton. . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.10 Mô hình tích chập 3D (nguồn [17]). . . . . . . . . . . . . . . . . . . . . . . . 14 2.11 Mô hình CNN 2 luồng (nguồn [32]). . . . . . . . . . . . . . . . . . . . . . . . 15 2.12 Mô hình CNN và LSTM (nguồn [22]). . . . . . . . . . . . . . . . . . . . . . . 15 2.13 Chiến lược phân vùng các khớp (nguồn [37]). . . . . . . . . . . . . . . . . . . 16 2.14 Skeleton được tăng cường (nguồn [31]). . . . . . . . . . . . . . . . . . . . . . 17 3.1 Ví dụ đồ thị vô hướng có chu trình (nguồn [5]). . . . . . . . . . . . . . . . . . 18 3.2 Ma trận liền kề của đơn đồ thị vô hướng có trọng số (nguồn [4]). . . . . . . . . 20 3.3 Danh sách liền kề của đơn đồ thị có hướng không trọng số (nguồn [4]). . . . . . 20 3.4 Danh sách liên thuộc của đơn đồ thị có hướng không trọng số (nguồn [4]). . . . 20 3.5 Graph model cho khung xương người (nguồn [31]). . . . . . . . . . . . . . . . 21 3.6 Quá trình dự đoán của mô hình 1-nearest-neighbor với 100 điểm chưa gán nhãn màu xanh (green) (nguồn [43]). . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.7 Tương tác agent-environment trong học tăng cường (nguồn [13]). . . . . . . . 24 3.8 Cấu trúc của một nơ-ron (nguồn [1]) . . . . . . . . . . . . . . . . . . . . . . . 25 3.9 Mạng nơ-ron nhân tạo (nguồn [1]). . . . . . . . . . . . . . . . . . . . . . . . . 25 v 3.10 Hàm sigmoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.11 Hàm tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.12 Hàm Relu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.13 Hàm Leaky ReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.14 Khảo sát sự biến thiên của một đa thức bậc hai (nguồn [33]). . . . . . . . . . . 28 3.15 Phép correlation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.16 Ví dụ về Max Pooling và Average Pooling (nguồn [38]) . . . . . . . . . . . . . 32 3.17 Mạng RNN (nguồn [6]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.18 Giải thuật random walk (nguồn [3]) . . . . . . . . . . . . . . . . . . . . . . . 35 3.19 Minh họa trực quan bias và variance (nguồn [11]). . . . . . . . . . . . . . . . 39 4.1 Xác định vùng điểm ảnh chứa người (nguồn [10]) . . . . . . . . . . . . . . . . 41 4.2 Mô hình Pose Tracker (nguồn [10]) . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3 Kiến trúc mô hình tuần tự . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4 Kiến trúc mô hình song song . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.5 Biểu diễn dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.6 Lớp AGCN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.7 Skeleton được tăng cường (nguồn [31]) . . . . . . . . . . . . . . . . . . . . . . 46 4.8 Mark vector cho video. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.9 Kiến trúc mô-đun SGCN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.10 Kiến trúc Mô-đun TGCN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.11 Positional encoding (nguồn [7]). . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.12 Cấu trúc một khối Transformer encoder. . . . . . . . . . . . . . . . . . . . . . 52 4.13 Minh họa tương quan giữa các khung hình. . . . . . . . . . . . . . . . . . . . . 54 5.1 Phân bố các tập dữ liệu theo mỗi benchmark. . . . . . . . . . . . . . . . . . . 57 5.2 Một khung hình trong video có hành động throw. . . . . . . . . . . . . . . . . 59 5.3 Các kế hoạch huấn luyện mô hình . . . . . . . . . . . . . . . . . . . . . . . . 62 5.4 Đồ thị biểu diễn quá trình huấn luyện mô hình tuần tự theo benchmark cross-view 64 5.5 Đồ thị biểu diễn quá trình huấn luyện mô hình tuần tự theo benchmark cross- 5.6 subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Confusion Matrix của mô hình tuần tự ở benchmark cross-subject . . . . . . . 65 5.7 Sự thay đổi trọng số attention giữa 15 khung hình đầu tiên của một video trong mô hình tuần tự. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.8 Các attention của 8 heads trong mô hình tuần tự. . . . . . . . . . . . . . . . . . 66 5.9 Đồ thị biểu diễn quá trình huấn luyện mô hình song song theo benchmark crossview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.10 Đồ thị biểu diễn quá trình huấn luyện mô hình song song theo benchmark crosssubject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.11 Confusion Matrix của mô hình song song ở benchmark cross-subject . . . . . . 69 5.12 Đồ thị biểu diễn độ chính xác các kiến trúc. . . . . . . . . . . . . . . . . . . . 70 5.13 Đồ thị biểu diễn giá trị hàm mất mát các kiến trúc. . . . . . . . . . . . . . . . 70 Chương 1 Giới thiệu 1.1 Đặt vấn đề Nhận diện hành động qua video là một bài toán trong lĩnh vực thị giác máy tính, đã và đang được nghiên cứu rộng rãi trên thế giới. Nhiều nghiên cứu đã cho ra các kết quả thành công ở những mức độ khác nhau, song vẫn còn nhiều thách thức cần được chinh phục. Mục tiêu chính của dạng bài toán này là phân tích những thông tin trong một video, chọn ra những thông tin hữu ích cho mục đích phân loại hành động, từ đó xác định tên hành động được các đối tượng thực hiện. Các ứng dụng nổi bật của việc nhận diện hành động con người có thể kể đến như hệ thống phát hiện hành động bất thường (móc túi, trộm cắp), các hệ thống nhận diện và dự đoán hành động con người trong thời gian gần (nhận diện con người băng qua đường cho xe tự hành) hay các thiết bị thông minh tương tác với hành động con người (điều khiển smart TV bằng cử chỉ). Những ứng dụng kể trên đóng vai trò quan trọng trong rất nhiều lĩnh vực khác nhau của đời sống, trong đó, giám sát an ninh, y tế, thể thao là các ví dụ điển hình. Dưới góc nhìn của thị giác máy tính, bản chất video có 2 khía cạnh thông tin quan trọng, thông tin về không gian được thể hiện ở dạng các khung hình (frame) riêng lẻ của video, mỗi khung hình biểu diễn các giá trị điểm ảnh với tọa độ đi kèm, bên cạnh đó thông tin về thời gian lại được thể hiện ở thứ tự của các khung hình này, biểu diễn sự thay đổi vị trí của các điểm ảnh theo chiều thời gian. Đối với các hành động đơn giản như đứng, ngồi thì ta không khó để có thể xác định được tên hành động từ khía cạnh không gian, vì đây là những hành động được đặc trưng chủ yếu bởi dáng vẻ (pose), tuy nhiên với các hành động phức tạp hơn như chạy, đi bộ, té ngã hay uốn cong người lại đòi hỏi nhiều hơn một khung hình để có thể phân biệt được đó là 1 GIỚI THIỆU hành động nào. Dữ liệu dạng chuỗi này mang lại nhiều thách thức khác hẳn so với xử lý hình ảnh tĩnh thông thường, do các đặc tính về thời gian, lượng dữ liệu cần phải lớn hơn, từ đó cần có những phương pháp đặc thù để thao tác hiệu quả. Hiện nay, đã có nhiều công trình nghiên cứu về xử lý dữ liệu dạng chuỗi cho bài toán đề cập, song vẫn còn một số vấn đề tồn đọng, cụ thể có những phương pháp độ chính xác chưa thực sự tốt, hay cũng có những phương pháp tuy độ chính xác khá cao, song khó có thể áp dụng vào thực tế do chi phí bỏ ra là quá lớn so với lợi ích mang lại. Từ những ứng dụng thực tiễn trong cuộc sống hằng ngày, cùng với nhiều thách thức của bài toán vẫn chưa được chinh phục, chúng tôi quyết định thực hiện đề tài Nhận diện hành động qua video với mong muốn dùng những kiến thức học được, tìm tòi nghiên cứu được, để tạo ra một sản phẩm đáng tin cậy với độ chính xác cao và khả năng ứng dụng tốt vào thực tế. 1.2 Mục tiêu nghiên cứu Với những động lực đã nói, chúng tôi đưa ra mục tiêu của đề tài là xây dựng một hệ thống có chức năng ghi nhận dữ liệu video, phân tích và xác định tên hành động được thực hiện trong video sử dụng các kỹ thuật học sâu. Song, với thời gian thực hiện luận văn là có hạn, cũng như trình độ chưa cho phép, chúng tôi quyết định điều chỉnh phạm vi nghiên cứu về nhận diện hành động của con người trong video (phạm vi cụ thể được mô tả chi tiết trong mục 1.3). Để đảm bảo việc hoàn thành mục tiêu hiệu quả, chúng tôi lên kế hoạch nghiên cứu cụ thể như sau: • Định hình lại bài toán bằng cách xác định rõ ràng về phạm vi, yêu cầu cần giải quyết, đầu vào và đầu ra của bài toán được chọn. • Sau khi hiểu rõ về bài toán, tiếp tục tìm hiểu về mức độ sẵn sàng của nguồn dữ liệu, đây sẽ là tiền đề cho những mục tiêu tiếp theo. • Khảo sát, tiến hành thực nghiệm và phân tích những hướng đi đã có, cũng như tính khả thi của những hướng đi tiềm năng của đề tài để có cái nhìn tổng quan, từ đó đưa ra phương hướng tiếp cận đúng đắn nhất có thể. • Từ các kết quả khảo sát, nhóm tiến hành đề xuất giải pháp cụ thể cho bài toán được chọn. • Chuẩn bị các kiến thức nền tảng bổ trợ cần thiết cho đề tài nói chung và hướng tiếp cận nói riêng, đồng thời xây dựng hệ thống pipeline huấn luyện, phục vụ cho quá trình thực nghiệm được hiệu quả hơn. 2 GIỚI THIỆU • Tiến hành thực nghiệm giải pháp của nhóm, đo đạc, so sánh kết quả và đưa ra các cải tiến cho mô hình. Lặp lại quá trình để được kết quả tốt nhất. • Đánh giá tổng quan lại kết quả đạt được đồng thời tìm ra các vấn đề tồn đọng chưa được giải quyết và đề xuất các hướng phát triển trong tương lai. • Thực hiện demo đơn giản nhằm chứng minh tính khả thi của kết quả nghiên cứu. 1.3 Phạm vi nghiên cứu Với những hạn chế đã nói ở trên, chúng tôi xác định phạm vi nghiên cứu của luận văn cụ thể như sau: • Không gian: Dữ liệu huấn luyện được thu thập là không gian trong nhà do các hạn chế về cảm biến thu nhận. Các không gian khác nhau về góc nhìn camera, khoảng cách camera, background, trang phục người thể hiện hành động [30]. • Thời gian: Thời gian thu thập dữ liệu là vào năm 2016 [30] .Thời gian thực hiện đề tài nghiên cứu là thời điểm từ tháng 9 năm 2020 đến thời điểm báo cáo luận văn này. • Đối tượng nghiên cứu: Hành động của một hoặc hai người và độ tuổi của những người thực hiện hành động là từ 10 tới 35 tuổi [30]. Các hành động được chọn nằm trong nhóm các hành động thường ngày (daily action). 1.4 Cấu trúc của luận văn Luận văn được tổ chức thành 6 chương. Chương 1, phần giới thiệu tổng quan đề tài nhận diện hành động qua video, gồm ứng dụng và thách thức của bài toán cũng như động lực nghiên cứu, tiếp sau là mục tiêu và cấu trúc của bài báo cáo luận văn. Trong chương 2, chúng tôi tập trung đi vào các khảo sát liên quan tới bài toán đang nghiên cứu. Thực hiện phân tích ưu nhược điểm của từng phương pháp để có cái nhìn khách quan hơn về bài toán, trước khi đi vào sâu hơn về hướng tiếp cận của nhóm. Ở chương 3, nhóm tập trung trình bày các kiến thức nền tảng trí tuệ nhân tạo, học máy và kiến thức toán học liên quan tới đề tài nghiên cứu. Bên cạnh đó, một số công cụ hỗ trợ trong quá trình hiện thực đề tài cũng được nhắc đến trong phần này. Chương 4 sẽ giới thiệu phương pháp cụ thể chúng tôi đề xuất để giải quyết bài toán nhận diện hành động qua video. Chương 5 liệt kê kết quả của nhóm và cũng là minh chứng cho tính khả thi của đề tài, đồng thời thực hiện so sánh các kết quả đạt được. Chương cuối cùng, chương 6 - Tổng kết, 3 GIỚI THIỆU ở chương này, chúng tôi phân tích những kết quả đạt được trong toàn bộ quá trình thực hiện luận văn, các ưu điểm cũng như khuyết điểm còn tồn đọng, từ đó đề xuất cải tiến trong tương lai. 4 Chương 2 Khảo sát đề tài Trong chương này, chúng tôi trình bày khảo sát về bài toán Nhận diện hành động trong video. Bao gồm: ứng dụng và thách thức của bài toán, nguồn dữ liệu, phương pháp truyền thống, phương pháp học sâu, và đặc biệt phương pháp mới xuất hiện nhiều trong hai năm trở lại đây và đạt được các kết quả đáng ngạc nhiên, đó là phương pháp học máy dựa trên đồ thị (graph based machine learning). 2.1 Khái quát Nhận diện hành động (action recognition) của con người có thể được chia thành hai loại theo phương pháp là Phát hiện hành động (action detection) và Phân loại hành động (action classification) [41]. • Phân loại hành động (hình 2.1) là quá trình xác định hành động trong đoạn video được cắt ngắn và chỉ chứa duy nhất một hành động cần được phân loại. Đây là bước được các nhà nghiên cứu quan tâm từ rất sớm và đạt nhiều thành tựu. Hình 2.1: Phân loại hành động (nguồn [19]). 5 KHẢO SÁT ĐỀ TÀI • Phát hiện hành động (hình 2.2) là quá trình tìm ra khoảng thời gian bắt đầu và kết thúc của hành động trong một video dài chứa nhiều hành động. Đây là một bước tiến so với phân loại hành động và mang tính ứng dụng cao. Hình 2.2: Phát hiện hành động (nguồn [19]). Các kỹ thuật nhận diện hành động còn có thể được chia làm 4 loại dựa trên tính chất hành động [41]: • Nhận diện hành động cơ bản của một bộ phận trên cơ thể như vẩy tay, nhấc chân. • Nhận diện hành động của nhiều bộ phận phối hợp nhau trên một cơ thể như đi bộ, nhảy xa. • Nhận diện hành động có sự tương tác giữa người và đối tượng khác như đánh đàn, cầm dao. • Nhận diện hành động của một nhóm người như biểu tình, họp nhóm ... 2.2 Ứng dụng Nhận diện hành động của con người có tính ứng dụng cao và nhận được sự quan tâm mạnh mẽ của cộng đồng, có thể kể đến các ứng ứng và công trình nghiên cứu như: Giám sát an ninh Nhu cầu về giám sát để đảm bảo an ninh, tìm và phát hiện các nguy hiểm, rủi ro là phổ biến. Tuy nhiên để vận hành hệ thống bằng sức người lại rất tốn kém chi phí mà lại không thể đảm bảo giám sát liên tục vì con người khác với máy tính, chúng ta không thể làm việc mà không nghỉ ngơi. Nhiều nghiên cứu sử dụng các phương pháp đơn giản để hiện thực tính ứng dụng này đã được đề xuất với độ chính xác cao, như bài báo [15] đã trình bày phương pháp sử dụng MHI để trích xuất suất đặc trưng thủ công và sử dụng SVM để phân loại từ đó phát hiện hành động té ngã. Đây là ứng dụng thiết thực đối với người già thường ở nhà một mình. Tìm kiếm video theo hành động Ứng dụng này giúp ta phát hiện, tìm kiếm nhanh các đoạn video theo hành động như ăn cắp, xả rác, hay các hành động vi phạm giao thông nhanh chóng. David Doermann và Daniel 6 KHẢO SÁT ĐỀ TÀI DeMenthon đã đề xuất phương pháp chia video giám sát thành các video ngắn có độ dài nữa giây, từ đó gán nhãn và lưu trữ dưới cấu dữ liệu dạng cây để phục vụ truy vấn [20]. Tương tác cử chỉ với robot Hiện nay, các trợ lý ảo nhân tạo đã đạt khả năng xử lý ngôn ngữ tốt, chúng có thể hiểu và phản hồi lại người dùng. Có thể kể đến như Alexa của Amazon, Google assistant của Google, Siri của Apple, Cortana của Microsoft. Tuy nhiên con người không chỉ giao tiếp bằng lời nói, để tạo cảm giác tương tác thật nhất với robot, thì chúng cần hiểu thêm giao tiếp bằng cử chỉ, hình thể và thậm chí là cảm xúc trên gương mặt. Ví dụ một cái lắc tay để yêu cầu robot dọn dẹp, hoặc vẩy tay để chuyển sang tập phim tiếp theo trên smart TV. Ứng dụng này hiện tại vẫn chưa được sử dụng phổ biến ở Việt Nam, các công ty ở Việt Nam như Gotech (gotech.vn - cung cấp màn hình thông minh cho xe), Lumi (lumi.vn - giải pháp nhà thông minh), Kiki (kiki.zalo.ai - trợ lý ảo của Zalo Group) hiện tại vẫn đang chủ yếu cung cấp giải pháp tương tác bằng ngôn ngữ. Giải trí, Game thực tế ảo Ngành công nghiệp game gần đây đã phát triển các trò chơi thực tế ảo dựa trên chuyển động tương tác của toàn bộ cơ thể người như nhảy, ném, ... nhằm tạo trải nghiệm chân thật nhất. Để cho phép nhận diện chính xác hành động của con người, những trò chơi này sử dụng những sensor (ví dụ Kinect), chúng sẽ cung cấp thêm những dữ liệu về chiều sâu, hoặc tọa độ các khớp giúp ích cho việc nhận diện hành động. Đi đầu trong ứng dụng này có thể kể đến Microsoft, với sản phẩm máy chơi game Xbox (xbox.com) và kính thực tế ảo Hololens (microsoft.com/en-us/hololens). Xe tự hành Thuật toán phát hiện hành động là một trong những thuật toán quan trọng của xe tự hành. Xe cần dự đoán hành động của con người xung quanh xe trong một khoảng thời gian ngắn để điều hướng quỹ đạo nhằm đảo bảo an toàn tuyệt đối cho con người. Tuy nhiên để đảm bảo tuyệt đối chính xác chính là thách thức lớn của ứng dụng này. Tiên phong trong lĩnh vực này có thể kể đến Google với sản phẩm Google Car đã lăn bánh trong phạm vị thung lũng Silicon, hiện tại dự án này đã tách thành công ty Waymo (waymo.com) thuộc tập đoàn Alphabet. Hệ thống phát hiện lỗi trong thể thao Năm 2018 là hệ thống VAR (video assistant referees) của FIFA đã ra đời để hỗ trợ trọng tài đưa ra quyết định về lỗi [27]. Hệ thống này phát hiện các nhầm lẫn của trọng tài như bắt lỗi việt vị, các thẻ đỏ hoặc thẻ vàng. 7 KHẢO SÁT ĐỀ TÀI Có thể thấy bài toán nhận diện hành động trong video mang lại nhiều tính ứng dụng thực tiễn trong đời sống, vì vậy nhóm quyết định tìm hiểu về bài toán này. 2.3 Thách thức Dữ liệu theo thời gian Thách thức đầu tiên phải nói đến là dữ liệu. Khác với với tập dữ liệu ảnh tĩnh, chỉ có các chiều dữ liệu không gian, tập dữ liệu cho bài toán này còn mở rộng thêm chiều thời gian. Thách thức đặt ra là ta cần tìm một phương pháp trích xuất được tốt kiến thức của cả chiều không gian và thời gian. Đã có nhiều phương pháp được đưa ra, có thể kể đến các phương pháp thủ công 2.5, các phương pháp học sâu 2.6. Tuy nhiên các cách trích xuất này chưa thực sự tốt cho kiểu dữ liệu skeleton, có dạng dữ liệu đồ thị. Trong tài liệu này nhóm trình bày cách ứng dụng mô hình transformer nhằm trích xuất kiến thức về thời gian. Các hành động có nhiều biến thể Cùng là một hành động nhưng chúng thường được thực hiện ở nhiều biến thể khác nhau. Đơn giản như chạy thì ta có chạy chậm và chạy nhanh. Ngoài ra các hành động lại còn được ghi lại ở các góc nhìn khác nhau (phía trước, phía nghiêng trái hoặc phải, phía sau ...). Đặc thù cơ thể của mỗi người lại nhiều điểm khác nhau như cao thấp, mập ốm. Và còn những hành động dễ bị nhầm lẫn ngay cả đối với con người ví dụ như uốn cong người hay té. Tính khả thi khi áp dụng vào thực tế Tùy vào từng bài toán thực thế mã có những ràng buộc khắt khe riêng. Như bài toán phát hiện té ngã, phát hiện trộm, tốc độ xử lý là phải gần như ngay lập tức sau khi hành động được thực hiện, ngoài ra mô hình cần đáp ứng tính không bỏ sót (recall cao), ví dụ như mô hình phải luôn luôn nhận biết được hành động té ngã để cảnh báo, nhưng vẫn cho phép mô hình đôi lúc cảnh báo sai dù không có hành động té ngã (precision vừa phải). Dữ liệu ít và không bao phủ nhiều hành động Mặc dù có nhiều phương pháp trả về độ chính xác cao trên các tập dữ liệu. Tuy nhiên đây lại là các dữ liệu được thu thập từ phòng thí nghiệm, chưa thể khái quát được hành động trong thực tế với các bối cảnh khác nhau. Các tập dữ liệu thường tập trung vào 1 nhóm hành động, thu thập từ internet với thông số video không đồng nhất. Có thể thấy đây là bài toán còn nhiều thách thức để giải quyết khi ứng dụng vào môi trường 8
- Xem thêm -

Tài liệu liên quan