You are on page 1of 92

MC LC

TNG QUAN DANH MC CC HNH Chng 1. GII THIU BI TON PHM VI NGHIN CU CA KHA LUN 1.1 Gii thiu bi ton 1.1.1 Nhn din vt th trong nh s, tm quan trng v cc ng dng thc t 1.1.2 Nhn din khun mt ngi trong nh s 1.2 Cc kh khn trong bi ton nhn din khun mt 1.3 Cc cng trnh nghin cu v hng tip cn lin quan n nhn din khun mt 1.4 Thut ton s dng mng nron pht hin khun mt 1.4.1 Gii thiu 1.4.2 u im 1.4.3 Khuyt im 8 11 11 13 14 1 2 6 1 1 6 7

1.5 Gii thiu mc ch v gii hn phm vi nghin cu ca kha lun 14 1.5.1 Mc ch 1.5.2 Gii hn phm vi nghin cu Chng 2. CC C S L THUYT V THUT TON P DNG VO PHT HIN KHUN MT NGI. 2.1 Hng tip cn ca kha lun 2.2 Cc thut ton tin x l nh : 2.2.2 Cn bng nh sng 2.2.3 Lm ni nh (Histogram Equalizer) 2.3 Gii thiu khi nim ca s (Window) v mt n (Mask) 2.3.1 Ca s (Window) 2.3.2 Mt n (Mask) 2.4 Cc bc trong qu trnh pht hin khun mt 2.4.1 To cc ca s (Window) t cc cng (Scale) ca nh 2.4.2 Tin x l nh nh trong vng ca s
GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

14 14

15 15 16 20 21 24 24 25 26 26 28

2.4.3 a cc im nh trong ca s khng b che bi mt n vo mng, a ra kt qu 2.5 M gi hm tm kim (Search) Chng 3. THIT K MNG NRON, THU THP D LIU HUN LUYN V HUN LUYN MNG. 3.1 Thit k mng 3.2 Thu thp d liu hun luyn v hun luyn mng. Chng 4. HIN THC, KT QU CHY TH, CC CI TIN V HNG PHT TRIN CA KHA LUN 4.1.1 Hin thc li kin trc mng nron 4.1.2 Hin thc Demo pht hin khun mt 4.2.1 Kt qu chy Demo chng trnh khi cha ci tin 4.2.2 Cc ci tin 4.3 Hng pht trin ca lun vn trong tng lai. PH LC Ph lc A: GII THIU MNG NRON NHN TO 1. 2. 3. 4. 5. T tng mng nron sinh hc n mng nron nhn to ng dng mng nron nhn to Hun luyn mng nron Thu thp d liu hun luyn mng nron 40 40 46 52 52 56 58 59 59 60 62 63 63 65 65 67 70 31 31 34 28 29

Ph lc B: C S L THUYT CA MNG NRON NHN TO 1. 2. 3. Phn t x l Kin trc mng nron nhn to Hun luyn mng nron truyn thng:

Ph Lc C : MINH HA GII THUT LAN TRUYN NGC TRONG HUN LUYN MNG NHIU LP DANH MC TI LIU THAM KHO 76 86

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

TNG QUAN

Chng 1. Trnh by tng quan v bi ton nhn din vt th trong nh s c ng dng quan trng trong thc t. V bi ton pht hin mu khun mt ngi dng mng nron l mt bi ton con t bit ca bi ton nhn dng vt th. Trnh by mt s cng trnh nghin cu gn y v hng tip cn ca kha lun n bi ton nhn din khun mt.

Chng 2. Trnh by cc c s l thuyt v thut ton dng mng nron vo pht hin khun mt ngi trong nh s.

Chng 3. Trnh by bc thit k mng nron, thu thp d liu gm tp nh l mu khun mt v v tp nh khng phi l mu khun mt. Sau l bc hun luyn cho mng nhn dng c u l mu khun mt ngi v khng l khun mt ngi.

Chng 4.

Hin thc chng trnh, kt qu thu c trc v sau khi ci tin. Kt lun v nh hng pht trin ca kha lun.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

DANH MC CC HNH
Hnh 1.1. Nhn din vt th trong nh s. Hnh 1.2. Nhn din khun mt trong nh s. Hnh 1.3. Cc bc nhn din khun mt
Hnh 1.4 a) v b) :Cc t th, gc chp khc nhau.

Hnh 1.5 : nh chp do ru che mt s phn khun mt. Hnh 1.6 a) v b) : nh chp phc tp do biu cm. Hnh 1.7 : nh chp phc tp do che khut. Hnh 1.8 a) nh chp trong nh. b) nh chp ngoi tri. Hnh 1.9. S dng cu trc mng nron nhn to (Aftificial Neural Network) pht hin cc mu khun mt v khng phi khun mt. Hnh 2.1 nh gc. Hnh 2.2 nh en trng Hnh 2.3 nh cha cn bng sng. Hnh 2.4 nh cn bng sng. Hnh 2.5. nh cha lm ni. Hnh 2.6 nh lm ni. Hnh 2.7. nh v ca s (window) trong nh s. Hnh 2.8. Ca s trc khi p mt n.
Hnh 2.9. Mt n v ca s sau khi p mt n.

Hnh 2.10. Ca s thu c vi t l scale nh gc ln. Hnh 2.11 Ca s thu c vi t l scale nh gc ln. Hnh 2.12 Ca s mt n. Hnh 2.13 Ca s nh sau khi p mt n. Hnh 3.1. Cu trc mng nron. Hnh 3.2. Cng thc v th minh ho hm nn lng cc (Bipolar Sigmoid). Hnh 3.3. Minh ho Vect u vo. Hnh 3.5. Tp mu hun luyn ng. Hnh 3.6. Tp mu hun luyn sai. Hnh 3.7. Minh ho qu trnh hun luyn
GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

1/88

Chng 1. GII THIU BI TON PHM VI NGHIN CU CA KHA LUN

1.1 Gii thiu bi ton Hn mt thp k qua c rt nhiu cng trnh nghin cu v bi ton xc nh khun mt ngi t nh en trng, n nh mu nh ngy hm nay. Cc nghin cu i t bi ton n gin, mi nh ch c mt khun mt ngi nhn thng vo thit b thu hnh v u t th thng ng trong nh en trng. n nay bi ton m rng cho nh mu, c nhiu khun mt trong cng mt nh, c nhiu t th thay i trong nh. Khng nhng vy m cn m rng c phm vi t mi trng xung quanh kh n gin (trong phng th nghim) cho n mi trng xung quanh rt phc tp (nh trong t nhin) nhm p ng nhu cu thc tin ca con ngi. 1.1.1 Nhn din vt th trong nh s, tm quan trng v cc ng dng thc t H thng nhn din vt th l mt h thng nhn vo mt nh hoc mt on Video (mt chui cc nh). Qua x l tnh ton h thng xc nh c v tr vt th trong nh (nu c) v xc nh l vt th no trong s nhng vt th h thng c bit (qua qu trnh hc) hoc l vt th l. Nhn din vt th trong nh s c minh ha nh hnh 1.1

Qu bng r

Chic xe p Khng bit


Hnh 1.1. Nhn din vt th trong nh s.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

2/88

1.1.2 Nhn din khun mt ngi trong nh s 1.1.2.1 Gii thiu nhn din khun mt. Pht hin khun mt ngi (Face Detection) l mt k thut my tnh xc nh cc v tr v cc kch thc ca cc khun mt trong cc nh bt k (nh k thut s). K thut ny nhn bit cc c trng ca khun mt v b qua nhng th khc, nh: ta nh, cy ci, c th, Ni chnh xc hn l khu bit ha khun mt (kh nng tm v nhn bit u l khun mt trong ton b mt khung hnh). h thng ny, t mt u vo l bc nh hoc mt on Video (mt chui cc nh), my tnh c th khu bit ha khun mt nm v tr no. Qua x l tnh ton h thng xc nh c v tr mt ngi trong nh (nu c) v xc nh l ngi no trong s nhng ngi h thng c bit (qua qu trnh hc) hoc l ngi l. C rt nhiu thut ton c pht trin nhm ci thin qu trnh nhn dng khun mt ngi ngy cng tt hn. Vi c s d liu so snh ln, thut ton phc tp, s h tr t phn cng hay chp x l ring, h thng nhn din c th nhn din ngay c khi mt ngi quay ngang hay nhn ln, nhn xung, chuyn ng hay ng yn, thm ch mt ch chim mt phn rt nh trong ton b khung hnh. Bi ton nhn dng mt ngi l bi ton con c bit ca nhn dng vt th .Tuy nhin, y l mt bi ton kh nn nhng nghin cu hin ti vn cha t c kt qu mong mun. Chnh v th vn ny vn ang c nhiu nh nghin cu trn th gii quan tm. y l mt vn ln trong ngnh th gic my tnh (Computer Vision vit tt CV).

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

3/88

H thng nhn din mt ngi trong nh s c minh ha nh hnh 1.2:


nh Inputs nh Outputs

Bin Laden 1)

2)

H thng nhn dng khun mt

Obama

Khng bit 3) v khun mt khng


c trong c s d liu

Hnh 1.2. Nhn din khun mt trong nh s.

1.1.2.2 Bn bc nhn din mt ngi trong nh s Mt h thng nhn dng mt ngi thng thng bao gm bn [1] bc x l sau: pht hin khun mt (face detection), phn on khun mt (face alignment hay segmentation), rt trch c trng (feature extraction) v phn lp khun mt (face classification). Cc bc nhn din mt ngi trong nh s c minh ha nh hnh 1.3.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

4/88

Hnh/video

Pht hin khun mt ( tm kim )

V tr khun mt

Phn on khun mt

Khun mt phn on

Vec-t c trng Phn lp khun mt

Rt trch c trng

Ch s khun mt (Face ID)

Hnh 1.3. Cc bc nhn din khun mt.

Pht hin khun mt d tm v nh v nhng v tr khun mt xut hin trong nh hoc trn cc Frame Video. Phn on khun mt s xc nh v tr mt, mi, ming, v thnh phn khc ca khun mt v chuyn kt qu ny cho bc rt trch c trng. T nhng thng tin v cc thnh phn trn khun mt, chng ta c th d dng tnh c vc-t c trng trong bc rt trch c trng. Nhng vc-t c trng ny s l d liu u vo cho mt m hnh c hun luyn trc phn loi khun mt. Bn cnh nhng bc chnh nu trn, chng ta cn c th p dng thm mt s bc khc nh tin x l, hu x l nhm lm tng chnh xc cho h thng. Do mt s thng s nh: t th khun mt, sng, iu kin nh sng pht hin khun mt c nh gi l bc kh khn v quan trng nht so vi cc bc cn li ca h thng. Trong kha lun ny, chng ti tp trung ch yu vo bc pht hin khun mt.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

5/88

1.1.2.3 Cc ng dng ca nhn din khun mt. Bi ton nhn din mt ngi c th p dng rng ri trong nhiu ng dng thc t khc nhau. chnh l l do m bi ton ny hp dn rt nhiu nhm nghin cu trong thi gian di. Cc ng dng lin quan n nhn dng mt ngi c th k nh: - H thng pht hin ti phm: Camera c t ti mt s im cng cng nh: siu th, nh sch, trm xe but, sn bay, v.v... Khi pht hin c s xut hin ca cc i tng l ti phm, h thng s gi thng ip v cho trung tm x l. V d nhn dng ngi A c phi l ti phm ang truy n hay khng? gip c quan an ninh thc hin tt chc nng ca mnh. Cng vic nhn dng c th trong mi trng bnh thng cng nh trong bng ti (s dng camera hng ngoi). - H thng theo di nhn s trong mt n v: Gim st gi ra vo ca tng nhn vin v chm cng. iu khin vo ra: vn phng, cng ty, tr s, my tnh, Palm, . Kt hp thm vn tay v mng mt. Cho php nhn vin c ra vo ni cn thit, hay mi ngi s ng nhp my tnh c nhn ca mnh m khng cn nh tn ng nhp cng nh mt khu m ch cn xc nh thng qua khun mt - Kim tra trng thi ngi li xe c ng gt, mt tp trung hay khng, v h tr thng bo khi cn thit. - Lu tr (rt tin ATM, bit ai rt tin vo thi im ). Cc ngn hng c nhu cu khi c giao dch tin s kim tra hay lu tr khun mt ngi rt tin sau i chng v x l. - H thng giao tip ngi my: Thay th vic tng tc gia ngi v my theo nhng cch truyn thng nh: bn phm, chut,v.v...Thay vo l s dng cc giao tip trc quan: biu cm khun mt, du hiu, c ch bng tay (Visual Input, Visual Interaction). - Tm kim v t chc d liu lin quan n con ngi thng qua khun mt ngi trn nhiu h c s d liu lu tr tht ln, nh internet, cc

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

6/88

hng truyn hnh, . V d tm cc on video c tng thng Bush pht biu, tm cc phim c din vin L Lin Kit ng, tm cc trn banh c cu th Ronaldo - An ninh sn bay, xut nhp cnh (hin nay c quan xut nhp cnh M p dng). Dng xc thc ngi xut nhp cnh v kim tra c phi l nhn vt khng b khng. - Cc th thng bo mt da trn thng tin trc sinh hc: Mt ngi, vn tay,v.v... thay v xc nhn mt khu, kha. 1.2 Cc kh khn trong bi ton nhn din khun mt y l mt bi ton kh nn nhng nghin cu hin ti vn cha t c kt qu mong mun. Chnh v th vn ny vn ang c nhiu nhm trn th gii quan tm nghin cu. Kh khn ca bi ton nhn din mt ngi c th k nh l t th, gc chp, s xut hin hoc thiu mt s thnh phn trn khun mt, s biu cm, s che khut, hng ca nh, iu kin nh[1] T th, gc chp nh chp khun mt c th thay i rt nhiu bi v gc chp gia Camera v khun mt. Chng hn nh: chp thng, chp xo bn tri 450 hay xo bn phi 450, chp t trn xung, chp t di ln, v.v...). Vi cc t th khc nhau, cc thnh phn trn khun mt nh mt, mi, ming c th b khut mt phn hoc thm ch khut ht.

