Hình 3.12. Mô hình thiết kế hệ thống máy chủ Webserver thời gian thực để điều khiển thiết bị và điều khiển vào ra.
Trang 86
3.2.2 Nguyên lý
Hệ thống máy chủ Raspi webserver thời gian thực được xây dựng trên nền Java, sử dụng NodeJS [28] và giao thức websocket (Socket.IO [29]) giúp điều khiển thiết bị dễ dàng. Giao diện điều khiển được viết bằng HTML5 kết hợp CSS và jQuery.
Khi Client yêu cầu kết nối với Server, lúc này, server sẽ gửi cho client các thông tin như thông tin thiết bị, thông tin lịch sử (được truy vấn từ cơ sở dữ liệu MySQL) và đồng thời gửi giao diện điều khiển cho client. Việc trao đổi thông tin này do socket.io đảm nhiệm, và được truyền theo thời gian thực. Điều này thích hợp cho hệ thống có nhiều người sử dụng. Nó đảm bảo khi có nhiều client (người dùng) cùng kết nối đến server thì nó sẽ quan sát được tất cả các thông tin trao đổi giữa server với các client khác.
Nhờ viết trên nền web, nên ta có thể truy xuất điều khiển hệ thống một cách linh hoạt, ta có thể điều khiển thông qua webbrowser trên PC trên điện thoại hay máy tính bảng ở bất cứ nơi đâu có kết nối Internet.
Trang 87
3.3 Phát triển trên hệ thống nhúng Raspberry 3.3.1 Kết quả 3.3.1 Kết quả
Trang 88
Hình 3.14. Giao diện chương trình hoạt động trên iPad
Trang 89
Hình 3.16. Chức năng thêm thiết bị
Trang 90
Hình 3.18. Chứng thực không thành công
Trang 91
Hình 3.20. Một số người dùng khác (2)
Trang 92
3.3.2 Hoạt động
Sau khi thu thập dữ liệu ảnh, huấn luyện trên máy PC ta được cơ sở dữ liệu khuôn mặt. Cơ sở dữ liệu này sẽ được chép vào Raspi để thực hiện tham chiếu trong việc nhận dạng khuôn mặt.
Với thẻ nhận dạng khuôn mặt (face recognition - Hình 3.17). Để thực hiện nhận dạng, hệ thống sau khi đã khởi động xong (đèn khởi động màu xanh dương sáng, đi kèm là âm thanh) người dùng nhấn vào nút thực thi. Lúc này, ta làm theo giọng nói chỉ dẫn của hệ thống (được phát ra loa). Khi đèn trạng thái sáng (màu đỏ), chỉ thị hệ thống đang xử lý, quá trình xử lý được cập nhật theo thời gian thực và hiển thị trên giao diện đồ họa. Khi đèn xác nhận sáng (màu xanh lá) chỉ thị là việc nhận dạng thành công. Lịch sử nhận dạng và xác thực sẽ được lưu vào cơ sở dữ liệu MySQL (Hình 3.21). Ta có thể xóa lịch sử bằng nút Clear all.
Hình 3.22. Bảng điều khiển
Với thẻ điều khiển (control panel - Hình 3.15) . Người dùng có thể thêm các thiết bị thông qua nút Add devices, khi đó hộp thoại Hình 3.16 sẽ hiện lên để ta điền vào thông tin cần thiết. Vì lý do tiết kiệm thời gian và chi phí, nên trong đề tài chỉ thực hiện tượng trưng khả năng điều khiển thiết bị
Trang 93
thông qua nền web thời gian thực bằng việc thay bảng điều khiển (Hình 3.22) thành “thiết bị”. Khi đó các nút 1, 2, 3, 4 thành các nút tắt mở thiết bị, các led sẽ hiển thị trạng thái của thiết bị đó. Tất cả các thiết bị, và trạng thái của nó đều được lưu vào cơ sở dữ liệu MySQL.
Trang 94
CHƯƠNG 4
KẾT LUẬN
Trải qua thời gian thực hiện Chuyên đề 1, Chuyên đề 2 và Luận văn “Xây dựng trung tâm xử lý cho tòa nhà thông minh trên hệ thống nhúng Linux”, bước đầu thực hiện đề tài cũng gặp nhiều khó khăn, do mới tìm hiểu về hệ thống nhúng linux, lý thuyết về nhận dạng ảnh cũng như do tình trạng về sức khỏe. Tuy nhiên được sự hỗ trợ, động viên tận tình của Thầy Lưu Thanh Trà và đầu tư của bản thân, đến nay luận văn tốt nghiệp đã hoàn thành và đạt được yêu cầu đề ra.
4.1 Đánh giá kết quả
Đối với nhận dạng trong điều khiển vào ra: Số lượng tập ảnh huấn luyện là 638 ảnh (của bốn người, dung lượng 1.3G), số lượng tập ảnh kiểm tra là 400 ảnh, tất cả được thu thập bằng camera 5Mega pixel của Raspberry với điều kiện chiếu sáng khác nhau, về biểu hiện của khuôn mặt, hướng của khuôn mặt.
Toàn bộ tập huấn luyện này được xử lý và huấn luyện trên máy tính laptop, với cấu hình CPU core i7, 2.0GHz, Ram 4GB, đạt tốc độ xử lý và huấn luyện nhanh với thời gian là 30s. Cơ sở dữ liệu sau huấn luyện có dung lượng thấp (642.3KB).
Tập kiểm tra được nhận dạng trên hệ thống Raspberry với cấu hình CPU ARM 700MHz, Ram 512MB, bộ nhớ SD 8GB, cho kết quả nhận dạng ổn định và tin cậy. Tuy nhiên do cấu hình thấp, nên tốc độ (bắt đầu tính từ khởi động chương trình, đọc ảnh, xử lý và nhận dạng ảnh) không được nhanh, trung bình khoảng 7s cho mỗi ảnh.
Trang 95
Đối với việc điều khiển thiết bị trên nền web thời gian thực, cho tốc độ điều khiển tốt, đáp ứng nhanh, có thể thực hiện trên mọi thiết bị như PC hay điện thoại, máy tính bảng. Ưu điểm của phương pháp này là nếu có nhiều người sử dụng cùng lúc, ta có thể thấy được trạng thái hoạt động của hệ thống ngay lập tức mà không phải chờ hết thời gian làm tươi (refesh) của trang web.
4.2 Hướng phát triển của đề tài
Để phát triển đề tài lớn hơn, từ kết quả đạt được cần phải giải quyết được các vấn đề mang tính ứng dụng hoàn chỉnh với các tiêu chí sau:
Tiến hành tối ưu hóa để nâng cao tốc độ xử lý trên hệ thống nhúng với tốc độ CPU thấp.
Thực hiện huấn luyện trực tiếp trên kit, làm tăng tính linh động hơn, tăng khả năng tương tác giữa người với máy.
Thực hiện mở rộng với nhận dạng ảnh 3D (sử dụng camera stereo) và kết hợp với một số phương pháp bảo mật khác để tăng độ tin cậy cho hệ thống
Có thể ứng dụng trong Robot nhận dạng, hay thực hiện chiếc gương thông minh, áp dụng thêm việc nhận dạng biểu cảm của khuôn mặt.
Trang 96
TÀI LIỆU THAM KHẢO TIẾNG VIỆT
1. Hồ Anh Thắng, Giải pháp tổng thể tối ưu hệ thống tự động tòa nhà sử dụng BMS của Siemens, 2012
TIẾNG NƯỚC NGOÀI
2. Gerhart, J., Home Automation & Wiring. 1999: McGraw-Hill Professional. 3. Harper, R., Inside the Smart Home. 2003: Springer. 278.
4. Mann, W.C., Smart Technology for Aging, Disability, and Independence: The State of the Science. 2005: John Wiley and Sons. 379.
5. M&T, Automation today. 2008(1,2): p. 40. 6. Jaseman, The MagPi. May 2012(1): p. 8.
7. Goodwin, S., Smart Home Automation with Linux and Raspberry Pi. 2013: Apress. 317.
8. Breuning, S. Using MySQL on a Raspberry Pi. 2014; Available from: http://raspberrywebserver.com.
9. Mobberley, C. Raspberry Pi MongoDB Installation. Oct, 2013; Available from: http://c-mobberley.com/wordpress/2013/10/14/raspberry-pi-mongodb- installation-the-working-guide/.
10. Hunter, T. Installing Redis on Debian as a Service. 2013; Available from: https://thomashunter.name/blog/installing-redis-on-debian/.
11. Sinopoli, J., Smart Building Systems for Architects, Owners, and Builders.
2010: Elsevier Inc.
12. Bosdogianni, M.P.a.P., Image Processing: The Fundamentals. 1999.
13. Kaehler, G.B.a.A., Learning OpenCV: Computer Vision with the OpenCV Library. 2008: O’Reilly Media, Inc. 186-190.
14. Szeliski, R., Computer Vision: Algorithms and Applications. 2010.
15. Maydt, R.L.a.J., An Extended Set of Haar-like Features for Rapid Object Detection. Proceedings of the IEEE Transactions on ICIP, 2002. 1: p. 900- 903.
16. Jones, P.V.a.M.J., Rapid Object Detection using a Boosted Cascade of Simple Features. Proceedings of the IEEE Transactions on CVPR 2001. 1: p. 511-518.
Trang 97
17. Chiara Turati, V.M.C., F. S., and Leo, I., Newborns face recognition: Role of inner and outer facial features. 2006: p. 297–311.
18. Kanade, T., Picture processing system by computer complex and recognition of human faces. 1973.
19. Brunelli, R., Poggio, T. , Face Recognition through Geometrical Features. European Conference on Computer Vision (ECCV). 1992: p. 792–800.
20. Turk, M., and Pentland, A. , Eigenfaces for recognition. Journal of Cognitive Neuroscience. 1991: p. 71–86.
21. P.N. Belhumeur, J.H.a.D.K., Eigenfaces vs. Fisherfaces: Recognition using class specific linear projection. Proceedings of the IEEE Transactions on PAMI, 1997. 19(7): p. 711–720.
22. Wiskott, L., Fellous, J., Krüger, N., Malsburg, C., Face Recognition By Elastic Bunch Graph Matching. 1997: p. 775–779.
23. Messer, K.e.a., Performance Characterisation of Face Recognition Algorithms and Their Sensitivity to Severe Illumination Changes. 2006: p. 1– 11.
24. Ahonen, T., Hadid, A., and Pietikainen, M. , Face Recognition with Local Binary Patterns. Computer Vision. 2004: p. 469–481.
25. Farid, M.M., Pattern Classification, by Richard O. Duda, Peter E. Hart, and David G. Stork. Journal of Classification, 2001. 18(2): p. 273.
26. Martinez, A.a.K., A. , PCA versus LDA IEEE Transactions on Pattern Analysis and Machine Intelligence. 2001. 23(2): p. 228-233.
27. Jain, R.a.A.K., Small sample size effects in statistical pattern recognition: Recommendations for practitioneers. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1991. 13: p. 252-264.
28. Teixeira, P., Professional Node.js: Building JavaScript-Based Scalable Software. 2013: John Wiley & Sons, Inc.
29. Rai, R., Socket.IO Real-time Web Application Development. 2013: Packt Publishing.