Connect with us

DeepFace cho Nhận dạng Khuôn mặt Nâng cao

Trí tuệ nhân tạo

DeepFace cho Nhận dạng Khuôn mặt Nâng cao

mm

Nhận dạng khuôn mặt đã trở thành một lĩnh vực hot trong AI và ML trong vài năm gần đây, và những tác động văn hóa và xã hội rộng lớn của nhận dạng khuôn mặt là rất sâu sắc. Tuy nhiên, vẫn còn một khoảng cách hiệu suất giữa hệ thống thị giác của con người và máy móc hiện tại, điều này hạn chế các ứng dụng của nhận dạng khuôn mặt.

Để vượt qua khoảng cách hiệu suất và mang lại độ chính xác ở mức độ con người, Meta đã giới thiệu DeepFace, một khuôn khổ nhận dạng khuôn mặt. Mô hình DeepFace được đào tạo trên một tập dữ liệu khuôn mặt lớn khác biệt đáng kể so với các tập dữ liệu được sử dụng để xây dựng các điểm chuẩn đánh giá, và nó có khả năng vượt qua các khuôn khổ hiện có với các điều chỉnh tối thiểu. Hơn nữa, khuôn khổ DeepFace tạo ra các biểu diễn khuôn mặt compact khi so sánh với các hệ thống khác tạo ra hàng nghìn tính năng ngoại hình khuôn mặt.

Khuôn khổ DeepFace đề xuất sử dụng Deep Learning để đào tạo trên một tập dữ liệu lớn bao gồm các dạng dữ liệu khác nhau bao gồm hình ảnh, video và đồ họa. Kiến trúc mạng DeepFace giả định rằng một khi việc căn chỉnh đã được hoàn thành, vị trí của mỗi vùng khuôn mặt sẽ được cố định ở mức pixel. Do đó, có thể sử dụng các giá trị RGB pixel thô mà không cần sử dụng nhiều lớp convolutional như được thực hiện trong các khuôn khổ khác.

Quy trình pipeline truyền thống của các khuôn khổ nhận dạng khuôn mặt hiện đại bao gồm bốn giai đoạn: Phát hiện, Căn chỉnh, Biểu diễn và Phân loại. Khuôn khổ DeepFace sử dụng mô hình hóa khuôn mặt 3D rõ ràng để áp dụng biến đổi từng phần, và sử dụng một mạng nơ-ron sâu chín lớp để suy ra biểu diễn khuôn mặt. Khuôn khổ DeepFace cố gắng thực hiện các đóng góp sau

  1. Phát triển một kiến trúc DNN hoặc Mạng nơ-ron sâu hiệu quả có thể tận dụng một tập dữ liệu lớn để tạo ra biểu diễn khuôn mặt có thể được khái quát hóa cho các tập dữ liệu khác.
  2. Sử dụng mô hình hóa 3D rõ ràng để phát triển một hệ thống căn chỉnh khuôn mặt hiệu quả.

Hiểu về Cách làm việc của Mô hình DeepFace

Căn chỉnh Khuôn mặt

Căn chỉnh khuôn mặt là một kỹ thuật xoay hình ảnh của một người theo góc của mắt. Căn chỉnh khuôn mặt là một thực hành phổ biến được sử dụng để tiền xử lý dữ liệu cho nhận dạng khuôn mặt, và các tập dữ liệu khuôn mặt được căn chỉnh giúp cải thiện độ chính xác của các thuật toán nhận dạng bằng cách cung cấp một đầu vào được chuẩn hóa. Tuy nhiên, căn chỉnh khuôn mặt một cách không bị hạn chế có thể là một nhiệm vụ khó khăn do nhiều yếu tố tham gia như biểu cảm không cứng nhắc, tư thế cơ thể và nhiều hơn.

