1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE

143 4 0

Đ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

Thông tin cơ bản

Tiêu đề (Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Tác giả Trần Công Trung
Người hướng dẫn Cô Trần Thu Hà, Kỹ sư Lê Khắc Lượng, Kỹ sư Trần Đăng Quang
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật điện tử và truyền thông
Thể loại Luận văn thạc sĩ
Năm xuất bản 2018
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 143
Dung lượng 3,34 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1 (13)
    • 1.1. Tổng quan về tình hình nghiên cứu hiện nay (13)
    • 1.2. Tính cấp thiết của đề tài (18)
    • 1.3. Mục tiêu nghiên cứu (18)
    • 1.4. Nhiệm vụ nghiên cứu (19)
    • 1.5. Phương pháp nghiên cứu (19)
    • 1.6. Bố cục luận văn (19)
  • CHƯƠNG 2 (21)
    • 2.1. Nguyên lý đếm bước chân (0)
    • 2.2. Bluetooth Low Energy (BLE) (23)
      • 2.2.1. Giới thiệu về BLE (23)
      • 2.2.2. Các chế độ hoạt động của BLE (0)
      • 2.2.3. Các quá trình hoạt động của BLE (0)
      • 2.2.4. Các đặc tính tần số và cấu trúc truyền dữ liệu của BLE (0)
    • 2.3. Decision Tree (31)
      • 2.3.1. Thuật toán ID3 (34)
      • 2.3.2. Thuật toán C4.5 (35)
    • 2.4. Cross Validation (Đánh giá chéo) (0)
      • 2.4.1. Random Subsampling (38)
      • 2.4.2. K-fold-Cross-Validation (39)
      • 2.4.3. Leave one-out Cross Validation (40)
    • 2.5. Confusion Matrix (40)
    • 2.6. Board nRF51822 (41)
      • 2.6.1. Giới thiệu về nRF51822 (41)
      • 2.6.2. Thông số kỹ thuật, tính năng của board nRF51822 (0)
    • 2.7. MPU-6050 (45)
      • 2.7.1. Giới thiệu về MPU-6050 (45)
      • 2.7.2. Các tính năng của MPU-6050 (0)
      • 2.7.3. Sơ đồ chân MPU-6050 (0)
    • 2.10. Weka (51)
      • 2.10.1. Giới thiệu giao diện của Weka (52)
      • 2.10.2. Chuẩn bị dữ liệu cho Weka (54)
  • CHƯƠNG 3 (59)
    • 3.1. Thiết kế phần cứng (59)
    • 3.2. Xây dựng thuật toán (67)
      • 3.2.1. Xây dựng thuật toán đếm bước chân (0)
      • 3.2.2. Thu thập dữ liệu, huấn luyện và cải tiến thuật toán (74)
  • CHƯƠNG 4 (79)
    • 4.1. Nguyên mẫu xây dựng (79)
    • 4.2. Mô tả thực nghiệm (80)
    • 4.3. Kết quả thực nghiệm (81)
  • CHƯƠNG 5 (83)
    • 5.1. Kết quả đạt được (0)
    • 5.2. Hướng phát triển tiếp theo của đề tài (84)
  • PHỤ LỤC (87)

Nội dung

(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE(Luận văn thạc sĩ) Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE

Trang 1

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tp Hồ Chí Minh, ngày … tháng … năm 2018

(Ký tên và ghi rõ họ tên)

Trần Công Trung

Trang 2

LỜI CẢM ƠN

Em xin chân thành cảm ơn nhà trường và phòng đào tạo đã tạo điều kiện giúp đỡ trong suốt thời gian học tập và thực hiện luận văn

Xin gửi lời cảm ơn đến cô Trần Thu Hà đã tận tình giúp đỡ và tạo điều kiện giúp đỡ

em rất nhiều trong suốt quá trình thực hiện luận văn tốt nghiệp

Xin gửi lời cảm ơn đến kỹ sư Lê Khắc Lượng (Zien Solution Company) và kỹ sư Trần Đăng Quang (TMA company) đã nhiệt tình giúp đỡ và hỗ trợ trong quãng thời gian vừa qua

Tp Hồ Chí Minh, ngày 15 tháng 04 năm 2018

Trần Công Trung

Trang 3

TÓM TẮT

Cảm biến chuyển động đang trở thành một chức năng phải có trên các điện thoại thông minh và tablet bởi lượng thông tin khổng lồ mà nó cung cấp cho người dùng Trong các điện thoại thông minh, cảm biến được ứng dụng trong các lệnh nắm bắt

cử chỉ để điều khiển, tăng cường giải trí, tương tác với thực tế, chụp ảnh toàn cảnh

và định hướng việc giao thông đi lại Với khả năng theo dõi chính xác chuyển động của người dùng, công nghệ cảm biến chuyển động có thể biến các thiết bị cầm tay thành các thiết bị thông minh 3-D mà có thể được sử dụng trong các ứng dụng sức khỏe, theo dõi luyện tập đến các dịch vụ xác định vị trí Một trong những ứng dụng phổ biến của cảm biến chuyển động đó là vòng đeo tay dùng để theo dõi việc luyện tập thể dục hằng ngày Các vòng đeo tay này có thể tính toán số bước chân, tính toán khoảng cách đã di chuyển cho người sử dụng Thiết bị đã trở thành một thành phần hữu ích quan trọng trong cuộc sống con người

Tuy nhiên, hầu hết các mẫu sản phẩm hiện nay đều được xây dựng độc lập và độ chính xác bị ảnh hưởng bởi các hoạt động ngẫu nhiên của người sử dụng Các sản phẩm cũng chưa có khả năng phân biệt các hoạt động thể chất khác nhau để có thể ghi nhận chính xác số bước chân trong hoạt động tương ứng Điều này dẫn đến sản phẩm có thể có các sai số khác nhau với nhiều người dùng khác nhau

Luận văn nghiên cứu này sẽ tập trung vào việc xây dựng được một nguyên mẫu vòng đeo tay có khả năng đếm bước chân và kết nối với smartphone; đồng thời sẽ cải thiện thuật toán đếm bước chân chính xác hơn bằng cách thu thập dữ liệu và huấn luyện tạo ra một decision tree Kết quả từ decision tree này sẽ được feedback lại thuật toán vòng đeo tay để phát hiện bước chân chính xác hơn và trang bị cho nó khả năng phân biệt các hoạt động thể chất

Trang 4

ABSTRACT

Motion sensor has become one of the must-have functions on smart phone and tablet because of the large information they gave the user On smart phone, motion sensor is used to detect motion fro controlling, enhanced entertainment, reality interaction, panoramic photos, orienting traffic With the ability to capture exactly motion of users, motion detection technology can change the smart phone to smart 3-D device which can be used in health monitoring, exercising monitoring and location detection One of the most common applications of motion detection is exercising monitoring function of the smart watch Smart watch has become very useful in daily life

However, most the products on the market were built independently and the accuracy of these products is affected by random motion of the users They also did not have the ability to distinguish types of activities, therefore they could not detect steps in corresponding activities This can lead to difference results for difference users

This thesis will focus on building a smart watch which can count steps precisely and communicate with smart phone Also the thesis will improve algorithm for detecting steps by collecting raw data and training data to get a decision tree Result from this decision tree will be used to improve detecting steps and the device can distinguish the activities

Trang 5

MỤC LỤC

TRANG TỰA

QUYẾT ĐỊNH GIAO ĐỀ TÀI BIÊN BẢN CỦA HỘI ĐỒNG ĐÁNH GIÁ LUẬN VĂN PHIẾU NHẬN XÉT GIẢNG VIÊN PHẢN BIỆN 1 PHIẾU NHẬN XÉT GIẢNG VIÊN PHẢN BIỆN 2 LÝ LỊCH KHOA HỌC i

LỜI CAM ĐOAN iii

LỜI CẢM ƠN iv

TÓM TẮT v

ABSTRACT vi

MỤC LỤC vii

DANH MỤC CÁC CHỮ VIẾT TẮT x

DANH MỤC CÁC BẢNG BIỂU xi

DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ xii

CHƯƠNG 1 1

TỔNG QUAN 1

1.1 Tổng quan về tình hình nghiên cứu hiện nay 1

1.2 Tính cấp thiết của đề tài 6

1.3 Mục tiêu nghiên cứu 6

1.4 Nhiệm vụ nghiên cứu 7

1.5 Phương pháp nghiên cứu 7

1.6 Bố cục luận văn 7

CHƯƠNG 2 9

CƠ SỞ LÝ THUYẾT 9

2.1 Nguyên lý đếm bước chân 9

2.2 Bluetooth Low Energy (BLE) 11

Trang 6

2.2.1 Giới thiệu về BLE 11

2.2.2 Các chế độ hoạt động của BLE 13

2.2.3 Các quá trình hoạt động của BLE 15

2.2.4 Các đặc tính tần số và cấu trúc truyền dữ liệu của BLE 16

2.3 Decision Tree 19

2.3.1 Thuật toán ID3 22

2.3.2 Thuật toán C4.5 23

2.4 Cross Validation (Đánh giá chéo) 25

2.4.1 Random Subsampling 26

2.4.2 K-fold-Cross-Validation 27

2.4.3 Leave one-out Cross Validation 28

2.5 Confusion Matrix 28

2.6 Board nRF51822 29

2.6.1 Giới thiệu về nRF51822 29

2.6.2 Thông số kỹ thuật, tính năng của board nRF51822 30

2.7 MPU-6050 33

2.7.1 Giới thiệu về MPU-6050 33

2.7.2 Các tính năng của MPU-6050 34

2.7.3 Sơ đồ chân MPU-6050 36

2.10 Weka 39

2.10.1 Giới thiệu giao diện của Weka 40

2.10.2 Chuẩn bị dữ liệu cho Weka 42

CHƯƠNG 3 47

THIẾT KẾ SẢN PHẨM VÀ THUẬT TOÁN 47

3.1 Thiết kế phần cứng 47

3.2 Xây dựng thuật toán 55

3.2.1 Xây dựng thuật toán đếm bước chân 55

3.2.2 Thu thập dữ liệu, huấn luyện và cải tiến thuật toán 62

CHƯƠNG 4 67

Trang 7

KẾT QUẢ NGHIÊN CỨU VÀ THỰC NGHIỆM 67

4.1 Nguyên mẫu xây dựng 67

4.2 Mô tả thực nghiệm 68

4.3 Kết quả thực nghiệm 69

CHƯƠNG 5 71

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71

5.1 Kết quả đạt được 71

5.2 Hướng phát triển tiếp theo của đề tài 72

PHỤ LỤC 75

Trang 8

DANH MỤC CÁC CHỮ VIẾT TẮT

IoT Internet of Things

BLE Bluetooth Low Energy

PDU Packet Data Unit

MEMS Microelectromechanical systems

DMP Digital Motion Processor

SoC System on Chip

Trang 9

DANH MỤC CÁC BẢNG BIỂU

Bảng 2.1: So sánh BLE với các chuẩn kết nối không dây

Bảng 2.2: Các giai đoạn hoạt động của BLE central và BLE peripheral Bảng 2.3: Tập dữ liệu về thời tiết và output tương ứng

Bảng 2.3: Tập dữ liệu về thời tiết và output tương ứng

Bảng 2.4: Bảng Confusion

Bảng 2.5: Sơ đồ chân pinout của MPU-6050

Bảng 3.1: Tốc độ bước đi là hàm của tốc độ (số bước trên 2s) và chiều cao Bảng 3.2: Tương quan giữa tiêu thụ calo và tốc độ chạy

Bảng 4.1: Số mẫu trên mỗi người và các hoạt động

Bảng 4.2: Kết quả thực nghiệm

Trang 10

DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ

Hình 1.1: Quảng cáo cho một thiết bị Manpo-meter tại Nhật

Hình 1.2: Sản phẩm Fitbit Tracker được đưa ra thị trường vào năm 2009

Hình 1.3: Mẫu đồng hồ thông minh Gear Fit của hãng Samsung

Hình 1.4: Một số mẫu thiết bị theo dõi sức khỏe hiện nay

Hình 2.1: Nguyên lý hoạt động của thanh kim loại dao động trong máy đếm bước

chân

Hình 2.2: Logo hiện nay của BLE

Hình 2.3: Mô hình truyền nhận dữ liệu giữa master và slave

Hình 2.4: Quá trình hoạt động của BLE

Hình 2.5: Ba kênh Advertising và 37 kênh data của BLE

Hình 2.6: Quá trình Scanning của BLE central và Advertising của BLE peripheral Hình 2.6: Cấu trúc dữ liệu của advertising data

Hình 2.7: Cấu trúc của decision tree

Hình 2.8: Ví dụ về decision tree ứng dụng cho một tập dữ liệu về thời tiết

Hình 2.9: Cách chia tập dữ liệu trong phương pháp Random Subsampling

Hình 2.10: Cách chia tập dữ liệu theo phương pháp k-Fold Cross Validaiton

Hình 2.11: Cách chia tập dữ liệu theo phương pháp Leave one-out Cross Validation Hình 2.12: Sơ đồ chân của nRF51822

Hình 2.13: Sơ đồ phân bố chân của MPU-6050 (top view)

Trang 11

Hình 2.14: Mạch charge TP4056 1A

Hình 2.15: Pin lipo 3.7V 500mA

Hình 2.16: Giao diện Weka version 3.8.1

Hình 2.17: Giao diện của Explorer trong Weka

Hình 2.19: Giao diện Knowledge Flow

Hình 2.20: Ví dụ cấu trúc file ARFF

Hình 3.1: Sơ đồ nguyên lý phần cứng của vòng đeo tay

Hình 3.2: Cảm biến gia tốc ba trục MPU-6050

Hình 3.3: Board NRF51822

Hình 3.4: OLED SSD 1306 1.2’

Hình 3.5: Giao diện phần mềm Android Studio

Hình 3.6: Mạch charge pin Lithium TP4056

Hình 3.7: Pin Lipo 3.7V 500mA

Hình 3.8: Cấu trúc phần cứng của vòng đeo tay

Hình 3.9: Sơ đồ nguyên lý khối nguồn của vòng đeo tay

Hình 3.10: Sơ đồ nguyên lý khối xử lý và truyền nhận tín hiệu nrf51822 của vòng

đeo tay

Hình 3.11: Sơ đồ nguyên lý khối càm biến gia tốc

Hình 3.12: Khối hiển thị OLED SSD1306

Hình 3.13: Ba thành phần của một người đang chuyển động

Hình 3.14: Sự thay đổi gia tốc ở các trục trong một chu kì bước

Trang 12

Hình 3.15: Ngưỡng đặc tính và độ chính xác đặc tính

Hình 3.16: Sơ đồ giải thuật thuật toán đếm bước chân

Hình 3.17: Các bước thu thập dữ liệu và huấn luyện tạo decision tree

Hình 3.18: Tập dữ liệu thô đã được phân loại

Hình 3.19: Mô hình decision tree được tạo ra

Hình 4.1: Nguyên mẫu vòng đeo tay

Hình 4.2: Quá trình hoạt động đếm bước chân, quãng đường di chuyển và vận tốc

di chuyển đo được và hiển thị trên app

Trang 13

CHƯƠNG 1

TỔNG QUAN

1.1 Tổng quan về tình hình nghiên cứu hiện nay

Ngày nay các máy đếm bước chân đã trở thành một thiết bị thông dụng để theo dõi việc luyện tập thể dục hằng ngày, có thể khuyến khích một cá nhân tự cố gắng tập thể dục, giảm cân Thiết bị đang dần chứng tỏ được các ích lợi mà nó mang lại Vậy lịch sử của các máy đếm bước chân này là như thế nào?

Năm 1965, Tiến sĩ Yoshiro Hatano khuyến khích người dân Nhật đi 10.000 bước mỗi ngày nhằm đốt calorie và để giữ sức khỏe theo sau một nghiên cứu của ông Điều này chính là nguyên nhân khiến nhà sản xuất đồng hồ Yamasa Tokei ra mắt chiếc Manpo-meter (mechanical pedometer - máy đếm bước chân cơ khí) Các thiết

kế ban đầu này sử dụng switch cơ cảm biến trọng lực để phát hiện bước chân kết hợp với một bộ đếm đơn giản Khi các thiết bị này chuyển động, ta có thể nghe thấy tiếng trượt của một bi kim loại hoặc tiếng của con lắc ngược khi nó chuyển động Sản phẩm này được chứng minh là có thể đo tương đối chính xác 10.000 bước chân của người dùng nên nó nhanh chóng phổ biến tại quốc gia mặt trời mọc

Hình 1.1: Quảng cáo cho một thiết bị Manpo-meter tại Nhật

Trang 14

Đến những năm 1980, các thiết bị điện tử với độ chính xác cao hơn đã được sử dụng để thay thế cho Manpo-meter Ngày nay, các cảm biến đo bước chân hoạt động dựa trên các cảm biến quán tính vi cơ điện tử (microelectromechanical systems – MEMS) và phần mềm phân tích để phát hiện đúng các bước chân với xác suất cao Các cảm biến quán tính MEMS cho phép phát hiện bước chân chính xác hơn và ít phép đo sai hơn

Hiện nay, có rất nhiền mẫu vòng đeo tay trên thị trường với rất nhiều tính năng tích hợp Như dòng sản phẩm Fitbit Tracker của hãng Fitbit, Mỹ xuất hiện từ năm 2009 Sản phẩm nhỏ gọn này có màn hình OLED để hiển thị các thống kê nhanh, khả năng ghi nhận chuyển động 3D cùng chế độ đồng bộ dữ liệu không dây thông qua một trạm trung tâm Ngoài những chức năng theo dõi tập luyện cơ bản, Fitbit Tracker còn có thể ghi nhận giấc ngủ Trên trang web của Fitbit có đưa những lời phân tích về chế độ luyện tập của bạn Nếu thích, bạn có thể chia sẻ mục tiêu của mình với bạn bè, gia đình

Hình 1.2: Sản phẩm Fitbit Tracker được đưa ra thị trường vào năm 2009

Một dòng sản phẩm nổi tiếng là model Gear Fit của hãng Samsung Ngày 24 tháng

2 năm 2014, Samsung Electronics cho ra mắt dòng đồng hồ thông minh Samsung Gear Fit tại Mobile World Congress thường niên tại Barcelona, Tây Ban Nha Là thiết bị sử dụng màn hình Super AMOLED cong đầu tiên, nó dùng để cập nhật cuộc gọi, emails, SMS, báo thức, đồng hồ bấm giờ, S-planner và một số phần mềm thứ

Trang 15

ba Tính năng đặc biệt của nó dùng để tập thể dục và đo nhịp tim Ngoài ra nó còn

có tính năng chống nước và chống bụi IP67

Hình 1.3: Mẫu đồng hồ thông minh Gear Fit

Một số đồng hồ thông minh thậm chí còn được tích hợp đầy đủ những tính năng hỗ trợ người dùng tập luyện thể thao Chúng cũng trở thành một món đồ thời trang kiêm thiết bị hiển thị thông báo từ điện thoại gửi sang LG, Samsung, Sony đều có những mẫu thiết bị theo dõi sức khỏe của mình với nhiều mức giá và tính năng khác nhau Tuy nhiên, tất cả đều phục vụ chung một mục đích: ghi nhận lại các hoạt động thường ngày và đưa người dùng hướng đến một cuộc sống khỏe mạnh hơn, vui tươi hơn

Hình 1.4: Một số mẫu thiết bị theo dõi sức khỏe hiện nay

Qua phần trên ta đã thấy công nghệ dùng để chế tạo thiết bị đếm bước chân đã có những cải tiến vả phát tiển vượt bậc, từ những sản phẩm đầu tiên có thiết kế hoàn

Trang 16

toàn là cơ khí, sau đó là các sản phẩm kết hợp giữa cơ khí và vi mạch điện tử và bây giờ là các thiết bị xây dựng hoàn toàn trên nền tảng vi mạch điện tử giúp các thiết bị nhỏ gọn, hoạt động chính xác tin cậy hơn Tuy nhiên, hầu hết các mẫu sản phẩm hiện nay đều được xây dựng độc lập và độ chính xác bị ảnh hưởng bởi các hoạt động ngẫu nhiên của người sử dụng Các sản phẩm cũng chưa có khả năng phân biệt các hoạt động thể chất khác nhau để có thể ghi nhận chính xác số bước chân trong hoạt động tương ứng cũng như việc tính toán khoảng cách đều dựa trên một sải chân cố định đặt trước Điều này dẫn đến sản phẩm có thể có các sai số khác nhau với nhiều người dùng khác nhau

Do đó trong đề tài này, người thực hiện đề tài sẽ tập trung vào việc phát triển vòng đeo tay đếm bước chân dựa trên một cảm biến gia tốc ba trục và xây dựng thuật toán đếm bước chân sử dụng kết quả của một mô hình huấn luyện decision tree để vòng đeo tay có khả năng phân biệt các hoạt động khác nhau, từ đó sẽ có thể đếm số bước chân chính xác nhất Đồng thời người thực hiện đề tài sẽ phát triển thuật toán

có khả năng dự đoán sải chân của người dùng, từ đó nâng cao độ chính xác khoảng cách tính toán

Jerome and Albright [3] đã thực hiện một nghiên cứu so sánh độ chính xác của năm máy đếm bước chân thương mại trên thị trường bao gồm: Brookstone Talking Pedometer, Voice Zone, Sportline 343, Accusplit Alliance AL390 và Oregon Scientific PE829 Mười người lớn tuổi (từ 68 đến 77 tuổi) và bảy người khiếm thị (từ 29 tuổi đến 56 tuổi) đeo các máy đo bước chân và thực hiện 50 bước đi, leo cầu thang và xuống cầu thang Số bước máy đếm được sẽ được so sánh với số bước thực tế Kết quả độ chính xác của các máy đếm bước chân là rất thấp (từ 41 đến 67

%) khi đi bộ trên đất bằng, leo cầu thang có độ chính xác là từ 9 % đến 28 %, xuống cầu thang là từ 11 % đến 41 %

Waqar et al [7] đã sử dụng thuật toán cho máy đếm bước chân với một giá trị ngưỡng đặt trước cho hệ thống định vị trong nhà Nghiên cứu thực nghiệm thuật toán bằng cách đo số bước chân đếm được trên 40 bước chân thực tế Kết quả

Trang 17

nghiên cứu cho thấy độ chính xác trung bình là 86,67 % (độ chính xác thấp nhất là 82,5 % và độ chính xác cao nhất là 95 %) Thuật tốn của Waqar cĩ nhiều điểm tích cực như sử dụng time window để loại bỏ các nhiễu do các hoạt động ngồi việc đi

bộ, sử dụng dữ liệu thơ thu thập được để quyết định ngưỡng đặt trước Tuy nhiên bài báo khơng giải thích rõ giá trị ngưỡng đặt trước này được quyết định theo phương trình như thế nào Đồng thời việc thực nghiệm chưa đa dạng (chưa cĩ thêm các hoạt động khác như chạy bộ, lên cầu thang, xuống cầu thang…) và thời gian thực nghiệm khơng lâu (chỉ đi 40 bước, lặp lại 6 lần)

Một trong những nghiên cứu sớm nhất về việc nhận dạng hoạt động dựa trên nhiều cảm biến gia tốc là nghiên cứu của Bao & Intille [2] Trong nghiên cứu này Bao & Intille đã sử dụng năm cảm biến gia tốc được đeo ở đùi, cổ chân, cổ tay, bắp tay, bên hơng và thu thập dữ liệu từ 20 người Bao & Intille sử dụng các phương pháp huấn luyện như decision table, C4.5 và Nạve Bayes classifiers để tạo ra model cĩ khả năng phân biệt các hoạt động Kết quả theo thuật tốn của họ cho thấy cảm biến đặt trên đùi cĩ khả năng phân biệt các hoạt động tốt nhất Tỉ lệ nhận dạng tổng 84,26 % là kết quả đạt được trong phịng thí nghiệm, với dữ liệu được kiểm sốt bởi các nhà khoa học

Trong nghiên cứu [6], một cảm biến gia tốc ba trục 6g được đeo ở hơng Dữ liệu

từ cảm biến được truyền thơng qua Bluetooth Class 1, tốc độ lấy mẫu là 50Hz Năm loại hoạt động (đi bộ đất bằng, đi bộ lên dốc, đi bộ xuống dốc, lên cầu thang, xuống cầu thang) được thu thập từ 52 đối tượng (39 nam, 13 nữ, độ tuổi từ 21 đến 64, cao

từ 1,53 m dến 1,88 m và cân nặng từ 42 đến 94 kg) Dữ liệu thơ được tiền xử lý, trích xuất đặc trưng, chuẩn hĩa dữ liệu và đưa vào huấn luyện Kết quả mơ hình huấn luyện cuối cùng cĩ khả năng nhận dạng các hoạt động với độ chính xác 96,02% Tuy nhiên trong thí nghiệm này, các nhà nghiên cứu chưa tính đến khả năng chống nhiễu của hệ thống và kết quả thực nghiệm cuối cùng chỉ dừng lại là một model cĩ khả năng phân biệt hoạt động mà chưa ứng dụng được mơ hình này vào một thiết bị thực tế

Trang 18

Trong đề tài nghiên cứu vòng đeo tay này, người thực hiện đề tài sẽ tập trung vào phát triển vòng đeo tay có khả năng đếm bước chân chỉ dựa vào một cảm biến gia tốc đeo ở tay Đồng thời một số phương pháp cải tiến để đếm bước chân được đề xuất kết hợp trong thuật toán đếm bước chân đó là:

- Lấy mẫu dữ liệu lúc vòng đeo tay mới khởi động để biết vị trí vòng đeo tay được đeo như thế nào (dựa trên gia tốc trọng trường)

- Time window được sử dụng để loại bỏ nhiễu

- Thu thập dữ liệu để huấn luyện cho vòng đeo tay có khả năng nhận dạng các hoạt động thể chất khác nhau (bao gồm: đi bộ, chạy bộ, leo cầu thang, xuống cầu thang…) Dữ liệu thô sẽ được lấy mẫu, trích xuất đặc trưng và đưa vào một mô hình huấn luyện dạng decision tree Decision tree được lựa chọn làm phương pháp huấn luyện vì nó không cần tính toán phức tạp và kết quả huấn luyện cuối cùng có thể dễ dàng nhúng vào các MCU

1.2 Tính cấp thiế ề tài

Việc nghiên cứu và xây dựng vòng đeo tay thông minh sẽ giúp người thực hiện đề tài nắm bắt được các công nghệ hiện được ứng dụng trong nhiều sản phẩm đã và đang được phát triển như các chuẩn giao tiếp, thu thập, xử lý dữ liệu, huấn luyện cho mô hình machine learning

1.3 Mục tiêu nghiên cứu

Mục tiêu đầu tiên của đề tài đó là xây dựng được phần cứng của vòng đeo tay:

- Nghiên cứu về các chuẩn giao tiếp không dây, lựa chọn chuẩn giao tiếp phù hợp cho vòng đeo tay

- Thiết kế, xây dựng một nguyên mẫu vòng đeo tay

- Nghiên cứu nguyên lý hoạt động của thiết bị đếm bước chân, xây dựng thuật toán đếm bước chân

Trang 19

Dữ liệu thô thu thập từ cảm biến gia tốc sẽ được thu thập và huấn luyện bằng phương pháp decision tree Kết quả huấn luyện sẽ được đưa vào cải tiến thuật toán đếm bước chân

Sau khi có một sản phẩm vòng đeo tay hoạt động đầy đủ, sản phẩm sẽ được thử nghiệm thực tế để kiểm nghiệm độ chính xác Mục tiêu của đề tài là vòng đeo tay đếm bước chân sẽ đạt được độ chính xác trên 90 %, có khả năng nhận diện các loại hoạt động thể chất cơ bản như đi bộ, chạy bộ, leo cầu thang…

1.4 Nhiệm vụ nghiên cứu

Nhiệm vụ của đề tài luận văn là xây dựng một nguyên mẫu vòng đeo tay có khả năng đếm bước chân, kết nối truyền dữ liệu trên smartphone Từ nguyên mẫu đã có, người thực hiện đề tài sẽ thu thập các dữ liệu thô từ các hoạt động được thực hiện bởi các tình nguyện viên Các dữ liệu thô này sẽ được tiền xử lý và huấn luyện với nhiều mô hình machine learning để có thể tìm được mô hình có độ chính xác cao nhất trong việc phân loại hoạt động Mô hình kết quả này sẽ được ứng dụng vào vòng đeo tay để có thể phát hiện bước chân chính xác nhất

Đề tài sẽ giới hạn ở mức xây dựng nguyên mẫu với mục đích nắm bắt các công nghệ mới, chưa có khả năng sản xuất hàng loạt sản phẩm

1.5 Phương pháp nghiên ứu

Nghiên cứu các bài báo khoa học đã công bố để tổng hợp, lựa chọn được phương pháp phân biệt hoạt động thể chất và đếm bước chân phù hợp nhất Dựa trên phương pháp đã chọn, phần cứng sẽ được thiết kế xây dựng Sau khi hoàn thành vòng đeo tay sẽ được thực nghiệm thực tế và điều chỉnh

1.6 Bố cục luận văn

Báo cáo luận văn thực hiện dự kiến gồm có 5 chương:

- Chương 1: Tổng quan

Trang 20

- Chương 2: Cơ sở lý thuyết

- Chương 3: Thiết kế hệ thống

- Chương 4: Kết quả nghiên cứu và thực nghiệm

- Chương 5: Kết luận và hướng phát triển

Trang 21

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT

2.1 Nguyên lý ếm bước chân

Vậy cách thức hoạt động của máy đếm bước chân như thế nào? Ta có thể hiểu đơn giản như sau Mỗi khi chúng ta bước đi, cơ thể ta sẽ nghiêng về một bên và một chân được đưa lên phía trước Sau đó cơ thể sẽ nghiêng theo hướng ngược lại và đưa chân còn lại lên trước Mỗi lần nghiêng hông và dịch chuyển chân như vậy được xem là một bước Giả sử mỗi bước chân dài bằng nhau, tất cả những gì chúng

ta cần làm để đếm số bước chân là đếm số lần nghiêng qua nghiêng lại Sau đó ta nhân số bước với chiều dài mỗi bước là ra được quãng đường đi được

Các thiết kế ban đầu của máy đo bước chân là hoàn toàn bằng cơ khí Chúng hoạt động tương tự như đồng hồ quả lắc Khi con lắc dao động, một loại đòn bẩy được gọi là thanh trượt chuyển động trượt lên trượt xuống và một bánh xe trong đồng hồ

sẽ tiến lên một vị trí Như vậy, một đồng hồ quả lắc thật sự là một cơ chế dùng để đếm dây Các máy đếm bước chân ban đầu sử dụng con lắc để đếm bước chân và hiển thị kết quả đếm bằng một kim chỉ thị (giống đồng hồ analog) Ta cố định thiết

bị trên cổ tay và mỗi khi ta bước một bước, con lắc dao động qua lại làm kim chỉ thị dịch chuyển

Với sự phát triển của các linh kiện điện tử, các máy đếm bước chân cũng hoạt động theo cơ chế tương tự nhưng với các linh kiện đa phần là các thiết bị điện tử Bên trong bao gồm một con lắc kim loại (một thanh kim loại với đối trọng ở 1 bên) được nối với một mạch đếm điện tử bằng một lò xo mỏng Bình thường thì mạch điện hở mạch và không có dòng điện chạy qua Khi ta đi một bước, thanh kim loại dao động

và chạm vào miếng kim loại tiếp xúc ở giữa làm nối mạch và dòng chạy qua Dòng điện chạy qua mạch đếm và cộng một vào số bước Khi hoàn thành bước đi, thanh

Trang 22

kim loại dao động ngược lại (dưới tác động của lò xo) và hở mạch, reset máy đếm

để chuẩn bị cho bước tiếp theo Máy đếm bước chân hiển thị số bước đếm được trên màn hình LCD; chuyển đổi số bước đếm được thành quãng đường xấp xỉ hoặc số calo đã đốt cháy

Hình 2.1: Nguyên lý hoạt động của thanh kim loại dao động trong máy đếm bước

chân Như trong hình 2.1, ta thấy có một mạch điện đang hở mạch (hình bên trái) Khi máy đếm bước chân nghiêng sang trái, mạch điện được nối mạch và một bước được đếm bởi mạch điện tử (hình bên phải) Khi máy đếm nghiêng theo hướng ngược lại, mạch điện hở mạch và reset sẵn sàng cho bước kế tiếp Thank kim loại là một phần của mạch điện: thanh kim loại có một tiếp điểm tại đoạn cuối nối với mạch điện bằng một tấm kim loại mỏng (đường zig-zag màu đỏ trong hình) Đây là cấu hình

và nguyên lý hoạt động của máy đếm bước chân giá thành rẻ

Ngày nay, các thiết bị đếm bước chân có thiết kế tinh vi hơn, hoạt động hoàn toàn dựa trên các linh kiện điện tử, không còn thành phần cơ khí Vì không còn thành phần cơ khí chuyển động, các thiết bị trở nên đáng tin cậy hơn, thời gian hoạt động dài hơn và chính xác hơn Các thiết bị đo bước chân mới dùng các cảm biến gia tốc tích hợp con quay hồi chuyển để thay thế cho các thành phần cơ khí cũ Các vi mạch cảm biến tích hợp này sẽ đo sự thay đổi ở góc và giá trị gia tốc khi ta chuyển động Ví dụ như Fitbit, một vòng đeo tay phổ biến hiện nay trên thị trường, sử dụng cảm biến gia tốc ba trục để nhận biết các chuyển động Bằng cách phân tích dữ liệu

Trang 23

từ cảm biến chuyển động, các thiết bị theo dõi có thể có được các thông tin về tần suất, thời gian, cường độ và mô hình di chuyển, từ đó có thể xác định được bước đi,

khoảng cách di chuyển

2.2 Bluetooth Low Energy (BLE)

2.2.1 Giới thiệu về BLE

BLE (Bluetooth Low Energy) là chuẩn giao tiếp thế hệ mới (version 4.0) của chuẩn giao tiếp Bluetooth thông thường BLE kế thừa các cấu trúc phần cứng và phần mềm của chuẩn Bluetooth thông thường Vậy BLE có những gì mới?

Hình 2.2: Logo hiện nay của BLE

Đầu tiên, BLE có công suất cực thấp, cỡ vài chục µA khi hoạt động Do đó board BLE có kích thước được thu gọn do chỉ cần nguồn cung cấp cỡ nhỏ mà thời gian hoạt động có thể dài hơn rất nhiều Với kích thước nhỏ gọn, board BLE có thể tích hợp vào nhiều đồ dụng hàng ngày (ví dụ như giày dép, túi xách, quần áo, vòng đeo tay, phương tiện giao thông…), làm các thiết bị thông minh hơn

Nhược điểm của BLE đó là tốc độ truyền dữ liệu thấp Để có thể giảm công suất tiêu thụ, các chip BLE chỉ có thể hoạt động theo chu kì và lượng dữ liệu truyền trong khoảng thời gian đó cũng có hạn (cỡ vài chục bytes) Nhờ vậy mà chip BLE

có thể ngủ đông trong suốt khoảng thời gian hoạt động và chỉ tỉnh dậy khi đến chu

kì truyền nhận dữ liệu Tốc độ truyền dữ liệu của BLE với smart phone vào khoảng 7kB/s đến 8kB/s Tuy tốc độ khá thấp nhưng tốc độ này đủ để truyền nhận dữ liệu với các thiết bị IoT do dữ liệu data không nhiều và không liên tục Trong hình 2.3 là

mô hình truyền nhận dữ liệu giữa hai thiết bị master và slave

Trang 24

Hình 2.3: Mô hình truyền nhận dữ liệu giữa master và slave

Bảng 2.1 dưới đây cho ta cái nhìn tổng quan về các đặc tính của một số chuẩn giao tiếp wireless hiện nay

Bảng 2.1: So sánh BLE với các chuẩn kết nối không dây

Bluetooth tiêu chuẩn BLE Wifi Zigbee Tần số hoạ ộng 2.4GHz 2.4GHz 2.4GHz 2.4GHz

Khoảng cách 10m ~60m 30m 10-100m

Air data rate 1-3Mbps 1Mbps 54Mbps 250kbps

Application

Throughput 0.7-2.1Mbps 305kbps Phụ thuộc 120kbps Bảo mật 64bit, 128bit 128-bit AES SSID, WEP 128-bit AES

Công suất tiêu thụ Thấp Rất thấp Cao Thấp

Chứng nhận Bluetooth

SIG

Bluetooth SIG IEEE802.11 IEEE802.15.4

Sơ ồ kết nối

mạng

Point Scatternet

Point-to-Point-to-Point Star

Hub Mesh, Ad-hoc Bluetooth Low Energy còn được gọi là smart Bluetooth bởi vì những đồ vật được gắn chip BLE sẽ có khả năng giao tiếp với smartphone và lẫn nhau thông qua kết

Trang 25

Point-to-nối không dây nhằm chia sẻ dữ liệu và điều khiển Do đó BLE được xem như là một

thành phần trong hệ sinh thái IoT hiện nay

2.2.2 Các chế ộ hoạ ộng c a BLE

Bốn chế độ hoạt động của BLE bao gồm: peripheral, central, observer, broadcaster Bình thường một thiết bị BLE sẽ chỉ hoạt động ở một chế độ, nhưng sẽ có một số ứng dụng đặc biệt một thiết bị BLE có thể hoạt động ở nhiều chế độ trong nhiều giai đoạn khác nhau

Đầu tiên chúng ta sẽ tìm hiểu về hai chế độ peripheral và central

- BLE central là thiết bị chủ động gửi yêu cầu kết nối đến các thiết bị BLE

xung quanh Thông thường BLE central sẽ là các smartphone, tablet, Sau khi đã hoàn thành kết nối, các BLE central sẽ được gọi là master do BLE central sẽ đóng vai trò là chủ các hoạt động đồng bộ để kết nối và truyền nhận dữ liệu

- BLE peripheral là thiết bị chấp nhận yêu cầu kết nối Thông thường các đồ

vật được gắn chip BLE sẽ là peripheral Sau khi đã hoàn thành kết nối, các BLE peripheral sẽ được gọi là slave vì BLE peripheral sẽ tuân theo các hoạt động đồng bộ để kết nối và truyền nhận dữ liệu từ master

Bảng 2.2 sau đây sẽ tóm tắt quá trình hoạt động của BLE central và BLE peripheral qua các giai đoạn

Bảng 2.2: Các giai đoạn hoạt động của BLE central và BLE peripheral

BLE central BLE peripheral Trước khi kết nối Nhận thông tin nhận dạng từ

các thiết bị xung quanh

Phát thông tin nhận dạng của thiết bị

Trang 26

Sau khi kết nối Gửi yêu cầu về các loại thông

tin mà thiết bị BLE Peripheral

Gửi dữ liệu đến thiết bị BLE Central khi có thông tin cập nhật trong thiết bị

Theo chuẩn Bluetooth Low Energy, một thiết bị BLE Central có thể kết nối một lúc nhiều thiết bị BLE Peripheral (số lượng thiết bị có thể kết nối tùy thuộc vào loại BLE chip) nhưng một thiết bị BLE Peripheral chỉ có thể kết nối với một thiết bị BLE Central

Sau khi 2 thiết bị BLE đã kết nối với nhau xuất hiện thêm hai khái niệm BLE Server

và BLE Client

- BLE Server là thiết bị BLE tạo ra dữ liệu (ví dụ như sensor)

- BLE Client là thiết bị BLE xử lý dữ liệu (ví dụ smartphone, tablet…)

Ở đây chúng ta có thể thấy BLE Server/Client và BLE Central/Peripheral là hai khái niệm độc lập và khác nhau trong đó BLE Central/Peripheral thể hiện vai trò của thiết bị BLE trước khi kết nối và BLE Server/Client thể hiện điểm xuất phát của dữ liệu truyền giữa hai thiết bị BLE sau khi kết nối Do đó thiết bị BLE Central sau khi kết nối có thể là BLE Server hay BLE Client tùy theo nó tạo ra dữ liệu hay nó nhận

và xử lý dữ liệu; tương tự cho BLE Peripheral cũng có thể là BLE Server hoặc BLE Client sau khi kết nối

Tiếp theo là hai khái niệm còn lại trong bốn chế độ hoạt động của BLE: observer và broadcaster

BLE Observer là BLE Central nhưng chỉ nhận dữ liệu nhận dạng của các thiết bị xung quanh nhưng không bao giờ tạo kết nối

Trang 27

BLE Broadcaster là BLE Peripheral chỉ phát dữ liệu nhận dạng nhưng không bao giờ chấp nhận yêu cầu kết nối từ các BLE Central

2.2.3 Các quá trình hoạ ộng c a BLE

Các quá trình hoạt động chính của BLE có thể kể đến như:

- Advertising: là hoạt động phát dữ liệu nhận dạng cơ bản của thiết bị BLE

Peripheral ra môi trường xung quanh trước khi kết nối

- Scanning: là hoạt động của thiết bị BLE Central để thu thập dữ liệu nhận

dạng của nhiều thiết bị BLE Peripheral xung quanh

- Connecting: là hoạt động của cả thiết bị BLE Central và BLE peripheral

trong đó thiết bị BLE Central có thể gửi yêu cầu thêm thông tin nhận dạng (Scan Request) và BLE Peripheral gửi theo yêu cầu gọi là Scan Response) Sau đó BLE Central sẽ kiểm tra đầy đủ thông tin nhận dạng (từ Advertising data và từ Scan Response data) và gửi yêu cầu kết nối (Connection Request), cuối cùng thiết bị BLE Peripheral sẽ trả lời chấp nhận hay từ chối kết nối (Connection Response)

- Discovering: là hoạt động của thiết bị BLE Client sau khi kết nối nhằm lấy

thông tin về các loại dữ liệu mà thiết bị BLE Server có thể cung cấp Ví dụ, thiết bị BLE Server có thể có dữ liệu về gia tốc, hoặc có dữ liệu về nhiệt độ,

độ ẩm, v.v và thiết bị BLE Client sẽ có nhu cầu biết các loại dữ liệu nào có thể nhận từ BLE Server

Hình 2.4 mô tả quá trình hoạt động này của BLE

Trang 28

Hình 2.4: Quá trình hoạt động của BLE 2.2.4 Cá ặc tính tần số và cấu trúc truyền dữ liệu c a BLE

2.2.4.1 Tần số hoạ ộng c a BLE

Tần số hoạt động của BLE là 2.4GHz, chính xác là từ 2402MHz đến 2480MHz Dãy tần số này được chia làm 40 kênh truyền, trong đó các chip BLE có thể sử dụng

1 trong 40 kênh tần số để truyền dữ liệu

Giá trị tần số của mỗi kênh truyền được tính như sau:

fn = 2402 + 2*n (MHz) với 0 n 39 (2.1) Các kênh tần số này sẽ được sử dụng như sau:

- Kênh 2402MHz, 2426MHz và 2480MHz là 3 kênh chỉ được dùng để truyền

dữ liệu nhận dạng (advertising data) của BLE Peripheral trước khi kết nối

và được gọi là Advertising Channels

Trang 29

- Tất cả 37 kênh còn lại sẽ được dùng để truyền dữ liệu ứng dụng giữa các

thiết bị BLE sau khi kết nối và được gọi là Data Channels

Sở dĩ cần đến ba kênh advertising data là để BLE Central có thể giao tiếp với nhiều thiết bị BLE Peripheral cùng một lúc Ví dụ, nếu chỉ có 1 kênh Advertising Channel, sẽ có 2 trường hợp có thể xảy ra: một là BLE Central chỉ nhận được Advertising data từ một BLE peripheral mà thôi nếu chỉ một thiết bị BLE Peripheral

đó sử dụng kênh truyền tại thời điểm mà BLE Central thức dậy để nhận dữ liệu hoặc hai là BLE Central sẽ không nhận đúng Advertising data nếu nhiều thiết bị BLE Peripheral cùng lúc sử dụng kênh truyền đó Tương tự 37 Data Channels có thể giúp BLE Central giao tiếp với nhiều thiết bị BLE Peripheral cùng một lúc Hình 2.5 mô tả biểu diễn minh họa cho ba kênh advertising data và 37 kênh Data

Hình 2.5: Ba kênh Advertising và 37 kênh data của BLE 2.2.4.2 Quy trình kết nối c a BLE

Như đã trình bày trong mục 2.2.3 quá trình hoạt động của BLE, BLE central sẽ nhận advertising data từ các BLE Peripherl ở xung quanh Cả 2 thiết bị BLE Central

và BLE Peripheral đều truyền/nhận dữ liệu theo chu kỳ tương ứng chứ không liên tục để tiết kiệm năng lượng Cụ thể như BLE Central sẽ có khái niệm “chu kỳ nhận

dữ liệu nhận dạng (scanning interval)” trong đó BLE Central sẽ thức dậy và nhận

dữ liệu nhận dạng sau mỗi scanning interval (nhận dữ liệu trên cả 3 kênh

Trang 30

Advertising Channels đã giới thiệu ở trên) Tương tự BLE Peripheral sẽ có khái

niệm “chu kỳ phát dữ liệu nhận dạng (advertising interval)” trong đó thiết bị sẽ thức

dậy sau mỗi chu kỳ để truyền advertising data (cũng phát dữ liệu trên cả 3 kênh tần

số của Advertising Channels); và đặc biệt là mỗi lần thức dậy các thiết bị BLE Peripheral sẽ truyền nhiều lần dữ liệu nhận dạng (cái này gọi là Advertising Packets) chứ không phải đơn thuần là truyền 1 lần nhằm mục đích để tăng khả năng nhận được dữ liệu của BLE Central

Từ đó chúng ta có thể thấy các yếu tố ảnh hưởng việc nhanh/chậm khi BLE Central nhận biết các thiết bị BLE Peripheral xung quanh:

- Nếu chọn Scanning Interval thấp, thì BLE Central sẽ thức dậy nhiều hơn và nhận được nhiều advertising data hơn nên tìm đúng BLE Peripheral nhanh hơn nhưng cũng tốn pin hơn

- Nếu chọn Advertising Interval thấp, thì BLE Peripheral sẽ thức dậy nhanh hơn và phát nhiều dữ liệu hơn dẫn đến tăng khả năng nhận của BLE Central Hơn nữa, nếu chọn số Advertising Packets lớn, thì sẽ phát nhiều dữ liệu hơn nữa Điều này sẽ làm rất tốn pin

Do đó, chúng ta phải cân nhắc tốc độ kết nối và mức năng lượng tiêu thụ khi khởi tạo các thông số trên cho thiết bị BLE

Trong hình 5 là một ví dụ về chu kì truyền nhận dữ liệu của BLE central và BLE peripheral Như ta thấy trong hình, chu kì scanning của BLE central là 50ms, thời gian quét là 25ms Chu kì phát advertising data của BLE peripheral là 20ms, sau chu kì 20ms BLE Peripheral sẽ thức dậy và phát Advertising data trên cả 3 kênh Advertising Channels Sau đó BLE Central sẽ nhận được dữ liệu nhận dạng (Advertising data) của BLE Peripheral tại các thời điểm 0ms, 20ms, 60ms, 100ms

và 120ms và có thể tạo kết nối tại 1 trong các thời điểm đó

Trang 31

Hình 2.6: Quá trình Scanning của BLE central và Advertising của BLE peripheral 2.3 Decision Tree

Decision tree là một dạng thuật toán thuộc loại huấn luyện có giám sát (supervised learning) thường được dùng trong các vấn đề về phân loại và hồi quy Decision tree tạo ra một mô hình tiên đoán có nhiệm vụ tiên đoán giá trị của một đối tượng dựa trên tập dữ liệu nhiều biến đầu vào Phương pháp này phân loại một quần thể các phân đoạn tạo ra hình như một cây lộn ngược với một root node, các split nodes và leaf nodes Thuật toán decision tree không có các hệ số phương trình và có thể xử lý hiệu quả một tập dữ liệu lớn, phức tạp mà không cần đến các cấu trúc tham số phức tạp

Hình 2.7: Cấu trúc của decision tree

Trang 32

Cấu trúc cơ bản của một decision tree được mô tả trong hình 2.7, trong đó:

- Root node: đại diện toàn bộ quần thể hoặc tập dữ liệu và được chia thành hai hoặc nhiều tập đồng nhất

- Decision node (split node): khi một node được phân tách thành các node phụ (sub-node), nó được gọi là decision node

- Leaf node: các node không còn tiếp tục phân tách, được gọi là leaf node hoặc terminal node

- Splitting: quá trình chia tách một node thành nhiều node phụ

Bảng 2.3 bao gồm tập dữ liệu về thời tiết bao gồm bốn thuộc tính và một output Thuộc tính thời tiết có ba giá trị là nắng, âm u và mưa Thuộc tính nhiệt độ có ba giá trị là nóng, ấm áp và lạnh Thuộc tính độ ẩm có hai giá trị là cao và bình thường Thuộc tính gió có hai giá trị là có và không Output đó là quyết định có đi chơi golf hay không Hình 2.8 là một kết quả phân loại có được sau khi sử dụng decision tree:

- Nếu thời tiết là âm u thì quyết định đi chơi golf là có

- Nếu thời tiết là nắng và không có gió thì quyết định đi chơi golf là có

- Nếu thời tiết là nắng và có gió thì quyết định đi chơi golf là không

- Nếu thời tiết là mưa và độ ẩm cao thì quyết định đi chơi golf là có

- Nếu thời tiết là mưa và độ ẩm bình thường thì quyết định đi chơi golf là không

Bảng 2.3: Tập dữ liệu về thời tiết và output tương ứng

Thời tiết Nhiệ ộ Độ ẩm Gió Chơi Golf?

Trang 33

Nắng Lạnh Bình thường Có Không

Có Không

Hình 2.8: Ví dụ về decision tree ứng dụng cho một tập dữ liệu về thời tiết

Decision tree có hai dạng chính:

- Classification tree: kết quả tiên đoán là lớp phân loại của dữ liệu thuộc về

- Regression tree: kết quả tiên đoán là một giá trị thực

Trang 34

Huấn luyện decision tree là quá trình xây dựng nên một decision tree từ các tập dữ liệu đã được phân loại Decision tree có cấu trúc dạng lưu đồ, với mỗi split node là một test trên một thuộc tính, mỗi nhánh trong lưu đồ là một hướng kết quả của test

và mỗi terminal node là tên của mỗi lớp Node trên cùng của lưu đồ là root node Hiện có rất nhiều thuật toán decision tree, một số trong đó là:

- Iterative Dichotomiser 3 (ID3)

- C4.5 (cải tiến của ID3)

- CART (Classification And Regression Tree)

- CHAID (CHi-squared Automatic Interaction Detector)

- MARS: mở rộng decision trees để xử lý dữ liệu số tốt hơn

2.3.1 Thuật toán ID3

Thuật toán ID3 bắt đầu với tập dữ liệu ban đầu S làm root node Với mỗi chu kì của thuật toán, thuật toán sẽ tính toán hệ số Entropy của từng thuộc tính trong tập S Sau

đó thuật toán sẽ lựa chọn thuộc tính có Entropy thấp nhất Tập dữ liệu S sau đó sẽ được phân tách dựa trên thuộc tính đã chọn để tạo ra các tập dữ liệu con Thuật toán

sẽ tiếp tục đệ quy với từng tập dữ liệu con và chỉ xem xét các thuộc tính chưa được lựa chọn

Quá trình đệ quy trên các tập dữ liệu con có thể dừng lại nếu:

- Nếu toàn bộ thành phần của tập dữ liệu con đều thuộc về một lớp

- Không còn thuộc tính để lựa chọn nhưng vẫn còn thành phần dữ liệu không thuộc về cùng một lớp, lúc này node sẽ biến thành terminal node và được đặt theo class phổ biến nhất trong tập dữ liệu

- Không còn thành phần trong tập dữ liệu, điều này xảy ra là do không có thành phần nào trong tập cha ban đầu có giá trị giống với giá trị của thuộc tính đã chọn Lúc này node sẽ biến thành terminal node và được đặt theo class phổ biến nhất trong tập dữ liệu

Trang 35

Trong quá trình huấn luyện, decision tree được xây dựng với từng split node đại diện cho từng thuộc tính và terminal node đại diện cho tên lớp của tập con cuối cùng của phân nhánh này

Tóm tắt lại, các bước để xây dựng decision tree theo thuật toán ID3 đó là:

- Tính toán Entropy cho toàn bộ các thuộc tính của tập dữ liệu S

- Phân tách tập S thành các tập con dựa trên thuộc tính có Entropy nhỏ nhất

- Tạo node cho decision tree chứa thuộc tính đó

- Tiếp tục quá trình với các thuộc tính còn lại trong các tập con

Entropy H(S) (2.1) là phép tính đại diện cho sự không chắc chắn trong tập dữ liệu S H(S) = (2.1) Trong đó:

- S: Tập dữ liệu entropy đang được tính (thay đổi theo mỗi chu kì thuật toán ID3)

x2,i, …xp,i), với xj đại diện cho các giá trị thuộc tính của các thành phần cũng như các lớp của si thuộc về

