Nhận dạng hoạt động của người bằng điện thoại thông minh
Abstract: In this paper we propose a method and
system for recognizing everyday human activities by
utilizing the acceleration sensing data from the
accelerometer instrumented in smart phones. In our
method, human activities are recognized in four steps:
data processing, data segmentation, feature
extraction, and classification. We rigorously
experimented on a dataset consisting of 6 everyday
activities collected from 17 users using several
machine learning algorithms, including support vector
machine, Naïve Bayesian networks, k-Nearest
Neighbors, Decision Tree C4.5, Rule Induction, and
Neutral networks. The best accuracies are achieved by
Decision Tree C4.5 that demonstrates the human
activities can be distinguished with 82% precision and
83% recall under the leave-one-subject out evaluation
protocol. These results have shown the feasibility of
smart phone based real-time activity recognition. In
addition, the proposed method based on Decision Tree
has been deployed on Samsung smart phones and is
able to recognize 6 human activities in real-time.
Tóm tắt nội dung tài liệu: Nhận dạng hoạt động của người bằng điện thoại thông minh
Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 - 33 - Nhận dạng hoạt động của người bằng điện thoại thông minh Human Activity Recognition Using Smart Phones Nguyễn Thắng Ngọc, Phạm Văn Cường Abstract: In this paper we propose a method and system for recognizing everyday human activities by utilizing the acceleration sensing data from the accelerometer instrumented in smart phones. In our method, human activities are recognized in four steps: data processing, data segmentation, feature extraction, and classification. We rigorously experimented on a dataset consisting of 6 everyday activities collected from 17 users using several machine learning algorithms, including support vector machine, Naïve Bayesian networks, k-Nearest Neighbors, Decision Tree C4.5, Rule Induction, and Neutral networks. The best accuracies are achieved by Decision Tree C4.5 that demonstrates the human activities can be distinguished with 82% precision and 83% recall under the leave-one-subject out evaluation protocol. These results have shown the feasibility of smart phone based real-time activity recognition. In addition, the proposed method based on Decision Tree has been deployed on Samsung smart phones and is able to recognize 6 human activities in real-time. Keywords: Activity Recognition, Feature Extraction, Mobile Device, Accelerometer, Machine Learning. I. GIỚI THIỆU Tự động nhận dạng hoạt động của người (human activity recognition – HAR) đang thu hút được sự quan tâm của cộng đồng nghiên cứu vì có nhiều ứng dụng thực tế như: trợ giúp chăm sóc sức khỏe [1], trợ giúp theo dõi chế độ ăn kiêng (dietary monitoring) [2], ước lượng lượng calorie tiêu thụ ở người (energy expenditure estimation) [3] v.v.. Mặc dù các nghiên cứu về nhận dạng hoạt động của người đã và đang đạt được những kết quả đáng kể, nhưng phần lớn các nghiên cứu này đã phát triển và triển khai các phương pháp nhận dạng trên máy tính cá nhân. Điều này làm hạn chế giới hạn không gian thực hiện các hoạt động của người (không quá xa để dữ liệu cảm biến có thể kết nối được với máy tính) khiến cho việc thực hiện nhận dạng của người bị giới hạn trong một phòng [12], trong một ngôi nhà [4,15,17,20] hay trong bếp [2,11,13,16]. Trong khi đó khả năng tính toán và số lượng [5] của các điện thoại thông minh ngày càng được nâng cao với sự tích hợp của các bộ vi xử lý đa nhân (multicore processors), bộ nhớ đệm và các bộ cảm biến như cảm biến gia tốc, cảm biến nhiệt, cảm biến định vị v.v.. Những tài nguyên tính toán này có thể sẽ cho phép chúng ta triển khai và thử nghiệm các phương pháp học máy và nhận dạng thích hợp trên điện thoại thông minh. Nếu được như vậy thì các hoạt động hàng ngày của người có thể được nhận dạng mọi nơi, mọi lúc. Các nghiên cứu trước đây tiếp cận bài toán nhận dạng hoạt động của người theo ba phương pháp: phân tích hình ảnh hoạt động của người bằng camera hay còn gọi thị giác máy (computer vision), phân tích dữ liệu cảm biến từ các bộ cảm biến được tích hợp vào môi trường hoặc vật dụng (pervasive sensing) và phân tích dữ liệu cảm biến từ các bộ cảm biến được đeo trên người (wearable sensing). Trong cách tiếp cận bằng thị giác máy [11,12], hình ảnh từ camera được tiến hành tiền xử lý, trích chọn các đặc trưng và phân loại. [11] nhận dạng các đối tượng (vật dụng, thức ăn) và đề Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 - 34 - xuất một mạng Bayes để suy diễn các hoạt đông nấu nướng, trong khi [12] đề xuất một biến thể của mô hình Markov ẩn được huấn luyện từ các đặc trưng (tư thế của người) để suy diễn hoạt động. Việc sử dụng camera để nhận dạng hoạt động thường yêu cầu các hoạt động của người bị giới hạn trong không gian hẹp. Hơn nữa, hiệu suất nhận dạng thường chịu ảnh hướng bởi các yếu tố từ môi trường như: ánh sáng, hình ảnh bị che khuất v.v.. Trong khi đó thì cách tiếp cận cảm biến tỏa khắp (pervasive sensing) sử dụng các bộ cảm biến được tích hợp vào môi trường [4,15,16,17,18] hoặc tích hợp vào vật dụng [2,13,16] khắc phục được nhược điểm này. Tuy nhiên cách tiếp cận bằng cảm biến tỏa khắp thường yêu cầu sử dụng nhiều bộ cảm biến khiến chi phí khá cao và yêu cầu môi trường phải được thiết lập trước chẳng hạn như phải đặt bộ cảm biến vào môi trường trước khi con người thực hiện các hoạt động. Ngược lại, sử dụng cảm biến đeo trên người [8,9,10,18] có thể nhận dạng hoạt động của người trong phạm vi rộng hơn (như tòa nhà) mà không cần phải sử dụng nhiều bộ cảm biến và thiết lập môi trường trước (pre-setting). Chẳng hạn, một trong những nghiên cứu trước đây của chúng tôi [18] chỉ sử dụng 2 Wii Remotes, một loại thiết bị có chi phí khá thấp (25$) thường được sử dụng trong các trò chơi tương tác, đeo ở thắt lưng và tay để nhận dạng 14 hoạt động hàng ngày của người với độ chính xác (precision) và độ bao phủ (recall) tới hơn 90%. Khác với điện thoại là thiết bị có thể được mang theo người mọi nơi, mọi lúc, Wii khá cồng kềnh và chưa phù hợp để đeo cả ngày trên người. Hơn nữa, chương trình phân tích dữ liệu cảm biến và thuật toán nhận dạng (mô hình Markov ẩn) trong nghiên cứu [18] được triển khai trên máy tính cá nhân nên cần được cải tiến cho phù hợp khi triển khai trên thiết bị di động. Một số ít các nghiên cứu trước đây đã nghiên cứu triển khai phương pháp và hệ thống nhận dạng hoạt động của người trên điện thoại thông minh [6,7]. Các nghiên cứu này thường có hai điểm hạn chế là: tập dữ liệu thử nghiệm thường không lớn và các phương pháp nhận dạng đề xuất chưa phù hợp cho nhận dạng các hoạt động của người trong ngữ cảnh thời gian thực. Ví dụ như Jennifer và các cộng sự [6] đã đề xuất một phương pháp nhận dạng để nhận dạng 6 hoạt động: đi bộ, chạy tại chỗ, đi lên cầu thang, đi xuống cầu thang, ngồi và đứng. Các mẫu dữ liệu thu thập từ các điện thoại thông minh Nexus One, HTC Hero và Motorola back-flip được trích chọn các đặc trưng. Những đặc trưng này được sử dụng để huấn luyện và kiểm thử một số bộ phân loại từ Weka [21]. Kết quả cho thấy bộ phân loại perceptron đa lớp (multi-layer perceptron) cho kết quả cao nhất với độ chính xác 91.7%. Hạn chế chính của nghiên cứu này là thời gian huấn luyện và nhận dạng của mạng perceptron đa lớp thường chậm trong các trường hợp số lớp và số lượng nút mạng trong từng lớp tăng. Điều này không phù hợp cho việc nhận dạng hoạt động trong thời gian thực. Một nghiên cứu khác [7] đề xuất thuật toán hỗ trợ máy véc tơ đa lớp (multi-class support vector machine) để nhận dạng 6 hoạt động: đi bộ, đi lên cầu thang, đi xuống cầu thang, nằm xuống, ngồi và đứng. Mặc dù đạt được độ chính xác trung bình là 89% nhưng [7] cũng chưa phù hợp cho nhận dạng hoạt động của người trong thời gian thực. Bởi vì hoạt động tự nhiên của người không bị giới hạn chỉ trong 6 hoạt động trên trong khi bất cứ hoạt động nào của người thì sẽ được hệ thống [6,7] phân loại là một trong sáu hoạt động mà họ đã thử nghiệm. Trong nghiên cứu này, chúng tôi đề xuất một phương pháp nhận dạng hoạt động của người trên điện thoại thông minh được kế thừa từ nghiên cứu trước đây của chúng tôi [18]. Đây là phương pháp có khả năng nhận dạng các hoạt động của người trong thời gian thực bao gồm cả những hoạt động chưa được gán nhãn khi huấn luyện (unknown activities hay other activities). Nhưng khác với [18], chúng tôi đề xuất một tập các đặc trưng mới phù hợp với vị trí và cấu hình của cảm biến gia tốc trong các điện thoại thông minh hiện nay và tiến hành thử nghiệm các đặc trưng này trên 6 thuật toán khác nhau và so sánh các kết quả. Trong đó, thuật toán cho kết quả tốt nhất sẽ được cài đặt (implementation) trên điện thoại thông minh để nhận dạng các hoạt động của người trong thời gian thực. Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 - 35 - Hình 1. Điện thoại Samsung Galaxy Note 2 (trái) và vị trí đặt điện thoại (phải) II. PHƯƠNG PHÁP NHẬN DẠNG HOẠT ĐỘNG CỦA NGƯỜI Trong phần này chúng tôi trình bày các bước nhận dạng hoạt động của người, bao gồm: tiền xử lý dữ liệu (pre-processing), phân đoạn dữ liệu (segmentation), trích chọn các đặc trưng (feature extraction), và phân loại (classification). Phần này kết thúc bằng trình bày về quá trình triển khai (implementation) thuật toán cho nhận dạng hoạt động của người trong thời gian thực. II.1. Tiền xử lý dữ liệu Do dữ liệu cảm biến thường chứa nhiễu (noise). Trong trường hợp lý tưởng khi hoạt động ở tần số 100 Hz thì ta sẽ thu được 100 mẫu từ cảm biến gia tốc trong 1 giây. Trên thực tế, vì nhiều lý do ảnh hưởng bởi môi trường hoặc chính thiết bị nên số mẫu thu được có thể ít hơn 100 mẫu trong một giây. Trong trường hợp này chúng tôi sử dụng kỹ thuật nội suy Spline [19] để tái tạo (resampling) các mẫu đã mất do nhiễu. Ngoài ra, giá trị cảm biến có thể biến đổi bất thường (abnormal) quá cao hoặc quá thấp (có thể do va đập hay do chuyển động bất thường của người) thì chúng tôi áp dụng kỹ thuật lọc dải thông cao (high- pass filtering [22]) để loại bỏ giá trị cảm biến cao bất thường và kỹ thuật lọc dải thông thấp (low-pass filtering [22]) để loại bỏ giá trị cảm biến thấp bất thường. II.2. Phân đoạn dữ liệu Dòng dữ liệu cảm biến biến đổi liên tục theo thời gian với tần số 100 mẫu/giây. Để nhận dạng các hoạt động của người trong một khoảng thời gian xác định thì dòng dữ liệu này phải được phân đoạn thành các cửa sổ trượt (sliding windows). Các nghiên cứu [8, 13,18] đã chỉ ra rằng kích thước của cửa số trượt ảnh hưởng đáng kể đến độ chính xác nhận dạng của thuật toán học máy. Tùy theo ứng dụng mà ta có thể lựa chọn độ dài cửa sổ trượt sao cho phù hợp. Chẳng hạn [8] chọn cửa sổ trượt có độ dài 4,3 giây để nhận dạng các hoạt động như lau nhà (cleaning), đạp xe (cycling) trong khi [13] lựa chọn cửa số trượt với độ dài 1,5 giây để nhận dạng các hoạt động nấu nướng như thái (chopping), trộn thức ăn (stirring) v.v. Trong nghiên cứu này, chúng tôi lựa chọn cửa sổ trượt có độ dài là 2 giây với thời gian chồng lấn giữa 2 cửa sổ trượt kế tiếp nhau là 1 giây (50% overlapping). Việc lựa chọn này dựa trên kết quả một thực nghiệm kiểm tra chéo 4 lần (4-fold cross validation) trên một tập dữ liệu con (subset) đối với các cửa sổ có kích thước: 1 giây (độ chính xác 73,4%), 1,5 giây (độ chính xác: 75,1%), 2 giây (độ chính xác: 78,3%), và 3 giây (độ chính xác: 77,9%). Như vậy khi hệ thống chạy trong thời gian thực thì kết quả nhận dạng sẽ được trả về sau 1 giây. Việc lựa chọn độ dài cửa sổ như vậy là hợp lý vì trong các hoạt động mà chúng tôi nhận dạng có một số hoạt động diễn ra trong khoảng thời gian tương đối ngắn như: nhảy (jumping) và ngồi xuống (sitting). Hơn nữa, với cửa sổ trượt là 2 giây hệ thống nhận dạng sẽ tránh được trì hoãn khi thực hiện nhận dạng các hoạt động trong thời gian thực. II.3. Trích chọn các đặc trưng Lựa chọn ra các đặc trưng là công việc quan trọng cần được tiến hành trước khi huấn luyện các mô hình học máy. Với các thuật toán học máy được triển khai trên thiết bị di động thì việc trích chọn các đặc trưng còn bị ràng buộc bởi tài nguyên tính toán hạn chế. Chính vì vậy, trong số các đặc trưng được trích chọn trong nghiên cứu này, có một số đặc trưng được kế thừa từ nghiên cứu [23]. Với mỗi cửa sổ trượt với độ dài 2 giây chứa 200 mẫu dữ liệu (sau pha tiền xử lý), chúng tôi trích chọn ra 6 đặc trưng. Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 - 36 - Trước hết, hai tín hiệu bất biến với độ nghiêng (tilt invariant) từ tín hiệu gia tốc 3 chiều tại thời điểm t được tính như sau: 0a (t) = [a0x(t), a0y(t), a0z(t)] (1) Vec tơ độ nghiêng được tính bằng trung bình cộng của các giá trị 0(t) trên N mẫu với N là số mẫu trong một cửa sổ trượt (N=200). (2) Sau đó các góc nghiêng (tilt angles) θ1 và θ2 được tính bằng đẳng thức sau: (3) (4) Véc tơ gia tốc bù độ nghiêng (tilt compensated acceleration vector) là: (5) Véc tơ gia tốc trọng trường và bù độ nghiêng tức thời: (6) Để loại bỏ các nhiễu do việc xoay (orientation) cảm biến gia tốc (do hướng điện thoại có thể bị thay đổi khi đang thực hiện hoạt động) thì giá trị x và y được xem như là 2 thành phần (thực và ảo) của một số phức. Đặc trưng được trích chọn từ hai tín hiệu gia tốc theo chiều dọc và cường độ tín hiệu gia tốc theo chiều ngang: (7) Hai đặc trưng đầu tiên được trích chọn là: - Năng lượng gia tốc theo chiều dọc (vertical accelerometer energy: VE): (8) - Năng lượng gia tốc theo chiều ngang (horizontal accelerometer energy: HE): (9) Bốn đặc trưng còn lại là: Hjorth chuyển động (Hjorth mobility: HM) [23]: mô tả các đường cong hình dạng (curve) của chuyển động bằng việc tính trung bình các độ dốc tương đối (relative slope). Công thức tính HM như sau: HM= ))(var( ))(var( tx tx dt dy (10) Trong đó, mẫu số dưới căn bậc 2 var(x(t)) là biến trạng (variance) của tín hiệu cảm biến theo chiều x theo thời gian t, còn tử số là đạo hàm bậc 1 của var(x(t)). Hjorth phức hợp (Hjorth complexity: HC) [23]: là tỉ số giữa đạo hàm bậc nhất của tín hiệu chuyển động và tín hiệu khi đứng yên. Công thức tính HC như sau: HC = ))(( ))(( txHM dt dx txHM (11) Các đặc trưng HM và HC được áp dụng cho dữ liệu cảm biến gia tốc theo cả chiều dọc (Vertical Hjorth mobility: VM) và chiều ngang. Do đó, ta có tổng số 6 đặc trưng được trích chọn trong mỗi cửa sổ trượt. II.4. Các thuật toán phân loại Các véc tơ đặc trưng sau khi được trích chọn từ các cửa sổ trượt sẽ được sử dụng để huấn luyện các bộ phân loại: máy véc tơ hỗ trợ (support vector machine: SVM), mạng Bayes đơn giản (Naïve Bayes), k láng giềng gần nhất (k-Nearest neighbors), cây quyết định (Decition Tree C4.5), suy diễn dựa trên luật (Rule Induction), mạng nơ ron (Neural network). Trong đó bộ phân loại máy véc tơ hỗ trợ sử dụng trong nghiên cứu này là SVMlib được phát triển bởi Chang et al. Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 - 37 - [24] với hàm nhân rbf (radial basic function) và tham số C=1.Các bộ phân loại còn lại có sẵn trong thư viện RapidMiner [25]. II.5. Cài đặt thuật toán Sau khi tiến thử nghiệm (chi tiết được trình bày trong mục III), cây quyết định (Decision Tree C4.5) với độ đo lựa chọn đặc trưng là thông tin đạt được (information gain: IG) cho kết quả nhận dạng tốt nhất và được lựa chọn để phát triển cho hệ thống nhận dạng hoạt động của người trong thời gian thực. IG được xác định như sau: (12) (13) (14) Hình 2: Cây quyết định Trong đó pi là xác suất của một véc tơ đặc trưng bất kỳ trong tập dữ liệu D có nhãn là hoạt động (lớp) và được ước lượng bằng . Đặc trưng với giá ... báo dừng hoạt động khi có 1 tiếng bíp (beep) phát ra từ điện thoại. 17 người với các độ tuổi khác nhau từ 18 đến 55 bao gồm 14 nam và 3 nữ được mời để tham gia thu thập dữ liệu cho nghiên cứu này. Mỗi người được yêu cầu thực hiện 5 hoạt động: chạy (run), nhảy (jump), đi bộ (walk), ngồi (sit), đứng (stand) và một hoạt động bất kỳ (other) và mỗi hoạt động được yêu cầu thực hiện lặp lại nhiều lần trong khoảng 2-5 phút cho đến khi có tiếng bíp phát ra từ điện thoại. Dữ liệu ghi lại được định dạng như sau: với mỗi mẫu bao gồm 1 nhãn thời gian (timestamp) có cấu trúc năm-tháng-ngày giờ: phút: giây.mili giây. Tiếp theo là giá trị cảm biến theo chiều X, chiều Y, và chiều Z. Nhãn thời gian được sử dụng trong bước tiền xử lý dữ liệu trong nghiên cứu này và dùng để đồng bộ với dữ liệu cảm biến khác (trong các nghiên cứu về sau của chúng tôi). Các giá trị cảm biến X, Y, Z được sử dụng để trích chọn đặc trưng như đã mô tả ở phần trên. Hình 5 mô tả trực quan hóa dữ liệu cảm biến gia tốc của một số hoạt động diễn ra trong khoảng 15 giây. III.2. Các độ đo đánh giá Trong nghiên cứu này, chúng tôi sử dụng 3 độ đo là: độ chính xác (precision), độ bao phủ (recall) và độ đúng (accuracy) FPTP TP Precision (15) FNTP TP Recall (16) Accuracy = FNFPTNTP TNTP (17) Hình 4: Thiết kế lược đồ lớp (class diagram) Trong đó, True Positive (TP) là tỉ lệ đo số lần hệ thống nhận dạng đúng hoạt động a và số lần thực tế thực hiện hoạt động a; ví dụ hoạt động chạy được nhận dạng đúng là chạy. True Negative (TN) là tỉ lệ đo số hệ thống nhận dạng đúng không phải hoạt động a và số lần thực tế không phải a; ví dụ không phải hoạt Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 - 39 - động chạy được nhận dạng đúng là không phải chạy. False Positive (FP) là tỉ lệ đo số lần hệ thống nhận dạng sai hoạt động a và số lần thực tế không phải hoạt động a; ví dụ hệ thống nhận dạng hoạt động là chạy nhưng thực tế không phải là chạy. False Negative (FP) là tỉ lệ đo số lần hệ thống nhận dạng sai không phải hoạt động a và số lần thực tế là lại hoạt động a; chẳng hạn, thực tế là chạy nhưng hệ thống nhận dạng sai là không chạy. III.3. Kết quả và đánh giá Sau khi trích chọn đặc trưng từ tập dữ liệu thì các véc tơ đặc trưng (feature vectors) được sử dụng để huấn luyện (training) và kiểm thử (testing). Trong nghiên cứu này chúng tôi sử dụng phương pháp đánh giá (evaluation) là leave-one-subject out. Với phương pháp này thì chúng tôi sử dụng dữ liệu của 16 người để huấn luyện và dùng dữ liệu của người còn lại để kiểm thử. Quá trình này lặp lại cho đến khi dữ liệu của tất cả 17 người được kiểm thử. Kết quả cuối cùng sẽ là trung bình cộng của tất cả 17 lần kiểm thử. Chú ý rằng dữ liệu huấn luyện không bao gồm dữ liệu của người kiểm thử. Điều này rất quan trọng đối với ứng dụng nhận dạng hoạt động của người bằng các mô hình học máy đã được tiền huấn luyện (pre-trained). Kết quả nhận dạng khi chạy với các thuật toán phân loại khác nhau được trình bày trong Bảng 1. Kết quả bình quân (của cả 6 hoạt động) được thể hiện dưới dạng độ đúng (accuracy) và độ lệch chuẩn (standard deviation [26]). Từ bảng 1 ta thấy thuật toán cây quyết định (Decision Tree C4.5) cho kết quả (độ đúng) tốt nhất với trên 80% cho cả 3 trường hợp lựa chọn đặc trưng phân nhánh. Trong đó, đặc trưng phân nhánh information gain cho kết quả cao nhất với độ đúng là 81.06%. Tiếp đến là thuật toán k láng giềng gần nhất (k-NN) cho độ đúng xấp xỉ 81%. Ngược lại, thuật toán Bayes đơn giản (Naïve bayes) cho độ đúng thấp nhất với 71- 72%. Có thể do Bayes đơn giản phân loại các đặc trưng dựa trên giả thiết là tất cả các đặc trưng này phải độc lập với nhau. Điều này có thể đôi khi không chắc chắn đúng với bài toán nhận dạng hoạt động của người khi các đặc trưng được trích chọn từ dữ liệu cảm biến gia tốc biến đổi liên tục theo thời gian có thể không hoàn toàn độc lập với nhau. Thuật toán cây quyết định đã cho kết quả cao nhất và đã được nhóm nghiên cứu chúng tôi lựa chọn để cài đặt (implementation) cho phiên bản nhận dạng hoạt động người thời gian thực trên điện thoại. Kết quả nhận dạng các hoạt động của thuật toán cây quyết định được trình bày chi tiết trong Bảng 2. Từ Bảng 2 ta thấy các hoạt động đứng yên và ngồi cho kết quả cao nhất với độ chính xác lớn hơn 93% và độ bao phủ lớn hơn 86%. Khi quan sát dữ liệu thu được từ các hoạt động này sau khi đã trực quan hóa (ví dụ Hình 5) ta thấy các mẫu này phân biệt đáng kể so với các mẫu của những hoạt động khác. Ngược lại, hoạt động chưa gán nhãn (other) cho kết quả thấp nhất với chỉ khoảng trên 53% độ chính xác và 72% độ bao phủ. Do hoạt động chưa gán nhãn được xem như tất cả các hoạt động khác ngoài 5 hoạt động nhảy, đi bộ, ngồi, đứng và chạy nên các mẫu dữ liệu của các hoạt động chưa gán nhãn cũng rất khác nhau và dễ bị phân loại nhầm sang các hoạt động đã gán nhãn. Độ chính xác và độ bao phủ trung bình là hơn 82% và 83% cho cả 6 loại hoạt động trên. Nếu đem kết quả này so sánh với kết quả của hai nghiên cứu trước đây về nhận dạng hoạt động của người trên bằng điện thoại a) standing b) running c) walking d) sitting Hình 5: Trực quan hóa dữ liệu của một vài hoạt động Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 - 40 - thông minh [6,7] là không hợp lý vì [6,7] chưa hướng đến nhận dạng hoạt động trong thời gian thực và trong tập dữ liệu thử nghiệm của họ không bao gồm các hoạt động chưa gán nhãn (other). Điều này dẫn tới các hệ thống [6,7] có thể khó áp dụng cho thực tế vì mọi hoạt động của người phải bị phân loại thành một trong 6 hoạt động đi bộ, chạy tại chỗ, đi lên cầu thang, đi xuống cầu thang, ngồi và đứng. Hơn thế nữa, theo phương pháp đánh giá trong các nghiên cứu [6,7] thì dữ liệu dùng để huấn luyện bao gồm cả dữ liệu kiểm thử. Điều này thiếu khách quan vì trên thực tế là không phải hệ thống nào khi mới cài đặt trên điện thoại thông minh cũng đã có dữ liệu huấn luyện từ người dùng. Bảng 1: Kết quả nhận dạng (tính bằng độ đúng và độ lệch chuẩn) với các thuật toán phân loại khác nhau. Thuật toán phân loại Độ đúng ± độ lệch chuẩn SVM (rbf kernel) 80.44% ± 2.02% Decision tree (gain ratio) 76.37% ± 2.05% Decision tree (information gain) 81.06% ± 1.59% Decision tree (gini index) 80.35% ± 2.53% K-Nearest Neighbors (KNN) 80.93% ± 2.91% Naïve Bayes 71.60% ± 1.71% Naïve Bayes (Kernel) 72.47% ± 1.75% Rule Induction 78.09% ± 2.25% Neural net 79.12% ± 2.67% Như phân tích ở trên thuật toán cây quyết được lựa chọn để phát triển hệ thống. Do đó, các thiết kế chi tiết của hệ thống nhận dạng hoạt động của người trong thời gian thực khi triển khai trên thiết bị di động được mô tả chi tiết trong hình 4. IV. KẾT LUẬN Bài báo đã trình bày phương pháp nhận dạng hoạt động của người từ dữ liệu cảm biến gia tốc được tích hợp trong điện thoại thông minh trong thời gian thực. Phương pháp đề xuất đã được đánh giá trên tập dữ liệu gồm 17 người, mỗi người thực hiện 6 hoạt động từ 2-5 phút, bao gồm cả những hoạt động chưa gán nhãn. Sau khi đánh giá một số thuật toán nhận dạng thì thuật toán cây quyết định (Decision Tree C4.5) cho kết quả tốt nhất với 82% độ chính xác và 83% độ bao phủ bằng phương pháp đánh giá leave-one-subject out. Kết quả này cho thấy tính khả thi của nhận dạng hoạt động của người trong thời gian thực bằng thiết bị di động. Nghiên cứu cải tiến phương pháp để có thể nhận dạng được thêm một số hoạt động hàng ngày nữa như đạp xe, đi cầu thang, nằm v.v.. nhằm mục đích đưa hệ thống được sử dụng như là nền tảng cho một số ứng dụng thực tế như tự động ước lượng năng lượng tiêu thụ hàng ngày (energy expenditure estimation) hay trợ giúp theo dõi sức khỏe của người (health monitoring) sẽ là các nghiên cứu tiếp theo của nhóm tác giả. Bảng 2: Kết quả nhận dạng của thuật toán cây quyết định. Hoạt động Độ chính xác (Precision) Độ bao phủ (recall) Hoạt động chưa gán nhãn 53.79% 72.61% Nhảy (jump) 67.23% 82.35% Đi bộ (walk) 82.35% 89.94% Ngồi (sit) 93.42% 86.15% Đứng (stand) 95.23% 89.46% Chạy (run) 79.98% 82.69% Trung bình 82.65% 83.36% V. LỜI CẢM ƠN Chúng tôi xin trân thành cảm ơn nhóm sinh viên của Học viện Công nghệ Bưu chính Viễn thông và một số người bạn đã rất nhiệt tình, trách nhiệm và kiên nhẫn tham gia thực hiện các hoạt động cho thử nghiệm của chúng tôi. TÀI LIỆU THAM KHẢO [1] V. OSMANI, S. BALASUBRAMANIAM, D. BOTVICH, ―Human Activity Recognition in Pervasive Health-care: Supporting Efficient Remote Collaboration‖, Journal of Network and Computer Applications (Elsevier), vol. 31, no. 4, pp. 628-655, 2008. Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 - 41 - [2] C.PHAM, D. JACKSON, J. SCHONING, T. BAR., T.PLOETZ, P.OLIVIER ―FoodBoard: Surface Contact Imaging for Food Recognition‖, In Proc. of the 15 th ACM International Conference on Pervasive and Ubiquitous Computing (UbiComp), pp. 749-752, 2013. [3] F. ALBINALI, S. S. INTILLE, W. HASKELL, M. ROSENBERGER ―Using Wearable Activity Type Detection to Improve Physical Activity Energy Expenditure Estimation‖, In Proc. of the 12th ACM International Conference on Ubiquitous Computing (UbiComp), pp. 311-320, 2010. [4] S. S. INTILLE, J. NAWYN, B. LOGAN, G. D. ABOWD ―Developing Shared Home Behavior Datasets to Advance HCI and Ubiquitous Computing Research‖, In Proc. of the ACM International Conference on Computer and Human Factors (CHI) Extended Abstracts, pp. 4763-4766, 2009. [5] Digital Trends: mobile-phone-world-population-2014/#!Cs565 [6] K. R. JENIFER, G. M. WEISS, S. MOORE ―Activity Recognition Using Cell Phone Accelerometers‖, SIGKDD Explorations, vol. 12, no. 2, pp. 74-82, 2010. [7] D. ANGUITA, A. GHIO, L. ONETO, X. PARRA, J. R. ORTIZ, ―Human Activity Recognition on Smartphones Using a Multiclass Hardware-Friendly Support Vector Machine‖, In Proc. of the 4th International Workshop on Ambient Assisted Living, pp. 216-223, 2012. [8] L. Bao, S. S. INTILLE, ―Activity Recognition from User-Annotated Acceleration Data‖, In Proc. of the 2nd International Conference on Pervasive Computing (Pervasive’2004), pp. 1-17, 2004. [9] N. RAVI, N. DANDEKAR, P. MYSORE, M. L. LITTMAN, ―Activity Recognition from Accelerometer Data‖, In Proc. of the 17th Conference on Innovative Applications of Artificial Intelligence (IAAI), pp. 1541- 1546, 2005. [10] T. HUYNH, U. BLANKE, B. SCHIELE, ―Scalable Recognition of Daily Activities with Wearable Sensors‖, In Proc. of the 3rd International Conference on Location-and Context-Awareness (LoCA), pp. 50-67, 2005. [11] J. WU, A OSUNTOGUN, T. CHOUDHURY, M. PHILIPOSE, J. M. REHG, ―A Scalable Approach to Activity Recognition based on Object Use‖, In Proc. of the 11 th International Conference on Computer vision (ICCV), pp. 1-8, 2007. [12] T. V. DUONG, H. H. BUI, P. Q.DINH, S. VENKATESH, ―Activity Recognition and Abnormality Detection with the Switching Hidden Semi-Markov Model‖, In Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 838-845, 2005 [13] C. PHAM, P. OLIVIER, ―Slice&Dice: Recognizing Food Preparation Activities using Embedded Accelerometers‖, In Proc. of European Conference on Ambient Intelligence (AmI), pp. 34—43, 2009. [14] M. BUETTNER, R. PRASAD, Ma. PHILIPOSE, D. WETHERER, ―Recognizing Daily Activities with RFID-based Sensors‖, In Proc. of the 11th International Conference on Ubiquitous Computing (UbiComp), pp. 51-60, 2009. [15] E. M. TAPIA, S. S. INTILLE, K. LARSON, ―Activity Recognition in the Home Using Simple and Ubiquitous Sensors‖, In Proc. of the 2nd International Conference on Pervasive Computing (Pervasive), pp. 158-175, 2004. [16] C.J. HOOPER, A. PRESTON, M. BALAAM, P. SEEDHOUSE, D. JACKSON, C. PHAM, C. LADHA, K. LADHA, T. PLOETZ, P. OLIVIER, ―The French Kitchen: Task-Based Learning in an Instrumented Kitchen‖, In Proc. of the 14th ACM International Conference on Ubiquitous Computing (UbiComp) pp. 193-202, 2012. [17] T. V. KASTEREN, A. K. NOULAS, G. ENGLEBIENNE, B. J. A. KROSE, ―Accurate Activity Recognition in a Home Setting‖, In Proc. of the 10th international conference on Ubiquitous Computing (UbiComp), pp. 1-9, 2008. [18] C. PHAM, D. N. NGUYEN, P. M. TU, ―A Wearable Sensor based Approach to Real-Time Fall Detection and Fine-Grained Activity Recognition‖, Journal of Mobile Multimedia, vol. 9, no. 1&2, pp. 15-26, 2013. [19] T. LYCHE, L.L. SCHUMAKER, "On the Convergence of Cubic Interpolating Splines" A. Meir Các công trình nghiên cứu, phát triển và ứng dụng CNTT-TT Tập V-2, Số 14 (34), tháng 12/2015 - 42 - (ed.) A. Sharma (ed.) Spline Functions and Approximation Theory, Birkhäuser (1973) pp. 169–189 [20] T. V. KASTEREN, G. ENGLEBIENNE, B. J. A. KROSE, ―Hierarchical Activity Recognition Using Automatically Clustered Actions”, In Proc. of European Conference on Ambient Intelligence (AmI), pp. 82-91, 2011. [21] I. WITTEN, E. FRANK, M. A. HALL, ―Data Mining: Practical Machine Learning Tools and Techniques‖ Morgan Kaufmann (2011). [22] B. A. SSHENOI, ―Introduction to Digital Signal Processing and Filter Design‖, John Wiley and Sons, 2006. [23] S. I. AHAMED, M. RAHMAN, R. O. SMITH, M. KHAN, "A Feature Extraction Method for Realtime Human Activity Recognition on Cell Phones," in Proc. of International Symposium on Quality of Life Technologies, 2011. [24] SVMlib: [25] RapidMiner: [26] G. SAEED, ―Fundamentals of Probability‖, Prentice Hall: New Jersey, 2000. [27] C. PHAM, C. HOOPER, S. LINDSAY, D. JACKSON, J. SHEARER, J. WAGNER, C. LADHA, K. LADHA, T. PLOETZ, P. OLIVIER, ―The Ambient Kitchen: A Pervasive Sensing Environment for Situated Services,‖ in Proc. of ACM Conference on Designing Interactive Systems (DIS), 2012. Ngày nhận bài: 08/01/2015 SƠ LƯỢC VỀ TÁC GIẢ PHẠM VĂN CƯỜNG Sinh ngày 2/9/1976 tại Hưng Yên. Tốt nghiệp ĐH Quốc gia Hà nội năm 1998 ngành CNTT; Thạc sỹ ngành Khoa học Máy tính tại ĐH bang New Mexico, Hoa Kỳ năm 2005; Tiến sỹ ngành Khoa học Máy tính tại ĐH Newcastle, vương quốc Anh năm 2012. Hiện đang là giảng viên khoa CNTT 1, Học viện Công nghệ Bưu chính Viễn thông. Hướng nghiên cứu: nhận dạng hoạt động của người, các phương pháp học máy cho ứng dụng chăm sóc sức khỏe, tính toán di động, tương tác người máy và điện toán tỏa khắp. Mobile: 0944643166; Email: pcuongcntt@gmail.com NGUYỄN THẮNG NGỌC Sinh năm 1991 tại Hải Dương. Tốt nghiệp ĐH ngành CNTT (chương trình Chất lượng cao), Học viện Công nghệ BCVT. Hiện đang là kỹ sư nghiên cứu và phát triển của Samsung R&D; Hướng nghiên cứu: nhận dạng hoạt động của người, tính toán di động.
File đính kèm:
- nhan_dang_hoat_dong_cua_nguoi_bang_dien_thoai_thong_minh.pdf