Mặc dù căn chỉnh là phương pháp phổ biến nhất để đối phó với xác thực và nhận dạng khuôn mặt không bị hạn chế, nhưng hiện tại không có giải pháp hoàn hảo. Các mô hình 3D cũng được sử dụng, nhưng sự phổ biến của chúng đã giảm đáng kể trong vài năm qua, đặc biệt là khi làm việc trong một môi trường không bị hạn chế. Tuy nhiên, vì khuôn mặt con người là các đối tượng 3D, nó có thể là cách tiếp cận đúng nếu được sử dụng đúng cách. Mô hình DeepFace sử dụng một hệ thống sử dụng các điểm fiducial để tạo mô hình hóa khuôn mặt phân tích.

Hơn nữa, giống như hầu hết các thực hành căn chỉnh, căn chỉnh DeepFace cũng sử dụng các bộ phát hiện điểm fiducial để chỉ đạo quá trình căn chỉnh. Mặc dù mô hình DeepFace sử dụng một bộ phát hiện điểm đơn giản, nó áp dụng nó trong nhiều lần lặp để tinh chỉnh đầu ra. Một Support Vector Regressor hoặc SVR được đào tạo để thiên vị các cấu hình điểm trích xuất các điểm fiducial từ một mô tả hình ảnh tại mỗi lần lặp. Mô tả hình ảnh của DeepFace dựa trên Histogram LBP mặc dù nó cũng xem xét các tính năng khác.

Căn chỉnh 2D

Mô hình DeepFace khởi đầu quá trình căn chỉnh bằng cách phát hiện sáu điểm fiducial trong vùng phát hiện, tập trung vào giữa mắt, vị trí miệng và đầu mũi. Chúng được sử dụng để xoay,缩 và dịch hình ảnh thành sáu vị trí neo, và lặp lại trên hình ảnh bị biến dạng cho đến khi không có thay đổi rõ ràng. Biến đổi tổng hợp sau đó tạo ra một hình corp được căn chỉnh 2D. Phương pháp căn chỉnh khá tương tự như phương pháp được sử dụng trong LFW-a, và nó đã được sử dụng trong nhiều năm để cố gắng tăng độ chính xác của mô hình.

Căn chỉnh 3D

Để căn chỉnh khuôn mặt với các xoay ngoài mặt phẳng, khuôn khổ DeepFace sử dụng một mô hình hình dạng 3D chung, và đăng ký một máy ảnh 3D có thể được sử dụng để quấn hình corp được căn chỉnh 2D vào hình dạng 3D trong mặt phẳng hình ảnh của nó. Kết quả là, mô hình tạo ra phiên bản được căn chỉnh 3D của hình corp, và nó được thực hiện bằng cách định vị thêm 67 điểm fiducial trong hình corp được căn chỉnh 2D bằng cách sử dụng một SVR hoặc Support Vector Regressor thứ hai.

Mô hình sau đó đặt thủ công 67 điểm neo vào hình dạng 3D và do đó có thể đạt được sự tương ứng đầy đủ giữa các tham chiếu 3D và các điểm fiducial tương ứng của chúng. Trong bước tiếp theo, một máy ảnh affine 3D-2D được thêm vào bằng cách sử dụng giải pháp least squares tổng quát cho các hệ thống tuyến tính với một ma trận hiệp phương sai đã biết để giảm thiểu một số mất mát.

Frontalization

Vì các biến dạng không cứng nhắc và các phép chiếu góc nhìn toàn diện không được mô hình hóa, máy ảnh 3D-2D phù hợp chỉ phục vụ như một xấp xỉ. Trong một nỗ lực để giảm sự tham nhũng của các yếu tố mang tính bản sắc quan trọng đến biến dạng cuối cùng, mô hình DeepFace thêm các phần dư tương ứng vào các thành phần x-y của mỗi điểm fiducial tham chiếu. Sự thư giãn như vậy để mục đích biến dạng hình ảnh 2D với ít biến dạng hơn đến tính bản sắc là hợp lý, và nếu không có nó, khuôn mặt sẽ bị biến dạng thành cùng một hình dạng trong 3D, và mất các yếu tố phân biệt quan trọng trong quá trình này.

