Các phƣơng pháp nhận dạng khuôn mặt (Face Recognition)

Một phần của tài liệu Xây dựng ứng dụng hỗ trợ điểm danh sinh viên bằng điện thoại dựa trên nhận dạng khuôn mặt người luận văn thạc sĩ công nghệ thông tin (Trang 46 - 51)

Chƣơng 3 : CÁC GIẢI PHÁP ĐÃ NGHIÊN CỨU PHÁT TRIỂN

3.2 Các phƣơng pháp nhận dạng khuôn mặt (Face Recognition)

Bài toán thứ hai mà hệ thống cần phải quan tâm là bài tốn nhận dạng khn mặt. Nhận dạng là quá trình sử dụng các dữ liệu khn mặt ở q trình Phát hiện và khn mặt, thực hiện phân lớp, gán nhãn định danh cho đối tƣợng khn mặt.

Hình 3.12: Mơ phỏng kết quả của q trình nhận dạng khn mặt

Đầu vào của bài tốn nhận dạng khn mặt chính là đầu ra của bài tốn phát hiện khn mặt đã xử lý. Nhƣ đã trình bày ở trƣớc, chất lƣợng của phần này sẽ phụ thuộc hồn tốn vào kết quả của phần phát hiện khuộn mặt. Kết quả quá trình phát hiện xác định khn mặt chính xác tạo điều kiện thuận lợi cho quá trình nhận dạng.

Để có thể giải quyết bài toán nhận dạng khn mặt, đã có rất nhiều hƣớng tiếp cận khác nhau đƣợc đứa ra tùy vào đặc điểm của hình ảnh nhận dạng của và mục đích sử dụng. Một số phƣơng pháp nhận dạng khuôn mặt đƣợc sử dụng hiện nay có thể kể đến nhƣ sau:

3.2.1 Facenet

FaceNet là một kiến trúc Deep Learning bao gồm các lớp chập dựa trên các mơ hình khởi động lấy cảm hứng từ GoogleNet. Hệ thống cho kết quả rất tốt trong thực nghiệm với bộ dữ liệu Labeled Face in the Wild (LFW): 99,63%, Youtube Faces DB: 95,12%. Từ dữ liệu ảnh khuôn mặt đầu vào, hệ thống chuyển thành vec- tơ 128 đặc trƣng (feature) cho mỗi khn mặt.

Hình 3.13: Mơ tả q trình trích rút đặc trưng trong Facenet

Độ khác nhau đƣợc tính bằng khoảng các Ơ-clit giữa các đặc trƣng. Các dữ liệu khuôn mặt đƣợc huấn luyện bằng hàm Triple loss. Chúng ta sẽ phải sử dụng từng “bộ ba” để tiến hành huấn luyện dữ liệu. Bộ ba của chúng ta bao gồm: một ảnh mặt của một ngƣời bất kì (Anchor), một ảnh mặt khác của ngƣời đó (positive) và

một ảnh của ngƣời khác (negative). Sau đó hiệu chỉnh parameter của network sao cho: khoảng cách giữa ảnh Anchor và Positive là nhỏ nhất và khoảng cách giữa ảnh Anchor và Negative là lớn nhất. Sau khi huấn luyện trên tập dữ liệu lớn thu đƣợc model có khả năng phân biệt ảnh cùng một ngƣời và ảnh của ngƣời khác [7].

Hình 3.14: Mơ tả hoạt động của hàm Triple loss

Tuy nhiên, yếu điểm lớn nhất của phƣơng pháp này là yều cầu khá khắt khe

về ảnh đầu vào. Ảnh đầu vào phải đạt đƣợc các tiêu chuẩn về chất lƣợng ảnh hay kích thƣớc ảnh. Điều này khá bất tiện cho thu thập dữ liệu huấn luyện bằng nhiều phƣơng thức khác nhau.

3.2.2 Sử dụng OpenFace

Hình 3.15: Sơ đồ hệ thống nhận dạng khuôn mặt OpenFace.

Phƣơng pháp OpenFace xác định khuôn mặt với các mơ hình đào tạo từ dlib hoặc OpenCV. Sau đó biến đổi khn mặt thành mạng Neural. Kho lƣu trữ này sử dụng ƣớc tính tƣ thế thời gian thực (real-time pose estimation) của dlib với phép biến đổi của OpenCV để xác định vị trí từ mắt đến mơi của khn mặt trên mỗi ảnh. Sau đó sử dụng một mạng Neural sâu để biểu diễn (hoặc nhúng – embed) khuôn mặt trên một siêu cầu đơn vị (unit hypersphere) 128 chiều. Các đặc trƣng đƣợc trích

rút đại diện chung cho một khuôn mặt. Các đặc trƣng này làm cho việc phân cụm, phát hiện sự tƣơng tự và các tác vụ phân loại dễ dàng hơn so với các kỹ thuật nhận dạng khác. Tuy nhiên, thực nghiệm cho thấy phƣơng pháp nhận diện này hiện tại chỉ hoạt động tốt với quy mô dƣới 300 đối tƣợng [8].

