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ờ” - Đại học Quốc gia TP. Hồ Chí Minh-Trường Đại học Khoa học Tự nhiên - Trần Anh Tuấn, Phan Phúc Doãn
Bạn đang xem 20 trang mẫu của tài liệu "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ờ” - Đại học Quốc gia TP. Hồ Chí Minh-Trường Đại học Khoa học Tự nhiên - Trần Anh Tuấn, Phan Phúc Doãn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- tieu_luan_tot_nghiep_de_tai_xac_dinh_mat_nguoi_dua_vao_thanh.pdf
Nội dung text: 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ờ” - Đại học Quốc gia TP. Hồ Chí Minh-Trường Đại học Khoa học Tự nhiên - Trần Anh Tuấn, Phan Phúc Doãn
- ÑAÏI HOÏC QUOÁC GIA TPHCM ÑAÏI HOÏC KHOA HOÏC TÖÏ NHIEÂN KHOA TOAÙN-TIN HOÏC BOÄ MOÂN TIN HOÏC ÖÙNG DUÏNG D E TIEÅU LUAÄN TOÁT NGHIEÄP Ñeà taøi: XAÙCÙ ÑÒNH MAËTË NGÖÔØIØ DÖÏÏA VAØØO THAØØNH PHAÀNÀ KHUOÂNÂ MAËTË VAØ Ø LOGIC MÔØ Ø Giaûng vieân höôùng daãn: Thaïc só PHAÏM THEÁ BAÛO Giaûng vieân phaûn bieän: Tieán só TRAÀN NAM DUÕNG Sinh vieân thöïc hieän : TRAÀN ANH TUAÁN PHAN PHUÙC DOAÕN KHOÙA:2001-2005
- Xaùc ñònh maët ngöôøi Lôøi noùi ñaàu Ngaøy nay vôùi söï phaùt trieån nhanh choùng cuûa coâng ngheä thoâng tin, con ngöôøi ngaøy caøng muoán laøm ra nhöõng vaät duïng thay theá hoï trong vieäc lao ñoäng chaân tay cuõng nhö trí oùc. Vì vaäy nhöõng lónh vöïc nhö trí tueä nhaân taïo vaø töï ñoäng hoùa ngaøy caøng phaùt trieån maïnh ôû nhöõng nöôùc phaùt trieån, ñaëc bieät laø vieäc cheá taïo ra nhöõng robot. Nhöõng heä thoáng töï ñoäng noùi chung vaø robot noùi rieâng muoán hoaït ñoäng coù hieäu quaû thöôøng phaûi coù moät heä thoáng töông taùc ngöôøi maùy vaø trong nhöõng heä thoáng naøy thì vieäc xaùc ñònh maët ngöôøi chieám moät vò trí quan troïng. Xaùc ñònh maët ngöôøi (face detection) laø thuaät ngöõ duøng ñeå chæ vieäc ñònh höôùng (location) vaø xaùc ñònh moät caùch chính xaùc vò trí cuûa maët ngöôøi trong moät böùc aûnh. Xaùc ñònh maët ngöôøi coù raát nhieàu phöông phaùp: phöông phaùp neural network, phöông phaùp döïa vaøo ñaëc tröng cuûa da ngöôøi, phöông phaùp döïa vaøo nhöõng ñaëc ñieåm treân khuoân maët ngöôøi . Luaän vaên naøy chuû yeáu trình baøy phöông phaùp xaùc ñònh maët ngöôøi döïa treân maøu da vaø nhöõng ñaëc tröng treân khuoân maët ngöôøi. Luaän vaên ñöôïc chia ra laøm 2 phaàn. Phaàn ñaàu chuû yeáu noùi veà cô sôû toaùn hoïc vaø khoa hoïc maùy tính cuûa heä thoáng xaùc ñònh maët ngöôøi bao goàm: caùc khoâng gian maøu, heä thoáng logic môø, phöông phaùp Fast Marching. Phaàn coøn laïi cuûa luaän vaên laø chi tieát veà thuaät toaùn vaø caøi ñaët heä thoáng. Luaän vaên naøy ñaõ ñöôïc vieát vaø bieân taäp kó löôõng, song khoâng theå traùnh khoûi thieáu soùt trong quaù trình vieát, mong nhaän ñöôïc söï ñoùng goùp taän tình cuûa quí thaày coâ vaø caùc baïn ñeå luaän vaên hoaøn thieän hôn. 1
- Xaùc ñònh maët ngöôøi 2
- Xaùc ñònh maët ngöôøi Lôøi caûm ôn Ñaàu tieân chuùng toâi xin chaân thaønh caûm ôn thaïc só Phaïm Theá Baûo, ngöôøi tröïc tieáp höôùng daãn ñeà taøi naøy ñaõ taän tình chæ baûo, giuùp ñôõ chuùng toâi trong suoát quaù trình thöïc hieän tieåu luaän naøy. Chuùng toâi cuõng chaân thaønh caûm ôn hai anh Nguyeãn Thaønh Nhöït vaø Cao Minh Thònh ñaõ coù nhöõng giuùp ñôõ quí baùu veà taøi lieäu cuõng nhö thuaät toaùn ñeå chuùng toâi thöïc hieän toát luaän vaên. Chuùng toâi cuõng xin caûm ôn thaày coâ trong khoa Toaùn-Tin hoïc ñaõ cung caáp cho chuùng toâi nhöõng neàn taûng Toaùn vaø Tin hoïc vöõng chaéc laøm tieàn ñeà cho vieäc thöïc hieän thaønh coâng luaän vaên naøy. Chuùng toâi cuõng xin caûm ôn caùc baïn khoùa 2001 ñaõ ñoäng vieân, giuùp ñôõ ñeå chuùng toâi hoaøn thaønh toát luaän vaên. 3
- Xaùc ñònh maët ngöôøi Muïc luïc Lôøi noùi ñaàu 1 Lôøi caûm ôn 2 Muïc luïc 3 Phaàn 1: Cô sôû toaùn hoïc 5 Chöông 1: Caùc khoâng gian maøu söû duïng trong vieäc xaùc ñònh da ngöôøi 5 1. Khoâng gian maøu HIS, HSV, HSL 5 2. Khoâng gian maøu TSL 5 3. Khoâng gian maøu YCbCr 6 Chöông 2: Ñieàu khieån môø vaø logic môø 7 1. Toång quan veà logic môø vaø ñieàu khieån môø 7 2. Caùc thaønh phaàn cuûa heä thoáng logic môø 8 3. Môø hoùa 8 4. Giaûi môø 9 Chöông 3: Fast Marching 10 1. Giôùi thieäu 10 2. Coâng thöùc tính toaùn cuûa thuaät toaùn Fast Marching 10 3. AÙp duïng thuaät toaùn Fast Marching trong heä thoáng thöïc nghieäm 11 Phaàn 2: Heä thoáng xaùc ñònh maët ngöôøi 14 Chöông 1: Toång quan veà caùc phöông phaùp xaùc ñònh maët ngöôøi 14 I.Muïc ñích vaø khoù khaên 1. Muïc ñích 14 2. Khoù khaên 14 II.Caùc phöông phaùp xaùc ñònh maët ngöôøi vaø caùc thaønh phaàn treân khuoân maët 15 1. Caùc phöông phaùp xaùc ñònh maët ngöôøi a. Phöông phaùp tieáp caän döïa vaøo ñaëc ñieåm cuûa khuoân maët 15 b. Phöông phaùp tieáp caän döïa vaøo hình aûnh 15 2. Caùc phöông phaùp xaùc ñònh thaønh phaàn treân khuoân maët ngöôøi 16 3.Öu ñieåm cuûa phöông phaùp xaùc ñònh döïa vaøo thaønh phaàn cuûa khuoân maët 18 Chöông 2: Xaây döïng thuaät giaûi 19 I. Caùc böôùc tieàn xöû lí 19 4
- Xaùc ñònh maët ngöôøi 1. Phöông phaùp laáy nhöõng vuøng da ngöôøi 20 2. Phöông phaùp khöû nhieãu 21 II. Xaùc ñònh thaønh phaàn maét-mieäng vaø taùch dính 25 1. Xaùc ñònh caùc thaønh phaàn maét-mieäng cuûa khuoân maët 25 2. Phöông phaùp taùch dính 29 Xaùc ñònh ñieåm loang 30 Xaùc ñònh ñoä loang 30 III. Xaây döïng luaät môø 32 Nhöõng luaät môø veà quan heä giöõa maét muõi mieäng vaø chieàu daøi chieàu roäng cuûa khuoân maët 32 Chöông 3: Caøi ñaët thöïc nghieäm vaø ñaùnh giaù 34 1. Caùc chöùc naêng chính cuûa heä thoáng 34 2. Toång keát Thoáng keâ döïa treân cô sôû döõ lieäu 34 Öu ñieåm 34 Khuyeát ñieåm 34 Höôùng phaùt trieån 35 Taøi lieäu tham khaûo 36 5
- Xaùc ñònh maët ngöôøi Phaàn 1: Cô sôû toaùn hoïc cuûa heä thoáng Chöông 1: Caùc khoâng gian maøu thöôøng söû duïng trong vieäc xaùc ñònh maët ngöôøi 1. Khoâng gian maøu HIS, HSV, HSL (Hue-Saturation-(Intensity/Value/Lightness)) Hue xaùc ñònh nhöõng maøu troäi ( nhö maøu ñoû, xanh laù caây, maøu tía, vaøng) trong moät vuøng , suturation duøng ñeå ño tæ leä cuûa maøu saéc so vôùi ñoä saùng cuûa vuøng, nhöõng giaù trò intensity, value, lightness duøng lieân quan ñeán ñoä saùng cuûa vuøng ñoù. Söï tröïc giaùc cuûa nhöõng thaønh phaàn trong khoâng gian maøu vaø söï phaân bieät roõ raøng giöõa ñoä saùng vaø ñoä chrominance laøm cho nhöõng khoâng gian maøu naøy trôû neân thoâng duïng trong vieäc taùch vuøng da ngöôøi. Coâng thöùc chuyeån ñoåi giöõa R, G, B vaø H, S, V 1 ((R − G) + (R − B)) H = arccos 2 ((R − G) 2 + (R − B)(G − B)) min(R ,GB , ) S =−13 R ++GB 1 VRGB=++() 3 2. Khoâng gian maøu TSL - Tint, Saturation, Lightness Khoâng gian maøu TSL laø söï chuyeån ñoåi töø khoâng gian maøu RGB thaønh nhöõng giaù trò tröïc quan hôn 9 Srg=+[('221/2 ')] 5 ⎧arctan(rg '/ ') / 2π +> 1/ 4, g ' 0 ⎪ Trgg=+<⎨arctan( '/ ') / 2π 3 / 4, ' 0 ⎪ ⎩0,g '= 0 LRGB=++0.299 0.587 0.114 6
- Xaùc ñònh maët ngöôøi Trong ñoù r’ = r−1/3, g’ = g−1/3 vaø caùc giaù trò cuûa r, g laø nhöõng giaù trò ñöôïc chuaån hoùa cuûa khoâng gian maøu RGB ñöôïc tính theo coâng thöùc sau: R r = R ++GB G g = R ++GB B b = R ++GB 3. Khoâng gian maøu YCbCr YCrCb laø daïng maõ hoùa khoâng tuyeán tính cuûa tín hieäu RGB ñöôïc söû duïng phoå bieán trong coâng ngheä truyeàn hình ôû chaâu Aâu vaø trong neùn aûnh. Ñoä Y( ñoä saùng ) ñöôïc taïo thaønh baèng toång caùc thaønh phaàn R, G, B theo caùc troïng soá khaùc nhau, Cr vaø Cb ñöôïc taïo thaønh baèng caùch laáy giaù trò R, B töông öùng tröø cho giaù trò Y. Y = 0.299R+0.587G+0.114B Cr = R−Y Cb = B−Y Söï ñôn giaûn trong bieán ñoåi vaø söï phaân bieät roõ raøng giöõa ñoä saùng vaø ñoä chrominabce laøm cho khoâng gian maøu naøy raát phoå bieán trong vieäc moâ hình hoùa maøu da ngöôøi. 7
- Xaùc ñònh maët ngöôøi Chöông 2: Ñieàu khieån môø vaø logic môø 1. Toång quan veà logic môø vaø ñieàu khieån môø: Baét ñaàu töø naêm 1965, giaùo sö Lofti A.Zadeh ôû tröôøng ñaïi hoïc California-Myõ ñaõ ñöa ra khaùi nieäm veà lyù thuyeát taäp môø (Fuzzy set theory). Töø ñoù ñeán nay logic môø vaø neural network laø hai lónh vöïc ñöôïc nhieàu nhaø khoa hoïc ñaëc bieät quan taâm nghieân cöùu vaø öùng duïng vaøo nhieàu ngaønh khoa hoïc kó thuaät. Taäp môø vaø logic môø döïa treân caùc suy luaän cuûa con ngöôøi veà caùc thoâng tin “khoâng chính xaùc” hoaëc “khoâng ñaày ñuû” veà heä thoáng ñeå ñieàu khieån vaø hieåu bieát heä thoáng moät caùch chính xaùc. Ñònh nghóa taäp con môø vaø haøm lieân thuoäc: Cho taäp E, goïi A’ laø taäp con môø cuûa E vaø: 1 A:= μ ()x = A 1+ kx2 Trong ñoù μA ()x laø haøm lieân thuoäc cuûa taäp môø A’, μA ()x laáy giaù trò baát kì trong ñoïan [0,1] , μA ()x caøng gaàn 1 thì phaàn töû x ∈ E töông öùng caøng toû, neáu μA ()x =1 thì x ñuùng laø phaàn töû toû cuûa taäp môø, caøng gaàn 0 thì phaàn töû x ∈ E töông öùng caøng môø. Ngöôøi ta coù theå laáy μA ()x theo nhieàu kieåu khaùc nhau vaø coù caùc kieåu thoâng duïng sau ñaây: ⎧1 if x= x* μ A ()x = ⎨ 0 else ⎩ −kx μA ()x = e k > 0 M l ∑ hyl . l=1 y = M k > 0 ∑ hl l=1 1 μ ()x = A 1+ kx2 8
- Xaùc ñònh maët ngöôøi 2. Caùc thaønh phaàn cuûa heä thoáng logic môø Heä thoáng ñieàu khieån môø coù 4 khoái: Khoái môø hoùa: coù giaù trò bieàn ñoåi caùc giaù trò roõ ñaàu vaøo thaønh moät mieàn giaù trò môø vôùi haøm lieân thuoäc ñaõ choïn öùng vôùi bieán ngoân ngöõ ñaàu vaøo ñaõ ñöôïc ñònh nghóa. Khoái hôïp thaønh: duøng ñeå bieán ñoåi caùc giaù trò môø hoùa cuûa bieán ngoân ngöõ ñaàu vaøo thaønh caùc giaù trò môø cuûa caùc bieán ngoân ngöõ ñaàu ra theo caùc luaät hôïp thaønh naøo ñoù. Khoái luaät môø: bao goàm caùc taäp luaät “Neáu thì” döïa vaøo caùc luaät môø cô sôû, ñöôïc ngöôøi thieát keá vieát ra cho thích hôïp vôùi töøng bieán vaø giaù trò cuûa caùc bieán ngoân ngöõ theo quan heä môø Vaøo/Ra. Khoái giaûi môø: bieán ñoåi caùc giaù trò môø ñaàu ra thaønh caùc giaù trò roõ ñeå ñieàu khieån ñoái töïông. Moät boä ñieàu khieån môø chæ goàm boán khoái nhö vaäy goïi laø boä ñieàu khieån môø cô baûn. 3. Môø hoùa Môø hoùa ñöôïc ñònh nghóa nhö laø söï aùnh xaï töø taäp caùc giaù trò thöïc x* ∈U⊂Rn thaønh taäp caùc giaù trò môø A’ ôû trong U. Nguyeân taéc chung cuûa söï môø hoùa laø: -Töø taäp giaù trò thöïc x ñaàu vaøo seõ taïo ra taäp môø A’ vôùi haøm lieân thuoäc coù giaù trò ñuû roäng taïi caùc ñieåm roõ x*. -Neáu coù nhieãu ôû ñaàu vaøo thì söï môø hoùa seõ goùp phaàn khöû nhieãu. -Vieäc môø hoùa phaûi taïo ñieàu kieän ñôn giaûn cho vieäc tính toaùn sau naøy. Coù caùc phöông phaùp môø hoùa sau: a. Phöông phaùp ñôn trò: Môø hoùa ñôn trò laø töø caùc ñieåm giaù trò thöïc x* ∈U laáy caùc giaù trò ñôn trò cuûa taäp môø A’; nghóa laø haøm lieân thuoäc coù daïng: ⎧1 if x= x* μA ()x = ⎨ ⎩0 else 9
- Xaùc ñònh maët ngöôøi b. Môø hoùa Gaus: Môø hoùa Gaus laø töø caùc ñieåm giaù trò thöïc x* ∈U laáy caùc giaù trò ñôn trò cuûa taäp môø A’ vôùi haøm lieân thuoäc Gaus: ()x−c 2 σ 2 μσA (,xce ,)= c. Môø hoùa tam giaùc: Môø hoùa tam giaùc laø töø caùc ñieåm giaù trò thöïc x* ∈U laáy caùc giaù trò ñôn trò cuûa taäp môø A’ vôùi caùc haøm lieân thuoäc daïng hình tam giaùc ( hoaëc hình thang): xacx− − μ (,,,)xabc = max(min( , ),0)(hình tam giaùc) A bacb− − xa− dx− μ (xabcd , , , , )= max(min( ,1, ),0)(hình thang) A ba−− dc 4. Giaûi môø Giaûi môø laø söï aùnh xaï töø caùc giaù trò thuoäc taäp môø B’ trong taäp cô sôû thaønh giaù trò roõ ñaàu ra y∈V. Nhö vaäy nhieäm cuï cuûa vieäc giaûi môø laø tìm moät ñieåm roõ ñaïi dieän toát nhaát cho taäp môø B’. Caùc phöông phaùp giaûi môø: a. Phöông phaùp cöïc ñaïi: phöông phaùp naøy bao goàm hai böôùc Böôùc 1: Xaùc ñònh mieàn chöùa giaù trò roõ ñaàu ra.Ñoù laø mieàn G maø giaù trò roõ ñaàu ra y coù haøm lieân thuoäc ñaït giaù trò cöïc ñaïi, nghóa laø: G={|yY∈= μB ()max} y Böôùc 2: Xaùc ñònh giaù trò y töø mieàn G coù 3 caùch tính laø laáy trung bình, laáy giaù trò caän phaûi, laáy giaù trò caän traùi. b. Phöông phaùp laáy troïng taâm: y.()μ ydy ∫ B y = S μ ()y dy ∫ B S 10
- Xaùc ñònh maët ngöôøi c. Phöông phaùp laáy trung bình taâm: Vì taäp môø B’ coù theå laø hôïp hay giao cuûa M taäp môø neân chuùng ta coù theå tính gaàn ñuùng giaù trò y laø trung bình theo troïng soá cuûa taâm cuûa M taäp môø. M l ∑ hyl . l=1 y = M ∑ hl l=1 11
- Xaùc ñònh maët ngöôøi Chöông 3: Phöông phaùp Fast Marching 1. Giôùi thieäu Phöông phaùp Fast Marching ñöôïc phaùt trieån bôûi giaùo sö J.A.Sethian tröôøng ñaïi hoïc Berkely bang California, Myõ. Ñaây laø phöông phaùp tieân tieán thuoäc lónh vöïc giaûi tích soá chuyeân giaûi quyeát caùc vaán ñeà veà loang. Baøi toaùn ñaët ra laø cho tröôùc moät maët phaân giôùi ngoaøi vaø maët phaân giôùi trong cuøng vôùi moät haøm vaän toác F thì sau khoaûng thôøi gian t ñöôøng cong trong loang ra ngoaøi seõ coù hình daïng nhö theá naøo, vaø muïc tieâu laø tính toaùn söï di chuyeån cuûa noù. Hình 1: Ñöôøng cong theo tham soá S (bieân trong) loang ra theo thôøi gian T. 2. Coâng thöùc tính toaùn cuûa thuaät toaùn FastMarching: 1/2 1 ⎡⎤−+xx22 −+ yy 22 ⎣⎦max(DTij ,0)++ min( DT ij ,0) max( DT ij ,0) + min( DT ij ,0) = Fij Trong ñoù F>0 laø haøm vaän toác chæ höôùng loang töø trong ra ngoaøi T (i,j) laø thôøi gian khi ñöôøng cong loang ñeán ñieåm coù toïa ñoä (i,j) Vaø TT− TT− DT−x = ij i−1, j DT+ x = ij+1, ij ij h ij h TT− TT− DT+ y = ij,1+ ij DT− y = ij i,1 j− ij k ij k 12
- Xaùc ñònh maët ngöôøi 3. Aùp duïng thuaät toaùn Fast Marching trong heä thoáng thöïc nghieäm Döõ lieäu vaøo: Vuøng baét ñaàu loang (StartBound) vôùi Pixel bieân ñöôïc gaùn giaù trò laø Known, Pixel laân caän bieân ñöôïc gaùn giaù trò laø Trial vaø caùc Pixel khaùc laø FarAway. Vuøng giôùi haïn loang (EndBound) vaø haøm vaän toác loang laø F=5 (loang tuyeán tính), heä soá loang s. Tieán trình: Laëp: - Trong taát caû caùc ñieåm trial laáy ñieåm coù T beù nhaát A. - Ñöa ñieåm A ñoù töø Trial thaønh Known.Vaø ñaët caùc giaù trò laân caän töø Far thaønh Trial ñeå duøng cho laàn xeùt keá tieáp. - Baát cöù Pixel naøo chuyeån trang thaùi ñeàu phaûi tính toaùn laiï thôøi gian T theo coâng thöùc Fast Marching. -Trôû laïi voøng laëp. Caùch caäp nhaät cho ñieåm chuyeån traïng thaùi: (giaû söû laø X) Hình 2: Caäp nhaät giaù trò T cho ñieåm X Neáu T(A)+1/F >= min(T(B),T(D)) 1 T(X ) = ⎜⎛T(A) + T (B) + 2*(1/ F)2 − ()T (B) −T (A) 2 ⎟⎞ 2 ⎝ ⎠ 13
- Xaùc ñònh maët ngöôøi Ngöôïc laïi thì T(X) = T(A)+1/F Döõ lieäu ra: Coù ñöôïc bieân môùi töø startBound sau khoaûng thôøi gian loang t. 14
- Xaùc ñònh maët ngöôøi Phaàn 2 : Heä thoáng xaùc ñònh maët ngöôøi Chöông 1: Toång quan veà caùc phöông phaùp xaùc ñònh maët ngöôøi I. Muïc ñích vaø khoù khaên: Haøng chuïc naêm qua ñaõ coù haøng ngaøn coâng trình nghieân cöùu veà vieäc xaùc ñònh maët ngöôøi trong aûnh maøu cuõng nhö aûnh traéng ñen. Nhöõng coâng trình nhö vaäy phuïc vuï cho nhieàu muïc ñích khaùc nhau vaø cuõng gaëp nhieàu khoù khaên khaùc nhau nhöng toùm laïi coù theå keå ra nhöõng muïc ñích vaø khoù khaên chuû yeáu sau: 1. Muïc ñích: a. Heä thoáng töông taùc ngöôøi maùy: Khoa hoïc kó thuaät ngaøy caøng tieán boä vaø ñeán luùc naøo ñoù con ngöôøi caàn phaûi giaûi phoùng khoûi vieäc lao ñoäng chaân tay, hoï caàn nhöõng maùy moùc thay theá hoï. Muoán ñöôïc nhö vaäy caàn coù nhöõng heä thoáng coù theå ñieàu khieån baèng gioïng noùi hoaëc caûm xuùc, vaø nhöõng heä thoáng naøy tröùôc heát coù theå xaùc ñònh cuõng nhö nhaän daïng ñöôïc maët ngöôøi. b. Phuïc vuï cho vieäc nhaän daïng: Nhaän daïng ngaøy caøng coù vai troø to lôùn trong nhieàu hoïat ñoäng cuûa xaõ hoäi ñaëc bieät laø hoïat ñoäng an ninh. Xaùc ñònh maët ngöôøi laø böôùc ñaàu tieân cuûa vieäc nhaän daïng maët ngöôøi do ñoù ñeå coù ñöôïc moät heä thoáng nhaän daïng toát tröôùc heát chuùng ta phaûi coù moät heä thoáng xaùc ñònh maët ngöôøi toát. c. Heä thoáng quan saùt, baûo veä: Ñeå coù heä thoáng baûo veä hoaït ñoäng hieäu quaû, lieân tuïc, chuùng ta caàn phaûi söû duïng moät heä thoáng quan saùt vaø nhaän daïng chính xaùc nhöõng hoaït ñoäng nhaát laø nhöõng hoïat ñoäng cuûa con ngöôøi. 2. Khoù khaên: a. Goùc quay khaùc nhau cuûa maët: Khoù khaên ñaàu tieân phaûi keå ñeán trong vieäc xaùc ñònh maët ngöôøi ñoù laø goùc quay khaùc nhau cuûa khuoân maët. Goùc quay trong khoâng gian aûnh gaây khoù khaên cho nhöõng heä thoáng chæ xaùc ñònh ñöôïc maët thaúng ñöùng (truïc cuûa khuoân maët khoâng höôùng theo nhöõng chieàu gioáng nhau). Goùc quay ngoaøi khoâng gian aûnh gaây ra vieäc maát ñi nhöõng thaønh phaàn quan troïng 15
- Xaùc ñònh maët ngöôøi cuûa khuoân maët laøm cho vieäc xaùc ñònh döïa vaøo nhöõng thaønh phaàn treân khuoân maët gaëp nhieàu khoù khaên. b. Ñoä lôùn nhoû cuûa maët: Ñoä lôùn nhoû cuûa khuoân maët khaùc nhau gaây khoù khaên trong vieäc xaùc ñònh khuoân maët döïa vaøo kích thöôùc cuûa nhöõng vuøng da. c. Nhieãu: Nhöõng nhieãu gaây ra bôûi nhieàu nguyeân nhaân khaùc nhau gaây khoù khaên cho moïi phöông phaùp xaùc ñònh, ñoâi khi laøm cho vuøng khoâng phaûi laø maët bò nhaän laø maët vaø ngöôïc laïi. d. Cöôøng ñoä aùnh saùng khaùc nhau: Cöôøng ñoä aùnh saùng khaùc nhau gaây ra nhöõng vuøng nhieãu nhö ñaõ noùi ôû treân. Ngoaøi ra cöøông ñoä aùnh saùng coøn gaây khoù khaên trong vieäc moâ hình hoùa maøu da ngöôøi gaây aûnh höôûng lôùn ñeán nhöõng phöông phaùp xaùc ñònh maët ngöôøi döïa vaøo maøu da. II. Caùc phöông phaùp xaùc ñònh maët ngöôøi vaø thaønh phaàn treân khuoân maët: 1. Caùc phöông phaùp xaùc ñònh maët ngöôøi: Xaùc ñònh maët ngöôøi ñöôïc chia ra laøm hai höôùng chính: a. Phöông phaùp tieáp caän döïa vaøo ñaëc ñieåm cuûa khuoân maët (feature-based): trong caùch tieáp caän naøy coù ba phöông phaùp chính: • Phaân tích nhöõng ñaëc ñieåm coù theå goïi laø vaät lyù cuûa khuoân maët: trong caùch tieáp caän naøy coù theå phaân chia ra laøm caùch tieáp caän nhö caùch tieáp caän döïa vaøo bieân khuoân maët, maøu saéc, ñoä xaùm, chuyeån ñoäng vaø kích thöôùc cuûa khuoân maët. • Phaân tích nhöõng ñaëc ñieåm treân khuoân maët (maét, muõi, mieäng): caùch tieáp caän naøy coù caùc phöông phaùp nhö: tìm kieám nhöõng thaønh phaàn cuûa khuoân maët, phaân tích quan heä giöõa caùc thaønh phaàn ñoù. • Moâ hình nhöõng hình daïng: phöông phaùp naøy chuû yeáu döïa vaøo ñöôøng cong treân khuoân maët, nhöõng moâ hình phaân boá ñieåm. b. Phöông phaùp tieáp caän döïa vaøo hình aûnh : trong phöông phaùp naøy coù hai phöông phaùp chính: 16
- Xaùc ñònh maët ngöôøi • Phöông phaùp neural network: Phöông phaùp naøy söû duïng moät heä thoáng neural network. Heä thoáng naøy sau khi ñöôïc training vôùi moät löôïng döõ lieäu lôùn veà maët ngöôøi cuõng nhö khoâng phaûi laø maët ngöôøi seõ ñi ñeán traïng thaùi oån ñònh coù theå nhaän ra maët ngöôøi. Khuyeát ñieåm lôùn nhaát cuûa heä thoáng naøy laø chuùng ta phaûi coù moät cô sôû döõ lieäu raát lôùn veà maët ngöôøi ñeå training heä thoáng bôûi vì caøng ñöôïc training nhieàu thì heä thoáng xaùc ñònh maët ngöôøi caøng chính xaùc. • Phöông phaùp thoáng keâ: Yeáu toá chính cuûa phöông phaùp thoáng keâ trong caùc heä thoáng xaùc ñònh maët ngöôøi laø caùch tieán haønh xaây döïng taäp caùc vector ñaëc tính vaø keát caáu cuûa khuoân maët. Sau ñoù aùp duïng caùc ñaëc tính keát caáu ña phaân giaûi ñoù cho moät vuøng aûnh nhaát ñònh ñeå nhaän bieát xem ñoù coù phaûi laø vuøng aûnh coù chöùa maët ngöôøi hay khoâng.Öu ñieåm cuûa phöông phaùp naøy laø heä thoáng khoâng caàn nhieàu aûnh huaán luyeän (training image).Nhöôïc ñieåm cuûa phöông phaùp naøy laø khoái löôïng tính toaùn lôùn vaø töông ñoái phöùc taïp trong quaù trình xaây döïng caùc ñaëc tính keát caáu ña phaân giaûi. 2. Nhöõng phöông phaùp xaùc ñònh thaønh phaàn khuoân maët ngöôøi: a. Phöông phaùp xaùc ñònh caùc thaønh phaàn döïa vaøo pheùp chieáu: Töø nhöõng vuøng da ngöôøi xaùc ñònh tröôùc, nhöõng thaønh phaàn chính cuûa khuoân maët (maét, muõi, mieäng) coù theå xaùc ñònh chính xaùc döïa vaøo hình chieáu ngang vaø doïc cuûa noù. Beân caïnh ñoù, nhöõng tri thöùc veà caáu truùc cuûa khuoân maët ngöôøi giuùp cho chuùng ta coù theå aùp duïng moät soá thuaät giaûi heuristic laøm cho quaù trình ñònh höôùng hieäu quaû hôn. Cho tröôùc moät vuøng aûnh xaùm I(x,y), hình chieáu toaøn phaàn cuûa noù ñöôïc xaùc ñònh bôûi HP(y)= ∑ Ix(,.) ∑ I(.,y ) vaø VP(x)= ∑ Ix(,.). Nhöõng hình chieáu naøy ñöôïc laøm trôn ñeå traùnh nhöõng ñænh nhieãu. Sau ñoù nhöõng thaønh phaàn cuûa khuoân maët coù theå ñöôïc suy ra töø nhöõng cöïc ñaïi vaø cöïc tieåu ñòa phöông nhö trong hình. Neáu khoâng coù ñænh naøo ñöôïc tìm thaáy ôû nhöõng vò trí mong muoán thì ta coù theå keát luaän laø khoâng coù khuoân maët naøo trong aûnh. Vaø neáu taát caû caùc thaønh phaàn cuûa khuoân maët coù theå xaùc ñònh ñöôïc ta keát luaän laø coù toàn taïi khuoân maët. 17
- Xaùc ñònh maët ngöôøi b. Caùch xaùc ñònh döïa vaøo caùc ñaëc tröng maøu saéc vaø quan heä hình hoïc: • Xaùc ñònh mieäng: chuû yeáu döïa vaøo tính chaát ñoû hôn cuûa moâi so vôùi caùc thaønh phaàn khaùc cuûa khuoân maët. Sau khi xaùc ñònh nhöõng vuøng bao quanh vuøng da ngöôøi, nhöõng vuøng coù maøu ñoû trong vuøng da ñoù ñöôïc xaùc ñònh 22 2 döïa vaøo coâng thöùc: MouthMap= CCrr.(−η CC rb / ) trong ñoù (1 /NCr ) 2 η= 0.95× ∑ vôùi N laø soá chieàu khoâng gian cuûa bao vuøng (1 /NCrCb )∑ / da. Nhöõng khu vöïc ñöôïc xaùc ñònh laø mieäng ñöôïc taùch rieâng. Trong tröôøng hôïp coù nhieàu khu vöïc thì nhöõng khu vöïc naøy ñöôïc troän chung laïi döïa treân tính laân caän cuûa chuùng vaø taïo thaønh moät vuøng. Troïng taâm cuûa vuøng naøy sau ñoù coù theå xem nhö laø vò trí cuûa mieäng. • Xaùc ñònh maét: Moät tính chaát quan troïng giuùp cho vieäc xaùc ñònh maét laø maét thöôøng coù ñoä toái cao hôn nhöõng vuøng khaùc do maét ngöôøi chöùa nhöõng vuøng gaàn ñen hoaëc gaàn traéng. Nhöõng khu vöïc naøy coù theå xaùc ñònh döïa vaøo nhöõng tính toaùn trong coâng thöùc (4) nhö sau : Variance=(1/N)∑ (Y-Y)2 Trong ñoù Y laø ñoä saùng toái cuûa töøng pixel trong khu vöïc, Y laø ñoä saùng toái trung bình cuûa khu vöïc vaø N laø soá chieàu cuûa khu vöïc. Tuy nhieân trong thöïc teá naøy khoâng hieäu quaû ñeå xaùc ñònh maét maø chuùng ta caàn döïa nhöõng ñaëc ñieåm caáu truùc vaø hình hoïc cuûa khuoân maët nhö sau: 18
- Xaùc ñònh maët ngöôøi 9 Khu vöïc maét phaûi naèm treân khu vöïc mieäng ít nhaát laø 10 pixel. 9 Tæ leä giöõa chieàu cao vaø chieàu roäng cuûa maét ít nhaát laø 0.4. 9 Khoaûng caùch töø mieäng tôùi maét traùi vaø maét phaûi phaûi thoûa ñieàu kieän sau: 1.4xMElr ≥≥ME 0.6xME l. 00 9 Goùc giöõa mieäng vaø maét phaûi thoûa ñieàu kieän sau: 35≤≤EMElr 80 . 3. Nhöõng öu ñieåm cuûa phöông phaùp xaùc ñònh döïa vaøo thaønh phaàn cuûa khuoân maët: Trong khi xaùc ñònh khuoân maët ngöôøi döïa vaøo toaøn boä khuoân maët raát nhaïy caûm vôùi söï thay ñoåi vò trí cuûa khuoân maët thì vieäc xaùc ñònh khuoân maët döïa vaøo thaønh phaàn cuûa khuoân maët raát ít aûnh höôûng bôûi vieäc naøy, bôûi vì nhöõng thaønh phaàn treân khuoân maët ít thay ñoåi vò trí khi vò trí cuûa khuoân maët thay ñoåi nhoû. Nhöõng keát quaû thöïc nghieäm cho thaáy vieäc xaùc ñònh khuoân maët ngöôøi döïa vaøo caùc thaønh phaàn treân khuoân maët coù ñoä chính xaùc cao hôn raát nhieàu so vôùi vieäc xaùc ñònh maët ngöôøi döïa vaøo toaøn boä khuoân maët. 19
- Xaùc ñònh maët ngöôøi Chöông 2: Xaây döïng thuaät giaûi I. Caùc böôùc tieàn xöû lí: Töø chöông naøy chuùng toâi seõ ñeà caäp khaùi quaùt quaù trình cuõng nhö caùch xaùc ñònh maêt ngöôøi cuûa heä thoáng ñöôïc xaây döïng 1. Phöông phaùp laáy nhöõng vuøng da ngöôøi: a. Xaây döïng heä thoáng maøu: Xaây döïng heä thoáng maøu laø moät coâng vieäc quan troïng trong vieäc xaùc ñònh khuoân maët ngöôøi döïa vaøo maøu da. Vieäc xaùc ñònh chính xaùc maøu da ngöôøi laø thaønh coâng ban ñaàu trong vieäc xaùc ñònh khuoân maët. Ngoaøi ra, heä thoáng naøy phaûi xaùc ñònh khuoân maët döïa vaøo caùc thaønh phaàn cuûa khuoân maët neân ngoaøi vieäc xaùc ñònh maøu da ngöôøi ta phaûi xaây döïng heä thoáng maøu sao cho caùc thaønh phaàn treân khuoân maët hieän roõ treân neàn maøu da ngöôøi. Heä thoáng maøu xaây döïng töø chuaån laø khoâng gian maøu RGB chuyeån qua khoâng gian YCrCb vôùi coâng thöùc chuyeån ñoåi tuyeán tính. Cuï theå nhö sau: • Laáy maøu RGB cuûa moät toïa ñoä. • Tính maøu YCrCb töø maøu RGB theo coâ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 (I) ⎪ ⎩Cr = 0.500 * R - 0.419 * G - 0.081 * B Aùp duïng khoâng gian maøu YCbCr coù raát nhieàu thuaän lôïi khoâng chæ laø tính toaùn ñôn giaûn maø chuùng ta coù theå ñieàu khieån ñöôïc caùc saéc maøu Xanh (laø Cb vôùi troïng soá Blue lôùn), Ñoû (laø Cr vôùi troïng soá Red lôùn) vaø ñoä chieáu saùng (laø Y toå hôïp tuyeán tính cuûa ba trang thaùi maøu R, G, B vaø ñaït cöïc ñaïi vôùi saéc maøu traéng). b. Tieâu chuaån ñeå moät ñieåm laø maøu da ngöôøi trong khoâng gian maøu YCbCr: Döõ lieäu vaøo: Pixel vôùi caùc toïa ñoä töông öùng (x,y) Tieán trình : Aùp duïng coâng thöùc chuyeån ñoåi (I) vaø ñieàu kieän ⎧Y > 45 &&Y -60 && Cb 10 && Cr<60 20
- Xaùc ñònh maët ngöôøi ⎧ White isSkin = true Döõ lieäu ra: Pixel(i, j) = ⎨ ⎩Black isSkin = false c. Tieâu chuaån moät ñieåm laø caùc thaønh phaàn maét mieäng trong moät vuøng da: Tieâu chuaån naøy ñoùng moät vai troø quan troïng trong toaøn boä heä thoáng: 9 Noù quyeát ñònh caùc khu vöïc ñeå ñaït ñöôïc möùc ñoä loang chính xaùc trong moät khuoân maët vaø vieäc taùch dính moät khuoân maët vôùi nhieàu khuoân maët. 9 Noù quyeát ñònh ñoä chính xaùc vaø ñaày ñuû trong vieäc xaùc ñònh caùc thaønh phaàn. 9 Noù cuõng ñoùng vai troø quan troïng trong quaù trình loaïi boû caùc nhieãu (gioáng khuoân maët nhöng thaät ra khoâng phaûi laø khuoân maët). Khôûi taïo: Crb=Cr/Cb (trong khoâng gian maøu YCbCr) Cr2 =Cr*Cr Saéc naâu ñen: Crb>3 && G 2 & &Cr 2 > 1300 (ñaëc tröng vuøng mieäng) Döõ lieäu vaøo: Vuøng maët {minX<i<maxX, minY<j<maxY} Tieán trình: Böôùc 1: Xeùt moät pixel P(i,j) thuoäc vuøng maët . Böôùc 2: ishole(i,j)=Saéc naâu ñen hoaëc Saéc ñoû. ishole(i,j) duøng ñeå xaùc ñònh xem pixel ôû vò trí (i,j) coù thuoäc veà moät khu vöïc hay khoâng. Böôùc 3: ishole(i,j)=true thì xeùt laïi böôùc 2 vôùi P laø moät laân caän bieân cuûa P. ishole(i,j)=false thì qua böôùc 4. Böôùc 4: Taäp hôïp caùc Pixel vöøa xeùt laïi thaønh moät khu vöïc. ⎧White Pixel(i, j)∉hole Döõ lieäu ra: Pixel(i, j) = ⎨ ⎩Black Pixel(i, j)∈ hole 21
- Xaùc ñònh maët ngöôøi 2. Phöông phaùp khöû nhieãu: Do tính chaát phöùc taïp cuûa ñieàu kieän aùnh saùng neân caùc thaønh phaàn nhieãu vaãn toàn taïi.Vì vaäy aûnh sau khi laáy ñöôïc vuøng da khoâng ñöôïc ñöa tröïc tieáp vaøo xöû lyù maø phaûi qua böôùc loïc nhieãu (neáu laøm toát thì seõ thuaän lôïi cho vieäc xaùc ñònh thaønh phaàn cuûa khuoân maët sau naøy). Nhöõng khu vöïc nhoû taùch bieät nhöng gioáng thaønh khuoân maët hay nhöõng hole nhoû trong vuøng khuoân maët seõ bò loaïi boû nhôø phöông phaùp morphological. Coù hai böôùc morphological quan troïng laø: ñoùng (closing) vaø môû (opening). Môû thöôøng laøm trôn bieân cuûa aûnh, beû gaõy nhöõng lieân keát giöõa caùc vuøng nhoû, loaïi boû nhöõng vuøng loài nhoû. Ñoùng cuõng thöôøng laøm trôn bieân cuûa aûnh nhöng ngöôïc laïi vôùi môû noù thöôøng noái nhöõng vuøng nhoû baèng caùch troän chuùng laïi vôùi nhau, loaïi boû nhöõng hoá nhoû vaø laáp ñaày nhöõng loã hoång ngoaøi bieân. Chuùng ta coù theå minh hoïa nhö sau: Ñaàu tieân chuùng ta caàn coù moät caáu truùc phaàn töû cuûa pheùp bieán ñoåi ví duï: vaøpheùp opening xaùc ñònh thoâng qua hai böôùc sau: Hình 3: Böôùc môû 22
- Xaùc ñònh maët ngöôøi Trong khi ñoùng (closing) ñöôïc xaùc ñònh baèng: Hình 4: Böôùc ñoùng (closing) Caáu truùc phaàn töû coù troïng taâm laø moät pixel trong aûnh, vaø nhöõng giaù trò pixel ñöôïc bieán ñoåi nhö sau: Vôùi pheùp toaùn co (erosion) thì moät pixel ñöôïc ñaùnh daáu seõ bò loïai neáu noù laø trung taâm cuûa caùc pixel coù hình daïng gioáng caáu truùc phaân töû. Ñoái vôùi pheùp toaùn daõn (dilation) thì nhöõng pixel ñaùnh daáu seõ ñöôïc theâm caáu truùc phaàn töû döïa treân vieäc giaù trò naøy nhö laø troïng taâm cuûa caáu truùc phaàn töû. Trong vieäc xaùc ñònh maët ngöôøi thì chuùng ta coù theå giaû söû raèng khuoân maët nhoû nhaát phaûi lôùn hôn 5x5 pixel. Baát cöù vuøng da naøo nhoû hôn khu vöïc naøy seõ bò loaïi boû vaø xem nhö laø moät vuøng khoâng phaûi khuoân maët. Vuøng 5x5 naøy ñöôïc duøng nhö laø caáu truùc phaân töû cuûa caùc pheùp toaùn ôû treân. Trong thöïc teá ñeå hôïp lí hôn chuùng ta coù theå xoùa bôùt moät vaøi pixel ôû goùc ñeå caáu truùc cuûa chuùng ta gaàn gioáng khuoân maët hôn. Hình 5: Caùc caáu truùc khuoân maët thoâng thöôøng 23
- Xaùc ñònh maët ngöôøi vaø caáu truùc phaàn töû töông öùng nhö sau: Hình 6: Caùc caáu truùc phaàn töû Morphology giuùp cho chuùng ta taùch rieâng nhöõng vuøng da ngöôøi vaø nhöõng vuøng khoâng phaûi da ngöôøi neáu chuùng khoâng coù lieân heä vôùi nhau. Nhöng neáu moái lieân heä naøy lôùn hôn caáu truùc phaàn töû thì phöông phaùp naøy khoâng hieäu quaû. Vì vaäy vieäc choïn moät caáu truùc phaàn töû coù kích thöôùc phuø hôïp laø raát quan troïng. Neáu quaù nhoû seõ giöõ nhieàu pixel khoâng coù ích trong aûnh coøn neáu quaù lôùn coù theå laøm loaïi boû nhöõng thoâng tin quan troïng vaø coù theå laøm cho vieäc xaùc ñònh khuoân maët gaëp thaát baïi. Hình minh hoïa cho vieäc chuyeån ñoåi khoâng gian maøu vaø loïc nhieãu: 24
- Xaùc ñònh maët ngöôøi 25
- Xaùc ñònh maët ngöôøi II. Xaùc ñònh thaønh phaàn maét-mieäng vaø taùch dính 1. Phöông phaùp laáy thaønh phaàn maét-mieäng cuûa khuoân maët: Sau khi chuùng ta ñaõ coù moät vuøng da ngöôøi theo moät khoâng gian maøu noùi treân maø ôû trong luaän vaên naøy söû duïng khoâng gian maøu YcrCb. Vieäc xaùc ñònh caùc thaønh phaàn theo caùc böôùc sau: Caùch xaùc ñònh thaønh phaàn khi ñaõ coù ñöôïc aûnh aùnh xaï töø aûnh maøu: Duø ñaõ coù moät khoâng gian maøu toát nhöng vaãn khoâng traùnh heát ñöôïc nhöõng tình huoáng nhieãu (do aùnh saùng, do che laáp v.v ). Do vaäy ñeå vieäc xaùc ñònh thaønh phaàn chính xaùc vaø ñaày ñuû chuùng toâi phaûi aùp duïng nhieàu böôùc vôùi caùc thoâng soá so saùnh chaët cheõ ñeå ñaûm baûo khoâng bò sai leäch. Böôùc moät: (xaùc ñònh ñöôïc thaønh phaàn cuûa 60% khuoân maët trong aûnh) Höôùng tieáp caän: Xeùt taát cuûa caùc vuøng (nonface bounds) neáu xeùt caëp tam giaùc 3 vuøng neáu caëp hai vuøng naøo ñaït ñöôïc söï caân baèng veà hình thaùi sau thì seõ ñöôïc öu tieân hôn: 26
- Xaùc ñònh maët ngöôøi Khuoân maët thaúng Khuoân maët Khuoân maët nghieâng traùi nghieâng phaûi Trong tröôøng hôïp coù nhieàu caëp thoûa maõn thì seõ xeùt theo tyû leä xaùc xuaát cho caùc tieâu chuaån ñeå choïn caêp toát nhaát: Tieâu chuaån coù theå goàm tyû leä so saùnh vôùi chieàu daøi, chieàu roäng cuûa khuoân maêt, ñoä lôùn cuûa caùc vuøng v.v . Caùch xaây döïng: - Taïo moät taäp logic môø vôùi caùc tham soá truyeàn vaøo laø ba vuøng: LeftRegion, RightRegion vaø MouthRegion. - Treân taäp logic môø naøy ta tính toaùn caùc thoâng soá sau: 9 Tyû leä giöõa khoaûng caùch hai maét so vôùi chieàu roäng cuûa khuoân maët (Dis/width). 9 Tyû leä giöõa khoaûng caùch töø ñieåm trung taâm hai maét ñeán mieäng so vôùi chieàu roäng cuûa khuoân maët (height/width). 9 Ñoä lôùn cuûa caùc vuøng LeftRegion, RightRegion, MouthRegion (Region.area). 27
- Xaùc ñònh maët ngöôøi Thoâng soá thöù nhaát (Dis/width) (value1): Thoâng soá thöù hai (Height/width) (value2): Thoâng soá thöù ba (kích thöôùc cuûa caùc vuøng) (value3): Neáu vuøng (Region) coù kích thöôùc lôùn seõ ñöôïc gaén troïng soá cao hôn trong coâng thöùc tính xaùc xuaát. Caùch tính xaùc xuaát ñeå choïn ra caëp toái öu nhaát: 1*value1+1.5*value2 +1.5*value3 P = 4 28
- Xaùc ñònh maët ngöôøi ÔÛ ñaây chuùng toâi ñaùnh giaù cao tieâu chuaån height/width vaø kích thöôùc cuûa caùc vuøng. Coøn tieâu chuaån dis/width khoâng oån ñònh neáu khuoân maët bò nghieâng duø chæ vôùi goùc nhoû. Hình minh hoïa Caùc thaønh phaàn ñaõ ñöôïc xaùc ñònh Böôùc hai: Höôùng tieáp caän: Böôùc naøy duøng ñeå xaùc ñònh caùc thaønh phaàn trong tröôøng hôïp moät hay hai maét ñeàu bò dính vaøo bieân. Caùch xaây döïng: ÔÛ tröôøng hôïp naøy phöông phaùp maø chuùng toâi aùp duïng laø gioùng moät ñöôøng vò trí cuûa noù ñaûm baûo laø vò trí coù khaû naêng cao nhaát laø vò trí cuûa thaønh phaàn. Neáu tìm ñöôïc ta seõ ñöa noù vaøo taäp thaønh phaàn vaø aùp duïng laïi böôùc moät ñeå laáy keát quaû. 29
- Xaùc ñònh maët ngöôøi Hình minh hoïa Böôùc ba: Höôùng tieáp caän: tröôøng hôïp naøy ít xuaát hieän hôn nhöng khoâng phaûi laø khoâng coù: Ñoù laø hai maét traùi vaø phaûi dính laïi thaønh moät vuøng coù kích thöôùc raát lôùn. Caùch xaây döïng: xaùc ñònh caùc ñieåm cuøng traùi vaø cuøng phaûi cuûa caùc vuøng vaø xaùc ñònh ôû caùc khoaûng caùch 1/4 vaø 3/4 Hình minh hoïa: ù Tröôøng hôïp maét phaûi, maét traùi dính nhau laøm moät 2. Phöông phaùp taùch dính: Trong caùc öùng duïng xaùc ñònh maët ngöôøi vôùi aûnh maøu, hai vaán ñeà luoân gaây phöùc taïp cho caùc thuaät toaùn xaùc ñònh töông öùng laø: ñoä saùng khoâng phuø hôïp vaø caùc maët ngöôøi dính vôùi nhau. Noùi chung ñeå nhaän bieát moät vuøng da coù laø dính hay khoâng thì raát khoù. Vì vaäy ñeå coù theå giaûi quyeát vaán ñeà naøy chuùng toâi ñaõ 30
- Xaùc ñònh maët ngöôøi tieán haønh xaây döïng moät chuaån chung laø keát hôïp thuaät toaùn loang Fast Marching vôùi caùch xaùc ñieåm loang theo nhoùm ñieåm vaø aùp duïng noù treân nhieàu aûnh dính. Keát quaû ñaït ñöôïc laø khaù toát vaø chính xaùc. • Xaùc ñònh ñieåm loang: Qua logic môø veà kích thöôùc cuûa khuoân maët, chuùng toâi xaây döïng moät taäp caùc baù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 Thuaät toaùn phaân taùch caùc nhoùm caùc vuøng: Khôûi taïo: Moät maûng chöùa caùc bound ñöôïc choïn ra: checkedBound Döõ lieäu vaøo: Khuoân maët (Face bound) vaø caùc thaønh phaàn (Nonface bound) cuûa khuoân maët ñoù cuøng vôùi baùn kính (radius) Xöû lí: • Xeùt Nonface[0] vaø ñöa Nonface[0] vaøo checkedBound. • Xeùt caùc Nonface bound khaùc neáu khoaûng caùch nhoû hôn radius thì xem nhö ñaõ check. Coøn ngöôïc laïi thì ñöa Nonface môùi ñoù vaøo checkedBound. • Roài tieáp tuïc doø tìm caùc caùc thaønh phaàn (nonFace bound) khaùc töông töï nhö vôùi Nonface[0]. Döõ lieäu ra: Ta ñöôïc taäp checkedBound maø moãi phaàn töû cuûa noù ñaïi dieän cho moät nhoùm hole. • Xaùc ñònh ñoä loang: Ñoä loang cuûa thuaät toaùn Fast Marching laø giaù trò chaën treân cuûa thuaät toaùn. Nghóa laø quaù trình loang seõ döøng khi tyû leä caùc ñieåm bieân (laø ñieåm khi ñaõ loang tôùi bieân ngoaøi ) treân toång soá caùc ñieåm ñaõ vaø ñang xeùt vöôït quaù ñoä loang. Caùch tieáp caän thoâng thöôøng thì ñoä loang ñöôïc xaùc ñònh döïa vaøo kích thöôùc cuûa khuoân maët. Nhöng do bò nhieãu bôûi vieäc coù dính nhieàu khuoân 31
- Xaùc ñònh maët ngöôøi maët hay khoâng ñaõ laøm cho kích thöôùc khoâng ñaùng tin caäy do ñoù ñoä loang cuõng khoâng ñuû chính xaùc. Vì lyù do treân neân chuùng toâi khoâng döïa vaøo kích thöôùc maø döïa vaøo soá caùc nhoùm vuøng (checkedbound) coù ñöôïc ôû böôùc tröôùc ñeå xaùc ñònh ñoä loang. Neáu caùc nhoùm caøng ít thì heä soá loang caøng cao (ñeå ñaûm baûo loang ñuû khuoân maët). Hình minh hoïa Chæ coù moät khuoân maët: Nhieàu khuoân maët: (taùch dính) 32
- Xaùc ñònh maët ngöôøi III. Xaây döïng luaät môø Nhöõng luaät logic môø veà quan heä giöõa maét, muõi, mieäng vaø chieàu daøi, chieàu roäng khuoân maët: Sau khi xaùc ñònh ñöôïc vò trí cuûa caùc thaønh phaàn trong khuoân maët, chuùng ta tieán haønh xaùc ñònh moái quan heä giöõa caùc thaønh phaàn ñoù xem coù thoûa ñieàu kieän laø khuoân maët hay khoâng. Caùc moái quan heä giöõa caùc thaønh phaàn döïa treân caùc luaät logic môø sau: 1. Xaùc suaát laømoät neáu ñieåm giöõa cuûa mieäng naèm treân truïc ñoái xöùng cuûa hai maét theo chieàu doïc. 33
- Xaùc ñònh maët ngöôøi 2. Xaùc suaát laø moät neáu khoaûng caùch giöõa hai ñieåm giöõa cuûa maét gaáp hai laàn chieàu roäng cuûa maét, chieàu roäng cuûa maét baèng 2/10 chieàu roäng cuûa khuoân maët taïi vò trí cuûa maét. 3. Xaùc suaát laø moät neáu nhö chieàu roäng cuûa mieäng tæ leä vôùi chieàu roäng cuûa khuoân maët taïi vò trí cuûa mieäng theo tæ leä 0.2:1 tôùi 0.65:1 (do chieàu roäng cuûa mieäng coù theå khaùc nhau tuøy vaøo traïng thaùi cuûa khuoân maët). 4. Xaùc suaát laø moät neáu khoaûng caùch töø maét tôùi bieân cuûa khuoân maët baèng 2/10 chieàu roäng cuûa khuoân maët. 5. Xaùc suaát laø moät neáu khoaûng caùch töø bieân treân cuûa khuoân maët tôùi maét baèng 0.45:1 so vôùi chieàu cao cuûa khuoân maët. 6. Xaùc suaát laø moät neáu khoaûng caùch töø bieân treân cuûa khuoân maët tôùi muõi baèng 0.73:1 so vôùi chieàu cao cuûa khuoân maët. 7. Xaùc suaát laø moät neáu khoaûng caùch töø bieân treân cuûa khuoân maët tôùi mieäng baèng 0.83:1 so vôùi chieàu cao cuûa khuoân maët. 8. Xaùc suaát laø moät neáu khoaûng caùch töø maét tôùi muõi baèng 0.27:1 so vôùi chieàu cao cuûa khuoân maët. 9. Xaùc suaát laø moät neáu khoaûng caùch töø muõi tôùi mieäng baèng 0.27:1 so vôùi chieàu cao cuûa khuoân maët. 10. Xaùc suaát laø moät neáu khoaûng caùch töø muõi tôùi mieäng baèng 1:1 so vôùi khoaûng caùch töø maét tôùi muõi. Sau khi coù caùc xaùc suaát naøy chuùng ta tính xaùc suaát cuûa khuoân maët döïa vaøo caùc luaät logic môø döïa vaøo coäng thöùc sau: ∑ mwkk p = *100% ∑ mk Trong ñoù p laø xaùc suaát cuûa khuoân maët. mk laø xaùc suaát cuûa luaät logic môø thöù k. wk laø troïng soá cuûa luaät logic môø thöù k. Theo kinh nghieäm thì luaät logic môø thöù 10 coù troïng soá laø 2 coøn caùc luaät logic môø khaùc coù troïng soá laø 1. 34
- Xaùc ñònh maët ngöôøi Chöông 3: Caøi ñaët thöïc nghieäm vaø ñaùnh giaù 1. Nhöõng chöùc naêng chính cuûa chöông trình: 1. Chöùc naêng Detect Face: Ñaây laø chöùc naêng chuû yeáu cuûa chöông trình duøng ñeå xaùc ñònh khuoân maët ngöôøi trong aûnh. Chöùc naêng naøy ñöôïc xöû lí qua nhieàu böôùc nhö xaùc ñònh vuøng da, loïc nhieãu xaùc taùch dính, vaø cuoái cuøng laø bao nhöõng khuoân maët tìm thaáy ñöôïc. 2. Chöùc naêng Detect Components: Nuùt naøy chæ Active sau khi ñaõ xaùc ñònh ñöôïc khuoân maët. 3. Chöùc naêng Restore: Chöùc naêng duøng ñeå phuïc hoài laïi aûnh ban ñaàu sau khi thöïc hieän chöùc naêng detect. 4. Chöùc naêng GetSkin: Chöùc naêng naøy duøng ñeå xaùc ñònh nhöõng vuøng naøo trong aûnh coù maøu da ngöôøi. 2. Toång keát: a. Thoáng keâ döïa treân döõ lieäu: Thoáng keâ vieäc thöïc hieän xaùc ñònh maët ngöôøi treân 469 aûnh khaùc nhau,kích côû lôùn khoâng quaù 786x550 aûnh, ta coù keát quaû nhö sau: • Soá khuoân maët ngöôøi thöïc theo nhaän dieän cuûa con ngöôøi laø: 1859. • Soá khuoân maët ngöôøi xaùc ñònh töø heä thoáng laø: 1587. Nhö vaäy tyû leä xaùc ñònh ñuùng laø treân 85%. • Soá löôïng xaùc ñònh nhaàm laø khaù ít 35. • Tyû leä xaùc ñònh chính xaùc thaønh phaàn maét mieäng cuûa moät khuoân maët laø 90% (trung bình cöù 10 khuoân maët thì coù 9 khuoân maët xaùc ñònh ñöôïc maét mieäng). • Ñoä leäch veà vò trí maét mieäng cuûa aûnh ñöôïc xaùc ñònh vaø aûnh goác khoâng vöôït quaù 10 pixel. • Coù trung bình khoaûng 50 tröôøng hôïp caùc khuoân maët dính nhau trong aûnh. Tyû leä taùch dính thaønh coâng laø 80%. 35
- Xaùc ñònh maët ngöôøi • Thôøi gian thöïc hieän phuï thuoäc vaøo kích thöôùc aûnh, heä ñieàu haønh vaø caáu hình maùy tính. • Ñoä chính xaùc cuûa heä thoáng chæ phuï thuoäc vaøo chaát löôïng vaø ñoä khoù cuûa aûnh. Vôùi keát quaû ñuùng/sai nhö nhau, thôøi gian thöïc hieän trung bình treân caùc maùy tính khaùc nhau nhö sau: Maùy CPU RAM Heä Ñieàu Haønh Thôøi Gian Pentium III 866MHz 128 MB Windows XP 4.4 giaây Pentium IV 1.7 GHz 256 MB Windows XP 3.3 giaây Pentium IV 2,4 GHz 512 MB Windows Server 2000 1.6 giaây Ngoaøi ra khi söû duïng threading thôøi gian thöïc hieän ñoái vôùi moãi aûnh khoâng oån ñònh. Do ñoù sai soá thôøi gian thöïc hieän ñöôïc thoáng keâ nhö sau: • Môû vaø chaïy 10 laàn lieân tuïc moät aûnh. • Chaïy laïi moät aûnh thoâng qua leänh restore 10 laàn lieân tuïc. • Chaïy caùc aûnh theo moät thöù töï nhaát ñònh. • Chaïy caùc aûnh theo moät thöù töï baát kyø. • Keát quaû ñuùng sai khoâng ñoåi. • Sai soá thôøi gian lôùn nhaát laø 0.8 giaây. Moät soá keát quaû baèng hình aûnh: Hình ñaàu laø aûnh goác hình sau laø aûnh sau khi ñöôïc xöû lyù 36
- Xaùc ñònh maët ngöôøi Tröôøng hôïp caùc vuøng da taùch bieät nhau Tröôøng hôïp vuøng da taùch bieät nhau nhöng caùc khu vöïc maét mieäng dính vaøo bieân: 37
- Xaùc ñònh maët ngöôøi Tröôøng hôïp taùch dính 4 khuoân maët vôùi nhau: 38
- Xaùc ñònh maët ngöôøi 39
- Xaùc ñònh maët ngöôøi b. Ñaùnh giaù -Öu ñieåm: • Öu ñieåm cuûa heä thoáng naøy laø coù theå xaùc ñònh chính xaùc haàu heát caùc khuoân maët coù trong aûnh duø khuoân maët coù quay trong hay ngoaøi khoâng gian aûnh. • Coù khaû naêng taùch ñöôïc nhieàu khuoân maët dính ngang vaø doïc. 40
- Xaùc ñònh maët ngöôøi • Coù theå duøng ñeå phaùt trieån trong vieäc nhaän daïng khuoân maët ngöôøi cuõng nhö nhaän ra ñöôïc caûm xuùc cuûa khuoân maët ngöôøi döïa vaøo caùc thaønh phaàn treân khuoân maët (raát quan troïng cho caùc heä thoáng giao tieáp ngöôøi maùy). • Keá thöøa nhöõng thaønh quaû cuûa coâng trình nghieân cöùu tröôùc cuõng nhö coù theå phaùt trieån thaønh nhöõng öùng duïng cao hôn, phöùc taïp hôn. • Söû duïng coâng ngheä multi thread trong ngoân ngöõ laäp trình Java neân thôøi gian xöû lí nhanh hôn caùc heä thoáng khaùc raát nhieàu. -Khuyeát ñieåm: • Bò phuï thuoäc nhieàu vaøo ñieàu kieän aùnh saùng do phaûi moâ hình hoùa maøu da ngöôøi. • Moâ hình da ngöôøi chöa toång quaùt vaø coù theå bò nhieãu bôûi nhöõng maøu gaàn gioáng da ngöôøi. • Chöa ñaûm baûo ñöôïc taùch dính ñöôïc taát caû tröôøng hôïp. c. Höôùng phaùt trieån: Heä thoáng naøy coù theå ñöôïc hoaøn thieän hôn döïa vaøo moâ hình da ngöôøi toång quaùt hoùa hôn thoâng qua nghieân cöùu cuûa caùc nhaø nhaân traéc hoïc. Beân caïnh ñoù heä thoáng vieát baèng ngoân ngöõ Java coù theå chaïy treân moïi moâi tröôøng heä ñieàu haønh cuõng nhö nhöõng moâi tröôøng ñieän thoaïi di ñoäng, camera. Heä thoáng coù theå keát hôïp vôùi nhöõng coâng trình ngieân cöùu khaùc nhö nhaän daïng aâm thanh, gioïng noùi, nhaän daïng maët ngöôøi vaø coâng ngheä ñieän töû, töï ñoäng ñeå coù theå phaùt trieån thaønh nhöõng heä thoáng trí tueä nhaân taïo phöùc taïp hôn vaø coù nhöõng öùng duïng thöïc teá cao hôn. Ngoaøi ra heä thoáng neáu caûi thieän toác ñoä xöû lí nhanh hôn ñeå coù theå xöû lí thôøi gian thöïc, töø ñoù öùng duïng ñöôïc ngay vaøo nhöõng heä thoáng xöû lí aûnh video hoaëc aûnh ñoäng quay töø camera trong caùc heä thoáng quan saùt, baûo veä xöû lí töï ñoäng. 41
- Xaùc ñònh maët ngöôøi Taøi lieäu tham khaû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, Noõ,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. 42
- Xaùc ñònh maët ngöôøi [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. 43