Cuối cùng, mô hình đạt được frontalization bằng cách sử dụng một biến đổi affine từng phần được chỉ đạo bởi sự phân chia Delaunay được suy ra từ 67 điểm fiducial.

  1. Khuôn mặt được phát hiện với 6 điểm fiducial.
  2. Hình corp được căn chỉnh 2D.
  3. 67 điểm fiducial trên hình corp được căn chỉnh 2D.
  4. Hình dạng tham chiếu 3D được biến đổi thành hình corp được căn chỉnh 2D.
  5. Tính khả dụng của tam giác với respecto đến máy ảnh 3D-2D.
  6. 67 điểm fiducial được tạo ra bởi mô hình 3D.
  7. Phiên bản được căn chỉnh 3D của hình corp cuối cùng.
  8. Xem mới được tạo ra bởi mô hình 3D.

Biểu diễn

Với sự tăng lên của số lượng dữ liệu đào tạo, các phương pháp dựa trên học tập đã chứng minh được hiệu quả và chính xác hơn so với các tính năng được thiết kế chủ yếu vì các phương pháp dựa trên học tập có thể khám phá và tối ưu hóa các tính năng cho một nhiệm vụ cụ thể.

Kiến trúc DNN và Đào tạo

Mô hình DNN DeepFace được đào tạo trên một nhiệm vụ nhận dạng khuôn mặt đa lớp phân loại định danh của một hình ảnh khuôn mặt.

Hình trên đại diện cho kiến trúc tổng thể của mô hình DeepFace. Mô hình có một lớp convolutional (C1) với 32 bộ lọc kích thước 11x11x3 được cung cấp một hình ảnh RGB 3 kênh được căn chỉnh 3D kích thước 152×152 pixel, và nó tạo ra 32 bản đồ tính năng. Các bản đồ tính năng này sau đó được cung cấp cho một lớp Max Pooling hoặc M2 lấy giá trị tối đa trên các khu vực không gian 3×3, và có một bước tiến là 2, riêng biệt cho mỗi kênh. Tiếp theo là một lớp convolutional khác (C3) bao gồm 16 bộ lọc mỗi bộ lọc kích thước 9x9x16. Mục đích chính của các lớp này là trích xuất các tính năng cấp thấp như kết cấu và các cạnh đơn giản.

Các lớp nhiều cấp độ làm cho mạng trở nên mạnh mẽ hơn đối với một số tình huống, nhưng nó cũng khiến mạng mất thông tin về vị trí chính xác của các kết cấu vi mô và các cấu trúc khuôn mặt chi tiết. Để tránh mạng mất thông tin, mô hình DeepFace sử dụng một lớp max pooling chỉ với lớp convolutional đầu tiên. Các lớp này sau đó được mô hình giải thích như một bước tiền xử lý thích nghi phía trước.

Các lớp tiếp theo L4, L5 và L6 được kết nối cục bộ, và giống như một lớp convolutional, chúng áp dụng một bộ lọc mà tại mỗi vị trí trong bản đồ tính năng, nó học một tập hợp các bộ lọc duy nhất. Vì các vùng khác nhau trong một hình ảnh được căn chỉnh có các thống kê cục bộ khác nhau, nó không thể giữ giả định về tính dừng không gian. Ví dụ, khu vực giữa lông mày và mắt có khả năng phân biệt cao hơn so với khu vực giữa miệng và mũi. Sử dụng các lớp cục bộ ảnh hưởng đến số lượng tham số phải đào tạo nhưng không ảnh hưởng đến gánh nặng tính toán trong quá trình trích xuất tính năng.

Mô hình DeepFace sử dụng ba lớp đầu tiên chỉ vì nó có một lượng lớn dữ liệu đào tạo được dán nhãn. Sử dụng các lớp cục bộ có thể được chứng minh thêm vì mỗi đơn vị đầu ra của một lớp cục bộ có thể bị ảnh hưởng bởi một vùng lớn của dữ liệu đầu vào.

