Mô hình và nền tảng AI

DeepFace cho Nhận Dạng Khuôn Mặt Nâng Cao

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

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 qua, 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 này và mang lại độ chính xác của 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 tiêu chuẩn đánh giá, và nó có khả năng vượt qua các khuôn khổ hiện có với sự đ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 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 thông 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 một 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 một biểu diễn khuôn mặt. Khuon 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 một biểu diễn khuôn mặt có thể được tổng 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 Thức Hoạt Động 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ột số kỹ thuật căn chỉnh tinh vi như sử dụng một mô hình 3D phân tích của khuôn mặt hoặc tìm kiếm các điểm fiducial từ tập dữ liệu bên ngoài có thể cho phép các nhà phát triển vượt qua các thách thức.

Mặc dù căn chỉnh là phương pháp phổ biến nhất để đối phó với xác minh và nhận dạng khuôn mặt không bị hạn chế, nhưng vẫn chưa có giải pháp hoàn hảo tại thời điểm này. 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 những năm gần đây, đặ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 của con người là các đối tượng 3D, có thể đây 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 ra một mô hình hóa 3D phân tích của khuôn mặt. Mô hình hóa 3D này sau đó được sử dụng để biến dạng một khuôn mặt cắt thành một chế độ mặt trước 3D.

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 đ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 fiducial đơn giản, nó áp dụng nó trong nhiều lần lặp để tinh chỉnh đầu ra. Một Vector Regressor Hỗ trợ hoặc SVR được đào tạo để thiên vị các cấu hình điểm fiducial trích xuất các điểm fiducial từ một trình mô tả hình ảnh tại mỗi lần lặp. Trình mô tả hình ảnh 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 bắt đầ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 nào được nhìn thấy. Biến đổi tổng hợp sau đó tạo ra một cơ thể căn chỉnh 2D. Phương pháp căn chỉnh này 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 cơ thể 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ăn chỉnh 3D của cơ thể, và nó được đạt được bằng cách định vị thêm 67 điểm fiducial trong cơ thể căn chỉnh 2D bằng cách sử dụng một SVR hoặc Vector Regressor Hỗ trợ thứ hai.

Mô hình sau đó đặt thủ công 67 điểm neo trên 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 3D-2D affine được thêm vào bằng cách sử dụng giải pháp least squares tổng quát để giải quyết các hệ thống tuyến tính với một ma trận hiệp phương sai đã biết, điều này tối thiểu hóa 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 перспектив đầy đủ không được mô hình hóa, máy ảnh 3D-2D vừa phù hợp chỉ phục vụ như một xấp xỉ. Trong một nỗ lực để giảm thiểu sự phá hủy của các yếu tố quan trọng mang tính bản sắc đối với 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 để biến dạng hình ảnh 2D với ít biến dạng hơn đối với 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. Cơ thể căn chỉnh 2D được áp dụng.
  3. 67 điểm fiducial trên cơ thể căn chỉnh 2D.
  4. Hình dạng tham chiếu 3D được biến đổi thành hình ảnh cơ thể căn chỉnh 2D.
  5. Tính khả dụng của tam giác với sự tôn trọng đến máy ảnh 3D-2D.
  6. 67 điểm fiducial được áp dụng bởi mô hình 3D.
  7. Phiên bản căn chỉnh 3D của cơ thể.
  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 lượng dữ liệu đào tạo, các phương pháp 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 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 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 3D căn chỉnh 3 kênh 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 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.

Sử dụng nhiều lớp pooling thực sự 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 và 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 ứng ở 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 ngân hàng nơi mỗi vị trí trong bản đồ tính năng học một bộ lọc duy nhất. Vì các vùng khác nhau trong một hình ảnh căn chỉnh có các thống kê cục bộ khác nhau, nê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 được đà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 gắ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 đầy đủ 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 này có thể 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.

Các 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 (META ), và nó bao gồm 4,4 triệu hình ảnh khuôn mặt được gắ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 của mỗi bản dạng trong tập dữ liệu SFC được để lại cho mục đích kiểm tra.

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 chủ đề, 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 cơ thể trung tâm của việc 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ể nằm ngoài cơ thể trung tâm. Để đánh giá khả năng phân biệt của biểu diễn khuôn mặt một cách riêng biệt, 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%.

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 bộ 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 ánh 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 phải là 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 đo lường 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.