Xem mẫu
- Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), Nha Trang, ngày 8-9/10/2020
DOI: 10.15625/vap.2020.00227
ĐÁNH GIÁ HIỆU SUẤT CÁC PHÂN LOẠI MÁY HỌC CHO BÀI TOÁN ĐỊNH VỊ XE
Văn Khánh Hưng, Huỳnh Khả Tú, Nguyễn Quang Phú, Nguyễn Văn Sinh, Lý Tú Nga
Khoa Công nghệ thông tin, Trường Đại học Quốc tế - Đại học Quốc gia TP. HCM
cuti2668@gmail.com, hktu@hcmiu.edu.vn, nqphu@hcmiu.edu.vn, nvsinh@hcmiu.edu.vn, ltnga@hcmiu.edu.vn
TÓM TẮT: Hệ thống định vị trong nhà (ILS) là một ngành kiểm tra quan trọng trong lĩnh vực nghiên cứu và phát triển. Nó
đóng vai trò quan trọng của hệ thống định vị toàn cầu (GPS) cho phép định vị ngoài trời bao gồm độ chính xác. Tuy nhiên, GPS
không thể dùng trong các cấu trúc nơi con người sống không có đường truyền thẳng giữa ăngten và tàu vũ trụ, dữ liệu tín hiệu bị
suy hao bởi sự hấp thụ, nhiễu và tán xạ. Sự chính xác định vị xe trong nhà rất quan trọng đối với một số ứng dụng như hỗ trợ theo
dõi sinh hoạt và sức khỏe con người. Các phân loại máy học (ML) có thể giảm thiểu hiệu quả sự biến đổi dữ liệu cảm biến và tiếng
ồn do các điều kiện môi trường khi triển khai. Vì vậy, nhóm thiết kế và triển khai hệ thống định vị trong nhà giao tiếp qua thiết bị
Zigbee dựa trên các chỉ báo cường độ tín hiệu thu để thu thập vị trí tọa độ x và y thông qua thiết kế phần mềm và hệ thống cấu trúc
mạng lưới. Chiếc xe đóng một vai trò như một thiết bị và có thể di chuyển dễ dàng và kiểm tra vị trí, sự tương tác giữa slaves và
master. Trong bài báo này, nhóm sử dụng cơ sở dữ liệu thử nghiệm được thu thập từ hệ thống mô hình đề xuất diện tích 3 m × 3 m
để phân tích và đánh giá hiệu suất các phân loại máy học bằng phần mềm mô phỏng Weka. Nhóm so sánh độ chính xác lỗi định vị,
tỷ lệ chính xác và tỷ lệ tái hiện. Kết quả cho thấy lỗi định vị trung bình khi áp dụng thuật toán máy học khoảng 85,4 % (hay
0,087 m) với 96 thể hiện (instances).
Từ khóa: MQTT, Zigbee, zigbee2mqtt, các phân loại máy học, định vị trong nhà.
I. GIỚI THIỆU
Hệ thống định vị trong nhà (ILS) là cơ chế định vị được thiết kế hoạt động định vị môi trường trong nhà. Các
thiết bị này được sử dụng trong các ngành điều tra khác nhau có dùng mạng WiFi hoặc Bluetooth. Tuy nhiên, do chi
phí lớn hoặc khoảng cách tín hiệu kém [1] dẫn đến hiệu quả trong dự đoán lỗi của các giải pháp này không tốt. Với sự
phát triển của hệ thống, nhiều ứng dụng đang xuất hiện như tiếp xúc của con người với công nghệ ở nhà, cyborg/robot
được hướng dẫn, ghế lăn tự động hoặc hệ thống cứu hộ và cứu thương. Trong bài báo này, cấu trúc mạng lưới cung cấp
tính linh hoạt cao được áp dụng cho hệ thống Zigbee, phương pháp đo ba cạnh (trilateration) của chỉ số cường độ tín
hiệu thu được áp dụng để tính toán và định vị mục tiêu [8].
Bài viết được chia thành năm phần. Phần I, các công trình nghiên cứu về lý thuyết cơ bản, cũng như các khái
niệm cơ bản của cấu trúc liên kết của Zigbee và ứng dụng máy học của XBee. Phần II tập trung vào cách thiết kế và
triển khai hệ thống phần cứng. Phần III giới thiệu về mô hình hệ thống. Trong phần IV, các thí nghiệm hệ thống được
đánh giá và thảo luận. Phần cuối là kết luận và định hướng nghiên cứu sắp tới.
II. NGHIÊN CỨU LIÊN QUAN
Trước tiên, Sugano và các cộng sự [8] đã giới thiệu một mạng cảm biến không dây dựa trên tiêu chuẩn ZigBee.
Hệ thống này tự động ước tính khoảng cách giữa các nút cảm biến bằng cách đo chỉ báo cường độ tín hiệu thu [2] tại
một số nút cảm biến thích hợp. Bên cạnh đó, Tariq và các cộng sự [6] đã thử nghiệm và đề xuất huấn luyện dữ liệu thu
thập trên modem XBee 802.15.4, truyền các phép đo đến một nút trung tâm xử lý hậu kỳ và định vị người bằng cách áp
dụng các thuật toán phân loại máy học như Random Forest, AdaBoostM1.
Nghiên cứu gần đây của nhóm [10] đã giải quyết thành công số lượng hạt trung bình tối thiểu sử dụng cho tái
lấy mẫu khoảng cách Kullback-Leibler (KLD) bộ lọc đa phần tử bằng cách tìm ra lỗi ràng buộc (bound error) kết hợp
thuật toán máy học Support Vector Machine (SVM) bằng ngôn ngữ lập trình Python. Nhóm đã triển khai một mô hình
kiến trúc để thu thập và lưu trữ giá trị lỗi của mỗi lần lặp vào cơ sở dữ liệu. Ứng dụng này được sử dụng cho huấn
luyện trực tuyến.
Đóng góp của nhóm bao gồm:
Thứ nhất, thiết kế và triển khai xe định vị trong nhà với bốn nút cảm biến theo tiêu chuẩn Zigbee. Hệ thống này
được thiết kế với chi phí giá rẻ cũng như tiêu thụ thấp, vì vậy sản phẩm có thể được coi là lựa chọn của người tiêu
dùng. Hơn nữa, sản phẩm này phải là phần cứng nguồn mở và đơn giản để thiết lập và phát triển dự án.
Thứ hai, thu thập các phép đo dựa vào chỉ báo chất lượng đường truyền, chỉ báo giá trị cường độ tín hiệu thu,
tọa độ x và y từ bốn cảm biến được lắp đặt trong phòng diện tích 3 m × 3 m.
Thứ ba, xử lý dữ liệu cảm biến ở bước thứ hai bằng cách áp dụng phần mềm Weka [7] giúp hỗ trợ lựa chọn các
thuật toán máy học tối ưu nhằm đánh giá hiệu suất định vị xe.
Thứ tư, phân tích hiệu suất của các thuật toán phân loại máy học về độ chính xác định vị, lỗi khoảng cách trung
bình, tỷ lệ chính xác và tỷ lệ tái hiện.
III. CẤU TRÚC PHẦN CỨNG
Thiết kế phần cứng của sản phẩm bao gồm ba môđun: Zigbee CC2530, USB dongle và Raspberry Pi.
- 672 ĐÁNH GIÁ HIỆU SUẤT CÁC PHÂN LOẠI MÁY HỌC CHO BÀI TOÁN ĐỊNH VỊ XE
A. Zigbee CC2530
Zigbee là một kỹ thuật theo tiêu chuẩn IEEE 802.15.4 cho các giao thức truyền thông không dây ở mức cao trên
cơ sở mạng PAN (Personal Area Network). Ưu điểm phương thức này ứng dụng khi yêu cầu kết nối an toàn, tốc độ
truyền dữ liệu thấp và nguồn pin có tuổi thọ cao.
Hệ thống được thiết kế là môđun ZigBee CC2530 + PA 2.4 GHz công suất 2.5 mW, sử dụng chip cao tần
CC2530 của hãng ES. Đây là môđun truyền sóng 2.4 GHz rất xa dùng giao tiếp SPI, xem Hình 1.
Hình 1. Hệ thống Zigbee
Để đánh giá dữ liệu vị trí, nhóm đề xuất phương pháp đo ba cạnh: sử dụng khoảng cách để ước tính vị trí của
mục tiêu trong mặt phẳng hai chiều bằng phương pháp đo ba cạnh. Phương pháp đo ba cạnh là cách đo khoảng cách từ
ba điểm không thẳng hàng đã biết trên mặt phẳng. Khoảng cách được tính bằng ba ăngten. Các ăngten này có đường
kính đạt tới vị trí của điểm và ba chu vi sẽ quyết định vùng giới hạn vị trí của mục tiêu. Khi biết vị trí khoảng cách r từ
một điểm (a, b) nằm trên đường tròn theo phương trình (1).
( ) ( ) (1)
Nếu biết được ba khoảng cách từ ba điểm khác nhau, chúng ta sẽ thành lập ba phương trình đường tròn như
phương trình (1) và bài toán được giải quyết. Quá trình này cũng có thể khái quát hóa cho bài toán không gian ba
chiều.
Gọi rA, rB, rC lần lượt là các khoảng cách từ ba điểm: B (d, 0), C (p, q), phương trình (1) được triển khai
(2)
( ) (3)
( ) ( ) (4)
Bằng cách trừ phương trình (2) và phương trình (1), tọa độ x và y được tính như sau
( ) (5)
√ ( ( ) ) (6)
B. USB dongle CC2531
CC2531 là bộ thu phát ZigBee theo tiêu chuẩn IEEE 802.15.4 với CPU 8051 và thiết bị USB trên một chip duy
nhất như trong Hình 1. Vì thiết bị này có cổng lập trình, nhóm có thể tích hợp một chương trình tùy chỉnh có chức năng
như bộ tập trung Zigbee.
C. Raspberry Pi 3 Model B
Raspberry Pi, xem Hình 1, là một thiết bị có kích thước thẻ nhớ giá rẻ, cắm vào màn hình máy tính hoặc Tivi,
sử dụng bàn phím và chuột thông thường. Đây là một thiết bị nhỏ có khả năng cho phép mọi người ở mọi lứa tuổi trải
nghiệm máy tính và biết cách lập trình bằng các ngôn ngữ như Scratch và Python. Bên cạnh đó, khả năng làm mọi thứ
mà người lập trình mong muốn như là lướt trình duyệt cho đến xem phim độ nét cao, kết xuất bảng tính, xử lý văn bản
và chơi trò chơi [4].
MQTT là một giao thức nhắn tin nhanh được tối ưu hóa cho các mạng băng thông thấp hạn chế. Phương pháp
này giúp gửi lệnh (commands) để giám sát đầu ra, đọc và xuất bản dữ liệu từ các nút cảm biến và dễ dàng thiết lập liên
hệ giữa nhiều thiết bị [3].
- Văn Khánh Hưng, Huỳnh Khả Tú, Nguyễn Quang Phú, Nguyễn Văn Sinh, Lý Tú Nga 673
Để truyền hoặc xuất bản thông tin về một chủ đề (topic) cụ thể đến một máy chủ hoạt động như một đối tác thứ
ba gửi tin nhắn MQTT. Đối tác này, sau đó chuyển tiếp các chi tiết cho những khách hàng đã đăng ký trước đó. Chủ đề
có thể hiểu như một định tuyến phân cấp tệp. Khách hàng có thể đăng ký đơn lẻ một chủ đề phân cấp hoặc sử dụng ký
tự đại diện để đăng ký theo nhiều cấp độ, xem Hình 2.
Hình 2. Hoạt động truyền và nhận MQTT
IV. MÔ HÌNH HỆ THỐNG
Mosquitto Broker và Zigbee2mqtt là hai phần mềm được cài đặt trong Raspberry Pi và npm Nodejs. Mô hình hệ
thống cài đặt và áp dụng phần mềm npm Nodejs để vận hành Zigbee2mqtt giao tiếp với bộ điều khiển Zigbee qua thiết
bị ngoại vi USB, xem Hình 1. Việc này giúp điều khiển các thiết bị Zigbee thông qua giao thức Zigbee như xuất bản
hay đăng ký. Mosquitto Broker là một máy chủ lọc các tin nhắn xuất bản. Ngoài ra, laptop và Raspberry Pi phải được
kết nối với cùng một bộ định tuyến, có cùng địa chỉ IP, để truyền các tin nhắn giữa Windows và Raspberry Pi.
Giả sử rằng tất cả các thiết bị đều được chuẩn bị sẵn sàng, nếu muốn xuất bản một thông báo để bật đèn trên nút
Zigbee, thì nội dung xuất bản tin nhắn với chủ đề zigbee2mqtt/0x00124b00071a060f/set và thông tin BẬT (ON). Sau
đó, tin nhắn được chuyển đến Raspberry thông qua mạng LAN Wifi và đến Mosquitto Broker để lọc và tiếp tục gửi đến
Zigbee2mqtt, chủ đề đăng ký có dạng như sau:
-t zigbe2mqtt/[Device’s eui64 name]/set -m "ON"
Sau đó, tin nhắn được nhận bởi bộ điều khiển Zigbee Chủ và nó xuất bản tới Zigbee Con (Node) mà có tên dạng
eui64 trùng khớp với [Device’s eui64 name] ở trong chủ đề được xuất bản ở trên. Ngay lập tức, đèn sẽ bật [5]. Hệ
thống điều khiển xe được giới thiệu ở Hình 3. Giả sử một tin nhắn điều khiển xe được gửi đến Mosquitto Broker từ
Laptop. Khối Zigbee2mqtt sẽ nhận tin nhắn đó và truyền vào mã Python. Mã này sẽ lọc tin nhắn là gì và gửi tin nhắn
phù hợp. Nó sẽ BẬT hoặc TẮT bốn đầu ra được đặt trong mã. Sau đó, các đầu ra được chuyển đổi từ 3,3 V sang 5 V
để bảo vệ Raspberry khỏi các sự cố về điện mà còn tăng tốc độ điều khiển cho các động cơ thông qua L198N.
Cầu điều khiển động cơ kép L298N H-Bridge là thành phần chính của xe điều khiển từ xa, Raspberry Pi điều
khiển tất cả các động cơ và gửi tín hiệu để theo dõi hướng và tốc độ của động cơ. Thiết bị này cấp nguồn cho 2 động cơ
tín hiệu điều chế độ rộng xung (PWM), xem Hình 3.
Hình 3. Hệ thống điều khiển xe
Một bộ L198N 5V cần có để giải quyết sự tương thích nguồn 3,3 V cho Raspberry Pi. Việc cần một bộ chuyển
đổi nguồn có thể thay đổi 3,3 V đến 5 V; hoặc 5 V xuống 3,3 V để cung cấp nguồn điện tương thích.
Hình 4. Mặt trên của xe điều khiển
- 674 ĐÁNH GIÁ HIỆU SUẤT CÁC PHÂN LOẠI MÁY HỌC CHO BÀI TOÁN ĐỊNH VỊ XE
Hình 5. Mặt dưới của xe điều khiển
Cuối cùng, mô hình khối nguyên mẫu của một chiếc xe điều khiển từ xa được tạo ra như Hình 4 và Hình 5.
V. KẾT QUẢ THỰC NGHIỆM
Trước tiên, nhóm thiết kế giao diện phần mềm để thu thập chỉ số chất lượng đường truyền (LQI) và theo dõi xe,
(Hình 6), cho bốn nút được bố trí trong phòng diện tích 3 m 3 m (Hình 7). Kế tiếp, khoảng cách vị trí xe được tính
theo phương trình (5) và (6).
Hình 6. Quỹ đạo xe và giá trị chỉ số đường truyền
Nhóm sắp xếp hệ thống các nút cảm biến theo dạng hình chữ nhật để mô phỏng môi trường làm việc trong
phòng, khoảng cách từ nút chủ đến điều phối là một mét trong 30 giây.
Hình 7. Cách bố trí các Zigbee trong phòng
- Văn Khánh Hưng, Huỳnh Khả Tú, Nguyễn Quang Phú, Nguyễn Văn Sinh, Lý Tú Nga 675
Thiết lập các thông số thuật toán
Nhóm thực hiện tất cả các phân loại máy học trong nghiên cứu với các giá trị tham số mặc định được sử dụng từ
tài liệu Weka. Trong đó, nhóm chỉ thử các thuật toán cơ bản được đề cập trong Bảng 1 và Bảng 2, các tham số mặc
định này có thể được tìm thấy trong tài liệu Weka [9]. Dữ liệu cấu trúc mạng của hệ thống được thiết kế gồm 4 thuộc
tính: thời gian, tọa độ x và y và lớp (Class). Tổng số thể hiện là 96. Nhóm thiết lập mặc định số batchsize là 100 cho tất
cả các phân loại máy học và tỷ lệ phần trăm phân chia dữ liệu là 70.
Trong thuật toán tìm kiếm Logistic được thiết lập theo mặc định mô hình hồi quy Logistic đa phương thức với
bộ ước Ridge. Thuật toán tìm kiếm tuyến tính được đặt thiết lập theo mặc định với hệ số kNN=1. Với thuật toán IBK
Randomizabler Filter Calssifier được thiết lập theo bộ lọc IBK nêu trên và mặc định thông số RandomProjection.
Thuật toán PART, thông số minnumObj được chọn là 2. Đối với thuật toán Random Forest, số lần lặp được chọn là 10
và độ sâu của cây không giới hạn.
Nhóm đánh giá trường hợp kết quả xác thực chéo 10 lần (cross-validation) và dữ liệu phân tách 70 % (được cho
trong dấu ngoặc đơn), với dữ liệu trung bình 4 lần chạy. Trước tiên, nhóm so sánh hiệu suất định vị về độ chính xác và
sai số khoảng cách trung bình được tính bằng cách tính tổng tất cả các lỗi định vị, xem Bảng 1. Và đánh giá trung bình
tỷ lệ chính xác và tỷ lệ tái hiện được cho Bảng 2.
Bảng 1. Độ chính xác trung bình và lỗi định vị trong 4 lần
Thuật toán Độ chính xác Lỗi
% Phương sai (σ) [m] Phương sai (σ)
Logistic 80,46 0,4546 0,1237 0,0037
(83,61) (6,1696) (0,1134) (0,0239)
IBK 84,11 0,8620 0,0922 0,0040
(85,34) (1,4911) (0,2833) (0,3324)
Randomizable Filter Classifier 83,59 1,3533 0,0949 0,0064
(85,34) (1,4928) (0,0902) (0,0070)
PART 80,46 2,0 0,1101 0,0074
(81,03) (1,724) (0,1106) (0,0044)
Random Forest 83,59 1,3533 0,1086 0,0014
(81,03) (1,724) (0,1178) (0,0102)
Bảng 1 đánh giá về độ chính xác và lỗi trong 4 lần chạy. Khẳng định hiệu suất độ chính xác và lỗi của thuật toán
Randomizable Filter Classifier là tốt nhất so với các thuật toán khác.
Tỷ lệ chính xác và tỷ lệ tái hiện của thuật toán Randomizable Filter Classifier là tốt nhất so với các thuật toán
khác, xem Bảng 2 (trang kế tiếp).
Bảng 2. Tỷ lệ chính xác và tỷ lệ tái hiện trong 4 lần
Thuật toán Tỷ lệ chính xác [%] Tỷ lệ tái hiện [%]
Logistic 80,32 80,47
(84,65) (83,65)
IBK 84,17 84,1
(86,47) (85,35)
Randomizable Filter Classifier 83,85 83,6
(87,67) (85,35)
PART 80,62 80,5
(82,75) (81,05)
Random Forest 83,52 83,6
(81,75) (81,05)
VI. KẾT LUẬN
Nhóm đề xuất phương pháp điều khiển thiết bị thông qua hệ thống Zigbee và định vị thiết bị với các nút và điều
phối theo tiêu chuẩn Zigbee. Bên cạnh đó, áp dụng phần mềm Weka đánh giá hiệu suất của các thuật toán theo phân
loại máy học như độ chính xác định vị, lỗi khoảng cách trung bình, tỷ lệ chính xác và tỷ lệ tái hiện. Hệ thống này sẽ
được mở rộng và áp dụng khi tăng số phòng hoặc áp dụng trên ứng dụng điện thoại điều khiển xe. Trong tương lai,
nhóm sẽ áp dụng bộ lọc đa phần tử kết hợp với các thuật toán tối ưu để cải thiện độ chính xác lỗi.
TÀI LIỆU THAM KHẢO
[1] Gutierrez Pascual, M. D., “Indoor Location Systems Based on Zigbee Networks”, Bachelor’s Thesis Information
Technology, 2012.
[2] Ash, J. and L. Potter, “Sensor network localization via received signal strength measurements with directional
antennas”, In Proceedings of the 2004 Allerton Conference on Communication, Control, and Computing, pp.
1861-1870, 2004.
[3] Rouse, M., MQTT (MQ Telemetry Transport), retrieved 17 January, 2020, from
https://internetofthingsagenda.techtarget.com/definition/MQTT-MQ-Telemetry-Transport, 2015.
- 676 ĐÁNH GIÁ HIỆU SUẤT CÁC PHÂN LOẠI MÁY HỌC CHO BÀI TOÁN ĐỊNH VỊ XE
[4] Upton, E., Raspberry Pi 3 Model B+ on sale now at $35, retrieved September 15th, 2019, from
https://www.raspberrypi.org/blog/raspberry-pi-3-model-bplus-sale-now-35/, 2018.
[5] Kanters, K., Zigbee2mqtt, retrieved September 15th, 2019, from https://www.zigbee2mqtt.io/, 2012.
[6] Tariq, O. B., Lazarescu, M. T., Iqbal, J., & Lavagno, L., “Performance of machine learning classifiers for indoor
person localization with capacitive sensors”, Ieee Access, Vol.5, pp.12913-12926, 2017.
[7] Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., & Witten, I. H., “The WEKA data mining
software: an update”, ACM SIGKDD explorations newsletter, Vol.11, No.1, pp.10-18, 2009.
[8] Sugano, M., Kawazoe, T., Ohta, Y., & Murata, M., “Indoor Localization System using RSSI Measurement of
Wireless Sensor Network based on ZigBee Standard”, Wireless and Optical Communications, Vol. 538, pp.1-6,
2006.
[9] Witten, I. H., Frank, E., & Mark, A. Hall, and Christopher J Pal, “Data Mining: Practical machine learning tools
and techniques”, Acm Sigmod Record, Vol.31, No.1, pp.76-77, 2016.
[10] Ly-Tu, N., Vo-Phu, Q., & Le-Tien, T., “Using Support Vector Machine to Monitor Behavior of an Object Based
WSN System”, In Proceedings of the International Conference on Computer Science, Applied Mathematics and
Applications, Springer, pp.174-185, 2019.
APPLIED WEKA TO EVALUATE THE PERFORMANCE OF MACHINE LEARNING CLASSIFIERS FOR
INDOOR CAR LOCALIZATION
Van Khanh Hung, Huynh Kha Tu, Nguyen Quang Phu, Nguyen Van Sinh, Ly Tu Nga
ABSTRACT: Indoor-Location-Systems (ILS) is a significant examination branch in R&D (Research-and-Development)
area. It had an extreme significance after the existence of Global Positioning System (GPS) that permits outdoor location including
an exact accuracy. Nevertheless, GPS is not usable in structures where humans live, since no clear line-of-sight between antenna
and spacecraft, the signal-data is distorted by absorption, interference and diffraction. Accurate car localization is important for
several applications, such as assisted living and health monitoring. Machine learning (ML) classifiers can effectively mitigate
sensor data variability and noise due to deployment-specific environmental conditions. Therefore, we design and implement ILS to
manipulate Zigbee devices with a computer based on RSSI (Received Signal Strength Indicator) values for collected the coordinator
x and y location based on our mess topology with our designed GUI. Here, the car is played a role in the master device because it is
movable easily to check the location and response between slaves and the master. In this paper, we use our experimental data
collected from our proposal system in a 3 m × 3 m room to comparatively analyze the performance of Weka collection ML
classifiers. We compare the localization accuracy, precision, and recall. Our experiments show that the best algorithm is about
85.4 % and 0.087 m average localization error with 96 instances.
nguon tai.lieu . vn