3.2.3 Mơ hình DeepFace (Facebook, CVPR 2014)

Nhóm tác giả từ Trung tâm Nghiên cứu Facebook và trƣờng Đại học Tel Aviv, Israel đề xuất một thuật tốn có tên là DeepFace, sử dụng nguồn ảnh do ngƣời dùng đăng tải lên Facebook làm bộ dữ liệu. Với nhận dạng khuôn mặt, ngƣời ta thƣờng trải qua 4 bƣớc: Xác định khuôn mặt → Canh chỉnh khuôn mặt → Biểu diễn khn mặt → Phân loại khn mặt, nhóm tác giả biểu diễn khn mặt theo mơ hình 3D nhằm áp dụng biến đổi affine từng phần, từ đó biểu diễn khuôn mặt từ 9 lớp Mạng Neuron Sâu (Deep Neural Network - DNN), mạng này có hơn 120 ngàn tham số sử dụng một số lớp liên thơng mà khơng chia sẻ trọng số. Nhóm tác giả phát triền một cấu trúc DNN hiệu quả và các tận dụng ảnh trên mạng xã hội để biểu diễn khn mặt sao cho có thể tổng qt hóa cho các tập dữ liệu khác. Ngồi ra, nhóm tác giả trình bày cách canh chỉnh mặt dựa trên mơ hình 3D của khn mặt.

Hình 3.16: Cấu trúc huấn luyện của DeepFace.

Từ mơ hình cấu trúc huấn luyện trên từ ảnh vào, lấy khn mặt, sau đó chỉnh chính diện dựa vào mơ hình 3D (Frontalization), tiếp theo là các lớp lọc Tích chập (C1) – Pooling (M2) – Tích chập (C3), sau đó là 3 lớp Liên thơng Địa phƣơng (L4 – L6) và 2 lớp Liên thông Đầy đủ (F7 – F8). Mạng có hơn 120 ngàn tham số với 95% tập trung ở Liên thông Địa phƣơng và Liên thông Đầy đủ.

Ƣu điểm của phƣơng pháp DeepFace: DeepFace là một trong những thuật tốn nhận dạng khn mặt có độ chính xác thuộc dạng “top performing”.

Nhƣợc điểm của phƣơng pháp DeepFace huấn luyện với bộ dữ liệu riêng, bao gồm hàng triệu ảnh truyền thơng, xã hội có kích thƣớc lớn hơn các bộ dữ liệu

hiện hữu trong nghiên cứu học thuật, vì vậy tốc độ chậm hơn nhiều so với các phƣơng pháp khác. Mơ hình nhận diện khn này chƣa đƣợc facebook công bố mã nguồn mở, mà chỉ công bố bài báo khoa học cho nên việc nghiên cứu và sử dụng nó để thực hiện điểm danh tạm thời chƣa đầy đủ. Tuy nhiên để sử dụng đƣợc mơ hình này thì cần cấu hình máy tính cực tốt để có thể thực hiện điểm danh đƣợc [9].

Vì vậy, để nghiên cứu hệ thống nhận dạng khuôn mặt với quy mô lớn hơn, luận văn sẽ giới thiệu về hệ thống nhận diện sử dụng thƣ viện Arc-Face. Bản chất của quá trình nhận dạng là đƣa các dữ liệu đã đƣợc xử lý qua các hàm để phân lớp đối tƣợng. Thách thức lớn nhất trong q trình này là thiết kế đƣợc hàm thích hợp để nâng cao khả năng phân biệt giữa các lớp. Để thực hiện nhiệm vụ này, hệ thống nhận dạng khuôn mặt sẽ sử dụng thƣ viện Arc-Face, phƣơng pháp này có tốc độ xử lý rất tốt theo thực nghiệm kiểm định và nhóm tác giả cơng bố thì phƣơng pháp này kiểm định trên bộ dữ liệu Dữ liệu công khai Labeled Faces in the Wild (LWF) trên thế giới: Bộ dữ liệu bao gồm 13.332 bức ảnh gƣơng mặt của 5.749 ngƣời nổi tiếng, trong đó có 1.680 ngƣời có hai hoặc nhiều bức ảnh. Thì phƣơng pháp này có thể nhận đúng 99,38%. Phƣơng pháp này còn thƣờng xuyên cập nhật và phát triển, tháng 8 năm 2019 phƣơng pháp này đã xếp thứ 2 ở cuộc thi nhận dạng khuôn mặt WIDER Face Detection Challenge 2019. Tháng 4 Năm 2020 pre-train model của Arc-Face đƣợc chọn là pre-train model ngoài duy nhất của cuộc thi iQIYI iCartoonFace challenge. Tháng 9 năm 2020 phƣơng pháp này đã thực hiện kiểm định với bộ dữ liệu lớn (360.000 ids) đạt đƣợc độ chính xác 99,1% ...

Một phần của tài liệu Xây dựng ứng dụng hỗ trợ điểm danh sinh viên bằng điện thoại dựa trên nhận dạng khuôn mặt người luận văn thạc sĩ công nghệ thông tin (Trang 46 - 51)

Tải bản đầy đủ (PDF)

(95 trang)