MỤC LỤC
Có nhiều phương pháp chứng thực lại ảnh khuôn mặt sau khi được phát hiện bởi Adaboost, trong luận văn chúng tôi so sánh các phương pháp đã được thực hiện là Adaboost, Adaboost + NN, Adaboost + RBF và đề xuất của chúng tôi là Adaboost + Adaboost. Sau khi dò tìm được khuôn mặt, phương pháp trích chọn đặc trưng truyền thống được sử dụng là phương pháp chia ô lưới thông thường, hoặc phương pháp PCA, tuy nhiên các phương pháp này còn có những yếu điểm vì vậy chúng tôi áp dụng phương pháp rút đặc trưng mới ICA.
Về vấn đề rút trích đặc trưng, luận văn so sánh hai phương pháp rút trích đặc trưng cho khuôn mặt được xem là mạnh nhất hiện nay là phân tích thành phần chính (Principal Component Analysis - PCA) [3] và phân tích thành phần độc lập (Independent Component Analysis - ICA). Ngoài việc dùng mạng nơron cho việc chứng thực, trong luận văn chúng tôi cũng áp dụng Adaboost cho việc chứng thực khuôn mặt, tức là ảnh sau khi qua Adaboost sẽ được các ảnh ứng viên khuôn mặt, các ảnh ứng viên khuôn mặt này sẽ được đưa qua Adaboost lần thứ hai để truy tìm, nếu lần truy tìm khuôn mặt lần thứ hai này Adaboost vẫn báo ảnh ứng viên là ảnh khuôn mặt thì ta quyết định đây là ảnh khuôn mặt, ngược lại.
So sánh các phương pháp detect + chứng thực khuôn mặt. Phần trăm detect đúng. Detect bằng Adaboost Detect bằng Adaboost + RBF Detect bằng Adaboost + NN Detect bằng Adaboost + Adaboost. Từ các kết quả thực nghiệm ta thấy trong giai đoạn phát hiện khuôn mặt, phương pháp Adaboost + Adaboost là tốt nhất. Sau khi phát hiện được khuôn mặt trong ảnh đầu vào ta cần phải biểu diễn ảnh khuôn mặt thành một véc tơ đặc trưng, tuy nhiên vì kích thước ảnh khuôn mặt quá lớn nếu biểu diễn véc tơ là các pixel của ảnh khuôn mặt thì có thể làm cho quá trình huấn luyện và nhận dạng rất chậm, và xảy ra trường hợp quá khớp vì vậy bài toán đặt ra là cần phải có phương pháp để biểu diễn ảnh khuôn mặt thành véc tơ đặc trưng mà vẫn giữ lại được những thành phần quan trọng của ảnh. Quá trình rút trích đặc trưng được thực hiện bởi các phương pháp truyền thống là chia ô lưới [12], phép phân tích thành phần chính PCA [3][6], phân tích đặc trưng hình học bằng cách xác định các thành phần quan trọng của khuôn mặt như mắt, miệng [3],…. Trong các phương pháp trên điển hình là phương pháp PCA. • PCA Principal Componens Analysis) [phụ lục A.3] (còn được gọi là Karhunen- Loeve Transform (KLT) hay Hotelling transform. - Cái đích của PCA là tìm một tập ảnh cơ sở tốt hơn, để trong tập ảnh cơ sở mới này sự phối hợp các ảnh là không tương quan (các thành phần chính là không tương quan), và để tìm tập dữ liệu mới không tương quan, PCA đã sử dụng thống kê bậc hai (ma trận hiệp phương sai).
Từ cơ sở lý thuyết ta thấy phương pháp rút trích đặc trưng ICA tốt hơn phương pháp PCA và điều này đã được chúng tôi kiểm chứng qua thực nghiệm trên tập dữ liệu chuẩn CalTech cũng như tập dữ liệu do chúng tôi tự tạo. Từ các kết quả thực nghiệm ta thấy phương pháp SVM huấn luyện và nhận dạng rất nhanh tuy nhiên kết quả chính xác không cao, phương pháp mạng Nơron tuy huấn luyện chậm và nhận dạng chậm hơn phương pháp SVM nhưng kết quả nhận dạng chính xác hơn nhiều.
Nếu trong đoạn phim đưa vào nhận dạng, hệ thống nhận dạng được đối tượng nào (đã được huấn luyện) thì sẽ hiện lên khuôn mặt tương ứng của đối tượng đã lưu sẵn trong cơ sở dữ liệu, ngược lại thì không hiện lên gì cả. Mỗi đoạn video gồm nhiều frame liên tiếp nhau, vì vậy nếu ta đưa từng frame vào hệ thống nhận dạng thì có những khuôn mặt liên tiếp của cùng một người sẽ đưa vào hệ thống nhận dạng (video có khoảng 24 hình/giây) nhưng ta chỉ cần một số ít trong số này để đưa vào hệ thống để nhận dạng. Để giải quyết trường hợp này, chúng tôi không tiến hành nhận dạng trên các frame liên tiếp nhau mà chỉ tiến hành nhận dạng sau một số frame đã được định nghĩa trước.
Kết quả nhận dạng còn ảnh hưởng nhiều khi khuôn mặt có các cảm xúc khác, tuy nhiên điều này có thể được khắc phục khi nâng số lượng ảnh huấn luyện bao quát hầu hết các cảm xúc khuôn mặt của từng đối tượng.
Các phép biến đổi tuyến tính nổi tiếng bao gồm, phân tích thành phần chính (PCA), phân tích thừa số (factor analysis)… Phân tích thành phần độc lập (ICA) là một phương pháp biến đổi được phát triển gần đây, mà mục đích là tìm kiếm một sự biểu diễn tuyến tính của dữ các dữ liệu không có phân phối gauss để các thành phần là độc lập thống kê hoặc. Một tiền xử lý hữu dụng khác cho thuật toán ICA là làm trắng các biến quan sát (sau khi qui tâm), điều này có nghĩa là trước khi áp dụng thuật toán ICA (và sau khi qui tâm), chúng ta biến đổi tuyến tính véc tơ quan sát x để được một véc tơ mới là x~ và ~x trắng nghĩa là các thành phần của nó bất tương quan và các phương sai của các thành phần là đơn vị. ICA để tìm một sự biễu diễn mà các hệ số sử dụng để mã các ảnh là độc lập thống kê (tìm sự độc lập thống kê các hệ số cho dữ liệu input). Sự tách nguồn được thực hiện trên các pixel và mỗi hàng của ma trận trọng số W là một ảnh. A, ma trận nghịch đảo của W, chứa các ảnh cơ sở trong các cột của nó. Sự độc lập thống kê các hệ số nguồn trong S mà cấu thành nên các ảnh input thì được khôi phục trong các cột của U = W * X, tức là mỗi cột của U chứa các hệ số của các ảnh cơ sở trong A cho việc xây dựng lại mỗi ảnh trong X. Mỗi cột của U chứa các thành phần của tập ảnh cơ sở trong A cho việc xây dựng lại mỗi ảnh trong X. ICA cố gắng tạo ra tập output U là độc lập nhất có thể).
Nếu bất phương trình (3) không đúng với một số phần tử trong tập học ta gọi đây không phải là trường hợp phân cách tuyến tính và phần tử đó là phần tử lỗi. Trường hợp ξi >1 là do điểm bị lỗi nằm bên kia mặt phân cách, trường hợp 0< ξi <1 là do điểm bị lỗi chưa vượt qua vạch phân cách. Trong trường hợp không thể tìm được mặt phẳng siêu phân cách trong trường hợp tuyến tính, ta chuyển không gian đầu vào Rn sang một không gian mới có kích thước lớn hơn gọi là không gian đặc trưng Rm với m>n.
Các Nơron liên kết với nhau tạo thành mạng Nơron, mỗi mạng có thể có hàng vạn Nơron, mỗi Nơron có thể có hàng vạn liên kết với hàng vạn Nơron khác..Chính khả năng đặc biệt của mạng Nơron của bộ não con người đã thúc đẩy các nhà khoa học tìm cách nghiên cứu xây dựng những hệ thống bắt chước hoạt động của bộ não con người, tạo ra trí thông minh nhân tạo. Vào những năm 1980, công nghệ Nơron đặc biệt được quan tâm và đã xuất hiện nhiều kiến trúc mạng đa dạng ứng dụng rộng rãi cho nhiều bài toán phức tạp trong thực tế, những nhà khoa học và kỹ thuật mang lại các đóng góp chính trong giai đoạn này là: Hopfiel, Grossberg, Widrow, Anderson và Kohonen. Mỗi lần học, ta cho mạng thực hiện việc ánh xạ các mẫu đầu vào qua một hàm truyền, sau đó tính toán sai số và cập nhật lại trọng số với mục đích là làm sao cho sai số ngày một giảm, tức mạng thực hiện ngày một tốt hơn.Tuy nhiên bởi vì lúc đầu tiên trọng số chưa có nên ta phải tiến hành khởi tạo bộ trọng.
Tóm lại, giá trị sai số được tính đầu tiên cho các nơron ở lớp xuất, kết quả này được dùng để tính sai số của các nơron ở lớp ẩn cao nhất, và lớp ẩn kết tiếp thì tính theo kết quả của lớp ẩn cao hơn nó.Cứ thế lan truyền cho đến lớp nhập. Màn hình chính gồm có một khung để chạy đoạn Video đầu vào, một khung để hiện thị Frame mà tại frame đó hệ thống đã phát hiện được đối tượng, một vùng để hiện thị thông tin của đoạn video đầu vào, một khung để hiện thị khuôn mặt của đối tượng tương ứng đã được lưu trong cơ sở dữ liệu, một text box Threshold, khi kết quả nhận dạng lớn hơn Threshold này thì mới được chấp nhận, tức đó mới là một đối tượng, một text box để hiện thông tin đã lưu sẵn trong cơ sở dữ liệu về đối tượng này, một text box để hiển thị số lượng khuôn mặt đối tượng mà hệ thống nhận dạng được trong các frame. Khi frame được chọn đưa vào nhận dạng có đối tượng, hệ thống sẽ tự động nhận dạng và đưa ra thông tin về đối tượng tương ứng trong cơ sở dữ liệu, đồng thời tự động cập nhật số lượng frame detect có đối tượng.