You are on page 1of 41

HC VIN K THUT QUN S

KHOA CNG NGH THNG TIN ----------oOo----------

L QU A KHA: 8 H: K S TIN HC

BO CO

THC TP TT NGHIP
NGNH CNG NGH THNG TIN
M S: 01.01

TI: TM HIU K THUT V NG DNG OPENCV TRONG BI TON PHT HIN, THEO DI KHUN MT

Cn b hng dn: Ts. V Tt Thng

H Ni, 2013

Bo co thc tp tt nghipTrang |2

Li cm n
u tin, em xin c gi li cm n chn thnh n cc thy c trong khoa Cng ngh Thng tin v nh trng gip v gii thiu em n thc tp li Cng ty phn mm iSolar. hon thnh c kha thc tp ny, l s gip nhit tnh v ht sc to iu kin ca cc thy c v nh trng, gip em cng c c nhng kin thc cn thiu st cng nh cc k nng lm vic thc t, cch gii quyt vn ng thi, em cng xin gi li cm n n thy Nguyn Vit Hng gip em khng ch v mt kin thc, k nng lp trnh m cn l ngi truyn ng lc cho em, gip em hon thnh tt giai on thc tp tt nghip trong sut thi gian qua. Em xin gi li cm n su sc n Cng ty phn mm iSolar to mi iu kin thun li gip em cng nh cc sinh vin khc hon thnh tt giai on thc tp tt nghip ti y. ng thi em cng xin gi li cm n chn thnh ti TS. V Tt Thng v anh Nguyn Hong Anh nhng ngi nhit tnh gip em cng c kin thc cng nh gii p nhng khc mc cng nh cung cp cho chng em cc thit b cn thit v mt mi trng lm vic nng ng, l nhng ngun ng lc ln nht gip em c th c thm ng lc hon thnh tt kha thc tp ny cng nh cc nhim v c giao. Em xin cm n Nh Trng v c bit cc thy c trong khoa Cng ngh Thng tin, nhng ngi m hng ngy vn to iu kin gip chng em hc tp v bo ban chng em. Sinh vin thc hin L Qu a

Bo co thc tp tt nghipTrang |3

Contents
Li cm n .................................................................................................................................................... 2 M u .......................................................................................................................................................... 5 A. 1. 2. B. Gii thiu n v thc tp ..................................................................................................................... 6 a ch c quan thc tp.................................................................................................................... 6 Gii thiu v c quan thc tp .......................................................................................................... 6 Ni dung ................................................................................................................................................ 8 Gii thiu bi ton xc nh mt ngi trong nh ............................................................................. 8 nh ngha bi ton xc nh mt ngi ........................................................................................... 8 Nhng kh khn v thch thc i vi bi ton xc nh mt ngi................................................ 8 Cc ng dng ca xc nh mt ngi .............................................................................................. 9 Xc minh ti phm. ............................................................................................................................... 9 Camera chng trm. .............................................................................................................................. 9 Bo mt. ................................................................................................................................................ 9 Lu tr khun mt ................................................................................................................................. 9 Cc ng dng khc ................................................................................................................................ 9 Cc phng php chnh xc nh mt ngi .................................................................................. 10 5. Xc nh phm vi bo co ............................................................................................................... 11 Tng quan v Adaboost................................................................................................................... 12 1.1. 1.2. 1.3. 1.4. 1.5. 2. Tip cn Bootsting .................................................................................................................. 12 Adaboost.................................................................................................................................. 13 Cascade of Classifiers ............................................................................................................. 17 Cascade of boosting Classifiers ............................................................................................... 18 c trng Haar-Like ............................................................................................................... 19 Tng quan OpenCV ................................................................................................................ 22 Mt vi cu trc kiu d liu c bn OpenCV ........................................................................ 23 Chng 2. C s l thuyt .......................................................................................................................... 12 1.

Chng 1. Tng quan v phng php xc nh mt ngi ......................................................................... 8 1. 2. 3. 4.

S lc v OpenCV ........................................................................................................................ 22 2.1. 2.2.

Chng 3. Xy dng ng dng ................................................................................................................... 34 1. 2. Tng quan v h thng pht hin mt ngi trong nh ................................................................... 34 Phn tch .......................................................................................................................................... 34 2.1. 2.2. 2.3. 2.4. Thit k h thng ..................................................................................................................... 35 X l u vo: ......................................................................................................................... 35 Pht hin khun mt ................................................................................................................ 36 X l u ra. ............................................................................................................................ 36

Bo co thc tp tt nghipTrang |4 2.5. 2.6. Thit k c s d liu .............................................................................................................. 37 Thit k chng trnh .............................................................................................................. 38

Kt lun v hng pht trin ....................................................................................................................... 40 1. 2. Kt lun ........................................................................................................................................... 40 Hng pht trin ............................................................................................................................. 40 Ti liu tham kho............................................................................................................................. 41

Bo co thc tp tt nghipTrang |5

M u
Cng ngh thng tin ang c ng dng trong mi lnh vc ca cuc sng. Vi mt h thng my tnh, chng ta c th lm c rt nhiu vic, tit kin thi gian v cng sc. in hnh nh cng vic nhn dng mt ngi. Ngy xa, mun tm kim mt k tnh nghi trong siu th hay sn bay, cc nhn vin an ninh phi tm kim trn tng mn hnh camera theo di. Ngy nay, cng vic y c lm t ng nh cc h thng nhn dng mt ngi. Pht hin mt ngi trong nh l mt phn quan trng ca h thng nhn dng mt ngi , gii quyt tt vic pht hin mt ngi s gip tit kim thi gian v nng cao chnh xc ca vic nhn dng khun mt. Pht hin mt ngi cng l mt bi ton nhn dng n gin, h thng ch cn phn loi i tng a vo c phi mt ngi hay khng phi mt ngi. mc cao hn, sau khi pht hin c khun mt, cc khun mt s c so snh vi cc khun mt c trong d liu nhn dng xem khun mt y l ca ai (thng p dng trong nhn dng khun mt ca ngi ni ting hoc ca ti phm ang b truy n). Bi ton ph hin mt ngi c bt u nghin cu t nhng nm 1990s, v c rt nhiu cng trnh nghin cu v pht hin khun mt trong nh, tuy nhin cho n nay, cc nh khoa hc vn khng ngng tm cc hng tip cn mi, cc thut ton mi nhm nng cao hiu sut ca vic pht hin khun mt cng nh vic nhn dng mt ngi. Vi mc tiu chnh l tm hiu gii thut adaboost, cc c trng haar-like, m hnh Cascade of Classifiers, ng thi p dng vo bi ton pht hin mt ngi trong nh, kha lun c trnh by trong bn chng vi b cc nh sau: Chng 1: Tng quan v cc phng php xc nh mt ngi : Gii thiu tng quan v bi ton xc nh mt ngi trong nh, cc ng dng v nhng kh khn ca bi ton, ng thi xc nh phm vi ca ti. Chng 2: C s l thuyt : Gii thiu v cc c trng haar-like ca khun mt, cch tnh cc c trng haar-like. Tip theo l gii thiu v OpenCV. Chng 3: Xy dng ng dng : Xy dng mt chng trnh demo v pht hin mt ngi trong nh, theo di i tng t camera laptop. Nu ln cc phn tch thit k v chng trnh. Cui cng l kt lun v hng pht trin: Tm tt nhng kt qu t c, nhng hn ch v nu ln cc hng pht trin trong tng lai.

