Bài viết này đề xuất phương pháp phát hiện khuôn mặt người trong ảnh theo hướng tiếp cận phân lớp nhị phân. Kết quả thực nghiệm cho thấy phương pháp được đề xuất cho độ chính xác phát hiện khuôn mặt khá tốt và có tốc độ xử lý nhanh hơn, đây là cơ sở để có thể phát triển những ứng dụng xử lý khuôn mặt yêu cầu thời gian thực trên dữ liệu video.
Huỳnh Cao Tuấn, Đỗ Sĩ Trường, Nguyễn Thanh Bình, Lâm Thành Hiển PHÁT HIỆN KHUÔN MẶT NGƯỜI TRONG ẢNH BẰNG KỸ THUẬT PHÂN LỚP NHỊ PHÂN Huỳnh Cao Tuấn*, Đỗ Sĩ Trường*, Nguyễn Thanh Bình+, Lâm Thành Hiển* * Trường Đại học Lạc Hồng + Học viện Công nghệ Bưu Viễn thơng Tóm tắc: Phát khn mặt người ảnh kỹ thuật ước lượng thông số cho mơ hình dự đốn nhằm tìm vị trí khn mặt Đây khâu quan trọng hệ thống phân tích biểu cảm khn mặt hệ thống giám sát an ninh… Bài báo đề xuất phương pháp phát khuôn mặt người ảnh theo hướng tiếp cận phân lớp nhị phân Kết thực nghiệm cho thấy phương pháp đề xuất cho độ xác phát khn mặt tốt có tốc độ xử lý nhanh hơn, sở để phát triển ứng dụng xử lý khuôn mặt yêu cầu thời gian thực liệu video Hay nghiên cứu Guggisberg [7] dùng phương pháp định vị đặc trưng khuôn mặt cho ảnh xám Ý tưởng là: sử dụng lọc để làm biên, làm bật vùng có hình dạng rõ ràng Lúc biểu đồ mức xám (Histogram) ảnh có đỉnh bật, dựa vào đỉnh này, xác định giá trị ngưỡng phù hợp để tạo ảnh nhị phân tương ứng Vùng ứng viên khn mặt vùng có phần liên hệ hai ảnh nhị phân Nhược điểm phương pháp dùng phép tốn hình thái học nên khó kết hợp với đặc trưng khác để định vị khn mặt Từ khóa: Phát khuôn mặt, ước lượng biểu cảm, cử khuôn mặt Vào năm 2013, Li Chung [8] đề xuất cách tiếp cận để định vị khuôn mặt ảnh có phức tạp cách sử dụng đặc trưng lỗ mũi, mắt, đoạn mũi môi để thể khuôn mặt chuẩn Sử dụng mơ hình Gauss để mơ hình tập khoảng cách, với loại đặc trưng ta tính khoảng cách chúng Vì đặc trưng khơng thể xuất ngẫu nhiên nên ta dùng mơ hình xác suất để định vị chúng qua khoảng cách I GIỚI THIỆU Việc phát khuôn mặt người ảnh nghiên cứu nhiều có nhiều phương pháp khác [1] [2] [3] [4]; chẳng hạn phương pháp phát định vị khuôn mặt từ ảnh có phức tạp nhằm tìm cạnh, sau loại bỏ bớt nhóm cạnh lại cho cịn lại biên bao quanh khn mặt phân biệt vùng đầu [5] Độ xác giải thuật đạt đến 80% với 48 ảnh có phức tạp Nghiên cứu Cootes [6] dùng đốm vạch sọc để phát khuôn mặt Tiếp cận dùng thuật toán Laplace để biến đổi hình ảnh xác định đốm, sau tìm hình tam giác ứng với với thành phần khuôn mặt Họ dùng vạch sọc để ghi nhận nét mặt, đồng thời dùng hai hình tam giác để mô tả quan hệ đốm, đốm tối đốm sáng để tả mắt, gị má mũi Khn mặt phát vạch sọc bao quanh thành phần Còn Su Zheng [9] dựa vào thay đổi mức độ sáng vùng khác khuôn mặt (như hai má, hai mắt trán) Sau đó, xác định cặp tỷ số số vùng cho ta lượng bất biến rõ ràng Sự thay đổi độ sáng vùng khuôn mặt tạo cặp quan hệ sáng-tối vùng nhỏ ghi nhận lại Một khuôn mặt định vị thỏa mãn tất cặp sáng-tối mối quan hệ tương quan cặp với Tác giả liên hệ: Huỳnh Cao Tuấn, Email: caotuan@lhu.edu.vn Đến tòa soạn: 10/2020, chỉnh sửa: 11/2020, chấp nhận đăng: 12/2020 Hình 1.1 Mẫu khn mặt phương pháp định vị SỐ 04A (CS.01) 2020 TẠP CHÍ KHOA HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 42 PHÁT HIỆN KHUÔN MẶT NGƯỜI TRONG ẢNH BẰNG KỸ THUẬT PHÂN LỚP NHỊ PHÂN Hình 1.1 mẫu khn mặt có kích thước theo tỷ lệ 14x16 pixel sử dụng phương pháp định vị khuôn mặt Schneiderman Kanade [10], gồm 16 vùng khuôn mặt 23 quan hệ thể thông qua mũi tên Có 11 quan hệ thiết yếu (mũi tên đen) 12 quan hệ xác thực (mũi tên đỏ) Các tác giả Wu Toàn cộng [2] [11] sử dụng đặc trưng Haar thuật toán AdaBoost để xác định thành phần nằm vùng chứa II ĐỀ XUẤT KỸ THUẬT PHÁT HIỆN MẶT NGƯỜI Phương pháp tiếp cận Việc phát khuôn mặt thực dựa ý tưởng thực phân lớp nhị phân với vùng ảnh quan tâm, từ kết luận vùng ảnh khn mặt hay không Việc xét duyệt thực chuỗi phân lớp nhị phân vùng ảnh chấp nhận chấp nhận toàn phân lớp nhị phân chuỗi Các phân lớp nhị phân xây dựng sở sử dụng định, việc đánh giá nút phân lớp nhị phân Các phân lớp nhị phân xây dựng nhiều dạng khác nhau, ý tưởng cho điều để lựa chọn cách thức phân lớp đơn giản nhanh chóng số đầu tiên, giúp nhanh chóng loại vùng nền, đồng thời thiết kế cho phép việc nghiên cứu thử nghiệm với cách thức phân lớp khác nút Việc phát mặt người tiến hành thông qua hai bước - - Bước thứ học; tức từ tập ảnh khuôn mặt ảnh khuôn mặt để tạo liệu học mơ hình khn mặt mẫu Bước thứ hai phát hiện; việc phát khuôn mặt việc dị tìm xem vùng ảnh có thỏa mãn đặc điểm mơ hình xây dựng hay không Kỹ thuật xác định mô hình gương mặt mẫu Mơ hình xây dựng dựa tập liệu huấn luyện sau: {(𝐼𝑠 , 𝑣𝑠 , 𝑤𝑠 ): 𝑠 = 1,2, , 𝑆} (2.1) Trong đó, vs nhãn ảnh Is, ws trọng số tương ứng Cụ thể, trường hợp này, vấn đề toán đưa thực phân lớp nhị phân, nhãn có giá trị tương ứng +1 -1 Giá trị trọng số ws cho phép đánh dấu mức độ quan trọng khác mẫu đầu vào tập huấn luyện Quá trình xây dựng thực nút sở lựa chọn phân lớp nhị phân có khả phân lớp tốt liệu huấn luyện, tức đạt giá trị cực tiểu cho hàm mục tiêu; cụ thể thực tìm sai số bình phương nhỏ ứng với việc phân chia tập huấn luyện xác định nút Hàm mục tiêu có dạng: SỐ 04A (CS.01) 2020 𝑊𝑀𝑆𝐸(𝐼, 𝑣, 𝑤) = ∑ 𝑤 ⋅ (𝑣 − 𝑣̄ )2 + (𝐼,𝑣,𝑤)∈𝐶0 ∑ 𝑤 ⋅ (𝑣 − 𝑣̄ 1)2 (2.2) (𝐼,𝑣,𝑤)∈𝐶1 đó: C0 C1 hai cụm tập huấn luyện tương ứng kết phân chia hai giá trị Các tham số 𝑣̄ 𝑣̄ trung bình giá trị nhãn C0 C1 Nói cách khác, nút cây, ta xét duyệt phân lớp nhị phân có thể, tùy dạng phân lớp mà ta học lựa chọn tham số, chí khơng có tham số Như vậy, từ tập liệu ban đầu, bước học nút xây dựng cây, tập liệu huấn luyện tương ứng chia đôi Cơ sở thuật toán đề xuất nằm việc học nút Thuật tốn học mơ tả sau: Algorithm 2.1: Thuật toán huấn luyện mẫu Input: Tập liệu huấn luyện U = {(𝐼𝑠 , 𝑣𝑠 , 𝑤𝑠 ): 𝑠 = 1,2, , 𝑆} Output: Tập nút T = {N0, N1 } Process: T := Ø Idx0 = {0, 1, 2, , S-1} // trọng số tương ứng với mẫu liệu huấn luyện Stack := Ø push (Stack, (N0, Idx0) ) while ( Stack ≠ Ø ) { Ni, Idxi} := pop( Stack ) // Nếu nút đạt đủ độ cao, khơng thực tính tốn chia đơi if ( Ni.level >= MAX_DEPTH ) Continue else 10 min_err := MAX_VAL 11 best_bincls := null 12 for all bincls of BCS 13 e := WMSE( bincls, U, Idxi ) 14 if (e < minerr ) 15 best_bincls := bincls 16 min_err := e 17 endif 18 endfor 19 setupNode (Ni, best_bincls, U, Idxi ) 20 { Idx i*2+1, Idx i*2+2}:= SplitDataSet( U, Idxi, best_bincls ) 21 push( Stack, (Ni*2+1, Idxi*2+1) ) TẠP CHÍ KHOA HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 43 Huỳnh Cao Tuấn, Đỗ Sĩ Trường, Nguyễn Thanh Bình, Lâm Thành Hiển 22 23 push( Stack, (Ni*2+2, Idxi*2+2) ) endif 24 endwhile Trong đó: Giá trị MAX_DEPTH tham số giới hạn chiều sâu học, tham số đặt tay, đặt mặc định 5; MAX_VAL giá trị khởi tạo cho sai số, dùng để tìm phân lớp có giá trị sai số nhỏ Theo đó, với kết phân lớp tập học nút, ta nhận giá trị hàm mục tiêu, kết lựa chọn cho nút tương ứng đạt giá trị nhỏ cho hàm mục tiêu Như vậy, ta phân tích, thời gian học tổng thời gian học mức Thời gian học mức tổng thời gian học nút tổng số lượng liệu huấn luyện nút mức tập liệu học ban đầu Thời gian học nút tổng thời gian học phân lớp Trong q trình tối ưu hóa cho nút cây, khơng gian phân lớp phải xét lớn, vậy, tập sinh ngẫu nhiên sử dụng thay Do đó, xây dựng kết hợp dựa tiếp cận boosting với lựa chọn GentleBoost Trên sở cấu trúc phân lớp xây dựng vậy, việc lại thiết kế phân lớp nhị phân tức giá trị nằm đoạn [0,255] Cụ thể, trường hợp này, ta xét vị trí tọa độ ảnh Một số kết so sánh cường độ Bảng 2.1 So sánh cường độ điểm ảnh cách phân lớp đơn giản khơng cần đến tham số Việc tính tốn đơn giản đặc trưng Haar, chưa kể đến khơng u cầu đến liệu tính trước trường hợp ảnh tích phân cho đặc trưng Haar Về mặt mở rộng, có khả tùy biến cho góc nghiêng khác đối tượng cách dễ dàng với phép biến đổi tọa độ không gian hai chiều vị trí cần so sánh Để xét duyệt nút, tập phép so sánh sử dụng Theo đó, hai vị trí phép so sánh sinh ngẫu nhiên theo phân phối phạm vi [-1, +1][-1, +1] Nếu cần xây dựng có chiều sâu D, ta phải thử B phép so sánh nút tập huấn luyện chứa S mẫu, thời gian huấn luyện O(DBS) Bảng 2.1 Một số kết ví dụ so sánh cường độ ảnh l1 l2 I(l1) I(l2) B(I : l1, l2 ) (0, 0) (1, 0) 44 43 (0, 0) (2, 0) 44 67 (0, 0) (0, 1) 44 36 (0, 0) (1, 1) 44 41 (0, 0) (2, 1) 44 76 (2, 0) (3, 0) 67 71 (2, 1) (3, 1) 76 71 (1, 2) (2, 3) 30 94 (0, 3) (3, 1) 81 71 (1, 1) (3, 3) 41 94 a) Phép so sánh cường độ điểm ảnh Một phép so sánh cường độ điểm ảnh ảnh I định nghĩa sau: 0, 𝐵(𝐼: 𝑙1 , 𝑙2 ) = { 1, 𝐼(𝑙1 ) ≤ 𝐼(𝑙2 ) 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 (2.3) đó: I(li) giá trị cường độ điểm ảnh ảnh I vị trí li Trong kỹ thuật này, tọa độ l1 l2 xác định phạm vi [−1, +1] [−1, +1] Các giá trị tọa độ l1 l2 xác định cho phép việc triển khai xác định tập vị trí khơng phụ thuộc vào kích thước ảnh mẫu Do đó, với vùng ảnh cần xác định, giá trị tọa độ cần thay đổi theo tỉ lệ phù hợp b) Giá trị trung bình cục 𝐵(𝐼: 𝑅(𝑥, 𝑦, 𝑤, ℎ), 𝛿) = { 1, 0, 𝑤∗ℎ ∑ ∑ 𝑥≤𝑖