Chương 1. Giới thiệu Giới thiệu chung về đề tài, mục tiêu nghiên cứu, giới hạn đề tài, phương pháp nghiên cứu, đối tượng và phạm vi nghiên cứu. Cơ sở lý thuyết Giới thiệu về thuật toán LBP, đặc trưng Haar-like, giải thuật AdaBoost. Thiết kế hệ thống Đưa ra sơ đồ khối của hệ thống, lưu đồ giải thuật và các thiết bị được sử dụng trong các khối.
Kết quả Trình bày kết quả thi công và đánh giá của mô hình hệ thống. Kết luận và hướng phát triển Rút ra các kết luận và khả năng phát triển của mô hình. 3 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU NHẬN DIỆN KHUÔN MẶT Nhận diện khuôn mặt là một loại nhận diện trực quan trong đó khuôn mặt được coi như một vật thể với những thay đổi về ánh sáng, vị trí và cảm xúc được xác định bởi hình ảnh hai chiều. Nhiệm vụ của hệ thống là tự động xử lý dữ liệu từ hình ảnh đầu vào và đưa ra quyết định về dữ liệu khuôn mặt.
Cấu trúc của hệ thống nhận dạng khuôn mặt [2] - Phát hiện khuôn mặt: Hệ thống nhận dạng khuôn mặt bắt đầu bằng việc xác định và định vị khuôn mặt người trong một hình ảnh cụ thể. Mục tiêu của bước này là xác nhận xem hình ảnh đầu vào có chứa khuôn mặt người hay không. Các yếu tố như ánh sáng và biểu cảm khuôn mặt có thể gây khó khăn cho việc phát hiện chính xác. Nhiều kỹ thuật được sử dụng để phát hiện và định vị khuôn mặt, chẳng hạn như bộ dò Viola-Jones, biểu đồ gradient định hướng (HOG) và phân tích thành phần chính (PCA).
- Trong bước trích xuất đặc trưng, mục tiêu là tách riêng các đặc điểm đặc biệt của khuôn mặt được phát hiện ở bước đầu tiên. Quá trình này biểu diễn khuôn mặt dưới dạng một tập hợp các vectơ đặc trưng, gọi là “đặc trưng”, mô tả các đặc điểm như miệng, mũi và mắt cùng với vị trí hình học của chúng. Mỗi 4 khuôn mặt có sự khác biệt về cấu trúc, kích thước và hình dạng riêng biệt giúp phục vụ cho mục đích nhận dạng. Các kỹ thuật trích xuất đặc trưng như HOG, Eigenface, phân tích thành phần độc lập (ICA), phân tích phân biệt tuyến tính (LDA), biến đổi tính năng bất biến tỷ lệ (SIFT), bộ lọc Gabor, lượng tử hóa pha cục bộ (LPQ) và kỹ thuật mẫu nhị phân cục bộ (LBP) thường được áp dụng để tạo ra các đặc trưng của khuôn mặt.
- Trong quá trình nhận dạng khuôn mặt, các đặc trưng trích xuất từ bước trước được so sánh với các khuôn mặt đã biết được lưu trữ trong CSDL. Một khuôn mặt thử nghiệm được so sánh với tập hợp các khuôn mặt trong dữ liệu để tìm ra khuôn mặt phù hợp nhất. Quy trình nhận dạng bao gồm việc so sánh khuôn mặt kiểm tra với các khuôn mặt đã biết trong CSDL để đưa ra quyết định cuối cùng.2 THUẬT TOÁN LBP (LOCAL BINARY PATTERN) Lý thuyết về LBP LBP (Local Binary Pattern) được Ojala giới thiệu vào năm 1996 để đo độ tương phản cục bộ của hình ảnh. Phiên bản đầu tiên của Local Binary Pattern được sử dụng với 8 pixel xung quanh và giá trị pixel trung bình được sử dụng làm ngưỡng.
Giá trị Local Binary Pattern được tính bằng cách nhân các giá trị ngưỡng với trọng số tương ứng cho từng pixel rồi tính tổng. Local Binary Pattern (LBP) là một phương pháp mô tả cấu trúc của một hình ảnh bằng cách so sánh các giá trị của các pixel trong một vùng cục bộ của hình ảnh. Ý tưởng cơ bản của LBP là so sánh giá trị của mỗi pixel với giá trị của các pixel lân cận của nó. Một điểm trung tâm được chọn và giá trị của nó được so sánh với các pixel lân cận.
Nếu giá trị của điểm trung tâm lớn hơn hoặc bằng giá trị của các pixel lân cận, nó sẽ được mã hóa thành 1, ngược lại, nó sẽ được mã hóa thành 0. Bằng cách này, mỗi điểm trung tâm và các pixel lân cận xung quanh nó sẽ tạo ra một chuỗi nhị phân, và chuỗi này sẽ đại diện cho cấu trúc cục bộ của hình ảnh. LBP có thể được sử dụng để trích xuất các đặc trưng quan trọng của hình ảnh, như các đặc điểm cục bộ và cấu trúc của các vùng trong hình ảnh. Ví dụ: nếu lấy 8 pixel lân cận thì LBP là 11001111 hoặc nếu chuyển nó sang hệ số 5 10 thì nó là 207.
Đây là chuỗi nhị phân đơn giản và dễ hiểu hơn để mô tả cấu trúc của một hình ảnh. Ví dụ về Local Binary Pattern [3] Nguồn gốc: Dãy Local Binary Pattern được Ojala giới thiệu vào năm 2002. Xác định cấu trúc pixel là phân bố đại số của các mức xám của P +1 (P > 0) pixel., gp-1) Nếu gc tương ứng với tông màu xám của pixel trung tâm Ptt, thì gp (p = 0, ., 1) tương ứng với xung quanh P pixel, P pixel này nằm trong một vòng tròn có bán kính R và tâm là Ptt. Các điểm xung quanh Ptt [3] Không mất thông tin, gp có thể giảm đi gc T = t (gc, g0 – gc , …, gp – gc) Giả sử sự sai số giữa gp và gc là độc lập với gc, ta có thể nhân tử hóa gc như sau: T = t (gc) t (g0- gc, …, gp-1 - gc) 6 t(gc) biểu thị xu hướng độ sáng tối của cả bức ảnh nên không liên quan đến kết cấu của ảnh cục bộ do đó có thể bỏ qua T ~ t ((g0 – gc), …, (gp-1 – gc)) Mặc dù tính bất biến trái ngược với những thay đổi thang độ xám trong thang điểm ảnh, nhưng có sự khác biệt về tỷ lệ.
Để có được các đặc điểm bất biến đối với màu đen và trắng (thang độ xám), hãy xem xét dấu hiệu của độ lệch: T ~ t (s (g0 – gc), …, s (gp-1 – gc)) Với s là hàm dấu: [3] (2.1) Trọng số 2p được sử dụng cho các hàm dấu, s(gp–gc) nhằm chuyển đổi sự khác biệt giữa các điểm ảnh lân cận thành một giá trị duy nhất [3].2) Với P pixel, có 2p giá trị LBPP, R trong khoảng [0, 2p−1], nhưng để đơn giản, ta có thể chọn một số giá trị trong 2p giá trị này và ký hiệu là: LBPP, Ru2 Thuật toán Local Binary Pattern Thông tin Local Binary Pattern của mỗi pixel tại trung tâm khối hình ảnh được tính toán từ thông tin của các pixel lân cận. Các bước có thể được tóm tắt như sau: Bước 1: Đặt bán kính làm việc, thường là bán kính R, để phát hiện các pixel lân cận. Bước 2: Tính giá trị Local Binary Pattern của pixel giữa (xc, yc) của mỗi khối ảnh bằng cách so sánh giá trị thang độ xám của các pixel lân cận với thang độ xám của pixel giữa (gc). Hàm nhị phân s(z) được định nghĩa như sau: nếu z ≥ 0 thì s(z) = 1, nếu không thì s(z) = 0.
7 Giá trị Local Binary Pattern của pixel trung tâm được tính bằng cách xác định thang độ xám giá trị của các pixel lân cận và giá trị thang độ xám của các giá trị nhị phân chênh lệch giá trị pixel trung tâm. Ví dụ: Hình 2. Biến thể của Local Binary Pattern đồng dạng [3] Một mẫu nhị phân được xem là "đồng dạng" nếu có hai lần chuyển đổi từ giá trị bit sang 0 hoặc từ giá trị bit sang 1 trong quá trình tuần hoàn chuỗi bit. Ví dụ: chuỗi 00000000 không phải là Chuyển tiếp, chuỗi 01110000 và 11001111 chứa hai chuyển đổi, vì vậy chúng là một Local Binary Pattern duy nhất.
Nhưng chuỗi 11001001 có 4 lần chuyển tiếp và chuỗi 01010011 có 6 lần chuyển tiếp nên chúng không phải là Local Binary Pattern đồng nhất. Dựa trên định nghĩa này, có P(P-1) + 3 nhãn trong bảng ánh xạ lân cận của bán kính làm việc P. Ví dụ, trong trường hợp 8 lân cận, có tổng cộng 59 nhãn. Bảng thống kê các mẫu của uniform LBP [3] 2.3 PHƯƠNG PHÁP PHÁT HIỆN KHUÔN MẶT HAAR-LIKE Phương pháp Haar-like, phát triển bởi Paul Viola và Michael J.
Jones, là một phương pháp tiếp cận nâng cao để nhận dạng khuôn mặt dựa trên đặc điểm hình thái của khuôn mặt. Hệ thống nhận dạng khuôn mặt học từ các mẫu khuôn mặt trong quá trình đào tạo và sử dụng thông tin này để nhận dạng khuôn mặt trong ảnh mới. Phương pháp này kết hợp hai thành phần chính: các hàm Haar-like và hình ảnh tích phân. Các đặc điểm Haar-like được áp dụng cho các phần của hình ảnh để tính toán các giá trị đặc điểm, sau đó các giá trị này được sử dụng để phân loại khuôn mặt bằng mô hình học máy.
Hình ảnh tích hợp giúp tính toán các giá trị giống tóc hiệu quả hơn. Phương pháp Haar-like được sử dụng trên ảnh thang độ xám mà không sử dụng thông tin về màu sắc khuôn mặt. Việc chuyển đổi ảnh màu sang ảnh thang độ xám và ảnh tích hợp được thực hiện trước khi tính toán các đặc trưng Haar- like. Mặc dù không sử dụng thông tin màu sắc nhưng phương pháp này vẫn cho kết quả nhận diện khuôn mặt rất chính xác và hiệu quả.
9 Mỗi hàm Haar-like xác định một khu vực hình chữ nhật được chia thành 2, 3 hoặc 4 hình chữ nhật nhỏ, mỗi hình chữ nhật có màu trắng hoặc đen truyền thống. Trong quá trình dò tìm khuôn mặt, hệ thống sẽ quét toàn bộ hình ảnh đầu vào trong cửa sổ con có kích thước cố định. Mỗi cửa sổ con được tạo tương ứng với một ảnh con và mỗi cửa sổ con sử dụng các hàm Haar-like để tính giá trị đặc trưng. Các giá trị này sau đó được đưa vào bộ phân loại để xác định xem khung có chứa khuôn mặt hay không [4].
Ứng với mỗi một đặc trưng, một bộ phân lớp yếu hk(x) được định nghĩa theo Công thức: (2.3) Trong đó: là cửa sổ con cần xét là ngưỡng là giá trị đặc trưng của Haar-like là hệ số quyết định chiều của bất phương trình 2.4 GIẢI THUẬT ADABOOST AdaBoost là 1 thuật toán phân loại mạnh phi tuyến được Freund và Schapire đề xuất vào năm 1995 dựa trên phương pháp tăng cường. Cơ chế hoạt động của AdaBoost là kết hợp tuyến tính các “phân loại yếu” để tạo ra một “phân loại mạnh”. Tính năng đặc biệt của AdaBoost là sử dụng trọng số để phát hiện các mẫu khó nhận dạng. Trong quá trình huấn luyện, mỗi khi xây dựng một "phân loại yếu", thuật toán sẽ cập nhật trọng số mẫu.
Đặc biệt, trọng số của các mẫu bị phân loại sai tăng lên, trong khi trọng số của các mẫu được phân loại đúng lại giảm. Trong mỗi lần lặp, "phân loại yếu" tiếp theo tập trung vào các mẫu không được "phân loại yếu" trước đó phân loại tốt.