Bo co thc tp tt nghipTrang |6

A.

Gii thiu n v thc tp

1. a ch c quan thc tp
Cng ty TNHH gii php sng to v nghin cu tin tin Nht Thi Dng (iSolar). a ch: o Phng 307 Nh 2B, Vin khoa hc Vit Nam 18 Hong Quc Vit, Cu Giy, H Ni in thoi: 0437918026 o Khu cng ngh cao Ha Lc, H Ni, Vit Nam in thoi: 04 3791 8026 Email: info@isolar.vn Website: http://isolar.vn

2. Gii thiu v c quan thc tp


Cng ty phn mm Isolar hay cng ty TNHH gii php sng to v nghin cu tin tin Nht Thi Dng c thnh lp ngy 4 thng 5 nm 2011. L mt trong nhng cng ty lun i u v cc gii php cng ngh vi mc tiu p ng cc nhu cu ca cuc sng. Tng bc phn u tr thnh mt trong nhng doanh nghip hng u Vit Nam v tin dn ra Th gii.Cc lnh vc hot ng chnh ca Isolar: Speech Processing: Isolar nhiu nm lm vic trong lnh vc nhn dng, tng hp, nng cao cht lng ting ni, nghin cu trin khai h thng Speech translation, server TTS, h thng chuyn bo vit thnh bo ni Meeting: Cung cp cc gii php truyn thng a phng tin th h mi, vi chi ph thp, s hu chun nn hnh nh c quyn mi nht vi kh nng nn gp 4 ln chun khc v gim ti 10 ln bng thng. Education: i u trong vic xy dng cc gii php gio dc tin tin, trin khai nhiu d n tin hc nng cao cht lng o to. im hnh nh h thng hc my, h thng e learning, e contact, thi trc nghim trc tuyn v nhiu cc d n trng im khc. Security: Isolar cung cp cc gii php, ng cu v chng li cc mi e da bo mt ca cc doanh nghip.

Bo co thc tp tt nghipTrang |7

Bo co thc tp tt nghipTrang |8

B.

Ni dung

Chng 1. Tng quan v phng php xc nh mt ngi


1. Gii thiu bi ton xc nh mt ngi trong nh Trong nhiu nm qua, c rt nhiu cng trnh nghin cu v bi ton nhn dng mt ngi. Cc nghin cu i t bi ton n gin, t vic nhn dng mt mt ngi trong nh en trng cho n m rng cho nh mu v c nhiu mt ngi trong nh. n nay cc bi ton xc nh mt ngi m rng vi nhiu min nghin cu nh nhn dng khun mt, nh v khun mt, theo di mt ngi hay nhn dng cm xc mt ngi Pht hin mt ngi trong nh l phn u tin ca mt h thng nhn dng mt ngi. Cc h thng nhn dng khun mt c bt u xy dng t nhng nm 1970, tuy nhin do cn hn ch v cc lut xc nh mt ngi nn ch c p dng trong mt s ng dng nh nhn dng th cn cc. N ch c pht trin mnh m t nhng nm 1990 khi c nhng tin b trong cng ngh video v ngy nay th cc ng dng ca xc nh mt ngi tr nn ph bin trong cuc sng.

2. nh ngha bi ton xc nh mt ngi Xc nh khun mt ngi l mt k thut my tnh xc nh cc v tr v kch thc ca cc khun mt ngi trong cc nh bt k. K thut ny nhn bit cc c trng ca khun mt v b qua nhng th khc nh: ta nh, cy ci, c th

3. Nhng kh khn v thch thc i vi bi ton xc nh mt ngi Vic xc nh khun mt ngi c nhng kh khn nht nh nh: Hng (pose) ca khun mt i vi my nh, nh: nhn thng, nhn nghing hay nhn t trn xung. Cng trong mt nh c th c nhiu khun mt nhng t th khc nhau. S c mt ca cc chi tit khng phi l c trng ring ca khun mt ngi, nh: ru quai nn, mt knh, . Cc nt mt (facial expression) khc nhau trn khun mt, nh: vui, bun, ngc nhin, . Mt ngi b che khut bi cc i tng khc c trong nh.

Bo co thc tp tt nghipTrang |9

S biu cm ca khun mt : s biu cm c th lm thay i ng k cc c trng v thng s ca khun mt, v d nh khun mt ca cng mt ngi s rt khc khi ngi y ci, tc gin hay s hi 4. Cc ng dng ca xc nh mt ngi Xc nh mt ngi thng l mt phn ca mt h thng (facial recognition system). N thng c dng trong gim st video, giao tip ngi my v qun l c s d liu nh Cc ng c bn ca xc nh mt ngi c th k n l: Xc minh ti phm. Da vo nh ca mt ngi, nhn dng xem ngi y c phi l ti phm hay khng bng cch so sch vi cc nh ti phm ang c lu tr. Hoc c th s dng camera pht hin ti phm trong m ng. ng dng ny gip c quan an ninh qun l con ngi tt hn. Camera chng trm. Cc h thng camera s xc nh u l con ngi v theo di xem con ngi c lm g phm php khng, v d nh ly trm , xm nhp bt hp php vo mt khu vc no . Bo mt. Cc ng dng v bo mt rt a dng, mt trong s l cng ngh nhn dng mt ngi ca laptop, cng ngh ny cho php ch nhn ca my tnh ch cn ngi trc my l c th ng nhp c. s dng cng ngh ny, ngi dng phi s dng mt webcam chp nh khun mt ca mnh v cho my hc thuc cc c im ca khun mt gip cho qu trnh ng nhp sau ny. Lu tr khun mt Xc nh mt ngi c th c ng dng trong cc trm rt tin t ng (ATM) lu tr khun mt ca ngi rt tin. Hin nay c nhng ngi b ngi khc ly trm th ATM v m PIN, v b rt tin trm, hoc c nhng ch ti khon i rt tin nhng li bo vi ngn hng l b mt th v b rt tin trm. Nu lu tr c khun mt ca ngi rt tin, ngn hng c th i chng v x l d dng hn. Cc ng dng khc 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.

B o c o t h c t p t t n g h i p T r a n g | 10

An ninh sn bay, xut nhp cnh (hin nay c quan xut nhp cnh M p dng ). Dng camera quan st xc thc ngi nhp cnh v kim tra xem ngi y c phi l ti phm hay phn t khng b khng. 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 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 bng c Ronaldo , Kim tra trng thi ngi li xe c ng gt, mt tp trung hay khng, v h tr thng bo khi cn thit. Tng lai s pht trin cc loi th thng minh c tch hp sn c trng ca ngi dng trn , khi bt c ngi dng khc dng truy cp hay x l ti cc h thng s c yu cu kim tra cc c trng khun mt so vi th bit nay c phi l ch th hay khng. Hng my chp hnh Canon ng dng bi ton xc nh khun mt ngi vo my chp hnh th h mi cho kt qu hnh nh p hn, nht l khun mt ngi. Cc phng php chnh xc nh mt ngi Da vo tnh cht ca cc phng php xc nh mt ngi trn nh, cc phng php ny c chia thnh bn loi chnh, tng ng vi bn hng tip cn khc nhau. Ngoi ra cng c rt nhiu nghin cu m phng php xc nh mt ngi khng ch da vo mt hng m c lin quan n nhiu hng. Hng tip cn da trn tri thc: Da vo cc thut ton, m ha cc c trng v quan h gia cc c trng ca khun mt thnh cc lut. y l hng tip cn theo kiu top-down. Hng tip cn da trn c trng khng thay i: Xy dng cc thut ton tm cc c trng ca khun mt m cc c trng ny khng thay i khi t th khun mt hay v tr t camera thay i. Hng tip cn da trn so snh khp mu: Dng cc mu chun ca khun mt (cc mu ny c chn v lu tr) m t cc khun mt hay cc c trng ca khun mt (cc mu ny c chn tch bit theo tiu chun c cc tc gi ra so snh). Phng php ny c th dng xc nh v tr hay d tm khun mt trn nh. Hng tip cn da trn din mo: Tri ngc vi hng tip cn da trn khun mu, cc m hnh (hay cc mu) s c hc t mt tp nh hun luyn m th hin tnh cht tiu biu ca s xut hin ca mt ngi trong nh. Sau h