Tại mỗi node, thuật toán C4.5 sẽ lựa chọn thuộc tính của tập dữ liệu mà chia tách hiệu quả nhất tập dữ liệu thành các tập con Tiêu chuẩn của việc phân tách là dựa trên hệ số Information Gain đã được chuẩn hóa Thuộc tính có hệ số Information Gain cao nhất sẽ được lựa chọn Thuật toán C4.5 sẽ tiếp tục quá trình với các tập con

Trang 36

Một số trường hợp cơ bản xảy ra khi thuật toán xây dựng decision tree:

- Tất cả thành phần đều thuộc về một lớp Khi điều này xảy ra, thuật toán sẽ tạo ra terminal node để decision tree lựa chọn lớp này

- Không có thuộc tính nào có Information Gain Trong trường hợp này, C4.5

sẽ tạo ra một node decision có cấp độ cao hơn bằng cách sử dụng các giá trị trong cùng lớp

- Trường hợp gặp phải lớp chưa thấy trước đây, C4.5 sẽ tạo ra một node decision có cấp độ cao hơn bằng cách sử dụng các giá trị trong cùng lớp Tóm tắt, các bước để thuật toán C4.5 xây dựng decision tree là:

- Kiểm tra toàn bộ dữ liệu ban đầu

- Với từng thuộc tính, tìm tỉ lệ Information Gain chuẩn hóa của thuộc tính trên tập phân tách