a)

b)

a)

b)

Hnh 1.4 a) v b) :Cc t th, gc chp khc nhau.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

7/88

S xut hin hoc thiu mt s thnh phn ca khun mt Cc c trng nh: ru mp, ru hm, mt knh, v.v... c th xut hin hoc khng. Vn ny lm cho bi ton cng tr nn kh hn rt nhiu.

Hnh 1.5 : nh chp do ru che mt s phn khun mt. S biu cm ca khun mt Biu cm ca khun mt ngi c th lm nh hng ng k ln cc thng s ca khun mt. Chng hn, cng mt khun mt mt ngi, nhng c th s rt khc khi h ci hoc s hi,v.v...

a)

b)

Hnh 1.6 a) v b) : nh chp phc tp do biu cm.

S che khut nh khun mt c th b che khut bi cc i tng khc hoc cc khun mt khc.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

8/88

Hng ca nh Cc nh ca khun mt c th bin i rt nhiu vi cc gc quay khc nhau ca trc Camera. Chng hn chp vi trc my nh nghing lm cho khun mt b nghing so vi trc ca nh. iu kin ca nh nh c chp trong cc iu kin khc nhau v: chiu sng, v tnh cht Camera (my k thut s, my hng ngoi,v.v...) nh hng rt nhiu n cht lng nh khun mt.

Hnh 1.8 a) nh chp trong nh.

Hnh 1.8 b) nh chp ngoi tri.

1.3 Cc cng trnh nghin cu v hng tip cn lin quan n nhn din khun mt C rt nhiu hng tip cn trc y thc hin lin quan n vn pht hin mt ngi. Theo Ming-Hsuan Yang [2], c th phn loi thnh bn hng tip cn chnh: da trn tri thc (knowledge-based), c trng bt bin (feature invariant), i snh mu (template matching), v da vo din mo

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

9/88

(appearance-based) phng php ny thng dng mt m hnh my hc nn cn c gi l phng php da trn my hc (machine learning-based).

Cc phng php da trn tri thc: Hng tip cn ny ch yu da trn nhng lut c nh ngha trc v khun mt ngi. Nhng lut ny thng l cc mi quan h gia cc thnh phn trn khun mt. C mt s nghin cu t rt sm p dng phng php ny nh ca Kanade 1973
[3], [4], [ 5], [6]

G .Yang 1994

Kotropoulos 1997

Fan

phn on nh mu tm cnh thng qua thut ton tng vng xc nh cc ng vin.Dng c tnh hnh ellipse ca khun mt ngi xc nh ng vin no khun mt ngi, Sahbi v Boujemaa
[7]

s dng mng neural hc c

lng cc tham s cho m hnh Gauss, mc ch tm ng vin trn sc mu da ca ngi. Sau khi c ng vin, hai ng chiu ln hai trc: ng v ngang xc nh khun mt ngi. Hng tip cn da trn cc c trng bt bin: Hng tip cn ny c gng tm kim nhng c trng c lp nhng c trng khng ph thuc vo t th khun mt, iu kin chiu sng, v cc kh khn khc. Cc c trng nh th c gi l bt bin v c s dng pht hin khun mt. Nhng cng trnh s dng hng tip cn ny c th k nh: K. C. Yow v R. Cipolla 1997 [11], T. K. Leung 1995 [12]. Gn y c nhiu nghin cu s dng cc c trng ton cc nh: mu da ngi, kch thc, v hnh dng tm cc ng vin khun mt, ri sau s xc nh ng vin no l khun mt thng qua dng cc c trng cc b (chi tit) nh: mt, lng my, mi, ming, v tc[8], Kruppa
[9]

dng sc mu ca da

ngi tm ng vin, nhng ng khng x l cho tng im nh theo cch thng thng, m ng dng m hnh mu da ngi trn tng phn nh ri x l phn on trn . Sau khi c ng vin khun mt, ng dng mt s c tnh v hnh dng xc nh khun mt ngi, Park dng Gaze tm ng vin gc mt, ming v tm mt
[10].

ng xy dng thut ton SVM (Support Vector

Machine) c hc trc xc nh cc v tr ng vin c phi l gc mt, ming, v tm mt hay khng phn lp nh.
GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

10/88

Phng php i snh mu: Trong hng tip cn ny, mt mu khun mt chun c nh ngha bng tay trc hoc c tham s ha bng mt hm s. Mu ny c s dng pht hin khun mt bng cch qut n qua nh v tnh ton gi tr tng ng cho mi v tr. Vic xut hin mt khun mt ti mt v tr no trong nh ph thuc vo gi tr tng ng ca im so vi mu chun. I. Craw 1992 [15] p dng mt mu cng trong khi A. Lanitis 1995 bin dng trong bc pht hin khun mt. Phng php da trn my hc: Ngc vi phng php i snh mu s dng cc mu c cc chuyn gia nh ngha trc, phng php ny s dng nhng mu c rt trch qua mt qu trnh hc. Ni cch khc, cc thut ton da trn my hc dng cc k thut phn tch thng k v my hc xp x mt hm phn lp tuyn tnh. C nhiu m hnh my hc c p dng trong hng tip cn ny: Eigenface (M. Turk v A. Pentland 1991 Poggio 1998
[20]), [17]), [16]), [14]

s dng mt mu c th

M hnh da trn phn phi (K. K. Sung and T.


[1]),