B o c o t h c t p t t n g h i p T r a n g | 11

thng (m hnh) s xc nh mt ngi. Phng php ny cn c bit n vi tn gi tip cn theo cc phng php hc my.

5. Xc nh phm vi bo co Trong ti ny, tc gi tp trung vo vic xc nh khun mt trong nh, video hoc webcam. T y lu khun mt tm c vo CSDL phc v cho cc mc ch khc ( chng hn nh nhn dng mt ngi hoc ghp khun mt vo bc nh khc ).

B o c o t h c t p t t n g h i p T r a n g | 12

Chng 2. C s l thuyt
1. Tng quan v Adaboost Hc theo adaboost l mt cch trong hng tip cn da trn din mo, Viola v Jones dng AdaBoost kt hp cascade xc nh khun mt ngi [17] vi cc c trng dng Haar wavelet-like. Tc x l kh nhanh v t l chnh xc hn 80% trn nh xm. Thut ton hc my Adaboost c pht trin thut ton boosting, do tc gi s trnh by mt cht v thut ton boosting trc khi trnh by v adaboost. 1.1. Tip cn Bootsting

V lch s, boosting bt ngun t cu hi ni ting c a ra bi Kearns vo nm 1989 : Liu c th to ra mt strong classifier t mt tp cc b phn loi yu?. Nm 1990, Robert Schapire a ra thut ton boosting u tin, tip n nm 1993 th n c Drucker, Schapire v Simard kim nghim trong trong cc chng trnh nhn dng ( OCR application ). Freund tip tc cc nghin cu ca Schaprire, v n nm 1995 th ng cng vi Schapire pht trin boosting thnh adaboost. Nh vy, nguyn l c bn ca boosting l s kt hp cc weak classifiers thnh mt strong classifier. Trong , weak classifier l cc b phn loi n gin ch cn c chnh xc trn 50%. Bng cch ny, chng ta ni b phn loi c boost. hiu cch hot ng ca thut ton boosting, ta xt mt bi ton phn loi 2 lp (mu cn nhn dng ch thuc mt trong hai lp) vi D l tp hun luyn gm c n mu. Trc tin, chng ta s chn ngu nhin ra n1 mu t tp D (n1<n) to tp D1. Sau , chng ta s xy dng weak classifier u tin C1 t tp D1. Tip theo, chng ta xy dng tp D2 hun luyn b phn loi C2. D2 s c xy dng sao cho mt na s mu ca n c phn loi ng bi C1 v na cn li b phn loi sai bi C1. Bng cch ny, D2 cha ng nhng thng tin b sung cho C1. By gi chng ta s xy hun luyn C2 t D2. Tip theo, chng ta s xy dng tp D3 t nhng mu khng c phn loi tt bi s kt hp gia C1 v C2: nhng mu cn li trong D m C1 v C2 cho kt qu khc nhau. Nh vy, D3 s gm nhng mu m C1 v C2 hot ng khng hiu qu. Sau cng, chng ta s hun luyn b phn loi C3 t D3. By gi chng ta c mt strong classifier: s kt hp C1, C2 v C3. Khi tin hnh nhn dng mt mu X, kt qu s c quyt nh bi s tha thun ca 3 b C1, C2 v C3: Nu c C1 v C2 u phn X vo cng mt lp th lp ny chnh l kt qu phn loi

B o c o t h c t p t t n g h i p T r a n g | 13

ca X; ngc li, nu C1 v C2 phn X vo 2 lp khc nhau, C3 s quyt nh X thuc v lp no

Hnh 1: Boosting 1.2. Adaboost

