Đề tài Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm

Nội dung Trang Mục lục 1 Lời cám ơn 4 Chương 1. Giới thiệu 5 1.1 Bài toán nhận dạng mặt người và những khó khăn 5 1.1.1 Bài toán nhận dạng mặt người 5 1.1.2 Những khó khăn của nhận dạng khuôn mặt 5 1.2 Các ứng dụng liên quan đến nhận dạng mặt người 6 1.3 Tổng quan Kiến trúc của một hệ thống nhận dạng mặt người 7 1.4 Xác định phạm vi đề tài 8 Chương 2. Các công trình liên quan 10 2.1 Các hướng tiếp cận liên quan đến phát hiện và nhận dạng khuôn mặt 10 2.2 Các tiếp cận liên quan đến phân tích đặt trưng lồi lõm 11 2.3 Các hướng tiếp cận sử dụng đặc trựng tựa lồi lõm cho phát hiện khuôn mặt 12 2.4 Nhận xét về các hướng tiếp cận hiện tại 12 Chương 3. Đặc trưng lồi lõm 14 3.1 Lồi và Lõm 14 3.2 Rút trích vùng lồi và vùng lõm 16 3.2.1 Điểm lồi và điểm lõm 16 3.2.2 Dò tìm và rút trích vùng lồi và vùng lõm 16 3.2.3 Dò tìm và phát hiện vùng lồi, lõm ở nhiều mức 19 3.2.4 Tối ưu tốc độ của việc dò tìm 21 3.3 Xây dựng cây cấu trúc lồi lõm 22 3.4 Xây dựng hàm tính độ tương đồng giữa hai cây 26 3.4.1 Độ tương đồng giữa 2 nút trên cây 26 3.4.2 Độ tương đồng giữa hai cây 27 3.4.3 Không gian cây và khoảng cách giữa hai cây 28 Chương 4. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm 30 4.1 Tập mẫu học 30 4.2 Mô hình thống kê 31 4.2.1 Gán nhãn 31 4.2.2 Thống kê 32 4.2.3 Đánh giá dùng cho phát hiện khuôn mặt 33 4.2.4 Hậu xử lý 34 4.3 Cơ sở lý thuyết của mô hình 35 Chương 5. Thử nghiệm và kết quả 38 5.1 Thử nghiệm 38 5.2 Kết quả 38 5.3 Nhận xét 39 5.4 Một số kết quả tiêu biểu 40 Chương 6. Kết luận và hướng Phát triển 46 6.1 Kết luận 46 6.2 Hướng Phát triển 46 Danh mục công trình của tác giả 48 Tài liệu tham khảo 49 Phụ lục 53

pdf58 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2217 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ợc sử dụng để phát hiện khuôn mặt. Những công trình sử dụng hướng tiếp cận này có thể kể như: K. C. Yow và R. Cipolla 1997 [12], T. K. Leung 1995 [13]. Phương pháp đối sánh mẫu: Trong hướng tiếp cận này, một mẫu khuôn mặt chuẩn được định nghĩa bằng tay trước hoặc được tham số hóa bằng một hàm số. Mẫu này được sử dụng để phát hiện khuôn mặt bằng cách quét nó qua ảnh và tính toán giá trị tương đồng cho mỗi vị trí. Việc xuất hiện một khuôn mặt tại một vị trí nào đó trong ảnh phụ thuộc vào giá trị tương đồng của điểm đó so với mẫu chuẩn. I. Craw Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 11 1992 [17] đã áp dụng một mẫu cứng trong khi A. Lanitis 1995 [15] sử dụng một mẫu có thể biến dạng trong bước phát hiện khuôn mặt. Phương pháp dựa trên máy học: Ngược với phương pháp đối sánh mẫu sử dụng các mẫu được các chuyên gia định nghĩa trước, phương pháp này sử dụng những mẫu được rút trích qua một quá trình học. Nói cách khác, các thuật toán dựa trên máy học dùng các kỹ thuật phân tích thống kê và máy học để xấp xĩ một hàm phân lớp tuyến tính. Có nhiều mô hình máy học được áp dụng trong hướng tiếp cận này: Eigenface (M. Turk và A. Pentland 1991 [16]), Mô hình dựa trên phân phối (K. K. Sung and T. Poggio 1998 [6]), Mạng Nơ-ron (H. Rowley 1998 [7]), Support Vector Machine (E. Osuna et al 1997 [10]), Phân lớp Bayes (H. Schneiderman và T. Kanade 1998 [8]), Mô hình Markov ẩn (A. Rajagopalan et al 1998 [9]), và các mô hình tăng cường (AdaBoost của P. Viola và M. Jones 2001 [4][5]; FloatBoost do Stan Z. Li và Zhen Qiu Zhang 2004 [2][3]). 2.2 Các tiếp cận liên quan đến phân tích đặt trưng lồi lõm Năm 1983, James L. Crowley đã đưa ra khái niệm ridge và peak [19][20]. Ridge là các điểm lồi trên ảnh. Tập các điểm ridge trên ảnh sẽ tạo thành những đường xương sống và các đường này sẽ tạo thành các chùm tia gọi là peak (chùm). James L. Crowley sử dụng phép hiệu của lọc Low Pass để rút ra các điểm ridge (lồi) trên ảnh, và sau đó một thuật toán duyệt để kết chúng lại với nhau thành các đặc trưng ridge và peak. Tiếp sau đó, một số các phương pháp được đề xuất để rút trích các thông tin về ridge và valley (lõm) [23][24][25][26][27][29]. Hầu hết các phương pháp này dùng một bộ lọc để tăng cường thông tin về cạnh trên ảnh sau đó dò tìm quỹ tích các điểm cực trị. Quỹ tích các điểm cực trị này được xem là các đặc trưng lồi và lõm. Trong [23] đặc trưng lồi và lõm được dò tìm trên nhiều độ phân giải khác nhau, cho kết quả đáng kể. Tuy nhiên, chất lượng của các đặc trưng lồi lõm này còn phụ thuộc khá nhiều vào điều kiện chiếu sáng cũng như các mức phân giải được lựa chọn trước. Để giải quyết sự phụ thuộc này, Lindeberg [30] đã đề xuất một phương pháp tự động chọn độ phân giải tốt nhất. Gần đây Hải Trần [21][22] đưa ra một cách tiếp cận sử dụng Laplacian để tăng cường thông tin cạnh sau đó dò tìm ridge và peak dưới nhiều Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 12 mức khác nhau. Trong hướng tiếp cận này, các đặc trưng ridge và peak được biểu diễn dưới dạng các đồ thị quan hệ hoặc các cây cấp bậc với các tầng là các ridge và peak được dò tìm tại các mức khác nhau. 2.3 Các hướng tiếp cận sử dụng đặc trựng tựa lồi lõm cho phát hiện khuôn mặt Áp dụng đặc trưng tương tự cho bài toán phát hiện khuôn mặt, có hướng tiếp cận của Quan Yuan [28]. Quan Yuan đưa ra một khái niệm mới gọi là đặc trưng tựa thung lũng hay có dạng lõm (valley-like feature). Đặc trưng này dựa trên hiệu mức sáng của các điểm xung quanh và điểm đang xét ở trung tâm để xác định xem điểm này có dạng lõm hay không. Các điểm xung quanh được thiết kế hình dạng khá đặc biệt để phát hiện hai mắt và miệng của khuôn mặt. Mặt dù hướng tiếp cận này khá hấp dẫn, tuy nhiên đặc trưng này quá đặc biệt đối với một số điều kiện thu, chụp ảnh cụ thể. 2.4 Nhận xét về các hướng tiếp cận hiện tại Các hướng tiếp cận trình bày trong phần 2.1 cho thấy khá tổng quát và ổn định, nhưng vẫn còn một vài hạn chế nhất định. Hầu hết các hướng tiếp cận nêu trên sử dụng các đặc trưng chủ yếu dựa trên độ sáng điểm ảnh, với mức độ ý niệm ngữ nghĩa thấp. Vì vậy, các mối quan hệ giữa các đặc trưng rút trích được cần phải thêm vào các luật heuristic để phân tích hiệu quả hơn. Mặt khác, nếu không có các tri thức bổ sung được định nghĩa trước, các mô hình có cấp ý niệm thấp này không thể đạt được độ chính xác cao hơn trong nhận dạng mặt người. Vì thế, để đạt độ chính xác cao hơn trong nhận dạng mặt người, chúng ta cần phải hướng đến một loại đặc trưng dựa trên mô hình ý niệm cao hơn như là cấu trúc của khuôn mặt. Để giải quyết khó khăn nêu trên, trong luận văn này chúng tôi đề xuất một đặc trưng có mô hình ý niệm cao hơn: lồi và lõm tại nhiều mức. Theo cách tiếp cận này, cấu trúc khuôn mặt được biểu diễn bằng một cây cấp bậc của các lồi (chỏm) và lõm (thung lũng). Dựa trên đặc trưng này, chúng tôi áp dụng một mô hình thống kê để xác định, phát hiện khuôn mặt. Trong luận văn này, chúng tôi tập trung chính vào bài Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 13 toán phát hiện khuôn mặt mà không giải quyết bài toán nhận dang. Tuy nhiên, trong phần cuối, chúng tôi sẽ thảo luận chi tiết hơn khả năng sử dụng đặc trưng này để nhận dạng khuôn mặt cũng như việc mở rộng đặc trưng này cho bài toán rộng hơn: phân loại đối tượng dựa theo cấu trúc. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 14 CHƯƠNG 3 ĐẶC TRƯNG LỒI LÕM 3.1 Lồi và Lõm Hiểu theo nghĩa thật sự của nó, lồi (chỏm) là các điểm cao nhất trên dãy núi và lõm (thung lũng) là các điểm có độ cao thấp nhất. Trong ảnh vệ tinh, lồi là đường xương sống của dãy núi, còn lõm là đường khe chạy giữa hai dãy núi. Trong ảnh y tế, lồi có thể là các đường mạch máu hay các cơ quan nhô cao và lõm là các thành phần trũng xuống. Còn trong ảnh khuôn mặt, mũi và các phần nhô của hai má được coi như là lồi và các phần hốc mắt được coi là lõm. Trong [21][22], Hải Trần sử dụng một bộ lọc Laplacian-of-Gaussian, sau đó áp dụng một thuật toán để dò tìm quỹ tích của các điểm cực trị. Hình 3.1 và 3.2 biểu diễn các đặc trưng lồi và lõm tương tự như kết quả của Hải Trần. Các điểm lồi được tô màu đỏ và lõm được tô màu xanh. Chúng ta lưu ý rằng các điểm lồi và lõm rút trích được chỉ biểu diễn được các vùng lồi và lõm nhỏ, chi tiết, chẳng hạn như: mắt, chân mày, mũi, và miệng. (a) Ảnh gốc (b) Ảnh ridge và valley Hình 3.1 Dò tìm thông tin lồi và lõm trên ảnh vệ tinh sử dụng LoG với σ = 2 Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 15 Mục tiêu nghiên cứu của chúng tôi là dò tìm các đặc trưng lồi và lõm tại các mức khác nhau. Ví dụ như, tại mức thấp nhất, chúng tôi cần dò tìm các đặc trưng lồi lõm có kích thước nhỏ và chi tiết như mắt, mũi, v.v... Trong những mức độ cao hơn kế tiếp, chúng tôi sẽ dò tìm các vùng lồi và lõm lớn hơn. Đến mức độ lớn nhất, toàn bộ khuôn mặt có thể trở thành một vùng lồi. Nói cách khác, ở mức lớn sẽ dò được vùng lồi và lõm kích thước lớn và ít chi tiết hơn. Ý tưởng nghiên cứu này đến một cách tự nhiên, cũng giống như khi nhìn một người từ rất xa, ta chỉ có thể nhìn được dáng, gần hơn một tí ta có thể nhìn được mặt nhưng không nhìn được các chi tiết mắt, mũi, miệng trên khuôn mặt, và gần hơn nữa ta mới có thể nhìn chi tiết mắt mũi, miệng. Việc này tương ứng với cách tiếp cận phân tích nhiều mức khác nhau của chúng tôi. Do bộ lọc Laplacian-of-Gaussian chỉ có thể sử dụng để phát hiện thông tin cạnh qua các điểm biên (zero crossing), nên nó không thể dùng cho việc phát hiện các vùng lồi và lõm khi các thông tin cạnh biên bị đứt nét. Trong phần tiếp theo chúng tôi sẽ đề xuất một phương pháp đơn giản để rút trích các vùng lồi và lõm. (a) Ảnh gốc (b) Ảnh ridge và valley Hình 3.2 Dò tìm thông tin lồi và lõm trên ảnh khuôn mặt sử dụng LoG với σ = 2 Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 16 3.2 Rút trích vùng lồi và vùng lõm 3.2.1 Điểm lồi và điểm lõm Gọi ),( yxI là một hàm hai biến biểu diễn một ảnh I. Hàm số này thiết lập một mặt )),(,,( yxIyx . Mục tiêu của chúng ta là dò tìm các điểm có khả năng là điểm lồi hoặc điểm lõm trên mặt này. Một cách chính xác theo toán học, điểm lồi và lõm là những điểm mà tại đó cả hai đạo hàm 2 2 x I ∂ ∂ và 2 2 y I ∂ ∂ đạt cực trị. Trên thực tế, do ảnh là một hàm số không liên tục, hàm rời rạc do sự số hóa của máy tính, vì vậy sẽ rất khắt khe nếu chúng ta chỉ dò tìm các điểm cực trị. Và chúng ta sẽ bị mất một số thông tin của các điểm ảnh lồi và lõm cũng như những điểm lân cận chúng. Chúng tôi đưa ra các công thức sau đây nhằm giảm bớt các điều kiện ràng buộc đối với điểm lồi và điểm lõm: }0),(),(),{( >∧≥= yxLoGyxLoGyxRP δ (3.1) }0),(),(),{( <∧≥= yxLoGyxLoGyxVP δ (3.2) Trong công thức 3.1 và 3.2, RP là tập các điểm lồi và VP là tập các điểm lõm. Ký hiệu ),( yxLoG là giá trị của Laplacian-of-Gaussian tại điểm ),( yx . Như đã trình bày trong phần 3.1, mục đích của chúng tôi là rút trích các vùng lồi và lõm chứ không chỉ rút trích điểm lồi và điểm lõm. Vì thế chúng tôi đã mở rộng công thức 3.1 và 3.2 cho phù hợp với bài toán rút trích vùng. 3.2.2 Dò tìm và rút trích vùng lồi và vùng lõm Để đánh giá một vùng có phải là lồi, là lõm hoặc không lồi cũng không lõm, chúng tôi đề xuất một bộ lọc như sau: Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 17 (a) Vùng đang xét trên ảnh (b) một bộ lọc vuông Hình 3.3 Dò tìm vùng trên ảnh Ứng với vùng đang xét – một hình vuông ss× , chúng ta tính giá trị của bộ lọc trên vùng này theo công thức 3.3. Đạt S1, S2, S3, và S4 là các hình chữ nhật đen xung quanh hình vuông R (Hình 3.3b), giá trị lọc F(R) được định nghĩ như sau: ∑ = −= 4 1 )()(2)( i iSsumRsumRF (3.3) Trong công thức 3.3, hàm sum(X) là hàm tổng giá trị độ sáng trong vùng X. Dựa trên giá trị F(R) vừa tính được, chúng ta đánh giá xem vùng R là lồi hay lõm theo công thức sau: ⎪⎩ ⎪⎨ ⎧ <∧≥⇔ >∧≥⇔ = otherwisenormal RFRFvalley RFRFridge R 0)()( 0)()( δ δ (3.4) Công thức 3.4 là công thức mở rộng của 3.1 và 3.2 nhằm để dò tìm các vùng lồi và lõm trên ảnh. Sự khác biệt chủ yếu ở chổ ta sử dụng bộ lọc hiệu trong 3.4 thay vì sử dụng Laplacian-of-Gaussian trong 3.1 và 3.2. Chúng ta để ý rằng, bằng cách thay kích thước S của vùng đang xét, hay nói cách khác là kích thước của lọc, chúng ta có thể dò tìm các vùng lồi và lõm ứng với nhiều kích cở, mức độ khác nhau. Ngoài ra, để dò tìm và rút trích các vùng lồi lõm có hình dạng khác nhau, chúng tôi sử dụng Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 18 một tập các lọc hình học có hình dạng như trong hình 3.4 thay vì chỉ sử dụng một bộ lọc vuông. (a) Lọc hình vuông (b) Lọc chữ nhật ngang (c) Lọc chữ nhật đúng Hình 3.4 Tập các bộ lọc kích thước S Với sự bổ sung tập bộ lọc như trên, công thức 3.3 được viết lại như sau: ∑ = −= 4 1 )()(2)( i iS SsumRsumRF (3.5) ∑ = −= 4 1 )(2)(3)( i iR SsumRsumRF (3.6) )(RFS được sử dụng để tính gia trị lọc vuông còn )(RFR được sử dụng để tính giá trị các lọc hình chữ nhật. Chúng ta dễ dàng nhận thấy rằng các công thức tính lọc đều tương tự với công thức của một Laplacian, nhưng có một chút khác biệt là sử dụng vùng thay vì từng điểm đơn. Trong công thức 3.5 và 3.6, hệ số đứng trước hàm sum(R) có được là do tỷ lệ giữa diện tích vùng ở tâm (vùng đang xét) và tổng diện tích của vùng lân cận. Trong hình 3.4a, tổng diện tích của các vùng đen xung quanh gấp đôi diện tích phần ở giữa, vì vậy chúng ta có hệ số 2. Trong hình 3.4b và 3.4c, tổng diện tích các vùng đen gấp rưỡi diện tích phần hình chữ nhật ở giữa. Một cách chính xác chúng ta phải dùng hệ số 1.5 trước hàm sum(R), nhưng việc tính toán trên số thực rất chậm, do đó để tăng tốc độ tính toán ta dùng 2 hệ số nguyên là 3 và 2 thay vì chỉ dùng 1 hệ số 1.5. Một thông số quan trọng khác trong công thức 3.4 là ngưỡng δ. Ngưỡng δ phải phụ thuộc tuyến tính vào diện tích của vùng đang xét. Chúng tôi sử dụng Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 19 2 1 KS=δ đối với lọc hình vuông có kích thước S và 22 4KS=δ đối với các lọc hình chữ nhật có kích thước S. K là một thông số thực nghiệm. Ngưỡng δ1 là tích của K và S2 – diện tích của lọc vuông. Tương tự, trong 3.6, chúng ta đã gấp đôi giá trị của FR(R) để tránh chuyện tính toán trên số thực. Vì thế, chúng ta cũng phải gấp đôi ngưỡng δ2 để tăng độ chính xác của việc đánh giá. 3.2.3 Dò tìm và phát hiện vùng lồi, lõm ở nhiều mức Chúng tôi giới thiệu một phương pháp sử dụng các lọc hiệu ở nhiều mức khác nhau để dò tìm các vùng lồi và lõm. Các lọc được giới thiệu trong phần trước sẽ được sử dụng với nhiều kích thước khác nhau vì vậy chúng sẽ dò tìm được các vùng lồi lõm ở nhiều mức khác nhau. (a) σ = 10, ảnh sau khi smoth bằng Gaussian 210 (b) Các vùng lồi lõm dò tìm với lọc kích thước 10 Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 20 (c) σ = 20, ảnh sau khi smoth bằng Gaussian 220 (d) Các vùng lồi lõm dò tìm với lọc kích thước 20 (e) σ = 60, ảnh sau khi smoth bằng Gaussian 260 (f) Các vùng lồi lõm dò tìm với lọc kích thước 60 Hình 3.5 Dòm tìm vùng lồi lõm ở nhiều mức khác nhau Đặt 1σ , 2σ ,.. nσ là các mức độ được định nghĩa trước và có độ lớn tăng dần. 1σ là mức độ thấp nhất. Tại mức độ này, chúng ta có thể dò tìm các vùng lồi, lõm có kích thước nhỏ và chi tiết. nσ là mức độ cao nhất mà tại đó chúng ta có thể dò tìm các vùng lồi lõm lớn hơn, ít chi tiết hơn. Tại mỗi mức, trước tiên chúng ta áp dụng một lọc Gaussian với kích thước 2iσ , sau đó chúng ta sử dụng 3 bộ lọc hiệu như hình 3.4 với kích thước S = iσ . Trong hình 3.5, các hình vuông và hình chữ nhật màu đỏ là các vùng lồi, còn các hình vuông và hình chữ nhật màu xanh là các vùng lõm. Trong thực tế, có nhiều vùng lồi lõm khác cũng được dò tìm được, tuy nhiên trong hình 3.5, chúng tôi chỉ tập trung vào các vùng lồi lõm dò tìm được trong vùng ảnh quan tâm – vùng ảnh khuôn mặt. Trong phần 3.3, chúng tôi sẽ trình bày phương pháp cấu trúc các vùng lồi lõm rút trích được này thành các cây cấp bậc. Trong phần tiếp theo, chúng tôi sẽ trình bày ngắn gọn thuật toán của chúng tôi nhằm tối ưu những hàm tính toán phức tạp sử dụng trong việc tính các giá trị lọc trong hình 3.4. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 21 3.2.4 Tối ưu tốc độ của việc dò tìm Trong vùng đang xét, chúng ta phải thường xuyên tính tổng độ sáng điểm ảnh của một vùng hình chữ nhật, một số hình trong chúng có thể chồng lên nhau. Việc này làm cho tính toán chậm đi rất nhiều do phải tính nhiều lần tổng độ sáng cho một vùng. Để giảm độ phức tạp của tính toán này, chúng tôi sử dụng phương pháp tương tự như ảnh tích phân (integral image) của P. Viola [5] và kỹ thuật lập trình quy hoạch động của Đức Dương [31]. Phương pháp này được trình bày như sau: Cho trước một ảnh mức xám ),( yxI , chúng ta định nghĩa một ảnh tích phân ),( yxS sao cho ),( yxS là tổng mức sáng của toàn bộ điểm ảnh trong hình chữ nhật ),,1,1( yxR . Chúng ta có thể dễ dàng tính được ),( yxS theo công thức truy hồi 3.7: ⎩⎨ ⎧ ≠∧≠+−−−−+− =∨== 00),()1,1()1,(),1( 000 ),( yxyxIyxSyxSyxS yx yxS (3.7) Hình 3.6 Ảnh tích phân Từ ảnh ),( yxS , ta dễ dáng tính được tổng độ sáng của một hình chữ nhật bất kỳ ),,,( btrlR theo công thức 3.8 sau: ),(),(),(),( tlSblStrSbrSSR +−−= (3.8) S(i,j) = [1..i]x[1..j] (i,j) (1,1) Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 22 Hình 3.7 Tính tổng độ sáng cho hình chữ nhật R(l,t,r,b) Phương pháp này cải tiến đáng kể tốc độ tính toán bởi vì chúng ta chỉ cần tính một lần ảnh tích phân và sử dụng nó trong tất cả các cửa sổ hình chữ nhật con và đặc biệt độ phức tạp tính toán không phụ thuộc vào kích thước của vùng đang xét. 3.3 Xây dựng cây cấu trúc lồi lõm Từ các vùng lồi lõm rút trích được, chúng ta xây dựng các cây quan hệ cấp bậc. Những vùng được rút trích ở mức cao nhất nσ sẽ trở thành những nút gốc của các cây sẽ tạo. Những vùng rút trích được ở mức thấp nhất 1σ sẽ được chèn vào cây như là những nút lá (xem hình 3.8) Hình 3.8 Tạo cây cấp bậc Công việc chính của việc tạo cây là kết nối các vùng rút trích được tại một mức đến các vùng của mức kế tiếp. Nếu vùng R tại mức iσ bị che khuất hơn hai phần l r t b (1,1) (W,H) Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 23 ba diện tích của nó bởi vùng R’ của mức 1+iσ , R sẽ được gán nhãn là nút con của R’. Bằng cách này chúng ta có thể dễ dàng tạo cây cấp bậc từ các vùng đã rút trích được. Các vùng rút trích được trong hình 3.5 được xây dựng thành cây như sau (xem hình 3.9) Hình 3.9 Một ví dụ về cây rút trích từ khuôn mặt Đối với mỗi nút trong cây, chúng ta cần lưu các thông tin của nút này như: loại (lồi hay lõm), hình dạng (vuông, chữ nhật ngang, chữ nhật đứng), vị trí tương đối của nó so với nút cha của nó (có giá trị từ 0 đến 12, xem hình 3.10), và thông tin về độ sáng của nó. Hình 3.10 Vị trí vùng tương đối của nút con Trong hình 3.10 biểu diễn các vị trí tương đối của nút con trên nút cha lần lượt có dạng vuông, chữ nhật ngang, và chữ nhật đứng. Việc xét một nút con có vị trí 1 2 4 3 1 2 4 3 5 6 7 8 1 2 4 3 9 10 12 11 Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 24 tương đối như thế nào đối với nút cha khá đơn giản. Nếu tâm của nút con (tâm của hình vuông hay hình chữ nhật) rơi vào vùng nào trong hình 3.10 thì chỉ số của vùng đó chính là giá trị vị trí tương đối của nút con trong nút cha. Lưu ý rằng đối với các nút gốc giá trị này sẽ là 0. Bên cạnh đó thông tin về độ sáng cũng rất quan trọng trong các bài toán phát hiện và nhận dang khuôn mặt về sau. Để lưu trữ thông tin này trên cây chúng tôi sử dụng phương pháp phân tích thành phần chính (Principal Component Analysis – PCA) để giảm số chiều của ảnh mức xám trên vùng ảnh của nút đó. Bằng cách này ta giảm được đáng kể thông tin phải lưu trữ về độ sáng của ảnh. Thay vì phải lưu trữ toàn bộ điểm sáng của các vùng lồi lõm (các nút), chúng ta chỉ cần lưu một vector PCA chứa nội dung của các điểm sáng này. Cách này giúp cho giảm thông tin phải lưu trữ, xử lý mà cũng không mất mát quá nhiều thông tin (Xem hình 3.11). Hình 3.11 Cách tính vector đại điện độ sáng cho nút Cụ thể ta thực hiện như sau: dùng một cửa sổ con S kích thước 9x9 quét theo đường zic-zac trên ảnh xám của vùng lồi lõm. Các cửa cổ này có thể chồng lắp lên nhau hai phần ba kích thước của nó. Tại mỗi điểm, ta lưu lại trung bình mức sáng của các điểm ảnh trong cửa sổ S. Như vậy ta lưu được một vector tương ứng cho biểu diễn mức sáng của điểm ảnh tại nút đó. 9 9 S Các khả năng chồng lắp cửa sổ Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 25 Vị trí của nút gốc trên ảnh Nội dung của nút được phóng ra: 1. Kiểu: lõm 2. Hình: vuông 3. Vị trí: 1 4. = (a1, a2,...,an) Hình 3.12 Ví dụ về cây rút trích được và các thông tin trên một nút Bên cạnh đó, chúng tôi sử dụng một số luật để tỉa bớt nhánh cho các cây. Nếu một nút cùng kiểu (lồi hay lõm) so với nút cha của nó thì nó được xem là một nút lập. Trong trường hợp này, nút lập sẽ được tỉa khỏi cây. Nếu nó là một nút lá, chúng ta dễ dàng xóa nó khỏi cây. Ngược lại, nếu nó không phải là nút lá, tất cả các nút con của nó sẽ được gán trở thành con của nút cha nó. Hình 3.5 và 3.9 cho ta một ví dụ về trường hợp này: chúng ta có hai vùng lồi hình chữ nhật đứng ở mức σ2 và σ3. Hai vùng này thật sự chỉ là một. Trong thực thế, do hiệu ứng của phép lọc Gaussian tại các mức khác nhau, chúng được rút trích ra từ ảnh với các kích thước khác nhau vì thế vùng lồi ở mức σ3 đã được xóa khỏi cây trong hình 3.9. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 26 3.4 Xây dựng hàm tính độ tương đồng giữa hai cây Trong phần này chúng tôi xin đề xuất một cách tính độ tương đồng giữa hai cây lồi lõm theo cách biểu diễn như phần trước. Việc xây dựng hàm tương đồng giữa hai cây là rất cần thiết trong tất cả các xử lý liên quan đến đặc trưng này. Nó có tính chất quyết định ảnh hưởng đến độ chính xác của phát hiện và nhận dạng khuôn mặt. 3.4.1 Độ tương đồng giữa hai nút trên cây Để xây dựng hàm tính độ tương đồng giữa hai cây trước hết ta cần xây dựng hàm tính độ tương đồng của hai nút trên hai cây. Với điều kiện rằng hai nút thuộc hai cây khác nhau này cùng mức σi nào đó. Đặt N1 và N2 là hai nút cùng cấp trên hai cây T1 và T2. Khi đó N1 và N2 có những thuộc tính sau: N1, N2 ∈ Node = {(t,s,p,i)} (3.9) Trong đó: t ∈{ridge, valley} : là loại của nút (lồi hay lõm). s = {square, horizontal rectangle, vertical rectangle} là hình dạng của nút (vuông, hình chữ nhật ngang, hình chữ nhật đứng). p ∈ [0..12] : là vị trí tương đối của nút trong nút cha của nó. i ∈ (a1,a2,...,an) : là vector chứa thông tin độ sáng của nút. Trong đó n thay đổi tùy theo cấp của nút. Ở mức σi càng cao, kích thước của vùng lồi lõm tương ứng với nút càng lớn, số chiều n của vector này càng cao. Dựa trên các thuộc tính của node định nghĩa trong công thức 3.9, ta xây dựng công thức tính độ tương đồng giữa 2 nút như sau: ).,.()1().,.().,.().,.(),( 2111121121121121 iNiNEVpNpNEsNsNEtNtNENNNS γβαγβα −−−+++= (3.10) Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 27 Trong công thức 3.10, α1, β1, và γ1 là các thông số thực ngiệm, hàm E(x,y) dùng để xét sự giống nhau giữa 2 thuộc tính được định nghĩa như sau: ⎩⎨ ⎧ ≠ == yx yx yxE 0 1 ),( (3.11) Bên cạnh đó ký hiệu EV(x,y) là hàm tính độ tương đồng giữa 2 vector được chuẩn hóa về đoạn [0,1]. Trong đó x và y là hai vector độ sáng có n chiều (a1,a2,...an). n ayax yxEV n i ii 255 )..( 1),( 1 2∑ = − −= (3.12) Do mỗi thành phần ai trong vector độ sáng có giá trị là độ sáng (ai ∈[0,255]) nên dễ dàng chứng minh được EV(x,y) ∈[0,1]. EV(x,y) đạt giá trị lớn nhất là 1 khi hai vector x và y trùng nhau. Và EV(x,y) đạt giá trị nhỏ nhất là 0 khi hai vector có khoảng cách Euclid xa nhau nhất. Và từ đó ta cũng dễ dàng suy ra được giá trị của ]1,0[),( 21 ∈NNNS với mọi cặp nút N1 và N2. 3.4.2 Độ tương đồng giữa hai cây Trên cơ sở hàm tính độ tương đồng giữa hai nút, ta xây dựng lên hàm tính độ tương đồng giữa hai cây. Gọi T1 và T2 và hai cây đang cần tính độ tương đồng. T1 và T2 có những thuộc tính sau: )},...,,,,{(, 2121 ncccnrTreeTT =∈ (3.13) Trong đó: r : là nút gốc của cây r ∈ Node. n : là số nhánh con của cây n ∈ N. ci : là cây (nhánh) con thứ i của cây ci ∈ Tree và i ∈ [1..n]. ci có thể là một nút là hoặc cũng có thể là một cây khác. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 28 Từ công thức 3.13, ta xây dựng công thức tính độ tương đồng của 2 cây như sau: nnTT cTcTTS rTrTNSTTTS nT i nT j ji .. ).,.( )1().,.(),( 21 . 1 . 1 21 221221 1 2∑∑ = =−+= αα (3.14) Trong đó α2 là thông số thực nghiệm. Các thông số thực nghiệm α1, β1, và γ1 trong công thức 3.10 và α2 trong 3.14 sẽ được thảo luận chi tiết trong phần thực nghiệm nhằm chọn thông số thực nghiệm tốt nhất. Theo công thức 3.14 ta cũng dễ dàng nhận thấy ]1,0[),( 21 ∈TTTS với mọi cặp cây T1 và T2. Giá trị của hàm này càng lớn, hai cây này càng giống nhau càng nhiều hơn. Ngoài ra, trong phần thử nghiệm chúng tôi có thử nghiệm đặc trưng lồi lõm mà không sử dụng đến thông tin độ sáng. Khi đó công thức 3.10 tính độ tương đồng giữa hai nút được đơn giản hóa như sau: ).,.()1().,.().,.(),( 211121121121 pNpNEsNsNEtNtNENNNS βαβα −−++= (3.15) 3.4.3 Không gian cây và khoảng cách giữa hai cây Trong một số trường hợp, hàm tính độ tương đồng giữa hai cây không đủ để tính toán trong một số trường hợp. Để đưa về bài toán không gian, ta xây dựng một “không gian cây” (tree-space), không gian này sẽ là cơ sở để cho các bài toán phát hiện và nhận dạng khuôn mặt về sau. Trong không gian cây này, mỗi cây được xem là một điểm trong không gian. Trên cơ sở đó ta xây dựng hàm tính khoảng cách giữa hai cây như sau: ),(1, 2121 TTTSTT −= (3.16) Dễ dàng nhận thấy, khoảng cách giữa hai cây là một giá trị thuộc đoạn [0,1]. Và khoảng cách tiến dần về bằng không khi hai cây càng giống nhau. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 29 Trên cở sở các công thức tính độ tương đồng, khoảng cách này, chúng tôi xây dựng một mô hình thống kê để dò tìm và phát hiện khuôn mặt. Mô hình có thể dùng cho nhận dạng khuôn mặt cũng như mở rộng cho bài toán phân loại đối tượng. Phần mô hình này sẽ được trình bày trong chương sau. Các phần thảo luận về khả năng mở rộng của mô hình này cho bài toán nhận dạng khuôn mặt và phân loại đối tượng sẽ được trình bài trong chương kết luận và hướng phát triển. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 30 CHƯƠNG 4 PHÁT HIỆN KHUÔN MẶT DỰA TRÊN ĐẶC TRƯNG LỒI LÕM 4.1 Tập mẫu học Trong luận văn này chúng tôi thử nghiệm trên tập dữ liệu ảnh thu thập bởi Markus Weber [32]. Đây là tập dữ liệu chụp các khuôn mặt thẳng, chụp dưới nền phức tạp và đa dạng gồm cả trong nhà và ngoài trời. Điều kiện chiếu sáng khá đa dạng gồm cả các ảnh chụp cùng chiều chiếu sáng và ngược sáng. Ngoài ra còn có các ảnh chụp phức tạp do một phần của khuôn mặt bị che khuất. Ngoài ra, tập ảnh này còn chứa cả ảnh chụp lại từ tranh họa mặt người. (a) Ảnh chụp trong nhà (b) Ảnh chụp ngoài trời (c) Ảnh chụp ngược sáng (d) Ảnh chụp phức tạp do che kuất Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 31 (e) Ảnh chụp phức tạp do biểu cảm (f) Ảnh chụp từ tranh họa Hình 4.1 Một số ảnh trong tập ảnh Weber Trong tập ảnh này có tất cả 450 ảnh. Chúng tôi sử dụng 200 ảnh để học và 250 ảnh còn lại để kiểm thử. 4.2 Mô hình thống kê 4.2.1 Gán nhãn Từ tập ảnh học, chúng tôi dùng phương pháp trình bày trong chương 3 để rút trích các cây lồi lõm trên ảnh. Các cây này được gán nhãn thủ công. Mỗi cây bất kỳ được gán nhãn là mặt (face) hay không phải khuôn mặt (non-face). Như vậy, từ một tập ảnh học ta rút trích được hai tập cây. Tập cây biểu diễn khuôn mặt và tập cây biểu diễn đối tượng không phải là khuôn mặt. Hình 4.2 Mô hình gán nhãn cho tập học Gán nhãn Rút trích câyTập ảnh học Face Non-face Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 32 4.2.2 Thống kê Mục đích của bước này là xấp xĩ được một cấu trúc cây khuôn mặt. Trong bước gán nhãn, chúng tôi tiến hành rút trích cây và gán nhãn. Kết quả thu được 2036 cây thuộc lớp “khuôn mặt”. Các cây này được dùng làm dữ liệu học thống kê. Mô hình thống kê chúng tôi sử dụng như sau: Đặt S(Tx) là tổng khoảng cách của một cây Tx bất kỳ đến tất cả các cây còn lại trong tập học. ∑≠∧= = = xini i ixx TTTSTS 1 ),()( (4.1) Ta có tập học sẽ trở thành: })),(,{( FaceSetTTSTTraining iii ∈∀= (4.2) Trong đó FaceSet là tập các cây được gán nhãn là “khuôn mặt”. Việc học thống kê theo mô hình của chúng tôi khá đơn giản. Trước tiên, chọn trong tập Training ra k cây có giá trị S(T) bé nhất. k cây này sẽ là đại diện tiêu biểu cho một lớp khuôn mặt. Từ kết quả k cây rút trích được, tạm gọi là tập cây chuẩn, chúng ta có thể dùng chúng để phát hiện khuôn mặt theo mô hình như sau: Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 33 Hình 4.3 Mô hìn phát hiện khuôn mặt Trong mô hình này, trước tiên từ ảnh đầu vào ta dùng phương pháp rút trích lồi lõm ta sẽ nhận được một danh sách các cây lồi lõm. Ứng với mỗi cây ta dựa vào tập cây chuẩn để kiểm tra xem liệu đây có phải là cây biểu diễn “khuôn mặt” hay không. Nếu thỏa điều kiện đánh giá nó sẽ trở thành ứng viên khuôn mặt. Trong bước cuồi cùng, hậu xử lý, các ứng viên sẽ được kiểm tra ràng buộc. Và sau cùng là khử trùng lắp khuôn mặt do có một số cây có một phần của nút gốc chồng lên nhau. 4.2.3 Đánh giá dùng cho phát hiện khuôn mặt Dựa trên tập cây chuẩn, một cây bất kỳ được đánh giá có khả năng là khuôn mặt hay không dựa trên trung bình khoảng cách của cây đang xét đến tất cả các cây trong tập cây chuẩn. k Tt tD k i i∑ == 1 , )( (4.3) Trong đó: )(tD : là trung bình khoảng cách của cây t đến các cây trong tập chuẩn t: là cây đang xét Ti: là các cây trong tập k cây chuẩn Đánh giá cây Ảnh input Tập cây chuẩn ứng viên Hậu xử lý Các vị trí khuôn mặt Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 34 Căn cứ vào giá trị D , cây t được đánh giá là ứng viên mặt hay không dựa theo công thức sau: 1)( δ≤⇔∈ tDateFaceCandidt (4.4) Ngưỡng δ1 là ngưỡng thực nghiệm, ngưỡng này sẽ được lấy khoảng 0.2 đến 0.4. Ngoài cách tính trung bình khoảng cách, ta có thể đánh giá ứng viên thông qua việc tính trung bình độ tương đồng của cây ứng viên với tập cây chuẩn. k TtTS tS k i i∑ == 1 ),( )( (4.5) Trong đó: )(tS : là trung bình độ tương đồng của cây t so với các cây trong tập chuẩn t: là cây đang xét Ti: là các cây trong tập k cây chuẩn Tương tự như trường hợp trên, giá trị )(tS sẽ được dùng để đánh xem cây t có khả năng là khuôn mặt hay không. 2)( δ≥⇔∈ tSateFaceCandidt (4.6) Dễ thấy ngưỡng δ2 là số gần với một, có thể nói δ2≅1-δ1. Ngưỡng này sẽ được lấy trong khoảnh từ 0.6 đến 0.8. Tuy nhiên, về bản chất hai cách này hoàn toàn giống nhau. 4.2.4 Hậu xử lý Các kết quả thu được cho thấy rằng có một vùng khuôn mặt được phát hiện có một phần chồng lắp lên nhau. Có thể phát hiện ra nhiều cây ứng viên được đánh giá là “khuôn mặt”, nhưng thật sự chúng là sự chồng lắp của nhiều cây lên một vị trí Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 35 khuôn mặt. Vì vậy, chúng ta cần một thuật toán tốt để giảm những phát hiện các ứng viên trùng này. Trước hết chúng tôi sử dụng một đánh giá đơn giản để liên kết các vùng trùng lấp. Nếu hai ứng viên khuôn mặt có vùng diện tích bị chồng lắp lên nhau quá một phần ba diện tích của nó, chúng được xem là các mặt trùng và được liên kết lại thành một vùng lớn hơn. Vùng điện tích xem xét đó chính là vùng diện tích của nút gốc của cây ứng viên. (a) các vùng khuôn mặt chồng lấp (b) sau khi gom vùng Hình 4.4 Một ví dụ về giảm trùng lắp Sau khi gom nhóm được vùng, chúng tôi thu được một hay nhiều vùng chứa khuôn mặt. Tuy nhiên, do sai số của kích thước của cây và kích thước khuôn mặt, nên chúng tôi luôn có được vùng khuôn mặt phát hiện được lớn hơn khuôn mặt thực tế. Chúng tôi áp dụng tiếp kỹ thuật xác định vùng lồi lõm với mức nhỏ hơn nhằm để phát hiện chính xác vùng. Chúng tôi chỉ áp dụng thuật toán dò tìm đặc trưng lồi lõm trên vùng bao khuôn mặt, sau đó liên kết các vùng lồi lõm cùng loại lại với nhau. Vùng khuôn mặt thật sự sẽ là vùng liên thông lớn nhất trong đó. Với cách như vậy, chúng ta sẽ thu nhỏ, và xác định chính xác hơn vị trí khuôn mặt. Hình 4.5 hậu xử lý 4.3 Cơ sở lý thuyết của mô hình Như đã trình bày trong phần 3.4.3 ở chương 3, mỗi cây có thể được xem là một điểm trong không gian cây, trong đó mỗi cây chứa cấu trúc lồi lõm của các đối Miền liên thông lớn nhất cùng kiểu với các nút gốc của cây Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 36 tượng quan tâm. Trong bài toán này ta quan tâm đến các cây biểu diễn câu trúc khuôn mặt. Từ tập học, gồm các cây được đánh nhãn “khuôn mặt”, ta có thể biểu diễn nó trong một không gian hữu hạn chiều, là các điểm (xem hình 4.6). Hình 4.6 Các cây khuôn mặt trong không gian cây Trong hình trên, các điểm tương ứng với các cây được gán nhãn “khuôn mặt” trong tập học. Việc chọn ra k cây cho tập chuẩn có thể hiểu theo nghĩa là ta chọn k điểm đại diện. k điểm này nằm ngay trung tâm của lớp khuôn mặt (xem hình 4.7). Phương pháp gần giống với phương pháp k người láng giềng gần nhất nhưng có thay đổi cho phù hợp với bài toán phân lớp này nhằm tối ưu tốc độ. Hình 4.7 Chọn k cây chuẩn theo tiêu chí trọng tâm Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 37 Vấn đề ở đây là xác định số k hợp lý để sao cho k cây trung tâm đó đủ tổng quát để đại diện cho cấu trúc khuôn mặt. Sau đó, trên cơ sở tập cây mẫu này, một cây mới được so sánh và tính trung bình khoảng cách đến tất cả các cây trong tập mẫu. Hình 4.7 Đánh giá điểm thuộc lớp “khuôn mặt” hay không Như vậy, xét về mặt toán học đây việc tính khoảng cách trung bình từ điểm đang xét so với điểm chuẩn tương ứng với việc xét vị trí tương đối của nó so với cả nhóm điểm chuẩn. Nếu điểm nằm hoàn toàn bên trong cụm, chắc chắc khoảng cách trung bình sẽ rất nhỏ và sẽ được xếp vào lớp “khuôn mặt”. Ngược lại, nếu điểm đang xét nằm bên ngoài cụm, khoảng cách trung bình sẽ tăng lên và khả năng được xếp vào lớp “khuôn mặt” là rất thấp. Mô hình thống kê này cũng phù hợp cho bài toán phân loại đối tượng cho thị giác robot. Phù hợp với cách học thích ứng, cho các đối tượng được học trước và cho cả đối tượng chưa biết được học tăng cường trong quá trình sống của robot. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 38 CHƯƠNG 5 THỬ NGHIỆM VÀ KẾT QUẢ 5.1 Thử nghiệm Chương trình được cài đặt trên môi trường lập trình Microsoft Visual C++ 6.0. Sử dụng thư viện mã nguồn mở OpenCV [33] và thư viện xử lý ảnh của Intel [34] (Intel Image Processing Library). Máy tính sử dụng có cấu hình Petium IV 1.4 GHz, bộ nhớ 512MB, hệ điều hành Microsoft Windows XP Professional. Tập ảnh sử dụng là tập ảnh chụp khuôn mặt thẳng của Markus Weber [32]. Toàn bộ tập dữ liệu có tổng cộng 450 ảnh. 200 được sử dụng để huấn luyện và 250 ảnh còn lại dùng để kiểm thử. Tập ảnh Huấn luyện Kiểm thử 450 200 250 Bảng 5.1 Phân chia ảnh trong tập ảnh 5.2 Kết quả Chúng tôi thử nghiệm trên hai cách chọn đặc trưng lồi lõm. Cách thứ nhất dùng đặc trưng lồi lõm không dùng kèm đặc trưng độ sáng. Và cách thứ hai, dùng đặc trưng lồi lõm kèm theo đặc trưng độ sáng. Trong hai thử ngiệm này, hai thuật toán hoàn toàn giống nhau. Điểm khác nhau duy nhất là hàm tính độ tương đồng giữa hai nút. Thử nghiệm 1 sử dụng hàm tính độ tương đồng định nghĩa ở công thức 3.15. Còn trong thử nghiệm 2 sử dụng hàm tính độ tương đồng giữa hai nút theo công thức 3.10. Các thử nghiệm dưới đây chỉ rút trích đặc trưng lồi lõm 2 cấp: σ1 = 20 và σ2 = 120. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 39 Kết quả kiểm thử được trình bày trong bảng sau: Thử nghiệm Số ảnh Đúng Sai Tỷ lệ sai Độ chính xác Thời gian 1 250 182 68 27.2% 72.8% 0.6s 2 250 203 47 18.8% 81.2% 0.6s Bảng 5.2 Kết quả thử nghiệm đặc trưng 2 mức Chúng tôi thực hiện tiếp cùng hai thử nghiệm tương tự như trên với các đặc trưng lồi lõm với 3 mức σ1 = 20 , σ2 = 60, và σ3 = 120. Kết quả thu được được trình bày dưới bảng sau: Thử nghiệm Số ảnh Đúng Sai Tỷ lệ sai Độ chính xác Thời gian 1 250 197 53 21.2% 78.8% 0.8s 2 250 224 26 10.4% 89.6% 0.8s Bảng 5.3 Kết quả thử nghiệm đặc trưng 3 mức Ngoài ra, chương trình còn được thử nghiệm trên tập dữ liệu không phải là khuôn mặt, tập dữ liệu loại đối tượng [35]. Tập dữ liệu này gồm các hình ảnh nhà, xe gắn máy, và máy bay. Mỗi loại được kiểm thử trên 112 ảnh. Loại đối tượng Số ảnh Không phát hiện Phát hiện khuôn mặt Tỷ lệ sai Độ chính xác Thời gian Nhà 120 115 5 4.17% 95.83% 0.8s Xe gắn máy 112 111 1 0.9% 99.1% 0.8s Máy bay 115 114 1 0.87% 99.13% 0.8s Bảng 5.4 Kết quả thử nghiệm trên ảnh không chứa khuôn mặt 5.3 Nhận xét Các kết quả cho thấy việc sử dụng đặc trưng cùng với thông tin về độ sáng sẽ cho kết quả tốt hơn. Và việc xây dựng các cây 3 lớp sẽ tăng độ chính xác đang kể so với việc chỉ rút trích đặc trưng cây 2 lớp. Tuy nhiên việc rút trích đặc trưng nhiều lớp làm cho quá trình xử lý tính toán chậm chạp hơn. Phần 5.4 sẽ giới thiệu một số kết quả tiêu biểu của thuật toán. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 40 5.4 Một số kết quả tiêu biểu (a) Ảnh nguồn (b) Ảnh kết quả (c) Gaussian σ = 220 (d) Các vùng lồi lõm ở mức 20 (e) Gaussian σ = 260 (f) Các vùng lồi lõm ở mức 60 (g) Gaussian σ = 2120 (h) Các vùng lồi lõm ở mức 120 Hình 5.1 Một trường hợp đúng Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 41 (a) Ảnh nguồn (b) Ảnh kết quả (c) Gaussian σ = 220 (d) Các vùng lồi lõm ở mức 20 (e) Gaussian σ = 260 (f) Các vùng lồi lõm ở mức 60 (g) Gaussian σ = 2120 (h) Các vùng lồi lõm ở mức 120 Hình 5.2 Một trường hợp phát hiện sai Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 42 Hình 5.3 (a) ảnh khuôn mặt trên nền phức tạp Hình 5.3 (b) ảnh khuôn mặt ngạc nhiên Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 43 Hình 5.3 (c) ảnh khuôn mặt có râu Hình 5.3 (d) ảnh khuôn mặt bị quay 180o Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 44 Hình 5.3 (e) không phát hiện được khuôn mặt nào trong ảnh chụp nhà lấy từ tập [35] Hình 5.3 (f) không phát hiện được khuôn mặt nào trong ảnh chụp máy bay lấy từ tập [35] Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 45 Hình 5.3 (g) không phát hiện được khuôn mặt nào trong ảnh chụp xe gắn máy lấy từ tập [35] Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 46 CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận Kết quả kiểm thử trên tập dữ liệu ảnh của Weber [32] cho thấy kết quả đạt được tương đối chấp nhận được cho bài toán phát hiện khuôn mặt. Việc áp dụng cây cấp bậc cùng với quan hệ của các đặc trưng lồi lõm ở nhiều mức cho thấy khá phù hợp cho việc phân tích cấu trúc đối tượng nói chung và phân tích cấu trúc khuôn mặt nói riêng. Qua luận văn này, chúng tôi đã đóng góp được một hướng tiếp cận mới cho bài toán phát hiện khuôn mặt. Liên quan đến luận văn này chúng tôi đã có một bài báo được nhận đăng tại hội nghị IEEE ICCS-RIVF06 (xin vui lòng xem phần danh mục công trình của tác giả). Bên cạnh đó, hứa hẹn việc mở ra một loại đặc trưng mới có thể phát triển cho phân loại đối tượng, phát hiện đối tượng tổng quát. Trở lại bài toán về khuôn mặt, chúng tôi cũng nhận thấy rằng việc sử dụng duy nhất đặc trưng lồi lõm thì chưa đủ hiệu quả cho bài toán nhận dạng mặt người (face identification). Chúng tôi đề xuất việc sử dụng thêm một số đặc trưng phụ trợ khác như: độ sáng, quan hệ hình học, khoảng cách giữa các vùng lồi lõm cùng mức. 6.2 Hướng phát triển Hướng tới một mô hình tổng quát và ổn định hơn, chúng tôi đang thử nghiệm việc tìm kiếm một mô hình máy học phù hợp hơn cho cấu trúc cây. Bên cạnh đó chúng tôi đang mở rộng tập các bộ lọc (Hình 3.4, chương 3) thành tập nhiều lọc hơn với các dạng hình học khác nhau, với nhiều góc nghiên khác nhau: 300, 450, 600, -300, -450, -600. Với việc học và rút trích đặc trưng tự động, và Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 47 cấu trúc hình học đa dạng hơn của các bộ lọc, chúng tôi tin rằng mô hình này có thể mở rộng để áp dụng cho bài toán phát hiện và nhận dạng đối tượng tổng quát hơn. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 48 DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ [1]. Tran Le Hong Du, Duong Anh Duc, Duong Nguyen Vu, “Ridge and Valley based Face Detection”, IEEE International Conference on Computer Sciences – Research, Innovation, Vision for the Future (RIVF’06), Ho-Chi-Minh city, Vietnam (accepted). [2]. Tran Le Hong Du, Duong Anh Duc, Duong Nguyen Vu, “Ridge and Valley Features for Face Analysis”, International Conference on Computer Vision Theory and Applications (VISAPP’06), Setúbal, Portugal, (in review). Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 49 TÀI LIỆU THAM KHẢO [1]. Ming-Hsuan Yang, David J. Kriegman, Narendra Ahuja, “Detecting Faces in Images: A Survey”, IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI), Vol. 24, No 1, pp. 34-47, Jan 2002. [2]. Stan Z. Li, Zhen Qiu Zhang, “FloatBoost Learning and Statistical Face Detection”, IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI), Vol. 26, No, pp. 1-12, Sep 2004. [3]. Stan Z. Li, Juwei Lu, “Face Detection, Alignment and Recognition”, Book Chapter 9, pp. 385-455, Emerging Topics in Computer Vision, Prentice Hall, ISBN 0-13-101366-1, Jul 2004. [4]. P. Viola, M. Jones, “Robust Real Time Object Detection”, Proc. IEEE ICCV Workshop on Statistical and Computational Theories of Vision, Jul 2001. [5]. P. Viola, M. Jones, “Rapid object detection using a boosted cascade of simple features”, Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR’01), pp. 511-518, Dec 2001. [6]. K. K. Sung, T. Poggio, “Example-based learning for view-based human face detection”, IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI), Vol. 20, No. 1, pp. 39-51, Jan 1998. [7]. H. Rowley, S. Baluja, T. Kanade, “Neural network-based face detection”, IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI), Vol. 20, No. 1, pp. 23-38, Jan 1998. [8]. H. Schneiderman, T. Kanade, “Probabilistic Modeling of Local Appearance and Spatial Relationships for Object Detection”, Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR’98), pp. 45-51, 1998. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 50 [9]. A. Rajagopalan, K. Kumar, J. Karlekar, R. Manivasakan, M. Patil, U. Desai, P. Poonacha, S. Chaudhuri, “Finding Faces in Photographs”, Proc. 6th IEEE Conf. Computer Vision (ICCV’98), pp. 640-645, 1998. [10]. E. Osuna, R. Freund, F. Girosi, “Training Support Vector Machines: An Application to Face Detection”, Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR’97), pp. 130-136, 1997. [11]. G. Yang, T. S. Huang, “Human Face Detection in Complex Background”, Pattern Recognition, Vol. 27, No. 1, pp. 53-63, 1994. [12]. K. C. Yow, R. Cipolla, “Feature-Based Human Face Detection”, Image and Vision Computing, Vol. 15, No. 9, pp. 713-735, 1997. [13]. T. K. Leung, M.C. Burl, P. Perona, “Finding Faces in Cluttered Scenes Using Random Labeled Graph Matching”, Proc. 5th IEEE Conf. Computer Vision (ICCV’95), pp. 637-644, 1995. [14]. C. Kotropoulos, I. Pitas, “Rule-based Face Detection in Frontal Views”, Proc. Int’l Conf. Acoustics, Speech and Signal Processing, Vol. 4, pp. 2637- 2540, 1997. [15]. A. Lanitis, C. J. Taylor, T. F. Cootes, “An Automatic Face Identification System Using Flexible Appearance Models”, Image and Vision Computing, Vol. 13, No. 5, pp. 393-401, 1995. [16]. M. Turk, A. Pentland, “Eigenfaces for Recognition”, Journal of Cognitive Neuroscience, Vol. 3, No. 1, pp. 71-86, 1991. [17]. I. Craw, D. Tock, A. Bennett, “Finding Face Features”, Proc. 2nd European Conf. Computer Vision (ECCV’92), Vol. 2, pp. 92-96, 1992. [18]. T. Kanade, “Picture Processing Computer Complex and Recognition of Human Faces”, PhD thesis, Kyoto Univ., 1973. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 51 [19]. James L. Crowley, Alice C. Parker, “A Representation for Shape based on Peaks and Ridges in the Difference of Low-Pass Transform”, Technical Report- CMU-RI-TR-83-4, Carnegie-Mellon University, May 1983. [20]. James L. Crowley, Alice C. Parker, “A Representation for Shape based on Peaks and Ridges in the Difference of Low-Pass Transform”, IEEE Transaction on PAMI, pp 156-170, Vol. 6, No. 2, Mar 1984. [21]. Hai Tran, Augustin Lux, “A method for Ridge Extraction”, 6th Asian Conference on Computer Vision 2004 - ACCV’04, Vol. 2, Feb 2004, Korea. [22]. Hai Tran, Augustin Lux, “Toward a ridge and peak based symbolic representation for object recognition”, 3rd International Conference on Computer Science – RIVF’05, pp 64-69, Feb 2005, Vietnam. [23]. John M. Gauch, Stephen M. Pizer, “Multiresolution Analysis of Ridges and Valleys in Grey-Scale Images”, IEEE Transaction on PAMI, pp 635-646, Vol. 15, No. 6, Jun 1993. [24]. Antonio M. Lopez, Felipe Lumbreras, Joan Serrat, Juan J. Villanueva, “Evaluation of Methods for Ridge and Valley Detection”, IEEE Transaction on PAMI, pp 327-335, Vol. 21, No. 4, Apr 1999. [25]. James Damon, “Properties of Ridges and Cores for Two-Dimensional Images”, Journal of Mathematical Imaging and Vision, pp 163-174, Vol. 10, No. 2, Mar 1999. [26]. D. Eberly, R. Gardner, B. Morse, S. Pizer, C. Scharlach, “Ridges for Image Analysis”, Journal of Mathematical Imaging and Vision, pp 353-373, Vol. 4, No. 4, Dec 1994. [27]. J. B. Antoine Maintz, Petra A.V.D. Elsen, Max A. Viergever, “Evaluation of Ridge Seeking Operators for Multimodality Medical Image Matching”, IEEE Transaction on PAMI, pp 353-365, Vol. 18, No. 4, Apr 1996. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 52 [28]. Quan Yuan, Wen Gao, Hongxun Yao, “Robust frontal face detection in complex environment”, International Conference on Pattern Recognition 2002 – ICPR’02, pp 25-28, Aug 2002, Canada. [29]. F. Kanters, B. Platel, L. Florack, Bart M.H. Romeny, “Content Based Image Retrieval Using Multiscale Top Points”, Scale-space 2003, pp 33-43, LNCS 2695, Springer –Verlag 2003. [30]. Tony Lindeberg, “Edge Detection and Ridge Detection with Automatic Scale Selection”, International Journal of Computer Vision, pp 117-154, Vol. 30, No. 2, Nov 1998. [31]. Duc. A. Duong, Du. LH. Tran, Duan D. Tran, “Optimizing Speed for Adaptive Local Thresholding Algorithm Using Dynamic Programming”, International Conference on Electronics, Information, and Communications 2004-ICEIC’04, Vol. 1, pp. 438-441, Aug 2004. [32]. Markus Weber, “Frontal face dataset”, California Institute of Technology, 2003, [33]. Intel Open Source Computer Vision Library-OpenCV phiên bản 4.0 [34]. Intel Image Processing Library phiên bản 2.5 [35]. “Caltech categories”, California Institute of Technology, 2005, Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 53 PHỤ LỤC Phụ lục 1: Laplacian/Laplacian of Gaussian Tên gọi khác: Laplacian, Laplacian of Gaussian, LoG, Lọc Marr Laplacian là một phép đánh giá đẳng hướng của đạo hàm cấp hai trên một ảnh. Laplacian của một ảnh làm nổi bật những vùng có thay đổi lớn về độ sáng và vì thế nên nó thường được sử dụng để dò tìm cạnh. Laplacian rất nhạy cảm với nhiễu nên thường được áp dụng cho các ảnh đã được làm mịn (smoothed) trước đó bằng một số bộ lọc làm mịn như Gaussian (Gaussian smoothing filter) để làm giảm sự nhạy cảm của nó với nhiễu. Phép toán này nhận vào là một ảnh xám và kết quả trả ra cũng là một ảnh xám khác. Tính chất Laplacian L(x,y) của một ảnh có hàm biểu diễn độ sáng là I(x,y) được định nghĩa như sau: 2 2 2 2 ),( y I x IyxL ∂ ∂+∂ ∂= Do ảnh đầu vào được biểu diễn như một tập các pixel rời rạc, chúng ta phải tìm một mặt nạ rời rạc xấp xĩ với đạo hàm cấp hai trong định nghĩa của Laplacian. Ba mặt nạ thông dụng nhất của Laplacian được trình bày trong hình dưới đây. Hình AP.1 Ba xấp xĩ rời rạc cho lọc Laplacian. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 54 Tuy nhiên, do những mặt nạ này xấp xĩ một một đạo hàm cấp hai trên ảnh, chúng rất nhạy cảm với nhiễu. Để giải quyết điều này, ảnh thường được làm mịn bằng lọc Gaussian trước khi áp dụng lọc Laplacian. Bước tiền xử lý này giảm các thành phần nhiễu tần số cao trước khi thực hiện phép lấy vi phân. Thật vậy, do phép tính cuộn có tính kết hợp, cúng ta có thể gộp lọc làm mịn Gaussian với lọc Laplacian trước, sau đó cuộn lọc lai này với ảnh để thu được kết quả mong muốn. Thực hiện cách này chúng ta có hai lợi điểm: • Bởi vì cả hai mặt nạ lọc Gaussian và Laplacian thường nhỏ hơn rất nhiều so với kích thước ảnh, nên phương pháp này thực hiện tiết kiệm được rất nhiều tính toán. • Mặt nạ LoG (Laplacian of Gaussian) có thể được tính toán trước nhờ đó những tính toán phức tạp có thể được thực thi nhanh hơn tại thời điểm run- time. Hàm LoG hai chiều tâm tại 0 và với lọc Gaussian độ lệnh chuẩn σ có dạng sau: 2 22 2 2 22 4 2 11),( σσπσ yx eyxyxLoG +− ⎥⎦ ⎤⎢⎣ ⎡ +−−= và được biểu diễn dưới dạng sau. Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 55 Hình AP.2 Hàm LoG hai chiều. Trục x và y được đánh dấu theo độ lệch chuẩn σ. Một mặt nạ xấp xĩ cho hàm này (với một lọc Gaussian σ = 1.4) được biểu diễn trong hình AP.3. Hình AP.3 Xấp xĩ rời rạc của hàm LoG với lọc Gaussian σ = 1.4 Lưu ý rằng nếu lọc Gaussian được áp dụng với σ hẹp dần, mặt nạ LoG sẽ trở thành mặt nạ Laplacian đơn như trong hình AP.1. Điều này là do việc làm mịn với một lọc Gaussian kích thước nhỏ (σ < 0.5 pixel) trên một lưới rời rạc là không ảnh Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm Trần Lê Hồng Dũ Trang 56 hưởng gì. Vì vậy trên một ảnh rời rạc, Laplacian đơn có thể được xem là một trường hợp giới hạn của LoG cho các lọc mịn Gaussian nhỏ. Phép LoG tính đạo hàm cấp hai trên ảnh. Điều này có nghĩa là ở những chổ ảnh có độ sáng hằng số (biến thiên độ sáng bằng 0), LoG sẽ cho giá trị 0. Trong những vùng lân cận, LoG sẽ cho giá trị dương ở phía tối hơn và giá trị âm ở phía sáng hơn. Điều này có nghĩa là khi áp dụng LoG trên một ảnh có nền thuần nhất, LoG sẽ cho kết quả: • Bằng không tại một điểm ở ngoài xa cạnh. • Lớn hơn không ở một mặt của cạnh. • Nhỏ hơn không ở mặt còn lại của cạnh. • Bằng không tại một số điểm giữa nằm trên cạnh.

Các file đính kèm theo tài liệu này:

  • pdfPhát hiện khuôn mặt dựa trên đặc trưng lồi lõm.pdf
Luận văn liên quan