Mng N-ron (H. Rowley 1998

Support Vector Machine

(E. Osuna et al 1997 [19].

cc m hnh tng cng (AdaBoost ca P. Viola)[18]

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

11/88

1.4 Thut ton s dng mng nron pht hin khun mt Mng nron c p dng kh thnh cng trong cc bi ton nhn dng mu. Xc nh khun mt ngi c th xem l bi ton nhn dng hai loi mu (mu l mt ngi v mu khng phi l mt ngi). Mt thun li khi dng mng nron xc nh khun mt l tnh kh thi ca h thng hc khi c s phc tp trong lp ca cc mu khun mt. Theo nh gi cc phng php dng mng nron xc nh khun mt ngi ca nhiu tc gi, th nghin cu ca Rowley [1] c xem l tt nht i vi nh xm. Mt mng a tng c dng hc cc mu khun mt v khng phi khun mt t cc nh tng ng . 1.4.1 Gii thiu Thut ton s dng mng nron[1] nhn dng mu khun mt ngi trong mt bc nh gm bn bc sau: 1. a vo mt nh nhn dng, nh c chp thng hoc nghing khng qu 10o , chp trong iu kin nh sng bnh thng. 2. Xc nh ca s (Window) c khun mt theo tng t l co nh gc, y cn gi l bc pht hin khun mt. 3. Tin x l ca s nh: chuyn ca s nh t mu sang en trng, cn bng sng, lm ni nh. 4. Ca s nh thu c sau giai on tin x l bc 3 s a vo mng nron c hun luyn xc nh y c phi l mu khun mt ngi hay khng. Thut ton c minh ha nh hnh 1.9.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

12/88

Hnh 1.9. S dng cu trc mng nron nhn to (Aftificial Neural Network) pht hin cc mu khun mt v khng phi khun mt. nh u vo nh c th c thu nhn bng my qut Scanner, Webcam, hoc cc thit b thu nhn nh thng dng khc. Pht hin khun mt - Dng mt ca s (Window) c kch thc 25x25 im nh qut ca s qua ton b nh gc. Vi mi khung hnh con c to bi ca s trn nh gc, a khung hnh qua mt mng nron c hun luyn tm

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

13/88

xem c mu khun mt trong ca s hay khng. - xc nh khun mt c kch thc ln hn 25x25 im nh, ta co nh gc theo nhiu t l khc nhau (bin thin t l ny do ngi xy dng quyt nh) ri dng ca s qut qua ton b cc t l nh ny tm tt c cc v tr tng i ca cc khun mt cc t l khc nhau ny. Tin x l nh Chuyn i khung hnh con trong ca s t nh mu thnh nh trng en (Grayscale). Sau thc hin cn bng nh sng (Linear BestFit Adjust) trnh nhng vng qu sng hay qu ti, lm tng tng phn (Histogram Equalization). Kt qu nh giai on ny trung thc vi nh gc, c chng thc bi mng nron chnh xc cao. Nhn dng nh bng mng nron xc nh vng nh trong ca s no c cha mu khun mt ngi, dng mt mng nron hun luyn nhn mt vng nh c kch thc 25x25 im nh v xut ra mt gi tr trong khong t -1 n 1. Khi a vo mt vng nh, nu kt qu gn -1 th ngha l vng nh ny khng cha mu khun mt ngi, nhng nu kt qu gn 1 th nhiu kh nng vng nh ny cha mu khun mt ngi. 1.4.2 u im Mt thun li khi dng mng nron xc nh khun mt l tnh kh thi ca h thng hc khi c s phc tp trong lp ca cc mu khun mt. Ngoi ra kh nng pht hin mt ngi ca mng nron l rt tt. Mt khc cc phng php ra quyt nh trong nhn dng truyn thng c ci t tnh trong chng trnh, khi mun b sung thm cc mu hc mi phi thit k li chng trnh. Trong khi vi mng nron, ch cn cung cp mt tp mu vo, ra ca d liu mi cho pha hun luyn m khng nh hng n cu trc chng trnh ban u. chnh xc cao nu c hun luyn tt.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

14/88

1.4.3 Khuyt im Tuy nhin, mt iu tr ngi l cc kin trc mng u tng qut, khi p dng th phi xc nh r rng s lng lp, s lng nron mi lp, t l hc, , cho tng trng hp c th. Chi ph hun luyn cc cao, d liu hun luyn ln. C th b nh hng bi nhiu, thng phi kt hp vi cc phng php c kt qu ti u. 1.5 Gii thiu mc ch v gii hn phm vi nghin cu ca kha lun 1.5.1 Mc ch ng dng nn tng mng nron nghin cu v ci t [ph lc] vo mt vo mt ng dng ln mang tnh thc t. Ci t thnh cng c s l thuyt pht hin khun mt da theo nghin cu [1]. p dng c mt s ci tin cho ng dng. L mt n lc tm hiu, ci t cc nghin cu, k thut mi trn th gii, cung cp nn tng, ti nguyn cho cc nghin cu su hn. 1.5.2 Gii hn phm vi nghin cu Trong kha lun ny, do gii hn thi gian, chng ti ch bn v nghin cu vic xc nh s xut hin v nh v khun mt nu c trong nh. Kha lun c nhng gii hn sau: Thut ton gii quyt cho nh n (cha x l cho nh Video). nh khun mt c chp thng hay gc nghing khng ng k (khng qu 100). nh c chp trong iu kin nh sng bnh thng (khng chp ngc sng), nh phi c chp bng my nh k thut s, webcam.
[8],[9],[10],[21],[22],[23]

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

15/88

nh khng b che khut, chng ln nhau, c cc biu cm c bit (1.2).

Chng 2. CC C S L THUYT V THUT TON P DNG VO PHT HIN KHUN MT NGI.

2.1 Hng tip cn ca kha lun Chng trnh x l nh c nhm chng ti tham kho t lun n tin s ca Herry Rowley[1] . Trong lun n ng trnh by chi tit v chng trnh pht hin khun mt trong nh s cng vi hng tip cn l dng mng neuron nhn to. Ba vn c nu ra x l trong qu trnh tm khun mt: Mt l nh khun mt c nhiu chi tit khc nhau, ph thuc vo ngun sng, t th, biu cm ca khun mt. Gii thut ch c th gii x l mt s c trng v buc phi b i nhng chi tit khng quan trng hoc khng th m hnh ha. Hai l mt hoc nhiu mng neuron c phn chia x l nhng khc bit ca khun mt. Ba l vic gom kt qu tr v ca tt c cc mng neuron tng hp ra mt kt qu duy nht v i tng. Vic x l nh trn rt phc tp. Chnh v vy kha lun ch s dng duy nht mt mng neuron x l pht hin khun mt. Cc kh khn trong qu trnh x l hnh nh : S khc bit ca khun mt ngay trong bc nh nh: vic quay, ko dn mt chiu, phng i, hay to mt hnh nh ca khun mt qua gng. Ngoi ra cn cc vn v s chiu sng, tng phn v din tch b che lp ca vng khun mt. S khc bit v t th ca khun mt trong nh: nh vic quay ngi, ci xung hay ang vn ng khi chp nh, vic chp nh khong cch xa s lm m nh.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

16/88

S khc bit v nh sng v b cc ca bc nh: khi chp nh trong cc mi trng c cng sng khc nhau s to ra nhng bc nh c cng sng ti khc nhau. Cng vi nn ca bc nh s gy nhiu nhiu hay t. Cui cng l hnh dng ca khun mt nh chp mt, m ming hay ni tm li l trng thi ca khun mt. Trong lun n cng a ra cch gii quyt cc vn trong tm kim khun mt nh phng php loi b nhiu nh sng (bng cch x l hnh nh trc khi a vo mng x l), tm nhng khun mt trong t th nghing (bng cch quay khung ca s nh ang xt theo nhng gc khc nhau hay s dng nhiu mng nron mi mng tm khun mt nhng t th ring ri sau tng hp cc gi tr ca cc mng li). Vi mc kha lun i hc chng ti ch i su vo tm hiu nhn din khun mt nhn thng v ci tin thut ton nhm tng tc ng dng. 2.2 Cc thut ton tin x l nh : nh mu c 3 thng s mu khc nhau cho cc gi tr mu RGB nu dng c 3 gi tr ny tnh ton th phi x l rt phc tp. Khng nhng th cc nhiu pht sinh do vic chp nh nh loi my nh,cc t th chp hnh, mu sc, cng nh sng chiu vo cc phn khun mt s to ra mu sc khc nhau trn khun mt. Chnh v vy m ta phi chuyn nh sang en trng sau cn bng sng cho khun mt ri cui cng l dn mu sc v tng tng phn. 2.2.1 Chuyn nh thnh trng en (Grayscale Converter) Chuyn nh mu thnh nh en trng. Ti sao chng ta li phi lm iu ? Bi v nh mu qu phc tp tin hnh x l trong khi chng ta ch cn mt nh en trng cng c th nhn din chnh xc mt khun mt. hiu c qu trnh chuyn t mt nh mu sang mt nh en trng ta cn phi bit s tng hp 3 mu (, xanh l, xanh m) trong cu trc mu

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

17/88

RGB. Cc Pixel trong nh mu c gi tr ca cc mu c bn nm trong khong t 0->255 (8 bit cho mt mu hoc l 24 bit cho 3 mu). S tng hp mu sc do thay i cc thng s khc nhau ca cc mu c bn s cho cc mu sc khc nhau. V d nh vi cc thng s : (255,0,0) cho mu . (0,255,0) cho mu xanh l. (0,0,255) cho mu xanh m. (0,0,0) cho mu en. (255,255,255) cho mu trng.

Theo cu trc nh vy ta c th nhn ra c l vi mt mu sc m ta tin hnh tng hay gim cng mt t l cho 3 mu cng mt lc th ta s nhn c cng mu sc nhng vi sng hay ti khc nhau. Hay ni tm gn li l thang mu sc t mu sng nht n mu ti nht (mu en). V d ta c mu trng c thng s ca 3 mu l (255, 255, 255), ta mun mt mu ti hn mt cht (mu trng xm) th thng s s gim i vi n v i vi tt c cc mu y ta chn (230, 230, 230) vi t l gim l 230 / 255. Vi t l gim cng cao th mu trng s chuyn thnh mu en. Vy vn t ra l lm sao chuyn t mu sc bt k sang thang mu en trng. gii quyt vn ny ta cn mt hm nh x cc mu sc bt k sang mu trong thang en trng tng ng. n gin nht l hm ny s ly cc thng s ca 3 mu c bn nhn vi cc thng s tng ng x,y,z vi iu kin x+y+z=1 ri tin hnh cng cc kt qu li. Ly kt qu lm thng s cho c 3 gi tr mu. Ta s c mu en trng tng ng. V d : Ta ly cc t l 0.32, 0.5, 0.18 ny nh x cc mu sang thang mu trng en v ta ly hai mu: tm (140, 120, 240), trng (255, 255, 255) nh x.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

18/88

Tng cc t l phi bng 1: 0.32 + 0.5 + 0.18=1. Nhm m

bo rng gi tr sau khi tnh ton phi thuc khong [0, 255]. Gi tr cng gn 0 th cng en, cng gn 255 th cng trng. Chuyn t mu tm sang trng en : 0.32*140 + 0.5*120 +

0.18*240=148. Vy ta c mu trng en l (148, 148, 148) t l gim so vi mu trng l : 148 / 255. Lm tng t vi mu trng ta c kt qu sau khi chuyn vn l (255, 255, 255). Vy mu trng vn l mu trng khng thay i sau khi chuyn. p dng tng t vi cc mu khc nhau. Ta c hm chuyn sang mu trng en : 1. To mt mng i tng cha gi tr ca pixel mu (bin

Color). Bin ny cha 3 thng s ca 3 mu c bn (Color (r, g, b )). S phn t trong mng bng vi s pixel ca bc nh. 2. Ti mi pixel thc hin chuyn sang thang mu en trng

nh c gii thiu phn trc (phn chuyn nh mu sang en trng 2.2.1). 3. Lm li bc 2 cho n khi duyt ht ton b cc Pixel

ca bc nh. Kt qu sau khi chuyn t nh mu sang nh trng en ta s thy c nh minh ha trong hnh 2.1. v hnh 2.2.

Hnh 2.1 nh gc

Hnh 2.2 nh en trng

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

19/88

M hm chuyn nh en trng :
Public Void GrayScale() {

//bin ly gi tr mu sc ca pixel trong nh mu Color col; //bin cha gi tr mu sc sau khi chuyn sang //trng en int gray; //Tnh ton v cp nht li ton b pixel. for (int l = 0; l<w; l++) for (int c = 0; c<h; c++) { if (mask[l][c] == 1) { col = img.GetPixel(l,c); gray = (int)(0.32f * col.R + 0.5f * col.G + 0.18f* col.B); img.SetPixel(l,c,Color.FromArgb( gray, gray, gray)); } } }

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

20/88

2.2.2 Cn bng nh sng Mc ch ca vic lm cn bng sng l lm gim bt nhiu do nh sng chiu vo khun mt khi chp nh. V khi chp nh cc t th, thi gian khc nhau s cho nh c cht lng khc nhau v chiu sng tng phn trn khun mt. Kt qu nh c cn bng nh sng ta s thy c nh minh ha trong hnh 2.3. v hnh 2.4.

Hnh 2.3. nh cha cn bng sng

Hnh 2.4. nh cn bng sng

M hm LinearBestFitAdjust()
Void LinearBestFitAdjust(Bitmap img)

{
//mng lu gi tr duyt theo dng. float[] ra = new float[w]; float[] rb = new float[w]; //Mng lu gi tr duyt theo ct. float[] ca = new float[h]; float[] cb = new float[h]; //Cc bin trong qu trnh x l. float sx, sy, sxy, sxx; //Bin lu tr s lng pixel c x l khi // duyt theo hng hoc ct. int n; //Bin cha gi tr ca pixel khi duyt theo // hng. float p; // Duyt theo dng : for(int l=0; l<w;l++) { n=0; sx = 0; sy = 0; sxy = 0; sxx = 0; for(int c=0; c<h;c++) { if (mask[l][c] == 1) { sx += c; sxx += c * c;
GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

21/88

p = img.GetPixel(l,c).R; sy += p; sxy += p*c; n++; } } ra[l] = (n*sxy - sx*sy)/(n*sxx - sx*sx); rb[l] = sy/n - ra[l] * sx/n; } //Duyt theo ct. for(int c=0; c<h;c++) { n=0; sx = 0; sy = 0; sxy = 0; sxx = 0; for(int l=0; l<w;l++) { if (mask[l][c] == 1) { sx += l; sxx += l * l; p = ra[l] * c + rb[l]; // c ou l ? sy += p; sxy += p*l; n++; } } ca[c] = (n*sxy - sx*sy)/(n*sxx - sx*sx); cb[c] = sy/n - ca[c] * sx/n; } // p dng ln nh. int g; for(int l=0; l<w;l++) for(int c=0; c<h;c++) { g = img.GetPixel(l,c).R; g = g - (int)(ca[c] * l + cb[c])+128; if (g<0) g = 0; if (g>255) g = 255; img.SetPixel(l,c,Color.FromArgb(g, g, g)); } }

V gii thut ny thuc nghin cu chuyn su v nh sng v hnh nh. Nn chng ti khng i su vo nghin cu chi tit m ch dng li mc tm hiu v s dng. Nu cn bit thm chi tit tham kho [1]. 2.2.3 Lm ni nh (Histogram Equalizer)

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

22/88

Bc chuyn nh mu sang nh en trng s to ra nhng mu sc ca nhng Pixel trong vng khun mt c cng sng khng cao v mu da ca khun mt v s nh x t mu da sang mu en trng. Chnh v vy m vng sng nht ca mu da cng ch l nhng gi tr b thua 255. khc phc iu ny sau khi cn bng sng ta tin hnh lm ni nh tng cng nh sng cho nhng vng c nh sng mnh. Nhng vng no c nh sng mnh nht s t c cng ti a (255) ngc li nhng im nh c cng nh nht s nhn gi tr nh nht (0) trong thang en trng. Cc bc lm ni nh : 1. Ta thy c tt c 255 mu sc khc nhau trong thang

mu trng en. Ta s cng tt c cc Pixel c cng cng mu sc. Ta lm nh vy i vi tt c cc Pixel c cng t nh nht (0) n cng ln nht (255). iu ny c ci t n gin l dng mng 255 phn t tng ng vi thang en trng. V gi tr ca mng chnh l s Pixel ging nhau. Vic x l tm kim v cng dn c thc hin qua hai vng for qut ton b Pixel ca bc nh. 2. Tip theo ta s tin hnh cng s Pixel ti cng mu

ang xt vi s Pixel c cng mu thp hn n mt n v. Lm nh vy i vi ton b cng mu (ton b phn t ca mng) . Gi gi tr va tm c l H[i]. W, H ln lt l chiu rng v chiu cao ca khung nh ang xt. Vy mu ca Pixel c gi tr l i s nhn c gi tr mi sau khi lm ni nh l i=(255*H[i]) / (W*H) Qua cng thc ny ta d dng thy rng i s nhn gi tr ln nht (255) khi [i]=(W*H) tc l i l ch s mu ln nht trong ton b khung hnh (lu l i c th b thua 255).Vy qu trnh ny thc cht l mt qu trnh cn i li mu sc cho mu sc nhn nhng gi tr tng ng ca n trn ton b thang mu en trng. ng thi cng l vic tng tng phn gia cc im nh.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

23/88

Kt qu lm ni nh ta s thy c minh ha trong hnh 2.5. v hnh 2.6.

Hnh 2.5. nh cha lm ni tng phn gia nhng vng sng v vng ti khng r rt.

Hnh 2.6. nh c lm ni tng phn gia cc im mu tng ln ng k.

//M hm HistogramEqualization() void HistogramEqualization() { //256 pixel c gi tr mu bng nhau. int[] H = new int[256]; //Khi to gi tr ban u. for (int i=0; i<256; i++) H[i] = 0; //Cng dn cc pixel c gi tr bng nhau ti //v tr c ch s bng gi tr pixel. for (int l = 0; l<w; l++) { for (int c = 0; c<h; c++) H[img.GetPixel(l,c).R]++; } //Dn gi tr mu ra ton thang [0,255] for (int i=1; i<256; i++) H[i] += H[i-1]; //Tng tng phn cho cc pixel. for (int i=0; i<256; i++) H[i] = (255 * H[i])/(w*h); //Cp nht li mu cho ton bc nh. int g;
GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

24/88

for (int l = 0; l<w; l++) for (int c = 0; c<h; c++) { g = img.GetPixel(l,c).R; g = H[g]; img.SetPixel(l,c,Color.FromArgb(g, g, g)); } }

2.3 Gii thiu khi nim ca s (Window) v mt n (Mask) tm c khun mt trong mt bc nh ln chng ta phi dng mt ca s di chuyn ton b khung hnh ln ly nhng pixel trong ca s tin hnh xc nh khun mt. ng thi loi b i nhng phn khng cn xt n trong ca s(thng l hnh nn ln vi khun mt cc gc) chng ta phi dng n mt n. Chi tit v ca s v mt n s c trnh by chi tit trong cc mc sau. 2.3.1 Ca s (Window) Trong qu trnh tm kim khun mt ta s dng ca s qut ton b khung hnh[1]. Ca s chim mt phn nh ca khung hnh (khong 25 x 25 Pixel). C kch thc gn bng vi kch thc khun mt nhm gim bt cc thng s phi tnh ton. Khung ca s ny s duyt t trn xung di v t tri qua phi. Mi ln duyt n s di chuyn mt khong cch no (WinGap =2) c qui nh trong mng nron. V lm nh vy cho n ht khung nh. Khung ca s ny s qut trn nh c chuyn sang trng en. Mi ca s s c cn bng sng sau l lm ni nh v cui cng s c chuyn cho mng nron xc nh khun mt.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

25/88

Kt qu xc nh ca s trong nh s c minh ha nh trong hnh 2.7 Rng 25 pixel Cao 25 pixel

di Window Hnh 2.7. nh v ca s (Window) trong nh s. 2.3.2 Mt n (Mask) Nh cp phn 1.4.3, mt yu im ca mng nron l d b nh hng bi nhiu. Do , t c kt qu tt, u vo ca mng cn c gim nhiu mt cch ti a c th. Qua quan st thc t, khun mt ngi nm gia ca s thng c dng hi trn bu, cc phn gc ca ca s thng l cc chi tit khng phi khun mt (nhiu) nh c o, tc, cnh nn ..v..v. Gii php l to mt Mt n nhm c ch a nhng im

gng loi b bt nhng im nh nhiu ny v

Hnh 2.8. Ca s trc khi p mt n.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

26/88

nh thuc khun mt vo mng x l[1]. Mt n c th c hin thc bng mt ma trn hai chiu kiu nh phn c kch thc bng vi kch thc ca ca s, gn gi tr 1 cho nhng phn t trong ma trn mt n ng vi nhng im nh cc gc ca ca s nh du cc im nh ny s khng c a vo mng nron, gn gi tr 0 cho nhng phn t cn li ng vi nhng im nh s c a vo mng. VD: Kho lun s dng ca s c kch thc 25x25 im nh nn ma trn mt n c kch thc 25x25 phn t. Kt qu p mt n ln ca s ta s thy nh minh ha trong hnh 2.9: 2.4

Hnh 2.9. Mt n v ca s sau khi p mt n. Cc im nh c v tr tng ng vi cc phn t c gi tr 1 (mu en) trn ma trn mt n s khng c a vo mng.

Cc bc trong qu trnh pht hin khun mt Sau khi thc hin chuyn nh sang en trng. Mt ca s nh s di chuyn ton b khung nh. Mi ln di chuyn ca s chng trnh s tin hnh cn bng sng, lm ni nh v a vo mng neuron kim tra khun mt. 2.4.1 To cc ca s (Window) t cc cng (Scale) ca nh Trong mng nron qui nh mc cng hnh nh nht v ln nht cng vi s ln tin hnh cng hnh. T cc thng s ny ta hon ton tnh ton c phng i mi ln cng hnh.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

27/88

V d : Min l t l cng hnh nh nht. Max l t l cng hnh ln nht. N l s ln thc hin cng hnh Vy mi ln hnh s c phng i thm mt t l: (Max-Min) / N. Kt qu to cc ca s (Window) t cc cng (Scale) ca nh c minh ha nh trong hnh 2.10. v hnh 2.11.

