Nghiên cứu xây dựng phần mềm nhận dạng hoạt động người sử dụng điện thoại trên hệ điều hành android

72 17 0
Nghiên cứu xây dựng phần mềm nhận dạng hoạt động người sử dụng điện thoại trên hệ điều hành android

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - KIỀU THẾ HƢNG NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG HOẠT ĐỘNG NGƢỜI SỬ DỤNG ĐIỆN THOẠI TRÊN HỆ ĐIỀU HÀNH ANDROID LUẬN VĂN THẠC SĨ KỸ THUẬT KỸ THUẬT VIỄN THÔNG HÀ NỘI – NĂM 2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - KIỀU THẾ HƢNG NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG HOẠT ĐỘNG NGƢỜI SỬ DỤNG ĐIỆN THOẠI TRÊN HỆ ĐIỀU HÀNH ANDROID LUẬN VĂN THẠC SĨ KỸ THUẬT KỸ THUẬT VIỄN THÔNG NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN VĂN ĐỨC HÀ NỘI – NĂM 2018 LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng tơi dƣới hƣớng dẫn PGS.TS Nguyễn Văn Đức Các số liệu, kết nêu luận văn trung thực Nội dung luận văn có tham khảo sử dụng số thông tin, tài liệu từ nguồn sách, tạp chí đƣợc liệt kê danh mục tài liệu tham khảo Nếu không nhƣ nêu trên, xin hoàn toàn chịu trách nhiệm đề tài Ngƣời cam đoan Kiều Thế Hƣng i LỜI CẢM ƠN Tôi xin gửi lời cảm ơn sâu sắc tới PGS.TS Nguyễn Văn Đức, ngƣời tận tình bảo kiến thức chuyên môn, phƣơng pháp nghiên cứu khoa học đồng thời gƣơng mặt sống để học tập noi theo Tôi xin chân thành cảm ơn thầy, cô giáo trƣờng Đại học Bách Khoa Hà Nội cung cấp cho tơi kiến thức bổ ích thời gian học tập trƣờng Cuối xin gửi lời cảm ơn tới gia đình tơi ln ủng hộ đƣờng học tập nghiên cứu với nhiều khó khăn, vất vả Mặc dù tơi cố gắng trình làm luận văn nhƣng khơng thể tránh khỏi thiếu sót, mong nhận đƣợc góp ý thầy bạn Hà Nội, ngày tháng Học viên Kiều Thế Hƣng ii năm MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN .ii MỤC LỤC iii DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ v DANH MỤC CÁC BẢNG BIỂU vi DANH MỤC CHỮ VIẾT TẮT .vii MỞ ĐẦU CHƢƠNG 1: TỔNG QUAN VỀ GIÁM SÁT HOẠT ĐỘNG VÀ PHƢƠNG PHÁP NHẬN DẠNG HÀNH VI 1.1 Tổng quan giám sát hoạt động 1.2 Cảm biến 1.3 Điện thoại thông minh 1.4 Công nghệ nhận dạng hành vi 1.4.1 Khái niệm phân lớp 1.4.2 Phân lớp liệu 1.4.3 Phân lớp nhận dạng hành vi 1.4.4 Tiền xử lý 11 1.4.5 Trích chọn tính 12 1.4.6 Phân lớp liệu 14 1.4.7 Đánh giá thuật toán 14 CHƢƠNG 2: GIỚI THIỆU MẠNG NƠRON TÍCH CHẬP VÀ CÁC GIẢI THUẬT LIÊN QUAN 15 2.1 Mạng Nơron 15 2.1.1 Giới thiệu mạng Nơron 15 2.1.2 Mạng nơron nhiều tầng truyền thẳng MLP 17 2.2 Thuật toán lan truyền ngƣợc 18 2.3 Mạng Nơron tích chập 20 2.3.1 Sự thay đổi kiến trúc 20 2.3.2 Chi tiết lớp mơ hình 22 2.4 Các giải thuật Optimization 25 iii 2.4.1 Các giải thuật 26 2.4.2 Các giải thuật dựa vào chiến lƣợc lựa chọn Learning Rate 27 2.4.3 Lựa chọn giải thuật Optimization nào? 28 CHƢƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 29 3.1 Giới thiệu TensorFlow 29 3.2 Giới thiệu phƣơng pháp tạo liệu huấn luyện nhận dạng hành động ngƣời dùng tập Actitracker 29 3.3 Thông tin liệu 31 3.4 Thiết kế hệ thống 32 3.4.1 Tiền xử lý liệu 32 3.5 Môi trƣờng thực nghiệm 33 3.5.1 Quá trình huấn luyện mơ hình CNN 42 3.5.2 Kết huấn luyện CNN 43 3.6 Xây dựng phần mềm nhận dạng hoạt động ngƣời sử dụng điện thoại thông qua tảng điện thoại di động Android 44 3.7 Kết thực nghiệm thiết bị Android………………………………….46 3.8 Nhận xét đánh giá 49 KẾT LUẬN VÀ KIẾN NGHỊ 51 TÀI LIỆU THAM KHẢO 52 PHỤ LỤC CHƢƠNG TRÌNH 55 iv DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ Hình 1.1 Hệ trục điện thoại di động [22] Hình 1.2 Sơ đồ biểu diễn quy trình học máy [22] 10 Hình 1.3 Mơ hình nhận dạng hành vi từ liệu cảm biến điện thoại Android [22] 11 Hình 2.1 Cấu trúc nơron nhân tạo [6] 15 Hình 2.2 Mạng MLP tổng quát [6] 17 Hình 2.3 Mạng nơron tích chập.[19] 21 Hình 2.4 Tính tích chập với Filter 22 Hình 2.5 Tính tốn với phƣơng pháp MaxPooling 23 Hình 2.6 Mơ hình Softmax Regression dƣới dạng mạng nơron [23] 25 Hình 3.1 Trục tƣơng đối cho ngƣời dùng thiết bị Android [1] 30 Hình 3.2 Tỉ lệ nhãn đƣợc gán tập liệu Actitracker [3] 31 Hình 3.3 Sơ đồ khối hệ thống [24] 32 Hình 3.4 Mơ hình mạng nhận dạng hoạt động ngƣời sử dụng điện thoại [3] 33 Hình 3.5 Dữ liệu đƣợc gắn nhãn “ngồi” sau chuẩn hoá [3] 35 Hình 3.6 Dữ liệu đƣợc gắn nhãn “đứng” sau chuẩn hoá [3] 36 Hình 3.7 Dữ liệu đƣợc gắn nhãn “đi bộ” sau chuẩn hoá [3] 37 Hình 3.8 Dữ liệu đƣợc gắn nhãn “xuống cầu thang” sau chuẩn hoá [3] 38 Hình 3.9 Dữ liệu đƣợc gắn nhãn “lên cầu thang” sau chuẩn hoá [3] 39 Hình 3.10 Dữ liệu đƣợc gắn nhãn “chạy bộ” sau chuẩn hoá [3] 40 v DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 Tóm tắt nghiên cứu trƣớc nhận dạng hoạt động sử dụng cảm biến gia tốc Cột tập liệu quy định cụ thể liệu đƣợc thu thập phòng thí nghiệm (L), tự nhiên (N), bán tự nhiên (S) [22] Bảng 1.2 Tính miền thời gian Công thức tƣơng ứng ứng dụng [22] 12 Bảng 1.3 Tính miền tần số Công thức tƣơng ứng ứng dụng [22] 13 Bảng 3.1 Bảng liệu hoạt động ngƣời dùng xây dựng tập liệu Actitracker [3] 34 Bảng 3.2 Mẫu liệu đƣợc gắn nhãn hoạt động ngƣời dùng [3] 41 Bảng 3.3 Dữ liệu huấn luyện sau qua lớp Max pooling [3] 42 Bảng 3.4 Kết huấn luyện mạng nơron [3] 43 Bảng 3.5 Nhận dạng hành động “xuống cầu thang” 46 Bảng 3.6 Nhận dạng hành động “lên cầu thang” 47 Bảng 3.7 Nhận dạng hành động “chạy bộ” 47 Bảng 3.8 Nhận dạng hành động “đi bộ” 48 Bảng 3.9 Nhận dạng hành động “ngồi” 48 Bảng 3.10 Nhận dạng hành động “đứng” 49 vi DANH MỤC CHỮ VIẾT TẮT Ký hiệu Diễn giải Tiếng Việt CNN Convolution Neural Network Mạng nơron tích chập ADL Activities of daily living Hoạt động ngày AR Activity recognition Nhận dạng hành vi ANN Atificial Neural Network Mạng nơron nhân tạo GPS Global Positioning System Hệ thống định vị tồn cầu HMM Hidden Markov Models Mơ hình Markov ẩn K-NN K-Nearest Neighbours Mơ hình phân lớp K hàng xóm gần SVM Support Vector Machines GD Gradient Descent SGD Stochastic Gradient Descent WISDM Wireless Sensor Data Mining vii Máy vec tơ hỗ trợ MỞ ĐẦU Với phát triển khoa học kĩ thuật, thiết bị phục vụ nhu cầu ngƣời ngày trở nên đại, nhiều tính năng, đặc biệt thiết bị di động, mà đó, thiết bị chạy tảng hệ điều hành Android chiếm thị phần lớn Các thiết bị mang tính mà hầu hết ngƣời sử dụng nhƣ nhà phát triển ứng dụng chƣa tận dụng hết đƣợc, kể đến cảm biến gia tốc, chuyển động thiết bị Trong luận văn này, đƣa phƣơng pháp sử dụng cảm biến gia tốc thiết bị Android, để tận dụng chức sẵn có thiết bị, ứng dụng vào việc nhận diện hành vi ngƣời dùng thông qua cảm biến Nghiên cứu thực thiết bị Android, với cảm biến gia tốc Quá trình nhận diện hành động ngƣời sử dụng dựa vào việc thu thập giá trị đo đƣợc cảm biến này, thơng qua q trình huấn luyện mạng nơron nhân tạo từ tập liệu cho trƣớc, ta đƣa kết hành động ngƣời dùng Do thời gian thực đề tài không cho phép thu thập liệu thực tế, nên luận văn xây dựng dựa tập liệu có sẵn Actitracker, thu thập mơi trƣờng thí nghiệm Do đó, việc nhận diện xác thiết bị đƣợc đặt túi ngƣời sử dụng Kết ứng dụng nhận diện đƣợc hành động ngƣời dùng hành động sau: chạy bộ, lên cầu thang, xuống cầu thang, ngồi, bộ, đứng Đề tài nghiên cứu nhằm tận dụng cảm biến thiết bị Android, từ ứng dụng cho công việc thực tiễn hơn: ứng dụng tập thể dục, hỗ trợ luyện tập, … Đề tài đƣợc xây dựng theo hai phần chính:  Xây dựng mạng nơron: mạng nơron nhân tạo đƣợc sử dụng để nhận diện nhãn hành động theo giá trị thu đƣợc từ cảm biến thiết bị Android Mạng đƣợc xây dựng sử dụng lớp tích chập Max-pooling, Nhãn hành động ngƣời dùng Xác suất Đứng 84% Ngồi 9% Đi 4% Chạy 1% Lên cầu thang 1% Xuống cầu thang 1% Bảng 3.10 Nhận dạng hành động “đứng” 3.8 Nhận xét đánh giá Dựa vào kết thực nghiệm với tập liệu huấn luyện kiểm tra liệu mẫu đƣa độ xác mơ hình mạng CNN, đƣợc xem xét nghiên cứu bảng với thang đo từ 0% đến 100%: - Về độ xác huấn luyện mơ hình với tập liệu tốt, độ xác tăng dần sau nhiều lần huấn luyện - Về độ xác kiểm tra với tập liệu kiểm tra đạt mức độ tốt (trong khoảng 90%), có thay đổi nhiều lần kiểm tra Dựa vào kết thực nghiệm thiết bị Android hành động đƣợc dự đoán qua lần kiểm tra với xác suất hành động ngƣời dùng đƣợc xem xét nghiên cứu bảng với thang đo từ 0% đến 100%: - Hai hành động “xuống cầu thang”, “lên cầu thang” đƣợc dự đốn xác (trong khoảng 70% đến 98%) Hai hành động dễ nhận có gia tốc chuyển động lớn nhƣng hay bị nhầm lẫn với có độ lớn gia tốc hành vi gần tƣơng đƣơng - Hành động “chạy bộ” đạt đƣợc độ xác tƣơng đối cao (trong khoảng từ 60% đến 90%), hành động qua kiểm tra thực nghiệm 49 khó đạt đƣợc mức 90% thƣờng đạt đƣợc từ 60% đến 80% hay bị nhầm lẫn với loạt hành động khác - Ba hành động cuối “đứng”, “ngồi”, “đi bộ” có kết dự đốn xác không cao (trong khoảng từ 50% đến 84%) Các hành động đặc biệt dễ bị nhầm lẫn xác suất hành động với độ lớn gia tốc nhƣ hành vi gần giống 50 KẾT LUẬN VÀ KIẾN NGHỊ Kết đạt đƣợc Luận văn nghiên cứu thực nghiệm với kiến trúc mạng CNN thƣ viện Tensorflow với ngơn ngữ lập trình Python phát trạng thái hoạt động ngƣời dựa vào liệu Actitracker gồm có 06 hành động: bộ, chạy bộ, đứng, ngồi, lên cầu thang xuống cầu thang Dựa việc nghiên cứu sở lý thuyết công nghệ liên quan, đề tài xây dựng mơ hình mạng CNN, cho kết đáp ứng mục tiêu đề Bộ liệu huấn luyện đóng vai trị quan trọng việc xây dựng mơ hình để dự đốn kết đầu Với liệu lớn, bao gồm nhiều hành động áp dụng vào xây dựng hệ thống thực tế Những vấn đề tồn Một số vấn đề ảnh hƣởng đến q trình huấn luyện dự đốn kết quả:  Do liệu huấn luyện đƣợc thu thập mơi trƣờng thí nghiệm, đồng thời đối tƣợng sử dụng ngƣời nƣớc ngoài, nên việc nhận diện chƣa thật xác cao ngƣời sử dụng nƣớc  Vị trí đặt cảm biến điện thoại Android túi, sử dụng để nhận dạng hoạt động chƣa đủ để nhận dạng đƣợc đầy đủ xác ba hoạt động nhƣ: ngồi, đứng, Hƣớng phát triển luận văn Nghiên cứu tiếp giải pháp thu thập liệu ngƣời dùng nƣớc đủ để triển khai vào ứng dụng thực tế, nhằm cung cấp công cụ hữu ích việc nhận dạng hoạt động ngƣời sử dụng điện thoại Android Vấn đề gia tăng độ xác giải việc kết hợp cảm biến đặt nhiều vị trí khác thể nhƣ: mắt cá chân, cổ tay, hơng … để trích xuất đặc trƣng để đƣa vào huấn luyện mạng CNN trình bày đề tài 51 TÀI LIỆU THAM KHẢO Jennifer R Kwapisz, Gary M Weiss and Samuel A Moore (2010) Activity Recognition using Cell Phone Accelerometers, Proceedings of the Fourth International Workshop on Knowledge Discovery from Sensor Data (at KDD-10), WashingtonDC Gary M Weiss, Jeffrey W Lockhart, Tony T Pulickal, Paul T McHugh, Isaac H Ronan, Jessica L Timko, Actitracker: A Smartphone-based Activity Recognition System for Improving Health and Well-Being, (Working Paper.) (17-19 Oct 2016) Aaqib Saeed (11-04-2016): Implementing a CNN for Human Activity Recognition in Tensorflow http://aqibsaeed.github.io/2016-11-04-human-activity-recognition-cnn/ Aaqib Saeed: Deploying Tensorflow model on Andorid device for Human Activity Recognition - http://aqibsaeed.github.io/2017-05-02-deploying- tensorflow-model-andorid-device-human-activity-recognition/ Michael Nielsen (2015): Neural network and deep learning Book (Chapter 6) http://neuralnetworksanddeeplearning.com/chap6.html Lê Thị Thu Hằng (2016) – Nghiên cứu mạng neural tích chập ứng dụng cho toán nhận dạng biển số xe Jeffrey W Lockhart, Gary M Weiss (2014) The Benefits of Personalized Smartphone-Based Activity Recognition Models, In Proc SIAM International Conference on Data Mining, Society for Industrial and Applied Mathematics, Philadelphia, PA, 614-622 Gary M Weiss, Ashwin Nathan, JB Kropp, and Jeffrey W Lockhart (2013) WagTag™: A Dog Collar Accessory for Monitoring Canine Activity Levels, Proceedings of the ACM UbiComp International Atelier on Smart Garments and Accessories, Zurich, Switzerland Jennifer R Kwapisz, Gary M Weiss and Samuel A Moore (2010) Activity Recognition using Cell Phone Accelerometers, ACM SIGKDD Explorations, 12(2):74-82., WashingtonDC 52 10 Shaun Gallagher (2014) Smartphone Sesnor Data Mining for Gait Abnormality Detection Masters Thesis 11 Y LeCun and Y Bengio (1995) “Convolutional networks for images, speech, and time-series.” In M.A Arbib, editor, The Handbook of Brain Theory and Neural Networks MIT Press 12 Patrice Y Simard, Dave Steinkraus, John Platt, (2003), “Best Practices for Convolutional Neural Networks Applied to Visual Document Analysis,” International Conference on Document Analysis and Recognition (ICDAR), IEEE 13 J Hertz, A Krogh, and R.G Palmer (1991), Introduction to the Theory of Neural Computation, New York: Addison-Wesley 14 Ismail Kilins, Kerem Ciğizouğlu (2005), Reservoir Management Using Artificial Neural Networks, 14th Reg Directorate of DSI (State Hydraulic Works), Istanbul, Turkey 15 Steve Lawrence and C Lee Giles (2000), Overfitting and Neural Networks: Conjugate Gradient and Backpropagation, International Joint onference on Neural Networks, Como, Italy, July 24–27, 114–119, 2000 16 Nelson, M.C and Illingworth, W.T (1991), A Practical Guide to Neural Nets, Reading, MA: Addison-Wesley 17 D.E Rumelhart; G.E Hinton and R.J Williams (1986), Learning internal representations by error propagation, Rumelhart, D.E et al (eds.): Parallel distributed processing: Explorations in the microstructure of cognition (Cambridge MA.: MIT Press), 318-362 18 D Whitley, T Starkweather et C Bogart (1990), Genetic algorithms and neural networks: optimizing connections and connectivity, in: Parallel Computing 14, 347-361, North-Holland 19 Lƣơng Quốc An - Mạng nơ ron tích chập http://nhiethuyettre.net/mang-no-ron-tich-chap-convolutional-neuralnetwork/ 20 https://www.tensorflow.org/ 53 21 http://www.cis.fordham.edu/wisdm/includes/datasets/latest/WISDM_ar_latest.tar.gz 22 Czabke, A., Marsch, S., & Lueth, T C (2011, 23-26 May 2011) Accelerometer based real-time activity analysis on a microcontroller Thesis 23 https://machinelearningcoban.com/2017/02/17/softmax/ 24 Israa mishkhal, Dr Wu Shaoen – Advisor ball state university muncie, Indiana Jully 2017, Human activity recognition based on accelerometer and gyroscope, for the degree master in computer science by Thesis 25 Đỗ Văn Thìn (2016) – Nhận dạng hành vi ngƣời dùng từ liệu cảm biến điện thoại thông minh 26 Trần Thanh Tuấn (2017) – Nhận diện hành động ngƣời video sử dụng deep learning 54 PHỤ LỤC CHƢƠNG TRÌNH Đoạn mã chƣơng trình dƣới sử dụng tập liệu Actitracker, tiền xử lý tập liệu sau đƣa vào huấn luyện mạng nơron tích chập để nhận dạng hành động ngƣời dùng theo hình 3.3: 55 56 Sau có kết huấn luyện mạng nơron tích chập trên, ta thêm đoạn mã lệnh sau để thực xuất kết file optimized_har.pb sử dụng cho việc nhận diện hành động thiết bị Android [4] 57 Bây ta làm ứng dụng Android đơn giản để có liệu gia tốc dự đoán hoạt động ngƣời sử dụng với mẫu học Để làm điều này, ta dùng thƣ viện Tensorflow cho Android 58 Bây ta tạo lớp, lớp sử dụng TensorflowInferenceInterface cho cung cấp liệu tới mơ hình, chạy kết luận trả kết [4] 59 60 61 Đƣờng link code luận văn nhận dạng hoạt động ngƣời dùng https://drive.google.com/file/d/1tfWf6o69Den7DI6-VTACOSmx9KUYObWn/view 62 63 ... BÁCH KHOA HÀ NỘI - KIỀU THẾ HƢNG NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG HOẠT ĐỘNG NGƢỜI SỬ DỤNG ĐIỆN THOẠI TRÊN HỆ ĐIỀU HÀNH ANDROID LUẬN VĂN THẠC SĨ KỸ THUẬT KỸ THUẬT VIỄN THÔNG... 43 3.6 Xây dựng phần mềm nhận dạng hoạt động ngƣời sử dụng điện thoại thông qua tảng điện thoại di động Android 44 3.7 Kết thực nghiệm thiết bị Android? ??……………………………….46 3.8 Nhận xét... 46 Bảng 3.6 Nhận dạng hành động “lên cầu thang” 47 Bảng 3.7 Nhận dạng hành động “chạy bộ” 47 Bảng 3.8 Nhận dạng hành động “đi bộ” 48 Bảng 3.9 Nhận dạng hành động “ngồi”

Ngày đăng: 23/02/2021, 09:17

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • MỞ ĐẦU

  • CHƯƠNG 1. TỔNG QUAN VỀ GIÁM SÁT HOẠT ĐỘNG VÀ PHƯƠNG PHÁP NHẬN DẠNG HÀNH VI

  • CHƯƠNG 2. GIỚI THIỆU MẠNG NƠRON TÍCH CHẬP VÀ CÁC GIẢITHUẬT LIÊN QUAN

  • CHƯƠNG 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ

  • KẾT LUẬN VÀ KIẾN NGHỊ

  • TÀI LIỆU THAM KHẢO

  • PHỤ LỤC

Tài liệu cùng người dùng

Tài liệu liên quan