1.2 Lý do chọn đề tài Đề tài “nhận biết hoạt động người dùng đeo đồng hồ thông minh” xuất phát từ nhu cầu khoa học và thực tiễn với những lý do sau đây: Thứ nhất, với sự phát triển bùn
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
…… ……
NGUYỄN HỮU TÂM
NGHIÊN CỨU THUẬT TOÁN NHẬN BIẾT HOẠT ĐỘNG CỦA NGƯỜI ĐEO
Trang 2Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn của P.GS TS Lê Đình Tuấn Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khá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 tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn của mình
TP Hồ Chí Minh, ngày 11 tháng 1 năm 2018
Tác giả luận văn
Nguyễn Hữu Tâm
Trang 3LỜI CẢM ƠN
Đầu tiên, tôi xin gởi đến các Thầy Cô khoa Khoa học máy tính, phòng Sau đại học
& Khoa học Công nghệ trường Đại Học Công Nghệ Thông – Đại học Quốc Gia TP.HCM lời cảm ơn sâu sắc Các Thầy Cô đã đào tạo và tạo điều kiện cho tôi thực hiên luận văn này, xin cảm ơn Thầy Cô đã rất tận tình chỉ dạy, trang bị cho tôi những kiến thức quý báu trong suốt thời gian tôi học Cao học tại trường
Đặc biệt, tôi xin chân thành cảm ơn P.GS TS Lê Đình Tuấn đã hướng dẫn và dành nhiều tâm tư hỗ trợ, giúp đỡ tôi trong suốt thời gian hoàn thành luận văn Từ những kinh nghiệm và vốn hiểu biết sâu rộng của mình, cùng với sự nhiệt thành, mặc dù bận nhiều công việc nhưng thầy đã dành thời gian quí báu để hướng dẫn, chỉ bảo, định hướng, động viên liên tục, tạo điều kiện thuận lợi trong thời gian đi học cũng như hoàn thành luận văn
Xin chân thành cảm ơn thầy phản biện đã nhận lời phản biện, với những đánh giá, góp ý hết sức giá trị và thực tiễn đễ luận văn hoàn thiện và đầy đủ
Tôi cũng xin gửi lời cám ơn đến các thầy cô, anh chị, các bạn đồng nghiệp đã tạo mọi điều kiện giúp tôi hoàn thành đề tài
Cuối cùng, tôi muốn gửi lời cảm vô hạn tới gia đình và bạn bè, những người thân yêu luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng đề tài chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong nhận được sự chỉ bảo tận tình của quý Thầy Cô, các anh chị và các bạn
TP Hồ Chí Minh, tháng 1 năm 2018
Trang 4MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮC 7
DANH MỤC CÁC BẢNG 8
DANH MỤC CÁC HÌNH 9
MỞ ĐẦU 11
1.1 Giới thiệu chung 11
1.2 Lý do chọn đề tài 13
1.3 Mục đích 14
1.4 Đối tượng và phạm vi nghiên cứu 14
1.5 Lợi ích khoa học và thực tiễn 15
1.5.1 Lợi ích khoa học 15
1.5.2 Lợi ích thực tiễn 15
1.6 Tóm tắt đóng góp của luận văn 17
CHƯƠNG 1: TỔNG QUAN 19
1.1 Giới thiệu về đồng hồ thông minh 20
1.1.1 Giới thiệu 20
1.1.2 Lịch sử của đồng hồ thông minh 20
1.2 Tình hình nghiên cứu 21
1.2.1 Tình hình trong nước 21
1.2.2 Tình hình ngoài nước 22
Trang 51.3 Mục tiêu của luận văn 23
1.4 Nội dung và phương pháp nghiên cứu 23
1.5 Tổng quan thuật toán nhận biết hoạt động 26
1.5.1 Các thuật toán phân lớp 26
1.5.2 Các thuật toán bán giám sát 28
1.5.3 Các thuật toán kết hợp 28
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP NGHIÊN CỨU 30
2.1 Các cảm biến trong nhận biết hoạt động người dùng 31
2.1.1 Cảm biến gia tốc 31
2.1.2 Cảm biến con quay 34
2.1.3 Cảm biến từ kế 36
2.2 Phương pháp thu thập dữ liệu 38
2.2.1 Tỉ lệ mẫu 38
2.2.2 Phương pháp Sliding Window 39
2.3 Phương pháp lọc dữ liệu 40
2.3.1 Bộ lọc trung vị 40
2.3.2 Bộ lọc thông thấp n-order Butterworth 41
2.4 Phương pháp rút gọn đặc trưng 43
2.4.1 Thuật toán Correlation based Feature selection 43
2.4.2 Thuật toán Sequential floating forward selection 45
2.5 Phương pháp rút gọn đối tượng 46
2.5.1 Hàm tương đồng (Similarity) 46
2.5.2 Thuật toán IB3 46
2.6 Phương pháp nhận biết hoạt động 48
Trang 62.6.1 Thuật tốn Nạve Bayes 48
2.6.2 Thuật tốn Decision Tree 49
2.6.3 Thuật tốn K-Nearest Neighbors 52
2.6.4 Thuật tốn Support Vector Machine 53
2.6.5 Thuật tốn Neural Network 54
CHƯƠNG 3: MƠ HÌNH NHẬN BIẾT HOẠT ĐỘNG 56
3.1 Phần trích xuất đặc trưng 57
3.1.1 Thành phần thu thập dữ liệu 58
3.1.2 Thành phần trích xuất đặc trưng 59
3.1.3 Mơ tả đặc trưng của dữ liệu 61
3.1.4 Các đặc trưng được trích xuất 63
3.2 Phần giảm số chiều dữ liệu 64
3.2.1 Thành phần lựa chọn đặc trưng 64
3.2.2 Thành phần lựa chọn đối tượng 64
3.3 Phần phân lớp 64
CHƯƠNG 4: TĨM TẮT THỰC NGHIỆM VÀ KẾT QUẢ 66
4.1 Quy trình xây dựng thuật tốn 67
4.2 Cách đánh giá mơ hình nhận biết 67
4.2.1 Độ chính xác 67
4.2.2 Thời gian thực hiện 69
4.3 Tĩm tắt quá trình thực nghiệm 69
4.3.1 Thơng tin dữ liệu 69
4.3.2 Trích xuất đặc trưng 78
Trang 74.3.4 Đánh giá mô hình nhận biết 78
4.4 Kết quả thực nghiệm 79
4.4.1 Kết quả giảm số chiều dữ liệu 79
4.4.2 Độ chính xác 80
4.4.3 Thời gian thực hiện nhận biết 93
4.4.4 Lựa chọn thuật toán xây dựng ứng dụng 93
4.4.5 Xây dựng ứng dụng nhận biết 94
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 96
5.1 Kết luận 96
5.2 Những vấn đề còn tồn tại 97
5.3 Hướng phát triển 97
TÀI LIỆU THAM KHẢO 98
PHỤ LỤC 100
Trang 8DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮC
Trang 9DANH MỤC CÁC BẢNG
Bảng 1.1: Tổng hợp các bài báo và các thuật tốn phân lớp 27
Bảng 3.1: Danh sách các tín hiệu time-domain 60
Bảng 3.2: Danh sách các đặc trưng time-domain được trích xuất 61
Bảng 4.1: Thơng tin chi tiết bảng nhầm lẫn 68
Bảng 4.2: Các đặc trưng của time-domain được chọn 79
Bảng 4.3: Ma trận nhầm lẫn của thuật tốn Nạve Bayes với UCI Dataset 81
Bảng 4.4: Ma trận nhầm lẫn của thuật tốn Nạve Bayes với Reduced Dataset 82
Bảng 4.5: Ma trận nhầm lẫn của thuật tốn Decision Tree (C4.5) với UCI Dataset 82
Bảng 4.6: Ma trận nhầm lẫn của thuật tốn Decision Tree (C4.5) với Reduced Dataset 83 Bảng 4.7: Ma trận nhầm lẫn của thuật tốn K-Nearest Neighbors với UCI Dataset 84
Bảng 4.8: Ma trận nhầm lẫn của thuật tốn K-Nearest Neighbors với Reduced Dataset 84 Bảng 4.9: Ma trận nhầm lẫn của thuật tốn Support Vector Machines với UCI Dataset 85 Bảng 4.10: Ma trận nhầm lẫn của thuật tốn Support Vector Machines với Reduced Dataset 86
Bảng 4.11: Ma trận nhầm lẫn của thuật tốn Neural Network với UCI Dataset 86
Bảng 4.12: Ma trận nhầm lẫn của thuật tốn Neural Network với Reduced Dataset 87
Bảng 4.13: Đánh giá với thuật tốn Nạve Bayes 88
Bảng 4.14: Đánh giá với thuật tốn Decision Tree (C4.5) 88
Bảng 4.15: Đánh giá với thuật tốn K-Nearest Neighbors 89
Bảng 4.16: Đánh giá với thuật tốn Support Vector Machines 89
Bảng 4.17: Đánh giá với thuật tốn Neural Network 90
Bảng 4.18: Đánh giá các thuật tốn với UCI Dataset 90
Bảng 4.19: Đánh giá các thuật tốn với Reduced Dataset 90
Bảng 4.20: Độ chính xác của các thuật tốn 92
Bảng 4.21: Thời gian thực hiện nhận biết giữa UCI Dataset và Reduced Dataset 93
Trang 10DANH MỤC CÁC HÌNH
Hình 1.1: Đồng hồ thông minh 20
Hình 2.1: Các độ đo (x, y, z) cảm biến gia tốc của đồng hồ thông minh 32
Hình 2.2: Các độ đo cảm biến gia tốc khi đồng hồ thông minh đặt nghiêng 33
Hình 2.3: Các độ đo cảm biến gia tốc khi đồng hồ thông minh đặt ngửa 33
Hình 2.4: Các độ đo cảm biến gia tốc khi đồng hồ thông minh đặt thẳng đứng 34
Hình 2.5: Các độ đo (x, y, z) của cảm biến con quay 34
Hình 2.6: Các độ đo cảm biến con quay khi đồng hồ thông minh xoay theo trục x+ 35
Hình 2.7: Các độ đo cảm biến con quay khi đồng hồ thông minh xoay theo trục y+ 36
Hình 2.8: Các độ đo cảm biến con quay khi đồng hồ thông minh xoay theo trục z+ 36
Hình 2.9: Các độ đo (x, y, z) của cảm biến từ trường 37
Hình 2.10: Các độ đo cảm biến từ kế khi đồng hồ thông minh đặt nghiêng 37
Hình 2.11: Các độ đo cảm biến từ kế khi đồng hồ thông minh đặt ngửa 38
Hình 2.12: Các độ đo cảm biến từ kế khi đồng hồ thông minh đặt thẳng đứng 38
Hình 2.13: Các đoạn S1, S2, S3 thu được bằng phương pháp Sliding Window 40
Hình 2.15: Kết quả độ lớn khi dùng bộ lọc n-order Butterworth 42
Hình 3.1: Mô hình nhận biết người dùng đồng hồ thông minh 57
Hình 3.2 Dữ liệu thô thu được từ cảm biến gia tốc 58
Hình 3.3: Dữ liệu thô thu được từ cảm biến con quay 59
Hình 3.5: a là độ đo tín hiệu gia tốc, b là độ đo tín hiện gia tốc cơ thể (body acceleration), g là độ đi tín hiệu lực hấp dẫn (gravity acceleration) 60
Hình 4.1: Quy trình thực hiện nghiên cứu đề tài 67
Hình 4.2: Một số hành động thực hiện trong Dataset 72
Hình 4.3: Vị trị đồng hồ thông minh đặt ở cánh tay 73
Hình 4.4: Dữ liệu cảm biến thu được từ các hoạt động 77
Trang 11Hình 4.18: Biểu đồ so sánh khi áp dụng một số thuật toán chưa giảm số chiều và đối tượng 91Hình 4.19: Biểu đồ so sánh khi áp dụng một số thuật toán đã giảm số chiều và đối tượng 91Hình 4.20: Biểu đồ so sánh độ chính xác khi áp dụng một số thuật toán 92Hình 4.21: Biểu đồ so sánh trọng số P giữa các thuật toán 94Hình 4.22: Giao diện ứng dụng nhận biết hoạt động người dùng trên điện thoại thông minh 95Hình 4.23: Giao diện ứng dụng nhận biết hoạt động người dùng trên đồng hồ thông minh 95
Trang 12MỞ ĐẦU
1.1 Giới thiệu chung
Nhận biết hoạt động của con người (human activity recognition) là bài tốn nhằm mục đích xác định và nhận ra những hành động mà người đĩ đang thực hiện như đi, đứng, ngồi, nằm, v v…Từ những năm 1980, lĩnh vực nghiên cứu này đã chiếm được sự chú ý của một số cộng đồng nghiên cứu khoa học máy tính do bài tốn này hỗ trợ cho nhiều ứng dụng khác nhau và kết nối nhiều lĩnh vực nghiên cứu khác nhau như y học, sự tương tác của con người-máy tính, hoặc xã hội học
Trước kia để nhận biết các hoạt động của con người, các nhà nghiên cứu đã sử dụng camera để quan sát hoặc sử dụng các cơng nghệ xử lý ảnh Tuy nhiên với sự phát triển mạnh mẽ của ngành viễn thơng như hiện nay, nhiều cảm biến được tích hợp sẵn trên các điện thoại thơng minh (smartphone) và đồng hồ thơng minh (smartwatch), đặc biệt là các cảm biến chuyển động như gia tốc và con quay Nĩ mở ra một hướng phát triển mới
về nhận biết hoạt động của con người và là một trong những lĩnh vực thu hút nhiều nhà khoa học đầu tư nghiên cứu và được ứng dụng rộng rãi trong lĩnh vực y khoa, quản lý sức khỏe, giám sát người già, trong thể dục thể thao … Cụ thể, các tác giả đã xây dựng mơ hình nhận biết sử dụng cảm biến gia tốc để giám sát các hoạt động bệnh nhân tại bệnh viện Trong việc theo dõi tổng quan và mức độ tập thể dục hằng ngày người dùng điện thoại thơng minh Và trong nhận biết các hoạt động thể thao thường ngày của các vận động viên.[17,23]
Phần lớn các cơng trình nghiên cứu nhận biết hoạt động người dùng điện thoại thơng minh hiện nay đều tập trung khai thác các thuật tốn máy học, chủ yếu là các thuật tốn phân lớp phổ biến như Decision Tree, Nạve Bayes, K Nearest Neighbor, … hoặc thuật tốn bán giám sát hoặc kết hợp các thuật tốn lại với nhau, nhằm để cải thiện hiệu suất nhận biết và khả năng tiêu tốn tài nguyên của thiết bị Mặc dù đạt độ chính xác tương đối cao nhưng bởi vì dữ liệu huấn luyện thực hiện nhận biết quá lớn chính vì vậy việc tạo dựng mơ hình bằng các thuật tốn phân lớp trên điện thoại và đồng hồ thơng minh vơ cùng tốn kém tài nguyên, bộ vi xử lý, bộ nhớ, PIN và vượt quá khả năng lưu trữ
Trang 13Từ những vấn đề đĩ trong luận văn đã đề xuất ra một hướng giải quyết khác, luận văn đưa ra mơ hình Client và Server Ban đầu rút gọn dữ liệu theo hai phần, thứ nhất là loại bỏ các đặc trưng dư thừa, khơng thích hợp cho nhận biết, thứ hai là loại bỏ những đối tượng dư thừa trong dữ liệu huấn luyện Mục đích chính làm cho dữ liệu huấn luyện sẽ nhỏ gọn hơn so với ban đầu, từ đĩ sẽ xây dựng mơ hình nhận biết trên đồng hồ thơng minh dễ dàng hơn, khơng những vậy mà độ chính xác nhận biết khơng những khơng giảm bớt mà cịn cao hơn so với dữ liệu ban đầu và thời gian thực hiện nhận biết giảm đi nhiều lần Sau khi nhận dữ liệu từ client sẽ tính tốn và gửi về đồng hồ thơng minh hay điện thoại thơng minh để nhận dạng hành động Bên cạnh đĩ, trong luận văn cịn thực hiện tổng hợp, đánh giá các thuật tốn máy học trên các nghiệm thu khác Nạve Bayes, Decision Tree, K-Nearest Neighbors, Support Vector Machines, Neural Network sau đĩ chọn ra thuật tốn phân lớp được đánh cao Kết quả thực nghiệm chọn thuật tốn phân lớp cao nhất IBK cho thấy giải pháp đã đề xuất là khả quan
Nội dung của luận văn được trình bày trong 5 chương, bao gồm:
Chương 1: trình bày tổng quan tình hình nghiên cứu trong và ngồi nước nhận
biết hoạt động của người dùng và đưa ra mục tiêu thực hiện của đề tài luận văn Sau đĩ trình bày sơ lược về nội dung và phương pháp nghiên cứu của luận văn Cuối cùng là tổng quan các thuật tốn được sử dụng nhận biết hoạt động người dùng qua đồng hồ thơng minh
Chương 2: trình bày các cảm biến tích hợp trong đồng hồ thơng minh, kế tiếp là
các cơ sở lý thuyết được sử dụng để thực hiện đề tài bao gồm các phương pháp liên quan thu thập dữ liệu, lọc dữ liệu, trích xuất đặc trưng, rút gọn số chiều dữ liệu và thuật tốn phân lớp
Chương 3: đề xuất mơ hình nhận biết hoạt động người dùng, trong luận văn đề
xuấn mơ hình gồm cĩ 3 modules: Trích xuất đặc trưng, Rút gọn số chiều dữ liệu, Nhận biết hoạt động bằng các thuật tốn phân lớp
Chương 4: trình bày các phương pháp đánh giá kết quả của mơ hình, bao gồm các
phương pháp đo độ chính xác và thời gian thực hiện Tiếp theo là tĩm tắt thực nghiệm đề tài theo mơ hình nhận biết hoạt động được đề xuất ở Chương 3, xây dựng phần mềm
Trang 14nhận biết hoạt động người dùng trên Server sử dụng web api gửi dữ liệu về client chạy trên hệ điều hành Android Cuối cùng là kết quả đánh giá mô hình
Chương 5: trình bày kết luận và hướng phát triển của đề tài
1.2 Lý do chọn đề tài
Đề tài “nhận biết hoạt động người dùng đeo đồng hồ thông minh” xuất phát từ
nhu cầu khoa học và thực tiễn với những lý do sau đây:
Thứ nhất, với sự phát triển bùng nổ ngành viễn thông, nhiều cảm biến có ích trong nhận biết các hoạt động được tính hợp sẵn trong hầu hết các điện thoại thông minh và đồng hồ thông minh ngày nay Các cảm biến này sẽ cung cấp dữ liệu quan trọng cho kết quả nhận biết hoạt động người dùng Cùng với đó các đồng hồ thông minh ngày càng được nâng cấp mạnh mẽ hơn trước về phần cứng như bộ vi xử lý, bộ nhớ và không gian lưu trữ… đó chính là điều kiện rất tốt để thúc đẩy phát triển nhận biết trực tiếp hoạt động của người dùng
Thứ hai, sự phát triển của nhận biết hoạt động cơ bản của người dùng đồng hồ thông minh vừa thiết bị đeo tay sẽ là nền tảng và bước đệm cho việc phát triển và nâng cao nhận biết các hoạt động khác của người dùng như xác định té ngã, đi xe bus, đi mua sắm, tập thể dục thể thao…
Thứ ba, nhận thấy hầu hết các mô hình nhận biết hoạt động người dùng đồng hồ thông minh thu thập dữ liệu từ cảm biến sau đó tiền xử lý để lọc nhiễu, trích xuất các đặc trưng và cuối cùng thực hiện thuật toán máy học Một vấn đề là các dữ luyện huấn luyện chứa nhiều đặc trưng và đối tượng dư thừa làm ảnh hưởng tới độ chính xác nhận biết và
dữ liệu huấn luyện quá lớn dẫn đến khó thể xây dựng mô hình nhận biết trên đồng hồ thông minh Do vậy nhu cầu được đặt ra loại bỏ đặc trưng và đối tượng dư thừa đó để tạo
ra dữ liệu mới gọn nhẹ mà vẫn đảm bảo độ chính xác và giảm thời gian thực hiện
Cuối cùng, nhận biết hoạt động người dùng đồng hồ thông minh hiện nay được ứng dụng rộng rãi trong đời sống xã hội, phục vụ cho nhu cầu của con người, chẳng hạn tập thể dục, quản lý sức khỏe, quan sát người già và trẻ nhỏ, kinh doanh, marketing…
Trang 151.3 Mục đích
Nghiên cứu các mô hình nhận biết online các hoạt động cơ bản thường ngày của người dùng đồng hồ thông minh gồm có đứng, ngồi, nằm, đi bộ, uốn cong, đánh tay cao,
co lại, đạp xe, nhảy, chạy, nhảy trước và sau, leo cầu thang
Tìm hiểu, tổng hợp và nghiên cứu các thuật toán máy học triển khai cho nhận biết hoạt động, đặc biệt là các thuật toán xây dựng mô hình nhận có độ chính xác nhận biết cao, thực thi ở Server giúp Client ít tốn tài nguyên, bộ nhớ và PIN, vi xử lý Từ đó thực nghiệm vào trong mô hình nhận biết người dùng
Tìm hiểu, nghiên cứu và thử nghiệm các phương pháp giảm số chiều dữ liệu, trong
đó kết hợp giảm trừ đặc trưng với giảm trừ đối tượng dữ liệu với mục đích có thể làm nhỏ
dữ liệu huấn luyện để có thể xây dựng mô hình nhận biết nhanh, ít tốn tài nguyên cho đồng hồ thông minh và không giảm độ chính xác nhận biết Khi đó mô hình nhận biết của luận văn có thể triển khai được trên nhiều dòng, thế hệ đồng hồ thông minh khác nhau Tìm hiểu và nghiên cứu các cảm biến tích hợp sẵn trên đồng hồ thông minh, dữ liệu cảm biến có thể là nguồn dữ liệu quý giá để thực nghiệm các mô hình nhận biết với độ chính xác được cải thiện hơn
Xây dựng và đánh giá mô hình nhận biết hoạt động người dùng Client và Server với kết quả độ chính xác cao hơn, thời gian thực hiện nhận biết nhanh hơn và xử lý nhanh hơn
1.4 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài luận văn là mô hình nhận biết hoạt động người dùng đeo đồng hồ thông minh, xem xét các vấn đề liên quan trong việc xây dựng mô hình
nhận biết hoạt động như các phương pháp thu thập dữ liệu từ các cảm biến, tiền xử lý dữ liệu sau khi thu thập, rút trích đặc trưng, rút gọn bớt đặc trưng, rút gọn đối tượng dữ liệu
và các thuật toán máy học
Phạm vi nghiên cứu của đề tài là sử dụng ba cảm biến gia tốc, cảm biến con quay và cảm biến từ kế được trang bị sẵn trong đồng hồ thông minh để nhận biết các chuyển động
cơ bản người dùng bao gồm: đứng, ngồi, nằm, đi bộ, uốn cong, đánh tay cao, co lại, đạp
Trang 16xe, nhảy, chạy, nhảy trước và sau, leo cầu thang và vị trí đặt đồng hồ thông minh ở cổ tay
Mô hình nhận biết hoạt động người dùng đồng hồ thông minh đề xuất trong luận văn được kiểm nghiệm trên dữ liệu mẫu của trường Đại học Granada (UGR)
1.5 Lợi ích khoa học và thực tiễn
1.5.1 Lợi ích khoa học
Nền tảng để quá trình nhận biết hành động người dùng hướng tới xử lý trên đồng
hồ thông minh, một cơ hội nữa là hiện nay các đồng hồ thông minh liên tục cải tiến tốc
độ xử lý và kích thước vùng nhớ, tạo điều kiện thuận lợi để các thuật toán có thể thực hiện phân lớp đạt hiệu suất cao, có thể giảm lưu lượng mạng khi truyền tải giữa client và server Mặc khác dữ liệu nhận biết ngữ cảnh truyền tải giữa client và server chứa thông tin nhạy cảm của người dùng, ví dụ: dữ liệu liên quan đến vị trí, các hoạt động, sức khỏe người dùng Dữ liệu này là dữ liệu riêng tư, cần được bảo mật, do đó việc xử lý nhận biết trên đồng hồ thông minh sẽ hạn chế điều này
Đề tài là sự kết hợp dữ liệu của cảm biến gia tốc với cảm biến con quay và cảm biến từ kế để đạt được độ chính xác nhận biết tốt, khi đó sẽ mở ra hướng tiếp cận nhận biết mới, tận dụng tiềm năng của dữ liệu các cảm biến khác sẳn có trong đồng hồ thông minh Hiện tại samrtwatch được trang bị nhiều cảm biến khác nhau như: gia tốc, con quay, la bàn kỹ thuật số, từ kế, áp kế, microphone, camera, GPS Cần tận dụng lợi thế của các cảm biến này để cải thiện các phương pháp phân lớp để đạt hiệu suất cao
1.5.2 Lợi ích thực tiễn
Để xác định những hành động có tay liên quan khi sử dụng cảm biến trên điện thoại xác định những hành động này là không cao do đó cần phải sử dụng cảm biến đo ở tay thì việc xác định những hành động liên quan đến tay sẽ xác định cao hơn
Đây là đề tài lĩnh vực nghiên cứu context aware (nhận thức ngữ cảnh người dùng đồng hồ thông minh) với rất nhiều ứng dụng trong y khoa, thể dục thể thao, điều khiển, giám sát Một số ứng dụng của công trình nghiên cứu sau đây:
Trang 171.5.2.1 Ứng dụng cho người dùng
1.5.2.1.1 Hành vi nhận thức ngữ cảnh (context aware)
Nhận biết hành động cấp cao hơn như: trong cuộc họp, tại buổi ăn trưa hay với gia đình, có thể tùy chỉnh hành vi của thiết bị để có lợi cho người dùng bằng cách vô hiệu hóa các cuộc gọi đến hoặc cài đặt thiết bị ở chế độ yên lặng Hoặc nếu xác định người dùng đang tập thể dục, thiết bị có thể phát nhạc từ danh sách nhạc tập thể dục Hoặc khi đến chổ làm, có thể kích hoạt thiết bị kiểm tra email mới Trong bài báo [20], các tin nhắn và thông báo sẽ chuyển đi khi người dùng đang chuyển đổi giữa các hoạt động, điều này sẽ tốt hơn khi tin nhắn và thông báo chuyển đi thời điểm ngẫu nhiên để người dùng không cảm thấy bị cắt ngang Vì vậy nhận biết ngữ cảnh hoạt động thiết bị di động sẽ làm tốt nhất khi giữ các thông báo và tin nhắn cho đến khi người dùng chuyển đổi hoạt động
1.5.2.1.2 Giám sát sức khỏe
Giám sát hoạt động cung cấp cho bác sĩ và các nhà nghiên cứu y khoa với khả năng giám sát và chuẩn đoán bệnh nhân dùng dữ liệu tạo ra liên tục thay vì dữ liệu được tạo ra trong thời điểm ngắn Dữ liệu lấy trong khoảng thời gian dài sẽ xác định chính xác các triệu chứng của bệnh nhân Hơn nữa một triệu chứng không thể phát hiện trong một cuộc kiểm tra y tế Nhận biết hành động sẽ là công cụ giúp bác sĩ chuẩn đoán thông qua các hoạt đông hằng ngày để xác định độ lệch từ thói quen đặc trưng và sự suy giảm trạng thái hoạt động hiện tại của bệnh nhân Đối với bệnh nhân điều tri qua vật lý trị liệu, sẽ có lợi từ việc có thể theo dõi trạng thái của họ chi tiết hơn và chuyên gia trị liệu có thể đảm bảo bệnh nhân của họ được cải thiện chất lượng chăm sóc với những đánh giá chính xác hơn
1.5.2.1.3 Nền tảng nghiên cứu thu thập dữ liệu
Các nhà nghiên cứu trong nhiều lĩnh vực từ marketing đến y tế sẽ luôn luôn quan tâm đến thu thập dữ liệu hoạt động Một vài ứng dụng như SensorCollector, chỉ thu thập
dữ liệu từ các thiết bị di động để đánh giá nghiên cứu, các nghiên cứu cần dữ liệu thô để
có thể phát triển mô hình hóa và kỹ thuật dự đoán chính xác và hiệu quả Hay những ứng dụng sẽ cung cấp dữ liệu cho các nhà nghiên cứu làm việc trong một số lĩnh vực lâm
Trang 18sàng, dữ liệu hoạt động hữu dụng cho những ai nghiên cứu vật lý trị liệu, tâm lý học, tập thể dục…
đi bộ Quan trọng nhất nó cung cấp chi tiết và chính xác cao lịch sử hoạt động cho người dùng có cơ sở đánh giá về hoạt động tập thể dục của họ Giúp người dùng không phải nhớ hoặc không bị nhớ nhầm về hoạt động của mình
1.5.2.1.6 Quảng cáo đúng mục tiêu
Mục tiêu của quảng cáo là xác định vị trị hiện tại và lịch sử mua hang trong quá khứ Nếu một dịch vụ quảng cáo biết được hiện tại người dùng hoặc hoạt động thường xuyên, nó có thể hiển thị quảng cáo phù hợp hơn đến người dùng đó Quảng cáo không chỉ tạo nhiều doanh thu bởi vì quảng cáo có khả năng đáp ứng các sản phẩm dịch vụ đến người dùng mà còn làm cho quảng cáo ít gây khó chịu cho người dùng bởi vì quảng cáo phù hợp với các hoạt động và sự quan tâm người dùng
1.6 Tóm tắt đóng góp của luận văn
Luận văn có những đóng góp chính sau đây:
• Trong luận văn thực hiện tổng hợp, phân loại và đánh giá các thuật toán máy học dùng trong lĩnh vực hoạt động người dùng sử dụng đồng hồ thông minh Từ đó chọn
Trang 19ra các thuật tốn máy học hay sử dụng như Nạve Bayes, Decision Tree, K-Nearest Neighbors, Support Vector Machines, Neural Network cho việc phân lớp Cuối cùng chọn thuật tốn K-Nearest Neighbors cĩ trọng số P cao nhất để thực nghiệm cho luận văn cho đồng hồ thơng minh
• Luận văn nghiên cứu các mơ hình nhận biết hoạt động người dùng đồng hồ thơng minh vả cải tiến mơ hình thơng qua việc rút gọn số chiều dữ liệu, mục tiêu khơng chỉ xĩa bớt các đặc trưng khơng hợp lệ và dư thừa mà cịn xĩa bỏ những đối tượng dữ liệu dư thừa Nhằm mục đích thu được dữ liệu mới nhỏ gọn hơn dữ liệu ban đầu với kết quả nhận biết đạt được khơng những vẫn đảm bảo được độ chính xác nhận biết và cịn cao hơn so với dữ liệu ban đầu từ 1% đến 7% và quan trọng hơn nữa là thời gian thực hiện nhận biết nhanh hơn 3.77 tới 5.2 lần
• Sử dụng mơ hình đã được cải tiến ở trên để xây dựng ứng dụng nhận biết hoạt động người dùng, trên Server dùng web api và nhận thơng số từ cảm biến gia tốc, cảm biến con quay và cảm biến từ kế của Client dùng Android tính tốn để trả về nhận dạng các hành động
Trang 20CHƯƠNG 1: TỔNG QUAN
Tóm tắt:
Trong Chương 1 trình bày nội dung như sau:
❖ Giới thiệu sơ lược về tổng quan vấn đề tình hình trong nước và ngoài nước về nhận biết hoạt động người dùng
❖ Trình bày mục tiêu của luận văn
❖ Trình bày sơ lược về nội dung và phương pháp nghiên cứu của luận văn
❖ Trình bày tổng quan các thuật toán nhận biết hoạt động người dùng đồng hồ thông minh
Trang 211.1 Giới thiệu về đồng hồ thông minh
1.1.1 Giới thiệu
Đồng hồ thông minh hay còn gọi là smartwatch là đồng hồ đeo tay vi tính hóa với chức năng như tăng cường thời gian duy trì và thường được so sánh với thiết bị kỹ thuật
số cá nhân (PDA) Trong khi những phiên bản đầu tiên có thể thực hiện những công việc
cơ bản như tính toán, dịch hay chơi trò chơi thì đồng hồ thông minh hiện đại là một chiếc
"máy tính đeo tay" hiệu quả Rất nhiều đồng hồ thông minh chạy các ứng dụng điện thoại
di động, trong khi đó một số lượng nhỏ chạy hệ điều hành của điện thoại di động hoạt động như các máy nghe nhạc hiện đại, cung cấp khả năng nghe đài, nghe nhạc và thu hình các tập tin cho người dùng thông qua một tai nghe Bluetooth Một số dòng đồng hồ thông minh, còn được gọi là điện thoại đồng hồ, trang bị đầy đủ tính năng điện thoại di động có thể thực hiện hoặc trả lời các cuộc gọi điện thoại [1]
Hình 1.1: Đồng hồ thông minh
1.1.2 Lịch sử của đồng hồ thông minh
Chiếc đồng hồ kỹ thuật số đầu tiên Pulsar ra mắt vào năm 1972 được sản xuất bởi Hamilton Watch Company Thương hiệu "Pulsar" được mua lại bởi Seiko năm 1978 Năm 1982, đồng hồ Pulsar (NL C01) được phát hành có thể lưu trữ 24 số, đây là chiếc đồng hồ đầu tiên với bộ nhớ có thể lập trình Với sự ra đời của máy tính cá nhân vào những năm 1980, Seiko bắt đầu phát triển đồng hồ với khả năng tính toán Đồng hồ Data 2.000 đi kèm với một bàn phím bên ngoài để nhập dữ liệu Dữ liệu được đồng bộ hóa từ
Trang 22bàn phím đến đồng hồ thông qua khớp nối điện từ (nối không dây) Cái tên bắt nguồn từ khả năng lưu trữ 2000 ký tự D409 là dòng Seiko đầu tiên với khả năng nhập dữ liệu trên
bề mặt (thông qua một bàn phím nhỏ) và màn hình ma trận điểm Bộ nhớ nhỏ với 112 chữ số Được phát hành lần đầu vào năm 1984 với màu vàng, màu bạc và màu đen.Những mô hình này được tiếp nối bởi nhiều người khác trong những năm 1980, đáng chú ý nhất là "RC Series":
Trong những năm 1980, Casio đã bắt đầu thành công khi đưa ra thị trường dòng sản phẩm "đồng hồ máy tính", khi thêm vào khả năng tính toán Đáng chú ý nhất là ngân hàng hệ thống dữ liệu Casio Tân phẩm "đồng hồ trò chơi", chẳng hạn như đồng hồ trò chơi Nelsonic, cũng đã được sản xuất bởi Casio và các công ty khác
• Tác giả Nguyễn Ngọc Điệp và cộng sự trong bài “Tự Động Phát Hiện Người Ngã Trong Thời Gian Thực Sử Dụng Bộ Cảm Biến Gia Tốc” [3] đã đưa ra sử dụng bộ
cảm biến gia tốc để xác định hành động té ngã Ở đây tác giả đã sử hệ thống phát hiện té ngã sử dụng cảm biến gia tốc phát hiện hành té ngã có độ tin cậy cao dùng cho nhận biết té ngã cho người già Hạn chế của nghiên cứu này là không tận dụng cảm biến được trang bị trên điện thoại mà sử dụng các cảm biến đặc thù riêng được xây dựng từ những vi mạch điện tử
Trang 23• Tác giả Quách Cơng Hồng trong bài “Ứng dụng cảm biến 3D Kinect trong nhận diện ngơn ngữ cử chỉ Tiếng Việt hỗ trợ việc giao tiếp với người khuyết tật khiếm thính” [4] Ở đây tác giả đã sử dụng cảm biến để nhận dạng những hoạt động ở tay Tuy nhiên hạn chế của nghiên cứu cảm biến này chỉ hoạt động 0.5 đến 4 mét
1.2.2 Tình hình ngồi nước
• Tác giả Barnan Das, Narayanan C Krishnan, Brian L Thomas, Diane J Cook
“Simple and Complex Activity Recognition through Smart Phones” [10] đã đưa ra
sự so sánh các thuận tốn nhận dạng giữa một số hành động đơn giản và hành động phức tạp thơng qua điện thoại thơng minh Trong nghiên cứu này, tác giả đã
sử dụng cảm biến con trỏ và cảm biến con quay trên điện thoại thơng minh để xác định những hành động đơn giản và hành động phức tạp Tuy nhiên, kết quả thực nghiệm cho thấy tỉ lệ nhận biết cho những hành động phức tạp thấp
• Elisa Morganti và cộng sự trong bài “A smart watch with embedded sensors to recognize objects, grasps and forearm gestures” [14] đã đưa cảm biến trong đồng
hồ thơng minh để nhận biết đối tượng Ứng dụng cảm biến cĩ trong đồng hồ thơng minh để nhận biết đối tượng về tay, nắm tay, cử chỉ tay Tuy nhiên, nghiên cứu này địi hỏi phải sử dụng thiết bị đặc thù với trang bị cơng nghệ RFID (đường dẫn sĩng vơ tuyến) để nhận dạng dữ liệu
• Tác giả Girija Chetty và cộng sự trong bài “Smart Phone Based Data Mining For Human Activity Recognition” [15] đã đưa ra bằng cách thu thập tín hiệu từ cảm
biến sử dụng các phương pháp Nạve Bayes Classifier, K-means Clustering, Decision Trees, Random Forests, Random Committee, Lazy IBk Classifier trong khai phá dữ liệu để tự động nhận dạng hoạt động của con người từ dữ liệu điện thoại thơng minh Bài báo này đã sử dụng các phương pháp trong data mining để
tự động học nhận dạng hành động và tự động đưa ra cảnh báo và ứng dụng
Theo khảo sát tình hình nghiên cứu trong và ngồi nước, hiện nay ít cĩ các nghiên cứu về sử dụng đồng hồ thơng minh (smartwatch) để nhận dạng các hành động của con
Trang 24người Do đó, trong đề tài này đã thực hiện nghiên cứu theo hướng sử dụng đồng hồ thông minh thông thường để nhận biết hành động của con người Giới hạn của đề tài là nhận biết các hoạt động sau dựa trên Dataset thu thập được : đứng, ngồi, nằm, đi bộ, uốn cong, đánh tay cao, co lại, đạp xe, nhảy, chạy, nhảy trước và sau, leo cầu thang
1.3 Mục tiêu của luận văn
Đề tài “Nhận biết hoạt động người dùng đeo đồng hồ thông minh” với những mục tiêu nghiên cứu sau đây:
• Xây dựng ứng dụng nhận biết hoạt động người dùng dựa trên mô hình Client và Server để nhận biết các hoạt động cơ bản người dùng, gồm có: đứng, ngồi, nằm, đi
bộ, uốn cong, đánh tay cao, co lại, đạp xe, nhảy, chạy, nhảy trước và sau, leo cầu thang với vị trí đặt đồng hồ ở cổ tay
• Thực hiện tổng hợp, phân loại và đánh giá các mô hình và thuật toán liên quan nhận biết hoạt động của người dùng đeo đồng hồ thông minh sử dụng cảm biến gia tốc và con quay Từ đó chọn ra mô hình và thuật toán được dùng thực hiện nhận biết có độ chính xác cao, thời gian thực hiện nhận biết nhanh và ít tốn tài nguyên cho đồng hồ thông minh
• Nghiêu cứu và cải tiến mô hình nhận biết hoạt động người dùng đeo đồng hồ thông minh như: nghiên cứu và thực nghiệm phương pháp rút gọn đặc trưng và các phương pháp rút gọn đối tượng dữ liệu, sau đó kết hợp hai phương pháp này lại với nhau nhằm mục đích rút gọn dữ liệu theo hai chiều, kết quả dữ liệu mới thu được sẽ nhỏ gọn hơn dữ liệu ban đầu
1.4 Nội dung và phương pháp nghiên cứu
Nội dung 1: Nghiên cứu, đánh giá và đề xuất mô hình và thuật toán phân lớp để xây
dựng mô hình nhận biết hoạt động người dùng đeo đồng hồ thông minh
Nhận biết hoạt động người dùng dùng đeo đồng hồ thông minh đã và đang thu hút nhiều nhà nghiên cứu, ngày càng nhiều công trình công bố, đưa ra nhiều phương pháp nhận biết hoạt động người dùng khác nhau, trong đó có những phương pháp thực hiện nhận biết offline hoặc online, nhận biết được nhiều hoạt động khác nhau như: đứng, ngồi,
Trang 25nằm, đi bộ, uốn cong, đánh tay cao, co lại, đạp xe, nhảy, chạy, nhảy trước và sau, leo cầu thang … Mục tiêu đặt ra cần một phương pháp thích hợp để xây dựng mô hình online và đạt hiệu suất cao trên đeo đồng hồ
Do đó cần tổng hợp các phương pháp này, sau đó phân loại, đánh giá ưu điểm và nhược điểm của từng phương pháp và chọn phương pháp phù hợp để triển khai Sau đây
là từng bước xây dựng mô hình nhận biết từ mô hình và thuật toán thích hợp đã được chọn
Nội dung 1.1: Tìm hiểu thực hiện phân đoạn dữ liệu
Dữ liệu từ cảm biến là dữ liệu chuỗi thời gian miêu tả sự thay đổi gia tốc và sự chuyển động của đối tượng Dữ liệu này không thích hợp để phân tích và xử lý trực tiếp bằng các thuật toán phân lớp Do đó cần tính toán lấy giá trị các đặc trưng để thực hiện phân loại
Có nhiều phương pháp phân đoạn khác nhau có thể áp dụng cho mục đích này, cho phép thu thập thông tin quan trong của luồng dữ liệu liên tục Đề tài sử dụng phương pháp Sliding Window để thực hiện phân đoạn bằng cách sử dụng khoảng thời gian bằng nhau
Nội dung 1.2: Tìm hiểu phương pháp lọc dữ liệu nhiễu
Dữ liệu được thu thập từ các cảm biến thường chứa dữ liệu bị nhiễu, nó sẽ ảnh hưởng đến tập mẫu huấn luyện và độ chính xác khi thực hiện nhận biết, do đó cần phải khử những dữ liệu nhiễu này Có rất nhiều phương pháp lọc để khử những dữ liệu bị nhiễu Trong luận văn chọn phương pháp lọc trung vị với Window size là 3 và lọc thông thấp 3-order Butterworth để khử dữ liệu nhiễu để tìm hiểu và thực nghiệm
Nội dung 1.3: Tìm hiểu thực hiện rút trích các đặc trưng
Sau khi thu thập được dữ liệu thô từ các cảm biến, dữ liệu này không thể làm dữ liệu để xây dựng mô hình, do đó cần rút trích các thông tin hữu ích từ dữ liệu này nhằm giúp cho thuật toán phân lớp thực hiện cho hiệu suất cao Trong luận văn sử dụng một số đặc trưng thuộc nhóm time-domain
Nội dung 1.4: Tìm hiểu và thực nghiệm rút gọn số chiều dữ liệu
Trang 26Dữ liệu huấn luyện thu được sau khi rút trích các đặc trưng time-domain cĩ thể chứa các đặc trưng dư thừa, khơng thích hợp cho việc nhận biết cũng như các đối tượng
dữ liệu dư thừa Những đặc trưng và đối tượng dư thừa này ảnh hưởng lớn đến độ chính xác và thời gian thực hiện nhận biết
Về rút gọn đặc trưng, trong đề tài tìm hiểu thuật tốn Correlation based Feature Selection để đánh giá các đặc trưng và thuật tốn Sequential Floating Forward Selection
để chọn lựa các đặc trưng sau khi đánh giá
Về rút gọn đối tượng dữ liệu, trong đề tài tìm hiểu thuật tốn Instance-based Learning cụ thể là thuật tốn IB3
Nội dung 1.5: Tìm hiểu các thuật tốn phân lớp dùng để thực hiện nhận biết
Sau khi tổng hợp và đánh giá, luận văn chọn ra năm thuật tốn phân lớp Nạve Bayes, Decision Tree, K-Nearest Neighbors, Support Vector Machines, Neural Network
• Về độ chính xác, sử dụng các phương pháp Accuracy, Confusion matrix, Precision, Recall, F-measure và dùng từng đối tượng trong phần dữ liệu kiểm chứng thực hiện nhận biết sau đĩ tính tỷ lệ nhận biết chính xác
• Về thời gian thực hiện, luận văn thực hiện nhận biết hoạt động của mơ hình trên năm thuật tốn nhận biết với mỗi thuật tốn thực hiện 10 lần
• Chọn thuật tốn dựa vào cĩ trọng số P cao nhất để làm thuật tốn nhận dạng hành động xây dựng ứng dụng
Nội dung 2: Xây dựng và cài đặt ứng dụng nhận biết hoạt động người dùng trên
Client và Server và đánh giá kết quả
Trang 27Xây dựng và cài đặt ứng dụng nhận biết hoạt động người dùng trên đồng hồ thơng minh sử dụng Web Api và Hệ Điều Hành Android nhận biết các hoạt động cơ bản của người dùng như: đứng, ngồi, nằm, đi bộ, uốn cong, đánh tay cao, co lại, đạp xe, nhảy, chạy, nhảy trước và sau, leo cầu thang và sử dụng ba cảm biến cĩ sẵn trong đồng hồ thơng minh là gia tốc, con quay, từ kế và đánh giá kết quả
1.5 Tổng quan thuật tốn nhận biết hoạt động
Một trong những thành phần quan trọng trong nhận biết hoạt động là thuật tốn nhận biết và hầu hết các bài báo nghiên cứu đều tập trung vào các thuật tốn phân lớp để phân lớp các hoạt động và hành động khác nhau dựa vào các thơng tin đầu vào từ người dùng Thuật tốn thường được thực thi trên server hoặc trên thiết bị của người dùng Việc chọn thuật tốn phân lớp được dựa vào khả năng của nền tảng xử lý để thực thi thuật tốn Bên cạnh các thuật tốn phân lớp cũng cĩ một số bài báo đã sử dụng các thuật tốn bán giám sát và một số bài báo đã kết hợp nhiều thuật tốn lại với nhau để cải thiện kết quả nhận biết
1.5.1 Các thuật tốn phân lớp
Đa số các bài báo thực hiện thử nghiệm trên các thuật tốn phổ biến như: Decision tree, K Nearest Neighbor, Nạve Bayes, Neural Network, Support Vector Machine Cụ thể trong bài báo [19], tác giả Muhammad Shoaib và các cộng sự của mình thực hiện đánh giá kết quả nhận biết các thuật tốn Naiva Bayes, Support vector machines, Neural networks, Logistic Regression, K Nearest Neighbor, Rule Based Classifiers, Decision Tree trên ba cảm biến riêng lẻ gia tốc, con quay, từ kế và kết hợp các cảm biến đơi một với nhau , thử nghiệm trên các hoạt động ngồi, đứng, đi, chạy, đi lên cầu thang, đi xuống cầu thang Trong bài báo này tác giả sử dụng các đặc trưng time-domain đơn giản như: mean, standard deviation và độ lớn trên các cảm biến Điện thoại được thử nghiệm ở 3 vị trí như: tay áo, dây thắt lưng, cổ tay áo và trong túi quần Kết quả cho thấy thuật tốn KNN và thuật tốn SVM đạt kết quả cao nhất khi đạt điện thoại trong túi quần với sự kết hợp dữ liệu của hai cảm biến gia tốc và con quay trên 95% Một hướng tiếp cận khác, một số bài báo đã đưa ra việc cải tiến thuật tốn phân lớp nhằm mục đích cải thiện việc
Trang 28tính tốn nhận biết của thuật tốn, chẳng hạn trong bài báo [7], tác giả Mustafa Kose cùng cộng sự của mình đã đưa ra thuật tốn Cluster KNN, thuật tốn là sự kết hợp thuật tốn K Nearest Neighbor với kỹ thuật gom cụm trên các đặc trưng nhằm mục đích giảm tài nguyên tính tốn nhận biết trên điện thoại Kết quả thực nghiệm cho thấy tốc độ thực hiện nhận biết cải thiện và độ chính xác trong khoảng 92% cho tất cả các hoạt động Bảng tĩm tắt một số bài báo dùng các thuật tốn phân lớp để nhận biết hoạt động khác nhau
Sian Lun Lau
và cộng sự
[23]
Decision Tree, Bayes Network, Nạve Bayes, K Nearest Neighbor, Support Vector Machine
Đi, đứng, ngồi, đi lên, đi xuống
Hầu hết độ chính xác lớn hơn 90% và thuật tốn KNN đạt độ chính xác cao nhất với 95.6%
Guiry J John
và cộng sự
[16]
Decision Tree C4.5, CART, Support Vector Machine, Multi Layer Perception, Nạve Bayes
ngồi, đứng, nằm,
đi bộ, chạy bộ, đạp xe
Độ chính xác của thuật tốn C4.5 cao nhất và đạt 98%
Lin Fan và
cộng sự
[22]
Decision Tree Đứng, đi, chạy, đi
lên cầu thang, đi xuống cầu thang
Độ chính xác trên tập dữ liệu kiểm chứng 73.72%, trên 10-fold cross validation đạt 51.82%, thời gian nhận biết 0.8813
Henar Martín
và cộng sự
[21]
Nạve Bayes, Decision Tree, Decision Table
Đi chậm, đi bình thường, đi nhanh, chạy, đứng, ngồi
Độ chính xác của thuật tốn Decision Table là 88%, Nạve Bayes là 78%
Bảng 1.1: Tổng hợp các bài báo và các thuật tốn phân lớp
Trang 291.5.2 Các thuật toán bán giám sát
Mặc dù hầu hết các bài báo đưa ra sử dụng các thuật toán phân lớp để thực nghiệm, tuy nhiên cũng có vài bài báo sử dụng các thuật toán bán giám sát có hai kỹ thuật Self-learning và Co-learning trong [11], [17] Kỹ thuật Self-learning dùng một thuật toán phân lớp để phân lớp dữ liệu chưa gắn nhãn, nếu mức độ tin cậy của dự đoán của phân lớp cao,
dữ liệu sẽ được dán nhãn với các dự đoán đó Bên cạnh đó kỹ thuật Co-learning dùng nhiều thuật toán phân lớp để phân lớp dữ liệu chưa gắn nhãn Bởi vì các thuật toán phân lớp cần tính toán lớn để tạo các mô hình từ dữ liệu huấn luyện, do đó hầu hết quá trình này được thực hiện trên máy chủ Trong bài báo [11], tác giả B Longstaff cùng với đồng
sự của mình đã thực nghiệm với phương pháp bán giám sát độ chính xác sẽ cải thiện đáng kể nếu ban đầu có độ chính xác trong khoảng 75%-80% Tuy nhiên khi độ chính xác lên tới 90% thì phương pháp này không cải thiện Trong bài báo tác giả chứng minh phương pháp Self-learning không có cải thiện về độ chính xác nhưng hai phương pháp của kỹ thuật đồng Co-learning thực hiện tốt và có cải thiện về độ chính xác nhưng kết quả này phụ thuộc vào thuật toán phân lớp được sử dụng Trong bài báo [17], tác giả Marjan Ghazvininejad và cộng sự đã sử dụng thuật toán bán giám sát với việc sử dụng sự lan truyền nhãn trên đồ thị thuật toán K Nearest Neighbor để tính toán xác suất kết hợp với các dữ liệu chưa gắn nhãn cho mỗi lớp Tác giả sử dụng phương pháp xác suất để huấn luyện mô hình Hidden Markov Model với mỗi trạng thái tương ứng với mỗi lớp của hoạt động Các phương pháp xác suất này được dùng để học các xác suất chuyển đổi giữa các trạng thái ẩn của Hidden Markov Model mà nó được dùng để dự đoán các lớp của dữ liệu kiểm chứng Kết quả thực nghiệm cho thấy phương pháp này thực hiện tốt hơn so với trạng thái ban đầu của thuận toán bán giám sát
1.5.3 Các thuật toán kết hợp
Bên cạnh việc dùng các thuật toán riêng lẻ để nhận biết, một số bài báo đã thực hiện bằng cách kết hợp nhiều thuật toán phân lớp lại với nhau để đưa ra kết quả nhận biết tốt hơn so với từng thuật toán riêng lẻ Trong bài báo [23] tác giả Sian Lun Lau cùng với
Trang 30cộng sự của mình thực nghiệm ba thuật toán cơ sở: Decision Tree, K Nearest Neighbor, Sequential Minimal Optimization Và ba thuật toán kết hợp như:
• Bagging: Decision Tree, K Nearest Neighbor, Sequential Minimal Optimization
• Boosting: Decision Tree, K Nearest Neighbor, Sequential Minimal Optimization
• Voting: K Nearest Neighbor kết hợp với Sequential Minimal Optimization, Decision Tree kết hợp với K Nearest Neighbor
Kết quả cho thấy độ chính xác của các thuật toán kết hợp cao hơn sao với các thuật toán riêng lẻ, tuy nhiên thời gian tính toán lại chậm hơn
Trang 31CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP NGHIÊN
❖ Kế tiếp trình bày các thuật tốn Instance-based learning
❖ Cuối cùng là trình bày năm thuật tốn phân lớp Nạve Bayes, Decision Tree, Nearest Neighbors, Support Vector Machines, Neural Network
Trang 32K-2.1 Các cảm biến trong nhận biết hoạt động người dùng
Ngày nay với sự phát triển ngày càng mạnh của ngành công nghiệp điện tử, các điện thoại thông minh và đồng hồ thông minh được tích hợp rất nhiều cảm biến như: gia tốc, con quay, từ kế, GPS, Wifi, camera, áp kế, đo nhịp mạch… Do đó mở ra nhiều cơ hội cho các nghiên cứu nhận biết để đạt hiệu suất nhận biết cao Thế nhưng phần lớn các công trình nghiên cứu nhận biết hoạt động của người dùng tập trung vào các cảm biến như gia tốc, con quay Bởi vì hai cảm biến này được tích hợp phần lớn trên các điện thoại thông minh hiện nay, đồng thời kết quả nhận biết thu thập từ dữ liệu hai cảm biến cũng cho độ chính xác tương đối cao Bên cạnh đó cũng có một số công trình kết hợp cảm biến gia tốc và con quay với các cảm biến khác, như cảm biến gia tốc với GPS trong bài báo , cảm biến gia tốc, con quay và từ kế , con quay, GPS và microphone … [26]
Do vậy trong luận văn chỉ sử dụng ba cảm biến thông dụng gia tốc, con quay và cảm biến từ kế Dưới đây là thông tin cụ thể về độ đo của hai cảm biến
2.1.1 Cảm biến gia tốc
Dữ liệu của cảm gia tốc thu được từ sự thay đổi trong góc độ của đồng hồ thông minh bằng cách nhận biết các thay đổi về hướng trên cả 3 chiều của không gian trong trường hợp (giả sử) đồng hồ rơi tự do được minh họa Hình 2.1 Trong đó 3 chiều của gia tốc thể hiện qua các giá trị x, y và z với đơn vị độ đo là m/s2, trong đó:
• Trục x tương ứng với đường nằm ngang chia đồng hồ thành 2 phần bằng nhau
• Trục y tương ứng với đường chạy dọc chia đồng hồ thành 2 phần bằng nhau
• Trục z tương ứng trục chạy qua trung tâm của đồng hồ
Trang 33Hình 2.1: Các độ đo (x, y, z) cảm biến gia tốc của đồng hồ thông minh
Từ Hình 2.1, có thể thấy được dữ liệu 3 tọa độ cảm biến gia tốc thu được khi đặt đồng hồ như sau:
Khi đặt đồng hồ nằm nghiêng theo chiều x+, lúc đó giá trị x gần bằng giá trị của trọng lượng trái đất là 9.81m/s2, giá trị y và z là 0 như Hình 2.2 Ngược lại, đặt đồng hồ nằm nghiêng theo chiều x- thì giá trị của x sẽ là -9.81m/s2
Khi đặt đồng hồ thẳng đứng theo chiều y+, lúc đó giá trị y gần bằng 9.81m/s2, giá trị x
và z sẽ là 0 như Hình 2.3 Ngược lại, đặt đồng hồ nằm thẳng đứng theo chiều y- thì giá trị
y sẽ là -9.81m/s2
Khi đặt đồng hồ nằm ngửa lên trên theo chiều z+, lúc đó giá trị z gần bằng 9.81m/s2, giá trị của x và y sẽ là 0 như Hình 2.4 Ngược lại, đặt đồng hồ nằm ngửa mặt xuống theo chiều z- thì giá trị của z sẽ là -9.81m/s2
Trang 34Hình 2.2: Các độ đo cảm biến gia tốc khi đồng hồ thông minh đặt nghiêng
Hình 2.3: Các độ đo cảm biến gia tốc khi đồng hồ thông minh đặt ngửa
Trang 35Hình 2.4: Các độ đo cảm biến gia tốc khi đồng hồ thông minh đặt thẳng đứng.
2.1.2 Cảm biến con quay
Dữ liệu thu được từ cảm biến con quay dùng để đo lường và di trì hướng dựa vào các nguyên tắc bảo toàn mô men động lượng Cảm biến được sử dụng để điều hướng và đo vận độ góc lên 3 hướng x, y và z với đơn vị đo là rad/s được minh họa Hình 2.5
• Trục x là độ đo xoay xung quanh trục nằm ngang của đồng hồ
• Trục y là độ đo xoay xung quanh trục thẳng đứng của đồng hồ
• Trục z là độ đo xoay xung quanh trục chạy qua trung tâm của đồng hồ
Hình 2.5: Các độ đo (x, y, z) của cảm biến con quay
Trang 36Từ Hình 2.5, khi đồng hồ không chuyển động, khi đó cảm biến con quay sẽ đứng yên
Trang 37Hình 2.7: Các độ đo cảm biến con quay khi đồng hồ thông minh xoay theo trục y+.
Hình 2.8: Các độ đo cảm biến con quay khi đồng hồ thông minh xoay theo trục z+
2.1.3 Cảm biến từ kế
Dữ liệu thu được từ cảm biến từ kế dùng để đo lường và duy trì hướng từ trường dựa vào các nguyên tắc bảo toàn mô men động lượng Cảm biến được sử dụng để điều hướng
và đo vận độ góc lên 3 hướng x, y và z với đơn vị đo là µT được minh họa Hình 2.9
• Trục x là độ đo xoay xung quanh trục nằm ngang của đồng hồ
• Trục y là độ đo xoay xung quanh trục thẳng đứng của đồng hồ
Trang 38• Trục z là độ đo xoay xung quanh trục chạy qua trung tâm của đồng hồ
Hình 2.9: Các độ đo (x, y, z) của cảm biến từ trường
Khi xoay đồng hồ xoay quanh trục nghiêng với hướng x+ hay x-, khi đó giá trị x sẽ thay đổi như Hình 2.10
Khi xoay đồng hồ xoay quanh trục nghiêng với hướng y+ hay y-, khi đó giá trị y sẽ thay đổi như Hình 2.11
Khi xoay đồng hồ xoay quanh trục nghiêng với hướng z+ hay z-, khi đó giá trị z sẽ thay đổi như Hình 2.12
Hình 2.10: Các độ đo cảm biến từ kế khi đồng hồ thông minh đặt nghiêng
Trang 39Hình 2.11: Các độ đo cảm biến từ kế khi đồng hồ thông minh đặt ngửa.
Hình 2.12: Các độ đo cảm biến từ kế khi đồng hồ thông minh đặt thẳng đứng
2.2 Phương pháp thu thập dữ liệu
2.2.1 Tỉ lệ mẫu
Tỉ lệ mẫu là số mẫu thu được từ cảm biến trong một đơn vị là 1 giây và chọn mẫu là quá trình giảm tín hiệu liên tục thành tính hiệu rời rạc với tỉ lệ mẫu cho trước Trên hệ
Trang 40điều hành Android, tỉ lệ mẫu có thể điều chỉnh Với Android API Level 3 và mới hơn đã cho phép các lập trình viên thay đổi tỉ lệ mẫu bằng cách sử dụng interface SensorManager Về cơ bản, interface SensorManager điều khiển tất cả các cảm biến trên đồng hồ thông minh Nó có thể register lắng nghe sự kiện với một cảm biến cụ thể và một
tỉ lệ cụ thể để quản lý cảm biến Tỉ lệ là khoảng thời gian các sự kiện cảm biến được cung cấp Tỉ lệ có thể là một trong các giá trị sau:
với khoảng thời gian là 0 microsecond
• SensorManager.SENSOR_DELAY_GAME: tỉ lệ phù hợp cho các game, với khoảng thời gian 20000 microseconds
• SensorManager.SENSOR_DELAY_NORMAL: tỉ lệ mặc định của cảm biến với khoảng thời gian 200000 microseconds
• SensorManager.SENSOR_DELAY_UI: tỉ lệ phù hợp cho gia diện người dùng với khoảng thời gian 60000 microseconds
Trên 4 giá trị trên không phải là các tỉ lệ chuẩn, nó phụ thuộc rất lớn vào model của điện thoại và đồng hồ thông minh Trong Android API Level 11, có thể điều chỉnh khoảng thời gian cần thiết để lấy dữ liệu [13]
2.2.2 Phương pháp Sliding Window
Dữ liệu thu được từ các cảm biến đồng hồ thông minh là dữ liệu chuỗi thời gian,
không thể dùng cho việc trích xuất các đặc trưng và thực hiện nhận biết Do đó cần phải chia dữ liệu chuỗi thời gian này thành từng đoạn với kích thước mỗi đoạn là một số N lần đọc, với N được gọi là Window size Trong luận văn sử dụng phương pháp Sliding
Window để chia đoạn Hình bên dưới minh họa phương pháp sliding windows Dữ liệu
thô được thu thập chia thành những phần (segment) với chiều dài xác định trước với 50%
độ phủ Trong hình có thể thấy được Sliding (S1) được thu thập sau đó Sliding (S2) bắt đầu thu thập từ nữa cuối của (S1) và sau khi kết thúc thu thập (S2) lúc đó (S3) sẽ bắt đầu thu thập từ nữa cuối (S2)