Bước 3: Sau khi có các điểm mốc trên khn mặt, ta thực hiện so sánh với các khuôn mặt đã được huấn luyện, và đưa ra khn mặt có tỉ lệ chính xác cao nhất.
3.3.3 Giới thiệu sơ lược về phương pháp phát hiện khuôn mặt sử dụng HOG sẽđược dùng để so sánh được dùng để so sánh
Tổng quan về các bước:
Bước 1: Tiền xử lý: từ hình ảnh gốc, ta sử dụng phương pháp phát hiện khn mặt và trích xuất khn mặt khỏi bức hình
Hình 3.20: Khn mặt được sử dụng để nhận dạng
Hình 3.21: Khn mặt được trích xuất
Bước 2: Lọc theo bộ lọc Gabor: Bộ lọc Gabor phân tích các thay đổi về ánh sáng và kết cấu để phân tích hình ảnh: thay đổi cạnh và kết cấu trong một hình ảnh làm nổi bật các đặc tính của bức ảnh. Điều này giúp loại bỏ chi tiết khơng mong muốn, do đó các chi tiết mà chúng ta thực sự mong muốn như các đường viền của mơi, mắt, lơng mày và vị trí của chúng trong bức ảnh sẽ rõ ràng hơn. Bộ lọc Gabor được sử dụng để phóng đại hướng của hình ảnh khn mặt, ví dụ Gabor biến nụ cười thành hình tam giác như trong hình minh họa. Các cạnh được phóng đại và sắc nét hơn, các đặc điểm khuôn mặt trở nên rõ ràng và đơn giản hơn so với hình ảnh gốc, do đó nó tăng cường độ chính xác cho HOG
HOG lấy hình ảnh được chuyển đổi từ Bộ lọc Gabor và tìm hướng nổi bật nhất cho từng nhóm điểm ảnh, được tính tốn theo ơ. HOG tính tốn hướng dốc và cường độ của hình ảnh Gabor để cung cấp một mơ tả tốn học rõ ràng về hình ảnh, tạo ra một véc tơ để mơ tả hình ảnh, phục vụ cho việc nhận diện khn mặt.
Hình 3.23: Các đặc trưng được trích xuất bằng HOG
Bước 3: Phân loại: véc tơ lấy được từ HOG sẽ được sử dụng theo SVM để tính tốn và phân tích, lưu trữ, và sử dụng để tính tốn kết phân loại khn mặt
3.3.4 So sánh hệ thống nhận diện khuôn mặt với phương pháp HOG đã có
3.3.4.1 So sánh khả năng phát hiện khn mặt giữa HOG và CNN 1. Kết quả phát hiện khuôn mặt khi khn mặt ở góc trực diện
Kết quả phát hiện khn mặt với HOG:
Hình 3.24: Phát hiện khn mặt sử dụng HOG
Độ chính xác: phát hiện gần như chính xác; Thời gian phát hiện của HOG: 0,37s
Kết quả phát hiện với CNN:
Hình 3.25: Phát hiện khn mặt sử dụng CNN
Độ chính xác: phát hiện gần như chính xác Thời gian phát hiện của CNN: 42s
2. Kết quả phát hiện khuôn mặt khi khuôn mặt bị nghiêng một góc lớn(khoảng 70 độ):
Kết quả phát hiện với phương pháp HOG:
Hình 3.26: Phát hiện khn mặt sử dụng HOG với góc nghiêng lớn
Phương pháp hồn tồn khơng thể phát hiện được. Độ chính xác: khơng thể phát hiện được;
Kết quả phát hiện với CNN:
Hình 3.27: Phát hiện khn mặt sử dụng CNN với góc nghiêng lớn
Với phương pháp CNN: phát hiện được với kết quả gần như chính xác Thời gian nhận diện 27.30s
Bảng 3.2: Kết quả so sánh phát hiện khn mặt giữa phương pháp mạng nơ ron tích chập và phương pháp HOG trên kết quả trung bình của dữ liệu thực tế của hệ thống
Trường hợp thử nghiệm Kết quả phương pháp CNN
Kết quả phương pháp HOG
Mặt nhìn trực diện vào camera 100% 100%
Kích cỡ khn mặt trong bức ảnh rất lớn 100% 78%
Kích cỡ khn mặt trong bức ảnh rất nhỏ 98% 38%
Khuôn mặt trong bức ảnh bị xoay 30 độ theo phương ngang
99% 55%
Khuôn mặt trong bức ảnh bị xoay 50 độ theo phương ngang
95% 20%
Khuôn mặt trong bức ảnh bị xoay 70 độ theo phương ngang
85% 1%
Khuôn mặt trong bức ảnh bị xoay 90 độ theo phương ngang
Qua phép so sánh, ta có thể thấy tuy HOG có khả năng tính tốn rất nhanh vì tính chất đơn giản. Tuy nhiên với những hình ảnh có độ phức tạp cao, CNN thể hiện rõ khả năng phát hiện khuôn mặt vượt trội so với công nghệ HOG.
3.3.4 So sánh khả năng nhận diện khuôn mặt giữa HOG và CNN
1. Kết quả nhận diện khn mặt khi khn mặt ở góc trực diện Kết quả phát hiện khn mặt với HOG:
Hình 3.28: Kết quả nhận diện khn mặt với HOG
Độ chính xác: phát hiện gần như chính xác;
Kết quả phát hiện với CNN:
2. Kết quả nhận diện khuôn mặt khi khn mặt bị nghiêng một góc lớn(khoảng 70 độ) Kết quả phát hiện với phương pháp HOG:
Hình 3. 30: Nhận diện khn mặt sử dụng HOG với góc nghiêng lớn
Độ chính xác: khơng thể nhận diện được;
Kết quả phát hiện với CNN:
Hình 3.31: Phát hiện khn mặt sử dụng CNN với góc nghiêng lớn
Bảng 3.3: Kết quả so sánh nhận diện khuôn mặt giữa phương pháp mạng nơ ron tích chập và phương pháp HOG trên kết quả trung bình của dữ liệu thực tế của hệ thống
Trường hợp thử nghiệm Kết quả phương pháp CNN
Kết quả phương pháp HOG
Mặt nhìn trực diện vào camera 100% 100%
Kích cỡ khn mặt trong bức ảnh rất lớn 100% 62%
Kích cỡ khn mặt trong bức ảnh rất nhỏ 98% 35%
Khuôn mặt trong bức ảnh bị xoay 30 độ theo phương ngang
95% 51%
Khuôn mặt trong bức ảnh bị xoay 50 độ theo phương ngang
35% 0%
Khuôn mặt trong bức ảnh bị xoay 70 độ theo phương ngang
12% 0%
Khuôn mặt trong bức ảnh bị xoay 90 độ theo phương ngang
0% 0%
Qua phép so sánh, ta có thể thấy, ở những hình ảnh có độ phức tạp như khn mặt có góc nghiêng lớn, xử lý bằng HOG gần như không thể nhận diện được. Nhưng xử lý bằng CNN có sự vượt trội và chính xác hơn.
3.2.5 Kết quả hệ thống web nhận diện khuôn mặt
3.2.5.1 Giao diện hệ thống
Vì hệ thống web có thể chạy trên 2 nền tảng: nền tảng máy tính và nền tảng thiết bị di động, nên ta có các giao diện hệ thống sau:
Hình 3.32: Giao diện hệ thống trên web (hai hình trên) và giao diện hệ thống trên mobile (hai hình dưới)
3.2.5.2 Kết quả chức năng nhận diện khn mặt
Ở hệ thống nhận diện khuôn mặt, kết quả báo cáo được lấy từ thực tế khi sử dụng với dữ liệu được nhận diện bằng camera: Ở phần huấn luyện, dữ liệu đầu vào là một người dùng ngồi trước camera. Hệ thống sẽ nhận diện mơt lượng khung hình của người dùng. Sau đó, ở phần nhận diện, hệ thống sẽ sử dụng dữ liệu đã được huấn luyện trước đó để nhận diện người sử dụng được ghi hình. Các bước kết quả sẽ được báo cáo lần lượt qua các hình ảnh sau:
Hình 3.34: Kết quả nhận diện sau khi huấn luyện
Ở kết quả nhận diện khn mặt, ta có thể thấy hệ thống đã nhận diện tốt với khn măt với góc nhìn thẳng, khn mặt với góc nhìn nghiêng xuống dưới 45 độ so với chiều thẳng đứng, khn mặt với góc nhìn nghiêng lên trên 30 độ so với chiều thẳng đứng, khn mặt với góc nhìn nghiêng sang trái 45 độ và khn mặt với góc nhìn nghiêng sang phải 45 độ. Ngoài ra, thử với các trường hợp đặc biệt khác, như nhận diện user với góc nghiêng khoảng 80 độ, hoặc nhận diện user với góc nghiêng 30 độ trên mặt phẳng Oxz cũng đều cho kết quả chính xác:
Hình 3.35: Nhận diện user có ID 00280 với góc nghiêng khoảng 80 độ và user có ID 00388 với góc nghiêng 30 độ trên mặt phẳng Oxz
Sau khi có danh sách các người dùng sau bước huấn luyện. Ta có được các mốc thời gian các khuôn mặt xuất hiện được lưu vào hệ thống ở bảng sau:
Bảng 3.4: Cơ sở dữ liệu thời gian phát hiện khn mặt của hệ thống
Trong đó:
1. user_id: ID của người dùng hệ thống
2. checkin_time: thời gian phát hiện đối tượng xuất hiện trước camera. Dựa vào thông tin khuôn mặt xuất hiện khi nào, cùng với những thơng tin cần thiết khác, hệ thống có thể tạo ra một bộ cơ sở dữ liệu được gán nhãn để phân tích sâu hơn như: thói quen người dùng, hoặc làm cơ sở dữ liệu đảm bảo an ninh, …
3.3 Kết luận
Khi áp dụng mạng nơ ron tích chập vào bài tốn nhận diện khuôn mặt và đếm số người ra/vào trong thực tế, hệ thống đã hoạt động ổn định và tỉ lệ sai số ở ngưỡng thấp có thể chấp nhận được. Hệ thống đã có thể thay thế các nhân viên thống kê qua camera, cũng như giải phóng sức lao động của con người, góp một phần nhỏ trong quá trình tiến lên cách mạng cơng nghiệp 4.0.
KẾT LUẬN
Kết quả đã thực hiện được của luận văn
Với ý tưởng áp dụng trí tuệ nhân tạo vào các nhu cầu của đời sống, nhằm giải phóng sức lao động của con người với những cơng việc đơn giản và góp phần xây dựng cách mạng công nghiệp 4.0, đề tài “Nghiên cứu về mạng Neural Convolutional, áp dụng
vào bài toán nhận dạng đối tượng trong lĩnh vực thị giác máy tính” đã hồn thành được
những mục tiêu sau:
Ở chương một, luận văn đã trình bày tổng quan về lịch sử hình thành, cũng như các kiến thức về nơ ron nhân tạo, mạng nơ ron nhân tạo và mạng nơ ron tích chập. Về mạng nơ ron, luận văn đã làm rõ được cấu trúc của một nơ ron nhân tạo, cách hoạt động của từng thành phần nơ ron. Ngoài ra, luận văn cũng đã làm rõ cách mạng nơ ron nhân tạo thực hiện quá trình huấn luyện bằng hình thức lan truyền ngược. Về các kiến trúc mạng, luận văn đã giới thiệu sơ qua về hai kiến trúc mạng phổ biến là mạng nơ ron truyền thẳng và mạng nơ ron hồi quy. Trong đó có đi sâu vào phân tích một mạng nơ ron truyền thẳng đặc biệt là mạng nơ ron tích chập.
Ở chương hai, luận văn đã trình bày tổng quan về bài tốn nhận dạng bằng mạng nơ ron tích chập. Luận văn đã đề cập lịch sử và phát triển của bài tốn nhận dạng đối tượng, giới thiệu và phân tích phương pháp và các bước đang được sử dụng để nhận diện khn mặt với mạng nơ ron tích chập. Ngồi ra luận văn có giới thiệu, phân tích và kết quả chi tiết của một số mạng nơ ron tích chập nổi tiếng hoặc được các công ty lớn tạo ra.
Bên cạnh đó, ở chương ba, để tài đã bước đầu xây dựng được mô đun nhận dạng đối tượng với hệ thống đếm người vào/ra cũng như hệ thống web nhận diện khn mặt. Ngồi ra, đề tài có phân tích và so sánh với hệ thống cũ đang được sử dụng cho chức năng nhận diện đối tượng và nhận diện khuôn mặt trước đây là HOG. Về cơ bản, hệ thống mới có khả năng nhận diện với các dữ liệu lỗi, nhiễu với tỉ lệ chính xác cao hơn so với hệ thống HOG. Ngồi ra, hệ thống đã có thể vận hành tự động để thay thế được con người, góp phần giải phóng sức lao động của con người, góp một phần nhỏ trong q trình tiến lên cơng nghiệp 4.0.
Phương hướng phát triển luận văn
Với rất nhiều ứng dụng thực tế của mạng nơ ron nhân tạo. Đề tài có rất nhiều hướng phát triển trong tương lai, để tạo thành một hệ thống tồn diện hơn, khai thác nhiều thơng tin hơn như:
Lập một hệ thống nhận dạng với số lượng người dùng lớn, làm cơ sở dữ liệu dân số trong tương lai.
Phân tích hành động qua chuỗi thời gian, để phát hiện, cảnh báo và ngăn chặn những bất thường, giúp xã hội trở nên an toàn hơn;
Nhận diện tiếng nói qua khn miệng của hình ảnh người dùng, hoặc Tạo ra cơng cụ đọc ngơn ngữ hình thể để hỗ trợ giao tiếp với người khuyết tật,… Ngoài ra, với xu hướng mạng vạn vật, hệ thống có thể tích hợp vào trong các bo mạch thông minh như mạch raspberry pi hoặc Nvidia's Jetson TX1, khiến các hệ thống thơng minh có thể trở nên nhỏ gọn, tiết kiệm điện năng, cũng như dễ dàng tích hợp vào đời sống con người hơn. Một hệ thống thơng minh tự động lớn có thể góp phần xây dựng nên một hệ thống hỗ trợ xã hội thông minh và đáp ứng các nhu cầu của con người hơn.
TÀI LIỆU THAM KHẢO
[1] N.Q. Anh, N.H. Dũng / Tạp chí Khoa học ĐHQGHN: Khoa học Tự nhiên và Công nghệ, Tập 33, Số 1 (2017)
[2] Linda G. Shapiro and George C. Stockman. Computer Vision. Prentice Hall.
(2001)
(2004)[3] Tim Morris: Computer Vision and Image Processing. Palgrave Macmillan.
[4]Bernd Jähne and Horst Haußecker. Computer Vision and Applications, A Guide
for Students and Practitioners. Academic Press. (2000)
[5] Milan Sonka, Vaclav Hlavac and Roger Boyle. Image Processing, Analysis,
and Machine Vision. Thomson. (2008)
[6] David A. Forsyth and Jean Ponce. Computer Vision, A Modern Approach. Prentice Hall. (2003)
[7] Dana H. Ballard and Christopher M. Brown. Computer Vision. Prentice Hall.
(1982)
[8] Barghout, Lauren, and Jacob Sheynin. Real-world scene perception and
perceptual organization: Lessons from Computer Vision. Journal of Vision 13.9 (2013)
[9]http://www.psych.utoronto.ca/users/reingold/courses/ai/cache/neural4.html , (2019)
[10] Md Zahangir Alom, Tarek M. Taha, Christopher Yakopcic, Stefan Westberg, Paheding Sidike, Mst Shamima Nasrin, Brian C Van Esesn, Abdul A S. Awwal, Vijayan K. Asari. The History Began from AlexNet: A Comprehensive Survey on Deep Learning
Approaches. (2018)
[11] Qianli Liao. A summary of deep models for face recognition. (2015)
[12] D. H. Hubel and T. N. Wiesel. Receptive fields of single neurones in the cat's
striate cortex. URL: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1363130/ (1959)
[13] Y. Lecun, L. Bottou, Y. Bengio, P. Haffner. Gradient-based learning applied
to document recognition. (1998)
[16] URL: https://trantheanh.github.io/2016/10/18/ML-07/, (2019)
[17] URL: https://towardsdatascience.com/activation-functions-neural-networks- 1cbd9f8d91d6, (2019)
[18] Chen, Jun-Cheng & Ranjan, Rajeev & Sankar, Swami & Kumar, Amit & Chen, Ching-Hui & Patel, Vishal & D. Castillo, Carlos & Chellappa, Rama. An End-to-
End System for Unconstrained Face Verifcation with Deep Convolutional Neural Networks (2016).
[19] AbdAlmageed, W., Wu, Y., Rawls, S., Harel, S., Hassne, T., Masi, I., Choi, J., Lekust, J., Kim, J., Natarajana, P., Nevatia, R., Medioni, G. Face recognition using deep
multi-pose representations. In: IEEE Winter Conference on Applications of Computer
Vision (WACV) (2016)
[20] URL: https://ereka.vn/post/chia-se-ve-mang-noron-tich-chap-convolutional- neural-networks-or-convnets-52790224348847566, (2019)
[21] Krizhevsky, A., Sutskever, I., & Hinton, G. E. Imagenet classification with
deep convolutional neural networks. In Advances in neural information processing systems. (2012)
[22] URL: http://mlwiki.org/index.php/Overfitting, (2019)
[23] Bae, S.H., Yoon, K.J. Robust online multi-object track- ing based on tracklet
confidence and online discriminative appearance learning. In IEEE Conference on
Computer Vision and Pattern Recognition (CVPR) (2014)
[24] National institute of standards and technology (NIST): IARPA Janus benchmark-a performance report. URL: http://biometrics.nist.gov/cs_links/face/face_ challenges/IJBA_reports.zip, (2019)
[25] Ranjan, R., Patel, V.M., Chellappa, R.. A deep pyramid deformable part
model for face detection. In: IEEE Inter- national Conference on Biometrics: Theory,
Applications and Systems (2015)
[26] Yi, D., Lei, Z., Liao, S., Li, S.Z.: Learning face repre- sentation from scratch. arXiv preprint arXiv:1411.7923 (2014)
[27] Belhumeur, P.N., Jacobs, D.W., Kriegman, D.J., Kumar, N.: Localizing parts
of faces using a consensus of exem- plars. Pattern Analysis and Machine Intelligence,
[28] Burgos-Artizzu, X.P., Perona, P., Doll´ar, P.: Robust face landmark
estimation under occlusion. URL http://dx.doi.org/10.1109/ICCV.2013.191 (2013)
[29] Chen, J.C., Patel, V.M., Chellappa, R. Unconstrained face verification using
deep cnn features. arXiv preprint arXiv:1508.01722 (2015)
[30] Crosswhite, N., Byrne, J., Parkhi, O.M., Stauffer, C., Cao, Q., Zisserman, A.
Template adaptation for face verification and identification. arXiv preprint
arXiv:1603.03958 (2016)
[31] Ranjan, R., Patel, V.M., Chellappa, R.: HyperFace: A Deep Multi - task
Learning Framework for Face Detec- tion, Landmark Localization, Pose Estimation, and Gen- der Recognition. URL http://arxiv.org/abs/ 1603.01249 (2016)
[32] Ren, S., Cao, X., Wei, Y., Sun, J.: Face alignment at 3000 fps via regressing
local binary features. (2014).
[33] Ross, G.: Fast r-cnn. arXiv preprint arXiv:1504.08083 (2015)
[34] Roth, M., Bauml, M., Nevatia, R., Stiefelhagen, R.: Robust multi-pose face
tracking by multi-stage tracklet association. In International Conference on Pattern
Recognition (ICPR) (2012)
[35] Yan, J., Zhang, X., Lei, Z., Li, S.Z.: Face detection by structural models. URL http://www.sciencedirect. com/science/article/pii/S0262885613001765. Best of Automatic Face and Gesture Recognition (2013)
[36] Shuo Yang, Ping Luo, Chen Change Loy, Xiaoou Tang. From facial parts
responses to face detection. (2015)
[38] Các tài liệu tại https://www.python.org/ và các thư viện liên quan (2019) [39] Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi. You Only Look Once: Unified, Real-Time Object Detection. (2016)
[40] URL: https://www.learnopencv.com/histogram-of-oriented-gradients/ (2019) [41] URL: https://cs231n.github.io/ , (2019)
[42] Song, Amanda & Li, Linjie & Atalla, Chad & Cottrell, Garrison. Learning to
see faces like humans: modeling the social dimensions of faces. Journal of Vision. 17.