- Chọn ra thuộc tính có Information Gain chuẩn hóa cao nhất

- Tạo ra split node với thuộc tính đó

- Tiếp tục đệ quy với các tập con sau khi phân tách

C4.5 có nhiều cải tiến hơn so với ID3:

Có khác năng xử lý cả thuộc tính liên tục hoặc thuộc tính rời rạc: Để xử lý các thuộc tính liên tục, C4.5 tạo ra một giá trị ngưỡng và phân tách thành nhóm các thuộc tính trên ngưỡng và nhóm các thuộc tính dưới hoặc bằng ngưỡng

Có khả năng xử lý tập dữ liệu thiếu các giá trị thuộc tính: C4.5 cho phép các giá trị thuộc tính được đánh dấu là “?” nếu thiếu Các giá trị thuộc tính bị thiếu sẽ không được sử dụng trong tính toán Information Gain và Entropy

Xử lý các thuộc tính với nhiều đòi hỏi khác nhau

Cắt bớt các nhánh của decision tree: C4.5 xem lại toàn bộ decision tree sau khi tạo

ra và loại bớt các nhánh không có ích bằng cách biến chúng thành các terminal leaf

Trang 37

Information Gain IG(T,a) (2.2) là một dạng phương trình biến đổi của Entropy H(S):

