Nghiên cứu phương pháp phát hiện khuôn mặt trong ảnh

MỤC LỤC

Hướng tiếp cận dựa trên so khớp mẫu

Xác định mẫu trước

Sau đó áp dụng heuristic để xác định sự tồn tại của khuôn mặt trong ảnh, phương pháp này cho phép xác nhiều khuôn mặt, nhưng kết quả không tốt bằng xác định một khuôn mặt (chụp thẳng hoặc xoay) trong ảnh xám. Wei và Lai dùng bộ lọc để phân đoạn kết hợp thuật toán tìm láng giềng gần nhất xác định ứng viên khuôn mặt, từ ứng viên này sau đó so khớp với các mẫu đã xác định trước để biết ứng viên có phải là khuôn mặt hay không.

Hình 1-5:  mẫu khuôn mặt, có 16 vùng và 23 quan hệ (các mũi tên).
Hình 1-5: mẫu khuôn mặt, có 16 vùng và 23 quan hệ (các mũi tên).

Các mẫu bị biến dạng

Darrell dùng phân đoạn đề tìm ứng viên, dùng ứng viên này để xác định khuôn mặt người dựa vào mẫu rồi theo vết chuyển động của người. Sau đó chiếu các ứng viên này để so sanh với các mẫu có trước để xác định ứng viên nào là khuôn mặt người.

