Nhận diện hành động người sử dụng qua thiết bị di động
Hệ thống nhận diện hành động qua cảm biến đeo người đã được nghiên cứu phát triển trên
thế giới và cho kết quả chính xác cao đến trên 90% [1, 7]. Các cảm biến được đặt trên các vị trí
khác nhau trên cơ thể và xác định các hoạt động thông qua việc thu thập dữ liệu cảm biến để chỉ ra
các hành động bình thường và bất thường, sau đó trích chọn đặc trưng dữ liệu, cuối cùng sẽ nhận
diện hành động thông qua việc phân lớp dựa vào việc kết hợp thuật toán như SVM một lớp (oneclass support vector machine) và KNLR (kernel nonlinear regression).
Tuy nhiên, với hệ thống trên có nhiều khó khăn khi áp dụng thực tế do cần nhiều cảm biến
đeo trên người gây sự cồng kềnh, chi phí cao trong nghiên cứu cũng như xây dựng hệ thống kết hợp
giữa phần cứng và phần mềm. Do đó, cần có một hệ thống thích hợp hơn khi ứng dụng vào thực tế,
bài báo đưa ra một hướng tiếp cận là sử dụng các cảm biển trên điện thoại thông minh để nhận diện
hành động sẽ tiện lợi hơn rất nhiều khi điện thoại thông minh được sử dụng rất rộng rãi trên toàn
thế giới.
Bài báo sử dụng tín hiện thu được từ cảm biến gia tốc, từ trường và trọng lực, bước đầu
nhận diện giữa hai hoạt động di chuyển - dừng, bước tiếp theo sẽ nhận diện thêm trạng thái lái xe,
đi bộ trong di chuyển.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Tóm tắt nội dung tài liệu: Nhận diện hành động người sử dụng qua thiết bị di động
am, thanhlt@vimaru.edu.vn, 2Trường CĐ Công nghiệp và Xây dựng Tóm tắt Bài báo trình bày một thuật toán cho phép nhận diện hành động hàng ngày của con người như di chuyển, dừng thông qua dữ liệu của các cảm biến gia tốc, từ trường và trọng lực trên điện thoại thông minh. Thuật toán thực hiện qua ba bước: ghi dữ liệu các cảm biến theo khung thời gian thực, sau đó xử lý dữ liệu cảm biến đưa ra những đặc trưng phù hợp để nhận diện hành động. Bước tiếp theo dữ liệu được qua bộ máy học để dự đoán hành động dựa trên bộ dữ liệu huấn luyện đã được lấy mẫu trước đó. Kết quả nhận diện các hoạt động của thuật toán cho độ chính xác từ 88 đến 92%. Từ khóa: Nhận diện hành động, gia tốc kế, từ trường kế, cảm biến trọng lực. Abstract The paper describes an algorithm to recognize human activities in real-time such as moving, stopping activities by using data collected from smartphone sensors including accelerometers, magnetic and gravity. The algorithm performed through three steps. Firstly, we collect the sensors’ data in real-time. After that, the data will be processed to find out features which are used to detect the activities. In the third step, the processed data will be sent to the machine for prediction of activities based on the trained data that is sampled previously. The recognition rates of the algorithm ranges from 88 to 92%. Keywords: Activity recognition, accelerometers, magnetic, gravity. 1. Tổng quan Hệ thống nhận diện hành động qua cảm biến đeo người đã được nghiên cứu phát triển trên thế giới và cho kết quả chính xác cao đến trên 90% [1, 7]. Các cảm biến được đặt trên các vị trí khác nhau trên cơ thể và xác định các hoạt động thông qua việc thu thập dữ liệu cảm biến để chỉ ra các hành động bình thường và bất thường, sau đó trích chọn đặc trưng dữ liệu, cuối cùng sẽ nhận diện hành động thông qua việc phân lớp dựa vào việc kết hợp thuật toán như SVM một lớp (one- class support vector machine) và KNLR (kernel nonlinear regression). Tuy nhiên, với hệ thống trên có nhiều khó khăn khi áp dụng thực tế do cần nhiều cảm biến đeo trên người gây sự cồng kềnh, chi phí cao trong nghiên cứu cũng như xây dựng hệ thống kết hợp giữa phần cứng và phần mềm. Do đó, cần có một hệ thống thích hợp hơn khi ứng dụng vào thực tế, bài báo đưa ra một hướng tiếp cận là sử dụng các cảm biển trên điện thoại thông minh để nhận diện hành động sẽ tiện lợi hơn rất nhiều khi điện thoại thông minh được sử dụng rất rộng rãi trên toàn thế giới. Bài báo sử dụng tín hiện thu được từ cảm biến gia tốc, từ trường và trọng lực, bước đầu nhận diện giữa hai hoạt động di chuyển - dừng, bước tiếp theo sẽ nhận diện thêm trạng thái lái xe, đi bộ trong di chuyển. THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 416 Hình 1. Mô hình nhận diện hành động với cảm biến đeo trên người 2. Nhận diện hành động Cũng như hệ thống nhận diện qua cảm biến, nhận diện trên điện thoại thông minh cũng qua hai giai đoạn huấn luyện và nhận diện thực tế. Hình 2. Mô hình nhận diện với cảm biến trên điện thoại thông minh 2.1. Huấn luyện dữ liệu Giai đoạn huấn luyện ban đầu yêu cầu một bộ dữ liệu gồm các thuộc tính đo lường được từ mỗi hoạt động, ở đây là năng lượng gia tốc và tần số hoạt động. Chuỗi thời gian được chia thành các cửa sổ thời gian để áp dụng trích chọn đặc trưng qua đó lọc thông tin liên quan trong các tín hiệu gia tốc đầu vào, qua thực nghiệm bài báo sử dụng cửa sổ thời gian 1 giây để đảm bảo số lượng mẫu cho phân lớp và độ trễ khi chuyển trạng thái. Sau cùng, mô hình học máy thống kê được sử dụng để huấn luyện ra một mô hình nhận dạng hoạt động từ bộ dữ liệu các đặc trưng đã được trích chọn. Trên điện thoại thông minh có tích hợp bộ cảm biến, mỗi cảm biến có chức năng riêng của nó. Trên nền hệ điều hành Android hỗ trợ ba loại cảm biến: - Cảm biến hành động: chúng bao gồm cảm biến gia tốc, cảm biến trọng lực, cảm biến con quay, cảm biến vectơ quay; Dữ liệu cảm biến trong môi trường thí nghiệm Tiền xử lý tín hiệu Lọc, trích chọn đặc trưng tần số, năng lượng Huấn luyện Mô hình Dữ liệu cảm biến trong môi trường thực Tiền xử lý tín hiệu Lọc, trích chọn đặc trưng tần số, năng lượng Phân lớp kết quả Chuyển động người dùng HUẤN LUYỆN DỮ LIỆU NHẬN DIỆN HÀNH ĐỘNG THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 417 - Cảm biến đo vị trí của một thiết bị vật lý: cảm biến từ trường, cảm biến phương hướng, cảm biến tiệm cận; - Cảm biến môi trường (áp kế, quang kế và nhiệt kế) đo các thông số khác nhau về môi trường như áp lực xung quanh và nhiệt độ không khí, độ ẩm và ánh sáng. Trong bài báo quan tâm đến dữ liệu từ cảm biến gia tốc, từ trường và trọng lực. Tín hiệu sau khi thu được sẽ được lọc thông qua bộ lọc thông thấp trước khi trích chọn đặc trưng. Cảm biến gia tốc kế Hình 1. Cảm biến gia tốc kế Một cảm biến gia tốc đo gia tốc áp dụng cho thiết bị theo 3 trục tọa đã loại bỏ thành phần của trọng lực. Cảm biến gia tốc xác định gia tốc được áp dụng cho một thiết bị (Ad) bằng cách tự đo lường các lực được áp dụng cho các cảm biến (Fs) sử dụng công thức sau: Ad = - ∑ Fs /mass (1) Tuy nhiên, lực hấp dẫn luôn luôn ảnh hưởng tới việc đo lường gia tốc được tính theo công thức sau đây: Ad = -g - ∑ Fs /mass (2) Vì vậy, khi thiết bị đang đứng yên (và không tăng tốc), gia tốc nhận giá trị của g = 9,81 m/s2. Tương tự như vậy, khi thiết bị này rơi tự do và đang tăng tốc hướng tới mặt đất với gia tốc là 9,81 m/s2, cảm biến gia tốc sẽ đọc một giá trị của g = 0 m/s2. Vì vậy, để đo lường gia tốc thực sự của thiết bị, cần loại bỏ sự ảnh hưởng của trọng lực khỏi dữ liệu gia tốc bằng cách áp dụng một bộ lọc thông thấp. Nhìn chung, cảm biến gia tốc là một cảm biến rất hữu ích trong việc theo dõi hành động thiết bị. Hầu hết các thiết bị cầm tay và máy tính bảng hỗ trợ Android đều có một cảm biến gia tốc và tiết kiệm năng lượng 10 lần so với cảm biến hành động khác. Một hạn chế là cần triển khai bộ lọc thông thấp để loại bỏ lực hấp dẫn và giảm nhiễu. Bảng 1. Các thông số từ trường kế Giá trị Kiểu dữ liệu Đơn vị Timestamp long milliseconds Values[0] : X float m/s2 Values[1] : Y float m/s2 Values[2] : Z float m/s2 Cảm biến từ trường kế Cảm biến từ trường là một la bàn điện tử 3 trục, có thể dùng để xác định phương hướng. Cảm biến từ trường đo cường độ và hướng của từ trường tại vị trí của thiết bị. THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 418 Bảng 2. Các thông số từ trường kế Giá trị Kiểu dữ liệu Đơn vị Timestamp long Milliseconds Values[0] : X float µT(micro Tesla) Values[1] : Y float µT(micro Tesla) Values[2] : Z float µT(micro Tesla) Hình 2. Cảm biến từ trường Cảm biến trọng lực Cảm biến trọng lực có nguồn gốc từ cảm biến gia tốc kế 3 trục, đo các thành phần vectơ của trọng lực khi điện thoại đang đứng yên hoặc di chuyển chậm. Cảm biến trọng lực được sử dụng phổ biến trong điều khiển trò chơi bằng cách sử dụng hành động nghiêng. Cảm biến trọng lực gồm 3 thành phần X,Y,Z như hình dưới. Bảng 3. Các thông số gia tốc trọng lực Giá trị Kiểu dữ liệu Khoảng giá trị Đơn vị Timestamp long milliseconds Values[0]: X float Min.value= -19.6 Max.value = 19.6 m/s2 Values[1]: Y float Min. value = -19.6 Max. value = 19.6 m/s2 Values[2]: Z float Min. value = -19.6 Max. value = 19.6 m/s2 Hình 3. Cảm biến trọng lực THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 419 Trích chọn đặc trưng Đưa vào nghiên cứu đã có, bài báo đưa ra các đặc trưng tín hiệu hành động theo ba trục, gia tốc chiều dọc [8], chiều ngang [8], độ di động [10], độ phức hợp [10]. Hình 4. Quá trình trích chọn đặc trưng Huấn luyện dữ liệu Theo các nghiên cứu, với dữ liệu hành động của người dùng khi điện thoại để cố định tại một số vị trí trên người cho các kết quả tương đối giống nhau khi áp dụng các mô hình phân loại khác nhau. Tuy nhiên với các vị trí bất kỳ thì kết quả sẽ khác biệt rất nhiều so với từng đối tượng và hành động. Qua cài đặt và thử nghiệm, nhóm tác giả lựa chọn mô hình huấn luyện theo Random Forest [11] và đưa ra mô hình cho việc nhận diện thực tế. Số lượng dữ liệu mẫu cho mỗi hành động đi bộ, chạy, đi xe là 300 mẫu, riêng với hành động dừng sẽ thu 200 mẫu cho từng trạng thái ngồi, đứng yên, ngồi trên xe. Tổng số lượng dữ liệu mẫu là 1500 mẫu. 2.3. Nhận diện hành động Để đưa ra hành động của người sử dụng, bài báo thực hiện qua các bước (hình 7): thu tín hiệu từ môi trường thực, tiền xử lý, trích chọn các đặc trưng, sau đó đưa vào mô hình huấn luyện đã có để phát hiện hành động. Hành động này chưa phải là kết quả cuối cùng do trong quá trình trích chọn có thể đưa ra dự đoán sai, hệ thống lưu lại hành động đã dự đoán được theo cửa sổ trượt độ lớn 5 và áp dụng phân lớp k - NN để đưa ra kết quả cuối cùng. Hình 5. Quá trình nhận diện Tín hiệu Vectơ đặc trưng: - Năng lượng gia tốc ngang - Năng lượng gia tốc dọc - Độ đo di động ngang - Độ độ di động dọc - Độ đo phức hợp ngang Dự đoán theo mô hình RandomF orest Phân lớp K- NN Lưu cửa sổ trượt THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 420 3. Kết quả đạt được Hệ thống nhận diện được thiết kế bao gồm hai pha hoạt động riêng rẽ là huấn luyện và nhận diện hoạt động. Việc thu và huấn luyện dữ liệu diễn ra như sau: - Dữ liệu được ghi lại bởi thiết bị Android có tích hợp cảm biến gia tốc, cảm biến từ trường kế, cảm biến trọng lực. Tần số lẫy mẫu được lấy mặc định theo tần số lấy mẫu nhanh nhất của thiết bị Android; - Thành phần gia tốc kế bao gồm thời gian ghi dữ liệu và giá trị gia tốc kế theo 3 trục; - Dữ liệu từ trường kế và trọng lực bao gồm dữ liệu theo 3 trục. Mỗi lượt chương trình thực hiện trong 5 phút: đi bộ, chạy, đi xe, đừng (ngồi, đứng yên, ngồi trên xe nổ máy không di chuyển). Trên giao diện chương trình, người dùng chọn hoạt động cần lấy mẫu và ấn nút start để bắt đầu và chương trình sẽ thu dữ liệu. Với hoạt động được thu nhiều lần thì tên dữ liệu thu được có kèm theo thứ tự lần ghi. Trong quá trình thu dữ liệu chương trình thu đồng thời dữ liệu của 3 cảm biến gia tốc kế, từ trường kế, cảm biến trọng lực, xử lý trực tiếp qua mỗi cặp dữ liệu 3 cảm biến này sẽ ra dữ liệu cảm biến gia tốc đã qua đổi trục và ghi liên tục vào file lấy mẫu được lưu ở bộ nhớ trong của điện thoại. Các trạng thái trong quá trình ghi dữ liệu là: đặt điện thoại trong túi quần, cầm điện thoại trên tay cố định, hoặc cầm điện thoại và để điện thoại hành động tự nhiên theo tay. Bộ dữ liệu huấn luyện được ghi lại của nhiều người với độ tuổi khác nhau, với 3 tư thế để điện thoại theo người như trên. Việc phân lớp sử dụng bộ thư viện weka trên di động. Mẫu dữ liệu dừng Mẫu dữ liệu di chuyển Hình 6. Mẫu dữ liệu thu thập Hệ thống cho kết quả nhận diện với các trạng thái thực hiện ngẫu nhiên các hành động liên tiếp của 10 người khác nhau bao gồm đi bộ, chạy, đi xe và dừng. Với trạng thái bao gồm đứng, ngồi ghế, ngồi trên xe nổ máy. Mỗi hành động trong thời gian 100 - 300 giây, các máy thực nghiệm cài hệ điều hành Android 4.2 trở lên. Kết quả nhận diện như sau: Bảng 4. Kết quả thực nghiệm TT Thời gian (giây) Hình thức Độ trễ khi chuyển trạng thái (Di chuyển Dừng) Độ chính xác 1 500 Đi xe trên 40 km/h- dừng xe (5 lượt) 7-8s 92,8% 2 500 Đi xe dưới 40 km/h- dừng xe (5 lượt) 6-8s 94,2% 3 500 Đi xe tự do - dừng xe (5 lượt) 6-8s 90,5% 4 300 Đi bộ - dừng - chạy (3 lượt) 5-6s 94,3% 5 300 Chạy - dừng - đi bộ (3 lượt) 5-6s 94,6% 6 500 Đi bộ - dừng - đi xe tự do (5 lượt) 6-8s 88.5% 7 500 Đi xe tự do - dừng- đi bộ(5 lượt) 6-8s 89.3% THE INTERNATIONAL CONFERENCE ON MARINE SCIENCE AND TECHNOLOGY 2016 HỘI NGHỊ QUỐC TẾ KHOA HỌC CÔNG NGHỆ HÀNG HẢI 2016 421 Kết quả thực nghiệm trên là khá khả quan, hệ thống nhận diện tốt khi các hành động diễn ra trong khoảng thời gian dài. Tuy nhiên thời gian chuyển trạng thái vẫn còn tương đối lớn nên không đáp ứng được khi người dùng thay đổi hành động nhanh, khi thay đổi hành động xảy ra việc nhận diện sai. Trong thời gian tới, nhóm tác giả sẽ tiếp tục phát triển để có thể phân biệt rõ các hành động và giảm thời gian trễ khi chuyển giữa các hành động. Tài liệu tham khảo [1]. Nan Lu, Jihong Wang, Q.H. Wu and Li Yang. An Improved Motion Detection Method for Real-Time Surveillance. IAENG International Journal of Computer Science. (2008). [2]. P. Turaga, R. Chellappa. V. Subrahmanian, and O. Udrea, Machine recognition of human activities: A survey. IEEE Transactions on Circuits and Systems for Video Technology. (2008). vol. 18, no. 11. pp. 1473-1488. [3]. Ivan Laptev, Serge J. Belongie, Patrick Perez and Josh Wills. Periodic Motion Detection and Segmentation via Approximate Sequence Alignment. IRISA/INRIA Rennes Campus universitaire de Beaulieu 35042 Rennes Cedex France. (2005). [4]. J. Yin, Q. Yang, and J. Pan. Sensor-based abnormal human-activity detection. IEEE Transactions on Knowledge and Data Engineering. (2008). vol. 20, no. 8. pp. 1082-1090. [5]. O. D. Lara, A. J. Perez, M. A. Labrador, and J. D. Posada. A human activity recognition system based on acceleration and vital sign data. Journal on Pervasive and Mobile Computing. (2011). [6]. U. Maurer, A. Smailagic, D. P. Siewiorek, and M. Deisher. Activity recognition and monitoring using multiple sensors on different body positions. International Workshop on Wearable and Implantable Body Sensor Networks. (2006). [7]. F. Foerster, M. Smeja, and J. Fahrenberg. Detection of posture and motion by accelerometry: a validation study in ambulatory monitoring. Computers in Human Behavior. (1999). vol. 15, no. 5, pp. 571-583. [8]. S. Reddy, M. Mun, J. Burke, D. Estrin, M. Hansen, and M. Srivastava. Using mobile phones to determine transportation modes. ACM Transactions on Sensor Networks, (2010). vol. 6, no. 2. pp. 1-27. [9]. C. V. C. Bouten, K. T. M. Koekkoek, M. Verduin, R. Kodde and J.D. Janssen. A Triaxial Accelerometer and Portable Data Processing Unit for the Assessment of Daily Physical Activity. IEEE Transactions on Biomedical Engineering. (1997). Vol. 44, No. 3. [10]. F. S. Bao, J. M. Gao, J. Hu, D. Y. C. Lie, Y. Zhang and K. J. Oommen. Automated Epilepsy Diagnosis Using Interictal Scalp EEG. In Proceedings of IEEE Engineering in Medicine and Biology Society. (2009). [11]. Yu L. Pavlov. Random Forests. Walter de Gruyter. (2000). [12]. Daniel T. Larose and Chantal D. Larose. Discovering Knowledge in Data: An Introduction to Data Mining- Second Edition. (2014). John Wiley & Sons.
File đính kèm:
- nhan_dien_hanh_dong_nguoi_su_dung_qua_thiet_bi_di_dong.pdf