4.2 Xây dựng bộ dữ liệu huấn luyện
- Dữ liệu thu được từ gia tốc kế qua lọc nhiễu và đổi trục sẽ tính được 6 thơng số đặc trưng theo cơng thức (3.13) - (3.19) bao gồm :
Năng lượng gia tốc ngang(hE)
Năng lượng gia tốc dọc (vE)
Độ đo di động ngang (hM)
Độ đo di động dọc (vM)
Độ đo phức hợp ngang (hC)
Độ đo phức hợp dọc (vC)
Sau khi thu được dữ liệu gia tốc kế với từng hành vi cụ thể, vì bộ dữ liệu gia tốc thu từ 4 hành động dung lượng lớn nên ta xây dựng một chương trình java chạy trên máy tính “HAR_ Features” tính tốn 6 thơng số đặc trưng từ các file lưu dữ liệu gia tốc thu được ở trên theo cơng thức từ (3.5) đến (3.19). Chương trình sẽ trả về cho ta file định dạng .csv gồm 6 đặc trưng và nhãn hành vi tương ứng (hình 4.4).Quá trình thu thập xây dựng dữ liệu được thể hiện như hình 4.5
Hình 4.5: Mơ tả quá trình tính tốn 6 thơng số đặc trưng
4.3 Huấn luyện mơ hình
Trong nghiên cứu này sẽ thực hiện thực nghiệm sử dụng các mơ hình học máy sau: k-NN, Random Forest và Nạve Bayes. Quá trình huấn luyện các mơ hình được thực hiện như sau:
Bước 1: Chọn dữ liệu
Bước 2: Chọn mơ hình
Bước 3: Chỉnh các tham số của mơ hình
Bước 4: Chạy huấn luyện
Bước 5: Quay lại bước 3 nếu kết quả chưa tốt
Bước 6: Lấy ra được mơ hình
Kết quả cho ra mơ hình huấn luyện với các tham số tối ưu. Việc tìm ra được các tham số tối ưu là rất quan trọng. Nĩ ảnh hưởng lớn đến độ chính xác của mơ hình để đưa ra kết quả chính xác cao hay khơng. Quá trình huấn luyện mơ hình được thực hiện
Tín hiệu gia tốc(cửa sổ 1 giây) [trục x, trục y, trục z]
Phép tính độ nghiêng bất biến
Tín hiệu gia tốc(cửa sổ 1 giây) [ngang, dọc]
Vectơ đặc trưng (cửa sổ 1 giây): - Năng lượng gia tốc ngang - Năng lượng gia tốc dọc - Độ do di động ngang - Độ đ di động dọc - Độ đo phức hợp ngang - Độ đo phức hợp dọc Chuyển hệ trục tọa độ [trục x, trục y, trục z]
*Huấn luyện với mơ hình k-NN
Các tham số chính k-NN khi huấn luyện bằng Weka
Hình 4.6: Các tham số huấn luyện mơ hình k-NN
- KNN: số láng giềng sử dụng. Đây là tham số quan trọng nhất được hiệu chỉnh trong quá trình huấn luyện.
- crossValidate: cross-validation sẽ được sử dụng để tìm ra giá trị k tốt nhất - distanceWeighting: lấy ra khoảng cách trọng số phương pháp sử dụng - nearestNeighbourSearchAlgorithm: Lựa chọn thuật tốn
- windowSize: đưa ra số lượng lớn nhất các instances sử dụng training. Để là 0 thì khơng hạn chế số lượng.
Bảng kết quả các lần quá trình huấn luyện: Ở đây chỉ thay đổi các tham số cĩ tác động đến kết quả quá trình huấn luyện. Trong quá trình huấn luyện nếu tham số nào nhận thấy khơng tác động đến kết quả thì sẽ bỏ qua (thay bằng ký tự “-”).
Bảng 4.1: Kết quả huấn luyện của mơ hình k-NN
TT KNN Cross Validate Distance Weighting Mean Squared
Nearest Neighbour Search Algorithm Window Size Correctly
1 1 False No False Linear 0 69.04%
2 1 True No False Linear 0 69.04%
3 1 - 1/distance False Linear 0 69.04%
4 1 - - True Linear 0 69.04%
5 1 - - - BallTree 0 69.04%
6 2 False No False Linear 0 71.00%
7 2 True No False Linear 0 70.27%
8 2 False 1/distance False Linear 0 69.04%
9 3 False No False Linear 0 72.23%
10 4 False No False Linear 0 73.21%
11 5 False No False Linear 0 73.21%
12 8 False No False Linear 0 74.21%
Qua quá trình huấn luyện ta thấy với mơ hình K-NN thì với 10 “láng giềng” sẽ cho kết quả tốt nhất là 74.93%.
*Huấn luyện với mơ hình Nạve Bayes
Các tham số Nạve Bayes khi huấn luyện bằng Weka
Hình 4.7: Các tham số huấn luyện mơ hình Nạve Bayes
Trong mơ hình này ta tập trung vào 2 tham số:
- useKernelEstimator: Sử dụng hàm ước lượng thay cho phân phối bình thường - useSupervisedDiscretization: Sử dụng rời rạc hĩa cĩ giám sát để chuyển đổi các thuộc tính số về dạng chuẩn hĩa.
Kết quả quá trình huấn luyện
Bảng 4.2: Kết quả huấn luyện của mơ hình Nạve Bayes
TT useKernelEstimator useSupervisedDiscretization Correctly
1 False False 61.67 %
2 True False 66.09%
3 False True 72.73%
*Huấn luyện mơ hình Random forest
Các tham số huấn luyện
Hình 4.8: Các tham số huấn luyện mơ hình Random forest
-maxDepth :chiều sâu cực đại của các cây. 0 khơng hạn chế chiều sâu - numFeatures : Số các thuộc tính sử dụng trong lựa chọn ngẫu nhiên -numTrees : Tổng số cây được sinh ra
-seed: số con ngẫu nhiên được sử dụng
Bảng kết quả quá trình huấn luyện với các tham số
Bảng 4.3: Kết quả huấn luyện của mơ hình Random forest
TT maxDepth numFeatures numTrees seed Correctly
1 0 0 10 1 77.40% 2 1 0 10 1 67.56% 3 0 1 10 1 72.97% 4 0 0 11 1 75.92% 5 0 0 10 2 77.14% 6 0 0 10 0 76.41%
4.4 Thực nghiệm phát hiện hành vi tham gia giao thơng thời gian thực
Hình 4.9: Giao diện chương trình phát hiện hành vi thời gian thực
Mơ hình sau khi huấn luyện được copy vào thư mục assets của chương trình. Khi chạy chương trình sẽ đọc mơ hình từ đây, và sử dụng mơ hình này để phân tích hành vi.
Dữ liệu đầu vào là một chuỗi các hành vi tham gia giao thơng được ghi lại bởi chương trình trong thời gian thực.
Thực nghiệm với phương tiện xe máy, cầm điện thoại trên tay, thực hiện chuỗi hành động liên tục.
Chương trình sẽ thu trực tiếp đồng thời dữ liệu của 3 cảm biến: gia tốc kế, từ trường kế, gia tốc trọng lực trong khung thời gian thực 1 giây, sau đĩ lọc nhiễu và đổi trục sẽ cho ta giá trị của gia tốc chuẩn để tính tốn 6 thơng số đặc trưng.
Tính tốn 6 thơng số đặc trưng từ dữ liệu gia tốc kế trong từng sổ thời gian 1 giây, sử dụng mơ hình đã huấn luyện để kết luận đĩ là hành vi gì trong 1 giây vừa xọng, lặp lại với cửa sổ tiếp theo cho đến khi người dùng ấn nút stop.
4.5 Phân tích, đánh giá quá trình thực nghiệm 4.5.1 Kết quả thực nghiệm của các mơ hình 4.5.1 Kết quả thực nghiệm của các mơ hình
Tiến hành nhận dạng hoạt động bằng cách để người dùng thực hiện ngẫu nhiên các hành vi Dừng, Tăng tốc, Giảm tốc, Di chuyển ta lấy được 200 mẫu, mỗi hành vi thực hiện khoảng 30 lần. Hành vi được hệ thống nhận dạng sẽ hiển thị lên trên màn hình điện thoại và được ghi vào file riêng trong bộ nhớ điện thoại. Áp dụng cơng thức 2.2 và 2.3 tính giá trị cho Class precision và Class Recall. Kết quả thu được qua các mơ hình như các bảng dưới
Bảng 4.4: Kết quả thực nghiệm phát hiện hành vi bằng k-NN
Thực tế Dự Đốn Di chuyển Dừng Tăng tốc Giảm tốc Class Precision Di chuyển 18 5 8 11 43% Dừng 7 20 5 5 54% Tăng tốc 3 3 15 2 65% Giảm tốc 2 2 2 12 67% Class Recall 60% 67% 50% 40% Trung bình 54%
Bảng 4.5 : Kết quả thực nghiệm phát hiện hành vi bằng Nạve Bayes
Bảng 4.6: Kết quả huấn luyện phát hiện hành vi bằng Random forest
Thực tế Dự Đốn Di chuyển Dừng Tăng tốc Giảm tốc Class Precision Di chuyển 20 5 8 15 42% Dừng 7 21 5 3 58% Tăng tốc 3 3 15 2 65% Giảm tốc 0 1 2 10 77% Class Recall 67% 70% 50% 33% Trung bình 55% Thực tế Dự Đốn Di chuyển Dừng Tăng tốc Giảm tốc Class Precision Di chuyển 23 2 6 13 52% Dừng 5 26 5 3 67% Tăng tốc 2 2 17 2 74% Giảm tốc 0 0 2 12 86% Class Recall 77% 87% 57% 40% Trung bình 65%
4.5.2 Đánh giá quá trình thực nghiệm
Qua quá trình thực nghiệm cho ta thấy các hành vi Dừng và Di chuyển cho tỉ lệ phát hiện đúng cao hơn Tăng tốc và Giảm tốc. Hành vi Tăng tốc và Giảm tốc xảy ra trong thời gian ngắn nên khĩ để phát hiện và dễ nhầm lẫn với hành vi Di chuyển.
Trong thực nghiệm cũng như khi huấn luyện thì mơ hình Random forest cĩ thời gian tính tốn chậm hơn so với mơ hình K-NN và Nạve Bayes. Kết quả dự đốn trên mơ hình Random forest cĩ độ chính xác cao hơn cả.
Quá trình lấy mẫu huấn luyện và thực nghiệm được thực hiện trên xe gắn máy. Thêm vào đĩ ảnh hưởng của chất lượng đường đi khơng bằng phẳng gây nhiễu gia tốc của điện thoại. Điều này dẫn đến hệ thống cĩ thể nhận diện sai hành vi. Ví dụ độ rung hay xĩc của xe khi đi qua ổ gà khiến tín hiệu gia tốc bị nhiễu. Quá trình tăng tốc và giảm tốc thường hay bị nhận diện nhầm sang hành vi đang di chuyển do độ chênh lệch tín hiệu gia tốc giữa các hành vi này là rất nhỏ. Để cĩ thể phát hiện với độ chính xác cao giữa 3 hành vi tăng tốc, giảm tốc và di chuyển đều ta cần thực hiện lấy mẫu chính xác ở thời điểm tăng tốc và giảm tốc cho quá trình huấn luyện. Các hành vi tăng tốc và giảm tốc chỉ xảy ra trong khoảng thời gian rất ngắn, chỉ trong khoảng dưới 2s vì thế quá khung thời gian dùng duyệt trên dữ liệu của cả quá trình huấn luyện và thực nghiệm nằm trong khoảng nhỏ hơn 2s. Với thực nghiệm hiện tại thì sử dụng khung thời gian 1s cho kết quả cao nhất.
Quá trình đánh giá thực nghiệm trên điện thoại hiện đốn đúng khoảng 65%. Đây là tỉ lệ chính xác chưa cao do một số yếu tố ảnh hưởng trong quá trình nghiên cứu. Để nâng cao độ chính xác của việc phát hiện hành vi cần làm thêm các thực nghiệm thu dữ liệu mẫu trong quá trình huấn luyện. Cố định lại vị trí điện thoại khi thu thập dữ liệu. Vị trí điện thoại khi thu thập cầm trên tay trái trong khi đang điều khiển xe máy tham gia giao thơng nên cĩ thể gây ra tình trạng khơng bắt đúng thời điểm xảy ra hành vi. Nghiên cứu xây dựng thêm các thuộc tính đặc trưng ngồi 6 đặc trưng đã thực hiện. Ngồi ra cĩ thể tiến hành thực nghiệm thêm với nhiều thuật tốn, cải tiến thuật tốn nâng cao kết quả hoặc thực hiện thêm trên một số model điện thoại khác.
KẾT LUẬN
Đề tài đã giải quyết phần nào bài tốn phát hiện hành vi tham gia giao thơng dựa trên cảm biến được tích hợp sẵn trong điện thoại di động. Phương pháp phát hiện đã được tiến hành qua ba bước:
Xử lý dữ liệu cảm biến: từ dữ liệu thu được lấy ba giá trị gia tốc (x, y, z) trục điện thoại và chuyển về trục Trái Đất thành (x’, y’, z’).
Trích chọn đặc trưng: từ ba giá trị gia tốc x’, y’, z’ trích chọn ra 6 đặc trưng.
Phân loại: Dùng các thuật tốn học máy huấn luyện và phân loại. Phiên bản chạy thời gian thực đã được cài đặt trên điện thoại di động.
Quá trình huấn luyện và thực tế được tiến hành trên xe gắn máy. Quá trình thực nghiệm cho thấy kết quả tốt nhất trên mơ hình Random Forest với kết quả dự đốn chính xác xấp xỉ 77%. Đây là kết quả cĩ triển vọng cho các ứng dụng phát hiện hành vi tham gia giao thơng.
Hƣớng phát triển của đề tài:
Hệ thống cĩ thể phát hiện được thêm các hành vi phức tạp khác: rẽ trái, phải, lạng lách, quay đầu, chuyển làn, phanh gấp…
Kết hợp các cảm biến và âm thanh, video, GPS để phân loại chính xác các hành vi tham gia giao thơng.
Phát triển hệ thống cảnh báo nhắc nhở cho người tham gia thơng về các hành vi cĩ thể gây nguy hiểm.
TÀI LIỆU THAM KHẢO
Tiếng Anh
[1] Singh, P., Juneja, N., Kapoor, S.: Using mobile phone sensors to detect driving behavior. In: Proceedings of the 3rd ACM Symposium on Computing for Development, ACM (2013)
[2] Fazeen, M., Gozick, B., Dantu, R., Bhukhiya, M., Gonzalez, M.C.: SafeDrivingUsing Mobile Phones. In:IEEE Transactions on Intelligent Transportation Systems (2012)
[3] Chigurupa, S., Polavarap, S., Kancherla,Y., Nikhath, K.A.:Integrated Computing System for measuring Driver Safety Index. In: International Journalof Emerging Technology and Advanced Engineering, ISSN 2250-2459,Volume 2 (2012)
[4] Johnson, D.A., Trivedi, M.M.:Driving Style Recognition using a smartphone as a sensor platform. In: IEEE 14th International Conference on IntelligentTransportation system, October(2011)
[5] Dai, J., Tang, J., Bai, X., Shen, Z., Xuan, D.:Mobile phone based drunk driving detection. In: Proc. 4th Int. Conf. Pervasive Health NO PERMISSIONS, pp.18 (2010) [6] Zhang, Y., Lin, W., Chin, Y.K.:A pattern-recognition approach for driving skill characterization. In: IEEE Trans. Intell. Transp. Syst., vol. 11, no.4, pp.905916 (2010) [7] Gazali, H: Monitoring Erratic Driving Behavior caused by Vehicle Overtaking Using Off-theshelfTechnologies.
[8] Nguyen Thang Ngoc, “Real-Time human activity recognition using, mobile phone”, Posts and telecommunications institute of technology, 2013.
[9] C. W. Han, S. J. Kang and N. S. Kim, “Implementation of HMM-BasedHuman Activity Recognition Using Single Triaxial Accelerometer,” IEICETransactions Fundamentals, Vol. E93-A, No. 7, July 2010.
[10] Y. Fujiki, “iPhone as a Physical Activity Measurement Platform,” in Proceedings of ACM CHI 2010.
[11] Z. He, Z. Liu, L. Jin, L.-X. Zhen, and J.-C. Huang, “Weightlessness feature; a novel feature for single tri-axial accelerometer based activity recognition,” in 19th International Conference on Pattern Recognition, pp. 1–4, 2008.
[12] Z. He and L. Jin, “Activity recognition from acceleration data based on discrete consine transform and svm,” in IEEE International Conference on Systems, Man and Cybernetics, pp. 5041–5044, 2009.
[13] Y.-P. Chen, J.-Y. Yang, S.-N. Liou, Gwo-Yun=Lee, and J.-S. Wang, “Online classifier construction algorithm for human activity detection using a triaxial accelerometer,” Applied Mathematics and Computation, vol. 205, no. 2, pp. 849–860, 2008.