You are on page 1of 50
PHAN A: GIOT THIEU. Nhfn dang mat nguéi trén Matlab ‘Trang ii LOI CAM ON ‘Trude hét em xin giti loi cém on sdu sic dén thay Lé Minh Thinh, ngudi da gidp d@ em rit nhidu vé dinh huéng nghién ctu, huéng dan cho em trong sudt thei gian thye hign dé tai ni Cudn dé fin nay duge hoa hinh theo ding thdi gian quy dinh ciia nha truimg cing ahu cia Khoa khéng chi la sy né Iye cia em ma con sy giip 43, chi bao cia thay hudng din, ciia guy thay ©6 va ede ban sinh vign, ‘Ching em xin chin thinh cém on thiy 68 da ging day ching em, dic bigt la cic thay 6 gio trong khoa Dign-Dign tr Xin cdm om cd mn sinh vign trong khoa di giip dé 16i rit nhigu mits nhir phurong tiga, sich va, ¥ kién Mie di da rit ob ging hon thinh dé an nay song cung khong trénh khoi nhimg sai s6t, mong thiy c6 va céc ban dong gép nhting y kién qui béu dé dé dn duge thinh cong hon, Sinh vga the hign V6 Ibn Hoan LOI MO DAU Hon m@t thép ky qua cé rat nhiéu céng trinh nghién ciru vé bai toan nhgn dang khuén mit nguéi tit anh den tring, xém dn anh mau nh ngiy hém nay. Céc nghién ciru di tir bai toin don gin, méi nh chi cd mt khuén mt ngudi nhin thing vio thiét bj thu hinh va diu 6 ne thé thing dimg trong ‘nh den tring. Cho dén ngay hom nay bai todn mé rng cho nh miu, ¢6 nhigu khuén mit trong cing m@t anh, c6 nhigu tu thé thay di trong anh, Khéng nhimg véy ma con mé rng cd pham vi tit méi ‘raimg xung Nhfn dang mat nguéi trén Matlab Trang iii quanh kh dom gin cho dén moi traimg xung quanh rét phite tap nhim dap tmg nhu edu cia con aguei Myc tigu oiia d2 ti “ Nhin dang mgt ngudi trén matlab” la thye ign chyong trinh tim kiém, m@t bite anh c6 khudn mit mot ngudi trong tép anh co sé ging voi khudn mit cia ngudi trong bite nh can kiém tra bling ngén ngtt matlab, ‘Dé tign theo doi t6i xin trinh bay dé tai theo ba phan nhu sau: = Phin di fa gigi thigu in PCA li. tmg ton durge sir dung rét nhigu trong vin thong. Va dB tai ny sir dyng thudt ton PCA. - Phin tgp theo la gigi thigu cée Kénh duge sir dung trong chug tinh, - Phan cudi cing a giéi thigu giao dign chuong trinh va code ngudn. Do tai ligu tham khdo han ché, trinh d@ c6 han va kinh nghigm trong thye tiga cén non kém, nén dé tai khong trénh khéi nhing thiéu sét. Rét mong duge nhan nhing y kién déng gop, giap da chan tinh, quy bau cia quy thay c6 cling cac ban sinh vién. ‘Tp. Hé Chi Minh, thing 06 nim 2010 gui thye hign d8 tai Nhfn dang mat nguéi trén Matlab ‘Trang iv MUC LUC L61 M6 DAU., vii MYC LUC we iv LIET KE HINH. vi igT KE BANG vii PHAN B: NOI DUNG CHUONG 1: DA NHAP 1.1 Dat van dé. 3 1.2 Ly do chon. 3 1.3 Mue dich nghién ecru 3 1.4 Gidi han nghiéa cima eta 3 ‘CHUONG 2:CAC THUAT TOAN NHAN DANG KHUON MAT. 2.1 Dinh nghia bai todn xée dinh Khuén mit nguds 6 2.2 Ung dung cita phuong phip xéc dinh khudn mat nguéi. 6 2.3 Phuong phip xéc dinh khuén mit ngudi 7 2.4 Nh§n dang khudn mat ding thugt ton PCA. 8 2.5 Nh§n dang sinh dya trén PCA 8 (CHUONG 3: ANH MAU TREN MATLAB VA CAC LENH XU’ LY ANH 3.1 Gigi thigu anh si 4 3.1.1 Biéu dign aab s 4 3.1.2 Anh manu... ses 14 3.1.3 Cée dinh dang anh co ban trong xtt ly anh 16 3.2 Céc kiéu hinh nh trong Matlab. 18 3.3 Chuyén di git ede kidu dt liu 19 3.4. Cée phép toan sé hoe co ban déi voi dit ligu anh. 20 3.5. Céc him hién thj anh trong Matlab 20 3.6 Céic him khée duge sit dung trong dé ti 2 CHUONG 4:GIGI THIEU CHUONG TRINH 4.1 Gigi thigu chuong trinh 26 CHUONG 5: SO DO KHOI VA CODE CHUONG TI 5.1 So dé khii. 32 5.2 Code chong trin. 32 CHUONG 6: PHAM VI GIGI HAN VA HUONG MO RONG DETAL 6.1 Pham vi gidi han eta dé ti. : AD 6.2 Huong mé rong eta dé tai 42 Nhfn dang mat nguéi trén Matlab ‘Trang v Nhfn dang mat nguéi trén Matlab LIET KE HIND Hinh 3.1; Anh mau.. Hinh 3.2: Binh 3.3: Mo hinh miu RGB. inh 3.4: Anh GIF . Hinh 3.5; Anh dang JPEG........ccs0sceseeessteeesseseseieeseeseneen Hinh 4.1; Mé chuong trinh tr Binh 4.2 Matlab, dign chuong trinh, Minh 4.3: Giao dign chung trinh chinh.... Hinh 4.4: Chon & Hinh 4.5: Anh can kiém tra, Hinh 4.6: Anh trung bib. Hin 4.7: Hinh chiéw anh lén khong gian anh, ih can kiém tra... Hinh 4.8; Anh cn tim, Hinh 5.1: So dé khdi téng quit cba chuong trinb. LIBT KE BANG Bang 3.1: Céc théng tin khi goi ham imfinfo. Bing 3.2 Cac phép ton s6 hoc trén anh, Bang 3.3 Cac him xi ly hinh nh khie trong Matlab, ‘Trang vi 14 15 16 18 20 26 2 28 28 29 29 30 a 2 23 Nhfn dang mat nguéi trén Matlab Trang vii PHAN B: NQLDUNG ‘CHUONG 1 DAN NHAP Nhfn dang mat nguéi trén Matlab ‘Trang 3 1.1 D§t van ae . . . Ching ta da biét, ngay nay phin Ién cae thiét bi dign tir déu din phat trién theo xu huéng ty dng hée, théng mink, cing hiéu ¥ con nguéi, ching giao tigp véi con ngubi ma khéng cin mét thiét bi trung gian ndo, dé lam duge digu dé ede thiét bi cdm bién, thudt ton nhgn dang ra doi ngay cing hign dai hon, chinh xéc hon, an toan va rat bao mit, ching ¢6 thé ching nbén biét cde hoat déng cia con ngudi, hinh gién ciia con ngwéi va hoat dng theo ¥ muén con ngudi. Thi bai toin “Nhin dang mit ngui i" 1a mét trong sé de, 12 Ly do chon ab tat . Ney nay cfc tid bj sit dung tht ton xi I nh duge sir dung ngly cdng rOng li, vi nhidu me dich khie nhau, Ding cho ic hé théng bao mt nhu khéa bing van tay, gigng nei, gide mae mit ‘de thidt bi an ninb, tray tim 16i pham. ‘Xudt phat tir nhimg yéu cdu thye té trén ngu’i thye hign tién hanh tim higu va nghién ctu dé tai : “NHAN DANG MAT NGUOI TREN MATLAB”, 1.3 Mye dich nghién céru . Nguoi thy hign dé tai nay nhim mye dich: > > Nang cao kf nfing thiét ké va lip trinh bling ngéa ngtt matlab. im hiéu cfc th nh miu, edu trie anh miu, tt in nbn dang va xit > Ren luyén ky nding nghién ciru, tim hiéu tai lig i hn nghién ecru cia dé ‘V6i thai gian c6 han nén ngudsi nghién cira chi tl > Nghién ciru va tiém hidu ede thudt todn nbn dang, mA cy thé lA thudt todn PCA. > Nghién ctu céu tric anh miu, ¢é wae hign nghién eiru nbitng van Igoh xi Iy anh miu trén matlab 7.0, > Nghién ci giai thugt va thye hign phn mén nhin dang trén matlab 7.0 Chuong 1: Din nh§p Nhfn dang mat nguéi trén Matlab ‘Trang 4 Chuong 1: Din nh§p CHUONG 2 CAC THUAT TOAN NHAN DANG KHUON MAT Nhfn dang mat nguéi trén Matlab ‘Trang 6 2.1 Dinh nghia bai toan xéc djnh khudn mgt ngwdi Xée dinh khuén mat ngudi (Face Detection) la mot ky thuat méy tinh dé xée dinh ede vi tri vi ce kich thude cia cée khudn mit nguéi trong cde anh bat ky (anh ky thudt s6). Ky thudt ny nhgn biét cée die trmg ciia khuGn mit vi bé qua nhiing thir khée, nu: toa nha, efy efi, eo thé 2.2 Ung dung cia phwong phap xc djnh khudn mit nguéi Cé mhigu tng dung da darge vi dang thiéké,t6i chi xin dia ra mat s6 loa’ img dung sa + He thong twong téc gitta ngudi va méy: gidip nhtmg ngudi bj tat hod khiém khuyét c6 thé trao di, Nhing ngu’i ding ngén ngit tay cé thé giao tiép voi nhtmg ngwai binh thudng. Nhing ngudi bi bai ligt théng qua mot s6 ky higu nhay mit 6 thé biu 16 nhtng gi ho mus: 66 ia ban tay (hand gesture), digu bé khuén mat * hin dang ngudi A cé phai li toi pham truy n& hay khéng? Gidp co quan an ninh quan ly tét con nguéi, Céng vige nh§n dang cé thé & trong méi trudng binh thudng cling nhu trong bong t4i (sir dang camera hing ngoai. + Hé théng quan sét, theo doi va bao vé. Cac hé théng camera sé xde dinh du la con ngudi vi theo ddi con ngudi dé xem ho c6 vi pham gi khdng, vi dy x4m pham khu vue khong durge vio, 2 hi : nguéi bj ngubi khic léy mit thé ATM hay mét mi ai rit tignvao thei Lamu tr (rit tin ATM, 45), hign nay 6 tin trang nhong 6 PIN va nhing nguéi in cip nay di rat tién, hoe hing ngudi chi thé di rit titn nhumg Iai bio cho ngin hing la mdt thé va mat tién, Cae ngin hing c6 hu cdu khi ¢6 giao dich tién sé kiém tra hay luu tris khudn mit ngudi nit tién dé sau dé déi chimg va xirly. * ‘Thé can cuée, chimg minh nhan dan (Face Identification) © Digu khién vao ra: vin phong, céng ty, try sé, may tinh, Palm, .. Két hop thém vin tay vi méng mit. Cho phép nhan vién duge ra vao noi can thiét, hay mdi nguéi sé ding nhép miy tinh c& nhan cia minh ma khéng can nhé tén ding nh§p eiing nhw mat ma chi cin xde_ dinh thong qua Khuén mat. + Anninh sin bay, xuét nhap cd (hign nay co quan xuét nhap enh Mj da ap dung). Ding a8 xe thyre ngudi xudt nhgp canh va kiém tra e6 phai ld nhin vt khing bé khong, * Tuong lai sé phat trién céc Jogi thé théng minh ¢6 tich hop sin dae trumg cia ngudi ding trén 46, Khi cir ngui ding khac ding dé truy cép hay xit ly tai cac hg thong sé_duge yéu cau kiém tra {3c trumg Khudn mat so véi thé dé biét nay c6 phai IA chi thé hay khong * Tim kiém va t6 chite di ligu lién quan dén con nguii thong qua khuén mit ngudi trén nhiéu h¢ co s@ dit Ligu ru tri that én, nhw internet, céc bang truyén hinh, Vi dy: tim cdc dogn video cé ting ‘théng Bush phat biéu, tim céc phim c6 din vién Ly Lin Kigt déng, tim céc trdn 4 banh e6 Ronaldo 4a, Chuong 2: Thuat ton nhan dang khuén mat Nhfn dang mat nguéi trén Matlab ‘Trang 7 + Higa nay 06 nhigu hudng tip edn 8 xée dinh mgt anh c6 phai fa anh khoa thin hay khong? Khun mit ngudi_durge xem nh mot yéu 16 xe djnh cho m6t huéng tip cn ma duge ding gin diy, © Ung dung trong video phone. © Phan Jogi trong Iau trit hinh nh trong dign thoai di déng. Thong qua bai toan xc djnh khuén rt nguai vit trich dic amg, 7 diva vito die amg nay dé sip xép hu tri, giip ngudi sir dung d& ding truy tim khi edn © Kiém tra trang thai nguéi léi xe c6 ngi git, mat tap trung hay khéng, va hé trg thong bao khi can thiet, Phin tich cdm xtc trén khuén mat © Trong lanh vye thiét ké diéu khién robot. © Hang méy chyp hinh Canon da. img dungbai toin xac dinh khuén mat ngudi vio may chyp inh thé hg mdi 48 cho két qua hinh anh. dep hon, mht Ia khan me ng 2.3 Phuong phap xéc dink khudn mt ngudt Cé nhiéu nghién ctu tim phiong phap xée dinh khuén mit ngudi, tir anh xm dén ngay nay Ta anh mau, Téi sé bay mét cach tng quat nhat nhimg huéng giai quyét chinh cho be toan, tir nhing huréng chinh nay ni trong dé e6 Két qua mei te gi thay di mét sé ¥ mho ya vao tinh chat eta cée phuong phip xéc dinh khudn mit ngu’i trén anh. Cae phirong phip nay duge chia lam bén huéng tip cn chinh. Ngoai bin huéng nay, nhiéu nghién ciru 6 khi lién quan dén khong nhting mot hung tiép cn ma c6 quan nhiéu hon mét hwéng chinh: © Huéng tiép cfin dya trén tri thire: Ma héa céc hiéu biét ciia con ngudi ve cae logi khuén mat 1 gud thinh céc lugt. Thong thurimg cde Int mé ta quan hé cia efe die trumg. * —Huéng tiép cn dya trén dje tring khong thay déi: Myc tigu cdc thudt ton di tim cde dic tramg mé ta cau tric khuén mat nguéi ma cdc dic trumg nay sé khéng thay doi khi ty thé khuén thigt bj thu hinh hoi di mat, vi tri dat kign dn sng thay déi, © Huéng tiép cfin dya trén so khép mAu: Ding cée miu chudn cua khudn m§t nguéi (cde mau nay duge chon hra va hru tr) dé m6 ta cho khudn mat ngudi hay ede dae trmg khudn mgt (cde miu niy phai chon lam sao cho tach bigt nhau theo tiéu chudn ma céc tic gid djnh ra dé so sinh). Cac méi ‘tong quan gitta dir ligu anh dua vio va cée miu ding 48xéc dinh khudn mit nguoi, + Huéng tiép efn dya trén dig mgo: Tréi nguge hin véi so khép mu, ede m@ hinh (hay ee in luygn true 46, Sau d6 he théng (m6 hin) sé xée dinh khuén mgt Chuong 2: Thuat ton nhan dang khuén mat Nhfn dang mat nguéi trén Matlab ‘Trang 8 2.4 Nhgn dang khudn mt ding thugt toan PCA Kohonen di dura ra phutong phép ding vector riéng dé nhin dang khudn mat, éng ding mot je anh 43 duge chudn héa, mang neural don gin dé chiing to khé ning eta phrong phép nay trén ‘Mang neural tinh m@t mé ta cia khuén mit bling céich xp xi cde vector riéng cita ma tran trong quan ciia anh, Cac vector riéng sau nay duge biét dén voi c4i tén Eigenface. Kirby va Sirovich chimg t6 céc fh 6 ede khudn chit at c6 thé durge ma hoa tuyén tinh bing mot sé kagng vita phai cite anh co sd. Tinh tén khae la PCA va bién déi nay dya trén bién déi Karhunen-Loeve, ma cin duge goi duéi mot Hotelling. Y tuéng nay duge xem la cia Pearson trinh bay dau tién vao nam 1901va sau do li inh hud thude nx m duge mé ta bei Hotelling vao nim 1933. Cho mot tp Iuyén 6 ki vector 06 kich thurée m x m, cée vector e& sé cho mot khéng gian con t6i wu duge xée dinh théng qua fc gid goi tap anh rigng sau dé goi cho don gian la vector riéng cia ma trin higp 16i binh phwong trung binh khi chiéu cde anh hudn luygn vao Kl ng gian con may. Ca cde vector co sé toi uu nay phuong sai duge tinh tir eée nh khuén mat hhudn luyén, Néu cho 100 anh, mi mdi khudn mit ¢6 kich thude 91x50 thi c6 thé chi ding $0 anh riéng, trong khi van day tri durge mét kha nang giéng nhau hgp I¥ (gitt durge 95% tinh chat). jector héa trong Turk va Pentland 4p dung PCA dé xée dinh va nhdn dang khudn mit, Tuong ty, ding PCA trén tp hudn luyén anh cde khudn mat dé sinh cde anh riéng (con goi ld eigenface) dé tim mot khong gian con (khéng gian khudn mgt) trong khéng gian anh, Cac anh khuén mat duge chiéu vo khong gian con nay va duge gom nhém lai, Twong ty cdc anh khéng 6 khuén mat ding dé hudn Iuyén cing duge chiéu yao cing khéng gian con va gom nhém Igi. Céc anh khi chiéu vao khéng gian khudn mat thi khong bi thay déi tinh chit co ban, trong khi chiéu cfc anh khéng e6 khuén mt thi xuit hign sw khic hau cling khong it. Xe dinh sy c6 mt cia mét khudn mat 1 ‘ong nh thong qua tit ca khosing edch gilta cde vi tri trong anh va khong gian anh, Khong cdch nay ding dé xem xét o6 hay khong 6 khudn mat ngudi, két qua khi tinh todn cde khoang céch s® cho ta mét ban dé vé khuén mat. C6 thé xéc dinh duge tir cye tiéu dia phuong cia ban dé nay. Co nhigu nghién cima vé née dinh khudn mgt, nhdn dang, va trich die tng ti tung vector riéag, phn 18, vi. gom nhém, Sau dé Kim phat tri cho nh mau, bing céch phan dogn anh dé tim img dé khong gian tim kiém bét di. 2.8 Nhfn dang anh dya trén PCA Khuén mit con ngudi cé rét nhigu nét dé nhén bit, néu nhu ta g8p Iai mét agudsi ban sau mgt thei gian dai, ta cé thé nhja ra ngay ngudi dé di nhttng chi tiét cy thé trén mut 6 thé thay déi nhu da, mai téc . Ta nhfn ra khéng phai vi nhé doi mit , hay mai hay moi hay t6c , long may ngudi dé ma ta nhjin ra vi nhé dign mao cia ngudi dé . Tite 1a trén khuén mit tdn tai m@t nét ting thé nio 46 dé c6 thd nhgn dign thugt todn cis ta bit dau tir ¥ trem nay. Chuong 2: Thuat ton nhan dang khuén mat Nhfn dang mat nguéi trén Matlab ‘Trang 9 Phan tich thimh phin chinh (Principal Component Analysis ) goi tit la PCA 1a thudt toan nha dang anh dya trén nhting nét téng thé cba khudn mat , ta sé dp dung thudt todn nay dé thure hign hai cong vige sau - Thir nbat la tim mét khuén mat gidng véi khudn mat cho truée ~ Thi hai la xée dinh vj tri nhamg khu6n mat ngwai trong m@t bite anh Ban da 6 m@t tgp nh khun mit got (training se). Gi sit mdi anh fh hud luy 6 kich thuée MXN , ta coi méi bite anh may ld mot vector trong khong gian M*N chigu . Bay gid mdi khuén mit la mot vector , ta thay nhimg vector nay khéng phan b6 ngau nhién trong khéng gian anh ma phan bé theo mét quy luft trong 48i nao 46, ta 66 thé néi nhiing vector niy nim trong mét khéng gian con goi l& khéng gian khuda mit . Tir nhitng vector trong tp hudn IuyGn , ta sé tim mot co sé true chudn cho khdng gian khudn mit. Nhimg vector thude co si nay c6 thé coi la nbitng vector mang nig net tng the dpe ramg vé had mat Gia sir tp hudin luygn c6 P anh , khi d6 ta sé 06 P vector: Ts ,T> ,. TTinb vector dh trung binh : m= Sqr khac bigt gitta nhing Khun mgt v6i anh trung binh 18 nhitng vector Aj= Tm Viste ¥ tedng cita vige phan tich thamh phén chinh la tim mét tp nhiing vector trec chudn U& sao cho nhitng vector nay mé sé 61 nhdt se phén bé nhiing vector Khuén mat trong khéng gian . Nhing vector Ux duge chon sao cho _(inéuisy tush)” [onéuis 7 ? dy = Yeuy lar - len nat ng vector Wk va gid tri v6 Ineéng 4 chink la nhimg vector riéng vé tri riéng tong tng ita ma trin AA {UIV) lai tich v6 hucng gitta hai vector u,v. A=[Ay Az Apy Ta théy ma trin A cé kich thede M*N * P, con ma trin AAT ¢6 kich thude M*N*MAN , do ich tharée ma trén nay qué lén nén ta khong thé tim dupe nhieng vector riéng va nhitng tri riéng tree tip dteac , thay vio dé ta s2 tim nhing vector riéng ciia ma tran ATA cé kich these PxP Néu v la mét vector riéng ctiaA™ A vir lati riéng twong ing , khi dé ta cé Chuong 2: Thuat ton nhan dang khuén mat Nhfn dang mat nguéi trén Matlab Trang 10 ATA y= iy @AATA y= iy , tite la Av la mot tri riéng cia ma tran AAT Thang theéng ta chi ldy mét sé Q vector riéng img véi Q tri riéng cé gid tri lon nhdt Sau khi cé cde vector riéng cia ma trin AAT , ta sé chudn héa chning dé tha duege mét co sé tre chun cia Khong gian Rhuén mat Ta Da , tim V 1a tap hgp cde vector riéng cia L., Dl tip hgp eae tri rigng tong img - V bao gim Q vector rigng ting véi nhig tri riéng lim hon mot gid tri nao dé hoe img voi Q tri riéng lin nhét trong D E= AV li tip cée vector rigng cia AAT . Do day la nhiing vector rigng , ma né Iai c6 dang Khuén mat nén cén duge goi la Bigenfaces . E 1a ma trn M*NxQ , mai ct la mot vector rigng . Chuan héa ee vector c@t trong E ( chia méi vector cho d@ dai ciia vector dé ) Bay gid, ta 6 thé coi E 1a mot co si trge chudn cba khong gian khuOn mit Voi 11 a bite anh 66 cing kich thude voi nhimg bite anh trong tap hudn luyén . Ta sé xét né 06 phai la bite anh khuén mgt hay khéng,, cing nw tim bite anh giéng véi né nbdt trong tap hudn luyén H duge xem lé mét vector trong khéng gian M*N cl Bt K=H-m véi m la vector anh trung binh, Cho Ra mbt Rhéng gia ob sich vi fat, itu ham chi v0 W a mbt kving gian con ca V Gi sie W c6 mét co 86 truc chudn Ia fily, ..., Us}. Khi dé hinh chiéu trve giao cita vector u bdt ki Ten W dtege xéc dink niu saw o mu Dtwbarus toll duege goi la khodng céich teu dén W 6 dai Ihe Tip hop ©c = Wultts), i=1,..., Q deve goi la toa dé ciia Ya trong khéng gian W. C=ETK 18 toa d@ ota hinh chiéu Ky cia K len kh6ng gian khudn mit . C la vector el Cee voi G = Ci, 1); = BC: i) Ki- Voi At la mot c trong ma trin A ( tuong img voi bite anh Ty trong tép hudn luyén ) . Ta tinh C,~ ETA, ta tga d6 ota inh chigu is cia Ay tén khong gian khudn mat Ta tinh hai dai hrgng sau I —Ke Il xem nhu khodng cfch tir bite anh H dén khéng gian mit = SiC — CoM xomnhur khodng cfch tir H dén bite anh T, trong tap hudn luyén Xét avi Bla hai nguimg mao dé Chuong 2: Thuat ton nhan dang khuén mat Nhfn dang mat nguéi trén Matlab Trang 11 = < @thi Hla bite anh khudn mat (do H dit gin véi khong gian n li bite a - Si< pai ah cita cing mot ngudi véi H . (H da gin voi T, ) Vay 18 ta 3 c6 thé tim bite anh trong t§p hudn Inyéa gidng véi bite nh H hay xéc dinh dé e6 phi 1a bite anh khudn mit hay khong . Tuy nhién dnb H phi e6 cing kich thrée véi_nbitng bite anh trong tap hudn luygn . Bay gid trong mét bite anh Ién H cé nhigu khudn mat , ta sé xéc dinh vj tri nhimg khuén mit trong bite anh ‘Tai mdi vi tri (x,y) trong H , d§t H(x,y) & m@t ving trong anh H 6 kich thuée M>N tai (x,y), ta xem nh con Hy) f& mot vector M*N chigu K(xy) = H(xy) ms ‘Tim K# (x,y) 18 hinh chiéu ca K(x,y) lén khéng gian khuén mit Tinh sixy)-ll* G9) ~ KEY) Tp hop cée git s(xy) 90 thinh mée bin d@ Kiuéa mat (face map) cia H , rr 46 ta 06 thé xe din vi tr nhiig khudn mit trong anh Chuong 2: Thuat ton nhan dang khuén mat CHUONG3 ANH MAU TREN MATLAB VA CAC LENH XU LY ANH MAU TRONG MATLAB Nhfn dang mat nguéi trén Matlab Trang 14 3.1 Gidi thigu anh s6 Aah sé 1A tp hop cdc diém anh véi mite xém phi hgp ding dé m6 ta anh gin véi anh that. Anh 1a m@t sq vat dai dign cho con ngudisinh vat hay sy vat nio dé .v.v... anh dng nhu ta thy trén srayén hinh the chét la tp hop ci rét nhiu nh tinh Hin tigp.khi mgt anh duge s6 hea thi m6 tre nh anh s6 va anh s6 niy Igi 18 mét tgp hop ca rét nhigu phn tir dnh duge goi la diém anh hay la ~pixel”.méi diém dink loi duge bigu dign dudi dang mot s6 how han ede bit. chiing ta c6 thé chia anh ra lam ba logi khée nhau + Aah den tring :méi diém anh duge biéu dién béi mot bit + Anh Gray — scale :méi diém anh duge biéu dién bing cée mite chéi khée nhau,thuéng thi anh nay duge bién dign bing 256 mite chéi hay la 8 bit cho mdi diém anh. + Anh mau : méi diém anh chia ra thanh tin higu chéi va tin higu miu Hinh 3.1: Anh mina 3.1.1 Biéu dign anh 56 . Trong biéu dign anh, ngudi ta thung dung eée phin tir de trung cua dh ld Pixel. Nhin chung 66 thé xem mét him 2 bién chua cdc thong tin biéu dién caa mt anh, Cac mé hinh biéu dién anh cho ta mot mé 14 logic hay dinh lugng cdc tinh chat cia ham nay. Vige xir ly anh sé phi duge Hy miu va hrong tir héa. Vige hxeng tir héa la chuyén d6i tin higu tong ty sang tin higu sé cia mt anh di My miu sang mot sé hitu han mire xm. 1m inh thagmg dung biéu dig anh; m6 hinh toan, m6 hinh théng ke 3.1.2 Anh miu Sea save miu ‘hur ta d3 big thi khi cho nh séng tring di qua ling kinh ta sé thu duge m@t day phé miu bao gdm 6 miu ng tim, am, fue, ang, cam, 3, Néu nhin ky thi sé khong ¢6 ranh gigi 10 ring gta cie mau ma mau nay sé tr tir chuyén sang miu kia Mit ching ta nhin thdy durge ldo dn sing phin xa tir vat thé, Chuong 3: Anh mau va xir ly anh trén Matlab Nhfn dang mat nguéi trén Matlab Trang 15 Tit cd cde mau duge tgo ra tir3 mau co bin (mau so cp) la : 45 (R),lam (B) va lye (G).Céic mau co ban trdn lai véi nhau theo m6t ti 1¢ mht dinh dé tao ra cde mau thir ep Phuong trinh mau Y= 0.2989*R +0.58662"G + 0.11448*B Hinh 3.2: Céie mau co sé Vd: d6 + lye = vi Lye Ham = xanh Trin ba mau so cp ho trGn mst miu thir cép véi miu so cép nguge véi n6 sé tgo ra durge anh sing tring Cée mau géc e6 lién quan dén ede khdi nigm sinh hoc hon la vét ly, né dy trén co so phan ting sinh ly hoe cia mit ngu’i déi véi anh sing. Mat ngudi c6 cde té bao cém quang ¢6 hinh nén nén con bao nay théng thug ¢6 phan img eye dai voi anh sing vang - xanh urge goi la t8 bao hinh nén, 1a edy (1 bao hinh nén L), xanh lé cy (té bao hinh nén M) va xanh lam (té bao hinh nén S) tuong ing 18 bao cam véi cae bude séng khoang 564 nm, $34 nm va 420 nm. Vi dy, mau vang thy duge khi c han miu xanh nh vang durge kich thich nhigu hon mot chiit so véi té bio cim nhin mau xanh li cay ‘i miu dé cm nh urge khi cde 1 bio cdm nha miu ving -xanh ved cay durge kch thich nhigu hom bao cim ahgn miu xanh li Cae dae trig ding dé phin bigt mét miu véi mau khée la : dO sing (brightness) , sie miu (hue) va 46 bao hoa mau (Saturation) mau chinh la tén tia mau, Vi * Mau sic co lign quan dén bude séng anh sing Thong thuong, dy: d6, cam, Ie BO sing thé hign vé cudmg dO nh sing :mé té n6 sng hay tdi nhu thé nao * BG bao hoa miu : thé hign d6 than khiét ca miu, Khi d6 bao hoa cao, miu sé sach va rye 16, Cé nhigu mé hinh miu nhur RGB,CYM, YIQ,CIE...6 diy chi trinh bay v@ m6 hinh mau RGB Anh mau va xtr ly anh trén Matlab Chuong Nhfn dang mat nguéi trén Matlab Trang 16 lam (0.0.1) oo] cod 0.1.0) Hinh 3.3: Mé hinh mizu RGB Cie miu R,G,B nim 6 cée dinh tréntryc toa d9 cia khéi vabng Mau den nim @ gée toa d9, tring nim 6 gée xa nhit so véi diém géc. Thang mau xém kéo dai tir den dén tring (durimg chm), Hinh nh trong m6 hinh miu RGB bao gdm 3 mt phiing anh ddc lip (ding cho cde mau so cdp). Thuong thi ta gia thiét 1a t8t cd cde gid tr] mau duge chudn héa (tic 1a khéi vudng la khéi don vi),tdt cd cde gid tri mau nim trong khodng [0,1] Vi vay trong hé mau RGB cae mau cé thé m6 ta nhu 1a nhitng diém bén trong hinh lip phuong.6 abe toa 46 (0,050) la miu den-Trén ci true toad dong cde miu 46 Iyelam, Khi dé én séng ti cic diém rigng bigs sé duge cOng véi nhau dé t9o ra ede mau khée nhau. +, 0,0) li miu den + (255, 255, 255) li miu tring + (255, 0, 0) i miu dé + (@, 255, 0) a mau xanh Ié cay + (0,0, 255) la mau xanh lam + (255, 255, 0) la mau ving + (0, 255, 255) la mau xanh ngoe + (255, 0, 255) la mau héng sim_ 3.1.3 Cfe djnh dang anb eo ban trong xir ly nh Anh thu durge sau qué trinh sé héa thuéng duge hra Iai cho cdc qué trinh xi ly tigp theo hay srayén di Trong qua trinh phit trién cita kj that xir lj anh, tén tai nhigu dinh dang. anh Khe nha tr {inh miu: (BMP, GIF, JPEG...) anh den tring (véi dinh dang IMG), anh da cp xém cho dé Chuong 3: Anh mau va xir ly anh trén Matlab Nhfn dang mat nguéi trén Matlab Trang 17 - Dinh dang anh IMG 18 anh den tring. phn déu cia IMG e6 l6byte chia thong tin. - Dinh dang anh GIF-GIF (viét tit cia Graphics Interchange Format; trong tiéng Anh nghia 18 “Dinh dang Trao déi Hinh anh") 1d mot dinh dang t§p tin hinh anh bitmap cho céc hinh dnb dling it hon 256 mau sie khae nhau va céc hoat hinh ding it hon 256 miu cho mdi khung hinh, GIF li dinh dang 0 186 phia tren dmg chéo chinh va K <0 la & phia didi duimg chéo chinh. Diag(V):Gidng nhu DIAG (V, 0) va dit vector V trén durimg chéo chinh. © Sort(X): Phan logi ting dan hay gidm. Doi vai cdc vector, Sort(X) sip xép céc phin tr cia X thi ty tang dan, Oi véi_ ma trim, Sort(X) cic logi mdi cGt cia X thir ty ting din Khi X 18 mot mang di dng cia chudi, Sort(X) sip xép cde ky tyr theo thir ty bang ma ASCIL © Norm(X): Chun héa ma trin va vector X. #-Min(X): Tra vé vi tri cha phn tirnho nhét cia ma tr X. Chuong 3: Anh mau va xir ly anh trén Matlab CHUONG 4 GIOL THI CHUONG TRINH ‘han dang mat ngudi trén Matlab ‘Trang 26 4.1 Gidi thigu chwrong trinh Chung trinh “Nh§n dang mit ngudi tréa Matlab” ld chwrong trinh duge thiét ké trén giao dién ngudi ding GUI eiia phin mén Matlab 7.0, Rét don giin vi dé ding sir dung. Be mé chuong trinh ban cé thé lam thao 2 céch ‘M6 trye tip trén chuong trinh Matlab 7.0, Ta chi duimg din dén thu mye DOAN2 sau dé Run file DOAN2.fig. Nhu inh dudi day: Fi fee iin Dey Wr HH De 2 Ber P | orviteans [omuamaure! Hinh 4.1: Mé chuong trinh trén Matlab Hoje cae ban cling cé thé vao tryc tigp thu mye DOAN2 dé mé file DOAN2.fig. Sau khi chay chong, ‘trinh, sé xudt hién hgp thy thogi nhu hinh; Sea aaa mu rats arenes eg Pe cuveUte nur iaule [centri matlab OE a) Sen ey (tet | | 0b | Chuong 4: Gidi thigu chuong trinh ‘han dang mat ngudi trén Matlab ‘Trang 27 Hinh 4.2: Giao dign chuong trinh Day chink 1 giao dign gidi thigu cia chuong trinh, Trén giao dign cé 2 nit nhin Next va Close. Néu chon Close, sé thoat khéi chuong trinh, Néu chon Next, ta sé dén giao dign tigp theo cba chong trinh chinh, Nhu hinh dedi day: [nh kiem Tra Hinh 4.3: Giao dién chwong trinh chin Day chinh 1a giao dign chinh cila chong trinh gdm hai Khung hién thi hinh énh va hai mit nhan Browse va Search. Dé bat dau tim kiém ta can load anh khuén mit nguéi cin kiém tra bing eich nhdn vio phim Browse. [6p thoai mé file xudt hign, ben chon file anh ban muén kiém tra. G day ta lay vi dy anh kiém tra i anh “4,jpg” nhw hinh ve: Hin 4.4: Chon dh edin kiém tra Chuong 4: Giéi thigu chuong trinh ‘han dang mat ngudi trén Matlab ‘Trang 28 Anh cin kiém tra sé duge dura ra giao dign churong trinh chinh nhur inh: ‘anh Kiem Tra Bionse ‘eaten Hinh 4.5: Anh can kiém tra bé kiém tra xem khudn mit nguéii trong anh cn kiém tra ching ta nhin niit Search chuong trinh sé chay va tim trong CSDL bite anh cé khuén mit gidng véi khuéa mat ngudi trong anh cin kiém tra. Hién thj ra giao dign chuong trinh chinh. ‘on tg inh Anh Kiem Tra h ‘nn cancin me Seach Hinh 4.6: Anh trung bin Chuong 4: Giéi thigu chuong trinh ‘han dang mat ngudi trén Matlab ‘Trang 29 Hi chin ah en KGa aon Siem ne ‘Ann cantim Hinh 4.7: Hinh chiéu donk Ten Khong gin éinh ree Arh KiemTra Ten art Tibg Hinh 4.8: Anh can tim ‘Chiong trinh sé tim ra khudn mit gan gidng nhdt vei khuén mat cn kiém tra. Va 6 day két qua tim durge 1a hinh e6 t8n “7.jpg”. Chuong 4: Giéi thigu chuong trinh Nhfn dang mat nguéi trén Matlab Trang 30 Chuong 4: Gidi thigu chuong trinh CHUONG § SO BO KHOI VA CODE CHUONG TRINH Nhfn dang mat nguéi trén Matlab 5.1 So d6 khoi Cosédirliga — |-———> "Tp hudin luygn Anh kiém tra Anh xa anh PCA kiémtra. = [*—______] (rich ic trumg) Vector dc trams, ‘Vector dic trmg Phan loai (AdaBoost) i Tao quyét dinh Hinh 5.1: So dé khéi tng quat cia chwong trinh 5.2 Code ehurong trinh function varargout = DOANMONHOC2(varargin) gui_Singleton= 1; gui_State—struct(gui_Name, — mifilename, ‘gui ‘gui_OpeningF en’, @DOANMONHOC2_OpeningFen, ‘gui_OutputFen’, @DOANMONHOC2_OutputFea, Singleton’, gui_Singleton, ‘gui_LayoutFen’, (J, "gui_Callback’, (1); ifnargin && ischar(varargin{1}) gui_State.gui_Callback ~ str2fume(varargin{1}); end ifnargout [varargout {I:nargout}] = gui_mainfen(gui_State, varargin{:}); else Chuong 5: So 46 khéi va code chuong trinh Trang 32 Nhfn dang mat nguéi trén Matlab Trang 33 gui_mainfen(gui_State, varargin{:}); end function DOANMONHOC2_OpeningFen(hObject, eventdata, handles, varargin) handles.ourpat = hObject; % Update handles structure guidata(hObject, handles); le; °% —- Outputs from this fimetion are returned to the command line. function varargout = DOANMONHOC2_Outputlen(hObject, eventdata, handles) varargout{1} = handles.output; function Search_Callback(hObject, eventdata, handles) load Testlmage; axes(handles.anhtimdvoc); TrainPath~train’ T .oCSDL(TrainPath); {m, A, Eigenfaces] = tol F(1); OutputName = nhandien(Testlmage, m, A, Bigenfaces); anhtim = streat(TrainPath,"',OutputName); anhtim = imread(anhtim); imshow(anhtim), title('Anh tim duoc’); str= streat("Ten anh :OutputName); set{handles.tenanh,'String,str); function Browse_Callback(hObject, eventdata, handles) [file_name file_path] = uigetfile (*.jpg.,Chon anh kiem tra test\2.jpe!); if file_path~=0 Testlmage = imread ((file_path,file_name)); end axes(handles.anhkiemtra); if file_path ~~ 0 imshow(TestImage); Chuong 5: So 46 khéi va code chuong trinh Nhfn dang mat nguéi trén Matlab Trang 34 end save Testlmage; function 1 = taoCSDL(trainPath) °% trainPath la duong dan toi thu muc esdl anh .Thu muc nay ngoai nhung, Y% file anh con chua nhung file khac co ten =, .., Thumbs.db % Bien tat ca anh kich thuoc MxN thanh vector cot M*Nx1 , su dung 2% ham reshape cua Matlab , sau do dat vao ma tran T ,cuoi cung ma tran T % se co kich thuoc M*NxP- % return T esdl = dir(trainPath); soanh=05 for i= size(esdl,1) % dem nhung file la anh trong esdl if not(stremp(esdl(i).name,’)/stremp(esdl(i).name,...)/stremp(esdl(i).name,Thumbs.db’)) soanh ~ soanh + 1; % so anh chia trong tap esdl end end % Tao ma tran ta nhung tam anh T-[k for i= 1: soanh % Trong csdl cua vi du nay thi cac file anh co ten : 1.ipg , 2.ipg str int2str(i); str= streat("str,. pg); str = streat(trainPath,str); % lay ten day du cua file anh. img = imread(str); img = rgb2graytimg); (dong cot] = sizetimg); tam = reshapeimg',dong*cot,1); % bien anh thanh vector ‘T=[T tam]; % tang dan kich thuoc ma tran T end function [m, A, E] = taoEF(T) % T la mot ma tran kich thuoc M*NxP chua tat ca anh trong esdl , moi anh la % mot vector cot trong ma tran T Chuong 5: So 46 khéi va code chuong trinh Nhfn dang mat nguéi trén Matlab Trang 35 % Theo thuat toan PCA ,dau tien ta se tinh ram la trung binh cua tat ca cac anh % trong ma tran T % Sau do ta se lay tung bue anh trong T tru cho anh tring binh , ta se duoc mot ma % tran A kich thuoe M*NxP % Ta can tim Eigenface la nhung vector rieng cua ma tran A*A’ , nhung ma °% tran A*A’ kich thuoc 1a M*NxM*N qua lon , ta se tim nhung vector rieng, % cua ma tran AMA co kich thuoc PxP . a se tim nhung vector rieng % bang ham eig trong MatLab % Gia su-v la mot vector rieng cua ma tran A'*A , khi do A*v la vector °% vieng cua ma tran A*A' % tap hop nhung vector rieng cua ma tran AMA’ goi la Eigenfaces Yotta ve 3 gia tri % — m anh trung binh % A tap hop nhung (anh-anh trang binh ) % EB nbung vector rieng cua ma tran A*A' ‘6tinh toan anh trang binh m=mean(T,2);, soanh = size(I,2); Yoxuat ra hinh anh cua m. show(m,'Anh trang binh');pause; % tinh do lech giua anh moi bue anh voi anh trung binh A-tk for soanh temp = double(1(,)) -m; % T(i): vector cot thu i chinh la mot bue anh ifi<6 show(temp,’Anh - Anh TB) ;pause; end A=[Atemp]; end 9% tim nhung tri rieng va nhung vector rieng cua ma tran A'*A., tu do tim % nhung vector rieng cua ma tran A*A' la nhung Bigenface L= AMA; IV D] = cig(L); °4V chua nhung vector rieng , con D chua nhung tri rieng trong do vector %rieng V(-) ung voi tri rieng DG) Chuong 5: So 46 khéi va code chuong trinh Nhfn dang mat nguéi trén Matlab Trang 36 Di-diag(D); Di-son(D1); ize(D1)5-8(1); DI-DiGs-18): Leig ~ []%6tap hop vector rieng cua ma tran L=A'FA size(V,2) iff DG,i)>D1) LeigV = [LeigV V(,i} for end end %ota chi lay 18 vector rieng ung voi 10 tri rieng Lon nhat Yonhu da noi o tren , sau khi co cae vector rieng cua ma tran A'A., ta tim ‘eae vector rieng cua ma tran A*A' bang cach lay ma tran A nhan voi cac “vector rieng nay , tap hop cac vector rieng cua ma tran A*A’ con duoc goi Yola Bigenface do day la nhung vector rieng va no giong hinh khuon mat E-A*LeigV; Yoxuat ra mot so hinh anh cua cac Bigenface for “1:5 anh=E(;i); show(anh,'Eigenface;pause; end %E 1a mot co so gom nhung vector true giao , ta se chuan hoa no de B bien ‘%thanh mot co so true chuan sovector=size(E,2); for i-1 sovector dodai=norm(E(:i)); E(,i)-E(,i)/dodai; end end function show(m,t) "ham show duoc su dung de hien thi hinh anh voi kich thuoe mau %m la matran anh can hien thi tla chuoi the hien tieu de cua anh Chuong 5: So 46 khéi va code chuong trinh Nhfn dang mat nguéi trén Matlab im=imread(anhmau,jpg’); ty im=rgb2gray(im); catch end [dong,cot|=size(im);% lay kich thuoe (anhmaujpg coi nhu bien tam luu kich thuoc) tam=reshape(m.cot,dong); tam=tam'; imshow(tam); dem=1; for iI:dong, for j=1:cot im(i,j)-tam(ij); end end imshow(im)sttle(t) end function anhtim = nhandien(InputImage, m, A, E) %blam nay se so sanh buc anh kiem tra voi tung bue anh trong CSDL . Dau tien tinh toa do hinh chiew cua bue anh kiem tra sau do tinh toa do %6hinh chicu cua tat ca buc anh trong esdl . Cuoi cung do khoang cach giua ‘toa do hinh chien cua nhung buc anh trong esdl voi toa do hinh chieu cua anh kiem tra . Buc anh trong esdl co khoang cach ngan nhat voi anh kiem Yotra chinh la buc anh tuong ung voi buc anh kiem tra %lnputimage la duong dan toi bue anh can kiem tra inh trung binh cua cae nh trong esdl %A la ma tran , moi cot fa do lech giua mot anh trong csdl so voi anh trung Yobinh , con goi la vector anh trung tam °%E la tap hop nhung vector rieng cua ma tran A*A' %m,A va E duoc lay ta ham 'taoEF* °anbtim la ten cua bue anh tim duoc trong esld ‘toado = [];%tap toa do hinh chiew cua moi bue anh trong esdl sovector = size(E,2);%6s0 vector rieng trong E (a so cot ) Chuong 5: So 46 khéi va code chuong trinh Trang 37 Nhfn dang mat nguéi trén Matlab Trang 38 sovector *A(;i); Yotoa do hinh chiew cua buc anh Ai ado tam]; [dong cot] Inlmage = reshape(tam’,dong Yotinh do lech giva anh kiem tra va anh trang binh trong esdl , do lech la ‘mot vector cot giong nhu cae vector cot trong ma tran A dolech = double(Inimage)-m; Yotuong tu nhu khi tim toa do hinh chieu cua cac vector cot cua A, bay gi tim toa do hinh chiew cua bue anh kiem tra toadoKT = E'*dolech; hinhchieuk T-double(Inimag: for i-I-sovector hinhchieuKT=hinhchieuKT + toadoKT(,1)*E(;i); end show(hinhchieuKT, inh chiew anh len KG anh’);paus s%ofigures ke-norm( doublet strnum2str(ke); str-streat('Khoang cach ta anh kiem tra toi khong gian khuon mat : str); Image)-hinhchieuKT); disp( str); “Bay gio ta se tinh khoang cach giua toa do hinh chiew cua bue anh kiem tra voi Yotat ca toa do hinh chiew cua cac buc anh trong esdl . Toa do hinh chiew cua ‘anh kiem tra se co khoang cach ngan nhat voi hinh chieu cua bue anh tuong, ung trong esdl (Hai bue anh cung la khuon mat cua mot nguoi ) ota Tau y la moi toa do hinh chiew la mot vector , ta se dung chuan Buclid de tinh Yokhoang cach giua 2 vector (2 toa do hinh chieu) Khoangeach = [}; for i= 1 : sovector q=toado(:,i); tam = ( norm( toadoKT - q) )*2; khoangeach = [khoangeach tam}; Chuong 5: So 46 khéi va code chuong trinh Nhfn dang mat nguéi trén Matlab Trang 39 endA olay ra khoang cach ngan nhat va vi tri cua bue anh tim duoe trong esdl , ota tu y la nhung file anb trong esdl co ten la : jpg . ips [minKC , vitri] = min(khoangeach); strmum2str(minKC); str=streat(’Min khoang cach hai toa do hinh chieu :‘str); disp(str); anhitim = streat(int2st(viti,.jpe)s Chuong 5: So 46 khéi va code chuong trinh Nhfn dang mat nguéi trén Matlab Trang 40 Chuong 5: So 46 khéi va code chuong trinh CHUONG 6 PHAM VI GIGTHAN VA HUONG MG RONG CUA DE TAL 6.1 Pham vi giéi hgn cia dd tai ‘Do théi gian tién hanh nghién ciru tai ligu tham khéo c6 han. Dé tai “Nhgn dang mit ngwai trén Matlab” chi sir dang mét thudt ton day nhét la thugt ton PCA. Nén lam cho chuong trinh nhan dang ‘phy thude rt nhigu vao tp hudn luyén, vi tri cdc khuén mgt trong hinh, Trong qué trinh chay churong trinh ede anh duge xir ly tgo ra nhu: anh trung binh, nh-anh trung binh, KigFace khéng durge liu lai Nén khi chay lai chuong trinh cde anh trén s& durge khéi tao lai tir du, 6.2 Huréng mi rong cia dé t DE tai c6 thé durge phét tién thinh m shan mén nhan dang mat ngudi tot hon, bang céch két hop vei met 6 thugt todn nhn dang va xir If anh hign dai hon, Cho ra ket qua chinh xc hom, C6 thé phat trign thanh a8 ti nhn dang qua webcam..

You might also like