TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 189
GIẢI PHÁP HIỆU QUẢ ĐẾM SỐ BƯỚC CHÂN DỰA VÀO CÁC CẢM BIẾN
TRÊN ĐIỆN THOẠI THÔNG MINH CHO CÁC ỨNG DỤNG TRONG NHÀ
AN EFFICIENT APPROACH FOR ACCURATE STEPS COUNTING
BASED ON SMARTPHONE SENSORS FOR INDOOR APPLICATIONS
Chu Việt Cường1,*, Trịnh Phạm Như Quỳnh2,
Phạm Thị Mai Anh2, Dương Thị Hằng3
1Lớp KTMT 02 - K15, Khoa Điện tử, Trường Đại học Công nghiệp Hà Nội
2Lớp KTMT 01 - K15, Khoa Điện tử, Trường Đại học Công nghiệp Hà Nội
3Khoa Điện tử, Trường Đại học Công nghiệp Hà Nội
*Email: cvc3072002@gmail.com
TÓM TẮT
Trong những năm gần đây, định vị trong nhà đang một xu thế, hướng nghiên cứu được các nhà nghiên cứu đặc
biệt quan tâm do những ứng dụng đặc biệt của trong đời sống hàng ngày. Một trong các kỹ thuật được sử dụng phổ biến
hiện nay là kỹ thuật định vị tự trị PDR (Pedestrian Dead Reckoning) do đặc điểm không phụ thuộc vào cơ sở hạ tầng của
tòa nhà trong quá trình định vị. Trong bài báo này, chúng tôi trình bày một giải pháp cải thiện độ chính xác trong việc đếm
bước chân bằng cách sử dụng phương pháp phát hiện đỉnh với blọc thông thấp, đồng thời sử dụng kỹ thuật hồi quy tuyến
tính học máy. Dữ liệu sử dụng trong bài báo này được chúng tôi thu thập tại khuôn viên của trường Đại học Công Nghiệp
Hà Nội sử dụng tín hiệu từ các cảm biến được tích hợp sẵn trên điện thoại thông minh. Kết quả mô phỏng sử dụng ngôn
ngữ Python trên tập dữ liệu thực tế đo được có độ chính xác là 99,67% so với dữ liệu thực.
Từ khóa: Định vị trong nhà, PDR (Pedestrian Dead Reckoning), đếm bước chân.
ABSTRACT
Indoor positioning has become increasingly popular in recent years, and it is a field of study in which researchers are
particularly interested in developing practical uses for it. The PDR (Pedestrian Dead Reckoning) autonomous positioning
approach, which does not rely on the building's infrastructure for positioning, is one of the most widely used techniques in
use today. In this study, we offer a technique for increasing step counting accuracy by combining a peak detection method
with a low pass filter and use machine learning linear regression techniques. We gathered the data for this article from the
Hanoi University of Industry campus using signals from smartphone built-in sensors. The accuracy of the simulation results
using Python Programming Language on the actual statistics set is 99.67% when compared to the real data.
Keywords: Indoor positioning, PDR (Pedestrian Dead Reckoning), step counting.
1. GIỚI THIỆU
Hiện nay GPS hệ thống phbiến nhất đtìm thông tin
vị trí của các đối tượng [1] trong khu vực ngoài trời. Tuy
nhiên trong môi trường trong nhà, GPS không thể cung cấp
độ chính xác hợp trong việc theo dõi do cấu trúc bên
trong tòa nhà sự ảnh hưởng của các thiết bị trong nhà.
Vậy cho nên giải pháp về một phần mềm có thể đếm được
từng ớc chân của người dùng điện thoại thông minh được
ra đời nhằm ứng dụng cho rất nhiều lĩnh vực khác nhau như:
định vị bệnh nhân trong bệnh viện, tìm người bị mắc kẹt
trong tòa nhà đang cháy, định vị và hướng dẫn người dùng
trong các khu vực bên trong, kín hoặc mái che… Điều
này đã được đề cập đến trong bài báo “Indoor positioning
and wayfinding systems” [2]. Cụ thể, bài báo xem xét các
hệ thống điều hướng và định vị sử dụng phương pháp tính
toán người đi bộ (PDR) các công nghệ liên lạc khác nhau,
chẳng hạn như Wi-Fi, ánh sáng nhìn thấy được của Nhận
dạng tần số tuyến (RFID), Bluetooth băng tần siêu
rộng (UWB). [3] đã phân tích các công nghệ phần cứng,
phần mềm mạng sẵn thể được sử dụng để tạo ra
một hệ thống định vị cho khu vực bên trong, khu vực khép
kín hoặc mái che. Bài báo phân tích các công nghệ
thể được sử dụng trong các hệ thống phân tán như vậy để
thực hiện các chức năng cần thiết hoặc được yêu cầu trong
Hệ thống định vị trong nhà (IPS).
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 190Hệ thống IPS bao gồm ba yếu tố riêng biệt [3]: nền
tảng động của hệ thống định vị, thiết bị định vhoặc b
truyền tín hiệu, ng dụng di động truy xuất diễn giải
tín hiệu. Vcơ bản, đây một ng nghcho phép thu
thập thông tin vvtcủa các đối ợng trong a n,
khu vực khép kín. Theo một i o, Dead reckoning
một kỹ thuật định hướng tương đối [4] . Bắt đầu từ một vị
trí đã biết, các lần dịch chuyển vị trí liên tiếp được cộng
lại. Các ước tính độ dịch chuyển có th dạng thay đi
trong tọa độ Descartes (tức là tọa độ x và y). PDR chỉ đơn
giản là ước tính độ dài bước (hoặc tốc độ đi bộ) và đường
đi trên mặt đất (hoặc hướng đi bộ) [5, 6]. Kthuật PDR
đã được áp dụng cho vấn đề điều ớng trong một sdự
án [7, 8]. Tương tự, [9] ng đề cập đến việc phương pháp
PDR là sử dụng những dữ liệu thu thập được từ gia tốc kế
để phát hiện bước, ước tính độ dài bước kết hợp cùng con
quay hồi chuyển hoặc lan cân bằng. Ngi ra hệ thống
PDR cũng sử dụng la n ttính để xác định hướng đi
của người dùng tuy nhiên điểm yếu dữ liệu truyền
về sẽ bsai lệch khi gặp các vật thể cấu trúc bằng kim
loại/thép khác nhau. Trong [10], c c giả đã sdụng
phương pháp phân tích skhác biệt của dữ liệu gia tốc
dọc theo chiều dọc (z-axis) trong khi người dùng đang đi
bộ để pt hiện ớc. Nhược điểm của phương pháp này
dữ liệu gia tốc có thbị nhầm lẫn nếu ớng của gia
tốc kế thay đổi. Trong phương pháp thứ hai [11], các cảm
biến được gắn c vtkc nhau trên thđã được
sử dụng nhằm lấy được dliệu từ cảm biến để pt hiện
ớc chân. Cảm biến được đặt trên đùi bắp chân thu
được các dữ liệu khả ng lặp lại theo trục giđịnh
như trongnh 1.
Hình 1. Trục giả định của cảm biến
Một số phương pháp đã được nêu trên nhằm giải quyết
vấn đề này nhưng xét thấy các phương pháp đó đang gặp
nhưng khó khăn về thiết bị sử dụng hay thuật toán quá phức
tạp. Chúng tôi đã đề xuất một ý tưởng, một thuật toán đơn
giản hơn để việc đếm bước chân trở lên dễ dàng hơn cũng
như sử dụng được trên thiết bị di động giúp người dùng sử
dụng dễ dàng hơn. Đầu tiên chúng tôi sử dụng các cảm biến
sẵn trong điện thoại để thể lấy được các thông số để
thực hiện việc tính toán sau này, cụ thể đây sử dụng
cảm biến gia tốc sẵn.Sau đó lọc thô các thông số rồi biểu
diễn thông số dưới dạng đồ thị. Căn cứ vào đồ thị đó chúng
tôi sẽ ước tính được số bước chân.
2. CƠ SỞ LÝ THUYẾT
2.1. Sơ đồ khối hệ thống
Hình 2. đồ khối của phương pháp PDR ứng dụng trong định
vị trong nhà
Trong bài báo, chúng tôi tập trung cải thiện độ chính xác
trong quá trình phát hiện bước đếm bước chân. Phát hiện
bước là một khâu quan trọng trong PDR, nếu quá trình này
bị sai sẽ gây ra lỗi đáng kể trong kết quả định vị cuối cùng
do đếm thừa, đếm thiếu phát hiện sai số bước chân. Dữ
liệu thu được từ cảm biến gia tốc tích hợp trong thiết bị di
động Android được sử dụng để phát hiện bước đi trong bài
viết này. Các ớc được nh toán dựa trên gia tốc của người
dùng, một giá trị gia tốc kế được xử lý chỉ phản ánh gia tốc
do người dùng gây ra chứ không phản ánh gia tốc do trọng
lực gây ra.
Hình 3 minh họa biên độ gia tốc ba trục của người dùng
được thu thập từ thiết bị di động Android cầm trên tay khi
đi bộ bình thường Độ lớn vectơ tín hiệu (SVM). SVM
được định nghĩa căn bậc hai của tổng bình phương tín
hiệu gia tốc của mỗi trục:
SVM = (Acc_x)+ (Acc_y)+ (Acc_z) (1)
trong đó, Acc_x, Acc_y Acc_z lần lượt biểu thị gia
tốc người dùng đo được trong trục x, trục y và trục z của gia
tốc kế tại một điểm. Như đã thấy trong hình 2, kết quả của
dữ liệu đi bộ cho thấy rằng dữ liệu thu được chứa nhiễu ảnh
hưởng lớn tới độ chính xác trong việc đếm bước chân. Do
đó, sau khi thu được gia tốc người dùng trên 3 trục x, y, z
nhóm chúng tôi đề xuất sử dụng bộ lọc thông cao để cải
thiện độ chính xác của phát hiện đỉnh. Sau khi thu được dữ
liệu được lọc dao động trơn tru hơn, lọc được các đỉnh của
bước chân từ đó phát hiện số bước với độ chính xác cao.
Hình 3. Biên độ gia tốc ba trục của người dùng độ lớn vectơ
tín hiệu (SVM)
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 1912.2. Tập dữ liệu
- Mô tả dữ liệu
Để thu thập dữ liệu cho quá trình phát hiện ớc đếm
bước chân, chúng tôi xây dựng các kịch bản khác nhau trên
các đoạn đường độ dài nhất định, điện thoại được giả
thiết là cầm trên tay người dùng với các trục x,y,z như trong
hình 4a. Tham gia vào qtrình thu thập dữ liệu 7 người
tình nguyện khỏe mạnh (5 nam; 2 nữ; tuổi từ 18 đến 22; cao
từ 1,5m đến 1,73m; cân nặng từ 45 kg đến 65 kg) đi bộ dọc
theo con đường với các quãng đường dài ngắn khác nhau
(20 bước, 100 bước, 300 bước). Quá trình tiến hành thu thập
dữ liệu này yêu cầu người dùng cầm điện thoại trên tay
trước ngực như hình 4b. Dựa vào dữ liệu đo được trong thực
tế, chúng tôi xây dựng thuật toán đếm số bước chân trong
mỗi lần đi bộ thực tế. Hình 5 tả dạng dữ liệu thu được
từ cảm biến trên điện thoại thông minh bằng phần mềm do
nhóm nghiên cứu thiết kế. Dữ liệu thu được các giá trị
của cảm biến gia tốc theo các trục x, y, z.
a) b)
Hình 4. a) Các trục của cảm biến trên thiết bị. b) Tư thế sử dụng
thiết bị của người dùng
Hình 5. Dạng dữ liệu thu được từ cảm biến gia tốc
Hình 6. Các đỉnh thu được từ dữ liệu thô
Dữ liệu thô thu được tại các bước có thể có chứa nhiễu
do đó thể tạo ra nhầm lần khi phát hiện ớc ảnh
hưởng tới độ chính xác trong việc đếm bước chân. Hình 6
cho thấy các điểm màu đỏ đại diện cho các đỉnh của ớc
chân. Nếu sử dụng các điểm này để phát hiện và đếm bước
dẫn đến đếm thừa, đếm thiếu phát hiện sai đỉnh của bước
chân. Vì vậy, dữ liệu trước khi đưa vào đếm bước cần được
xử lý và loại bỏ nhiễu để loại bỏ các đỉnh giả.
- Xử lý dữ liệu
Để loại bỏ các đỉnh giả từ dữ liệu thô thu được chúng tôi
sử dụng bộ lọc thông thấp để tránh nhiễu tần số cao. Hình 6
cho thấy bước chân tần số thấp hơn tần số nhiễu. Như đã
biết, bộ lọc thông thấp - low pass filter (viết tắt LPF)
mạch cho phép tần số thấp hơn tần số cắt (cutoff) làm
suy giảm tất cả tần số trên tần số cắt (ƒc). Các mạch lọc
thông thấp được ứng dụng rất nhiều trong thực tế: trong x
âm thanh, bộ lọc thông thấp thể được sử dụng để giảm
thiểu tiếng ồn hoặc loại bỏ các tần số cao không mong
muốn. Trong xử lý hình ảnh, bộ lọc thông thấp có thể được
sử dụng để giảm nhiễu hoặc làm mịn hình ảnh. Cùng với
các ứng dụng đặc biệt này của bộ lọc thông thấp, nhóm
chúng tôi sử dụng nó để các giá trị, thông số của cảm biến
thu được tần số cao hơn không cần thiết sẽ bị triệt
tiêu, loại bỏ… Công thức của 1 bộ lọc thông thấp được biểu
diễn theo (2):
h =
 He.edw
 (2)
