Phương pháp phân tích và nhận biết hành động bằng tín hiệu gia tốc kế; và cách ứng dụng của cảm biến trên điện thoại.. Và em xin được áp dụng để làm đề tài cho chuyên đề này, nhằm phân t
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
- -
PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
TRONG TIN HỌC
ỨNG DỤNG CÁC NGUYÊN TẮC SÁNG TẠO TRONG XÂY DỰNG THUẬT TOÁN TÍNH SỐ
BƯỚC CHÂN TRÊN iPHONE
Học viên: Lê Anh Tú
(1211078 – Cao học KHMT K22)
Trang 2Em xin chân thành cám ơn
Học viên thực hiện
Lê Anh Tú
Trang 3MỤC LỤC
LỜI CÁM ƠN 2
MỞ ĐẦU 5
TỔNG QUAN 6
Chương I: LÝ THUYẾT VÀ THỰC NGHIỆM 7
1 Cảm biến 7
1.1 Khái niệm về cảm biến 7
1.2 Đặc điểm của cảm biến 7
1.3 Một số loại cảm biến trên smartphone 7
1.4 Ứng dụng phổ biến của cảm biến 8
2 Xử lý tín hiệu cảm biến 9
2.1 Giới thiệu bộ lọc Kalman 9
2.2 Xử lý tín hiệu từ gia tốc kế 12
2.3 Phương pháp tính số bước chân từ tín hiệu của gia tốc kế 14
2.4 Kết quả đạt được 17
Chương II: ỨNG DỤNG NGUYÊN TẮC SÁNG TẠO TRÊN SỰ PHÁT TRIỂN CẢM BIẾN VÀ TRONG QUÁ TRÌNH THỰC HIỆN 19
1 Ứng dụng nguyên tắc sáng tạo trên sự phát triển của cảm biến: 19
1.1 Nguyên tắc phân nhỏ: 19
1.2 Nguyên tắc phẩm chất cục bộ: 19
1.3 Nguyên tắc kết hợp: 20
1.4 Nguyên tắc vạn năng: 20
1.5 Nguyên tắc năng động: 20
Trang 41.6 Nguyên tắc rẽ thay cho đắt: 21
1.7 Nguyên tắc thay thế sơ đồ cơ học: 21
1.8 Nguyên tắc sử dụng vật liệu tổng hợp: 22
2 Ứng dụng nguyên tắc sáng tạo trong quá trình thực hiện: 22
2.1 Nguyên tắc phân nhỏ: 22
2.2 Nguyên tắc “tách khỏi”: 22
2.3 Nguyên tắc phẩm chất cục bộ: 23
2.4 Nguyên tắc kết hợp: 23
2.5 Nguyên tắc vạn năng: 23
2.6 Nguyên tắc gây ứng xuất sơ bộ: 24
2.7 Nguyên tắc thực hiện sơ bộ: 24
2.8 Nguyên tắc năng động: 24
2.9 Nguyên tắc sử dụng trung gian: 25
2.10 Nguyên tắc đổi màu: 25
Chương III: ỨNG DỤNG NGUYÊN TẮC SÁNG TẠO ĐƯA RA NHỮNG HƯỚNG PHÁT TRIỂN CHO ĐỀ TÀI 26
KẾT LUẬN 27
TÀI LIỆU THAM KHẢO 28
Trang 5(Bài báo "A high-accuracy step counting algorithm for iPhones using
Accelerometer " của nhóm đã được chấp nhận ở ISSPIT 2012 vừa qua )
Đối tƣợng và phạm vi nghiên cứu
Đối tượng nghiên cứu chính của em là loại cảm biến phổ biến trên iPhone là: gia tốc
kế Phương pháp phân tích và nhận biết hành động bằng tín hiệu gia tốc kế; và cách ứng dụng của cảm biến trên điện thoại Trong đó, phạm vi nghiên cứu của nhóm tập trung vào cách sử dụng và ứng dụng cảm biến trên iPhone
Trang 6TỔNG QUAN
Việc khai thác ứng dụng của cảm biến đã được đề cập từ rất lâu Trong bài báo
"Activity Recognition from User-Annotated Acceleration Data" (1), 2 tác giả Ling Bao
và Stephen S Intille đã ứng dụng gia tốc kế vào việc nhận dạng hành động của người sử dụng Hai tác giả trên đã dùng 5 gia tốc kế gắn tại 5 vị trí khác nhau trên người sử dụng
để ghi nhận được nhiều loại hành động của người dùng như đứng, đi bộ, chạy, ngồi, Kết hợp với việc so sánh với các dữ liệu gia tốc của 20 người tình nguyện trong phòng thí nghiệm, từ đó phân loại hành động của người sử dụng Và độ chính xác với cách làm của
họ là 84% Tuy nhiên, việc gắn 5 gia tốc kế lên người sử dụng là không tiện dụng, đồng thời gia tốc kế mà họ sử dụng là gia tốc kế riêng biệt
Trong bài báo "A simple method for reliable footstep detection on embedded sensor platforms” của tác giả Ryan Libby (2), gia tốc kế được ứng dụng để nhận biết bước đi của người dùng Trong cách thức tiến hành, Ryan sử dụng một thiết bị tích hợp gia tốc kế và đặt nó ở hông người sử dụng Kết quả tốt nhất trong phần nhận biết bước đi khi người dùng đi bộ là 99,5%
Ở đề tài “Xây dựng thuật toán tính số bước chân trên iPhone”, em thực hiện xây dựng thuật toán tính số bước chân dựa vào bộ lọc Kalman Và em xin được áp dụng để làm đề tài cho chuyên đề này, nhằm phân tích phân tích các nguyên tắc sáng tạo được áp dụng trong quá phát triển cảm biến trên iPhone cũng như trong quá trình thực hiện đề tài
Trang 7Chương I: LÝ THUYẾT VÀ THỰC NGHIỆM
1 Cảm biến
1.1 Khái niệm về cảm biến
Cảm biến là một thiết bị đo một đại lượng vật lý và chuyển đổi nó thành tín hiệu để người hoặc thiết bị khác có thể đọc được Ví dụ: nhiệt kế thủy ngân chuyển đổi sự thay đổi nhiệt độ thành sự độ cao của cột thủy ngân trong ống thủy tinh để có thể đọc được
Hầu hết các cảm biến đều được canh chỉnh độ chính xác dựa vào các chuẩn đã biết
Ví dụ: nhiệt độ của nước đá là 0oC và nhiệt dộ của nước đang sôi là 100oC thì ta sẽ đánh dấu được bảng chia nhiệt độ cho nhiệt kế
Bản thân cảm biến cũng ảnh hưởng đến kết quả đo đạc Ví dụ: nếu dung nhiệt kế thủy ngân vào ly nước để đo nhiệt độ nước thì bản thân cảm biến cũng ảnh hưởng đến nhiệt độ đo được của nước trong ly Do đó, cảm biến phải được thiết kế sao cho mức ảnh hưởng của nó đến giá trị mà cảm biến đo được là nhỏ nhất
1.2 Đặc điểm của cảm biến
Độ nhạy của cảm biến được định nghĩa là độ thay đổi giá trị của cảm biến tương ứng với một lượng thay đổi của đại lượng cần đo Ví dụ: nếu như cột thủy ngân của nhiệt
kế dâng lên 1cm khi nhiệt độ tăng 1oC thì độ nhạy của cảm biến là 1cm/oC Cảm biến có khả năng ghi nhận được những thay đổi càng nhỏ thì càng nhạy
Độ phân giải của cảm biến là sự thay đổi nhỏ nhất của giá trị cần đo mà cảm biến có thể ghi nhận được
1.3 Một số loại cảm biến trên smartphone
- Ambient Light Sensor (ALS): cảm biến ánh sáng
- Proximity Sensor: cảm biến gần
- Accelerometer: gia tốc kế
- Magnetometer: cảm biến từ trường
Trang 8- Gyroscope : cảm biến con quay hồi chuyển
1.4 Ứng dụng phổ biến của cảm biến
- Ứng dụng của Ambient Light sensor (cảm biến ánh sáng): dựa vào khả
năng đo lượng ánh sáng (độ sáng) của môi trường xung quanh Giảm điện năng tiêu thụ bằng cách điều chỉnh độ sáng màn hình phù hợp với môi trường sử dụng Điều chỉnh độ sáng của không gian xung quanh nhờ vào việc nhận biết mức ánh sáng tương ứng
- Ứng dụng của Proximity Sensor (cảm biến gần): cảm biến gần được dùng
để đo độ gần của một vật thể bằng cách phát ra tia hồng ngoại và đo độ mạnh của tín hiệu phản hồi Cảm biến gần được dùng chủ yếu để nhận biết khi nào người dùng đặt điện thoại gần tai nhằm tắt màn hình để tiết kiệm điện năng và tắt cảm ứng màn hình để tránh việc vô tình phát sinh sự kiện chạm màn hình
- Ứng dụng của Accelerometer (gia tốc kế): Với khả năng nhận biết trạng
thái chuyển động, rung lắc, và trạng thái, gia tốc kế được dùng trong nhiều loại ứng dụng như tiện ích, game, đo sức khỏe, v.v
- Ứng dụng của cảm biến từ trường: Cảm biến từ trường được tích hợp khá
nhiều trên các loại smartphone Với khả năng xác định hướng, cảm biến từ trường được kết hợp với định vị GPS để xác định tuyến đường mà người dùng đã đi
- Ứng dung của Gyroscope (cảm biến con quay hồi chuyển): Tương tự như
gia tốc kế, cảm biến con quay hồi chuyển cũng được ứng dụng chủ yếu vào các trò chơi, các tiện ích mà trong đó điện thoại được điều khiển bằng cách nghiêng điện thoại qua lại
Trang 9đo Trên thực tế, không thể lọc được toàn bộ tín hiệu nhiễu ra khỏi tín hiệu thực tế, vì vậy
bộ lọc chỉ có thể lọc ra tín hiệu ước lượng gần đúng so với tín hiệu thực
Hình 1 Mô hình bộ lọc
2.1.2 Giới thiệu về bộ lọc Kalman
Năm 1960, R.E Kalman đã công bố bài báo nổi tiếng về một giải pháp truy hồi để giải quyết bài toán lọc thông tin rời rạc tuyến tính (discrete data linear filtering) mang tên
"A New Approach to Linear Filtering and Prediction Problems"
Bộ lọc Kalman là tập hợp các phương trình toàn học mô tả phép tính hồi quy để ước lượng trạng thái một quá trình sao cho phương sai giữa giá trị ước đoán và giá trị thật là nhỏ nhất
Trang 10Mô hình hệ thống
Kalman Filter
Tín hiệu đo được
Tín hiệu cảm biến
Hình 2 Mô hình bộ lọc Kalman
2.1.3 Giới thiệu về bộ lọc Kalman rời rạc
Bộ lọc Kalman rời rạc sử dụng cho bài toán ước lượng trạng thái một quá trình được
mô hình hóa một cách rời rạc theo thời gian
Trạng thái của quá trình được mô tả theo phương trình ngẫu nhiên tuyến tính:
xk = A*xk-1 + B*uk-1 + wk-1 , w ~ (0, Q) (1)
Kết quả đo được z được mô tả theo phương trình:
Nếu x có kích thước n, u có kích thướng l, z có kích thước m thì khi đó:
- A: ma trận kích thước n x n Thể hiện mối quan hệ giữa x và trạng thái trước nó
- B: ma trận kích thướng n x l Thể hiện mối quan hệ giữa u và x
- u : tín hiệu điều khiển
- w : tín hiệu nhiễu của hệ thống
- H: ma trận kích thước n x m
- v : tín hiệu nhiễu đo đạc
- Qua mô hình hệ thống, ta thấy bộ lọc Kalman rời rạc là đi tìm giá trị ước lượng x khi biết được mô hình trạng thái của x và giá trị đo được z phụ thuộc vào x
Để tìm được giá x gần đúng với giá trị thật nhất, Kalman đã đưa ra mô hình bộ lọc Kalman dưới đây:
Trang 11Hình 2 Mô hình xử lí của bộ lọc Kalman rời rạc
Trong đó:
- P: ma trận sai số của hệ thống
- x- :giá trị ước đoán từ mô hình hệ thống
- x: giá trị tính toán được
Bộ lọc Kalman rời rạc gồm 2 phần:
- Time Update: dựa vào mô hình trạng thái đã thiết lập và giá trị x tiền nghiệm tính được tính toán giá trị ước đoán x Và điều chỉnh giá trị sai số P
- Measurement Update: tính toán giá trị thật x dựa vào giá trị ước đoán, giá trị đo được
và sai số ước lượng
Ta có thể mô hình Kalman rời rạc một cách tổng quát như sau:
Trang 12Ước đoán giá trị x
Mô hình hệ thống
Ước đoán sai số
Giá trị đo được
4
Hình 4 Mô hình tổng quát bộ lọc Kalman rời rạc
Thứ tự thực hiện từ 1 đến 4 và lặp lại
2.2 Xử lý tín hiệu từ gia tốc kế
2.2.1 Phương pháp lọc nhiễu ứng dụng bộ lọc Kalman rời rạc
Như đã nêu trên, để sử dụng bộ lọc Kalman rời rạc, ta cần mô hình hóa hệ thống theo hai phương trình ngẫu nhiên tuyến tính của bộ lọc Kalman rời rạc:
(1) với A=1, u=0
xk = xk-1 + wk-1 , w ~ (0, Q)
Kết quả đo được chỉ bao gồm giá trị tín hiệu thật và thêm vào lượng nhiễu nên H
=1 và được mô tả theo phương trình:
(2) với H=1
zk = xk + vk ,v ~ (0,R)
Trang 13Hình 53 Mô hình bộ lọc Kalman rời rạc cho tín hiệu cảm biến
Trang 142.3 Phương pháp tính số bước chân từ tín hiệu của gia tốc kế
Bộ lọc Kalman
Lọc cực trị cục bộ
Tín hiệu từ gia
n
Hình 74 Sơ đồ phương pháp tính số bước chân
Với tín hiệu từ gia tốc kế, xác định kiểu đặt điện thoại để xác định giá trị trục của gia tốc kế có biến đổi nhiều và có thể tính được bước chân từ đó Kiểu đặt máy và giá trị trục tương ứng như sau:
o Với kiểu cầm tay: lấy tín hiệu trục z
o Với kiểu bỏ túi áo: lấy tín hiệu trục y
o Với kiểu bỏ túi quần: lấy tín hiệu trục z
Thông số nhiễu em sử dụng R= 0.02, Q:0.5, và thông số nhiễu thay đổi tùy vào kiểu đặt điện thoại và được xác định dựa vào bộ dữ liệu thu được để có kết quả tốt nhất
Hình 8 Tín hiệu từ gia tốc kế
Hình 9 Tín hiệu từ gia tốc kế qua 1 lần lọc Kalman với thông số nhiễu thấp
Trang 15Hình 105 Tín hiệu từ gia tốc kế qua 1 lần lọc Kalman với thông số nhiễu cao
Hình 11 Tín hiệu từ gia tốc kế qua 3 lần lọc Kalman với thông số nhiễu thấp
Với tín hiệu sau 3 lần lọc Kalman (tín hiệu K), em sử dụng bộ lọc bước đi em đề xuất Mục đích bộ lọc bước đi là lọc giữ lại những cực trị cục bộ: bao gồm dãy tín hiệu tăng và dãy tín hiệu giảm Cách thức lọc bước đi như sau:
Nếu (K i - K i-1> d):
Ti := Ti-1 + k
Nếu (K i-1 - K i > d):
Nếu Ti-1 = 0 : Ti := T lớn nhất cục bộ kề trước
Nếu Ti-1 > 0 : Ti := Ti-1 - k
Nếu Ti < 0: Ti := 0
Nếu (| Ki-1 - Ki | <= d): Ti = 0
Trong đó:
K: tín hiệu sau khi qua bộ lọc Kalman
T: tín hiệu sau khi lọc cực trị
d: tham số sai lệch
k: hằng số bất kì
Trang 16Hình 12 Kết quả sau khi lọc bước đi
- Tín hiệu thứ 1: tín hiệu sau bộ lọc Kalman K
Trang 17Độ chính xác trung bình của chúng em ở kiểu cầm tay là 96.3%, và ở kiểu bỏ túi là 96.7% Ở 2 kiểu ứng dụng của chúng em đều đạt được độ chính xác cao nhất trong số các ứng dụng được thử nghiệm
Tracker
Pedometer 2.2.2 with GPS+
Trang 18Hình 6 Biểu đồ độ chính xác trung bình của các ứng dụng ở kiểu cầm tay
Hình 7 Biểu đồ độ chính xác trung bình của các ứng dụng ở kiểu bỏ túi
Trang 19Chương II: ỨNG DỤNG NGUYÊN TẮC SÁNG TẠO TRÊN SỰ PHÁT TRIỂN CẢM BIẾN VÀ TRONG QUÁ
- Chia các đối tượng thành các phần độc lập
- Làm đối tượng trở nên tháo lắp được
- Tăng mức độ phân nhỏ của đối tượng
Ứng dụng:
- Các loại chuyển động, biến khác nhau được phân ra và xây dựng các cảm biến khác nhau Ví dụ: cảm biến ánh sáng, cảm biến gia tốc, cảm biến gốc quay
- Bên trong mỗi cảm biến: các biến đổi được chia ra làm các đại lượng đặc trưng khác nhau: Ví dụ: trên cảm biến gia tốc có 3 đại lượng: x, y và z Đặc trưng cho gia tốc ở 3 chiều của điện thoại
1.2 Nguyên tắc phẩm chất cục bộ:
Nội dung:
- Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài) có cấu trúc đồng nhất thành không đồng nhất
- Các phần khác nhau của đối tượng phải có những chức năng khác nhau
- Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất đối với công việc
Ứng dụng:
Trang 20- Các cảm biến được quản lí một cách độc lập và được bố trí ở những vị trí khác nhau, nhằm tạo ra sự quản lí dễ dàng và tạo ra hiệu quả cao nhất khi
sử dụng Ví dụ: cảm biến gần được đặt ở phần trên cũng phía trước của điện thoại để cảm biến điện thoại đang ở trạng thái nào
1.4 Nguyên tắc vạn năng:
Nội dung:
- Đối tượng thực hiện một số chức năng khác nhau, do đó là không cần
sự tham gia của đối tượng khác
Ứng dụng:
- Cảm biến gia tốc ngoài chức năng cảm biến gia tốc còn có thể được sử dụng để đo góc quay của điện thoại (một chức năng của cảm biến con quay) trong nhiều trượng hợp
1.5 Nguyên tắc năng động:
Nội dung:
- Cần thay đổi các đặc trưng của đối tượng hay môi trường bên ngoài sao cho chúng ưu trên từng giai đoạn công việc
Trang 21- Phân chia đối tượng thành từng phần có khả năng dịch chuyển đối với nhau
Ứng dụng:
Cảm biến có nhiều sự truy xuất dữ liệu với những kiểu dữ liêu khác nhau
và có những trạng thái khác nhau ứng với môi trường cụ thể Ví dụ: cảm biến con quay có nhiều dữ liệu khác nhau như bộ ba (x,y,z) hay ma trận góc quay Cảm biến gần có trạng thái tắt/mở tùy thuộc vào điều kiện cụ thể
1.6 Nguyên tắc rẽ thay cho đắt:
- Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị
- Sử dụng điện trường, từ trường và điện từ trường trong tương tác đối với đối tượng
- Chuyển các trường đứng yên sang chuyển động, các trường cố định sang thay đổi theo thời gian, các trường đồng nhất sang có cấu trúc nhất định
- Sử dụng các trường kết hợp với các hạt sắt từ
Ứng dụng:
- Các cảm biến được chuyển từ mô hình cơ học sang cảm biển sử dụng điện Ví dụ: cảm bến con quay
Trang 22- Chia các đối tượng thành các phần độc lập
- Làm đối tượng trở nên tháo lắp được
- Tăng mức độ phân nhỏ của đối tượng
Ứng dụng:
- Phân nhỏ các chức năng của tứng cảm biến
- Phân nhỏ các quá trình xử lí tín hiệu của cảm biến
- Phân nhỏ các giai đoạn, đặc trưng của tính hiệu
- Phân trạng thái của điện thoại ra các trạng thái cụ thể
- Tách các tính hiệu gây nhiễu trong các giá trị lấy được của cảm biến Đây
là quá trình cần thiết cho việc xây dựng ứng dụng dựa trên tín hiệu cảm biến Đặc biệt là cảm biến gia tốc