Nội dung của luận văn nhằm giải quyết bài toán quản lý mật độ đối tượng ứng dụng công nghệ xử lý hình ảnh, deep learning. Để kiểm nghiệm thuật toán, đề tài ứng dụng vào lĩnh vực cụ thể là điểm danh và đánh giá độ chuyên cần của sinh viên từ đó giúp giải quyết bài toán quản lý mật độ đối tượng một cách hiệu quả. Phương pháp thực hiện: Đánh giá độ chuyên cần ở khoảng dữ liệu rộng, bài toán kết hợp hai phương pháp là nhận diện khuôn mặt và điểm danh qua vân tay. Hai phương pháp hỗ trợ nhau để xây dựng thành hệ thống xử lý một khoảng dữ liệu lớn với độ chính xác có thể chấp nhận. Công cụ sử dụng: Pycharm, Python 3.8.2, Anaconda, Office 2013… Kết quả luận văn: Phù hợp các yêu cầu đặt ra khi độ chính xác đạt trên 89%, các phương pháp bổ trợ đã giải quyết được những vấn đề còn tồn đọng. Định hướng phát triển: Ứng dụng công nghệ IoT, Big Data vào quản lý và xử lý dữ liệu giúp việc xử lý dữ liệu hiệu quả hơn
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN VĂN THẠC SĨ
Nghiên cứu, thiết kế hệ thống cơ điện tử thông minh ứng dụng công nghệ nhận dạng khuôn mặt và thuật toán học sâu trong việc điểm danh và đánh giá độ
chuyên cần của sinh viên
NGUYỄN DUY KHÁNH
Khanh.NDCB180012@sis.hust.edu.vn
Ngành Kỹ thuật Cơ Điện Tử
Giảng viên hướng dẫn: TS Đặng Thái Việt
HÀ NỘI, 05/2020
Chữ ký của GVHD
Trang 2ĐỀ TÀI LUẬN VĂN
Đề tài: Nghiên cứu, thiết kế hệ thống cơ điện tử thông minh ứng dụng công
nghệ nhận dạng khuôn mặt và thuật toán học sâu trong việc điểm danh và đánh giá độ chuyên cần của sinh viên
Tên tiếng anh: Research and design the intelligent mechatronics system
using facial recognition technology and deep learning algorithm to roll up and evaluate the diligence
Giáo viên hướng dẫn
Ký và ghi rõ họ tên
Trang 3Lời cảm ơn
Em xin chân thành cảm ơn Thầy giáo, Tiến sĩ Đặng Thái Việt, người đã hướng dẫn tận tình cho em trong suốt thời gian tìm hiểu, nghiên cứu và hoàn thành luận văn này từ lý thuyết đến việc ứng dụng trong sản xuất Sự hướng dẫn tận tình của thầy đã giúp em có thêm nhiều kiến thức liên quan đến công nghệ trí tuệ nhân tạo và ứng dụng trong thực tế môi trường công nghiệp
Đồng thời em cũng xin cảm ơn các quý thầy, cô trong viện cơ khí, đặc biệt là các thầy cô trong bộ môn Cơ điện tử - Trường Đại học Bách khoa Hà Nội, đã trang bị cho em nhiều kiến thức cần thiết trong suốt thời gian học tập, nghiên cứu tại trường để em có thể hoàn thành luận văn này Trong suốt quá trình học cũng như trong thời gian làm luận văn không tránh khỏi những thiếu sót, em rất mong nhận được sự góp ý của các quý thầy, cô cũng như các bạn để luận văn của em hoàn thiện hơn
Em xin chân thành cảm ơn!
Tóm tắt nội dung luận văn
Nội dung của luận văn nhằm giải quyết bài toán quản lý mật độ đối tượng ứng dụng công nghệ xử lý hình ảnh, deep learning Để kiểm nghiệm thuật toán, đề tài ứng dụng vào lĩnh vực cụ thể là điểm danh và đánh giá độ chuyên cần của sinh viên từ đó giúp giải quyết bài toán quản lý mật độ đối tượng một cách hiệu quả Phương pháp thực hiện: Đánh giá độ chuyên cần ở khoảng dữ liệu rộng, bài toán kết hợp hai phương pháp là nhận diện khuôn mặt và điểm danh qua vân tay Hai phương pháp hỗ trợ nhau để xây dựng thành hệ thống xử lý một khoảng dữ liệu lớn với độ chính xác có thể chấp nhận
Công cụ sử dụng: Pycharm, Python 3.8.2, Anaconda, Office 2013…
Kết quả luận văn: Phù hợp các yêu cầu đặt ra khi độ chính xác đạt trên 89%, các phương pháp bổ trợ đã giải quyết được những vấn đề còn tồn đọng
Định hướng phát triển: Ứng dụng công nghệ IoT, Big Data vào quản lý và xử
lý dữ liệu giúp việc xử lý dữ liệu hiệu quả hơn
Hà Nội, Ngày 8 tháng 5 năm 2020
Học viên
Trang 4LỜI MỞ ĐẦU
Thế giới trải qua 3 nền cách mạng công nghiệp và hiện nay đang bước vào kỉ nguyên số với cuộc cách mạng công nghiệp lần thứ 4 dẫn đến sự bùng nổ về công nghệ đặc biệt ở các lĩnh vực robot, trí tuệ nhân tạo, công nghệ big data,…đã phần nào đưa nền kinh tế của các quốc gia phát triển vượt bậc Chúng ta có thể nhận thấy trí tuệ nhân tạo đã trở nên phổ biến ở nhiều khía cạnh trong cuộc sống hàng ngày Từ các cảm biến thông minh giúp chúng ta chụp ảnh hoàn hảo, đến các tính năng đỗ xe tự động trong xe hơi, cho đến các trợ lý cá nhân trong điện thoại thông minh, trí thông minh nhân tạo luôn ở xung quanh chúng ta Trên thực
tế, đã có rất nhiều ứng dụng của trí tuệ nhân tạo đã được thực thi đặc biệt bài toán xác định mật độ đối tượng áp dụng vào lĩnh vực an ninh, an toàn tuy nhiên độ chính xác và phương pháp xử lý chưa được giải quyết tối ưu
Để tối ưu phương pháp giải quyết bài toán đồng thời giúp tăng độ chính xác
xử lý của hệ thống, thầy hướng dẫn đã định hướng và giao nhiệm vụ nghiên cứu
đề tài:
“Nghiên cứu, thiết kế hệ thống cơ điện tử thông minh ứng dụng công nghệ nhận dạng khuôn mặt và thuật toán học sâu trong việc điểm danh và đánh giá độ chuyên cần của sinh viên”
Mục đích của luận văn tập trung nghiên cứu, tìm hiểu và phân tích các phương pháp học sâu ứng dụng vào bài toán phân tích và quản lý mật độ đối tượng, đồng thời thực hiện cài đặt một mô hình huấn luyện về nhận dạng người trong Học sâu với số lượng ảnh nhất định và sử dụng chúng làm bộ nhận dạng cơ
sở cho ứng dụng điểm danh tự động cải thiện cho việc điểm danh hiện nay
Bộ cơ sở dữ liệu ảnh là một trong các thành phần quan trọng hàng đầu trong các phương pháp Học máy nói chung, được sử dụng để phục vụ cho quá trình tính toán tham số và huấn luyện, tinh chỉnh các mô hình Thông thường, bộ dữ liệu càng lớn và càng được chọn lọc tỉ mỉ cẩn thận thì độ chính xác của mô hình càng được cải thiện Sau khi đã thu thập đủ số lượng ảnh gốc từng sinh viên, ta
sẽ sử dụng các thuật toán trên môi trường Python để trainning, nhận dạng và
Trang 5đánh giá độ chính xác thuật toán từ đó chọn ra thuật toán có độ chính xác cao nhất
Luận văn được tổ chức thành 4 chương với các nội dung cụ thể như sau:
Chương 1: Đưa ra cái nhìn tổng quan về trí tuệ nhân tạo, mạng neural tích
chập CNN và cấu trúc So sánh, đánh giá các công bố từ trước từ đó đề xuất đề tài Ngoài ra, tác giả trình bày một số thuật toán tích hợp trong hệ thống điểm danh
Chương 2: Đưa ra cái nhìn tổng quan về bài toán xác định và quản lý mật độ
đối tượng Tập trung so sánh, đánh giá với kết quả đã công bố từ đó đưa giải pháp nâng cao độ chính xác, mô phỏng dữ liệu
Chương 3: Tiếp cận cách thiết kế và xây dựng hệ thống điểm danh tự động
kết hợp giữa phần cứng và phần mềm một cách hiệu quả
Chương 4: Kết luận và hướng phát triển hệ thống trong tương lai
Dù đã cố gắng hoàn thành đề tài với cường độ làm việc cao, kỹ lưỡng cùng sự hướng dẫn rất cụ thể, nhiệt tình của thầy hướng dẫn nhưng do hiểu biết còn hạn chế nên chắc chắn luận văn này không tránh khỏi được khả năng thiết sót Vì vậy
em rất mong sự sửa chữa và góp ý của hội đồng, quý thầy cô để em rút ra kinh nghiệm và bổ sung thêm kiến thức cho bản thân
Cuối cùng em xin chân thành cảm ơn sự quan tâm chỉ bảo của các thầy cô trong bộ môn Cơ Điện Tử trường Đại học Bách khoa Hà Nội và đặc biệt sự hướng dẫn tận tình của TS Đặng Thái Việt đã giúp em hoàn thành luận văn này
Hà Nội, ngày 10 tháng 4 năm 2020
Học viên thực hiện:
Nguyễn Duy Khánh
Trang 6MỤC LỤC
CHƯƠNG 1 TỔNG QUAN 1
1.1 Đặt vấn đề 1
1.2 Tổng quan mạng neural tích chập CNN 3
1.2.1 Giới thiệu mạng Neural 3
1.2.2 Cấu trúc mạng Neural tích chập CNN 5
1.3 Thuật toán FaceNet 8
1.4 Thuật toán MTCNN 12
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP PHÂN TÍCH XỬ LÝ BÀI TOÁN 16
2.1 Tổng quan bài toán xác định mật độ đối tượng 16
2.2 Tổng quan hệ thống điểm danh sinh viên 21
2.3 Phân tích, cải tiến bài toán xác định mật độ đối tượng 22
2.3.1 Thuật toán nhận dạng khuôn mặt sử dụng mạng Neural 26
2.3.2 Cách thức tổ chức và xử lý dữ liệu trainning 27
2.3.3 Cải thiện, nâng cao độ chính xác cho bài toán 32
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 39
3.1 Yêu cầu chung của hệ thống điều khiển 39
3.1.1 Phân tích hệ thống 39
3.1.2 Nguyên lý hoạt động của hệ thống điều khiển 40
3.1.3 Yêu cầu phần cứng và phần mềm 41
3.2 Lấy dữ liệu từ module quét vân tay 42
3.2.1 Giới thiệu cảm biến vân tay R305 43
3.2.2 Lựa chọn vi điều khiển 44
3.2.3 Truyền thông hệ thống với module vân tay 47
3.2.4 Thiết kế sơ đồ nguyên lý giao tiếp module vân tay 49
3.3 Thiết kế phần mềm điểm danh tự động 50
Trang 73.3.1 Bài toán nhận diện khuôn mặt 513.3.2 Xây dựng giao diện phần mềm điểm danh tự động 533.4 Phương pháp đánh giá 533.5 Thử nghiệm độ chính xác thuật toán sau khi đã tích hợp vào hệ thống 54
CHƯƠNG 4 KẾT LUẬN 60
4.1 Kết luận 604.2 Hướng phát triển tương lai 60
Trang 8DANH MỤC HÌNH VẼ
Hình 1.1: Cấu trúc mạng Neural 4
Hình 1.2: Cấu trúc mạng tích chập CNN 6
Hình 1.3: Nguyên lý bộ lọc tích chập 6
Hình 1.4 Kết quả xử lý sau lớp tích chập 7
Hình 1.5: Xử lý Max Pooling 7
Hình 1.6: Fully Connected Layer 8
Hình 1.7: FaceNet process 9
Hình 1.8: Triplet Loss 10
Hình 1.9: Dataset LWF 11
Hình 1.10: Quá trình xử lý mạng P-Net 14
Hình 1.11: Ví dụ xử lý mạng P-Net 14
Hình 1.12: Quá trình xử lý mạng R-Net 14
Hình 1.13: Ví dụ xử lý mạng R-Net 15
Hình 1.14: Quá trình xử lý O-Net 15
Hình 2.1: Tổng quan hệ thống điểm danh 22
Hình 2.2: Lưu đồ quá trình nhận diện khuôn mặt 27
Hình 2.3: Mẫu chuẩn và tách đặc trưng 29
Hình 2.4: Tiền xử lý ảnh 30
Hình 2.5: Thuật toán dò tìm khuôn mặt 31
Hình 2.6: Kết quả độ chính xác của nhóm tác giả [32] 32
Hình 2.7: Độ chính xác công bố của Vishal Agarwal 33
Hình 2.8: AFAD Dataset 34
Hình 2.9: Dữ liệu trước khi trainning 35
Hình 2.10: Dữ liệu sau khi trainning 35
Hình 2.11:Kết quả về độ hội tụ của Vishal Agarwal 36
Hình 2.12: Độ chính xác hệ thống điểm danh 36
Trang 9Hình 2.13: Ngưỡng sáng ảnh giả mạo và thật 37
Hình 2.14: Độ chính xác trainning và nhận dạng chống giả mạo 38
Hình 3.1: Cách thức hoạt động của hệ thống 40
Hình 3.2: Nguyên lý hoạt động điểm danh vân tay 43
Hình 3.3: Cảm biến vân tay R305 43
Hình 3.4: Sơ đồ chân vi điểu khiển ATMEL328P 47
Hình 3.5: Kết nối truyền nhận UART 48
Hình 3.6: Gói dữ liệu truyền nhận UART 48
Hình 3.7: Sơ đồ nguyên lý kết nối 50
Hình 3.8: Mạch layout PCB 50
Hình 3.9: Quá trình nhận dạng khuôn mặt 52
Hình 3.10: Giao diện phần mềm 53
Hình 3.11: Đánh giá chuyên cần theo tháng 58
Trang 10DANH MỤC BẢNG BIỂU
Bảng 2.1: So sánh các phương pháp nhận diện khuôn mặt 25
Bảng 3.1: Giá tiền sản phẩm của nhóm tác giả 39
Bảng 3.2: Yêu cầu phần cứng và phần mềm 41
Bảng 3.3: So sánh các dòng vi điều khiển 45
Bảng 3.4: Dữ liệu thử nghiệm 55
Bảng 3.5: Độ chính xác điểm danh vân tay 55
Bảng 3.6: Chi tiết quá trình thử nghiệm 55
Bảng 3.7: So sánh thời gian thử nghiệm 57
Bảng 3.8: Thử nghiệm kết quả tính điểm 58
Trang 111
CHƯƠNG 1 TỔNG QUAN Chương 1 Bao gồm các nội dung sau:
- Tổng quan về công nghệ trong nền công nghiệp 4.0
- Lý do chọn đề tài
- Lý thuyết về mạng CNN và một số thuật toán áp dụng, sử dụng trong
đề tài như MTCNN, Facenet
1.1 Đặt vấn đề
Trong thời kỳ hội nhập, sự phát triển của khoa học kỹ thuật là rất cần thiết phục vụ cho nhu cầu phát triển của kỷ nguyên mới Là một trong những nhân tố góp phần thúc đẩy sự phát triển của khoa học kỹ thuật không thể không nhắc tới các đóng góp của ngành kỹ thuật cơ điện tử Các hệ thống công nghệ trước đây chủ yếu hoạt động trên các kết cấu cơ khí thuần túy kết với với các mạch điện tử điều khiển đơn giản, các hệ thống này vận hành để đáp ứng một số thao tác cơ bản Sự phát triển mạnh mẽ của công nghiệp sản xuất đòi hỏi có một công nghệ cao uyển chuyển, linh hoạt, thông minh hơn các công nghệ trước đây, chính vì vậy cơ điện tử ra đời
Thế giới nói chung và Việt Nam nói riêng đang bước vào nền công nghiệp 4.0 với sự chạy đua công nghệ, không chỉ là cơ hội mà còn là một thách thức lớn đối với mỗi quốc gia Nền công nghiệp 4.0 tích hợp tất cả các công nghệ tiên tiến về
tự động hóa, công nghệ thông tin,… để nâng cao chất lượng cuộc sống hiện tại Cùng với sự phát triển của nền công nghiệp 4.0, công nghệ xử lý trong chuyển đổi số được quan tâm và phát triển mạnh mẽ với rất nhiều ứng dụng thực tế như
hệ thống cảnh báo khoảng cách an toàn trong giao thông “Real-Time Car Detection and Driving Safety Alarm System With Google Tensorflow Object Detection API”[1] của nhóm tác giả Cheng-Hsiung Hsieh, Dung-Ching Lin, Cheng-Jia Wang, Zong-Ting Chen, Jiun-Jian Liaw Tiếp theo có thể kể đến hệ thống bãi đỗ xe tự động “License Plate Detection and Integral Intensity Projection for Automatic Finding the Vacant of Car Parking Space”[2] đã giúp ích rất nhiều trong việc quản lý, tiết kiệm thời gian và chi phí
Trên đà phát triển đó, lĩnh vực Computer Vision đã được đầu tư và đạt được nhiều thành tựu nhất định Quá trình chuyển đổi số dựa trên nền tảng trí tuệ nhân
Trang 122
tạo đang dần phát triển ngay trong cuộc sống hiện nay không những giảm bớt khối lượng công việc mà độ chính xác ngày càng nâng cao Điển hình với bài toán xác định và quản lý mật độ của đối tượng, đã có rất nhiều công bố với các ứng dụng vào thực tế đặc biệt có thể kể đến như kiểm soát an ninh, an toàn, kiểm soát hành vi giám sát,… Công bố mới đây của tác giả Sadhna Sharma “Template Matching Approach for Face Recognition System” [3] liên quan đến áp dụng phương pháp nhận dạng khuôn mặt vào hệ thống an ninh dựa trên thuật toán Template matching đã góp phần thay đổi, cải thiện hệ thống an ninh cũ Với phương pháp này, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt được chụp thẳng) sẽ được xác định trước hoặc xác định các tham số thông qua một hàm Từ một ảnh đưa vào, tính các giá trị tương quan so với các mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và miệng Thông qua các giá trị tương quan này
mà các tác giả quyết định có hay không có tồn tại khuôn mặt trong ảnh Khi sử dụng, tác giả sẽ có lợi thế là chương trình rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình dáng thay đổi Nhiều độ phân giải, đa tỷ lệ, các mẫu con,
và các mẫu biến dạng được xem xét thành bất biến về tỷ lệ và hình dáng Để giải quyết vấn đề khớp mẫu không chuẩn do góc nghiêng, độ sáng, một nghiên cứu khác thực hiện liên quan đến lĩnh vực an ninh văn phòng, hệ thống sử dụng phương pháp nhận diện khuôn mặt trên nền tảng LABVIEW của nhóm tác giả Sarma và Prasad - “Face Recognition Office Security System Using LabVIEW 8.6”[4] Hệ thống đã được xây dựng trên nền tảng phần mềm LABVIEW với tốc
độ tương đối mạnh tuy nhiên phương pháp nhận dạng khuôn mặt được tác giả sử dụng là phân tích nét đặc trưng histogram được chỉ ra có độ chính xác chưa cao Bên cạnh hướng tiếp cận Histogram, tác giả N Dileep kumar, S Shanthi đã đề xuất hệ thống an ninh tòa nhà nhận diện khuôn mặt sử dụng Haar-cascade
“Automatic Gate using Face Recognition Technique using HAAR Cascade Algorithm”[5] kết hợp trainning dữ liệu Đầu tiên ảnh được đưa về xám hóa, sau
đó cho các đặc trưng haar-like chạy khắp bức ảnh, những khu vực so sánh được cho là giống với nhiều đặc chưng haar-like nhất sẽ được đánh dấu lại Chính vì vậy có rất nhiều khu vực trong hình nó sẽ nhận là có khuôn mặt Sau đó các ảnh không giống sẽ được sử dụng để loại trừ các vùng này Cho nên trong quá trình training một bộ nhận dạng, số lượng ảnh sai luôn phải tương đối nhiều để dùng
Trang 133
để loại trừ Tuy nhiên, theo đồ thị của tác giả đưa ra trong bài báo, độ chính xác đạt được khá thấp và cần dữ liệu trainning nhiều Chính vì vậy, cần một phương pháp nâng cao độ chính xác cho phương pháp và ổn định nhất là trong những hệ thống an ninh, an toàn Một nghiên cứu khác được thực hiện bởi nhóm nghiên cứu của Rajiv ứng dụng trí tuệ nhân tạo thiết kế hệ thống bảo mật dựa trên công nghệ nhận diện khuôn mặt và quản lý qua email “Email based remote access and surveillance system for smart home infrastructure” [6] Hệ thống nhận dạng cho phép phát hiện đối tượng qua khuôn mặt và làn da với độ chính xác tương đối cao nhờ sử dụng deep learning trainning dữ liệu chi tiết Tuy nhiên một nhược điểm khiến hệ thống hiệu quả và tính ứng dụng thực tế đó là cần sự cho phép truy cập của chủ nhà qua email cần được cải thiện
Nhận thấy bài toán xác định mật độ đối tượng có tính ứng dụng cao vào thực
tế như hệ thống an ninh, kiểm soát hành vi, giáo dục,…nên cần nghiên cứu phát triển đồng thời thử nghiệm để nâng cao độ chính xác thuật toán, tác giả ứng dụng trực tiếp vào hệ thống điểm danh tự động với mục đích kiểm nghiệm thuật toán
và độ chính xác
Trên yêu cầu xây dựng hệ thống tích hợp những giải pháp xử lý dữ liệu, trích xuất thông tin phù hợp với từng vùng, từng tổ chức, hệ thống sẽ được tích hợp phương pháp điểm danh sinh trắc học vân tay và nhận diện khuôn mặt đồng thời kiểm nghiệm so sánh với các công bố trong cùng lĩnh vực, tôi xin đề xuất đề tài:
“Nghiên cứu, thiết kế hệ thống cơ điện tử thông minh ứng dụng công nghệ nhận dạng khuôn mặt và thuật toán học sâu trong việc điểm danh và đánh giá độ chuyên cần của sinh viên”
1.2 Tổng quan mạng Neural tích chập CNN
1.2.1 Giới thiệu mạng Neural
Định nghĩa: Mạng Neural nhân tạo, Artificial Neural Network (ANN) là một
mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ Neural sinh học Nó được tạo nên từ một số lượng lớn các phần tử (Neural) kết nối với nhau thông qua các liên kết (trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó Một mạng Neural nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, ) thông qua một
Trang 144
quá trình học từ tập các mẫu huấn luyện Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các Neural
Hình 1.1: Cấu trúc mạng Neural
Các thành phần cơ bản của một Neural nhân tạo bao gồm:
- Tập các đầu vào: Là các tín hiệu vào (input signals) của Neural, các tín hiệu này thường được đưa vào dưới dạng một vector N chiều
- Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số liên kết – Synaptic weight Trọng số liên kết giữa tín hiệu vào thứ j với Neural k thường được kí hiệu là wkj Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng
- Bộ tổng (Summing function): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó
- Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào như một thành phần của hàm truyền
- Hàm truyền (Transfer function): Hàm này được dùng để giới hạn phạm
vi đầu ra của mỗi Neural Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng
- Đầu ra: Là tín hiệu đầu ra của một Neural, với mỗi Neural sẽ có tối đa
là một đầu ra
Xét về mặt toán học, cấu trúc của một Neural k, được mô tả bằng cặp biểu thức sau:
Trang 15- yk là tín hiệu đầu ra của Neural
Như vậy Neural nhân tạo nhận các tín hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết quả tới hàm truyền), và cho một tín hiệu đầu ra ( là kết quả của hàm truyền)
Trang 16Trong đó:
- O: kích thước ảnh đầu ra
- i: kích thước ảnh đầu vào
Trang 177
- p: kích thước khoảng trắng phía ngoài viền của ảnh gốc
- k: kích thước bộ lọc
- s: bước trượt của bộ lọc
Kết quả cuối cùng bước này sẽ cho ra output như thế nào? Bước convolution này để tìm đặc trưng ảnh như viền,…
Hình 1.4 Kết quả xử lý sau lớp tích chập
1.2.2.2 Lớp lấy mẫu( Pooling Layer)
Mục đích của pooling rất đơn giản, nó làm giảm số hyperparameter mà ta cần phải tính toán, từ đó giảm thời gian tính toán, tránh overfitting Loại pooling ta thường gặp nhất là max pooling, lấy giá trị lớn nhất trong một pooling window Pooling hoạt động gần giống với convolution, nó cũng có 1 cửa sổ trượt gọi
là pooling window, cửa sổ này trượt qua từng giá trị của ma trận dữ liệu đầu vào
(thường là các feature map trong convolutional layer), chọn ra một giá trị từ các
giá trị nằm trong cửa sổ trượt (với max pooling ta sẽ lấy giá trị lớn nhất)
Hình 1.5: Xử lý Max Pooling
1.2.2.3 Lớp kết nối đầy đủ( Fully Connected module)
Trong mạng Neural, các Neural input sẽ được kết nối với các Neural khác trong mạng với 1 trọng số cụ thể Từ input đầu vào, qua các Neural trung gian sẽ tìm được kết quả đầu ra phù hợp Nếu kết quả chưa đạt tối ưu, mạng Neural sẽ
Trang 188
lan truyền ngược để tìm lại trọng số weight ở mỗi Neural sao cho kết quả đạt được là tối ưu
Hình 1.6: Fully Connected Layer
Sự ra đời của mạng CNN đã giải quyết các vấn đề còn lại của các mạng Neural nhân tạo truyền thống học thông tin trong ảnh Do sử dụng các liên kết đầy đủ giữa các điểm ảnh vào node, các mạng Neural nhân tạo truyền thẳng (Feedforward Neural Network) bị hạn chế rất nhiều bởi kích thước của ảnh, ảnh càng lớn thì số lượng liên kết càng tăng nhanh và kéo theo sự bùng nổ khối lượng tính toán Ngoài ra sự liên kết đầy đủ này cũng là sự dư thừa khi với mỗi bức ảnh, các thông tin chủ yếu thể hiện qua sự phụ thuộc giữa các điểm ảnh với những điểm xung quanh nó mà không quan tâm nhiều đến các điểm ảnh ở cách xa nhau Mạng CNN ra đời với kiến trúc thay đổi, có khả năng xây dựng liên kết chỉ
sử dụng một phần cục bộ trong ảnh kết nối đến node trong lớp tiếp theo thay vì toàn bộ ảnh như trong mạng nơ-ron truyền thẳng
1.3 Thuật toán FaceNet
Được phân tích và so sánh đánh giá bởi các nhà khoa học cho thấy thuật toán Facenet độ chính xác khá cao, ứng dụng vào nhiều ứng dụng Thật vậy, với công
bố ”Face Recognition Algorithm Bias: Performance Differences on Images of Children and Adults”[7] của nhóm tác giả Nisha Srinivas, Karl Ricanek, Dana Michalski đã cho thấy ứng dụng của thuật toán vào phân tích sự khác nhau giữa trẻ em và người lớn Thuật toán có thể được trainning từ nhiều nguồn dataset nâng cao độ chính xác có thể thấy tính tiện lợi của thuật toán Để thấy được sự vượt trội của thuật toán, nhóm tác giả Ivan William, De Rosal Ignatius Moses Setiadi , Eko Hari Rachmawanto đã so sánh đánh giá với các phương pháp khác
Trang 199
với đề tài “Face Recognition using FaceNet (Survey,Performance Test, and Comparison)”[8] để thấy tính vượt trội về độ chính xác so với phương pháp PCA,…
FaceNet cung cấp khả năng nhúng thống nhất cho các tác vụ nhận dạng, xác minh và phân cụm khuôn mặt Nó ánh xạ mỗi hình ảnh khuôn mặt vào một không gian euclide sao cho khoảng cách trong không gian đó tương ứng với khuôn mặt, tức là hình ảnh của một người sẽ được đặt gần hơn với tất cả các hình ảnh khác của người đó so với hình ảnh của bất kỳ người nào khác có trong tập dữ liệu
Đầu tiên ta sẽ tìm hiểu cách biểu diễn khuôn mặt khi xử lý Khi xử lý, khuôn mặt sẽ được biểu diễn dưới dạng vector để quá trình nhận dạng, so sánh toán học trở nên dễ dàng Nói đến việc nhận dạng, xác định khuôn mặt này là của ai, chúng
ta sẽ cần tính độ giống, khác nhau giữa các khuôn mặt chúng ta lấy được Và nói
về độ giống, khác nhau, để đơn giản, chúng ta sẽ quy về bài toán tính khoảng cách giữa các vector
Hình 1.7: FaceNet process
Trang 2010
Bài toán đặt ra là tìm cách chuyển từ khung hình khuôn mặt sang vector sao cho ảnh hai khuôn mặt gần nhau thì 2 vector tương ứng cũng phải có khoảng cách gần nhau Ảnh 2 khuôn mặt khác nhau thì 2 vector tương ứng cũng phải xa nhau hơn Như sơ đồ trên, mô hình sử dụng Triplet Loss
Triplet là bộ ba thông số ta bao gồm: 1 ảnh mặt của 1 người bất kỳ (query), 1 ảnh mặt khác của người đó (positive), 1 ảnh mặt của người khác (negative) Với việc huấn luyện mô hình như thế, chúng ta sẽ có thêm thông tin về mối quan hệ giữa các ảnh, điều này giúp mô hình chúng ta phù hợp hơn nhiều với bài toán
Hình 1.8: Triplet Loss
Để mô hình của chúng ta hiểu được khi huấn luyện để có thể giúp chúng ta tạo ra các vector như ý, cần sử dụng bộ ba thông số trở nên hiệu quả Và hàm loss của mô hình chúng ta sẽ có dạng như sau:
Với:
- f(p) là vector biểu diễn p
- D là khoảng cách giữa 2 vector
Chúng ta đang huấn luyện để cho hàm trên càng lớn càng tốt Điều này có nghĩa là mô hình chúng ta sẽ cố gắng học sao cho càng ngày, nó càng giảm khoảng cách giữa 2 vector f(pi) (Query Image) và f(pi+) (Positive Image), và tăng khoảng cách giữa Query Image và Negative Image Đây là điều chúng ta đang muốn mô hình học được
Trang 21Huấn luyện mô hình
Dataset huấn luyện bao gồm hai phần chính: Dataset cho quá trình pre-train trích chọn đặc trưng của hệ thống Ở đây sử dụng tập Labeled Face in Wild (LFW) Dataset này bao gồm hơn 13000 ảnh mặt người (được gán nhãn) thu thập trên mạng internet
Hình 1.9: Dataset LWF
Phần thứ hai là data trainning để nhận diện nhúng vào trong phần mềm hệ thống điểm danh Quá trình thu tập dữ liệu trainning nhận dạng được mô tả chi tiết như sau Xây dựng cơ sở dữ liệu ảnh 150 người thu thập từ nhiều nguồn dữ liệu khác nhau Ảnh của 50 người đầu tiên được lấy chủ yếu từ nguồn website http://cyberextruder.com chuyên phục vụ cho bài toán dò tìm khuôn mặt 50 ảnh người tiếp theo được lấy từ trang web https://susanqq.github.io/UTKFace/ với khuôn mặt trực diện rất thích hợp cho việc trainning, nhận dạng Cuối cùng là 50 ảnh của học sinh, sinh viên chụp từ điện thoại
Trang 2212
Hầu hết các khuôn mặt của tập mẫu dữ liệu xuất hiện trong ảnh là khuôn mặt trực diện với mặt phẳng ảnh và mỗi khuôn mặt đều đầy đủ thông tin đặc trưng Một số khuôn mặt quay với một góc không đáng kể
Kích thước chuẩn hoá của mỗi mẫu trong tập huấn luyện 30x30 (pixels) hoặc 32x32 (pixels) Tuỳ thuộc vào đặc trưng xử lý của mỗi thuật toán ta sử dụng một trong hai dạng kích thước ảnh chuẩn trên
Biểu diễn ảnh: Dữ liệu ảnh là cường độ sáng của điểm ảnh, tại vị trị X và Y, I(x,y) Để biểu diễn dữ liệu cho các thuật toán học nhận dạng, ta dùng hai cách tổ chức dữ liệu như sau:
Bước 1: Đọc từng dòng ảnh theo thứ tự từ trên xuống, mỗi dòng ảnh được bố trí
liên tục nhau trên một mảng số thực một chiều Như vậy từ ảnh có kích thước 30x30 (pixels) ta biểu diễn thành mảng vector một chiều trong máy tính X = (X1,X2,….,X900)
Bước 2: Đọc từng khối ảnh có kích thước 8x32 (pixel) theo thứ tự khối dưới
chồng lấp khối trên một nửa kích thước tính theo chiều cao, trên mỗi khối ảnh này ta lại tiếp tục tách ra mỗi khối con 8x8 liên tục nhau Từ khối 8x8 (pixels), ta
sẽ chọn ra 20 hệ số đặc trưng từ phép biến đổi trên miền tần số Mỗi khối ảnh 8x32 sẽ được lượng hoá thành mỗi vector một chiều Như vậy đối với ảnh mỗi khuôn mặt ta biểu biển trong máy tính thành một chuỗi các vector một chiều liên tiếp nhau
1.4 Thuật toán MTCNN
Mục đích: Phát hiện khuôn mặt và các điểm trên mặt như mắt, mũi,…Phát hiện khuôn mặt và căn chỉnh trong là một thách thức lớn do nhiều tư thế, ánh sáng khác nhau Với Deep Learning trên nền tảng MTCNN, chúng ta hoàn toàn
có thể nhận dạng, định vị chính xác khuôn mặt và các điểm trên khuôn mặt như mắt, mũi,…
Thuật toán tốc độ tính toán nhanh, hiệu quả do MTCNN đã được rất nhiều tác giả nghiên cứu và nâng cao độ chính xác Điển hình với công bố của mình, nhóm tác giả Rong Xie, Qingyu Zhang đã so sánh đánh giá phương pháp MTCNN với các phương pháp khác để thấy được sự ưu việt với công bố “A Method of Small Face Detection Based on CNN” [9]
Trang 2313
Hình 1.10: So sánh phương pháp MTCNN
Thuật toán MTCNN CNN sử dụng mạng hiệu chuẩn để hiệu chỉnh khuôn mặt sau khi phát hiện khuôn mặt Nó bao gồm nhiều mô hình với số lượng tính toán lớn, bỏ qua các liên kết nội tại giữa các nội giới hạn hồi quy của khuôn mặt và vị trí của khuôn mặt Thuật toán MTCNN là một thuật toán nhận diện khuôn mặt đa tác vụ, thực hiện nhận diện khuôn mặt và điểm đặc trưng khuôn mặt Qua phân tích so sánh của tác giả, ta có thể nhận ra tốc độ xử lý dữ liệu của thuật toán là khá cao, có thể đáp ứng yêu cầu hệ thống của mình Chúng ta có thể biểu diễn nguyên lý hoạt động MTCNN như hình dưới [9]:
Hình 1.11: Nguyên lý hoạt động MTCNN [9]
MTCNN hoạt động theo 3 bước và mỗi bước có một mạng Neural riêng biệt gồm: P-Net, R-Net, O-Net Tại mỗi bước sẽ thực hiện quá trình xử lý riêng với kết quả là có thể phát hiện khuôn mặt trong ảnh đầu vào nhanh và chính xác Với mỗi bức ảnh đầu vào, nó sẽ tạo ra nhiều bản sao của hình ảnh đó với các kích thước khác nhau.Sau đây chúng ta sẽ lần lượt đi sâu và phân tích cấu tạo, nguyên
lý hoạt động của từng mạng xử lý, từ đó có cái nhìn tổng quan nhất về thuật toán MTCNN
Trang 2414
Hình 1.12: Quá trình xử lý mạng P-Net
Bước 1: Xử lý P-Net, thuật toán sử dụng một kernel 12x12 quét toàn bộ ảnh
để thu được các cửa sổ chứa khuôn mặt và các vectơ hồi quy trong các cửa sổ đó Tiếp theo, các cửa sổ chứa khuôn mặt được hiệu chuẩn dựa trên các vector hồi quy Cuối cùng, những cửa sổ xếp chồng nhau tại một vùng được hợp nhất thành một cửa sổ (NMS) Sau khi qua tầng P-Net, ta sẽ thu được các cửa sổ có thể chứa khuôn mặt
Hình 1.13: Ví dụ xử lý mạng P-Net
Bước 2: Quá trình xử lý R-Net Tất cả các cửa sổ chứa khuôn mặt từ tầng
P-Net sẽ được sàng lọc bằng cách đưa vào một CNN R-P-Net để tiếp tục loại bỏ một
số lượng lớn các cửa sổ không chứa khuôn mặt Sau đó thực hiện hiệu chuẩn với vector hồi quy và thực hiện hợp nhất các cửa sổ xếp chồng nhau tại một vùng
Hình 1.14: Quá trình xử lý mạng R-Net
Trang 2515
Dưới đây là quá trình xử lý của mạng R-Net Từ ảnh sau quá trình xử lý P-Net, quá trình lọc được xử lý và đưa ra ảnh sau xử lý đã loại bỏ được đáng kể vùng không chứa khuôn mặt
Hình 1.15: Ví dụ xử lý mạng R-Net
Bước 3: Quá trình xử lý O-Net Tầng này tương tự như tầng R-Net, nó sử
dụng CNN chi tiết nhất - Mạng đầu ra (O-Net) để lọc kết quả một lần nữa và đánh dấu vị trí năm điểm chính trên khuôn mặt Những cửa sổ chứa khuôn mặt sau khi đi qua tầng 3 là khuôn mặt được phát hiện
Trang 2616
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP PHÂN TÍCH XỬ
LÝ BÀI TOÁN
Chương 2 Bao gồm các nội dung sau:
- Tổng quan bài toán quản lý mật độ đối tượng, chọn mô hình cụ thể để thử nghiệm và đánh giá thuật toán
- Xây dựng bộ cơ sở dữ liệu trainning
- Quá trình xử lý nhận diện khuôn mặt sử dụng deep learning
- Cải tiến nâng cao độ chính xác
2.1 Tổng quan bài toán xác định mật độ đối tượng
Với cuộc cách mạng công nghiệp 4.0 cùng với sự phát triển mạnh mẽ về khoa học và công nghệ của các quốc gia trên thế giới, các ứng dụng khoa học kỹ thuật ứng dụng vào cuộc sống ngày càng nhiều và hiệu quả Trong tất cả các lĩnh vực
về đời sống xã hội, không thể không kể đến yêu cầu cần thiết tìm kiếm một phương pháp hiệu quả giải quyết bài toán xác định và quản lý mật độ đố tượng Tại sao bài toán quản lý mật độ đối tượng lại vô cùng quan trọng? Bởi vì đây là một bài toán lớn và khó mang tính ứng dụng thực tiễn rất cao, có thể kể đến một
số lĩnh vực cụ thể như sau:
- Bài toán an ninh, an toàn: Từ xưa đến nay, lĩnh vực an ninh an toàn trong tòa nhà, khu vực quan trọng, cơ quan, xí nghiệp đã và đang là một vấn đề đáng nghiên cứu Để tăng cường giám sát an ninh và giảm công việc cũng như nhân công, việc áp dụng công nghệ vào quản lý là công việc hết sức cần thiết và cần triển khai sớm
- Bài toán chấm công nhân viên, điểm danh: Trong bối cảnh cần giải pháp để nâng cao tốc độ cũng như độ chính xác trong quản lý một số lượng lớn nhân công, sinh viên đồi hỏi việc áp dụng công nghệ là điều không thể tránh khỏi Nếu trước kia, chúng ta tốn rất nhiều công sức để chấm công, điểm danh thì nay, nếu áp dụng công nghệ, số lượng công việc sẽ giảm đi đáng kể
- Bài toán quản lý giao thông, đô thị thông minh: Hầu hết với các phương pháp truyền thống để quản lý phương tiện, con người tham gia
Trang 2717
giao thông, hầu như cơ quan chức năng rất khó xử phạt, đảm bảo an toàn giao thông Tuy nhiên khi áp dụng công nghệ, việc đó lại trở nên
vô cùng dễ dàng
Bài toán an ninh an toàn: Trước kia, đối với khu tập thể hoặc tòa nhà,
doanh nghiệp, vấn đề an ninh an toàn là một vấn đề hết sức nhức nhối và khó khăn trong việc quản lý vẫn còn rất nhiều, có thể kể đến như quản lý ra vào tòa nhà, nhân viên bảo vệ không đầy đủ,… Tuy nhiên, gần đây, các hệ thống giám sát an ninh, an toàn tòa nhà, doanh nghiệp được đầu tư công sức về công nghệ, tính năng đã phát triển hết sức mạnh mẽ
Một công bố gần đây về áp dụng trí tuệ nhân tạo để nâng cao chất lượng hệ thống an ninh được nhóm tác giả Fahim Faisal Syed và Akhter Hossain của đại học Daffodil International đưa ra với tiêu đề “Smart Security System Using Face Recognition on Raspberry Pi” [10], đăng trên IEEE papers Tác giả đã sử dụng phương pháp Viola-Jones để phát hiện khuôn mặt để nhận diện người Bộ kit Raspberry được sử dụng làm bộ vi xử lý để đảm bảo chi phí thấp và giảm kích thước của hệ thống Cửa sẽ tự động mở cho người biết khi nhận lệnh từ bộ xử lý Mặt khác, truy cập bất hợp pháp sẽ được tải lên máy chủ web trong khi một email được gửi đến chủ sở hữu địa chỉ chứa một liên kết đến với hình ảnh Từ trang web của hệ thống, chủ sở hữu sau đó có thể cho phép, chặn mục nhập và cũng kích hoạt báo động từ bất cứ nơi nào trên thế giới Tuy nhiên với phân tích của tác giả Monali Chaudhari, Shanta sondur, Gauresh Vanjare trong bài báo giới thiệu tổng quát về phương pháp Viola-Jones “A review on Face Detection and study of Viola Jones method ” [11] có chỉ ra thuật toán xác định khuôn mặt khá nhanh tuy nhiên độ chính xác phụ thuộc quá nhiều vào ánh sáng và ngưỡng Chính vì vậy có rất nhiều công bố khác nâng cao độ chính xác của thuật toán này như “Accuracy Enhancement of the Viola-JonesAlgorithm for Thermal Face Detection” [12] của tác giả Arwa M Basbrain Một phương pháp đã được tạo ra
từ ba tính năng khác nhau, HOG, LBP và Haar, giống như một tính năng phù hợp nhất để phát hiện khuôn mặt từ hình ảnh Ngoài ra, để tăng tốc độ phát hiện, giai đoạn tiền xử lý được thêm vào trong cả hai giai đoạn phát hiện và nhận dạng Hai phương pháp tiền xử lý đã được thử nghiệm và tính toán, cùng với ba tính năng Người ta thấy rằng việc cải tiến hiệu suất được đề xuất cho độ chính xác phát
Trang 2818
hiện cao hơn so với phương phápViola-Jones và cũng tăng gấp đôi tốc độ phát hiện
Một công bố khác của nhóm tác giả Ratnawati Ibrahim, Zalhan Mohd Zin với
đề tài “Study of Automated Face Recognition System for Office Door Access Control Application” [13] nghiên cứu về lĩnh vực an ninh, an toàn tòa nhà, văn phòng Nghiên cứu bao gồm phân tích ảnh hưởng của ba yếu tố chính của nhận dạng khuôn mặt cụ thể là chiếu sáng, khoảng cách và định hướng khuôn mặt của thuật toán nhận diện khuôn mặt được phát triển để xây dựng hệ thống kiểm soát truy cập cửa văn phòng Các kết quả thử nghiệm đã chỉ ra rằng hệ thống phát triển có đạt được hiệu suất tốt với tỷ lệ nhận diện khuôn mặt là 78% tại khoảng cách của máy ảnh và đối tượng trong khoảng từ 40 cm đến 60 cm và góc định hướng của chủ thể phải nằm trong phạm vi từ -20 đến +20 độ Như kết quả có chỉ
ra, độ chính xác là vấn đề đầu tiên cần quan tâm đối với hệ thống an ninh; yếu tố quan tâm thứ hai chính là phương pháp quản lý dữ liệu thu thập và xử lý Qua một số bài báo đã công bố chúng ta thấy lĩnh vực an ninh đang được quan tâm rất nhiều, độ chính xác cũng đang được nâng cấp dần
Bài toán chấm công nhân viên, điểm danh học sinh: Hiện nay, một lĩnh
vực cũng được nghiên cứu sâu rộng để cải thiện công sức bỏ ra đó là hệ thống chấm công nhân viên trong các hệ thống công ty, xí nghiệp Bài toán có độ khó nhất định với lượng dữ liệu đầu vào thường là rất lớn, làm sao để quản lý lượng
dữ liệu đó một cách chính xác tuyệt đối và sai số là ít nhất Phương pháp thủ công được sử dụng thường là dùng thẻ RFID hoặc chấm công vân tay Với độ chính xác khá cao tuy nhiên các phương pháp trên còn nhiều hạn chế Gần đây với công nghệ phát triển đặc biệt trong lĩnh vực trí tuệ nhân tạo, phương pháp chấm công dần được thay thế hoặc được sử dụng kết hợp để tăng độ chính xác cho hệ thống
Trên thế giới đã có rất nhiều đề tài đã được nghiên cứu và công bố trên các trang thông tin uy tín Có thể kể đến đề tài “Automated Attendance Marking and Management System by Facial Recognition Using Histogram” [14] được đăng tải trên IEEE papers của nhóm tác giả Jenif D Souza W S, Jothi S, Chandrasekar A Bài báo đề xuất phương pháp điểm danh học sinh sử dụng công nghệ nhận diện khuôn mặt Điểm danh hoàn toàn tự động thay thế phương pháp thủ công, đã tốn
Trang 2919
rất nhiều thời gian và khó bảo trì Trong bài báo, tác giả thiết kế hệ thống với camera được cố định trong phòng và sẽ chụp ảnh thu thập dữ liệu, các khuôn mặt được phát hiện và sau đó nó được so sánh với cơ sở dữ liệu và cuối cùng là đánh dấu sự có mặt Nếu được đánh dấu là vắng mặt, thông báo về học sinh vắng mặt được gửi cho cha mẹ của họ Phương pháp điểm danh khuôn mặt được sử dụng là thuật toán Histogram Tuy nhiên một cái nhìn tổng quát về phương pháp histogram của nhóm tác giả Priyanka Garg , Trisha Jain với phân tích “A Comparative Study on Histogram Equalization and Cumulative Histogram Equalization” [15] đã chỉ ra một số nhược điểm của phương pháp histogram như sau:
- Phù hợp hơn với những ứng dụng thực hiện trên phần cứng
- Cần xử lý, hoạt động nhiều hơn vì nó là cần thiết để tạo cơ sở tích lũy
dữ liệu
- Tính toán rất chậm, đòi hỏi một số lượng lớn thông số trên mỗi pixel
→ Chính vì vậy cần tìm ra một phương pháp khác để giải quyết vấn đề này
Để giải quyết vấn đề trên, với đề tài “Real-Time Smart Attendance System using Face Recognition Techniques” [16] được công bố trên IEEE papers, nhóm tác giả Shreyak Sawhney, Karan Kacke, Samyak Jain đã đề xuất phương pháp tống thể để quản lý nhóm đối tượng một cách hiệu quả Bài viết này đề xuất một
mô hình để thực hiện tự động hệ thống quản lý nhân viên của một văn phòng sử dụng kỹ thuật nhận dạng khuôn mặt, bằng cách sử dụng phân tích thành phần nguyên tắc (PCA) và Mạng trí tuệ nhân tạo CNN Sau đó, danh tính, ID các khuôn mặt được xác định bằng cách so sánh với cơ sở dữ liệu chứa khuôn mặt của nhân viên Đề tài đã rất thành công khi đã sử dụng mạng Neural để đánh giá, phân tích nhắm nâng cao độ chính xác nhận dạng cho hệ thống Tuy nhiên một khuyết điểm có thể dễ dàng nhận ra đó là nhận dạng giải mạo bằng khuôn mặt của một người có trong ảnh hoặc video mà không có họ ở đó thực tế Vấn đề mấu chốt là làm sao để giải quyết vấn đề giả mạo trong nhận dạng?
Bài toán đô thị thông minh: Ngày nay, chính phủ của các quốc gia khác
nhau xem xét triển khai thành phố thông minh trong các thành phố lớn thúc đẩy tăng trưởng xã hội, kỹ thuật, kinh tế và chính trị bằng cách thực hiện các ứng dụng dữ liệu lớn, trí tuệ nhân tạo Thành phố thông minh sử dụng nhiều công
Trang 3020
nghệ để cải thiện hiệu suất của sức khỏe, giao thông, năng lượng, giáo dục, dịch
vụ nước và hệ thống quản lý chất thải để cải thiện mức sống của công dân của
họ Trong hệ thống giao thông, chính quyền thành phố cần tốt hơn cách để giám sát và quản lý lưu lượng truy cập địa phương để cung cấp tốt hơn dịch vụ vận chuyển đến công cộng Các thiết bị được cài đặt trong thành phố, tại điểm kiểm tra chính của thành phố, camera chụp ảnh và dữ liệu video liên tục Số lượng ngày càng tăng dữ liệu giao thông hiện đặt ra thách thức trong khả năng thành phố quản lý giao thông hiệu quả Một trong những công nghệ gần đây có tiềm năng lớn để giải quyết thách thức là big data Phân tích và sử dụng hiệu quả dữ liệu lớn là một yếu tố chính để thành công trong nhiều lĩnh vực kinh doanh và dịch vụ Có rất nhiều công bố nghiên cứu lĩnh vực đô thị thông minh, có thể kể đến đề tài “Study and Analysis of Smart Applications in Smart City Context” [17] của nhóm tác giả Jally Sahoo, Mamata Rath đã nghiên cứu phân tích thuật toán deep learning và big data để nâng cao hiệu suất quản lý Bài báo phân tích chi tiết cái nhìn về thành phố thông minh ứng dụng nhiều công nghệ khác để kết nối, phân tích dữ liệu như điện toán đám mây, hệ thống wireless, deep learning, big data tạo nên mạng lưới ứng dụng hiệu quả Một nghiên cứu khác của nhóm tác giả Vishal Dattana, Kishu Gupta với đề tài "A Probability based Model for Big Data Security in Smart City" [18] đã công bố cách quản lý rất hiệu quả Bài báo giới thiệu một cách tiếp cận để phát hiện rò rỉ dữ liệu gây ra bởi sự cố ý hoặc
vô ý Được sử dụng thuật toán Bigraph với mục tiêu là bảo vệ dữ liệu quan trọng
an toàn bằng cách tìm hiểu các tác nhân có tội gây ra dữ liệu rò rỉ
Hình 2.1: Kiến trúc quản lý đô thị công bố bởi [18]
Trang 3121
Nhận thấy bài toán xác định và quản lý mật độ đối tượng có tính thiết yếu đối với cuộc sống, cần được giải quyết triệt để nâng cao độ chính xác, tác giả sẽ đi sâu vào phân tích, giải quyết vấn đề còn tồn đọng, nâng cao chất lượng xử lý Để kiểm nghiệm giải thuật và phân tích kết quả, tác giả sẽ đi vào phân tích thông qua
hệ thống cụ thể đó là điểm danh cho học sinh, sinh viên
2.2 Tổng quan hệ thống điểm danh sinh viên
Với hệ thống điểm danh, quản lý học sinh sinh viên đã có nhiều công bố đưa
ra với mục đích giảm tải khối lượng xử lý cho giảng viên bằng cách áp dụng các công nghệ hiện đại vào bài toán Có thể kể đến đề tài “Fingerprint-Based Attendance Management System” [19] của nhóm tác giả Akinduyite C.O, Adetunmbi A.O, Olabode O.O, Ibidunmoye E.O đã ứng dụng công nghệ vân tay vào quản lý Bài viết này trình bày hệ thống quản lý sử dụng công nghệ vân tay trong môi trường đại học Quá trình xử lý bao gồm hai quá trình cụ thể là lấy vân tay và xác thực Trong quá trình đăng ký, dấu vân tay của người dùng được ghi lại và các đặc điểm của nó được trích xuất và lưu trữ trong cơ sở dữ liệu cùng với danh tính người dùng làm mẫu cho hệ thống Tuy nhiên việc không truy xuất được vân tay do xước, môi trường ẩm ướt cũng được tác giả nêu lên như là một khó khăn Mặt khác với số lượng lớn dữ liệu sinh viên, cần có một phương pháp quản lý hiệu quả hơn Xuất phát từ yêu cầu xử lý một số lượng dữ liệu lớn một cách hiệu quả và nâng cao độ chính xác, tác giả kết hợp hai phương pháp điểm danh vân tay và công nghệ xử lý hình ảnh, nhận diện khuôn mặt để giảm thiểu khối lượng công việc và nâng cao độ chính xác cho hệ thống
Hệ thống điểm danh tự động được thiết kế thành một khối thống nhất với chức năng lấy dữ liệu điểm danh, so sánh và đánh giá kết quả chuyên cần hoàn toàn tự động Để đa dạng về nhu cầu sử dụng, kinh phí thì hệ thống sẽ được phân chia ra các phương thức thực hiện: Điểm danh bằng phương pháp nhận diện khuôn mặt, sử dụng phương pháp điểm danh vân tay hoặc kết hợp cả hai phương pháp để tăng độ chính xác cho hệ thống
- Điểm danh sử dụng phương pháp nhận diện khuôn mặt: Sử dụng Camera gắn trước cửa phát hiện khuôn mặt, trích xuất danh tính Ưu điểm chính xác, thời gian lấy mẫu nhanh và phát hiện không cần tiếp xúc như vân tay
Trang 3222
- Điểm danh phương pháp vân tay: Đã được sử dụng nhiều hiện nay, sinh viên sẽ chấm vân tay, dữ liệu sẽ được so sánh với vân tay đã lấy trước
đó Ưu điểm là nhanh gọn, khá chính xác tuy nhiên vân tay biến dạng
do nước hoặc xước sẽ khiến việc lấy vân tay khó khăn
Hình 2.2: Tổng quan hệ thống điểm danh
Tùy thuộc vào mục đích sử dụng mà ta sẽ sử dụng riêng rẽ hoặc kết hợp hai phương pháp điểm danh này Điểm nổi bật của hệ thống chính là khả năng kết nối, truyền nhận dữ liệu khá lớn Cụ thể trong nhiều lớp học, dữ liệu được lấy bằng vân tay tại lớp A và dữ liệu lấy bằng nhận diện khuôn mặt tại lớp B đều được hệ thống đưa lên database tổng để xử lý Do đó có thể sử dụng linh hoạt phương pháp, thiết bị nhưng dữ liệu hoàn toàn được tập trung lại dễ dàng quản
lý, điều hành
2.3 Phân tích, cải tiến bài toán xác định mật độ đối tượng
Trên cơ sở phân tích của các bài báo đã công bố nêu trên, một hệ thống an ninh an toàn hay một hệ thống quản lý nhân sự ứng dụng công nghệ nhận diện khuôn mặt, thuật toán nhận diện khuôn mặt là rất quan trọng để đạt được độ chính xác theo yêu cầu Với mục đích chọn được phương pháp đúng ứng dụng
Trang 33- Thuật toán nhận diện khuôn mặt truyền thống: Có thể được chia thành
các phương pháp tuyến tính và phi tuyến Nhiều phân tích đã cho thấy kết quả xử lý khá tốt dựa trên phương pháp tuyến tính như phân tích thành phần chính (PCA) [20], phân tích thành phần độc lập (ICA) [21], phân tích phân biệt tuyến tính (LDA) [22].Tuy nhiên, do sự thay đổi lớn trong điều kiện chiếu sáng, biểu hiện khuôn mặt và các yếu tố khác, các phương pháp này có thể không thể hiện đầy đủ đặc trưng khuôn mặt Để giải quyết các trường hợp như vậy, các phần mở rộng phi tuyến đã được đề xuất như kernel LDA (KLDA) [23] hoặc nhúng tuyến tính cục bộ (LLE) [24] Các phương pháp phi tuyến này sử dụng các kỹ thuật kernel, trong đó ý tưởng chung bao gồm ánh xạ các hình ảnh khuôn mặt đầu vào vào một không gian có chiều cao hơn Vì vậy, các phương pháp tuyến tính truyền thống có thể được áp dụng
- Thuật toán Artificial Neural Networks-Mạng Neural: Để nhận diện
khuôn mặt người, mạng Neural tích hợp với hệ số ma trận không âm được trình bày trong [25] Tác giả sử dụng mạng Neural phản hồi, học các đặc điểm khuôn mặt bằng các số liệu khoảng cách khác nhau và tương quan chuẩn hóa để nhận dạng khuôn mặt được áp dụng Một cách tiếp cận mạng Neural nhân tạo dựa trên cây quyết định được đề xuất trong [26] Nó có các yếu tố của cả mạng Neural và phương pháp thống kê và bổ sung các phương pháp để nhận dạng hình ảnh khuôn mặt không trực diện
- Phương pháp Gabor wavelet‐based: Phương pháp Gabor được áp dụng
tại các vị trí cố định, tương ứng với các nút của lưới ô vuông được đặt
Trang 3424
chồng lên hình ảnh khuôn mặt Mỗi mô hình con của hình ảnh khuôn mặt phân chia được định nghĩa là các đặc điểm Gabor và trích xuất thuộc về cùng một hàng của lưới ô vuông, chiếu vào không gian kích thước thấp hơn bằng phép biến đổi Karhunen-Loeve Các tính năng thu được của mỗi mô hình con sử dụng thuật toán di truyền (GA) để huấn luyện Parzen Window Classifier Quá trình khớp được thực hiện trên cách kết hợp bằng tổng hợp các phân loại Trong phương pháp này, biểu đồ Histogram được đề xuất Biểu đồ tổng hợp các mẫu cục bộ được nối với nhau để tạo thành biểu diễn của hình ảnh khuôn mặt thông qua mẫu Gabor cục bộ đã học Biểu diễn tính năng thực hiện bằng cách cung cấp phương pháp học thay vì tính năng ghép biểu đồ hoặc biểu đồ đơn giản
- Phương pháp nhận diện dựa trên mô tả khuôn mặt: Các mẫu trong
hướng tiếp cận này được học từ các ảnh mẫu Một các tổng quát, các phương pháp theo hướng tiếp cận này áp dụng các kỹ thuật theo hướng ứng dụng xác suất thống kê và máy học để tìm những đặc tính liên quan của khuôn mặt và không phải là khuôn mặt Các đặc tính đã được học ở trong hình thái các mô hình phân bố hay các hàm biệt số nên dùng có thể dùng các đặc tính này để xác định khuôn mặt người Đồng thời, bài toán giảm số chiều thường được quan tâm để tăng hiệu quả tính toán cũng như hiệu quả xác định Các tiếp cận khác trong hướng tiếp cận dựa trên diện mạo là tìm một hàm biệt số để phân biệt hai lớp
dữ liệu: khuôn mặt và không phải khuôn mặt Bình thường, các mẫu ảnh được chiếu vào không gian có số chiều thấp hơn, rồi sau đó dùng một hàm biệt số (dựa trên các độ đo khoảng cách) để phân loại, hoặc xây dựng mặt quyết định phi tuyến bằng mạng Neural đa tầng Hoặc dùng SVM (Support Vector Machine) và các phương thức kernel, chiếu hoàn toàn các mẫu vào không gian có số chiều cao hơn để dữ liệu bị rời rạc hoàn toàn và ta có thể dùng một mặt phẳng quyết định phân loại các mẫu khuôn mặt và không phải khuôn mặt
Trang 3525
Bảng 2.1: So sánh các phương pháp nhận diện khuôn mặt
Khoảng cách từ không gian mặt là trực giao với mặt phẳng của hình ảnh, vì vậy có thể
dễ dàng chuyển sang khoảng cách Mahalanobis với giải thích xác suất
Phương pháp này có thể không nhận diện được khuôn mặt khi sự thay đổi lớn trong chiếu sáng
2 Mạng Neural
Tích hợp hệ số mạng Neural, có thể update để đạt
độ chính xác cao
Phương pháp tiếp cận đơn giản hóa, tốc độ tính toán nhanh và đặc biệt
có hiệu quả khi nhận diện một phần hoặc toàn bộ khuôn mặt
Nhược điểm chính của phương pháp này là yêu cầu số lượng lớn của mẫu trainning
3 Gabor
wavelet‐based
Thể hiện được các đặc trưng mong muốn của các thuộc tính trực
Cách tiếp cận là tính toán chuyên sâu, không thực
tế cho các ứng dụng thời gian thực Ngoài ra, tính
Trang 3626
quan như định hướng không gian
vị trí, tính chọn lọc,…
năng Gabor rất nhạy cảm biến sáng
Cách tiếp cận được tính toán chuyên sâu trong giai đoạn trích xuất mô tả, nhưng nên tính đơn giản
và hiệu suất liên quan đến các ứng dụng thời gian thực không cao
Yêu cầu bài toán áp dụng vào hệ thống:
- Xử lý real-time với tốc độ tương đối ổn định
- Nhận diện không chỉ hướng trực diện
- Độ chính xác tương đối cao
- Ánh sáng ảnh hưởng không nhiều
→ Chọn phương pháp nhận dạng sử dụng mạng Neural
2.3.1 Thuật toán nhận dạng khuôn mặt sử dụng mạng Neural
Để giải quyết bài toán liên quan deep learning nói chung và nhận diện khuôn mặt sử dụng mạng Neural nói riêng, khâu chuẩn bị dữ liệu trainning là hết sức quan trọng Như đã phân tích ở trên, phương pháp này cần một lượng data khá lớn để hệ thống có thể học được Sau khi đã học xong, quá trình nhận diện sẽ có thể tiến hành, độ chính xác của hệ thống càng cao khi lượng dữ liệu trainning càng lớn tuy nhiên thời gian trainning cũng lâu hơn Quá trình trainning dữ liệu, nhận diện được tóm tắt ngắn gọn như dưới đây: