Đề tài Xácc định mặt người dựa vào thành phần khuôn mặt và logic mờ

Hệ thống này có thể được hoàn thiện hơn dựa vào mô hình da người tổng quát hóa hơn thông qua nghiên cứu của các nhà nhân trắc học. Bên cạnh đó hệ thống viết bằng ngôn ngữ Java có thể chạy trên mọi môi trường hệ điều hành cũng như những môi trường điện thoại di động, camera. Hệ thống có thể kết hợp với những công trình ngiên cứu khác như nhận dạng âm thanh, giọng nói, nhận dạng mặt người và công nghệ điện tử, tự động để có thể phát triển thành những hệ thống trí tuệ nhân tạo phức tạp hơn và có những ứng dụng thực tế cao hơn. Ngoài ra hệ thống nếu cải thiện tốc độ xử lí nhanh hơn để có thể xử lí thời gian thực, từ đó ứng dụng được ngay vào những hệ thống xử lí ảnh video hoặc ảnh động quay từ camera trong các hệ thống quan sát, bảo vệ xử lí tự động.

pdf44 trang | Chia sẻ: builinh123 | Lượt xem: 2075 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề tài Xácc định mặt người dựa vào thành phần khuôn mặt và logic mờ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA TPHCM ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA TOÁN-TIN HỌC BỘ MÔN TIN HỌC ỨNG DỤNG D E TIỂU LUẬN TỐT NGHIỆP Đề tài: XÁÙC ĐỊNH MẶËT NGƯỜØI DỰÏA VÀØO THÀØNH PHẦÀN KHUÔÂN MẶËT VÀØ LOGIC MỜØ Giảng viên hướng dẫn: Thạc sĩ PHẠM THẾ BẢO Giảng viên phản biện: Tiến sĩ TRẦN NAM DŨNG Sinh viên thực hiện : TRẦN ANH TUẤN PHAN PHÚC DOÃN KHÓA:2001-2005 Xác định mặt người 1 Lời nói đầu Ngày nay với sự phát triển nhanh chóng của công nghệ thông tin, con người ngày càng muốn làm ra những vật dụng thay thế họ trong việc lao động chân tay cũng như trí óc. Vì vậy những lĩnh vực như trí tuệ nhân tạo và tự động hóa ngày càng phát triển mạnh ở những nước phát triển, đặc biệt là việc chế tạo ra những robot. Những hệ thống tự động nói chung và robot nói riêng muốn hoạt động có hiệu quả thường phải có một hệ thống tương tác người máy và trong những hệ thống này thì việc xác định mặt người chiếm một vị trí quan trọng. Xác định mặt người (face detection) là thuật ngữ dùng để chỉ việc định hướng (location) và xác định một cách chính xác vị trí của mặt người trong một bức ảnh. Xác định mặt người có rất nhiều phương pháp: phương pháp neural network, phương pháp dựa vào đặc trưng của da người, phương pháp dựa vào những đặc điểm trên khuôn mặt người. Luận văn này chủ yếu trình bày phương pháp xác định mặt người dựa trên màu da và những đặc trưng trên khuôn mặt người. Luận văn được chia ra làm 2 phần. Phần đầu chủ yếu nói về cơ sở toán học và khoa học máy tính của hệ thống xác định mặt người bao gồm: các không gian màu, hệ thống logic mờ, phương pháp Fast Marching. Phần còn lại của luận văn là chi tiết về thuật toán và cài đặt hệ thống. Luận văn này đã được viết và biên tập kĩ lưỡng, song không thể tránh khỏi thiếu sót trong quá trình viết, mong nhận được sự đóng góp tận tình của quí thầy cô và các bạn để luận văn hoàn thiện hơn. Xác định mặt người 2 Xác định mặt người 3 Lời cảm ơn Đầu tiên chúng tôi xin chân thành cảm ơn thạc sĩ Phạm Thế Bảo, người trực tiếp hướng dẫn đề tài này đã tận tình chỉ bảo, giúp đỡ chúng tôi trong suốt quá trình thực hiện tiểu luận này. Chúng tôi cũng chân thành cảm ơn hai anh Nguyễn Thành Nhựt và Cao Minh Thịnh đã có những giúp đỡ quí báu về tài liệu cũng như thuật toán để chúng tôi thực hiện tốt luận văn. Chúng tôi cũng xin cảm ơn thầy cô trong khoa Toán-Tin học đã cung cấp cho chúng tôi những nền tảng Toán và Tin học vững chắc làm tiền đề cho việc thực hiện thành công luận văn này. Chúng tôi cũng xin cảm ơn các bạn khóa 2001 đã động viên, giúp đỡ để chúng tôi hoàn thành tốt luận văn. Xác định mặt người 4 Mục lục Lời nói đầu .....................................................................................................................1 Lời cảm ơn .....................................................................................................................2 Mục lục ..........................................................................................................................3 Phần 1: Cơ sở toán học..................................................................................................5 Chương 1: Các không gian màu sử dụng trong việc xác định da người .........................5 1. Không gian màu HIS, HSV, HSL .......................................................................5 2. Không gian màu TSL .........................................................................................5 3. Không gian màu YCbCr .....................................................................................6 Chương 2: Điều khiển mờ và logic mờ...........................................................................7 1. Tổng quan về logic mờ và điều khiển mờ..........................................................7 2. Các thành phần của hệ thống logic mờ ..............................................................8 3. Mờ hóa................................................................................................................8 4. Giải mờ ...............................................................................................................9 Chương 3: Fast Marching..............................................................................................10 1. Giới thiệu .........................................................................................................10 2. Công thức tính toán của thuật toán Fast Marching...........................................10 3. Áp dụng thuật toán Fast Marching trong hệ thống thực nghiệm .....................11 Phần 2: Hệ thống xác định mặt người ........................................................................14 Chương 1: Tổng quan về các phương pháp xác định mặt người.................................14 I.Mục đích và khó khăn.............................................................................................. 1. Mục đích ....................................................................................................14 2. Khó khăn....................................................................................................14 II.Các phương pháp xác định mặt người và các thành phần trên khuôn mặt .......15 1. Các phương pháp xác định mặt người .................................................................. a. Phương pháp tiếp cận dựa vào đặc điểm của khuôn mặt .........................15 b. Phương pháp tiếp cận dựa vào hình ảnh ...................................................15 2. Các phương pháp xác định thành phần trên khuôn mặt người .........................16 3.Ưu điểm của phương pháp xác định dựa vào thành phần của khuôn mặt.........18 Chương 2: Xây dựng thuật giải...................................................................................19 I. Các bước tiền xử lí ...............................................................................................19 Xác định mặt người 5 1. Phương pháp lấy những vùng da người ............................................................20 2. Phương pháp khử nhiễu ...................................................................................21 II. Xác định thành phần mắt-miệng và tách dính........................................................25 1. Xác định các thành phần mắt-miệng của khuôn mặt .......................................25 2. Phương pháp tách dính ......................................................................................29 Xác định điểm loang ......................................................................................30 Xác định độ loang ..........................................................................................30 III. Xây dựng luật mờ..................................................................................................32 Những luật mờ về quan hệ giữa mắt mũi miệng và chiều dài chiều rộng của khuôn mặt ....................................................................................................................32 Chương 3: Cài đặt thực nghiệm và đánh giá................................................................34 1. Các chức năng chính của hệ thống.....................................................................34 2. Tổng kết Thống kê dựa trên cơ sở dữ liệu.........................................................................34 Ưu điểm ..............................................................................................................34 Khuyết điểm .......................................................................................................34 Hướng phát triển.................................................................................................35 Tài liệu tham khảo ......................................................................................................36 Xác định mặt người 6 Phần 1: Cơ sở toán học của hệ thống Chương 1: Các không gian màu thường sử dụng trong việc xác định mặt người 1. Không gian màu HIS, HSV, HSL (Hue-Saturation-(Intensity/Value/Lightness)) Hue xác định những màu trội ( như màu đỏ, xanh lá cây, màu tía, vàng) trong một vùng , suturation dùng để đo tỉ lệ của màu sắc so với độ sáng của vùng, những giá trị intensity, value, lightness dùng liên quan đến độ sáng của vùng đó. Sự trực giác của những thành phần trong không gian màu và sự phân biệt rõ ràng giữa độ sáng và độ chrominance làm cho những không gian màu này trở nên thông dụng trong việc tách vùng da người. Công thức chuyển đổi giữa R, G, B và H, S, V )))(()(( ))()(( 2 1 arccos 2 BGBRGR BRGR H −−+− −+− = min( , , )1 3 R G BS R G B = − + + 1 ( ) 3 V R G B= + + 2. Không gian màu TSL - Tint, Saturation, Lightness Không gian màu TSL là sự chuyển đổi từ không gian màu RGB thành những giá trị trực quan hơn 2 2 1/ 29[ ( ' ' )] 5 S r g= + arctan( '/ ') / 2 1 / 4, ' 0 arctan( '/ ') / 2 3 / 4, ' 0 0, ' 0 r g g T r g g g π π + >⎧⎪= + <⎨⎪ =⎩ 0.299 0.587 0.114L R G B= + + Xác định mặt người 7 Trong đó r’ = r−1/3, g’ = g−1/3 và các giá trị của r, g là những giá trị được chuẩn hóa của không gian màu RGB được tính theo công thức sau: Rr R G B = + + Gg R G B = + + Bb R G B = + + 3. Không gian màu YCbCr YCrCb là dạng mã hóa không tuyến tính của tín hiệu RGB được sử dụng phổ biến trong công nghệ truyền hình ở châu Aâu và trong nén ảnh. Độ Y( độ sáng ) được tạo thành bằng tổng các thành phần R, G, B theo các trọng số khác nhau, Cr và Cb được tạo thành bằng cách lấy giá trị R, B tương ứng trừ cho giá trị Y. Y = 0.299R+0.587G+0.114B Cr = R−Y Cb = B−Y Sự đơn giản trong biến đổi và sự phân biệt rõ ràng giữa độ sáng và độ chrominabce làm cho không gian màu này rất phổ biến trong việc mô hình hóa màu da người. Xác định mặt người 8 Chương 2: Điều khiển mờ và logic mờ 1. Tổng quan về logic mờ và điều khiển mờ: Bắt đầu từ năm 1965, giáo sư Lofti A.Zadeh ở trường đại học California-Mỹ đã đưa ra khái niệm về lý thuyết tập mờ (Fuzzy set theory). Từ đó đến nay logic mờ và neural network là hai lĩnh vực được nhiều nhà khoa học đặc biệt quan tâm nghiên cứu và ứng dụng vào nhiều ngành khoa học kĩ thuật. Tập mờ và logic mờ dựa trên các suy luận của con người về các thông tin “không chính xác” hoặc “không đầy đủ” về hệ thống để điều khiển và hiểu biết hệ thống một cách chính xác. Định nghĩa tập con mờ và hàm liên thuộc: Cho tập E, gọi A’ là tập con mờ của E và: A:= 2 1( ) 1A x kx μ = + Trong đó ( )A xμ là hàm liên thuộc của tập mờ A’, ( )A xμ lấy giá trị bất kì trong đọan [0,1] , ( )A xμ càng gần 1 thì phần tử x E∈ tương ứng càng tỏ, nếu ( )A xμ =1 thì x đúng là phần tử tỏ của tập mờ, càng gần 0 thì phần tử x E∈ tương ứng càng mờ. Người ta có thể lấy ( )A xμ theo nhiều kiểu khác nhau và có các kiểu thông dụng sau đây: *1 ( ) 0 elseA i f x x xμ ⎧ == ⎨⎩ ( ) kxA x eμ −= k > 0 1 1 . M l l l M l l h y y h = = = ∑ ∑ k > 0 2 1( ) 1A x kx μ = + Xác định mặt người 9 2. Các thành phần của hệ thống logic mờ Hệ thống điều khiển mờ có 4 khối: Khối mờ hóa: có giá trị biền đổi các giá trị rõ đầu vào thành một miền giá trị mờ với hàm liên thuộc đã chọn ứng với biến ngôn ngữ đầu vào đã được định nghĩa. Khối hợp thành: dùng để biến đổi các giá trị mờ hóa của biến ngôn ngữ đầu vào thành các giá trị mờ của các biến ngôn ngữ đầu ra theo các luật hợp thành nào đó. Khối luật mờ: bao gồm các tập luật “Nếu thì” dựa vào các luật mờ cơ sở, được người thiết kế viết ra cho thích hợp với từng biến và giá trị của các biến ngôn ngữ theo quan hệ mờ Vào/Ra. Khối giải mờ: biến đổi các giá trị mờ đầu ra thành các giá trị rõ để điều khiển đối tựơng. Một bộ điều khiển mờ chỉ gồm bốn khối như vậy gọi là bộ điều khiển mờ cơ bản. 3. Mờ hóa Mờ hóa được định nghĩa như là sự ánh xạ từ tập các giá trị thực x* ∈U⊂Rn thành tập các giá trị mờ A’ ở trong U. Nguyên tắc chung của sự mờ hóa là: -Từ tập giá trị thực x đầu vào sẽ tạo ra tập mờ A’ với hàm liên thuộc có giá trị đủ rộng tại các điểm rõ x*. -Nếu có nhiễu ở đầu vào thì sự mờ hóa sẽ góp phần khử nhiễu. -Việc mờ hóa phải tạo điều kiện đơn giản cho việc tính toán sau này. Có các phương pháp mờ hóa sau: a. Phương pháp đơn trị: Mờ hóa đơn trị là từ các điểm giá trị thực x* ∈U lấy các giá trị đơn trị của tập mờ A’; nghĩa là hàm liên thuộc có dạng: *1 ( ) 0 elseA i f x x xμ ⎧ == ⎨⎩ Xác định mặt người 10 b. Mờ hóa Gaus: Mờ hóa Gaus là từ các điểm giá trị thực x* ∈U lấy các giá trị đơn trị của tập mờ A’ với hàm liên thuộc Gaus: 2 2 ( ) ( , , ) x c A x c e σμ σ − = c. Mờ hóa tam giác: Mờ hóa tam giác là từ các điểm giá trị thực x* ∈U lấy các giá trị đơn trị của tập mờ A’ với các hàm liên thuộc dạng hình tam giác ( hoặc hình thang): ( , , , ) max(min( , ) ,0)A x a c xx a b c b a c b μ − −= − − (hình tam giác) ( , , , , ) max(min( ,1, ) ,0)A x a d xx a b c d b a d c μ − −= − − (hình thang) 4. Giải mờ Giải mờ là sự ánh xạ từ các giá trị thuộc tập mờ B’ trong tập cơ sở thành giá trị rõ đầu ra y∈V. Như vậy nhiệm cụ của việc giải mờ là tìm một điểm rõ đại diện tốt nhất cho tập mờ B’. Các phương pháp giải mờ: a. Phương pháp cực đại: phương pháp này bao gồm hai bước Bước 1: Xác định miền chứa giá trị rõ đầu ra.Đó là miền G mà giá trị rõ đầu ra y có hàm liên thuộc đạt giá trị cực đại, nghĩa là: G= B{ | ( ) max}y Y yμ∈ = Bước 2: Xác định giá trị y từ miền G có 3 cách tính là lấy trung bình, lấy giá trị cận phải, lấy giá trị cận trái. b. Phương pháp lấy trọng tâm: . ( ) ( ) B S B S y y dy y y dy μ μ= ∫ ∫ Xác định mặt người 11 c. Phương pháp lấy trung bình tâm: Vì tập mờ B’ có thể là hợp hay giao của M tập mờ nên chúng ta có thể tính gần đúng giá trị y là trung bình theo trọng số của tâm của M tập mờ. 1 1 . M l l l M l l h y y h = = = ∑ ∑ Xác định mặt người 12 Chương 3: Phương pháp Fast Marching 1. Giới thiệu Phương pháp Fast Marching được phát triển bởi giáo sư J.A.Sethian trường đại học Berkely bang California, Mỹ. Đây là phương pháp tiên tiến thuộc lĩnh vực giải tích số chuyên giải quyết các vấn đề về loang. Bài toán đặt ra là cho trước một mặt phân giới ngoài và mặt phân giới trong cùng với một hàm vận tốc F thì sau khoảng thời gian t đường cong trong loang ra ngoài sẽ có hình dạng như thế nào, và mục tiêu là tính toán sự di chuyển của nó. Hình 1: Đường cong theo tham số S (biên trong) loang ra theo thời gian T. 2. Công thức tính toán của thuật toán FastMarching: 1/ 22 2 2 2 1max( ,0) min( ,0) max( ,0) min( ,0)x x y yij i j i j i j i j D T D T D T D T F − + − +⎡ ⎤+ + + =⎣ ⎦ Trong đó F>0 là hàm vận tốc chỉ hướng loang từ trong ra ngoài T (i,j) là thời gian khi đường cong loang đến điểm có tọa độ (i,j) Và 1,i j i jxi j T T D T h −− −= 1,i j i jxi j T T D T h ++ −= , 1i j i jyi j T T D T k ++ −= , 1i j i jyi j T T D T k −− −= Xác định mặt người 13 3. Aùp dụng thuật toán Fast Marching trong hệ thống thực nghiệm Dữ liệu vào: Vùng bắt đầu loang (StartBound) với Pixel biên được gán giá trị là Known, Pixel lân cận biên được gán giá trị là Trial và các Pixel khác là FarAway. Vùng giới hạn loang (EndBound) và hàm vận tốc loang là F=5 (loang tuyến tính), hệ số loang s. Tiến trình: Lặp: - Trong tất cả các điểm trial lấy điểm có T bé nhất A. - Đưa điểm A đó từ Trial thành Known.Và đặt các giá trị lân cận từ Far thành Trial để dùng cho lần xét kế tiếp. - Bất cứ Pixel nào chuyển trang thái đều phải tính toán laiï thời gian T theo công thức Fast Marching. -Trở lại vòng lặp. Cách cập nhật cho điểm chuyển trạng thái: (giả sử là X) Hình 2: Cập nhật giá trị T cho điểm X Nếu T(A)+1/F >= min(T(B),T(D)) ( ) ⎟⎠⎞⎜⎝⎛ −−++= 22 )()()/1(*2)()(2 1)( ATBTFBTATXT Xác định mặt người 14 Ngược lại thì T(X) = T(A)+1/F Dữ liệu ra: Có được biên mới từ startBound sau khoảng thời gian loang t. Xác định mặt người 15 Phần 2 : Hệ thống xác định mặt người Chương 1: Tổng quan về các phương pháp xác định mặt người I. Mục đích và khó khăn: Hàng chục năm qua đã có hàng ngàn công trình nghiên cứu về việc xác định mặt người trong ảnh màu cũng như ảnh trắng đen. Những công trình như vậy phục vụ cho nhiều mục đích khác nhau và cũng gặp nhiều khó khăn khác nhau nhưng tóm lại có thể kể ra những mục đích và khó khăn chủ yếu sau: 1. Mục đích: a. Hệ thống tương tác người máy: Khoa học kĩ thuật ngày càng tiến bộ và đến lúc nào đó con người cần phải giải phóng khỏi việc lao động chân tay, họ cần những máy móc thay thế họ. Muốn được như vậy cần có những hệ thống có thể điều khiển bằng giọng nói hoặc cảm xúc, và những hệ thống này trứơc hết có thể xác định cũng như nhận dạng được mặt người. b. Phục vụ cho việc nhận dạng: Nhận dạng ngày càng có vai trò to lớn trong nhiều họat động của xã hội đặc biệt là họat động an ninh. Xác định mặt người là bước đầu tiên của việc nhận dạng mặt người do đó để có được một hệ thống nhận dạng tốt trước hết chúng ta phải có một hệ thống xác định mặt người tốt. c. Hệ thống quan sát, bảo vệ: Để có hệ thống bảo vệ hoạt động hiệu quả, liên tục, chúng ta cần phải sử dụng một hệ thống quan sát và nhận dạng chính xác những hoạt động nhất là những họat động của con người. 2. Khó khăn: a. Góc quay khác nhau của mặt: Khó khăn đầu tiên phải kể đến trong việc xác định mặt người đó là góc quay khác nhau của khuôn mặt. Góc quay trong không gian ảnh gây khó khăn cho những hệ thống chỉ xác định được mặt thẳng đứng (trục của khuôn mặt không hướng theo những chiều giống nhau). Góc quay ngoài không gian ảnh gây ra việc mất đi những thành phần quan trọng Xác định mặt người 16 của khuôn mặt làm cho việc xác định dựa vào những thành phần trên khuôn mặt gặp nhiều khó khăn. b. Độ lớn nhỏ của mặt: Độ lớn nhỏ của khuôn mặt khác nhau gây khó khăn trong việc xác định khuôn mặt dựa vào kích thước của những vùng da. c. Nhiễu: Những nhiễu gây ra bởi nhiều nguyên nhân khác nhau gây khó khăn cho mọi phương pháp xác định, đôi khi làm cho vùng không phải là mặt bị nhận là mặt và ngược lại. d. Cường độ ánh sáng khác nhau: Cường độ ánh sáng khác nhau gây ra những vùng nhiễu như đã nói ở trên. Ngoài ra cừơng độ ánh sáng còn gây khó khăn trong việc mô hình hóa màu da người gây ảnh hưởng lớn đến những phương pháp xác định mặt người dựa vào màu da. II. Các phương pháp xác định mặt người và thành phần trên khuôn mặt: 1. Các phương pháp xác định mặt người: Xác định mặt người được chia ra làm hai hướng chính: a. Phương pháp tiếp cận dựa vào đặc điểm của khuôn mặt (feature-based): trong cách tiếp cận này có ba phương pháp chính: • Phân tích những đặc điểm có thể gọi là vật lý của khuôn mặt: trong cách tiếp cận này có thể phân chia ra làm cách tiếp cận như cách tiếp cận dựa vào biên khuôn mặt, màu sắc, độ xám, chuyển động và kích thước của khuôn mặt. • Phân tích những đặc điểm trên khuôn mặt (mắt, mũi, miệng): cách tiếp cận này có các phương pháp như: tìm kiếm những thành phần của khuôn mặt, phân tích quan hệ giữa các thành phần đó. • Mô hình những hình dạng: phương pháp này chủ yếu dựa vào đường cong trên khuôn mặt, những mô hình phân bố điểm. b. Phương pháp tiếp cận dựa vào hình ảnh : trong phương pháp này có hai phương pháp chính: Xác định mặt người 17 • Phương pháp neural network: Phương pháp này sử dụng một hệ thống neural network. Hệ thống này sau khi được training với một lượng dữ liệu lớn về mặt người cũng như không phải là mặt người sẽ đi đến trạng thái ổn định có thể nhận ra mặt người. Khuyết điểm lớn nhất của hệ thống này là chúng ta phải có một cơ sở dữ liệu rất lớn về mặt người để training hệ thống bởi vì càng được training nhiều thì hệ thống xác định mặt người càng chính xác. • Phương pháp thống kê: Yếu tố chính của phương pháp thống kê trong các hệ thống xác định mặt người là cách tiến hành xây dựng tập các vector đặc tính và kết cấu của khuôn mặt. Sau đó áp dụng các đặc tính kết cấu đa phân giải đó cho một vùng ảnh nhất định để nhận biết xem đó có phải là vùng ảnh có chứa mặt người hay không.Ưu điểm của phương pháp này là hệ thống không cần nhiều ảnh huấn luyện (training image).Nhược điểm của phương pháp này là khối lượng tính toán lớn và tương đối phức tạp trong quá trình xây dựng các đặc tính kết cấu đa phân giải. 2. Những phương pháp xác định thành phần khuôn mặt người: a. Phương pháp xác định các thành phần dựa vào phép chiếu: Từ những vùng da người xác định trước, những thành phần chính của khuôn mặt (mắt, mũi, miệng) có thể xác định chính xác dựa vào hình chiếu ngang và dọc của nó. Bên cạnh đó, những tri thức về cấu trúc của khuôn mặt người giúp cho chúng ta có thể áp dụng một số thuật giải heuristic làm cho quá trình định hướng hiệu quả hơn. Cho trước một vùng ảnh xám I(x,y), hình chiếu toàn phần của nó được xác định bởi HP(y)= ( ,. )I x∑ ( . , )I y∑ và VP(x)= ( ,. )I x∑ . Những hình chiếu này được làm trơn để tránh những đỉnh nhiễu. Sau đó những thành phần của khuôn mặt có thể được suy ra từ những cực đại và cực tiểu địa phương như trong hình. Nếu không có đỉnh nào được tìm thấy ở những vị trí mong muốn thì ta có thể kết luận là không có khuôn mặt nào trong ảnh. Và nếu tất cả các thành phần của khuôn mặt có thể xác định được ta kết luận là có tồn tại khuôn mặt. Xác định mặt người 18 b. Cách xác định dựa vào các đặc trưng màu sắc và quan hệ hình học: • Xác định miệng: chủ yếu dựa vào tính chất đỏ hơn của môi so với các thành phần khác của khuôn mặt. Sau khi xác định những vùng bao quanh vùng da người, những vùng có màu đỏ trong vùng da đó được xác định dựa vào công thức: MouthMap= 2 2 2. ( / )r r r bC C C Cη− trong đó η= 2(1/ ) 0 .95 (1/ ) / N Cr N Cr Cb × ∑∑ với N là số chiều không gian của bao vùng da. Những khu vực được xác định là miệng được tách riêng. Trong trường hợp có nhiều khu vực thì những khu vực này được trộn chung lại dựa trên tính lân cận của chúng và tạo thành một vùng. Trọng tâm của vùng này sau đó có thể xem như là vị trí của miệng. • Xác định mắt: Một tính chất quan trọng giúp cho việc xác định mắt là mắt thường có độ tối cao hơn những vùng khác do mắt người chứa những vùng gần đen hoặc gần trắng. Những khu vực này có thể xác định dựa vào những tính toán trong công thức (4) như sau : Variance= 2(1/N) (Y-Y)∑ Trong đó Y là độ sáng tối của từng pixel trong khu vực, Y là độ sáng tối trung bình của khu vực và N là số chiều của khu vực. Tuy nhiên trong thực tế này không hiệu quả để xác định mắt mà chúng ta cần dựa những đặc điểm cấu trúc và hình học của khuôn mặt như sau: Xác định mặt người 19 9 Khu vực mắt phải nằm trên khu vực miệng ít nhất là 10 pixel. 9 Tỉ lệ giữa chiều cao và chiều rộng của mắt ít nhất là 0.4. 9 Khoảng cách từ miệng tới mắt trái và mắt phải phải thỏa điều kiện sau: l r l1 .4xME ME 0.6xME≥ ≥ . 9 Góc giữa miệng và mắt phải thỏa điều kiện sau: 0 035 80l rE ME≤ ≤ . 3. Những ưu điểm của phương pháp xác định dựa vào thành phần của khuôn mặt: Trong khi xác định khuôn mặt người dựa vào toàn bộ khuôn mặt rất nhạy cảm với sự thay đổi vị trí của khuôn mặt thì việc xác định khuôn mặt dựa vào thành phần của khuôn mặt rất ít ảnh hưởng bởi việc này, bởi vì những thành phần trên khuôn mặt ít thay đổi vị trí khi vị trí của khuôn mặt thay đổi nhỏ. Những kết quả thực nghiệm cho thấy việc xác định khuôn mặt người dựa vào các thành phần trên khuôn mặt có độ chính xác cao hơn rất nhiều so với việc xác định mặt người dựa vào toàn bộ khuôn mặt. Xác định mặt người 20 Chương 2: Xây dựng thuật giải I. Các bước tiền xử lí: Từ chương này chúng tôi sẽ đề cập khái quát quá trình cũng như cách xác định măt người của hệ thống được xây dựng 1. Phương pháp lấy những vùng da người: a. Xây dựng hệ thống màu: Xây dựng hệ thống màu là một công việc quan trọng trong việc xác định khuôn mặt người dựa vào màu da. Việc xác định chính xác màu da người là thành công ban đầu trong việc xác định khuôn mặt. Ngoài ra, hệ thống này phải xác định khuôn mặt dựa vào các thành phần của khuôn mặt nên ngoài việc xác định màu da người ta phải xây dựng hệ thống màu sao cho các thành phần trên khuôn mặt hiện rõ trên nền màu da người. Hệ thống màu xây dựng từ chuẩn là không gian màu RGB chuyển qua không gian YCrCb với công thức chuyển đổi tuyến tính. Cụ thể như sau: • Lấy màu RGB của một tọa độ. • Tính màu YCrCb từ màu RGB theo công thức sau [3] : Y = 0.299*R + 0.587*G + 0.114*B Cb = -0.169 * R - 0 .331 * G + 0.500 * B Cr = 0.500 * R - 0 .419 * G - 0 .081 * B ⎧⎪⎨⎪⎩ (I) Aùp dụng không gian màu YCbCr có rất nhiều thuận lợi không chỉ là tính toán đơn giản mà chúng ta có thể điều khiển được các sắc màu Xanh (là Cb với trọng số Blue lớn), Đỏ (là Cr với trọng số Red lớn) và độ chiếu sáng (là Y tổ hợp tuyến tính của ba trang thái màu R, G, B và đạt cực đại với sắc màu trắng). b. Tiêu chuẩn để một điểm là màu da người trong không gian màu YCbCr: Dữ liệu vào: Pixel với các tọa độ tương ứng (x,y) Tiến trình : Aùp dụng công thức chuyển đổi (I) và điều kiện isSkin = 45 &&Y<252 Cb>-60 && Cb<10.3 Cr>10 && Cr<60 Y >⎧⎪⎨⎪⎩ Xác định mặt người 21 Dữ liệu ra: ⎩⎨ ⎧ = == falseisSkinBlack trueisSkinWhite jiPixel ),( c. Tiêu chuẩn một điểm là các thành phần mắt miệng trong một vùng da: Tiêu chuẩn này đóng một vai trò quan trọng trong toàn bộ hệ thống: 9 Nó quyết định các khu vực để đạt được mức độ loang chính xác trong một khuôn mặt và việc tách dính một khuôn mặt với nhiều khuôn mặt. 9 Nó quyết định độ chính xác và đầy đủ trong việc xác định các thành phần. 9 Nó cũng đóng vai trò quan trọng trong quá trình loại bỏ các nhiễu (giống khuôn mặt nhưng thật ra không phải là khuôn mặt). Khởi tạo: Crb=Cr/Cb (trong không gian màu YCbCr) Cr 2 =Cr*Cr Sắc nâu đen: Crb>3 && G<100 && B<100(đặc trưng vùng mắt) Sắc đỏ: 1300&&2 2 >> CrCrb (đặc trưng vùng miệng) Dữ liệu vào: Vùng mặt {minX<i<maxX, minY<j<maxY} Tiến trình: Bước 1: Xét một pixel P(i,j) thuộc vùng mặt . Bước 2: ishole(i,j)=Sắc nâu đen hoặc Sắc đỏ. ishole(i,j) dùng để xác định xem pixel ở vị trí (i,j) có thuộc về một khu vực hay không. Bước 3: ishole(i,j)=true thì xét lại bước 2 với P là một lân cận biên của P. ishole(i,j)=false thì qua bước 4. Bước 4: Tập hợp các Pixel vừa xét lại thành một khu vực. Dữ liệu ra: ⎩⎨ ⎧ ∈ ∉= holejiPixelBlack holejiPixelWhite jiPixel ),( ),( ),( Xác định mặt người 22 2. Phương pháp khử nhiễu: Do tính chất phức tạp của điều kiện ánh sáng nên các thành phần nhiễu vẫn tồn tại.Vì vậy ảnh sau khi lấy được vùng da không được đưa trực tiếp vào xử lý mà phải qua bước lọc nhiễu (nếu làm tốt thì sẽ thuận lợi cho việc xác định thành phần của khuôn mặt sau này). Những khu vực nhỏ tách biệt nhưng giống thành khuôn mặt hay những hole nhỏ trong vùng khuôn mặt sẽ bị loại bỏ nhờ phương pháp morphological. Có hai bước morphological quan trọng là: đóng (closing) và mở (opening). Mở thường làm trơn biên của ảnh, bẻ gãy những liên kết giữa các vùng nhỏ, loại bỏ những vùng lồi nhỏ. Đóng cũng thường làm trơn biên của ảnh nhưng ngược lại với mở nó thường nối những vùng nhỏ bằng cách trộn chúng lại với nhau, loại bỏ những hố nhỏ và lấp đầy những lỗ hổng ngoài biên. Chúng ta có thể minh họa như sau: Đầu tiên chúng ta cần có một cấu trúc phần tử của phép biến đổi ví dụ: vàphép opening xác định thông qua hai bước sau: Hình 3: Bước mở Xác định mặt người 23 Trong khi đóng (closing) được xác định bằng: Hình 4: Bước đóng (closing) Cấu trúc phần tử có trọng tâm là một pixel trong ảnh, và những giá trị pixel được biến đổi như sau: Với phép toán co (erosion) thì một pixel được đánh dấu sẽ bị lọai nếu nó là trung tâm của các pixel có hình dạng giống cấu trúc phân tử. Đối với phép toán dãn (dilation) thì những pixel đánh dấu sẽ được thêm cấu trúc phần tử dựa trên việc giá trị này như là trọng tâm của cấu trúc phần tử. Trong việc xác định mặt người thì chúng ta có thể giả sử rằng khuôn mặt nhỏ nhất phải lớn hơn 5x5 pixel. Bất cứ vùng da nào nhỏ hơn khu vực này sẽ bị loại bỏ và xem như là một vùng không phải khuôn mặt. Vùng 5x5 này được dùng như là cấu trúc phân tử của các phép toán ở trên. Trong thực tế để hợp lí hơn chúng ta có thể xóa bớt một vài pixel ở góc để cấu trúc của chúng ta gần giống khuôn mặt hơn. Hình 5: Các cấu trúc khuôn mặt thông thường Xác định mặt người 24 và cấu trúc phần tử tương ứng như sau: Hình 6: Các cấu trúc phần tử Morphology giúp cho chúng ta tách riêng những vùng da người và những vùng không phải da người nếu chúng không có liên hệ với nhau. Nhưng nếu mối liên hệ này lớn hơn cấu trúc phần tử thì phương pháp này không hiệu quả. Vì vậy việc chọn một cấu trúc phần tử có kích thước phù hợp là rất quan trọng. Nếu quá nhỏ sẽ giữ nhiều pixel không có ích trong ảnh còn nếu quá lớn có thể làm loại bỏ những thông tin quan trọng và có thể làm cho việc xác định khuôn mặt gặp thất bại. Hình minh họa cho việc chuyển đổi không gian màu và lọc nhiễu: Xác định mặt người 25 Xác định mặt người 26 II. Xác định thành phần mắt-miệng và tách dính 1. Phương pháp lấy thành phần mắt-miệng của khuôn mặt: Sau khi chúng ta đã có một vùng da người theo một không gian màu nói trên mà ở trong luận văn này sử dụng không gian màu YcrCb. Việc xác định các thành phần theo các bước sau: Cách xác định thành phần khi đã có được ảnh ánh xạ từ ảnh màu: Dù đã có một không gian màu tốt nhưng vẫn không tránh hết được những tình huống nhiễu (do ánh sáng, do che lấp v.v). Do vậy để việc xác định thành phần chính xác và đầy đủ chúng tôi phải áp dụng nhiều bước với các thông số so sánh chặt chẽ để đảm bảo không bị sai lệch. Bước một: (xác định được thành phần của 60% khuôn mặt trong ảnh) Hướng tiếp cận: Xét tất của các vùng (nonface bounds) nếu xét cặp tam giác 3 vùng nếu cặp hai vùng nào đạt được sự cân bằng về hình thái sau thì sẽ được ưu tiên hơn: Xác định mặt người 27 Trong trường hợp có nhiều cặp thỏa mãn thì sẽ xét theo tỷ lệ xác xuất cho các tiêu chuẩn để chọn căp tốt nhất: Tiêu chuẩn có thể gồm tỷ lệ so sánh với chiều dài, chiều rộng của khuôn măt, độ lớn của các vùng v.v. Cách xây dựng: - Tạo một tập logic mờ với các tham số truyền vào là ba vùng: LeftRegion, RightRegion và MouthRegion. - Trên tập logic mờ này ta tính toán các thông số sau: 9 Tỷ lệ giữa khoảng cách hai mắt so với chiều rộng của khuôn mặt (Dis/width). 9 Tỷ lệ giữa khoảng cách từ điểm trung tâm hai mắt đến miệng so với chiều rộng của khuôn mặt (height/width). 9 Độ lớn của các vùng LeftRegion, RightRegion, MouthRegion (Region.area). Khuôn mặt thẳng Khuôn mặt Khuôn mặt nghiêng trái nghiêng phải Xác định mặt người 28 Thông số thứ nhất (Dis/width) (value1): Thông số thứ hai (Height/width) (value2): Thông số thứ ba (kích thước của các vùng) (value3): Nếu vùng (Region) có kích thước lớn sẽ được gắn trọng số cao hơn trong công thức tính xác xuất. Cách tính xác xuất để chọn ra cặp tối ưu nhất: 4 3*5.12*5.11*1 valuevaluevalueP ++= Xác định mặt người 29 Ở đây chúng tôi đánh giá cao tiêu chuẩn height/width và kích thước của các vùng. Còn tiêu chuẩn dis/width không ổn định nếu khuôn mặt bị nghiêng dù chỉ với góc nhỏ. Hình minh họa Các thành phần đã được xác định Bước hai: Hướng tiếp cận: Bước này dùng để xác định các thành phần trong trường hợp một hay hai mắt đều bị dính vào biên. Cách xây dựng: Ở trường hợp này phương pháp mà chúng tôi áp dụng là gióng một đường vị trí của nó đảm bảo là vị trí có khả năng cao nhất là vị trí của thành phần. Nếu tìm được ta sẽ đưa nó vào tập thành phần và áp dụng lại bước một để lấy kết quả. Xác định mặt người 30 Hình minh họa Bước ba: Hướng tiếp cận: trường hợp này ít xuất hiện hơn nhưng không phải là không có: Đó là hai mắt trái và phải dính lại thành một vùng có kích thước rất lớn. Cách xây dựng: xác định các điểm cùng trái và cùng phải của các vùng và xác định ở các khoảng cách 1/4 và 3/4 Hình minh họa: ù 2. Phương pháp tách dính: Trong các ứng dụng xác định mặt người với ảnh màu, hai vấn đề luôn gây phức tạp cho các thuật toán xác định tương ứng là: độ sáng không phù hợp và các mặt người dính với nhau. Nói chung để nhận biết một vùng da có là dính hay không thì rất khó. Vì vậy để có thể giải quyết vấn đề này chúng tôi đã Trường hợp mắt phải, mắt trái dính nhau làm một Xác định mặt người 31 tiến hành xây dựng một chuẩn chung là kết hợp thuật toán loang Fast Marching với cách xác điểm loang theo nhóm điểm và áp dụng nó trên nhiều ảnh dính. Kết quả đạt được là khá tốt và chính xác. • Xác định điểm loang: Qua logic mờ về kích thước của khuôn mặt, chúng tôi xây dựng một tập các bán kính (radius) ứng với từng kích thước (size): size ==SMALL||QUITE_SMALL radius=30 size ==RATHER_SMALL radius=35 size ==MEDIUM radius=40 size ==RATHER_BIG radius=45 size ==BIG radius=50 size ==QUITE_BIG radius=55 Thuật toán phân tách các nhóm các vùng: Khởi tạo: Một mảng chứa các bound được chọn ra: checkedBound Dữ liệu vào: Khuôn mặt (Face bound) và các thành phần (Nonface bound) của khuôn mặt đó cùng với bán kính (radius) Xử lí: • Xét Nonface[0] và đưa Nonface[0] vào checkedBound. • Xét các Nonface bound khác nếu khoảng cách nhỏ hơn radius thì xem như đã check. Còn ngược lại thì đưa Nonface mới đó vào checkedBound. • Rồi tiếp tục dò tìm các các thành phần (nonFace bound) khác tương tự như với Nonface[0]. Dữ liệu ra: Ta được tập checkedBound mà mỗi phần tử của nó đại diện cho một nhóm hole. • Xác định độ loang: Độ loang của thuật toán Fast Marching là giá trị chặn trên của thuật toán. Nghĩa là quá trình loang sẽ dừng khi tỷ lệ các điểm biên (là điểm khi đã loang tới biên ngoài ) trên tổng số các điểm đã và đang xét vượt quá độ loang. Cách tiếp cận thông thường thì độ loang được xác định dựa vào kích thước của khuôn mặt. Nhưng do bị nhiễu bởi việc có dính nhiều khuôn Xác định mặt người 32 mặt hay không đã làm cho kích thước không đáng tin cậy do đó độ loang cũng không đủ chính xác. Vì lý do trên nên chúng tôi không dựa vào kích thước mà dựa vào số các nhóm vùng (checkedbound) có được ở bước trước để xác định độ loang. Nếu các nhóm càng ít thì hệ số loang càng cao (để đảm bảo loang đủ khuôn mặt). Hình minh họa Chỉ có một khuôn mặt: Nhiều khuôn mặt: (tách dính) Xác định mặt người 33 III. Xây dựng luật mờ Những luật logic mờ về quan hệ giữa mắt, mũi, miệng và chiều dài, chiều rộng khuôn mặt: Sau khi xác định được vị trí của các thành phần trong khuôn mặt, chúng ta tiến hành xác định mối quan hệ giữa các thành phần đó xem có thỏa điều kiện là khuôn mặt hay không. Các mối quan hệ giữa các thành phần dựa trên các luật logic mờ sau: 1. Xác suất làmột nếu điểm giữa của miệng nằm trên trục đối xứng của hai mắt theo chiều dọc. Xác định mặt người 34 2. Xác suất là một nếu khoảng cách giữa hai điểm giữa của mắt gấp hai lần chiều rộng của mắt, chiều rộng của mắt bằng 2/10 chiều rộng của khuôn mặt tại vị trí của mắt. 3. Xác suất là một nếu như chiều rộng của miệng tỉ lệ với chiều rộng của khuôn mặt tại vị trí của miệng theo tỉ lệ 0.2:1 tới 0.65:1 (do chiều rộng của miệng có thể khác nhau tùy vào trạng thái của khuôn mặt). 4. Xác suất là một nếu khoảng cách từ mắt tới biên của khuôn mặt bằng 2/10 chiều rộng của khuôn mặt. 5. Xác suất là một nếu khoảng cách từ biên trên của khuôn mặt tới mắt bằng 0.45:1 so với chiều cao của khuôn mặt. 6. Xác suất là một nếu khoảng cách từ biên trên của khuôn mặt tới mũi bằng 0.73:1 so với chiều cao của khuôn mặt. 7. Xác suất là một nếu khoảng cách từ biên trên của khuôn mặt tới miệng bằng 0.83:1 so với chiều cao của khuôn mặt. 8. Xác suất là một nếu khoảng cách từ mắt tới mũi bằng 0.27:1 so với chiều cao của khuôn mặt. 9. Xác suất là một nếu khoảng cách từ mũi tới miệng bằng 0.27:1 so với chiều cao của khuôn mặt. 10. Xác suất là một nếu khoảng cách từ mũi tới miệng bằng 1:1 so với khoảng cách từ mắt tới mũi. Sau khi có các xác suất này chúng ta tính xác suất của khuôn mặt dựa vào các luật logic mờ dựa vào cộng thức sau: *100% k k k m w p m = ∑ ∑ Trong đó p là xác suất của khuôn mặt. mk là xác suất của luật logic mờ thứ k. kw là trọng số của luật logic mờ thứ k. Theo kinh nghiệm thì luật logic mờ thứ 10 có trọng số là 2 còn các luật logic mờ khác có trọng số là 1. Xác định mặt người 35 Chương 3: Cài đặt thực nghiệm và đánh giá 1. Những chức năng chính của chương trình: 1. Chức năng Detect Face: Đây là chức năng chủ yếu của chương trình dùng để xác định khuôn mặt người trong ảnh. Chức năng này được xử lí qua nhiều bước như xác định vùng da, lọc nhiễu xác tách dính, và cuối cùng là bao những khuôn mặt tìm thấy được. 2. Chức năng Detect Components: Nút này chỉ Active sau khi đã xác định được khuôn mặt. 3. Chức năng Restore: Chức năng dùng để phục hồi lại ảnh ban đầu sau khi thực hiện chức năng detect. 4. Chức năng GetSkin: Chức năng này dùng để xác định những vùng nào trong ảnh có màu da người. 2. Tổng kết: a. Thống kê dựa trên dữ liệu: Thống kê việc thực hiện xác định mặt người trên 469 ảnh khác nhau,kích cở lớn không quá 786x550 ảnh, ta có kết quả như sau: • Số khuôn mặt người thực theo nhận diện của con người là: 1859. • Số khuôn mặt người xác định từ hệ thống là: 1587. Như vậy tỷ lệ xác định đúng là trên 85%. • Số lượng xác định nhầm là khá ít 35. • Tỷ lệ xác định chính xác thành phần mắt miệng của một khuôn mặt là 90% (trung bình cứ 10 khuôn mặt thì có 9 khuôn mặt xác định được mắt miệng). • Độ lệch về vị trí mắt miệng của ảnh được xác định và ảnh gốc không vượt quá 10 pixel. • Có trung bình khoảng 50 trường hợp các khuôn mặt dính nhau trong ảnh. Tỷ lệ tách dính thành công là 80%. Xác định mặt người 36 • Thời gian thực hiện phụ thuộc vào kích thước ảnh, hệ điều hành và cấu hình máy tính. • Độ chính xác của hệ thống chỉ phụ thuộc vào chất lượng và độ khó của ảnh. Với kết quả đúng/sai như nhau, thời gian thực hiện trung bình trên các máy tính khác nhau như sau: Máy CPU RAM Hệ Điều Hành Thời Gian Pentium III 866MHz 128 MB Windows XP 4.4 giây Pentium IV 1.7 GHz 256 MB Windows XP 3.3 giây Pentium IV 2,4 GHz 512 MB Windows Server 2000 1.6 giây Ngoài ra khi sử dụng threading thời gian thực hiện đối với mỗi ảnh không ổn định. Do đó sai số thời gian thực hiện được thống kê như sau: • Mở và chạy 10 lần liên tục một ảnh. • Chạy lại một ảnh thông qua lệnh restore 10 lần liên tục. • Chạy các ảnh theo một thứ tự nhất định. • Chạy các ảnh theo một thứ tự bất kỳ. • Kết quả đúng sai không đổi. • Sai số thời gian lớn nhất là 0.8 giây. Một số kết quả bằng hình ảnh: Hình đầu là ảnh gốc hình sau là ảnh sau khi được xử lý Xác định mặt người 37 Trường hợp các vùng da tách biệt nhau Trường hợp vùng da tách biệt nhau nhưng các khu vực mắt miệng dính vào biên: Xác định mặt người 38 Trường hợp tách dính 4 khuôn mặt với nhau: Xác định mặt người 39 Xác định mặt người 40 b. Đánh giá -Ưu điểm: • Ưu điểm của hệ thống này là có thể xác định chính xác hầu hết các khuôn mặt có trong ảnh dù khuôn mặt có quay trong hay ngoài không gian ảnh. • Có khả năng tách được nhiều khuôn mặt dính ngang và dọc. Xác định mặt người 41 • Có thể dùng để phát triển trong việc nhận dạng khuôn mặt người cũng như nhận ra được cảm xúc của khuôn mặt người dựa vào các thành phần trên khuôn mặt (rất quan trọng cho các hệ thống giao tiếp người máy). • Kế thừa những thành quả của công trình nghiên cứu trước cũng như có thể phát triển thành những ứng dụng cao hơn, phức tạp hơn. • Sử dụng công nghệ multi thread trong ngôn ngữ lập trình Java nên thời gian xử lí nhanh hơn các hệ thống khác rất nhiều. -Khuyết điểm: • Bị phụ thuộc nhiều vào điều kiện ánh sáng do phải mô hình hóa màu da người. • Mô hình da người chưa tổng quát và có thể bị nhiễu bởi những màu gần giống da người. • Chưa đảm bảo được tách dính được tất cả trường hợp. c. Hướng phát triển: Hệ thống này có thể được hoàn thiện hơn dựa vào mô hình da người tổng quát hóa hơn thông qua nghiên cứu của các nhà nhân trắc học. Bên cạnh đó hệ thống viết bằng ngôn ngữ Java có thể chạy trên mọi môi trường hệ điều hành cũng như những môi trường điện thoại di động, camera. Hệ thống có thể kết hợp với những công trình ngiên cứu khác như nhận dạng âm thanh, giọng nói, nhận dạng mặt người và công nghệ điện tử, tự động để có thể phát triển thành những hệ thống trí tuệ nhân tạo phức tạp hơn và có những ứng dụng thực tế cao hơn. Ngoài ra hệ thống nếu cải thiện tốc độ xử lí nhanh hơn để có thể xử lí thời gian thực, từ đó ứng dụng được ngay vào những hệ thống xử lí ảnh video hoặc ảnh động quay từ camera trong các hệ thống quan sát, bảo vệ xử lí tự động. Xác định mặt người 42 Tài liệu tham khảo [1]. Kenji Iwata, Hitoshi Honggo, Kazuhiko Yamamoto, and Yoshinori Niwa, “Robust Facial Parts Detection by Using Four Directional Feature and Relaxation Matching” Gifu University, Japan. [2]. M.Castrillon Santana, J.Lorenzo Navarro, J.Cabrera Gamez , “Detection of Frontal Faces in Video Streams”, Instituto Universitario da Sistemas Inteligentes y Applicationnes Numericas en Ingeniera (IUSIANI). [3]. Kyongpil Min, Junchul Chun, and Goorack Prak, “A Nonparametric Skin Color Model for Face Detection from Color Images”. Department of Computer Sciences. [4]. Allan Hanbury, “Mathematical Morphology from Erosion to Watersheds”, Venia University of technology, 9-1983. [5]. Sanjay Kr.Singh.D.S.Chauhan,Mayank Vatsa,Richa Singh, “A Robust Skin Color Based Face Detection Algorithm”, Tamkang Journal of Science and Engineering, Vol6, Nõ,pp.227-234(2003). [6]. Dai-Yun Li Wen-Hung Liao, “Facial feature detection in near-infrared images”, Department of Computer Science, Natinal ChengchiUniversity, Taipei, TAIWAN. [7].Rein-Lien Hsu. “Face Detection in Color Images”, Department of Computer Science & Engineering, Michigan State University, MI 48824, 19-4-2004. [8]. Xiangping Wang and Xingming Zhang, “Gabor Wavelet-based Eyes and Mouth Detection Algorithm”, Department of Computer Engineering and Science, South China University of Technology. [9]. Gary G Yen and Nethrie Nithianandan, “Automatic facial feature extraction using edge distribution and genetic search”, School of Electrical and computer enginerring Oklahoma State University, Stillwater, 2003. Xác định mặt người 43 [10]. Saman Cooray and Noel O’Connor, “Facial feature extraction and principal component analysis for face detection in Color Images”, Centre for digital vedio Processing, Dublin City University, Ireland. [11]. Gines Garcia-Mateos, Alberto Ruiz, “Face detection using integral projection models”, University of Murcia, Spain. [12]. Dale Brisinda, “Face Detection from Constituent Features and Energy Minimizing Spring-Based Facial Templates”, Calgary, Albeta, Department of computer science, 1998. [13]. Shixiong Li, “Multiface Location in Color Image”, Concordia University, Montreal, Quebec, Canada, 2002. [14]. Yen-Yu Lin, Tyng-Luh Liu, and Chiou-Shanm Fuh, “Fast Objecy Detection with Occlusions”, Inst.of Information Science, Academia Sinica, Nankang, Taipei 115, Taiwan. [15]. Jin Ok Kim, Jin Soo Kim, Young Ro Seo, Bum Ro Lee, Chin Hyun Chung, Key Seo Lee,Wha Young Yim, and Sang Hyo Lee, “On Extraction of Facial Features from Color Images”, faculty of Multimedia, Daegu Haany University, Korea. [16]. Ming-Hsuan Yang, Member, IEEE, David J.Kriegman, Senior Member, and Narendra Ahuja, “Detection Faces in Images: A Survey”, IEEE transaction on PatternAnalysis And Machine intelligence, January 2002. [17]. Carlos Morimoto, Dave Koons, Amon Amir, Myron Flickner, “Real-Time Detection of Eyes and Faces”, BM Almaden Research Center.

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

  • pdfxac_dinh_mat_nguoi_dua_vao_thanh_phan_khuon_mat_va_logic_mo_5416.pdf
Luận văn liên quan