Hình 7. Đồ thị biểu diễn bộ lọc thông thấp
Hình 8. Dữ liệu SVM trước và sau khi lọc
Hình 9. Các đỉnh thu được từ dữ liệu sau khi xử lý
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 192Do việc chuyển động đi của con người là sự lên xuống
nhịp nhàng và chia thành các chu kì từ lúc đánh gót đến lần
đánh gót tiếp theo. Hình 10 minh họa mô hình SVM thẳng
đứng trong một bước. Do đó, để xác định được 1 bước
chúng tôi thực hiện bằng cách xác định các đỉnh của hình
sin, mỗi đỉnh sẽ tương ứng với một bước chân ứng với một
chu kỳ dao động của người đi bộ. Việc đếm bước trong bài
toán này được đưa trở về dạng đếm số đỉnh của tín hiệu sau
khi lọc. Như vậy dùng bộ lọc thông thấp sẽ loại bỏ được
hầu hết các nhiễu tạo đỉnh giả, vì vậy độ chính xác khi đếm
bước sẽ tăng lên. Với bộ lọc nhóm đã quyết định sử dụng
lọc thông thấp liên tục 20 lần, thông số này được xác định
dựa trên kinh nghiệm của nhóm sau khi thục hiện lọc thông
thấp với nhiều thông số khác nhau. Hình 8 tả dữ liệu thô
trước khi lọc có tín hiệu mấp mô và nhiều đỉnh giả. Hình 9
biểu diễn tín hiệu sau khi lọc độ mịn, giúp dễ dàng
phân biệt được các bước với nhau.
Hình 10. Mô hình SVM thẳng đứng trong một bước
- Thuật toán đề xuất
Giải pháp đề xuất của chúng tôi dựa trên nguyên phát
hiện đỉnh sử dụng thư viện do python cung cấp đồng thời
đưa kết quả vào mô hình hồi quy tuyến tính để cải thiện độ
chính xác trong việc xác định số bước chân.
Sau khi xác định số đỉnh bước chân ban đầu, nhóm đề
xuất sử dụng một hình hồi quy tuyến tính được huấn
luyện dự đoán giá trị gia tốc theo thời gian. Đầu tiên, trục
thời gian (số mẫu) được định dạng lại thành một mảng hai
chiều để làm biến độc lập X. Dữ liệu gia tốc đã lọc được sử
dụng làm biến phụ thuộc y. hình hồi quy tuyến tính
(LinearRegression) sau đó được huấn luyện trên tập dữ liệu
để tạo ra một mô hình dự đoán giá trị gia tốc (y_pred). Mục
tiêu của việc này xây dựng một đường xu hướng thể
phản ánh biến động chung của dữ liệu gia tốc theo thời gian.
Giá trị dự đoán từ mô hình hồi quy tuyến tính (y_pred)
được sử dụng như một ngưỡng động (dynamic threshold)
để phát hiện các đỉnh mới trong dliệu đã lọc. Sdụng
ngưỡng động này giúp phát hiện c đỉnh chính xác hơn
bằng cách điều chỉnh ngưỡng phát hiện theo biến động của
dữ liệu. m find_peaks lại được áp dụng, lần này với
tham số height là giá trị dự đoán từ mô hình hồi quy tuyến
tính, cùng với khoảng cách tối thiểu giữa các đỉnh như
trước đó.
3. THÍ NGHIỆM VÀ KẾT QUẢ NGHIÊN CỨU
3.1. Thí nghiệm
Để đánh giá hiệu quả của giải pháp đề xuất chúng tôi
đưa ra 3 kịch bản khác nhau để các tình nguyện viên thu
thập dữ liệu:
- Kịch bản 1: di chuyển quãng đường khoảng 12m gồm
20 bước.
- Kịch bản 2: di chuyển quãng đường khoảng 60m gồm
100 bước.
- Kịch bản 3: di chuyển quãng đường khoảng 180m gồm
300 bước.
Sơ đồ quãng đường di chuyển như hình 11.
Hình 11. Khu vực thử nghiệm
3.2. Kết quả
Kết quả thử nghiệm cho các kịch bản độ chính xác
khi phát hiện đỉnh lên đến 99,32% khi đến bước thứ 295.
Độ chính xác đã thay đổi khi số bước chân tăng lên nhưng
dường như ko quá ảnh hưởng khi số bước chân người
dùng dưới 300. Trong tương lai chúng tôi tiếp tục phát
triển thêm các giải pháp để cải thiện độ chính xác cao hơn.
Chúng tôi đang hướng đến các phương pháp dùng máy học
hoặc đơn giản hơn là chia nhỏ quãng đường di chuyển của
người dùng để tỉnh toán.
Các kết quả thu được của các kịch bản được trình bày
chi tiết như sau:
Kịch bản 1:
Hình 12. Dạng tín hiệu thu được trong kịch bản 1 trước sau
lọc
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI HANOI UNIVERSITY OF INDUSTRY Tập san SINH VIÊN NGHIÊN CỨU KHOA HỌC Số 14 2024 193Đây một đoạn đường thẳng độ dài khoảng 12m,
được tả mũi tên u đen trên hình 11. Ba tình nguyện
viên lần lượt bước 20 bước trên đoạn đường này. Dạng tín
hiệu mô tả số bước trong kịch bản này được biểu diễn trên
hình 13. Các tình nguyện viên đi 20 bước kết quả dự
đoán của giải pháp đề xuất độ chính xác 100% với số
bước là 20.
Kịch bản 2:
Đoạn đường này 1 khúc cua 90 độ các tình nguyện
viên sẽ bước liên tục 100 bước với quãng đường khoảng
60m, 2 tình nguyện viên tham gia thực hiện. Dạng tín hiệu
tổng quát thu được của các tình nguyện viên trong kịch bản
này được tả lần lượt trên hình 13 và hình 14. Kết quả dự
đoán số bước trong kịch bản này theo giải pháp đề xuất đạt
độ chính xác 100%.
Hình 13. Dạng tín hiệu thu được trong kịch bản 2 trước sau
lọc của tình nguyện viên thứ 1
Hình 14. Dạng tín hiệu thu được trong kịch bản 2 trước sau
lọc của tình nguyện viên thứ 2
Kịch bản 3:
Hình 15. Dạng tín hiệu thu được trong kịch bản 3 trước sau
lọc của tình nguyện viên thứ 1
Kịch bản này đoạn đường 3 khúc cua với độ dài
khoảng 180m và có 2 tình nguyện viên tham gia thực hiện.
Dạng tín hiệu thu được của các tình nguyện viên trong kịch
bản này được mô tả trên hình 15 và hình 16.
Hình 16. Dạng tín hiệu thu được trong kịch bản 3 trước sau
lọc của tình nguyện viên thứ 2
Kết quả sử dụng giải pháp đề xuất với kịch bản 3 khi hai
tình nguyện viên bước 295 bước và kết quả như sau:
+ Tình nguyện viên số 1 thu được kết quả là 295 bước
+ Tình nguyện viên số 2 thu được kết quả là 299 bước
Nhận xét
Kết quả thu được từ dữ liệu các tình nguyện viên bước
20 bước và 100 bước đạt độ chính xác 100%, sai số đã xảy
kịch bản 3 khi số bước tăng lên 300 bước. Đchính xác
khi số bước tăng lên trong kịch bản 3 là 99,67%.
Như vậy thể thấy được rằng đối với những tình
nguyện viên khác nhau thì sẽ thu thập được dữ liệu từ cảm
biến khác nhau. Tùy thuộc vào cách mà họ cầm điện thoại,
chiều cao, cân nặng dáng đi của họ đã cho ra các kết quả
khác nhau. Các kết quả này cho thấy giải pháp đề xuất hoạt
động hiệu quả. Thuật toán này thỏa mãn điều kiện đơn
giản và có thể thực hiện với các yêu cầu thời gian thực.
4. KẾT LUẬN VÀ KIẾN NGHỊ
Bằng cách sử dụng các giá trị của cảm biến gia tốc tích
hợp trên điện thoại thông minh, nghiên cứu đã giải quyết
được vấn đề được đặt ra là: Sử dụng được bộ lọc thông thấp
để lọc dữ liệu thô, đồng thời sử dụng thuật toán phát hiện
đỉnh kỹ thuật hồi quy tuyến tính để cải thiện độ chính
xác số bước chân người dùng từ đó cải thiện được độ chính
xác khi đếm sbước đi của người đi bộ bằng thuật toán phát
hiện đỉnh với độ chính xác lên đến hơn 99%.
Với tất cả những chúng tôi đạt được sau quá trình
nghiên cứu về thiết kế phần mềm thu thập dữ liệu trên điện
thoại thông minh ứng dụng trong bài toán đếm bước chân,
chúng tôi nhận thấy đây một hướng nghiên cứu rất
tiềm năng và cần thiết. Trong thời gian tới, định hướng của
nhóm đề ra là có thể xác định chính xác khoảng cách bước
chân, quãng đường đi được vị trí người dùng trong khu
vực rộng hơn có thể lên đến vài nghìn mét. Tập trung khai
thác sâu hơn về xử dữ liệu thu thập được từ phần mềm
trên điện thoại di động nhằm đưa ra giải pháp tối ưu nhất
cho việc đếm bước chân và xác định vị vị trí người dùng.