Hướng tiếp cận dựa trên diện mạo

    Đầu vào của mạng ở giai đoạn hai bao gồm dữ liệu đầu ra từ hai mạng con và các giá trị đặc trưng đã được trích ra, như: đặc trưng độ lệch chuẩn của các giá trị điểm ảnh trong mẫu đưa vào, một tỷ lệ của số điểm ảnh trắng trên tổng số điểm ảnh (đã chuyển sang ảnh nhị phân) trong một cửa sổ, và đặc trưng thiết yếu về hình học. Một mạng đa tầng được dùng để học các mẫu khuôn mặt và không phải khuôn từ các ảnh tương ứng (dựa trên quan hệ cường độ, về mặt không gian của các điểm ảnh) trong khi Sung dùng mạng nơ-ron để xác định một hàm biệt số cho mục đích phân loại mẫu có phải là khuôn mặt hay không dựa vào độ đo khoảng cách.

    Hình 1-6:  Mô hình mạng Nơ-ron theo Rowley
    Hình 1-6: Mô hình mạng Nơ-ron theo Rowley

    Hướng tiếp cận tổng hợp

    (b) năm trạng thái ẩn. Hình 1-10: Xác định khuôn mặt bằng HMM các trạng thái, mỗi trạng thái lại có những trạng thái nhỏ bên trong: trạng thái trán có ba trạng thái nhỏ. bên trong; trạng thái mắt có năm trạng thái nhỏ bên trong. Map) theo cường độ. Ông xây dựng logic mờ kết hợp PCA để ước lượng tư thế các khuôn mặt. Taur và Tao xây dựng phân loại neurofuzzy (neuro-fuzzy classifier – NEFCAR) có độ đo tin cậy để biết ảnh nào là khuôn mặt người.

    Khó khăn và thách thức trong bài toán xác định khuôn mặt

    - Số lượng xác định nhầm là số lượng vùng trong ảnh không phải là khuôn mặt người mà hệ thống xác định nhầm là khuôn mặt người (false positives). - Thời gian thực hiện là thời gian để máy tính xác định khuôn mặt người trong ảnh (running time).

    PHÁT HIỆN KHUÔN MẶT SỬ DỤNG ADABOOST

    • Giới thiệu
      • Nhận xét

        - Các bộ phân loại AdaBoost có thể xây dựng phân tầng với độ phức tạp xử lý từ thấp đến cao, nhằm loại nhanh các ứng viên xấu (không phải mặt người) vốn dĩ nhiều hơn nhiều các ứng viên là mặt nguời để cho bộ phân loại phức tạp hơn chỉ còn lại ít ứng viên chưa bị loại. Vì rút ra một bộ phân loại yếu trong một miền không gian nhiều chiều là công việc quan trọng, sau đây một mô hình thống kê học theo từng giai đoạn dựa trên vài đặc điểm vô hướng. Để có được độ chính xác cao, hoặc cần phải có số lượng lớn các bộ dò tìm, hoặc mỗi bộ dò tìm cần phải có nhiều đặc trưng, hoặc cả hai, thì đồng thời cũng sẽ làm cho tốc độ giảm đi.

        Bộ dò tìm phân tầng bao gồm nhiều tầng, mỗi tầng ti = {cj} là một bộ dò tìm kết hợp với số lượng các bộ dò tìm khác nhau nên có tốc độ và độ chính xác khác nhau. Khi dò tìm tất cả các khuôn mặt trong ảnh, tất cả các cửa sổ con W0={wi,j,s} với các kích thước s khác nhau tại các tọa độ (i,j) sẽ được kiểm tra xem có phải là mặt người hay không.

        Hình 2-1:  Các miền hình học đặc trưng Haar-like
        Hình 2-1: Các miền hình học đặc trưng Haar-like

        ÔN MẶT N

        Nơron nhân tạo

        Là một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào đến từ một synapse. Đặc trưng của nơ-ron là một hàm kích hoạt phi tuyến chuyển đổi tổ hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra. Hàm kích hoạt này đảm bảo tính chất phi tuyến cho tính toán của mạng nơ-ron.

          Mô hình cơ bản của mạng nơron

          Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào mạng. Dữ liệu từ tất cả các nút trong lớp nhập được tích hợp – ta gọi là tổng trọng hóa – và chuyển kết quả cho các nút trong lớp ẩn. Gọi là “ẩn” vì các nút trong lớp này chỉ liên lạc với các nút trong lớp nhập và lớp xuất, và chỉ có người thiết kế mạng mới biết lớp này (người sử dụng không biết lớp này).

          Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp ẩn.

            Huấn luyện mạng nơron

              Hệ thống học (ở đây là mạng nơ-ron) sẽ phải tìm cách thay đổi các tham số bên trong của mình (các trọng số và các ngưỡng) để tạo nên một ánh xạ có khả năng ánh xạ các đầu vào thành các đầu ra mong muốn. Trong học không có giám sát, ta được cho trước một số dữ liệu x và hàm chi phí cần được cực tiểu hóa có thể là một hàm bất kỳ của dữ liệu x và đầu ra của mạng, f – hàm chi phí được quyết định bởi phát biểu của bài toán. Phần lớn các ứng dụng nằm trong vùng của các bài toán ước lượng như mô hình hóa thống kê, nén, lọc (filtering), phân nhóm (clustering).

              Tại mỗi thời điểm t, agent thực hiện hành động yt và môi trường tạo một quan sát xt với một chi phí tức thời Ct, theo một quy trình động nào đó (thường là không được biết). Các bài toán thường được giải quyết bằng học tăng cường là các bài toán điều khiển, trò chơi và các nhiệm vụ quyết định tuần tự (sequential decision making) khác.

              Hình 3-4:  Mô hình học có giám sát
              Hình 3-4: Mô hình học có giám sát

              Chuẩn bị dữ liệu

                Lời giải đảo ngược giả đưa ra phép biến đổi T làm cực tiểu tổng bình phương khác biệt giữa tập tọa độ x’i, y’i và phiên bản đã biến đổi của xi, yi. Trong trường hợp canh biên các khuôn mặt thẳng, các đặc trưng này là vị trí mong muốn của hai mắt, đỉnh mũi, và trung tâm miệng của mỗi khuôn mặt trong cửa sổ đầu vào. - Với mỗi khuôn mặt i, dùng thủ tục canh biên để tính phép quay, dịch chuyển, và biến đổi tỷ lệ tốt nhất để canh biên các đặc trưng khuôn mặt Fi với các vị trí đặc trưng trung bình F.

                Phải: Các vị trí đặc trưng khuôn mặt chuẩn (tròn trắng), và phân phối của các vị trí đặc trưng thực (sau khi canh biên) từ mọi mẫu (các điểm đen). Một kỹ thuật thường dùng là khung nhìn ảo, trong đó các ảnh mẫu mới được tạo ra từ ảnh thực (quay, dịch chuyển, biến đổi tỷ lệ ngẫu nhiên ảnh mẫu).

                Hình 3-5:  Trái: Mẫu khuôn mặt chuẩn. Phải: Các vị trí đặc trưng khuôn mặt  chuẩn (tròn trắng), và phân phối của các vị trí đặc trưng thực (sau khi  canh biên) từ mọi mẫu (các điểm đen)
                Hình 3-5: Trái: Mẫu khuôn mặt chuẩn. Phải: Các vị trí đặc trưng khuôn mặt chuẩn (tròn trắng), và phân phối của các vị trí đặc trưng thực (sau khi canh biên) từ mọi mẫu (các điểm đen)

                Huấn luyện dò tìm khuôn mặt

                • Huấn luyện dò tìm khuôn mặt

                  Sau khi cửa sổ 20x20 pixel được trích ra từ một vị trí và tỷ lệ nào đó trong ảnh nhập, nó được tiền xử lý dùng các bước hiệu chỉnh độ sáng và cân bằng lược đồ. Cụ thể, các sọc ngang cho phép các đơn vị ẩn dò tìm các đặc trưng như miệng, cặp mắt, trong khi các đơn vị ẩn với vùng tiếp thu hình vuông có thể dò tìm các đặc trưng như từng mắt, mũi, của miệng. Các thử nghiệm cho thấy rằng hình dạng chính xác của các vùng này không quan trọng, quan trọng là đầu vào được chia thành các vùng nhỏ thay vì dùng các kết nối hoàn toàn với toàn bộ đầu vào.

                  Điều này cho phép bộ dò tìm được áp dụng ở mỗi vị trí pixel và ở mỗi tỷ lệ trong chóp ảnh, và vẫn dò tìm các khuôn mặt ở vị trí và tỷ lệ trung bình. Tuy nhiên, tập đại diện ảnh phong cảnh chứa gần 150,000,000 cửa sổ, và việc huấn luyện trên một cơ sở dữ liệu khuôn mặt có kích thước lớn như vậy là rất khó.

                  Hình 3-8:  Trong khi huấn luyện, hệ thống  đã huấn luyện một phần  được áp  dụng với các ảnh phong cảnh không chứa khuôn mặt (như bên trái)
                  Hình 3-8: Trong khi huấn luyện, hệ thống đã huấn luyện một phần được áp dụng với các ảnh phong cảnh không chứa khuôn mặt (như bên trái)

                  Quá trình dò tìm khuôn mặt

                  Đây là bước để loại đa số những vị trí không phải là khuôn mặt, chỉ giữ lại một số ít những vị trí có khả năng là khuôn mặt. - Bước 3: Thực hiện chuẩn hóa dữ liệu tại những nơi đã đánh dấu ở bước 2 bằng các phương pháp: cân bằng lược đồ để cải thiện độ sáng và độ tương phản. - Bước 4: Kiểm tra những vị trí đã được chuẩn hóa ở bước 3 có thật sự là khuôn mặt hay không?.

                  Công việc này được thực hiện bởi mạng nơ-ron đã được huấn luyện với nhiều ảnh mẫu là khuôn mặt và không khuôn mặt. Việc làm này được thực hiện bằng việc kết hợp nhiều mạng và một số heuristic đơn giản.

                  CÀI ĐẶT ỨNG DỤNG

                    Tuy nhiên vẫn còn những phát hiện thừa hoặc thiếu, điều này là do tập mẫu dùng để huấn luyện. Trong thực tế, tập các ảnh không là khuôn mặt có số lượng lớn và phong phú hơn rất nhiều so với tập ảnh là khuôn mặt. Bộ dò tìm khuôn mặt sử dụng mạng Nơ-ron thực hiện tương đối tốt, đạt kết quả khả quan khi dò tìm khuôn mặt.

                    Bộ dò tìm thử nghiệm thực hiện dò tìm không đạt được kết quả như mong muốn trong môi trường ảnh có nhiều mặt người. Xây dựng chương trình dò tìm khuôn mặt sử dụng mạng nơ-ron như trên chỉ mang tính chất thử nghiệm thuật toán, cần phải phát triển nhiều hơn nữa để có thể áp dụng vào trong thực tế.

                    Hình 4-3:  Kết quả của quá trình dò tìm khuôn mặt
                    Hình 4-3: Kết quả của quá trình dò tìm khuôn mặt