Trong đó:

T là tập dữ liệu huấn luyện, mỗi dữ liệu huấn luyện có dạng (x,y) = (x1, x2,…, xk, y)

xa vals(a) là giá trị của thuộc tính thứ a của thành phần x và y là lớp tương ứng Information Gain cho thuộc tính a được biểu diễn theo H() như sau:

IG(T,a) = H(T) - H({x T| = v}) (2.3)

2.4 Cross V lid ion (Đánh giá héo)

Hai vấn đề cơ bản trong việc nhận dạng mẫu: chọn mô hình và ước tính

performance

- Chọn mô hình: thường tất cả phương pháp nhận dạng mẫu đều có ít nhất 1 parameter tự do (ví dụ kích thước network, learning rate và trọng số trong MLP) Vậy câu hỏi là làm sao có thể chọn được thông số tối ưu nhất cho mô hình để có thể phù hợp với bài toán phân loại đặt ra

- Performance: sau khi lựa chọn được mô hình, làm sao để đánh giá được mô hình hoạt động tốt không? Performance thường được đo bằng thông số “true

error rate” (tỉ lệ lỗi phân loại trên toàn quần thể mẫu)

Trong các ứng dụng thực tế, chúng ta chỉ có tập dữ liệu mẫu hữu hạn Một cách tiếp cận đó là sử dụng toàn bộ tập dữ liệu huấn luyện để chọn ra bộ phân loại và ước tính tỉ lệ lỗi Cách tiếp cận tồn tại hai vấn đề chính:

- Mô hình cuối cùng thường overfit training data (thường là các mô hình có nhiều thông số)

- Tỉ lệ lỗi ước tính thường quá tốt (thấp hơn true error rate)

Trang 38

Một cách tiếp cận khác tốt hơn đó là chia tập dữ liệu huấn luyện thành các tập con (holdout method)

Holdout method: chia tập dữ liệu thành hai nhóm: training set và test set

- Training set: dùng để huấn luyện bộ phân loại

- Test set: dùng để ước tính tỉ lệ lỗi của bộ phân loại đã được huấn luyện

Ứng dụng điển hình của holdout method là quyết định stopping point của back

propagation error

Tuy nhiên, Holdout method có hai nhược điểm chính:

- Nếu tập dữ liệu bị phân tán, ta sẽ không thể để ra 1 phần dữ liệu để dùng làm testing data

- Ước tính tỉ lệ lỗi của holdout method có thể sai nếu phân chia sai

Các nhược điểm này có thể được khắc phục bằng các phương pháp lấy mẫu lại khác:

Random Subsampling chia tập dữ liệu thành k tập dữ liệu con

Mỗi tập dữ liệu con chọn ngẫu nhiên một số lượng dữ liệu mẫu mà không thay thế

Ta sẽ thực hiện huấn luyện bộ phân loại với từng tập mẫu con đã tạo ra và ước tính