Nh bit, AdaBoost ( Adaptive Boost ) l mt b phn loi mnh phi tuyn phc da trn hng tip cn boosting c Freund v Schapire a ra vo nm 1995. Adaboost hot ng trn nguyn tc kt hp tuyn tnh cc weak classifier da trn cc c trng Haar- Line hnh thnh mt strong classifier. c th kt hp cc b phn loi yu, adaboost s dng mt trng s (weight) nh du cc mu kh nhn dng. Trong qu trnh hun luyn, c mi weak classifier c xy dng, thut ton s tin hnh cp nht li trng s chun b cho vic xy dng weak classifier tip theo: tng trng s ca cc mu b nhn dng sai v gim trng s ca cc mu c nhn dng ng bi weak classifier va xy dng. Bng cch ny, cc weak classifier sau c th tp trung vo cc mu m cc weak classifier trc cha thc hin tt. Sau cng cc weak classifier s c kt hp ty theo mc tt ca chng to nn mt strong classifier. Cc weak classifiers hk(x) l cc b phn loi yu, c biu din nh sau: { Trong :

B o c o t h c t p t t n g h i p T r a n g | 14

X : mu hay ca s con cn xt ( X = (x1,x2,,xn) l vector c trng ca mu) Ok: ngng (O = teta) fk: gi tr ca c trng Haar-like pk: h s quyt nh chiu ca bt phng trnh Cng thc trn c th din gii nh sau: Nu gi tr c trng ca mu cho bi hm nh gi ca b phn loi vt qua mt ngng cho trc th mu y l khun mt ( gi l object : i tng cn nhn dng ), ngc li th mu l background ( khng phi l i tng ). Thut ton AdaBoost:

B o c o t h c t p t t n g h i p T r a n g | 15

1. Cho mt tp gm n mu c nh du (x1,y1), (x2,y2), (xn,yn) vi xk (xk1, xk2, , xkm) l vector c trng v yk (-1, 1) l nhn ca mu (1 ng vi object, -1 ng vi background). 2. Khi to trng s ban u cho tt c cc mu: vi m l s mu ng (ng vi object v y = 1) v l l s mu sai (ng vi background v y = -1).

3. Xy dng T weak classifiers Lp t = 1, , T Vi mi c trng trong vector c trng, xy dng mt weak classifier hj vi ngng j v li j.

Chn ra hj vi j nh nht, ta c ht: Cp nht li trng s:

Trong :

: H s dng a 4. Strong classifier c xy dng :

v on [0,1] (normalization factor)

S khi:

B o c o t h c t p t t n g h i p T r a n g | 16

Tp cc mu Mu sai Mu ng

Tp cc mu v trng s

Bt u hun luyn

Khi to tp c trng ban u

Xc nh cc c trng trong tng mu, xy dng cc b phn loi yu tng ng Cp nht li trng s Tnh ton gi tr li cho mi c trng (false alarm) Xc nh ngng

c trng haar-like

Sai Kt thc, strong classifier uc xy dng

ng

False alarm max false alarm

Chn weak classifier c gi tr li b nht

Lu weak classifier c chn

Qu trnh hun luyn b phn loi c thc hin bng mt vng lp m mi bc lp, thut ton s chn ra weak classifier ht thc hin vic phn loi vi li t nh nht (do s l b phn loi tt nht) b sung vo strong classifier. Mi khi chn c 1 b phn loi ht, Adaboost s tnh gi tr t theo cng thc trn. t cng c chn trn nguyn tc lm gim thiu gi tr li t. H s t ni ln mc quan trng ca ht: Trong cng thc ca b phn loi H(x): ( )

Ta thy tt c cc b phn loi ht u c ng gp vo kt qu ca b phn loi H(x), v mc ng gp ca chng ph thuc vo gi tr t tng ng: ht vi t cng ln th n cng c vi tr quan trng trong H(x). Trong cng thc tnh t:

D thy gi tr t t l nghch vi t. Bi v ht c chn vi tiu ch t t nh nht, do n s m bo gi tr t ln nht.

B o c o t h c t p t t n g h i p T r a n g | 17

Sau khi tnh c gi tr t, Adaboost tin hnh cp nht li trng s ca cc mu: tng trng s cc mu m ht phn loi sai, gim trng s cc mu m ht phn loi ng. Bng cch ny, trng s ca mu phn nh c mc kh nhn dng ca mu v ht+1 s u tin hc cch phn loi nhng mu ny. Vng lp xy dng strong classifier s dng li sau T ln lp. Trong thc t ci t (th vin OpenCV ca Intel), ngi ta t s dng gi tr T v khng c cng thc no m bo tnh c gi tr T ti u cho qu trnh hun luyn. Thay vo , ngi ta s dng gi tr max false positive hay max false alarm (t l nhn dng sai ti a cc mu background). T l ny ca b phn loi cn xy dng khng c php vt qu gi tr ny. Khi , qua cc ln lp, false alarm ca strong classifier Ht(x) xy dng c (ti ln lp th t) s gim dn, v vng lp kt thc khi t l ny thp hn max false alarm. 1.3. Cascade of Classifiers

Ta thy qu trnh hun luyn, b phn loi phi duyt qua tt c cc c trng ca cc mu trong tp training. Vic ny tn rt nhiu thi gian. Tuy nhin, trong cc mu a vo, khng phi mu no cng thuc loi kh nhn dng, c nhng mu background rt d nhn ra (ta gi y l nhng mu background n gin). i vi nhng mu ny, ta ch cn xt mt hay vi c trng n gin l c th nhn din c ch khng cn xt tt c cc c trng. Nhng i vi cc b phn loi thng thng th cho d mu cn nhn dng l d hay kh th n vn s xt tt c cc c trng m n rt ra c trong qu trnh hc. Do , chng tn thi gian x l mt cch khng cn thit. Cascade of Classifiers c xy dng chnh l nhm rt ngn thi gian x l, gim thiu false alarm cho b phn loi. Cascade tree gm nhiu stage (hay cn gi l layer), mi stage ca cy s l mt stage classifier. Mt mu c phn loi l i tng th n cn phi i qua ht tt c cc stages ca cy. Cc stage classifiers stage sau c hun luyn bng nhng mu negative m stage classifier trc n nhn dng sai, tc l n s tp trung hc t cc mu background kh hn, do s kt hp cc stage classifiers ny li s gip b phn loi c false alarm thp. Vi cu trc ny, nhng mu background d nhn din s b loi ngay t nhng stages u tin, gip p ng tt nht i vi phc tp gia tng ca cc mu a vo, ng thi gip rt ngn thi gian x l. Thut ton Cascade training:

B o c o t h c t p t t n g h i p T r a n g | 18

1. Gi: F l gi tr false alarm v d l chnh xc ca weak classifier mi stage Ftarget: Gi tr max false alarm. P, N l s lng mu positive v negative. Pi, Ni l tp positive v negative cho b phn lp tng th i. Fi, Di: Gi tr false alarm v chnh xc ca cascade trc khi n tng th i. 2. Khi to i=0; F0=1.0; D0 = 1.0 3. Lp: while Fi>Ftarget i = i+1; Hun luyn b phn loi hi t tp Pi v Ni vi detection rate d v max false alarm f. Thm hi vo cy phn lp. Dng cy phn lp hin c tnh Fi: Duyt qua N mu negative cho n khi no tm n mu m cy phn lp hin c phn loi sai. ( N := Nu Fi >Ftarget N = { s mu sai stage hin ti phn loi sai }. P = { s mu positive m stage hin ti phn loi dng } 1. Minh ha thut ton Cascade training: stage 1
h 2

N-1

hitrate = hN
h h

falsealarms = fN
1-f 1-f 1-f 1-f

Input pattern classified as a non-object Hnh 2: cascade of classifiers Hnh 2 minh ha s hun luyn ca mt cascade gm N stages. mi stage, weak classifier tng ng s c hun luyn sao cho chnh xc ca n l h v false alarm bng f. 1.4. Cascade of boosting Classifiers

Cascade of boosting classifiers l m hnh cascade of classifiers vi mi classifier c xy dng bng Adaboost s dng haar-like.

B o c o t h c t p t t n g h i p T r a n g | 19

N NON-CLASS

C L A S S

Hnh 14: Cascade of boosting classifiers Viola v Jones s dng rt thnh cng cascade of boosting classifiers cho bi ton nhn dng mt ngi. Vi tp hun luyn gm 4196 hnh mt ngi c a v nh grayscale kch thc 24x24 v 9500 hnh background, hai ng xy dng cu trc cascade tree gm 38 stage vi tng cng 6060 c trng haar-like. Thc nghim cho thy classifier stage u tin s dng 2 c trng v loi c khong 50% mu background (khng phi mt ngi) v c chnh xc l d = 100%. Classifier stage th 2 s dng 10 c trng loi c 80% mu background vi chnh xc vn l 100%. H thng ny c so snh vi h thng ca Rowley-Baluja-Kanade (s dng mng neural), Schneiderman-Kanade (s dng phng php thng k), v cho thy t l nhn dng l ngang nhau, trong khi h thng ca Viola v Jones chy nhanh hn n 15 ln so vi h thng ca Rowley-Baluja-Kanade v nhanh hn 600 ln h thng ca Schneiderman-Kanade. L do m cu trc cascade t tc nhn dng nhanh chnh l nh n sm loi b c cc mu background n gin (thng c s lng ln hn nhiu so vi cc mu cha object cc mu cha khun mt cn tin hnh nhn dng). Bn cnh , h thng ca Viola v Jones cng t c chnh xc kh cao nh vo thut ton cascade training, cc b nhn dng c hun luyn bng AdaBoost vi c trng Haar-like m t tt thng tin i tng, cng vi cch Integral Image tnh nhanh cc c trng, khng lm gim tc nhn dng ca h thng. Nh vy, m hnh Cascade of Boosted Classifiers tht s l mt cch tip cn tt c v tc ln kh nng nhn dng, rt ph hp vi bi nhn dng mt ngi. 1.5. c trng Haar-Like

Viola v Jones dng 4 c trng c bn [20] xc nh khun mt ngi. Mi c trng Haarlike l s kt hp ca hai hay ba hnh ch nht "trng" hay "en" nh trong hnh sau:

B o c o t h c t p t t n g h i p T r a n g | 20

Hnh 3: 4 t tr ng Haar-like c bn p dng cc t trng ny vo vic bi ton xc nh mt ngi, 4 t trng Haar-like c bn c m rng ra, v c chia lm 3 tp c trng nh sau: 1. c tr ng cnh (edge features):

2. c tr ng ng (line features):

c tr ng xung quanh tm (center-surround features):

Hnh 4: Cc c tr ng m rng ca cc c tr ng Haar-like c s

Li ch ca cc c trng Haar-like l n din t c tri thc v cc i tng trong nh (bi v n biu din mi lin h gia cc b phn ca i tng), iu m bn thn tng im nh khng din t c. tnh gi tr cc c trng haar-like, ta tnh s chnh lch gia tng ca cc pixel ca cc vng en v cc vng trng nh trong cng thc sau: f(x) = Tngvng en(pixel) - Tngvng trng(pixel) Nh vy ta c th thy rng, tnh cc gi tr ca c trng Haar-like, ta phi tnh tng ca cc vng pixel trn nh. Nhng tnh ton cc gi tr ca cc c trng Haarlike cho tt c cc v tr trn nh i hi chi ph tnh ton kh ln, khng p ng c cho cc ng dng i hi tnh run-time. Do Viola v Jones a ra mt khi nim gi l Integral Image tnh ton nhanh cho khc feature c bn. Sau ny, Lienhart k tha gi Integral Image l SAT Summed Area Table v a ra thm khi nim RSAT Rotated Summed Area Table dng tnh ton nhanh cho cc c trng xoay 1 gc 45o. Integral Image l mt mng 2 chiu vi kch thc bng vi kch ca nh cn tnh cc c trng Haar-like, vi mi phn t ca mng ny c tnh bng cch tnh tng ca im nh pha trn (dng-1) v bn tri (ct-1) ca n. Bt u t v tr trn, bn tri n

B o c o t h c t p t t n g h i p T r a n g | 21

v tr di, phi ca nh, vic tnh ton ny n thun ch a trn php cng s nguyn n gin, do tc thc hin rt nhanh.

P(x,y) Hnh 5: Cch tnh Integral Image ca nh Sau khi tnh c Integral Image, vic tnh tng im nh ca mt vng bt k no trn nh thc hin rt n gin theo cch sau: (Gi s ta cn tnh tng im nh ca vng D nh trong hnh 11): D = A + B + C + D (A+B) (A+C) + A Vi A + B + C + D chnh l gi tr ti im P4 trn Integral Image, tng t nh vy A+B l gi tr ti im P2, A+C l gi tr ti im P3, v A l gi tr ti im P1. Vy ta c th vit li biu thc tnh D trn nh sau:

A C

P1

B D

P2

P3

P4

Hnh 6: V d cch tnh nhanh tng cc im nh ca vng D trn nh


B
2

A
1

C
3

D
4

RSAT(x,y) (a)

(b)

Hnh 7: V d cch tnh nhanh tng im nh ca vng D trn nh vi cc c tr ng xoay 45o Vi cc c trng Haar-like xoay 45o Integral Image ti mt im (x, y) c tnh theo cng thc:

B o c o t h c t p t t n g h i p T r a n g | 22

Tng pixel ca mt vng bt k trn nh vn c tnh theo cch sau: D = A + B + C + D (A+B) (A+C) + A Nh vy tng cc im nh trong mt hnh ch nht (k c trng hp xoay 45) bt k u c th c tnh nhanh da trn integral image ti 4 nh ca n : Sum (D ) = .4 - 2 3 + 1 2. S lc v OpenCV 2.1. Tng quan OpenCV Open VC l th vin m ngun m ca intel v th gic my tnh. N cung cp mt b m ngun bao gm hng trm hm, lp da trn cc thut ton v x l nh cng nh Computer vision dng ngn ng C/C++. Open CV th hin s a dng ca tr tu nhn to. c ng dng nhiu trong cc bi ton nhn dng mt, d tm mt, pht hin mt, lc Kalman, Cu trc tng quan ca OpenCV bao gm 5 phn chnh. 4 trong 5 phn c ch ra trong hnh v di. CV Cc hm v x l nh v gii thut v th gic my tnh MLL Cc thut ton hc my, bao gm cc b phn cm, phn loi thng k CXCORE Cc cu trc d liu c bn, cu trc XML, cc hm v ha Hnh 15 : Cu trc c bn ca OpenCV Phn CV bao gm cc th vin c bn v x l nh v cc gii thut v th gic my tnh. ML l b th vin v cc thut ton hc my, bao gm rt nhiu b phn cm v phn loi thng k. HighGUI cha ng nhng th tc vo ra, cc chc nng v lu tr cng nh c cc file nh v video. Phn th 4, Cxcore cha ng cc cu trc d liu c bn ( v d nh cu trc XML, cc cy d liu ). Phn cui cng l CvAux, phn ny bao gm cc th vin cho vic pht hin, theo di v nhn dng i tng (khun mt, mt ). HighGUI Cc hm v th tc lm vic vi file nh v file video

B o c o t h c t p t t n g h i p T r a n g | 23

2.2. Mt vi cu trc kiu d liu c bn OpenCV OpenCV c vi data type c s. n gin nht ca nhng types ny l CvPoint. CvPoint l structure n gin vi hai integer members, x v y. CvPoint c hai anh em: CvPoint2D32f v CvPoint3D32f. CvSize ging anh h ca CvPoint. Cc phn t ca n l width v height, m c hai l integer. Nu mun cc s floating-point, dng CvSize2D32f cousin ca CvSize. CvRect mt con khc ca CvPoint v CvSize; n cha bn member: x, y, width, v height. Cui cng nhng khng km l CvScalar, m l mt tp bn s double-precision. Khi memory khng l vn , CvScalar thng c dng biu din mt, hai, hay ba s thc (trong nhng trng hp ny, cc thnh phn khng cn n gin c b qua). CvScalar c mt member val, m l mt pointer n mt array cha bn s doubleprecision floating-point.

cvRectangle( myImg, cvPoint(5,10), cvPoint(20,30), cvScalar(255,255,255) ); cha int x, y float x, y float x, y, z int height

Structure CvPoint CvPoint2D32f CvPoint3D32f CvSize

Represents Point in image Points in 2 Points in 3

width, Size of image

CvRect

int x, y, width, Portion of image height double val[4] RGBA value

CvScalar

cvScalar() l trng hp c bit: n c ba constructor. u tin, gi l cvScalar(), ly mt, hai, ba, hay bn argument v gn nhng argument ny cho cc phn t tng ng ca val[]. Constructor th hai l cvRealScalar(); n ly mt argument, m n gn vo

B o c o t h c t p t t n g h i p T r a n g | 24

val[0] trong khi setting cc entry khc thnh 0. Variant cui cng l cvScalarAll(), m ly mt argument n nhng t tt c bn phn t ca val[] thnh cng argument . Matrix v Image Types IplImage l structure c s c dng encode ci ta nhn chung gi l cc image. Nhng image ny c th l grayscale, color, four-channel (RGB+alpha), v mi channel c th cha bt k trong vi type ca cc s integer hay floatingpoint. Do , kiu ny l chung hn image three-channel 8-bit RGB . OpenCV cung cp lng ln cc operator hu ch m hot ng trn nhng images ny, gm cc tool resize images, trch cc channel ring, tm thy cc value ln nht hay nh nht ca mt channel c th, cng hai images, threshold mt image, v hn na. In chng ny ta s xem xt nhng kiu ny ca cc operator cn thn.

Hnh 8: Th bc Matrix trong OpenCV CvMat Matrix Structure Trong OpenCV khng c kiu vector nn khi ta mun mt vector, ta ch dng mt matrix vi mt ct (hay mt hng, nu ta mun mt hon v hay kt hp vector). cvMat* cvCreateMat ( int rows, int cols, int type ); y type c th l bt k ca mt list di cc predefined type theo dng: CV_<bit_depth>(S|U|F) C<number_of_channels>. Do , matrix c th gm cc 32-bit floats (CV_32FC1), ca cc unsigned integer 8-bit triplets (CV_8UC3), hay v s cc element khc. Mt element ca CvMat khng cn thit l mt s n. C th biu din nhiu gi tr cho mt entry n trong matrix cho php ta lm nhiu th nh biu din nhiu channel mu trong mt RGB image. Cho mt image n gin cha cc knh red, green v blue, hu ht cc image operator s c p dng cho mi channel ring (tr phi ngc li c lu ). V bn trong, structure ca CvMat tng i n gin. V d, ly size ca mt matrix, bn c th ly thng tin bn mun mt trong bi gi cvGetSize(CvMat*), m tr v mt CvSize structure, hay bi truy cp height v width c lp vi cc constructs nh matrix->height v matrix->width. CvMat structure: the matrix header typedef struct CvMat {

B o c o t h c t p t t n g h i p T r a n g | 25

int type; int step; int* refcount; // cho dng ch bn trong union { uchar* ptr; short* s; int* i; float* fl; double* db; } data; union { int rows; int height; }; union { int cols; int width; }; } CvMat; Cc matrix c th c to theo mt trong vi cch. Cc hu ht ph bin l dng cvCreateMat(), m is thc s thun tin s kt hp ca nhiu atomic function cvCreateMatHeader() v cvCreateData(). cvCreateMatHeader() to CvMat structure khng cp memory cho data, trong khi cvCreateData() handles cp pht data. i khi ch cvCreateMatHeader() c i hi, mt trong v bn cp data cho vi nguyn nhn khc hay v bn cha thc s cn cp n. Method th ba dng cvCloneMat(CvMat*), m to matrix mi t mt ci hin c. Khi matrix khng cn cn na, n c th c gii phng bi gi cvReleaseMat(CvMat**). IplImage Data Structure Trong object thc cht ny l mt CvMat nhng vi vi goodies thm c t trong n lm matrix thch hp cho mt image. Structure ny ban u c nh ngha nh mt phn ca Image Processing Library (IPL) ca Intel.* nh ngha chnh xc ca IplImage structure c thy nh sau: IplImage header structure typedef struct _IplImage { int nSize; int ID; int nChannels; int alphaChannel; int depth;

B o c o t h c t p t t n g h i p T r a n g | 26

char colorModel[4]; char channelSeq[4]; int dataOrder; int origin; int align; int width; int height; struct _IplROI* roi; struct _IplImage* maskROI; void* imageId; struct _IplTileInfo* tileInfo; int imageSize; char* imageData; int widthStep; int BorderMode[4]; int BorderConst[4]; char* imageDataOrigin; } IplImage; Cc tham s OpenCV thng dch v lm vic vi cc image. Macro IPL_DEPTH_8U IPL_DEPTH_8S IPL_DEPTH_16S IPL_DEPTH_32S IPL_DEPTH_32F Image pixel type Unsigned 8-bit integer (8u) Signed 8-bit integer (8s) Signed 16-bit integer (16s) Signed 32-bit integer (32s) 32-bit fl oating-point single-precision (32f) 64-bit fl oating-point double-precision (64f)

IPL_DEPTH_64F

Matrix v Image Operators Bng bn di thng k mt lng cc routine thao tc matrix, hu ht m lm vic tt cho images. Chng lm tt c nhng vic bnh thng, chng hn diagonalizing hay transposing mt matrix, cng nh vi tc v phc tp hn, chng hn tnh thng k image.

B o c o t h c t p t t n g h i p T r a n g | 27

Function cvAbs cvAbsDiff cvAbsDiffS cvAdd cvAddS cvAddWeighted

M t Tr tuyt i tt c elements trong array Tr tuyt i cc khc bit gia hai arrays Tr tuyt i cc khc bit gia array v scalar Cng elementwise ca hai array Elementwise addition of an array v a scalar Elementwise weighted addition of hai arrays (alpha blending) Average value of tt c elements in an array Absolute value v standard deviation of tt c elements in an array

cvAvg cvAvgSdv

cvCalcCovarMatrix Compute covariance of a set of n-dimensional vectors cvCmp Apply selected comparison operator to tt c elements in hai arrays Apply selected comparison operator to an array relative to a scalar Convert array type with optional rescaling of the value

cvCmpS

cvConvertScale

cvConvertScaleAbs Convert array type sau khi absolute value with optional rescaling cvCopy cvCountNonZero cvCrossProduct Copy elements of one array to another Count nonzero elements in an array Compute cross product of hai three-dimensional vectors Convert channels of an array from one color space to another Compute determinant of a square matrix Elementwise division of one array by another

cvCvtColor

cvDet cvDiv

B o c o t h c t p t t n g h i p T r a n g | 28

cvDotProduct cvEigenVV

Compute dot product of hai vectors Compute eigenvalues v eigenvectors of a square matrix Flip an array about a selected axis Generalized matrix multiplication Copy elements from column slice of an array Copy elements from multiple adjacent columns of an array Copy elements from an array diagonal Return the number of dimensions of an array Return the sizes of tt c dimensions of an array Copy elements from row slice of an array Copy elements from multiple adjacent rows of an array Get size of a two-dimensional array v return as CvSize Copy elements from subregion of an array Test if elements of an array are with in values of hai other arrays Test if elements of an array are in range gia hai scalars Invert a square matrix Compute Mahalonobis khong cch gia hai vectors Elementwise max operation on hai arrays Elementwise max operation gia an array v a scalar Merge vi single-channel images into one multichannel image

cvFlip cvGEMM cvGetCol cvGetCols

cvGetDiag cvGetDims cvGetDimSize cvGetRow cvGetRows

cvGetSize

cvGetSubRect cvInRange

cvInRangeS

cvInvert cvMahalonobis

cvMax cvMaxS

cvMerge

B o c o t h c t p t t n g h i p T r a n g | 29

cvMin cvMinS

Elementwise min operation on hai arrays Elementwise min operation gia an array v a scalar tm thy minimum v maximum values in an array Elementwise multiplication of hai arrays Bitwise inversion of every element of an array Compute normalized correlations gia hai arrays Normalize elements in an array to some value Elementwise bit-level hay of hai arrays Elementwise bit-level hay of an array v a scalar Reduce a two-dimensional array to a vector by a given operation Tile the contents of one array into another Set tt c elements of an array to a given value Set tt c elements of an array to 0 Set tt c elements of an array to 1 for the diagonal v 0 otherwise Solve a system of linear equations Split a multichannel array into multiple singlechannel arrays Elementwise subtraction of one array from another Elementwise subtraction of a scalar from an array Elementwise subtraction of an array from a scalar Sum tt c elements of an array Compute singular value decomposition of a twodimensional array

cvMinMaxLoc

cvMul cvNot cvNorm cvNormalize cvOr cvOrS cvReduce

cvRepeat cvSet cvSetZero cvSetIdentity

cvSolve cvSplit

cvSub

cvSubS cvSubRS cvSum cvSVD

B o c o t h c t p t t n g h i p T r a n g | 30

cvSVBkSb cvTrace cvTranspose

Compute singular value back-substitution Compute the trace of an array Transpose tt c elements of an array across the diagonal Elementwise bit-level XOR gia hai arrays Elementwise bit-level XOR gia an array v a scalar Set tt c elements of an array to 0

1.

cvXor cvXorS

cvZero

cvCvtColor void cvCvtColor( const CvArr* src, CvArr* dst, int code ); cvCvtColor() chuyn t mt color space (number of channels) thnh mt ci khc. Tc v chuyn i chnh xc c lm c ch nh bi argument code, m cc gi tr c th c k trong bng sau: Cc bin tham s v ngha ca n Conversion code CV_BGR2RGB CV_RGB2BGR CV_RGBA2BGRA CV_BGRA2RGBA CV_RGB2RGBA CV_BGR2BGRA CV_RGBA2RGB CV_BGRA2BGR Thm alpha channel vo RGB hay BGR image Xa alpha channel khi RGB hay BGR image Meaning Chuyn gia RGB v BGR color spaces (c hay khng c alpha channel)

B o c o t h c t p t t n g h i p T r a n g | 31

CV_RGB2BGRA CV_RGBA2BGR CV_BGRA2RGB CV_BGR2RGBA CV_RGB2GRAY CV_BGR2GRAY CV_GRAY2RGB CV_GRAY2BGR CV_RGBA2GRAY CV_BGRA2GRAY CV_GRAY2RGBA CV_GRAY2BGRA CV_RGB2BGR565 CV_BGR2BGR565 CV_BGR5652RGB CV_BGR5652BGR CV_RGBA2BGR565 CV_BGRA2BGR565 CV_BGR5652RGBA CV_BGR5652BGRA CV_GRAY2BGR565 CV_BGR5652GRAY CV_RGB2BGR555 CV_BGR2BGR555 CV_BGR5552RGB CV_BGR5552BGR

Chuyn RGB thnh BGR color spaces trong khi thm hay xa alpha channel

Chuyn RGB hay BGR color spaces thnh grayscale Chuyn grayscale thnh RGB hay BGR color spaces (ty chn xa alpha channel trong x l)

Convert grayscale to RGB hay BGR color spaces v add alpha channel Convert from RGB hay BGR color space to BGR565 color representation with optional addition hay removal of alpha channel (16-bit images)

Convert grayscale to BGR565 color representation hay vice versa (16-bit images) Convert from RGB hay BGR color space to BGR555 color representation with optional addition hay removal of alpha channel (16-bit images)

B o c o t h c t p t t n g h i p T r a n g | 32

CV_RGBA2BGR555 CV_BGRA2BGR555 CV_BGR5552RGBA CV_BGR5552BGRA CV_GRAY2BGR555 CV_BGR5552GRAY CV_RGB2XYZ CV_BGR2XYZ CV_XYZ2RGB CV_XYZ2BGR CV_RGB2YCrCb CV_BGR2YCrCb CV_YCrCb2RGB CV_YCrCb2BGR CV_RGB2HSV CV_BGR2HSV CV_HSV2RGB CV_HSV2BGR CV_RGB2HLS CV_BGR2HLS CV_HLS2RGB CV_HLS2BGR CV_RGB2Lab CV_BGR2Lab CV_Lab2RGB CV_Lab2BGR Convert RGB hay BGR image to CIE Lab color representation hay vice versa Convert RGB hay BGR image to HLS (hue lightness saturation) color representation or vice versa Convert RGB hay BGR image to HSV (hue saturation value) color representation or vice versa Convert RGB hay BGR image to luma-chroma (aka YCC) color representation Convert grayscale to BGR555 color representation hay vice versa (16-bit images) Convert RGB hay BGR image to CIE XYZ representation hay vice versa (Rec 709 with D65 white point)

B o c o t h c t p t t n g h i p T r a n g | 33

CV_RGB2Luv CV_BGR2Luv CV_Luv2RGB CV_Luv2BGR CV_BayerBG2RGB CV_BayerGB2RGB CV_BayerRG2RGB CV_BayerGR2RGB CV_BayerBG2BGR CV_BayerGB2BGR CV_BayerRG2BGR CV_BayerGR2BGR

Convert RGB hay BGR image to CIE Luv color representation

Convert from Bayer pattern (singlechannel) to RGB hay BGR image

B o c o t h c t p t t n g h i p T r a n g | 34

Chng 3. Xy dng ng dng


Pht hin mt ngi trong nh c nhiu ng dng trong cuc sng, tuy nhin, trong kha lun ny, tc gi ch xy dng mt chng trnh nh minh ha cho cc l thuyt trn. C th y l mt chng trnh pht hin mt ngi trong nh c vit trn nn visual c ++ ca Microsoft, s dng th vin m ngun m OpenCV ca Intel. 1. Tng quan v h thng pht hin mt ngi trong nh
c lng cc c trng Tnh cc c trng nhanh t nhiu t l

nh gc Integral Image
Cu trc phn tng (Cascade of classifier)
C L A S S

Cc hm Haar c bn

S lng ln cc c trng

Chn c trng

C1
N

C2
N

Cn
N

NON-CLASS

Mt tp nh cc c trng

iu chnh thng s Adaboost

Quyt nh kt qu Hnh 9: Tng quan v h thng pht hin mt ng i trong nh V c bn, t nh gc ban u, h thng s chia nh thnh v s vng nh tnh cc c trng, sau y a cc c trng. Tip theo, chng trnh s xc nh cc vng kh quan (cc ng vin) c th l khun mt, cui cng cc ng vin ny s c a vo mt b phn loi tin hnh xc nh ng vin no l mt ngi. 2. Phn tch Nhim v chnh ca chng trnh l d tm khun mt t mt bc nh, mt file video hoc t webcam, sau y lu khun mt vo csdl phc v cho cc mc ch khc (s c pht trin sau).

B o c o t h c t p t t n g h i p T r a n g | 35 Capture nh

0 H THNG PHT HIN MT NGI TRONG NH

NGI DNG

Khun mt c pht hin

Hnh 10: Biu ng cnh ca h thng Nh vy cc chc nng chng trnh bao gm: Kt ni n webcam, c cc file nh v video. Pht hin cc nhiu khun mt c trong bc nh, video, webcam ... Lu nh khun mt c pht hin vo csdl. 2.1. Thit k h thng

Vi cc chc nng trn, chng trnh c chia thnh thnh 3 phn chnh: Phn x l u vo, phn pht hin khun mt v phn x l u ra. u vo (nh, video hoc webcam)

Pht hin nhanh khun mt bng Adaboost C khun mt Lu khun mt vo CSDL


2.2.X l u vo:

Chng trnh nhn u vo l file nh, video hoc webcam, tuy nhin, vic pht hin khun mt c thc hin trn cc bc nh, do , vi u vo l webcam hay file video, ta phi chuyn thnh cc nh tnh v x l trn tng nh tnh. Sau khi c nh

B o c o t h c t p t t n g h i p T r a n g | 36

u vo ri th s chuyn nh cho giai on x l tip theo, l pht hin cc khun mt c trong nh.
2.3.Pht hin khun mt

Phn ny x l chnh nghip v ca h thng. Sau khi c nh truyn vo, h thng s thc hin chc nng pht hin khun mt c trong nh. Vic pht hin khun mt c thc hin nhanh bng thut ton adaboost thng qua hm cvHaarDetectObjects() ca OpenCV. Hm ny thc hin vic pht hin i tng da trn cc c trng haar-like, c th l nh vo mt b Cascade c truyn vo cho hm. B Cascade c xy dng theo dng cy (tree-node) v c hun luyn t trc. Vic hun luyn b Cascade c th thc hin t nhng d liu thu thp c phc v cho qu trnh nhn dng. V d, mun nhn dng mt ngi A, ta thu thp cc nh khun mt ca ngi A vi nhiu t th, gc chp v iu kin chp khc nhau, sau y cho b nhn dng hc theo thut ton Cascade training. Tuy nhin vic nhn dng khun mt l mt cng vic kh v tn nhiu thi gian, do , tc gi khng thc hin n trong kha lun ca mnh. 2.4. X l u ra.

Khun mt sau khi c pht hin s c tch ra khi bc nh v lu di dng nh bitmap vi phn m rng l *.jpg. i vi u vo l cc file nh, d liu u ra cng l file nh y nhng c lu v tr khun mt c pht hin trn bc nh, ng thi tch cc ring khun mt v lu vo c s d liu. i vi u vo l cc file video hoc webcam. Cc khun mt s c tch ra v lu li thnh cc file nh ring r, v c nh s th t theo tn file video. V d nh file video test.avi th nh cc khun mt pht hin c s c nh s theo th t nh sau: test.avi_1.jpg, test.avi_2.jpg

B o c o t h c t p t t n g h i p T r a n g | 37 H THNG PHT HIN MT NGI TRONG NH

1.X l u vo

2.Pht hin nhanh khun mt bng Adaboost

3. X l u ra 3.1. Lu nh vo th mc thch hp trn my 3.2.Lu nh vo CSDL

1.1. Capture nh

Hnh 11: Biu phn r chc nng. 2.5. Thit k c s d liu

Lu tr c s d liu l mt phn quan trng ca ng dng. Vic xy dng, t chc c s d liu nh hng ln n tc ca chng trnh. Tuy hin ti, chng trnh ch dng li mc pht hin khun mt trong nh, nhng vic xy dng mt c s d liu tt s l tin c th pht trin chng trnh thnh cc ng dng ln hn sau ny. H thng cn lu tr cc d liu: nh khun mt sau khi c pht hin. i vi u vo l file nh: Lu nh u vo cng v tr khun mt c pht hin trn bc nh Lu tng khun mt c pht hin. i vi u vo l file video, hoc webcam: Lu cc khun mt c pht hin Nh vy cc thng tin trong c s d liu bao gm 2 thc th sau: NH GC ( IMAGES ): nh u vo. Cc thuc tnh bao gm: ID: M nh, kiu Integer, l kha chnh v c rng buc l t tng. Name: Tn ca bc nh, kiu d liu varchar2(200). Trong trng hp u vo l video th tn s c ly theo tn ca file video, cn nu u vo l webcam th s t l webcam_ID (thm ID trn vo tn). Image: Lu m nh phn ca bc nh. URL: lu ng dn n bc nh, kiu gi liu varchar2(1000)

Lu : Trong tr ng h p file u vo l video hoc webcam th cc tr ng Image, v URL s nhn gi tr null.

B o c o t h c t p t t n g h i p T r a n g | 38

KHUN MT ( FACES ): Cc khun mt pht hin c. Cc thuc tnh bao gm: - ID: M nh, kiu Integer, l kha chnh v c rng buc l t tng. IMAGE_ID: ID ca nh gc, kiu d liu Interger, l kha ngoi tham chiu n bng NH GC. Name: Tn ca khun mt, c t theo tn nh gc, ng thi thm s th t nhn bit cc khun mt ca cng nh gc. Image: Lu m nh phn ca nh khun mt. URL: lu ng dn n nh khun mt, kiu gi liu varchar2(1000).
Name ID Image

IMAGES

URL

ID

FACES

URL

Image_ID Name Image

Hnh 19: S thc th quan h ( ERM ). 2.6. Thit k chng trnh Giao din ca chng trnh c thit k thn thin v n gin. Tp trung vo chc nng chnh pht hin khun mt trong nh. B cc trn giao din c thc hin hon ton bng cu lnh console trong C++. Kt qu thc hin pht hin khun mt trong nh nh bn di.

B o c o t h c t p t t n g h i p T r a n g | 39

Hnh 20: kt qu ch ng trnh

B o c o t h c t p t t n g h i p T r a n g | 40

Kt lun v hng pht trin


1. Kt lun Trn c s nghin cu v bi ton pht hin mt ngi trong nh. c bit l thut ton Adaboost, cc c trng haar-like v m hnh Cascade of Classifier. Tc gi p dng thnh cng m hnh Cascade of Classfier vo bi ton pht hin mt ngi trong nh. Tuy kt qu t c cha cao, nhng y l bc u pht trin bi ton nhn dng mt (face recognition) ngi sau ny. Bn cnh , trong qu trnh xy dng chng trnh demo, tc gi tm hiu v th vin m ngun m OpenCV, qua bit cch s dng cc hm trong th vin OpenCV. Trong qu trnh thc tp ny tc gi mi pht hin c khun mt trong nh tnh, nh chp t camera laptop, theo di i tng t camera laptop. V chng trnh demo, sau khi th nghim vi tp nh v webcam. Chng trnh t kt qu tt, thi gian pht hin nhanh i vi cc nh mt ngi chp thng, cht lng nh tt tuy nhin i vi cc nh chp nghing hay nh c mu sc qu ti th chng trnh gn nh khng th pht hin c khun mt trong bc nh y. i vi webcam, th hiu xut ca chng trnh cn ty theo cht lng ca loi webcam c s dng, tuy nhin cng tng t nh vi pht hin khun mt trong nh, chng trnh s khng th pht hin mt ngi trong iu kin sng qu yu v gc quay nghing qu 20o. Phn thit k CSDL lu tr hnh nh tc gi vn cha thc hin c, l mc tiu tip theo tc gi tip tc nghin cu, tm hiu tip theo. 2. Hng pht trin C nhiu hng pht trin cho chng trnh ny, c th pht trin c v mt ng dng v mt thut ton ( ci thin hiu qu pht hin mt ngi). C th xy dng mt ng dng ch cn n pht hin mt ngi m khng cn nhn dng. V d nh mt h thng ghp hnh, ghp khun mt pht hin c vo trong mt bc nh khc (chng hn nh ghp khun mt ca ngi s dng cho khun mt ca ngi ni ting). Ngoi ra c th pht trin chng trnh theo hng nhn dng khun mt, xy dng mt h thng hc cc c trng ca nhng ngi cn nhn dng. Khi thc hin, u tin ta a qua bc nh qua chng trnh pht hin mt ngi pht hin nhanh cc khun mt c trong nh, sau y so sch cc khun mt vi cc khun mt m chng trnh c hc t trc, so snh cc c trng ca hai khun mt, nu trng th a ra thng tin v khun mt c nhn dng. y l mc tiu hng ti ca tc gi tip tc hon thnh cho ti kho lun ca mnh tip theo.

B o c o t h c t p t t n g h i p T r a n g | 41

Ti liu tham kho Trong qu trnh thc tp tc gi tham kho cc ti liu trn internet, sch, bo ting vit v ting anh. Cc trang web:
http://docs.opencv.org/ http://hxr99.blogspot.com/2011/12/opencv-examples-showing-image.html http://www.comvisap.com/2012/01/ktcb2.html

sch tham kho Learning OpenCV Computer Vision with the OpenCV Library opencv reference manual 2.1 Ung dung xu ly anh trong thuc te voi thu vien OpenCV

You might also like