CHƯƠNG 1. GIỚI THIỆU Nhân loại đang bước vào cuộc cách mạng công nghiệp lần thứ tư, ngày càng nhiều công nghệ kỹ thuật số được ứng dụng vào khắp các lĩnh vực của đời sống xã hội. Tiêu biểu nhất phải kể đến công nghệ nhận diện khuôn mặt bằng trí tuệ nhân tạo. Công nghệ này có khả năng nhận diện một người mà được định danh từ trước thông qua hình ảnh kỹ thuật số hoặc khung hình trong video.
Công nghệ nhân diện khuôn mặt là công nghệ nhận diện đối tượng dựa trên sinh trắc học mà ít tác động đến người dùng nhất và là công nghệ sinh trắc học hiệu quả nhất. Công nghệ này có thể ứng dụng vào rất nhiều hệ thống để giải quyết các vấn đề khác nhau như mở khoá điện thoại di động thông minh; hệ thống điểm danh, chấm công bằng khuôn mặt; xác thực cổng cửa (access control) bằng khuôn mặt; giám sát an ninh, phát hiện đối tượng trong danh sách đen bằng khuôn mặt; nhận diện khách hàng trong hệ thống loyalty bằng khuôn mặt hay phân tích khách hàng bằng khuôn mặt, v. Bài toán nhận diện khuôn mặt là bài toán kinh điển trong lĩnh vực xử lý ảnh và được nghiên cứu từ rất lâu. Đến những năm đầu thập niên 90 của thế kỉ trước, những nghiên cứu về nhận diện khuôn mặt đã dần trở nên phổ biến hơn và là thách thức lớn đối với các nhà khoa học [1].
Mãi sau này, với sự ra đời của mạng nơ-ron nhân tạo, mô hình học sâu và sự phát triển của phần cứng với khả năng xử lý mạnh mẽ, rất phù hợp và tăng hiệu năng của mô hình học sâu như GPU, bài toán nhận diện khuôn mặt đã đạt được độ chính xác trên 99% ở các tập dữ liệu thử nghiệm. Nghiên cứu [2] đã chỉ ra nhiều ứng dụng của học sâu trong các bài toán cụ thể của thành phố thông minh như phát hiện đối tượng, truy vết đối tượng, phân loại ảnh, nhận diện khuôn mặt. Ngày nay, việc nghiên cứu và ứng dụng công nghệ nhận diện khuôn mặt đang trở thành xu thế và rất phổ biến ở các công ty, tập đoàn lớn tại các nước trên thế giới, tiêu biểu như: 1 • Năm 2017, Baidu – công ty cung cấp dịch vụ tìm kiếm dữ liệu trên Internet lớn nhất Trung Quốc, đã thử nghiệm thành công hệ thống nhận diện khuôn mặt của họ tại sân bay Bắc Kinh. Nghiên cứu “Targeting ultimate accuracy: Face recognition via deep embedding” về nhận diện khuôn mặt của họ được đánh giá rất cao, có khả năng nhận diện tốt hơn cả người thực trong một số trường hợp với độ chính xác lên đến 99.
• Alipay – một ví điện tử tại Trung Quốc do tập đoàn Alibaba Group sở hữu và phát triển đã cung cấp thiết bị xác thực khi thanh toán mang tên Dragonfly dùng để thay thế những máy POS truyền thống. Thiết bị này kết hợp sử dụng camera 3D và giải thuật học sâu để nâng cao độ chính xác khi nhận diện khuôn mặt và tiến hành xác thực với hệ thống. Nhờ công nghệ này, nhiều cửa hàng đã tiết kiệm được thời gian để xử lí đơn hàng cho khách bằng việc thực hiện quá trình thanh toán với tốc độ nhanh hơn1. • Gần đây, vào đầu năm 2018, Nvidia công bố chương trình hợp tác cùng với AnyVision để phát triển công nghệ nhận diện khuôn mặt cho các dự án thành phố thông minh trên thế giới2.
Dự án hợp tác nhằm mục tiêu tích hợp công cụ nhận diện khuôn mặt vào các hệ thống CCTV dùng để theo dõi tội phạm. Với công nghệ này, AnyVision nhận định rằng nó giúp cho các camera có thể quét khuôn mặt liên tục 24/7, tự động xác định và theo dấu đối tượng trong đám đông với độ chính xác đạt đến 99%. Nó còn hỗ trợ để người giám sát có thể so sánh những khuôn mặt được quét với hình ảnh những tên tội phạm, khủng bố có trong cơ sở dữ liệu. • FacePRO là hệ thống nhận diện khuôn mặt sử dụng kỹ thuật học sâu của Panasonic và được phát triển bởi Đại học quốc gia Singapore (NUS)3.
Hệ thống có thể hoạt động tốt với những trường hợp mặt khuôn mặt bị nghiên 1 http://www.cn/a/201812/14/WS5c12f272a310eff303290f11.html 2 https://mashable.com/2018/02/15/nvidia-developing-facial-recognition-cameras/ 3 https://www.com/technologies/facepro 2 sang trái hoặc phải đến 45 độ, bị che bởi mắt kính, hoặc khuôn mặt bị thay đổi bởi độ tuổi. Hệ thống có khả năng xử lý rất ấn tượng với tối đa 30000 khuôn mặt trong thời gian 1 giây. Tại Việt Nam, nhu cầu ứng dụng công nghệ nhận diện khuôn mặt vào các vấn đề khác nhau đang tăng nhanh, đặc biệt là vấn đế giám sát an ninh. Rất nhiều công ty, cơ quan, tổ chức muốn trang bị hệ thống tích hợp công nghệ nhận diện khuôn mặt vì những ưu điểm của nó.
Cũng xuất phát từ nhu cầu thực tiễn, năm 2019, đề tài cấp Sở KH&CN Tp. Hồ Chí Minh về “Ứng dụng công nghệ trí tuệ nhân tạo trong bài toán giám sát an ninh tại Trung tâm dịch vụ Ký túc xá Bách Khoa – Trường Đại học Bách Khoa, ĐHQG TP. Hồ Chí Minh” do TS. Dương Ngọc Hiếu đã được tiến hành nghiên cứu và triển khai.
Luận văn này căn cứ từ một vấn đề thực tiễn phát sinh trong quá trình triển khai đề tài.1 Các tác vụ xử lý ảnh khuôn mặt Face detection (tạm dịch: Phát hiện khuôn mặt) là tác vụ phát hiện khuôn mặt người trong hình ảnh hoặc video và phân biệt được hình ảnh các khuôn mặt này với hình ảnh của các đối tượng khác trong ảnh. Tác vụ này thường được sử dụng để xác định chính xác vị trí hình ảnh khuôn mặt người trong ảnh có kích thước to hơn hoặc video, sau đó ảnh khuôn mặt sẽ được cắt (crop) và sử dụng cho các tác vụ xử lý ảnh khuôn mặt khác.1 thể hiện tác vụ face detection bằng mô hình học sâu RetinaFace [4]. Mỗi khuôn mặt trong ảnh được xác định bằng hình chữ nhật màu vàng bao quanh khuôn mặt. Hình chữ nhật này thường được gọi là bounding box.
Ngoài ra trên mỗi khuôn mặt còn năm điểm màu xanh lá đánh dấu năm vị trí trên khuôn mặt gồm hai mắt, mũi và mép trái, mép phải của miệng. Năm điểm này thường được gọi là facial lankmark.1: Face detection bằng mô hình học sâu RetinaFace [4] 4 Face verification (tạm dịch: Xác nhận khuôn mặt) là tác vụ so sánh ảnh khuôn mặt xem hình ảnh khuôn mặt này có phù hợp với ảnh khuôn mặt khác không hay nói cách khác là kiểm tra các ảnh khuôn mặt này và ảnh khuôn mặt kia có phải của cùng một người hay không. Đây là một ánh xạ một một, xác định hình ảnh khuôn mặt của một người cần kiểm tra xem có thật sự là họ không. Face identification (tạm dịch: Xác định khuôn mặt) là tác vụ xác định ảnh khuôn mặt xem có phải của cùng một người với ảnh khuôn mặt có trong cơ sở dữ liệu không.
Đây là ánh xạ một nhiều, tìm kiếm ảnh khuôn mặt của một người để biết họ là ai trong cơ sở dữ liệu khuôn mặt.2: Minh hoạ tác vụ face recognition1 Face recognition (Nhận diện khuôn mặt) là tác vụ xác định người mà có ảnh khuôn mặt xuất hiện trong hình ảnh hoặc video là ai bằng cách tìm kiếm trong cơ sở dữ liệu khuôn mặt. Tác vụ này khởi đầu với tác vụ face detection để xác định chính xác ảnh khuôn mặt người trong frame ảnh. Sau đó hình ảnh khuôn mặt người được xác định là của ai bằng cách thực hiện tác vụ face identification để tìm kiếm trong cơ sở dữ liệu khuôn mặt.2 minh hoạ tác vụ face recognition.com/deepinsight/insightface 5 2.2 Giới thiệu về học sâu Máy học – Machine learning là một nhánh trong lĩnh vực Trí tuệ nhân tạo – Artificial intelligence (AI) mà tập trung vào xây dựng các mô hình có khả năng học quy luật phân bố dữ liệu được cung cấp để giải quyết những bài toán cụ thể. Ngày nay, ứng dụng của Máy học vào các lĩnh vực nghiên cứu, đời sống, xã hội ngày càng đa dạng, phổ biến bao gồm phiên dịch tự động, nhận dạng tiếng nói, nhận dạng chữ viết, biển số xe, khuôn mặt, v.
Học sâu – Deep learning là một nhánh của Máy học, tập trung giải quyết vấn đề bằng phương pháp huấn luyện mạng nơ-ron nhân tạo – Artificial neural network (ANN) gồm rất nhiều lớp, có thể đến hàng chục, hàng trăm triệu tham số. Mạng neural học sâu đã được đề xuất từ những thập niên 90 của thế kỉ trước bởi nhà khoa học máy tính Yann LeCun [5]. Tuy nhiên, vì sự hạn chế của công nghệ thời điểm đó, kỹ thuật này vẫn chưa thể phát huy được sức mạnh cũng như chứng minh tiềm năng của nó. Mãi đến những năm 2010-2012, nhờ tận dụng khả năng tính toán song song cực kì hiệu quả của bộ xử lý hình ảnh – Graphics processing unit (GPU), nhiều nhà nghiên cứu mới thật sự chứng minh được sức mạnh của học sâu nhờ xây dựng các mô hình Convolutional neural network (CNN) lớn mà nổi bật nhất là kiến trúc AlexNet [6] với hơn 60 triệu tham số.
Hiện nay, nhờ sự tiến bộ của phần cứng máy tính, các mô hình học sâu ngày càng được nghiên cứu nhiều hơn, ứng dụng vào thực tiễn, phổ biến và hiệu quả hơn. Tuy nhiên, để mô hình học sâu hoạt động hiệu quả nhất không chỉ cần phần cứng mạnh mẽ mà còn nhờ vào lượng dữ liệu huấn luyện đủ lớn, đủ thông tin và đa dạng.3 Ứng dụng học sâu vào face recognition Các mô hình học sâu có thể ứng dụng vào rất nhiều ngành, lĩnh vực để giải quyết các bài toán khác nhau. Trong lĩnh vực khoa học máy tính nói chung và bài toán nhận diện khuôn mặt nói riêng, việc ứng dụng học sâu mang lại hiệu năng cao hơn hẳn các kỹ thuật xử lý ảnh truyền thống. Tác vụ face recognition gồm hai tác vụ nhỏ hơn là face detection và face identification.
Ứng dụng học sâu vào face recognition có thể ứng dụng vào cả hai tác vụ nhỏ này.1 Ứng dụng học sâu vào face detection Cùng với sự bùng nổ của face recognition thì độ chính xác và hiệu quả về chi phí và thời gian xử lý của việc phát hiện, xác định vị trí khuôn mặt trong ảnh vẫn là một thách thức lớn. Việc tự động định vị khuôn mặt trong ảnh là bước tiền xử lý cho hầu hết các tác vụ xử lý hình ảnh liên quan khuôn mặt, tiêu biểu là face recognition. Quy trình áp dụng thường là: 1. Xác định tất cả khuôn mặt có trong hình ảnh.
Cắt (crop) thành nhiều ảnh, mỗi ảnh chỉ chứa đúng một khuôn mặt. Hình ảnh khuôn mặt được cắt để tiến hành nhận diện.