• Không có kết quả nào được tìm thấy

Dữ liệu huấn luyện gồm có 36 khuôn mặt người thực tế của các thành viên trong đề tài và đã được chỉnh về kích thước 180 × 180. Tổng số dữ liệu ảnh khuôn mặt người lớn hơn 1000 ảnh. Do số lượng ảnh ít nên trong quá trình huấn luyện thì ảnh mặt người của mỗi người được làm giàu lên bằng cách sử dụng thư viện imgaug trong python để dịch trái, dịch phải, xoay, lật, làm mờ, thêm và giảm sáng. Vậy mỗi người có thêm 50 ảnh mặt người đã làm giàu. Sau khi có được tập ảnh dữ liệu khuôn mặt người đã giàu. Toàn bộ ảnh sẽ được đưa qua thuật toán Facenet để sinh ra vectơ embedding và được lưu lại dưới định dạng .npy và theo cấu trúc thư mục của ảnh. Ví dụ như một ảnh mặt người có tên là 1.png và có nhãn là 1 thì sẽ được lưu trong thư mục có cấu trúc dataset/1/1.png và vectơ embedding được lưu trong thư mục có cấu trúc là embedding/1/1.npy. Việc sinh ra thêm thư mục lưu vectơ embedding nhằm mục đích chính là khi thêm dữ liệu ảnh khuôn mặt vào một lớp đã có thì không phải chạy lại toàn bộ cả thư mục của lớp đó để sinh ra vectơ embedding của toán bộ ảnh mà chỉ cần chạy phần dữ liệu ảnh khuôn mặt thêm mới để sinh ra vectơ embedding.

Vectơ embedding sinh sẽ được sử dụng để huấn luyện mô hình SVM. Trong quá trình huấn luyện sử dụng kĩ thuật K-Fold với 𝑘 = 5 và được chạy lại 6 lần. Kĩ thuật K-Fold với 𝑘 = 5 nghĩa là sẽ chia tập dữ liệu thành 5 phần bằng nhau trong đó 4 phần sẽ sử dụng để huấn luyện mô hình SVM và 1 phần còn lại sẽ được sử dụng để đánh giá mô hình. Ví dụ với fold-1 thì 4 phần dữ liệu là (2,3,4,5) sẽ được dùng để huấn luyện và 1 phần dữ liệu là (1) sẽ

được dùng để đánh giá. Với fold-2 thì 4 phần dữ liệu là (1,3,4,5) sẽ được dùng để huấn luyện và 1 phần dữ liệu là (2) sẽ được dùng để đánh giá. Tương tự cho các fold còn lại, kết quả thử nghiệm được thể hiện theo Hình 4.2.

Số lần

Fold 1 2 3 4 5 6

1 0,9758 0,9838 0,9717 0,9637 0,9596 0,9879 2 0,9751 0,9502 0,9585 0,9834 0,9792 0,9668 3 0,9533 0,9502 0,9661 0,9703 0,9661 0,9668 4 0,9868 0,9606 0,9912 0,9737 0,9825 0,9737 5 0,9681 0,9909 0,9727 0,9681 0,9727 0,9737

Hình 4-2-Kết quả huấn luyện nhận dạng mặt người K-Fold

Theo kết quả Hình 4-2, qua các lần thử nghiệm cho thấy rằng độ chính xác của nhận diện nằm trong khoảng từ 95% đến 99% với độ lệch chuẩn là 1%. Qua đó thấy được rằng nhận diện khuôn mặt của hệ thống có độ chính xác cao và ổn định. Độ chính xác trung bình của hệ thống với 6 lần chạy là 97,11%. Hình 4-3 là hình ảnh chạy thực tế nhận diện khuôn mặt người tại phòng trưng bày của Đại Học Quốc Gia Hà Nội.

Hình 4-3-Ảnh nhận diện mặt người trong thực tế

4.3. Ứng dụng thực tiễn

Robot đã được chạy thử nghiệm ở phòng truyền thống của Đại Học Quốc Gia Hà Nội.

Ngoài ra được trưng bày tại Triển lãm 60 năm thành tựu khoa học và công nghệ nhân kỷ niệm 60 năm thành lập Bộ Khoa học và Công nghệ. Hình 4-4 là một số hình ảnh Fuso tại triển lãm và tại phòng trưng bày của Đại học Quốc Gia Hà Nội. Với Hình 4-4 (a) là hình ảnh Fuso tại triển lãm và Hình 4-4 (b) tại phòng trưng bày. Hình 4-4 (c) và (d) là hình ảnh người vào phòng trưng bày và chuẩn bị thực hiện việc vẫy tay. Hình 4-4 (e), (f), (g), (h) là hình ảnh người thực hiện vẫy tay và robot tiếp cận người vẫy tay và nhận dạng khuôn mặt đối tượng. Hình 4-4 (i), (j), (k) là hình ảnh robot thuyết trình tại các khu vực trưng bày.

(b)

(a) (c)

(d) (e)

(f) (g)

(h) (i)

(j) (k)

Hình 4-4-Một số hình ảnh của robot Fuso tại triển lãm và trong phòng trưng bày của Đại học Quốc Gia Hà Nội

4.4. Tổng kết

4.4.1. Kết luận

Với sự phát triển mạnh mẽ của công nghệ hiện nay đặc biệt phải kể đến lĩnh vực robot và trí tuệ nhân tạo thì việc tạo ra robot thông minh để hỗ trợ con người trong đời sống hằng ngày là cần thiết. Fuso – robot hướng dẫn viên, được tạo ra như một phần nhỏ trong sự phát triển robot của đất nước. Trong luận văn này chỉ tập trung nghiên cứu, phát triển phần hệ thống phân tích hình ảnh của robot. Với việc xây dựng lên bộ máy trạng thái hữu hạn định nghĩa toàn bộ trạng thái của robot từ đó giúp dễ dàng bảo trì và mở rộng các chức năng của hệ thống hơn. Cùng với việc xây dựng bộ máy trạng thái là phát triển thuật toán phát hiện vẫy tay dựa trên thuật toán phát hiện khung xương người Openpose và đã đạt được độ chính xác trung bình là 78,42%. Bên cạnh thuật phát hiện vẫy tay thì thuật toán nhận dạng mặt người cũng được ứng dụng vào robot. Để robot có thể nhận dạng người đã từng gặp và chào bằng tên người đó một cách thân thiện như con người. Ban đầu ảnh được đưa qua thuật toán MTCNN để phát hiện mặt người trong bức ảnh và tiếp đó ảnh khuôn mặt được cắt ra từ kết quả sẽ chạy qua thuật toán Facenet để lấy ra vectơ embedding của ảnh khuôn mặt và đưa vào mô hình SVM đã được huấn luyện trước đó để phân lớp và nhận điện người trong bức ảnh. Mô hình SVM đã được huấn luyện sử dụng kĩ thuật kiểm định chéo K-fold và đạt được độ chính xác là 97,11%. Với những kết quả khả quan đạt được nó sẽ là bước đệm để tôi có thể phát triển cho robot có thể đạt được kết quả cao hơn nữa trong tương lai.

4.4.2. Hướng phát triển tương lai

Trong tương lai robot cần nâng cao kết quả của các thuật toán đã có. Thứ nhất là thuật toán phát hiện vẫy tay ở khoảng cách xa hơn và độ chính xác phải cao hơn trên 90% để có thể ứng dụng được vào những khu vực rộng. Vì hiện tại trên 6 mét thì độ chính xác phát hiện vẫy tay sẽ thấp hơn 50%. Thứ hai là thuật toán nhận dạng mặt người cần huấn luyện thêm để có thể đạt được độ chính các hiện tại của thế giới là 99%. Cuối cùng, xây dựng thêm mô-đun để robot có thể tự xây dựng bản đồ 3D và xác định vị trí của mình trên bản đồ đó qua camera. Đó cũng chính là bài toán Visual SLAM – Simultaneous Localization and Mapping cần giải quyết.

Tài liệu tham khảo

[1] A. Gasparetto, G. Scalera, “From the Unimate to the Delta robot: the early decades of Industrial Robotics”, History of Mechanism and Machine Science, 2019, pp. 284-295.

[2] M. V. Georges Giralt, Raja Chatila, “An integrated navigation and motion control system for autonomous multisensory mobile robots”, Autonomous Robot Vehicles, vol. 7. Springer, New York, 1990, pp. 420-442.

[3] M. Fujita, “On activating human communications with pet-type robot AIBO”, Proceedings of the IEEE, 2004, pp. 1804-1813.

[4] F. David, B. Eric, C. Jennifer “Building Watson: An Overview of the DeepQA Project”, AI Magazine, 2010.

[5] D. Silver, A. Huang, C. Maddison, et al, “Mastering the game of Go with deep neural networks and tree search”, Nature, 2016.

[6] Jesus Retto, “SOPHIA, FIRST CITIZEN ROBOT OF THE WORLD”, ResearchGate https://www. researchgate. Net, 2017.

[7] M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, A.Y. Ng, “ROS:

An open-source Robot Operating System", ICRA Workshop on Open Source Software, 2009.

[8] C. Cortes, V. Vapnik, “Support-vector networks”, Machine Learning 20, 1995.

[9] Z. Cao, G. Hidalgo, T. Simon, S.-E. Wei, and Y. Sheikh, “OpenPose: realtime multi-person 2D pose estimation using Part Affinity Fields”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019.

[10] K. Simonyan, A. Zisserman, “Very deep convolutional networks for large-scale image recognition”, ICLR, 2015.

[11] M. D. Zeiler, R. Fergus, “Visualizing and understanding convolutional networks”, European conference on computer vision, 2013.

[12] C. Szegedy, W. Liu, Y. Jia, el al, “Going deeper with convolutions”, CVPR, 2014

[13] K. Zhang, Z. Zhang, Z. Li, Y. Qiao, “Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks”, IEEE Signal Processing Letters, 2016.

[14] F. Schroff, D. Kalenichenko, J. Philbin, “FaceNet: A Unified Embedding for Face Recognition and Clustering”, CVPR, 2015.

[15] Website: https://www.intelrealsense.com/depth-camera-d435/, ngày truy cập: 10/09/2020.

[16] Website: https://developer.nvidia.com/embedded/develop/hardware, ngày truy cập:

10/09/2020.