Ei với test examples

Trang 39

Hình 2.9: Cách chia tập dữ liệu trong phương pháp Random Subsampling

True error rate = trung bình của các Ei:

E = (2.4) Ước tính theo phương pháp Random Subsampling tốt hơn một chút so với ước tính theo phương pháp holdout

2.4.2 K-fold-Cross-Validation

Dữ liệu ban đầu được phân chia ngẫu nhiên thành k tập dữ liệu có kích cỡ bằng nhau Trong k tập dữ liệu, một tập dữ liệu được giữ lại dùng làm tập dữ liệu đánh giá dùng để test mô hình dự đoán, k-1 tập còn lại được sử dụng làm tập huấn luyện K-fold cross validation tương tự với random subsampling Ưu điểm của K-fold cross validation đó là tất cả mẫu đều được lần lượt dùng làm training và testing

Hình 2.10: Cách chia tập dữ liệu theo phương pháp k-Fold Cross Validaiton

Trang 40

True error rate = trung bình các error

E =

2.4.3 Leave one-out Cross Validation

Leave one-out Cross Validation là bản đơn giản hóa của k-fold-cross-validation với

k được chọn bằng với tổng số mẫu

Với tập dữ liệu có N mẫu, thực hiện N thí nghiệm

Với N thí nghiệm, sử dụng N-1 mẫu làm tập huấn luyện và mẫu còn lại làm testing

Hình 2.11: Cách chia tập dữ liệu theo phương pháp Leave one-out Cross Validation 2.5 Confusion Matrix

Confusion matrix (còn gọi là error matrix) là bảng dùng để đánh giá một thuật toán, thường là trong kiểu huấn luyện có giám sát (supervised learning) Mỗi hàng của

ma trận mô tả các trường hợp dự đoán và mỗi cột của ma trận mô tả các trường hợp thực tế

Bảng confusion (bảng 2.4) là bảng gồm hai hàng và hai cột miêu tả true positive, true negative, false positive, false negative

- True positive: dự đoán đúng với các kết quả khẳng định

- True negative: dự đoán đúng với các kết quả phủ định

- False positive: dự đoán sai với kết quả khẳng định (Type I error)

Ngày đăng: 13/12/2022, 15:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w