Hnh 2.10 : Ca s thu c vi t l Scale nh gc ln.

Hnh 2.11: Ca s thu c vi t l Scale nh gc nh.

Gii thch: Hnh 2.10 : Khung mu l khung ca s nh c kch thc l 25x25 Pixel v s chy (chy t trn xung v t tri qua phi) khp khung nh ln mi ln s dch chuyn mt khong vi Pixel. Trong hnh ny nh gc c kch c ln (200 x 219) nn ca s s khng bao trm c khun mt ( bao trm khun mt th ca s phi c kch thc 80 x 80). Chnh v vy m khun mt s c xc nh nhng ln thu nh nh.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

28/88

Hnh 2.11. nh c thu nh (bng 25/80 khung nh gc) nhng ca s vn gi nguyn kch thc. V vy khung ca s 25x25 bao trm khun mt. Lc ny chng trnh s d dng nhn din c y l khun mt. 2.4.2 Tin x l nh nh trong vng ca s nh nh hay l mt phn ca mt nh ln c cha trong mt ca s. nh ny l nh trng en c tin hnh cn bng sng v bc cui cng l lm ni nh. Kt qu cui cng s c a vo mng nron phn tch. 2.4.3 a cc im nh trong ca s khng b che bi mt n vo mng, a ra kt qu Nh cp phn mt n, mt n chnh l mt ma trn hai chiu nh du nhng v tr im nh nhiu cn b i trn ca s . Nhng im nh ny ch yu tp trung cc gc ca cc ca s. Mng s x l chnh xc hn khi loi b bt nhng im nh nhiu ny. Kt qu c minh ha nh trong hnh 2.12. v hnh 2.13.

Hnh 2.12 Ca s mt n.

Hnh 2.13 Ca s nh sau khi p mt n.

Gii thch: Hnh 2.12. Phn mu trng l phn khng b che bi mt n. Cn phn mu en l phn mt n che i nhng chi tit khng thuc khun mt. Hnh 2.13. Khun mt c mt n che i mt phn hnh nn mt.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

29/88

on m n gin sau c dng a gi tr cc im nh khng b mt n che vo vector u vo ca mng nron:


//mt n l mt ma trn nh phn 25x25: mask[25][25] //ca s l mt ma trn s nguyn cha gi tr cc im nh: window[25][25] //input[] l vector u vo ca mng nron for (int i = 0; i < 25; i++) for (int j = 0; j < 25; j++) // nu gi tr ca mt n ti i,j khng l 1 if (mask[i][j] != 1) //thm gi tr im nh ca ca s ti i,j vo vector u vo input.add(window[i][j])

2.5 M gi hm tm kim (Search) Sau khi c cc thng s v ca s ln (t l cng nh nht v ln nht, chiu rng, chiu cao ca bc nh) v thng s ca ca s nh (chiu rng, chiu cao) ta s tnh c s khung ca s nh cn duyt. Cng thc c dng tnh ton: n l s ln cng hnh, Ni l t l cng hnh ca ln cng hnh th i so vi nh gc.Vi i<=n. Min, Max ln lt l t l cng hnh nh nht v ln nht W , H l chiu rng v chiu cao ca khung nh ln. w, h l chiu rng v chiu cao ca khung nh nh. WG l khong cch dch chuyn khung nh nh. Vy tng s ca s S cn phi xt trong mt ln cng nh vi t l N l : S = ((W * N) w) * ((H * N) h) Thc hin tng t vi n ln cng nh v cng cc kt qu li vi nhau ta s c tng s ca s cn xt trong n ln cng nh. Trong : Nj+1 = Nj+((Max-Min)/n).

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

30/88

Cc ca s c cn bng sng v c lm ni nh mng nron d dng nhn bit. Khi thc hin chc nng tm kim hm tm kim s duyt ton b cc ca s. Nu gi tr tr v sau khi c a qua mng nron tnh ton vt qua mt ngng no (khong 0.92) th chng trnh s xc nh l khun mt v tin hnh lu gi li ta v phng i ca khung hnh nhm hin th li trn khung hnh chnh sau khi tm kim thnh cng. Tm li, cc bc dng xc nh khun mt l : 1. Chuyn nh ln sang nh trng en dng hm GrayScale() tham kho phn [2.2.3]. 2. Lu cc ca s cn duyt vo mt mng 1 chiu ca mt mng 1 chiu 2 phn t (ch lu ta ca nh c ta x,y nh nht).S lng ca s c tnh bng cng thc trn.Cc ca s qut ton b khung nh vi khong cch WinGap c quy nh bi ngi s dng. Ch l phi lu ton b ca s ca cc ln cng nh. 3. Tin x l ca s : Ti mi ca s c lu tr tin hnh cn bng sng dng hm LinearBestFitAdjust() tham kho phn [2.2.2], gim nhiu do nh sng chiu vi cc gc khc nhau trn tng phn ca khun mt,sau tin hnh lm ni nh tng tng phn v tri u mu sc ra ton thang en trng dng hm HistogramEqualization() tham kho phn [2.2.3]. 4. Duyt nh : a mt n vo nh v ch ly ra nhng pixel khng b che lp.a tt c nhng pixel vo mng nhp mt chiu(inps). Truyn mng mt chiu vo mng neuron tin hnh tnh ton dng hm Compute() tham kho phn ph lc. Sau khi tnh ton xong hm ny s tr v gi tri trong khong [-1,1]. Gi tr cng ln th kh nng ca s cha khun mt cng cao. Nu gi tr tr v vt mt ngng no c lu trong mng th s tin hnh lu li ta cng t l phng i hin ti v xc nh l khun mt.Sau quay tr li bc 3 v xt cho n ht nh c lu bc 2.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

31/88

Nhn xt: Ta nhn thy rng khi tm kim tun t tt c cc ca s trong khung hnh s lng ph ti nguyn.V chng trnh s tm kim khun mt c nhng ni m n pht hin ra khun mt ri. Chnh v vy ci tin thut ton chng ta cn loi b v tr tm ra khun mt. Nh vy s gim c mt s lng rt ln cc ca s v kt qu hon ton khng b trng lp.

Chng 3. THIT K MNG NRON, THU THP D LIU HUN LUYN V HUN LUYN MNG.

3.1 Thit k mng Mt mng nron c hun luyn hc (tng qut ho) c cc mu khun mt l phn quan trng nht trong qu trnh pht hin khun mt. Trong kho lun ny p dng m hnh mng nron truyn thng a lp (Multilayer Feedforward Network) da theo l thuyt c nu trong
[1].

Tuy

nhin, m hnh trn c n gin ho t kt hp nhiu mng nron song song tr thnh dng mt mng duy nht ph hp vi thi gian v quy m ca kho lun. Vic thit k mng khng c mt quy chun no cho s lng cc nron v cc lp n, hay ni cch khc ch c th xc nh mt cu trc mng ny tt hn cu trc mng khc qua thc nghim, bng cch kim tra mng trn nhng mu khun mt n khng c hc (cn c gi l kim tra cho)
[24]

(trang 112). Nn lu rng nu s lng lp n v nron qu t, mng s khng phc tp hc c cc mu khun mt [24] (trang 111). Ngc li, nu s nron v lp n qu nhiu s to ra chi ph tnh ton khng cn thit v mng c th hc c nhiu gy ra tnh trng qu khp hay hc vt y l tnh trng mng hc rt tt cc mu khun mt hun luyn nhng li khng nhn ra cc mu khng c hc [24] (trang 111). Do cc c tnh trn, kho lun dng phng php th sai (Error and Trial) tm ra cu trc mng tng i thch hp cho vic hc mu khun mt nh sau:

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

32/88

- u tin thit k mt lot khong 20 cu trc mng t n gin n phc tp gi l tp d tuyn. - Vi tng cu trc mng trong tp d tuyn ny, ta tin hnh hun luyn vi tp khun mt mu ( cp trong 3.2) v kim tra cho trn cc mu khun mt n cha c hc. - So snh chnh xc khi kim tra cho gia cc cu trc mng trong tp d tuyn, chn ra cu trc mng c chnh xc cao nht s dng. Vi cch ny c th khng chn c mt cu trc mng ti u cho vic m hnh ho cc mu khun mt, nhng cu trc mng thu c cng c kt qu tng i chp nhn c. Trong kho lun ny, mng c chn c cu trc nh sau: - Mng c thit k gm mt lp nhp (Input Layer) c 20 nron, mt lp n (Hidden Layer) c 50 nron v mt lp xut (Output Layer) c 1 nron c minh ha nh trong hnh 3.1:

20 Input (lp nhp)

50 Hidden (lp n)

1 Output (lp xut)

Hnh 3.1. Cu trc mng nron

- Ma trn trng s (Weight Matrix) (tc trng s ca cc lin kt gia nron lp nhp-lp n v lp n lp xut) ca mng s c khi to ngu nhin ( Randomize) trong khong [-1,1] [1].

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

33/88

- Ton b cc nron trong mng s dng hm truyn (Activation Function) l hm nn lng cc (Bipolar Sigmoid)[1]. Cng thc v th hm nh sau: Hm nn lng cc BipolarSigmoid:

f ( x) =

2 1 1 + exp(-alpha * x)

Khang tr v: [-1, 1] Hnh 3.2. Cng thc v th minh ho th minh ha hm hm nn lng cc (Bipolar Sigmoid) Nh trnh by trong Chng 2, a c ton b cc v tr trong nh gc vo mng nron, kho lun dng mt ca s nh nh (window) dch chuyn qut qua nh gc. Ti mi bc dch chuyn, ca s nh nh ny lu mt phn ca nh gc ti v tr ca n, c p dng cc thut ton tin x l gim phc tp v tng tng phn, cui cng c p mt mt n (mask) nhm che bt mt phn (b cc im nh) cc gc ca ca s gim thiu nhiu do cc gc ca ca s thng cha phn nn pha sau khun mt. Ca s nh x l v p mt n ny s c a vo mng nron nhn bit xem n c cha mu khun mt hay khng. Da vo l thuyt trn, vector u vo (Input Vector) ca lp nhp v vector u ra (Output Vector) ca lp xut s c thit k nh sau: - Vector u vo ca mi nron lp nhp s bng vi s im nh ca ca s (window) tr i s im nh ca mt n (Mask). Nh vy c 20 nron lp nhp ca mng s nhn cng mt vector u vo, thit k nh vy nhm tng kh nng m hnh ho ca mng i vi vector u vo kh phc tp ny
[24]

(trang 112).

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

34/88

V d: Nu s dng ca s c kch thc 25 x 25 im nh, ta c s im nh l 625 im. Sau p mt n c s im nh l 104 im, lc vector u vo ca mi nron lp nhp s c kch thc 625-104= 521 phn t , mi phn t cha gi tr ca mt im nh khng b loi b bi mt n.

Hnh 3.3. Minh ha Vector u vo.

- Vector u ra ca mng ch c 1 phn t s thc mang gi tr trong khong t [-1, 1]. Ta quy nh nu gi tr u ra ca mng cng gn -1 s th hin mu a vo cng khng phi l khun mt. Ngc li, u ra ca mng cng gn 1 s th hin mu a vo cng c th l khun mt. Nh vy 0 chnh l ngng phn bit gia u ra l khun mt v u ra khng l khun mt. 3.2 Thu thp d liu hun luyn v hun luyn mng. Trong phn ny kho lun s trnh by cc bc thu thp tp hun luyn hun luyn mng nron c thit k trn. Tip theo l cc bc hun luyn dng gii thut lan truyn ngc chun. 3.2.1 Thu thp d liu hun luyn

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

35/88

pht hin c mu khun mt ngi, mng nron thit k trn cn c hun luyn vi mt tp ln cc mu khun mt v khng phi khun mt. Vic hun luyn mng nron pht hin khun mt (Facial Detection) trong nh tng i kh khn hn so vi hun luyn mng nhn din cc khun mt khc nhau (Face Identify). l v nhim v ca mng khng phi phn bit gia mu khun mt ny vi mu khun mt kia m l phn bit gia mu khun mt v mu khng phi khun mt, trong khi cc mu khng phi khun mt th c s lng ln n v cng. c th c c nhanh chng mt tp cc mu khun mt hun luyn tng i chun, kho lun s dng tp d liu khun mt c ly t th vin nh th nghim ca i hc Caltech (California Institute of Technology), theo a ch:
http://www.vision.caltech.edu/htmlfiles/archive.html.

Tp ny gm

450 nh chp khun mt nhn thng ca khong 27 ngi trong cc iu kin phng nn, nh sng v biu cm khc nhau (vui, ci, ngc nhin v.v..). Tp nh c chia thnh hai phn, phn u khong 100 nh ngu nhin c dng hun luyn mng, phn sau 200 nh khng trng vi phn u c dng nh gi mng sau khi hun luyn.

To tp mu hun luyn ng: Chng ti ct th cng tng ca s cha khun mt trong tp 100 nh hun luyn. Sau tng ca s ny c co li theo ng kch thc 25x25 Pixel ca ca s u vo v c p dng cc thut ton tin x l nh.

Hnh 3.4. Tp mu hun luyn ng.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

36/88

To tp mu hun luyn sai: Do cc mu khng phi khun mt l v cng ln, chng ti ch ct ngu nhin khong 400 ca s khng cha khun mt v p dng cc thut ton tin x l a vo tp sai. Trong qu trnh hun luyn v th nghim mng, nhng mu ca s b mng pht hin sai tc tr v gi tr gn 1 cho ca s khng cha mu khun mt, s c thm vo tp ny cho ln hun luyn tip theo. y gi l qu trnh hc ch ng (Active learning) c cp trong [1] trang.32.

Hnh 3.5. Tp mu hun luyn sai.

3.2.2

Hun luyn mng