Cuối cùng, các lớp trên cùng được kết nối hoàn toàn với mỗi đơn vị đầu ra được kết nối với tất cả các đầu vào. Hai lớp có thể nắm bắt các mối tương quan giữa các tính năng được bắt ở các phần khác nhau của hình ảnh khuôn mặt như vị trí và hình dạng của miệng, và vị trí và hình dạng của mắt. Đầu ra của lớp kết nối đầy đủ đầu tiên (F7) sẽ được mạng sử dụng như vectơ tính năng biểu diễn khuôn mặt thô. Mô hình sau đó sẽ cung cấp đầu ra của lớp kết nối đầy đủ cuối cùng (F8) cho một K-way softmax tạo ra một phân phối trên các nhãn lớp.

Tập dữ liệu

Mô hình DeepFace sử dụng một sự kết hợp của các tập dữ liệu với tập dữ liệu Phân loại Khuôn mặt Xã hội hoặc SFC là tập dữ liệu chính. Hơn nữa, mô hình DeepFace cũng sử dụng tập dữ liệu LFW, và tập dữ liệu YTF.

Tập dữ liệu SFC

Tập dữ liệu SFC được học từ một bộ sưu tập hình ảnh từ Facebook, và nó bao gồm 4,4 triệu hình ảnh được dán nhãn của 4.030 người với mỗi người có 800 đến 1200 khuôn mặt. 5% gần đây nhất của hình ảnh khuôn mặt trong tập dữ liệu SFC của mỗi định danh được giữ lại để thử nghiệm.

Tập dữ liệu LFW

Tập dữ liệu LFW bao gồm 13.323 ảnh của hơn năm nghìn người nổi tiếng được chia thành 6.000 cặp khuôn mặt trên 10 phân chia.

Tập dữ liệu YTF

Tập dữ liệu YTF bao gồm 3.425 video của 1.595 đối tượng, và nó là một tập con của các người nổi tiếng trong tập dữ liệu LFW.

Kết quả

Không có frontalization và khi chỉ sử dụng căn chỉnh 2D, mô hình đạt được điểm số chính xác khoảng 94,3%. Khi mô hình sử dụng hình corp trung tâm của phát hiện khuôn mặt, nó không sử dụng bất kỳ căn chỉnh nào, và trong trường hợp này, mô hình trả về điểm số chính xác là 87,9% vì một số phần của vùng khuôn mặt có thể rơi ra ngoài hình corp trung tâm. Để đánh giá khả năng phân biệt của biểu diễn khuôn mặt trong cô lập, mô hình tuân theo thiết lập học không giám sát để so sánh sản phẩm nội của các tính năng được chuẩn hóa. Nó tăng điểm số chính xác trung bình của mô hình lên 95,92%.

Mô hình trên so sánh hiệu suất của mô hình DeepFace khi so sánh với các mô hình nhận dạng khuôn mặt hiện đại khác.

Hình trên mô tả các đường cong ROC trên tập dữ liệu.

Kết luận

Ideally, một phân loại khuôn mặt sẽ có thể nhận dạng khuôn mặt với độ chính xác của con người, và nó sẽ có thể trả về độ chính xác cao bất kể chất lượng hình ảnh, tư thế, biểu cảm hoặc độ sáng. Hơn nữa, một khuôn khổ nhận dạng khuôn mặt lý tưởng sẽ có thể được áp dụng cho nhiều ứng dụng với ít hoặc không có sửa đổi. Mặc dù DeepFace là một trong những khuôn khổ nhận dạng khuôn mặt tiên tiến và hiệu quả nhất hiện tại, nhưng nó không hoàn hảo, và nó có thể không thể cung cấp kết quả chính xác trong một số tình huống. Nhưng khuôn khổ DeepFace là một cột mốc quan trọng trong ngành nhận dạng khuôn mặt, và nó đóng khoảng cách hiệu suất bằng cách sử dụng một kỹ thuật học metric mạnh mẽ, và nó sẽ tiếp tục trở nên hiệu quả hơn theo thời gian.

"Một kỹ sư theo nghề nghiệp, một nhà văn theo trái tim". Kunal là một nhà văn kỹ thuật với tình yêu và hiểu biết sâu sắc về AI và ML, dành để đơn giản hóa các khái niệm phức tạp trong các lĩnh vực này thông qua tài liệu hấp dẫn và thông tin của mình.