tng ca qu trnh hun luyn: - Cho mt ca s mu ng (c cha khun mt) c gi tr ch l 1. - X l, p mt n v a gi tr cc im nh khng b mt n che ca mu ny vo mng nron c ma trn trng s c khi to ngu nhin, mng s cho ra mt kt qu ngu nhin thng khng gn vi gi tr ch ca mu l 1. - Tnh li bng cch ly gi tr ch ca mu tr i kt qu ca mng. Lan truyn ngc li ny li ton mng chnh sa ma trn trng s sao cho khi a vo mng mu ng, mng phi cho ra mt kt qu gn 1. - Tng t i vi mu sai c gi tr ch l -1. - Hon thnh qu trnh hun luyn khi a vo mng mt mu hun luyn ng, mng cho ra kt qu rt gn 1 v khi a vo mt mu sai mng cho ra kt qu rt gn -1. Hay ni cch khc sai s gia kt qu u ra ca mng v gi tr ch ca mu hun luyn l rt nh ( thng l nh hn mt ngng c nh ngha trc).

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

37/88

Vi tng hun luyn nh trn, kho lun dng 2 tp mu hun luyn ng v sai hun luyn mng nron bng gii thut lan truyn ngc chun (Back Propagation). Cc bc hun luyn nh sau: 1. Trn hai tp mu ng v mu sai theo th t ngu nhin

thnh mt tp chung gi l tp hun luyn. 2. Vi mi mu hun luyn ng trong tp hun luyn, gn

cho n mt gi tr ch (Target Value) l 1. Vi mi mu sai, gn gi tr ch l -1. 3. Ln lt p mt n cho tng mu trong tp hun luyn

ri a mu vo mng nron tnh gi tr u ra (Output Value). 4. Ly gi tr ch ca mu tr cho gi tr u ra do mng

nron tnh ton tm ra gi tr sai s (Error). 5. Lan truyn ngc sai s ny li ln lt tng lp trong

mng nron tnh ton sai s cho tng nron trong mng. 6. T sai s c c sau qu trnh lan truyn ngc, ta tnh

ton gi tr thay i vector trng s ca tng nron sao cho li l ti thiu. 7. Quay li thc hin bc 3 cho n khi no gi tr li bnh

phng (Mean Square Error) ca mng gim n mt mc cho php nh ngha trc hoc s vng hun luyn (Epoch) tng n mc nh ngha trc.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

38/88

Gii thch hnh 3.6:

{b} {b} {a}

{c}

{d}

Hnh 3.6. Minh ho qu trnh hun luyn.

{a}: Ca s mu hun luyn. {b}: Gi tr ch ca ca s mu. {c}: Gi tr u ra do mng tnh ton. {d}: Sai s ca mng, s c lan truyn ngc li mng. Mt s thng s ng ch trong qu trnh hun luyn: - Vng lp hun luyn (Epoch): l s ln thut ton hun luyn duyt qua ton b cc mu hun luyn c trong tp mu hun luyn. - Vng lp hun luyn ti a (Max Epoch): l s vng lp ti a c nh ngha trc m thut ton hun luyn s chy trc khi dng li cho d li bnh phng ca mng c gim xung mc cho php hay khng (nhm trnh trng hp vng hun luyn chy mi khi hun luyn khng t hiu qu mong mun). - Li bnh phng (Mean Square Error): l mt ch s c tnh nh sau: E=1/2 * (error)2. Ch s ny c tc dng th hin mc chnh xc ca mng ang c hun luyn i vi tp hun luyn hin ti. - Li bnh phng cho php: l mt ch s c nh ngha trc c tc dng dng qu trnh hun luyn khi mng t c mt chnh xc no trn tp hun luyn. i vi qu trnh hun luyn mng nron trn, chng ti nh ngha ch s ny mc 0.001. - Sau qu trnh hun luyn, mng c th c dng nhn bit mt ca s c cha mu khun mt hay khng.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

39/88

3.2.3

Mt v d c th qu trnh hun luyn:

Ta ly mt mu ca s ngu nghin trong tp hun luyn minh ha cho qu trnh hun luyn mng. - Mu ca s 25x25 sau khi a ra khi tp hun luyn c p mt n c 104 im nh, vy ca s sau khi p mt n cn li 521 im nh. - V y l mt mu khng phi khun mt (mu sai) nn c gi tr ch l -1.

-1

- a cc im nh khng b loi b bi mt n ca mu ca s trn vo mt vector 521 phn t: [163,54,26,79, 210,178..231,46,25,15,97] gi l

vector u vo ca mng nron. - a vector vo lp nhp ca mng nron, mng s tnh ton cho ra gi tr u ra, v nron lp xut dng hm truyn Bipolar Sigmod nn u ra c gi tr trong khong [-1,1], vi trng hp vector u vo c th trn gi tr u ra ca mng l 0.27. - Ly gi tr ch ca mu tr cho gi tr u ra ca mng ra c sai s ca mng: trong trng hp v d trn gi tr ch l -1, gi tr u ra l 0.27, ta c li ca mng l : -1-(0.27)=-1.27 - Gi tr li ny s c lan truyn ngc li tng lp ca mng nron tnh ton s thay i ma trn trng s (Minh ha trong phc lc C). - Ta li ly mu khc trong tp hun luyn v tip tc qu trnh trn vi ma trn trng s mi thay i ny.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

40/88

Chng 4. HIN THC, KT QU CHY TH, CC CI TIN V HNG PHT TRIN CA KHA LUN

4.1 Hin thc Kho lun c hin thc s dng ngn ng C# trn nn tng .Net. Hin thc gm hai phn: Phn li kin trc mng nron bao gm cu trc phn t x l, cc hm truyn, cu trc mng truyn thng v gii thut hc lan truyn ngc s c ci t hon ton hng i tng thun tin cho qu trnh nng cp ci tin v s dng. M ngun xin tham kho trong th mc: CD:\NEURON SOURCE CODE\NN_Base trong CD km theo kho lun. Phn Demo s dng v hun luyn i tng mng nron xy dng phn li pht hin khun mt. M ngun xin tham kho trong th mc: CD:\DEMO SOURCE CODE trong CD km theo kho lun.

4.1.1 Hin thc li kin trc mng nron Trong phn s trnh by chi tit cch hin thc hng i tng cc thnh phn c bn ca mng nron nhn to nh: nron, lp, mng, hm truyn.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

41/88

4.1.1.1 Phn t x l c bn nron: Gm 2 class:

Class tru tng Neuron, l class c bn cho mi nron k tha, ng gi cc thuc tnh v phng thc c bn thng dng nh mng trng s ca nron, mng ng vo (input) v ng xut (output), phng thc to s ngu nhin cho mng trng s (randomize). Class ActivationNeuron k tha lp tru tng Neuron, y chnh l mt phn t x l c bn cho mng nron truyn thng. Ngoi cc thuc tnh c bn k tha t class tru tng Neuron, c 2 thuc tnh mi l Hm pht ng (ActivatonFunction) lu hm pht ng ca nron v Ngng (Threshold) lu gi tr ngng. Phng thc tnh ng ra ca nron (Compute) s tnh tng ton b cc (trng s * ng vo) + Ngng ri truyn gi tr ny vo Hm pht ng (s c gn cho nron lc khi to) c gi tr ng ra, m gi:
double Compute (double [] input) { double sum=0; //khi to bin tng for (i=0; i< input.count; i++) sum+=weight[i]*input[i]; // trng s * ng vo sum+=threshold; return (ActivationFunction(sum));//tr v output }

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

42/88

4.1.1.2 Cc hm truyn:

Nh gii thiu trong phn l thuyt (ph lc B), chng ti ci t 3 hm truyn: Hm nc (Threshold), hm nn n cc (Sigmoid) v hm nn lng cc (BipolarSigmoid). Giao din IActivationFunction c 3 hm: Function, Derivative v Derivative2 cho cc class hm truyn k tha. Trong Function s c ci t c th cho cc hm truyn theo cc cng thc (3), (4), (5) trong phn l thuyt (ph lc B), Derivative v Derivative2 ln lt l o hm cp 1 v cp 2 ca cc hm truyn ny. Ring 2 class Sigmoid v BipolarSigmoid, khi khi to class ta truyn vo h s gc Alpha.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

43/88

4.1.1.3 Cu trc lp v mng:

Cu trc lp nron th hin qua class tru tng Layer cha mng cc ng vo (InputsCount), mng cc Nron trong lp v ng ra ca lp (Output). Cc phng thc gm c Compute() gi li phng thc Compute() ca tng Nron vi tham s ng vo l Input ca lp, Randomize() gi li phng thc Randomize() ca tng Nron khi to trng s ngu nhin. Class ActivationLayer k tha t class Layer, th hin mt lp trong mng nron truyn thng. Tng t, cu trc mng nron th hin qua class tru tng Network. Class tru tng ny cha mng cc ng vo ca mng, mng cc Lp trong mng v ng ra ca mng. Phng thc Compute() ca mng li gi li phng thc Compute() ca tng Lp thnh vin tnh gi tr ng ra Output ca mng. Class ActivationNetwork k tha class Network v chnh l mt mng nron truyn thng.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

44/88

4.1.1.4 Gii thut hc lan truyn ngc (Backpropagation):

Interface ISupervisedLearning to mt giao din chung cho tt c cc gii thut hc c gim st vi hai phng thc Run v RunEpoch. Class BackPropagationLearning ci t Interface ISupervisedLearning. Bao gm: Cc thuc tnh: LearningRate: tc hc, cng nh mng hc cng chm nhng mn hn v n nh hn. Momentum: bc , gip mng mau hi t v trnh nhng im cc tiu cc b. Nu bc bng 1, ln thay i trng s sau hon ton bng ln thay i trng s trc bt chp kt qu sai s mi ca mng. Network: mng ang c hun luyn. NeuronErrors: ma trn sai s ca mng. ThresholdUpdates v WeightUpdates l cc ma trn thay i trng s ca mng.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

45/88

V cc phng thc: CalculateError: Tr v sai s ca mng. CalculateUpdates: Tnh gi tr delta cp nht trng s cho mng. UpdateNetwork: Cp nht trng s cho ton mng.

Run: chy mt vng lp hc, ly vo tham s l mt vector nhp v mt vector xut mu tng ng. Tin hnh gi cc phng thc Compute() ca mng ly Output thc, chy phng thc CalculateError() tr v sai s ca mng ri chy phng thc CalculateUpdates() tnh gi tr delta cp nht trng s cho mng, cui cng chy UpdateNetwork() cp nht trng s cho ton mng.Phng thc tr v sai s bnh phng chia 2 ca ng ra mng so vi vector xut mu. RunEpoch: chy vng lp hc qua ton b cc vector nhp v cc vector xut mu trong tp huyn luyn bng cch vi mi vector nhp gi phng thc Run() v truyn vo vector nhp v vector xut mu tng ng. Phng thc tr v tng sai s bnh phng chia 2 ca cc ng ra mng so vi tt c cc vector xut mu.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

46/88

4.1.2 Hin thc Demo pht hin khun mt Phn hin thc Demo s gii thiu cc hm quan trng trong qu trnh pht hin khun mt: Cc hm x l, pht hin: l cc hm tin x l nh gc v hm dch chuyn ca s a vo mng tm khun mt. Cc hm hun luyn: dng trong hun luyn mng v lu mng hun luyn. 4.1.2.1 Cc hm x l, pht hin: Theo quy trnh x l, nh gc u tin s c chuyn thnh trng en s dng hm GrayscaleConverter(). Gii thch v m hm c nu trong phn 2.2.1 ca kho lun. Tip theo, hm search() s to mt tp nh vi co dn t ln ti nh t nh gc, dng mt ca s c kch thc 25x25 im nh qut qua ton b cc v tr trong tng nh ca tp nh ny, tin x l ri p mt n a cc gi tr im nh khng b mt n che vo mng nron x l cho ra kt qu ca s c cha khun mt hay khng. Cc hm tin x l gm hm LinearBestFitAdjust() cn bng sng ti v hm

HistogramEqualization() lm tng tng phn, gii thch v m cc hm ny cng c nu ln lt trong cc phn 2.2.2 v 2.2.3 ca kho lun. Cch xy dng v on m p mt n c nu trong phn 2.4.3 ca kho lun. Gii thch v cc bc ca hm tm kim search() c nu trong phn 2.5 ca kho lun. Sau y l m ca hm search():

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

47/88

/// /// /// /// ///

<summary> Hm tm kim ca s cha mu khun mt trong nh ln </summary> <param name="pmimg">i tng nh a vo</param> <returns>Tr v danh sch nhng ca s cha khun mt</returns>

public ArrayList search(PMImage pmimg) { //Mng u vo ca mng, c kch thc bng kch thc mng nhng //v tr khng b mt n che trong ca s 25x25 im nh. float[] ins = new float[key_points.Count]; KeyPoint p; float s; Bitmap img; ArrayList result = new ArrayList(); pmimg.setClipSize(win_W,win_H,Mask); int done, found, remaining; done = 0; found = 0; remaining = 0; //Tnh ton tng s ca s cn kim tra for (float scale = Min_Scale; scale <= Max_Scale; scale += (Max_Scale-Min_Scale)/((float)Nb_Scale)) { pmimg.Scale = scale; for (int i = 0; i<pmimg.MaxOriginX-Windows_Gap+1; i+=Windows_Gap) for (int j = 0; j<pmimg.MaxOriginY-Windows_Gap+1; j+=Windows_Gap) remaining++; } //Bt u qu trnh tm kim //Vng lp to tp nh co dn v duyt tp ny for (float scale = Min_Scale; scale <= Max_Scale; scale += (Max_Scale-Min_Scale)/((float)Nb_Scale)) { pmimg.Scale = scale; //vi mi nh co dn, dng 2 vng lp lng nhau //dch chuyn ca s 25x25 i khp nh, mi ln dch chun //mt khong l window_gap = 2 im nh for (int i = 0; i<pmimg.MaxOriginX-Windows_Gap+1; i+=Windows_Gap) { for (int j = 0; j<pmimg.MaxOriginY-Windows_Gap+1; j+=Windows_Gap) { done++; remaining--; //vi mi ln dch chuyn //ct phn nh nh to bi ca s //p dng cc thut ton tin x l img = pmimg.getClipedImage(i,j); //a gi tr mu ca nhng im nh khng b //mt n che vo mng u vo ins[]ca mng for (int ip=0; ip<key_points.Count; ip++) { p = (KeyPoint)key_points[ip]; ins[ip] = img.GetPixel(p.X, p.Y).R; } GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

48/88

//a mng ins[] vo hm Compute() ca i tng //mng nron tnh ton gi tr u ra, //lu gi tr u ra vo bin s s = n.Compute(ins)[0]; //nu gi tr u ra ln hn ngng pht hin //thm ca s ang xt vo tp kt qu tm c. if (s > Detect_Threshold) { result.Add( new PatternMatch((Bitmap)img.Clone() ,s,i,j,scale) ); found++; } if (!Continue()) break; } if (!Continue()) break; } if (!Continue()) break; } return result;

4.1.2.2 Cc hm hun luyn: i tng mng nron c hun luyn theo quy trnh sau: u tin, thu thp d liu hun luyn gm tp cc ca s mu ng goods[] v tp cc ca s mu sai bads[] nh nu trong phn .. K n, trn hai tp ny thnh tp hun luyn - ins[][], to mt mng gi tr ch cha gi tr ng vi mi mu hun luyn (1 cho mu ng -1 cho mu sai) outs[][]. Cui cng, a 2 mng ny vo hm hun luyn Lan truyn ngc (back propagation) hun luyn i tng mng nron. Mng nron sau khi hun luyn xong c th c lu xung cng di dng file *.nnet Sau y l m hm hun luyn learn():

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

49/88

/// <summary> /// Hm hun luyn mng. Tm tt: /// u tin, khai bo 2 mng s thc u vo(ins) v u /// ra ch (outs) c di bng tng cc mu hc. /// Trn ngu nhin cc mu hc khp v khng khp.

/// Vi mi mu hun luyn trn, p dng mt n, /// a thng s mu ca nhng pixel khng b mt n che vo mng /// hun luyn. /// </summary> public void learn() { double[][] ins; double[][] outs; ins = new double[bads.Count + goods.Count][]; outs = new double[bads.Count + goods.Count][]; int nb = 0; KeyPoint p; // Trn ngu nhin ton b cc mu hc ArrayList org = new ArrayList(); ArrayList rand = new ArrayList(); Random r = new Random((int)System.DateTime.Now.Ticks); foreach (object o in goods) org.Add(o); foreach (object o in bads) org.Add(o); object ob; int index; while (org.Count > 0) { index = r.Next(org.Count); ob = org[index]; rand.Add(ob); org.RemoveAt(index); } // bt u x l Mt n v a tng mu vo mng u vo foreach (Bitmap b in rand) { ins[nb] = new double[key_points.Count]; outs[nb] = new double[1]; // mu ca tp ng ch =1, ngc li -1 outs[nb][0] = (goods.Contains(b)) ? 1 : -1; // a gi tr mu ca cc im nh khng b mt n che // vo tp ins[][] for (int i = 0; i < key_points.Count; i++) { p = (NN_XacDinhMau.KeyPoint)key_points[i]; ins[nb][i] = b.GetPixel(p.X, p.Y).R; } nb++; } // gi hm hun luyn hun luyn mng theo mng u vo v / / mng u ra BackPropagationLearning teacher; teacher=new BackPropagationLearning(n); teacher.LearningRate = this.learningRate;

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

50/88

teacher.Momentum = this.momentum; BipolarSigmoidFunction bsF; // gn li h s gc alpha cho ton b nron trong mng for (int i = 0; i < n.LayersCount; i++) { for (int j = 0; j < n[i].NeuronsCount; j++) { bsF = (BipolarSigmoidFunction)n[i][j].ActivationFunction; bsF.Alpha = this.sigmoidAlphaValue; } } // s vng hun luyn vi tp hun luyn epoch = 0; // tng li bnh phng ca vng hun luyn squareError=0f; do { // a ins v outs vo chy vng hun luyn squareError = teacher.RunEpoch(ins, outs); epoch++; LearnProgress(); if (!LearnContinue()) break; } // qu trnh hun luyn ch dng li khi s vng hun luyn t // ngng maxEpoch hoc tng li bnh phng gim xung di // ngng li maxSqareError while (epoch < maxEpoch && squareError > maxSquareError); }

Hm lu ton b class cha hm tm kim search(), hun luyn learn() v i tng mng nron xung cng theo dng nh phn:
public void save(string file) { IFormatter binFmt = new BinaryFormatter(); Stream s = File.Open(file, FileMode.Create); // ghi class hin ti xung file di dng nh phn binFmt.Serialize(s, this); s.Close(); }

4.2 Kt qu chy Demo Mi trng hot ng: - H iu hnh: Window Vista.

- Phn cng:
GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

51/88

CPU Core 2 Due 2GHz. B nh RAM 2GB.. Tt c cc hnh c kim tra vi thng s hay thay i ca mng nron v cu hnh my tnh dng chy th : Mng nron c hun luyn kim tra : nron _2_good Khong cch cc Window Ngng xc nh ng l khun mt T l scale nh nht T l scale ln nht S lng mu ng S lng mu sai : : : : : : 2 0.92 0.05 0.35 118 449

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

52/88

4.2.1 Kt qu chy Demo chng trnh khi cha ci tin Tc : Khi cha ci tin th thi gian chng trnh duyt xong mt bc nh s l mt hng s i vi nhng bc nh c cng kch c. Kim tra v chy th vi 100 hnh nh c cng kch c: 269 x 177 ta c trung bnh thi gian chy chng trnh khi duyt xong mt hnh khong 18.5 giy. Kt qu duyt 100 hnh: Tng s hnh kim tra: 100<=>100% Tng thi gian: 18.5 *100=1850s S hnh c tm ng khun mt: 68<=>68% Tng thi gian tm kim: 68*18.5=1258s S hnh b tm sai khun mt: 19<=>19% Tng thi gian tm kim: 19*18.5=351.5s S hnh khng tm c khun mt: 13<=>13% Tng thi gian tm kim: 13*18.5=240.5s chnh xc l : 68%. 4.2.2 Cc ci tin Ci tin bng cch loi b cc ca s c xc nh l c khun mt. Theo thut ton ny chng ta s s dng cc ta ca s c pht hin khun mt cng vi t l cng hnh m xc nh xem cc ca s ang xt c thuc phm vi khng. Nu thuc th c 2 cch gii quyt : Ca s ny s nhy qua khi vng cha khun mt xt tip. Tt nhin v tr s c xt xem c ph hp khng (khung nh nh vn thuc khung nh ln) ri mi thc hin nhy. Khi nhy qua ri chng trnh vn tip tc xt xem ti ta mi c thuc cc v tr khun mt khc hay khng.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

53/88

Chng trnh s kt thc vic x l nh vy cho n khi ht cc khun mt c lu tr.V chuyn ca s ph hp cho mng nron x l. Khung hnh vn tip tc di chuyn nh bnh thng nhng khng a vo mng nron m x l v xc nh khng phi l khun mt. Cho n khi xc nh c mt v tr hp l chng trnh s x l bnh thng. Chng trnh c ci t theo kiu ny. Ch khi ci t chng ta cn ch n mi khi phng i hnh. V nhng t l phng i khc nhau ta ca nhng khun mt c tm kim s khc nhau.V vy nhng ta ny s c x l bng cch nhn vi phng i ca hnh hin ti v hnh c lu tr. V d : Ti t l phng i scale_i ta xc nh c im A(x,y) l gc trn pha tri ca khung nh l khun mt. Vy ti phng i hin ti l scale_j th ta ca khun mt hin ti s l im: A(x*(scale_j / scale_i) , y*(scale_j / scale_i)) Gi W, H ln lt l chiu rng v cao ca ca s cha khun mt. Lc ny chiu rng (W) v chiu cao (H) mi ca khun mt s l : W=W*(scale_j / scale_i) H=H*(scale_j / scale_i) V cng thc ny p dng vi cc t l Scale trong sut qu trnh tm kim. Vy khi khung hnh ang xt c cc im thuc vo v tr c xc nh l khun mt th chng trnh khng xt khung na. Gi B(x1,y1) l ta ca nh ca khung hnh ang c kim tra trc khi a vo mng nron x l. Cng thc xc nh c s vi phm hay khng l :

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

54/88

x1 > x * (scale_j / scale_i ) -W v x1< (x+W) * (scale_j / scale_i) v y1> y * (scale_j / scale_i) y1<(y1+H) * (scale_j / scale_i) Nu tt c cc iu kin trn u tha th ca s cn xt vi phm. Sau khi chng trnh c ci tin ta nhn thy rng tc ca chng trnh tng rt nhanh sau khi tm kim c khun mt. c bit l trong trng hp nhng bc nh c nhiu khun mt c nhn din th tc cc k cao do c th b qua rt nhiu v tr khng phi xt n. Gi W, H ln lt l chiu rng v chiu cao ca ton bc nh. Gi w, h ln lt l chiu rng v chiu cao ca ca s. Ta thy s ca nh nht m chng trnh s khng phi xt n khi mt khun mt c nhn din l : 0 khi khung nh v tr cui cng ca khung nh (A(W - w, H-h)). Kt qu ny ng cho mt ln cng nh. Gi dpd l phng i gia t l cng nh hin ti (scale_i) v t l cng nh khi tm c khun mt (scale_j).V khong cch gia 2 ca l w_g Vy s khung nh ln nht c th b qua s l : Max=(w + w * dpd)(h + h * dpd) / w_g * w_g V y cng l s lng khung hnh trung bnh c b qua.ti v thng thng khun mt s gia bc nh hoc 2/3 khung nh. i vi gii thut ny th chnh xc khi thit lp cho mng nron phi cao (>92%) th mng s t b nhm khu vc khng phi khun mt. Nu khng chng trnh s nh du khu vc l khun mt nhng li loi b khu vc c khun mt tht s. v

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

55/88

Cc kt qu sau khi chy th chng trnh : Kt qu kim tra tc : Tng s lng nh kim tra Tng thi gian tm kim S nh tm c khun mt Tng thi gian : 100 <=>100% : 1126.74 : 79<=>79% : 736.23s

S nh khng tm c khun mt : 17<=>17% Tng thi gian S nh tm sai v tr khun mt Tng thi gian chnh xc l : 79%. So snh gia 2 chng trnh ci tin v khng ci tin: Chng trnh cha ci tin Tng s nh kim tra Thi gian tm kim Tng s nh c nhn din ng Thi gian tm kim Tng s nh b nhn din sai Thi gian tm kim 100 1850s 68 1258s 19 351.5s Chng trnh ci tin 100 1126.74s 79 736.23s 4 36.11s : 354.4s : 4<=>4% : 36.11s

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

56/88

Tng s nh khng nhn din c Thi gian tm kim

13 240.5s

17 354.4s

Ta thy khi s dng gii thut loi b khu vc pht hin khun mt th nhng hnh c pht hin ra khun mt s cho kt qu cui cng rt nhanh. K c pht hin ng ln pht hin sai. Cn khi khng pht hin c khun mt chng trnh s phi duyt tun t cc ca s cho n ht v vy thi gian cho vic tm kim nhng hnh ny l mt hng s. 4.3 Hng pht trin ca lun vn trong tng lai. Tng tc v ci tin gii thut, c nhiu phng php ci tin gii thut nh : i. Khoanh vng tm kim khun mt da trn vic xc nh cc

ta c mu sc ging vi mu da ca con ngi.Sau tp trung tm kim khu vc c nh du. Lee pht trin tng ny cho xc nh khun mt trong nh mu. ng dng m hnh mu da ngi bng Gauss xc nh cc ng vin, sau loi bt nhng ng vin no khng tha mn tnh cht hnh dng gn ging hnh ellipse. Cui cng ng dng mt mng neural c hun luyn xc nh khunmt ngi. T l xc nh chnh xc l 88.9%, cn t l xc nh sai l 11.1%.Ti liu c trch t bo co [1]. ii. Da trn c trng li lm ca khun mt. T mi xc

nh ta tm kim khun mt.V nh khun mt (trng, en) l mt tp hp cc im nh trong khng gian 3 chiu.Nhng ni c mu en nh l mt,l mi,khe ming s c ta thp v to ra nhng vng lm trn th.Cn nhng ni nh cao v nhn nhiu nh sng nh sng mi,g m th s c ta cao hn to nn cc vng li ra. iii. chng trnh c th tm c nhng khun mt nghing

chng ta c th quay cc khung ca s theo cc gc khc nhau tm kim.


GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

57/88

Hon thin thm 2 bc nhn dng: iv. Chng ta s dng kt qu ca chng trnh ny lm u

vo cho chng trnh xc nh khun mt. tng l chng ta s dng mt mng neuron khc c hun luyn vi mc ch l xc nh khun mt l ca ai trong c s d liu. v. Ngoi ra chng ta c th dng phng php rt trch nhng

nt c trng ca khun mt nh v tr,ta ca mt,mi, ming nhm xc nh l ai. To ra mt Framework c th d dng tch hp vo cc thit b in t v di ng: Chng ta c th chuyn m C# ca chng trnh qua cc ngn ng chy a nn nh Java tch hp ln cc thit b di ng.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

58/88

PH LC L THUYT MNG NRON NHN TO Ph lc A


Trnh by v tng sinh hc, m hnh mng nron nhn to v cc vn chung ca mng nh s dng mng, hun luyn mng v thu thp d liu hun luyn.

Ph lc B
Trnh by cu trc ton hc ca mt nron nhn to c bn, cu trc mng nron truyn thng a lp v cc thut ton ca gii thut hc lan truyn ngc.

Ph lc C
Minh ha qu trnh lan truyn tin mu hc v tnh kt qu tm sai s; qu trnh lan truyn ngc iu chnh tn hiu li v cp nht trng s ca mng.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

59/88

Ph lc A: GII THIU MNG NRON NHN TO

1. T tng mng nron sinh hc Mng Nron nhn to pht trin t nghin cu v tr tu nhn to; c bit c gng bt chc hot ng c bn v kh nng hc v chp nhn sai ca h thng nron sinh hc. B no con ngi gm mt s rt ln nron (khong 10.000.000.000 nron) kt ni vi nhau (trung bnh mi nron kt ni vi hng chc ngn nron khc). Mi nron l mt t bo c bit, c th truyn cc tn hiu in. Nron c cu trc r ng vo(cc si nhnh), r ng ra(si trc thn kinh) v thn t bo. Cc si thn kinh ca mt t bo kt ni vi cc t bo khc thng qua synapse (khp ni). Khi mt nron kch hot, no to ra xung in ha hc dc theo si thn kinh. Tn hiu ny i qua cc synapse n cc nron khc, v tip tc b kch hot. Nron hot ng ch khi tt c cc tn hiu nhn c thn t bo thng qua r ng vo vt qua mt mc no (ngng hot ng).

Hinh 0.1. M hnh cu trc 2 nron sinh hc Cng tn hiu thu c ca nron ph thuc vo nhy ca synapse. Ch c vic hc lm thay i cng kt ni synapse. V d nh theo th nghim c iu kin Pavlovian c in, g chung trc khi cho ch n ti, con ch nhanh chng hc c rng rung chung gn lin vi n. Kt ni synapse gia phn v no thnh gic v tuyn nc bt nhy hn, v th khi rung chung v no thnh gic b kch thch, con ch bt u tit nc bt.
GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

60/88

Do , t mt s rt ln cc n v x l rt n gin ny (mi n v thc hin tng trng s cc ng vo sau kch hot mt tn hiu nh phn nu tng ng vo vt qu ngng), b no iu khin hot ng nhng cng vic cc k phc tp. D nhin, s phc tp trong hot ng ca b no khng th m phng ht, nhng mt mng tr tu nhn to c th t c kt qu ng ch vi m hnh m phng hot ng b no mt cch n gin. 2. n mng nron nhn to Sut nhng nm 1960 1980 cc nh nghin cu v tr tu nhn to tm ra Expert Systems da trn m hnh cp cao v x l l lun ca b no. Mc d m hnh rt thnh cng trong mt vi lnh vc, nhng vn cha bt chc c tr tu con ngi. Do , ti to tr thng minh, chng ta cn phi xy dng nhng h thng c cu trc ging b no con ngi. Nron nhn to c nh ngha nh sau: Nron nhn to nhn mt s cc ng vo - input (t d liu

gc, hay t ng ra cc nron khc trong mng). Mi kt ni n ng vo c mt cng (hay trng s - weight), nhng trng s ny tng ng vi tc dng synapse trong nron sinh hc. Mi nron cng c mt gi tr ngng. Tn hiu c truyn qua hm kch hot (hay cn gi l hm

truyn - activation function) to gi tr ng ra output ca nron.


Gi tr ng vo Trng s X1 Wi1 X2 Xj Xn Wi2 Gi tr ngng

bi

Hm truyn tn tn Gi tr ng ra

.
Wij Win

f(fi)

yi

fi

Hinh 0.2. Cu trc 1 nron nhn to 1 phn t x l


GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

61/88

Xj : gi tr ng vo th j Wij: Trng s kt ni gia ng vo th j vi nron i


fi =

j=1

ij

+ bi

( fi gi l hm tng trng ha)

f( fi ): Hm truyn hay cn gi l hm tc ng yi=f(fi) : Ng ra ca nron th i Trn y m t cc nron n l. Trong thc t cc nron c kt ni vi nhau. Khi mng hot ng, chng phi c ng vo (mang gi tr hoc bin ca th gii thc) v ng ra (dng d bo hoc iu khin). Trong sinh hc, ng vo v ng ra tng ng vi cc nron gic quan v vn ng, nh tn hiu a vo mt v iu khin cnh tay. Tuy nhin cn c cc nron n ng vai tr n trong mng. Ng vo, nron n v ng ra cn c kt ni vi nhau. Mt mng n gin c cu trc tin: tn hiu i vo ng vo, qua cc nron n v cui cng n cc nron ng ra. Cu trc nh th chy n nh. Tuy nhin, nu mng c cu trc hi quy (cha cc kt ni ngc tr v cc nron trc ) mng c th chy khng n nh v dao ng rt phc tp. Mng hi quy rt c cc nh nghin cu quan tm, nhng cu trc tin chng minh rt hiu qu trong vic gii quyt cc vn thc t. Trong phm vi ca n ny, chng ti ch nghin cu v mng c cu trc tin. Mng nron c cu trc tin cho nh hnh di. Cc nron c sp xp theo cu trc lin kt lp ring bit. Lp ng vo khng phi l nron thc: cc nron ny hot ng n gin l gii thiu cc gi tr ca cc bin vo. Cc nron lp n v lp ng ra c kt ni vi tt c cc nron lp trc .

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

62/88

Hinh 0.3. Cu trc Mng Nron nhn to Khi mng hot ng, cc gi tr bin ng vo c t vo cc nron ng vo, v sau cc nron lp n v lp ng ra ln lt c kch hot. Mi nron tnh gi tr kch hot ca chng bng cch ly tng cc trng s ng ra ca cc nron lp trc , v tr cho ngng. Gi tr kch hot truyn qua hm tc ng to ra gi tr ng ra ca nron. Khi ton b mng hot ng, cc ng ra ca lp ng ra hot ng nh ng ra ca ton mng. 3. ng dng mng nron nhn to Mng nron lm vic t nhng ng vo khc nhau, a ra nhng ng ra khc nhau. Do c th s dng khi bit mt vi thng tin v s d on nhng thng tin cha bit. V d : Bi ton phn loi (Classcification): quyt nh mt gi tr

a vo thuc loi hay nhm no. Bi ton nhn dng mu (Pattern recognizion): nhn dng

cu trc trong cc d liu c th b nhiu. Bi ton d on (Prediction): nu bit gi c chng khon

ca tun trc v ch s FTSE, ta s d on c gi c chng khon ngy mai.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

63/88

Bi ton lc nhiu (Noise filtering): Nu ta a vo c trng

ca tn hiu thoi hay v tuyn, ta c th dng Mng nron lc cc tn hiu nhiu. iu kin quan trng trong vic s dng mng nron l phi bit mi lin h gia ng vo v ng ra bit trc. Mi quan h ny c th ko theo nhiu th nhng n nht nh phi tn ti. Tng qut, ta s dng mt mng nron khi ta khng bit chnh xc trng thi t nhin ca mi lin h gia ng vo v ng ra (nu ta bit mi lin h ta s lm m hnh trc tip khng cn n mng nron). s dng mng nron, ta phi cho n hc mi lin h gia ng vo v ng ra thng qua vic hun luyn. 4. Hun luyn mng nron C hai loi hun luyn s dng trong mng nron l hun luyn c gim st v khng gim st. Vi nhng loi mng khc nhau th s dng cc loi hun luyn khc nhau. Hun luyn c gim st s dng thng dng nht. Trong vic hc c gim st, ngi s dng mng phi c mt tp hp d liu cn hun luyn. Tp hp ny cha nhng ng vo mu vi ng ra tng ng v mng s hun luyn a ra mi lin h gia ng ra v ng vo. Tp hp d liu thng c ly t nhng bn ghi chp trc . Mng nron sau c hun luyn bng mt trong cc thut ton hc c gim st (v d backpropagation lan truyn ngc), s dng cc d liu iu chnh trng s v ngng ca mng sao cho cc tiu ha sai s trong vic d bo ca mng trn tp hun luyn. Nu mng c hun luyn chnh xc, ngha l n hc m phng mt hm cha bit vi mi lin h gia ng ra v ng vo, do vi cc tn hiu vo n sau, mng s d bo tn hiu ra tng ng. 5. Thu thp d liu hun luyn mng nron Mt khi ta quyt nh gii quyt mt vn s dng mng nron ta cn phi thu thp d liu cho mc tiu hun luyn. Tp hp d liu hun luyn bao
GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

64/88

gm mt s cc trng hp, mi trng hp cha nhng gi tr ca tm ng vo v ng ra khc nhau. Nhng vic u tin cn lm l: nhng bin no s dng, bao nhiu trng hp cn thu thp. S la chn cc bin do trc gic quyt nh. Kin thc chuyn mn ca ta trong lnh vc cn gii quyt s gip ta nhng tng v cc bin ng vo ph hp.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

65/88

Ph lc B: C S L THUYT CA MNG NRON NHN TO

Mt nron nhn to l mt n v tnh ton hay n v x l thng tin c s cho hot ng ca mt mng nron. Chng ta xc nh ba thnh phn c bn l cc phn t x l, kin trc mng v vic hun luyn mng. 1. Phn t x l Mt mng nron nhn to c kt ni bng nhiu thn nron, mi nron l mt phn t x l. Mi phn t x l ny c nhiu ng vo v mt ng ra. kt hp cc ng vo ca phn t x l th i ta dng mt hm tng hp fi c chc nng tng hp tt c thng tin t cc ngun bn ngoi hoc t nhiu phn t x l khc gi n v kt hp thnh ng ra ca mi phn t x l th i ta c mt hm tc ng hay cn gi l hm truyn. 1.1 Hm tng hp Nu xj l ng vo t mi trung bn ngoi, wij l trng s kt ni gia xj v phn t x l th i, bi l gi tr ngng ca phn t x l th i, th hm tng hp fi kt hp tt c cc thng tin t cc ng vo ca phn t x l th i c th c nh ngha mt trong cc dng sau: Hm tng hp tuyn tnh:

f i = wij x j + bi
j =1

(1)

Hm tng hp tuyn tnh bnh phng:

f i = wij x 2 j + bi
j =1

(2)

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

66/88

1.2 Hm tc ng (pht ng) Kt hp ng ra ca phn t x l th i l mt hm tc ng hay cn gi l hm truyn. Hm ny gii hn phm vi bin cho php ca tn hiu ng ra trong mt khong gi tr hu hn. H s hiu chnh bi c tc dng tng ln hay gim i ng vo thc ca hm tc ng ty theo n dng hay m. Cc hm tc ng phi c cc c tnh sau: Hm b chn trn v chn di Hm c tnh n iu Hm phi c tnh lin tc v trn

Cc loi hm tc ng thng dng: Hm Threshold hay cn gi l Hardlimit (hm nc):


1, nu x>=0 f(x) 0, nu x<0

(3) th nh sau:

Khang tr v: [0, 1]

Hm nn n cc sigmoid:
1 f(x) =

(4)

th nh sau:

(4)

1 + e -f

Khang tr v: [0, 1]

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

67/88

Hm nn lng cc BipolarSigmoid:
2 f(x) = -1 1 + e -f

th nh sau:

(5)

(5)

Khang tr v: [-1, 1]

- Hm Harlimit nh x bt k gi tr no t (-,+) vo tp c hai gi tr {0,1}, do vy n thch hp cho cc mng thc hin chc nng phn loi (multilayer perceptron-MLP). - Cc hm Sigmoid v BipolarSigmoid, cn c gi l cc hm nn, nh x bt k gi tr no t (-,+) vao cac khong [0,1] v [-1,1] tng ng. 2. Kin trc mng nron nhn to Thnh phn quan trng th hai ca mng nron nhn to l kin trc mng. Kin trc mng nron nhn to c th chia lm hai loi l mng truyn thng v mng truyn li. Mng truyn thng (feedforward network): l mng c

xy dng bng cch ng ra ca nron lp ng trc chnh l ng vo ca cc nron lp ng sau n. Mng truyn li (feedback network): l mng c xy dng

c cc ng ra c nh hng li v lm cc ng vo cho cc nron cng lp hoc lp ng trc n. Cc nron ca mng c phn b trn cc lp an xen nhau. Mi mng nron c mt lp nhp, khng c hoc c nhiu lp n v mt lp xut. S lng ng vo ca mt mng nron bng vi s bin c lp, s ng ra ca mng ty thuc vo bi ton v s xc nh s nron trong lp xut. Mng cng nhiu lp n cng nh cng nhiu nron trong mi lp n th mng cng c kh nng xp x cc hm phc tp. Trong phm vi ca n ny chng ti ch xt ti mng nron truyn thng.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

68/88

2.1 Mng truyn thng n mc


x1

y1

x2 Nhp xn

y2 Xut yn

Hinh 0.4. M hnh mng truyn thng n mc Hnh 2.2. Hnh2. 2.1. Hnh n mc tc l ch c mt mc, chnh l mc ng ra gm cc nt tnh ton (cc nron). y l dng mng n gin nht, hnh 4 gm c lp cc nron ng vo, lp cc nron ng ra v khng c lp nron n.

2.2 Mng truyn thng a mc Mng gm ba lp: lp nhp (input), cc lp n (hidden) v lp xut (output). Mi nt trong lp nhp nhn mt gi tr bin c lp v

chuyn vo mng. D liu t tt c cc nt trong lp nhp c tch hp (tng trng ha) v chuyn kt qu cho cc nt trong lp n. Lp th hai ca mng gm mt hay nhiu lp n, m cc

nt tnh ton ca chng c gi l cc nron n hay n v n. Thut ng n mang ngha khng tip xc vi mi trng bn ngoi. Cc nt trong lp ny ch lin lc vi cc nt trong lp nhp v xut. Cc nt trong lp xut cng nhn tn hiu tng trng ha

t cc nt n. Gi tr ca cc nt xut chnh l gi tr thc cn xc nh cho bi ton.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

69/88

Cc nt ngun cung cp cc tn hiu ng vo cho cc nron (cc nt tnh ton) trong mc th hai (mc n th nht). Cc tn hiu ng ra ca mc th hai c s dng nh cc ng vo cho mc th ba, v c nh vy cho phn cn li ca mng. Nh vy, cc nron trong mi mc ca mng c cc ng vo ca chng l cc tn hiu ng ra ca mc ng lin trc n. Mt nron c gi l kt ni y vi ngha l tt c cc nt trong mi mc ca mng c kt ni vi tt c cc nt trong mc tip sau. Mt s kt ni khng tn ti trong mng, chng ta ni rng l mng kt ni khng y . Hnh 2.2 cho ta thy rng m hnh ca mng truyn thng nhiu lp gm c cc nron ng vo, cc lp n v lp cc nron ng ra. Ng ra ca nron ng trc chnh l ng vo ca cc nron lp ng sau.

Hinh 0.5. M hnh mng truyn thng a mc.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

70/88

3. Hun luyn mng nron truyn thng:

Trong phm vi n ny chng ti ch nghin cu gii thut lan truyn ngc.

3.1 Gii thut lan truyn ngc Gii thut lan truyn ngc (back propagation algorithm) l mt trong cc gii thut quan trng lch s pht trin ca mng nron nhn to. Gii thut c s dng hun luyn cc mng truyn thng vi cc phn t x l trong mng c hm tc ng l hm phi tuyn. Mng truyn thng nhiu lp c kt hp vi gii thut lan truyn ngc cn c gi l mng lan truyn ngc (back propagation network). Nu cho tp cc mu hun luyn vo- ra (x(k), d(k)) vi k =1, 2, 3,, p, gii thut s cung cp mt th tc cho vic cp nht cc trng s kt ni trong mng lan truyn ngc t lp nron ng ra n cc lp nron ng vo. Gii thut vn hnh theo hai lung d liu: u tin d liu c truyn t lp nron ng vo n lp

ng ra v cho kt qu tht s y(k) ca lp nron ng ra. Sau , cc tn hiu sai lch gia ng ra mong mun v ng

ra tht s ca mng c truyn ngc t lp ng ra n cc lp ng trc cp nht cc trng s kt ni trong mng. bc iu chnh sai s: Gii thut Back propagation c s dng iu chnh cc trng s kt ni sao cho tng sai s E l nh nht.

E = d ( x j ) y( x j )
j =1

(6)

Trong : d(xj): Tp gi tr mu

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

71/88

y(xj) : Tp gi tr xut Trc tin, ta xt trn 1 nron v ta phi xc nh nron thuc mc no Nt n x1 wj1 x2 wj2 wj i-1 xi-1 xi Nron j Hnh 2.3. Hinh 0.6. M t mt nron j (lp n) v nron k (lp xut) Trong : xl(l=1m) : cc ng vo wkm : trng s kt ni gia ng vo th m vi nron k yk: ng ra tht s ca nron k dk : ng ra mong mun ca nron k wj i x1 y x2
j

Nt xut

wk1 wk2 yk wkm xm Nron k

dk

wkm-1

-Gi tr sai s ca nron k ti vng lp th n l: ek(n)=dk(n)-yk(n) -Tng bnh phng sai s ca mng nron:

(7) -Ti nron k vi m ng vo l cc tn hiu chc nng c to bi mc nron bn tri, ta c tng trng input ti vng lp th n l:

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

72/88

-Tn hiu chc nng yk(n) xut hin ti ng ra ca nron k vng lp th n l: yk(n)=f(vk(n)) -Hiu chnh wji ca trng s wji m ni nron i vi nron j c xc nh bng qui tc delta nh sau:

w ji ( n ) = j ( n ) y j ( n )

(8) ( vi l h s hc)

Tuy nhin ta phi xc nh nron thuc lp no (lp n hay lp xut). iu ny rt quan trng trong vic tnh ton cho tng h s hiu chnh trng s. -Nu nron k l nt xut th bng tch j(n) ca o hm f(vk(n)) vi tn hiu li ek(n): j(n) = f (vk(n)) ek(n) - Nu nron j l nt n th j(n) bng tch o hm vi tng cc

c nhn vi cc trng s tng ng mc tip theo m c nron j ni ti.

k =1

(n) wkj (n)

ca tt c cc nron thuc

j(n) = f (vk(n))

k =1

( n) wkj ( n)

1(n) f1(v1(n)) wj1 j(n) wj2 wjm 2(n) f2(v2(n)) m(n) fm(vm(n))

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

73/88

Hinh 0.7. th lung tn hiu khi tn hiu li phn hi tr li

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

74/88

K tip, y ta ch xt mt mng truyn thng ba lp tng qut l: lp nron ng vo, lp nron n v lp nron ng ra[25]. - Gi s lp nron ng vo ca mng c m ng vo l x1, x2, xj, xm; lp n c l phn t x l vi cc ng ra ca n l z1, z2,..zq,zl v lp nron ng ra ca mng c n phn t x l vi ng ra ca n l y1, y2,yi,yn . Ta cng gi s rng vqj l trng s kt ni gia ng ra th j ca lp nron ng vo vi phn t x l q ca lp nron n v wiq l trng s kt ni gia phn x l th q ca lp n vi phn t x l th i ca lp nron ng ra nh trong hnh 2.5. y1 x1 yi xj yn xm xj( j= 1,..,m) vqj Zq (q=1,..l)
Wiq

yi (i= 1,n)

Hinh 0.8. M t mng nron truyn thng gm mt lp nhp, mt lp n v mt lp xut - Cho cp mu hun luyn ( x,d ), hm tng hp cho mi phn t x l th q ca lp nron n l:

v ng ra ca n l: zq =f(uq)

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

75/88

- Hm tng hp cho mi phn t x l th i trong lp nron ng ra l:

ui= v ng ra ca n l:

w
q =1

iq q

yi =f (ui) - Tng bnh phng sai s ca mng nron:

- Trng s kt ni gia lp nron n v lp nron ng ra l: wiq =


qi zq

; vi

qi =

f (ui)ei

Trng s kt ni gia lp nron n v lp nron ng vo l:



hq xj ; vi l h s hc, hq

wqj =

= f (u )
q

i =1 qi

wiq

Tm li , khi gii quyt bi ton bng mng nron theo th tc truyn ngc c nhng vn rt ra l: - S c bao nhiu nron trong mng, bao nhiu ng vo, bao nhiu ng ra v bao nhiu lp n. Cng nhiu lp n bi ton tr nn phc tp nhng c th gii quyt c nhng vn ln. - Thut ton Back propagation cung cp mt phng php xp x cho vic tm trong khng gian trng s (nhm tm ra nhng trng s ph hp cho mng). Chng ta cng ly gi tr ca tham s hc cng nh bao nhiu th s thay i trng s cng nh by nhiu v qu o khng gian hc s cng trn. Tuy nhin iu ny li lm cho tc hc chm i. Tri li, nu chng ta chn tham s tc hc qu ln, s thay i ln ca cc trng s c th lm cho mng tr nn khng n nh. V mt tng, tt c cc nron trong mng nn chn cng mt tc hc, tham s hc nn gn mt gi tr nh. Cc nron vi nhiu ng vo nn chn mt tham s tc hc nh hn gi mt thi gian hc tng t cho nhau cho tt c cc nron trong mng.
GVHD: TS.GVC Phm Vn Chung SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

76/88

Ph Lc C : MINH HA GII THUT LAN TRUYN NGC TRONG HUN LUYN MNG NHIU LP

Cc hnh v di y minh ha qu trnh lan truyn ngc ca mng 3 lp : lp nhp, lp n v lp xut. Qu trnh hun luyn mng gm 2 pha : Lan truyn tin mu hc. Tnh kt qu tm sai s. Lan truyn ngc gm 2 bc : 1. Lan truyn ngc li cho ton mng. 2. Cp nht ma trn trng s ca mng. Pha 1 : Qu trnh lan truyn tin. Trong : - x1, x2 l d liu nhp. - f1(e), f2(e)...fn(e) l hm lan truyn tin ca nron th n. C cng thc l f(e)=2/(1+exp(-alpha*e)) -1 ( vi hm exp l hm ly tha c s e). - y l kt qu ca qu trnh tnh ton ca mng.

Mi mt noron s tnh tng ca tch cc trng s vi d liu nhp. Sau a gi tr ny vo hm truyn f v cho ra gi tr xut.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

77/88

V d:

Trong : e=x1*w1 + x2*w2 f(e)=2/(1+e-xp-alpha*e) - 1 yn=fn(e) p dng trn ton mng : Lp nhp :

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

78/88

Lp n :

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

79/88

Lp xut :

Kt thc lan truyn tin.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

80/88

Pha 2 : Qu trnh lan truyn ngc. Bc 1 : Tnh sai s cho cc noron ca tt c cc lp. Trong :

z l gi tr xut mong mun. y l kt qu tnh ton ca mng. l sai s. yn l gi tr xut ca noron th n trong qu trnh lan truyn tin. e l bin nhn gi tr xut ca noron tng ng. f(e)=alpha * (1 - f(e)2) / 2 (vi alpha l h s gc). Tnh o hm theo e v thay gi tr xut ca noron vo e( vi fn(e) ta thay e=yn).

Lan truyn sai s sang lp n:

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

81/88

Lan truyn ngc sai s sang lp nhp :

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

82/88

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

83/88

Bc 2: Cp nht sai s cho cc trng s : Trong : l tc hc.Nhn gi tr trong khong [0,1].Tc hc t l nghch vi chnh xc v t l thun vi thi gian hc. w(x1)1 l trng s ang xt. xn l gi tr nhp. df1(e)/de l o hm cp 1 ca f1(e). yn l gi tr xut ca noron ang xt. Cp nht trng s cho lp nhp :

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

84/88

Cp nht trng s cho lp n :

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

85/88

Cp nht trng s cho lp xut :

Kt thc qu trnh lan truyn ngc.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

86/88

DANH MC TI LIU THAM KHO


[1] Henry A. Rowley, Neural Network-Based Face Detection, May 1999, CMU-CS-99-117. [2] Ming-Hsuan Yang, David J. Kriegman, Narendra Ahuja, Detecting

Faces in Images: A Survey, IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI), Vol. 24, No 1, pp. 34-47, Jan 2002. [3] T. Kanade, Picture Processing Computer Complex and Recognition

of Human Faces, PhD thesis, Kyoto Univ., 1973. [4] G. Yang, T. S. Huang, Human Face Detection in Complex

Background, Pattern Recognition, Vol. 27, No. 1, pp. 53-63, 1994. [5] C. Kotropoulos, I. Pitas, Rule-based Face Detection in Frontal Proc. Intl Conf. Acoustics, Speech and Signal Processing, Vol.

Views,

4, pp. 2637-2540, 1997. [6] Jianping Fan, David K.Y. Yau, Ahmed K.Elmagarmid, an Walid G.

Arref, IEEE Transactionson Image Processing, vol. 10, no. 10, IEEE, 2001. [7] Hichem Sabbi and Nozha Boujemaa, Coarse to Fine Face Detection

Based on Skin Color Adaption, Biometric Authentication, LNCS 2359, pp. 112-120, Springer-Verlag Berlin Heidelberg, 2002. [8] Douglas Chai and Kim N. Ngan, Locating Facial Region of a Head-

and-Shoulders Color Image, Proc. Third Intl Conf. Automatic Face and Gesture Recognition, pp. 124-129, 1998. [9] Hannes Kruppa, Martin A. Bauer, and Bernt Schiele, Skin Patch

Detection in Real-World Images, DAGM 2002, LNCS 2449, pp. 109-116, Springer-Verlag Berlin Heidelberg, 2002. [10] Kang Ryoung Park, Gaze Detection System by Wide and Auto Pan/ Tilt Narrow View Camera, DAGM 2003, LNCS 2781, pp. 76-83, SpringerVerlag Berlin Heidelberg, 2003. [11] K. C. Yow, R. Cipolla, Feature-Based Human Face Detection, Image and Vision Computing, Vol. 15, No. 9, pp. 713-735, 1997.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

87/88

[13] T. K. Leung, M.C. Burl, P. Perona, Finding Faces in Cluttered Scenes Using Random Labeled Graph Matching, Proc. 5th IEEE Conf. Computer Vision (ICCV95), pp. 637-644, 1995. [14]. A. Lanitis, C. J. Taylor, T. F. Cootes, An Automatic Face Identification System Using Flexible Appearance Models, Image and Vision Computing, Vol.13, No. 5, pp. 393-401, 1995. [15]. I. Craw, D. Tock, A. Bennett, Finding Face Features, Proc. 2nd European Conf. Computer Vision (ECCV92), Vol. 2, pp. 92-96, 1992. [16] M. Turk, A. Pentland, Eigenfaces for Recognition, Journal of Cognitive Neuroscience, Vol. 3, No. 1, pp. 71-86, 1991. [17] E. Osuna, R. Freund, F. Girosi, Training Support Vector Machines: An Application to Face Detection, Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR97), pp. 130-136, 1997. [18] P. Viola, M. Jones, Robust Real Time Object Detection, Proc. IEEE ICCV Workshop on Statistical and Computational Theories of Vision, Jul 2001. [19]. P. Viola, M. Jones, Rapid object detection using a boosted cascade of simple features, Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR01), pp. 511-518, Dec 2001. [20] K. K. Sung, T. Poggio, Example-based learning for view-based human face detection, IEEE Transaction on Pattern Analysis and Machine Intelligence(PAMI), Vol. 20, No. 1, pp. 39-51, Jan 1998. [21] Ths.Trn L Hng V , Pht hin khun mt da trn t trng li lm, Lun vn Thc s, i hc quc gia TP. H Ch Minh, 2005. [22] Phm Th Bo, Nguyn Thnh Nht, Cao Minh Thnh , Trn Anh Tun, Nguyn Phc Dan, Tng quan cc phng php xc nh khun mt ngi. [23] Trn Phc Tr, Pht hin mt ngi bng AdaBoost kt hp mng nron.
[24] Ts.Nguyn nh Thc, Mng nron Phng php v ng dng,

Nh xut bn gio dc 2000.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

88/88

[25] Nguyn Thin Thnh, Tr Tu Nhn To, Nh xut bn i hc quc gia Thnh ph H Ch Minh 2001, Chng 7.

GVHD: TS.GVC Phm Vn Chung

SVTH : o Th Cm Hng, Trn Quc Hng, V Vn Tun

You might also like