Sie sind auf Seite 1von 50

PHN A: GII THIU

Ketnooi.com Kt ni cng dn in t

Nhn dng mt ngi trn Matlab

Trang ii
LI CM N

Trc ht em xin gi li cm n su sc n thy L Minh Thnh, ngi gip em rt nhiu


v nh hng nghin cu, hng dn cho em trong sut thi gian thc hin ti ny.
Cun n ny c hon thnh theo ng thi gian quy nh ca nh trng cng nh ca
khoa khng ch l s n lc ca em m cn s gip , ch bo ca thy hng dn, ca qu thy c
v cc bn sinh vin.
Chng em xin chn thnh cm n thy c ging dy chng em, c bit l cc thy c gio
trong khoa in-in t.
Xin cm n cc bn sinh vin trong khoa gip ti rt nhiu mt: nh phng tin, sch
v, kin
Mc d rt c gng hon thnh n ny song cung khng trnh khi nhng sai st, mong
thy c v cc bn ng gp nhng kin qu bu n c thnh cng hn.

Sinh vin thc hin


V Hng Hoan

LI M U
Hn mt thp k qua c rt nhiu cng trnh nghin cu v bi ton nhn dng khun mt
ngi t nh en trng, xm 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. Cho n ngy hm 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

Nhn dng mt ngi trn Matlab

Trang iii

quanh kh n gin cho n mi trng xung quanh rt phc tp nhm p ng nhu cu ca con
ngi.
Mc tiu ca ti Nhn dng mt ngi trn matlab l thc hin chng trnh tm kim
mt bc nh c khun mt mt ngi trong tp nh c s ging vi khun mt ca ngi trong bc
nh cn kim tra bng ngn ng matlab.
tin theo di ti xin trnh by ti theo ba phn nh sau:
-

Phn u l gii thiu v thut ton PCA l ng ton c s dng rt nhiu trong vin
thng. V ti ny s dng thut ton PCA.

Phn tip theo l gii thiu cc lnh c s dng trong chng trnh.

Phn cui cng l gii thiu giao din chng trnh v code ngun.

Do ti liu tham kho hn ch, trnh c hn v kinh nghim trong thc tin cn non km,
nn ti khng trnh khi nhng thiu st. Rt mong c nhn nhng kin ng gp, gip
chn tnh, qu bu ca qu thy c cng cc bn sinh vin.
Tp. H Ch Minh, thng 06 nm 2010
Ngi thc hin ti

Nhn dng mt ngi trn Matlab

Trang iv

MC LC
PHN A:GII THIU
LI CM N.............................................................................................................................ii
LI M U...........................................................................................................................iii
MC LC.................................................................................................................................iv
LIT K HNH.........................................................................................................................vi
LIT K BNG......................................................................................................................vii
PHN B: NI DUNG
CHNG 1: DN NHP
1.1 t vn ................................................................................................................3
1.2 L do chn ti.....................................................................................................3
1.3 Mc ch nghin cu...............................................................................................3
1.4 Gii hn nghin cu ca ti................................................................................3
CHNG 2:CC THUT TON NHN DNG KHUN MT
2.1 nh ngha bi ton xc nh khun mt ngi.......................................................6
2.2 ng dng ca phng php xc nh khun mt ngi.........................................6
2.3 Phng php xc nh khun mt ngi.................................................................7
2.4 Nhn dng khun mt dng thut ton PCA............................................................8
2.5 Nhn dng nh da trn PCA..................................................................................9
CHNG 3: NH MU TRN MATLAB V CC LNH X L NH
3.1 Gii thiu nh s...................................................................................................14
3.1.1 Biu din nh s.............................................................................................14
3.1.2 nh mu.........................................................................................................15
3.1.3 Cc nh dng nh c bn trong x l nh......................................................17
3.2 Cc kiu hnh nh trong Matlab.............................................................................19
3.3 Chuyn i gia cc kiu d liu..........................................................................21
3.4 Cc php ton s hc c bn i vi d liu nh..................................................22
3.5 Cc hm hin th nh trong Matlab.......................................................................22
3.6 Cc hm khc c s dng trong ti..............................................................24
CHNG 4:GII THIU CHNG TRNH
4.1 Gii thiu chng trnh..........................................................................................26
CHNG 5: S KHI V CODE CHNG TRNH
5.1 S khi..............................................................................................................32
5.2 Code chng trnh.................................................................................................32
CHNG 6: PHM VI GII HN V HNG M RNG TI
6.1 Phm vi gii hn ca ti....................................................................................42
6.2 Hng m rng ca ti.....................................................................................42

Nhn dng mt ngi trn Matlab

Trang v

Nhn dng mt ngi trn Matlab

Trang vi

LIT K HNH

Hnh 3.1: nh mu.. 14


Hnh 3.2: Cc mu c s. 15
Hnh 3.3: M hnh mu RGB.. 16
Hnh 3.4: nh GIF.. 18
Hnh 3.5: nh dng JPEG

20

Hnh 4.1: M chng trnh trn Matlab

26

Hnh 4.2: Giao din chng trnh. 27


Hnh 4.3: Giao din chng trnh chnh

27

Hnh 4.4: Chn nh cn kim tra

28

Hnh 4.5: nh cn kim tra

28

Hnh 4.6: nh trung bnh

29

Hnh 4.7: Hnh chiu nh ln khng gian nh

29

Hnh 4.8: nh cn tm

30

Hnh 5.1: S khi tng qut ca chng trnh.32

LIT K BNG
Bng 3.1: Cc thng tin khi gi hm imfinfo

21

Bng 3.2 Cc php ton s hc trn nh

22

Bng 3.3 Cc hm x l hnh nh khc trong Matlab

23

Nhn dng mt ngi trn Matlab

Trang vii

PHN B: NI DUNG

CHNG 1 DN NHP

Nhn dng mt ngi trn Matlab

Trang 3

1.1 t vn
Chng ta bit, ngy nay phn ln cc thit b in t u dn pht trin theo xu hng t
ng ha, thng minh, cng hiu con ngi, chng giao tip vi con ngi m khng cn mt thit b
trung gian no, lm c iu cc thit b cm bin, thut ton nhn dng ra i ngy cng hin
i hn, chnh xc hn, an ton v rt bo mt, chng c th chng nhn bit cc hot ng ca con
ngi, hnh gin ca con ngi v hot ng theo mun con ngi. Th bi ton Nhn dng mt
ngi l mt trong s .
1.2 L do chn ti
Ngy nay cc thit b s dng thut ton x l nh c s dng ngy cng rng ri, vi nhiu
mc ch khc nhau. Dng cho cc h thng bo mt nh kha bng vn tay, ging ni, gic mc mt
n cc thit b an ninh, truy tm ti phm..
Xut pht t nhng yu cu thc t trn ngi thc hin tin hnh tm hiu v nghin cu
ti : NHN DNG MT NGI TRN MATLAB.
1.3 Mc ch nghin cu
Ngi thc hin ti ny nhm mc ch:
Tm hiu cc thut ton nhn dng v x l nh mu, cu trc nh mu.
Nng cao k nng thit k v lp trnh bng ngn ng matlab.
Rn luyn k nng nghin cu, tm hiu ti liu.
1.4 Gii hn nghin cu ca ti
Vi thi gian c hn nn ngi nghin cu ch thc hin nghin cu nhng vn c bn sau:
Nghin cu v tim hiu cc thut ton nhn dng, m c th l thut ton PCA.
Nghin cu cu trc nh mu, cc lnh x l nh mu trn matlab 7.0.
Nghin cu gii thut v thc hin phn mn nhn dng trn matlab 7.0.

Chng 1: Dn nhp

Nhn dng mt ngi trn Matlab

Chng 1: Dn nhp

Trang 4

CHNG 2
CC THUT TON
NHN DNG KHUN MT

Nhn dng mt ngi trn Matlab

Trang 6

2.1 nh ngha bi ton xc nh khun mt ngi


Xc nh khun mt ngi (Face Detection) l mt k thut my tnh xc nh cc v tr v
cc kch thc ca cc khun mt ngi 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..
2.2 ng dng ca phng php xc nh khun mt ngi
C nhiu ng dng c v ang thit k, ti ch xin a ra mt s loi ng dng sau:
H thng tng tc gia ngi v my: gip nhng ngi b tt hoc khim khuyt c th trao
i. Nhng ngi dng ngn ng tay c th giao tip vi nhng ngi bnh thng. Nhng ngi b
bi lit thng qua mt s k hiu nhy mt c th biu l nhng g h mun, .. l cc bi ton iu
b ca bn tay (hand gesture), iu b khun mt.

Nhn dng ngi A c phi l ti phm truy n hay khng? Gip c quan an ninh qun l tt

con ngi. Cng vic nhn dng c th trong mi trng bnh thng cng nh trong bng ti (s
dng camera hng ngoi).

H thng quan st, theo di v bo v. Cc h thng camera s xc nh u l con ngi v

theo di con ngi xem h c vi phm g khng, v d xm phm khu vc khng c vo, ..

Lu tr (rt tin ATM, bit ai rt tinvo thi im ), hin nay c tnh trng nhng

ngi b ngi khc ly mt th ATM hay mt m s PIN v nhng ngi n cp ny i rt tin, hoc
nhng ngi ch th i rt tin nhng li bo cho ngn hng l mt th v mt tin. 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.

Th cn cc, chng minh nhn dn (Face Identification)

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.

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.

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.

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 banh c Ronaldo
, ..

Chng 2: Thut ton nhn dng khun mt

Nhn dng mt ngi trn Matlab

Trang 7

Hin nay c nhiu hng tip cn xc nh mt nh c phi l nh kha thn hay khng?

Khun mt ngi c xem nh mt yu t xc nh cho mt hng tip cn m c dng gn


y.

ng dng trong video phone.

Phn loi trong lu tr hnh nh trong in thoi di ng. Thng qua bi ton xc nh khun

mt ngi v trch c trng, ri da vo c trng ny sp xp lu tr, gip ngi s dng d dng


truy tm khi cn thit.

Kim tra trng thi ngi li xe c ng gt, mt tp trung hay khng, v h tr thng bo khi
cn thit.

Phn tch cm xc trn khun mt.

Trong lnh vc thit k iu khin robot.

Hng my chp hnh Canon ng dngbi 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.


2.3 Phng php xc nh khun mt ngi
C nhiu nghin cu tm phng php xc nh khun mt ngi, t nh xm n ngy nay
l nh mu. Ti s trnh by mt cch tng qut nht nhng hng gii quyt chnh cho bi ton, t
nhng hng chnh ny nhiu tc gi thay i mt s nh bn trong c kt qu mi.
Da vo tnh cht ca cc phng php xc nh khun mt ngi trn nh. Cc phng php
ny c chia lm bn hng tip cn chnh. Ngoi bn hng ny, nhiu nghin cu c khi lin quan
n khng nhng mt hng tip cn m c lin
quan nhiu hn mt hng chnh:

Hng tip cn da trn tri thc: M ha cc hiu bit ca con ngi v cc loi khun mt

ngi thnh cc lut. Thng thng cc lut m t quan h ca cc c trng.

Hng tip cn da trn c trng khng thay i: Mc tiu cc thut ton i tm cc

c trng m t cu trc khun mt ngi m cc c trng ny s khng thay i khi t th khun


mt, v tr t thit b thu hnh hoc iu kin nh sng thay i.

Hng tip cn da trn so khp mu: Dng cc mu chun ca khun mt ngi (cc mu

ny c chn la v lu tr) m t cho khun mt ngi hay cc c trng khun mt (cc mu


ny phi chn lm sao cho tch bit nhau theo tiu chun m cc tc gi nh ra so snh). Cc mi
tng quan gia d liu nh a vo v cc mu dng xc nh khun mt ngi.

Hng tip cn da trn din mo: Tri ngc hn vi so khp mu, cc m hnh (hay cc

mu) c hc t mt tp nh hun luyn trc . Sau h thng (m hnh) s xc nh khun mt


ngi. Hay mt s tc gi cn gi hng tip cn ny l hng tip cn theo phng php hc.

Chng 2: Thut ton nhn dng khun mt

Nhn dng mt ngi trn Matlab

Trang 8

2.4 Nhn dng khun mt dng thut ton PCA


Kohonen a ra phng php dng vector ring nhn dng khun mt, ng dng mt
mng neural n gin chng t kh nng ca phng php ny trn cc nh c chun ha.
Mng neural tnh mt m t ca khun mt bng cch xp x cc vector ring ca ma trn tng quan
ca nh. Cc vector ring sau ny c bit n vi ci tn Eigenface. Kirby v Sirovich chng t cc
nh c cc khun mt c th c m ha tuyn tnh bng mt s lng va phi cc nh c s. Tnh
cht
ny da trn bin i Karhunen-Leve, m cn c gi di mt ci tn khc l PCA v bin i
Hotelling. tng ny c xem l ca Pearson trnh by u tin vo nm 1901v sau l
Hotelling vo nm 1933. Cho mt tp cc nh hun luyn c kch thc n x m c m t bi cc
vector c kch thc m x m, cc vector c s cho mt khng gian con ti u c xc nh thng qua
li bnh phng trung bnh khi chiu cc nh hun luyn vo khng gian con ny. Cc tc gi gi tp
cc vector c s ti u ny l nh ring sau gi cho n gin l vector ring ca ma trn hip
phng sai c tnh t cc nh khun mt vector ha trong tp hun luyn. Nu cho 100 nh, m
mi khun mt c kch thc 91x50 th c th ch dng 50 nh ring, trong khi vn duy tr c mt
kh nng ging nhau hp l (gi c 95% tnh cht).
Turk v Pentland p dng PCA xc nh v nhn dng khun mt. Tng t, dng PCA trn
tp hun luyn nh cc khun mt sinh cc nh ring (cn gi l eigenface) tm mt khng gian
con (khng gian khun mt) trong khng gian nh. Cc nh khun mt c chiu vo khng gian con
ny v c gom nhm li. Tng t cc nh khng c khun mt dng hun luyn cng c
chiu vo cng khng gian con v gom nhm li. Cc nh khi chiu vo khng gian khun mt th
khng b thay i tnh cht c bn, trong khi chiu cc nh khng c khun mt th xut hin s khc
nhau cng khng t. Xc nh s c mt ca mt khun mt trong nh thng qua tt c khong cch
gia cc v tr trong nh v khng gian nh. Khong cch ny dng xem xt c hay khng c khun
mt ngi, kt qu khi tnh ton cc khong cch s
cho ta mt bn v khun mt. C th xc nh c t cc tiu a phng ca bn ny. C
nhiu nghin cu v xc nh khun mt, nhn dng, v trch c trng t tng vector ring, phn
r, v gom nhm. Sau Kim pht trin cho nh mu, bng cch phn on nh tm ng khng
gian tm kim bt i.
2.5 Nhn dng nh da trn PCA
Khun mt con ngi c rt nhiu nt nhn bit , nu nh ta gp li mt ngi bn sau mt
thi gian di, ta c th nhn ra ngay ngi d nhng chi tit c th trn mt c th thay i nh da,
mi tc . Ta nhn ra khng phi v nh i mt , hay mi hay mi hay tc , lng my ngi m ta
nhn ra v nh din mo ca ngi . Tc l trn khun mt tn ti mt nt tng th no c th
nhn din , thut ton ca ta bt u t tng ny.

Chng 2: Thut ton nhn dng khun mt

Nhn dng mt ngi trn Matlab

Trang 9

Phn tch thnh phn chnh (Principal Component Analysis ) gi tt l PCA l thut ton nhn
dng nh da trn nhng nt tng th ca khun mt , ta s p dng thut ton ny thc hin hai
cng vic sau :
-

Th nht l tm mt khun mt ging vi khun mt cho trc

Th hai l xc nh v tr nhng khun mt ngi trong mt bc nh .


Ban u ta c mt tp nh khun mt gi l tp nh hun luyn (training set) . Gi s mi nh

c kch thc MN , ta coi mi bc nh ny l mt vector trong khng gian M*N chiu . By gi mi


khun mt l mt vector , ta thy nhng vector ny khng phn b ngu nhin trong khng gian nh
m phn b theo mt quy lut tng i no , ta c th ni nhng vector ny nm trong mt khng
gian con gi l khng gian khun mt . T nhng vector trong tp hun luyn , ta s tm mt c s
trc chun cho khng gian khun mt . Nhng vector thuc c s ny c th coi l nhng vector mang
nhng nt tng th c trng v khun mt .
Gi s tp hun luyn c P nh , khi ta s c P vector :

Tnh vector nh trung bnh : m =

,,

S khc bit gia nhng khun mt vi nh trung bnh l nhng vector :


, i=1P
tng ca vic phn tch thnh phn chnh l tm mt tp nhng vector trc chun

sao

cho nhng vector ny m t tt nht s phn b nhng vector khun mt trong khng gian . Nhng
vector

c chn sao cho :

ln nht .
Nhng vector
ca ma trn

v gi tr v hng

chnh l nhng vector ring v tr ring tng ng

l tch v hng gia hai vector u , v . A=[


Ta thy ma trn A c kch thc M*N P, cn ma trn

]
c kch thc M*NM*N , do

kch thc ma trn ny qu ln nn ta khng th tm c nhng vector ring v nhng tr ring trc
tip c , thay vo ta s tm nhng vector ring ca ma trn
Nu v l mt vector ring ca

c kch thc PP .

v l tr ring tng ng , khi ta c :

Chng 2: Thut ton nhn dng khun mt

Nhn dng mt ngi trn Matlab


v = v

Trang 10

v = Av , tc l Av l mt tr ring ca ma trn

Thng thng ta ch ly mt s Q vector ring ng vi Q tr ring c gi tr ln nht .


Sau khi c cc vector ring ca ma trn

, ta s chun ha chng thu c mt c s

trc chun ca khng gian khun mt .


t L=

, tm V l tp hp cc vector ring ca L , D l tp hp cc tr ring tng ng .

V bao gm Q vector ring ng vi nhng tr ring ln hn mt gi tr no hoc ng vi Q


tr ring ln nht trong D .
E = AV l tp cc vector ring ca

. Do y l nhng vector ring , m n li c dng

khun mt nn cn uc gi l Eigenfaces . E l ma trn M*NQ , mi ct l mt vector ring .


Chun ha cc vector ct trong E ( chia mi vector cho di ca vector ) .
By gi , ta c th coi E l mt c s trc chun ca khng gian khun mt .
Vi H l bc nh c cng kch thc vi nhng bc nh trong tp hun luyn . Ta s xt n c
phi l bc nh khun mt hay khng , cng nh tm bc nh ging vi n nht trong tp hun luyn .
H c xem l mt vector trong khng gian M*N chiu .
t K=H-m vi m l vector nh trung bnh .
Cho V l mt khng gian c tch v hng hu hn chiu v W l mt khng gian con ca V .
Gi s W c mt c s trc chun l {

,,

. Khi hnh chiu trc giao ca vector u bt k

ln W c xc nh nh sau :

=
di

c gi l khong cch t u n W .

Tp hp

, i=1, , Q c gi l ta ca

Tm C=

K l ta ca hnh chiu

=
Vi

vi

= C( i , 1) ;

ca K ln khng gian khun mt . C l vector ct Q1

= E( : , i ) .

l mt ct trong ma trn A ( tng ng vi bc nh

l ta ca hnh chiu

trong khng gian W .

ca

trong tp hun luyn ) . Ta tnh

ln khng gian khun mt .

Ta tnh hai i lng sau :

s=

xem nh khong cch t bc nh H n khng gian mt


=

xem nh khong cch t H n bc nh

Xt v l hai ngng no .

Chng 2: Thut ton nhn dng khun mt

trong tp hun luyn

Nhn dng mt ngi trn Matlab


-

Trang 11

s < th H l bc nh khun mt ( do H gn vi khng gian mt )

th

l bc nh ca cng mt ngi vi H . ( H gn vi

Vy l ta c th tm bc nh trong tp hun luyn ging vi bc nh H hay xc nh c phi l


bc nh khun mt hay khng . Tuy nhin nh H phi c cng kch thc vi nhng bc nh trong
tp hun luyn . By gi trong mt bc nh ln H c nhiu khun mt , ta s xc nh v tr nhng
khun mt trong bc nh .
Ti mi v tr (x,y) trong H , t H(x,y) l mt vng trong nh H c kch thc MN ti (x,y) , ta xem
nh con H(x,y) l mt vector M*N chiu .
K(x,y) = H(x,y) m ;
Tm

(x,y) l hnh chiu ca K(x,y) ln khng gian khun mt .

Tnh s(x,y)=

Tp hp cc gi tr s(x,y) to thnh mt bn khun mt (face map) ca H , t ta c th xc nh


v tr nhng khun mt trong nh .

Chng 2: Thut ton nhn dng khun mt

CHNG 3
NH MU TRN MATLAB V
CC LNH X L NH MU TRONG MATLAB

Nhn dng mt ngi trn Matlab

Trang 14

3.1 Gii thiu nh s


nh s l tp hp cc im nh vi mc xm ph hp dng m t nh gn vi nh tht.
nh l mt s vt i din cho con ngi,sinh vt hay s vt no .v.v nh ng nh ta thy trn
truyn hnh thc cht l tp hp ca rt nhiu nh tnh lin tip.khi mt nh c s ha th n tr
thnh nh s v nh s ny li l mt tp hp ca rt nhiu phn t nh c gi l im nh hay l
pixel.mi im nh li c biu din di dng mt s hu hn cc bit.
chng ta c th chia nh ra lm ba loi khc nhau :

nh en trng :mi im nh c biu din bi mt bit

nh Gray scale :mi im nh c biu din bng cc mc chi khc nhau,thng th nh

ny c biu din bng 256 mc chi hay l 8 bit cho mi dim nh.

nh mu : mi im nh chia ra thnh tn hiu chi v tn hiu mu

Hnh 3.1: nh mu
3.1.1 Biu din nh s
Trong biu din nh, ngi ta thng dung cc phn t c trng ca nh l Pixel. Nhn chung
c th xem mt hm 2 bin cha cc thong tin biu din ca mt nh. Cc m hnh biu din nh cho
ta mt m t logic hay nh lng cc tnh cht ca hm ny.
Vic x l nh s phi c ly mu v lng t ha. Vic lng t ha l chuyn i tn hiu tng
t sang tn hiu s ca mt nh ly mu sang mt s hu hn mc xm.
Mt s m hnh thng dung biu din nh: m hnh ton, m hnh thng k.
3.1.2 nh mu
*c s v mu :
Nh ta bit th khi cho nh sng trng i qua lng knh ta s thu c mt dy ph mu bao
gm 6 mu rng : tm , lam , lc , vng , cam , . Nu nhn k th s khng c ranh gii r rng gia

Chng 3: nh mu v x l nh trn Matlab

Nhn dng mt ngi trn Matlab

Trang 15

cc mu m mu ny s t t chuyn sang mu kia.Mt chng ta nhn thy c l do nh sng phn


x t vt th.
Tt c cc mu c to ra t 3 mu c bn (mu s cp) l : (R),lam (B) v lc (G).Cc
mu c bn trn li vi nhau theo mt t l nht nh to ra cc mu th cp
Phng trnh mu :
Y= 0.2989*R +0.58662*G + 0.11448*B

Hnh 3.2: Cc mu c s
Vd : + lc = vng
Lc +lam = xanh
Trn ba mu s cp hoc trn mt mu th cp vi mu s cp ngc vi n s to ra c
nh sng trng
Cc mu gc c lin quan n cc khi nim sinh hc hn l vt l, n da trn c s phn ng
sinh l hc ca mt ngi i vi nh sng. Mt ngi c cc t bo cm quang c hnh nn nn cn
c gi l t bo hnh nn, cc t bo ny thng thng c phn ng cc i vi nh sng vng - xanh
l cy (t bo hnh nn L), xanh l cy (t bo hnh nn M) v xanh lam (t bo hnh nn S) tng ng
vi cc bc sng khong 564 nm, 534 nm v 420 nm. V d, mu vng thy c khi cc t bo cm
nhn mu xanh nh vng c kch thch nhiu hn mt cht so vi t bo cm nhn mu xanh l cy
v mu cm nhn c khi cc t bo cm nhn mu vng - xanh c cy c kch thch nhiu hn
so vi t bo cm nhn mu xanh l cy.
Cc c trng dng phn bit mt mu vi mu khc l : sng (brightness) , sc mu
(hue) v bo ha mu (Saturation)

Mu sc c lin quan n bc sng nh sng .Thng thng, sc mu chnh l tn ca mu. V

d: , cam, lc

sng th hin v cng nh sng :m t n sng hay ti nh th no

Chng 3: nh mu v x l nh trn Matlab

Nhn dng mt ngi trn Matlab

Trang 16

bo ha mu : th hin thun khit ca mu. Khi bo ha cao, mu s sch v rc r.

C nhiu m hnh mu nh RGB,CYM,YIQ,CIE... y ch trnh by v m hnh mu RGB

lam

(0.0.1)

Trng
en

(0.1.0)
Lc
vng

(1.0.0)
Hnh 3.3: M hnh mu RGB
Cc mu R,G,B nm cc nh trn trc ta ca khi vung.Mu en nm gc ta ,mu
trng nm gc xa nht so vi im gc.Thang mu xm ko di t en n trng (ng chm).
Hnh nh trong m hnh mu RGB bao gm 3 mt phng nh c lp (dng cho cc mu s
cp).
Thng th ta gi thit l tt c cc gi tr mu c chun ha (tc l khi vung l khi n
v),tt c cc gi tr mu nm trong khong [0,1]
V vy trong h mu RGB cc mu c th m t nh l nhng im bn trong hnh lp phng.
gc ta (0;0;0) l mu en.Trn cc trc ta dng l cc mu lc,lam. Khi nh sng t
cc im ring bit s c cng vi nhau to ra cc mu khc nhau.

(0, 0, 0) l mu en

(255, 255, 255) l mu trng

(255, 0, 0) l mu

(0, 255, 0) l mu xanh l cy

(0, 0, 255) l mu xanh lam

(255, 255, 0) l mu vng

(0, 255, 255) l mu xanh ngc

(255, 0, 255) l mu hng sm

Chng 3: nh mu v x l nh trn Matlab

Nhn dng mt ngi trn Matlab

Trang 17

3.1.3 Cc nh dng nh c bn trong x l nh


nh thu c sau qu trnh s ha thng c lu li cho cc qu trnh x l tip theo hay
truyn i .Trong qu trnh pht trin ca k thut x l nh, tn ti nhiu nh dng nh khc nhau t
nh en trng (vi nh dng IMG), nh a cp xm cho n nh mu: (BMP, GIF, JPEG).
- nh dng nh IMG l nh en trng. phn u ca IMG c 16byte cha thng tin.
- nh dng nh GIF:GIF (vit tt ca Graphics Interchange Format; trong ting Anh ngha l
"nh dng Trao i Hnh nh") l mt nh dng tp tin hnh nh bitmap cho cc hnh nh dng t hn
256 mu sc khc nhau v cc hot hnh dng t hn 256 mu cho mi khung hnh. GIF l nh dng
nn d liu c bit hu ch cho vic truyn hnh nh qua ng truyn lu lng nh. nh dng ny
c CompuServe cho ra i vo nm 1987 v nhanh chng c dng rng ri trn World Wide Web
cho n nay.Tp tin GIF dng nn d liu bo ton trong kch thc tp tin c th c gim m
khng lm gim cht lng hnh nh, cho nhng hnh nh c t hn 256 mu. S lng ti a 256 mu
lm cho nh dng ny khng ph hp cho cc hnh chp (thng c nhiu mu sc), tuy nhin cc
kiu nn d liu bo ton cho hnh chp nhiu mu cng c kch thc qu ln i vi truyn d liu
trn amngj hin nay. nh dng JPEG l nn d liu tht thot c th c dng cho cc nh chp,
nhng li lm gim cht lng cho cc bc v t mu, to nn nhng ch nhe thay cho cc ng sc
nt, ng thi nn cng thp cho cc hnh v t mu. Nh vy, GIF thng c dng cho s ,
hnh v nt bm v cc hnh t mu, cn JPEG c dng cho nh chp. nh dng GIF da vo cc
bng mu: mt bng cha ti a 256 mu khc nhau cho bit cc mu c dng trong hnh.

Hnh 3.4: nh GIF


- nh dng JPEG: Phng php nn nh JPEG (ting Anh, vit tt cho Joint Photo-graphic
Experts Group) l mt trong nhng phng php nn nh hiu qu, c t l nn nh ti vi chc ln.
Tuy nhin nh sau khi gii nn s khc vi nh ban u. Cht lng nh b suy gim sau khi gii nn.
S suy gim ny tng dn theo h s nn. Tuy nhin s mt mt thng tin ny l c th chp nhn c
v vic loi b nhng thng tin khng cn thit c da trn nhng nghin cu v h nhn th ca
mt ngi.Phn m rng ca cc file JPEG thng c dng .jpeg, .jfif, .jpg, .JPG, hay .JPE; dng .jpg

Chng 3: nh mu v x l nh trn Matlab

Nhn dng mt ngi trn Matlab

Trang 18

l dng c dng ph bin nht. Hin nay dng nn nh JPEG rt c ph bin trong TDD cng
nh nhng trang thit b lu gi c dung lng nh. Cng on chnh l chia nh bc nh thnh nhiu
vng nh (thng thng l nhng vng 8x8 pixel) ri s dng bin i cosin ri rc bin i nhng
vng th hin ny thnh dng ma trn c 64 h s th hin "thc trng" cc pixel. iu quan trng l
y h s u tin c kh nng th hin "thc trng" cao nht, kh nng gim rt nhanh vi cc h
s khc. Ni cch khc th lng thng tin ca 64 pixels tp trung ch yu mt s h s ma trn theo
bin i trn. Trong giai on ny c s mt mt thng tin, bi khng c bin i ngc chnh xc.
Nhng lng thng tin b mt ny cha ng k so vi giai on tip theo. Ma trn nhn c sau bin
i cosin ri rc c lc bt s khc nhau gia cc h s. y chnh l lc mt nhiu thng tin v
ngi ta s vt b nhng thay i nh ca cc h s. Nh th khi bung nh nn ta s c c nhng
tham s khc ca cc pixel. Cc bin i trn p dng cho thnh phn U v V ca nh vi mc cao
hn so vi Y (mt nhiu thng tin ca U v V hn). Sau th p dng phng php m ha ca
Gernot Hoffman: phn tch dy s, cc phn t lp li nhiu c m ha bng k hiu ngn ( marker).
Khi bung nh ngi ta ch vic lm li cc bc trn theo qu trnh ngc li cng vi cc bin i
ngc

.
Hnh 3.5: nh dng JPEG
3.2 Cc kiu hnh nh trong Matlab
Image Processing Toolbox ca Matlab h tr bn kiu biu din hnh nh c bn gm: nh ch
s(indexed images), nh sng(intensity images), nh nh phn (binary images), nh RGB(RGB
images).
nh ch s
Vi cch biu din nh ny mi nh s c biu din bi hai ma trn, mt ma trn d liu nh
X v mt ma trn mu (cn gi l bn mu). Ma trn d liu c th thuc kiu uint8, uint16, hoc
double. Ma trn mu l ma trn kch thc m x 3 gm cc phn t kiu double c gi tr nm trong
khon [0,1]. Mi hng ca ma trn xc nh cc thnh phn red, green, blue ca ca mt mu trong

Chng 3: nh mu v x l nh trn Matlab

Nhn dng mt ngi trn Matlab

Trang 19

tng s m mu c s dng trong nh, gi tr ca mi phn t trong ma trn d liu cho bit mu ca
im nh nm hng no trong ma trn mu. Nu ma trn d liu thuc kiu double, gi tr 1 s
tng ng vi hang th 1 trong bng mu, gi tr th 2 s tng ng vi hang th hai trong bng mu..
Nu ma trn d liu thuc kiu uint8 hoc uint16, gi tr 0 tng ng vi hng 1, gi tr 1 tng ng
vi hang 2,.. Ring vi kiu uint6, Matlab khng h tr cc php ton so vi kiu uint8 nn khi cn
s l ta chuyn sang kiu d liu uint8 hoc double bng cc hng imapprox hoc im2double.
nh biu din theo sng
Mi nh c biu din bi mt ma trn hai chiu, trong gi tr ca mi phn t cho bit
sng (hay mc xm) ca im nh . Ma trn ny c th thuc mt trong cc kiu uint8, uint16 hoc
double. Trong gi tr nh nht 0 tng ng vi mu en cn gi tr ln nht(255 hoc 65535 ty
kiu d liu no) ng vi mu trng. Nh vy, nh biu din theo kiu ny gi l nh trng en hoc
nh gray scale.
nh nh phn
nh nh phn cng c biu din bng ma trn hai chiu nhng thuc kiu logical, c ngha
l mi im nh ch c th nhn mt trong hai gi tr 0(en) hoc 1 (trng).
nh RGB
nh RGB cn gi l nh truecolor do tnh trung thc ca n. nh ny c biu din bi
mt ma trn 3 chiu c kch thc m x n x 3, vi m x n l kch thc nh theo pixels. Ma trn ny nh
ngha cc thnh phn mu red, green, blue cho mi im nh, cc phn t ca n c th thuc kiu
uint8, uint16, hoc double. V d, im nh v tr (10,5) s c ba thnh mu c xc nh bi cc
gi tr (10,5,1), (10,5,2) v (10,5,3). Cc file nh hin nay thng s dng 8 bit cho thnh phn mu,
ngha l mt 24bit cho mi im nh (khong 16 triu mu).
3.3 Chuyn i gia cc kiu d liu
Chng ta c th chuyn i gia cc kiu d liu uint8, uint16 v double nh s dng cc hm
chuyn i ca Matlab nh im2double, im2uint8, im2uint16. C php ca cc hm ny rt n gin,
ch cn nhp vo ma trn cn chuyn kiu, ring vi nh indexed cn thm vo chui indexed.
Tuy nhin cn lu cc vn sau khi chuyn i nh:
- Khi chuyn i t nh nhiu bit sang nh t bit hn, nh chuyn t uint16 sang uint8 th s
lm mt i mt s thng tin ca nh ban u, cht lng nh s gim.
- Khi chuyn i d liu vi kiu indexed, th lu cc thng tin ma trn l a ch trong bng
mu ch khng phi gi tr mu nn khng phi lc no cng chuyn i c. Mun chuyn c
u tin ta phi dng hm imapprox gim s mu cn biu din nh xung(bng cch cho cc mu
gn ging nhau thnh mt) ri mi chuyn.

Chng 3: nh mu v x l nh trn Matlab

Nhn dng mt ngi trn Matlab


Tn thuc tnh
Filename
FileModDate
FileSize
Format
FormatVersion
Width
Height
BitDepth
ColorType

Trang 20

M t
Chui cha tn file
Ngy chnh file gn nht
S nguyn ch kch thc file(byte)
Chui cho bit nh dng nh
Tn phin bn nh dng nh
Chiu rng nh(pixel)
Chiu cao nh(pixel)
S bit trn mt pixel
Cho bit kiu nh(truecolor, indexed..)
Bng 3.1: Cc thng tin khi gi hm imfinfo

3.4 Cc php ton s hc c bn i vi d liu nh


Cc php ton bao gm cc php cng, tr, nhn v chia. y l cc thao tc x l nh c bn
trc khi thc hin cc php bin i phc tp khc. Ngi s dng c th s dng cc hm s hc m
Matlab cung cp tc ng ln d liu nh. Tuy nhin Matlab ch h tr cc php ton ny trn kiu
d liu double nn cn phi chuyn i kiu trc khi thc hin. n gin hn, Matlab cung cp
cc hm thc hin cc php ton s hc c th chp nhn bt k bt k kiu d liu nh no v tr v
kt qu gi thuc cng kiu vi cc ton hng.
C php

M t
Tr tng ng mi phn t y cho mi phn t

z=imabsdiff(x,y)

ca x, tr v tr tuyt i hiu
Cng hai nh, cng nh vi hng s, out_class

z=imadd(x,y,out_class)

kiu d liu tng


Ly b ca nh im
Chia cc phn t x cho cc phn t y,kt qu lm

im2= imcomplement(im)
z=imdivide(x,y)
z=imlincomb(k1,a1,k2,a2,out_class)
z=immultiply(x,y)
z=imsubtract(x,y)

trn
Ly t hp tuyn tnh z=k1*a1+k2*a2+
Nhn hai nh, nh vi hng s
Tr hai nh, nh vi hng s

Bng 3.2 Cc php ton s hc trn nh


3.5 Cc hm hin th nh trong Matlab
hin th nh, Matlab cung cp 2 hm c bn l image v imagesc. Ngoi ra, trong Image
Processing Toolbox cng c hai hm hin th khc l imview v imshow
- Hm image(x,y,c) hin th hnh nh biu din bi ma trn c kch thc mxn ln h trc ta
. x,y l cc vct xc nh v tr ca cc im c(1,1) v c(m,n).
- Hm imagesc c chc nng tng t hm image, ngoi tr vic d liu nh s c co gin
s dng ton b bn mu hin hnh.

Chng 3: nh mu v x l nh trn Matlab

Nhn dng mt ngi trn Matlab

Trang 21

- Hm imview cho php hin th nh trn ca s ring nn Java, gi l Image Viewer.


- Hm imshow cho php hin th nh trn mt Figure v t ng thit lp gi tr cc i tng
image, axes, figure hin th hnh nh.
Cc hm chuyn i loi nh v kiu d liu nh
dither
To nh nh phn hay nh RGB
gray2ind
Chuyn nh trng en thnh nh indexed
grayslice
Chuyn nh trng en thnh nh indexed bng ly ngng
im2bw
Chuyn nh thnh nh kiu d liu nh phn
im2double
Chuyn nh thnh nh kiu d liu double
im2uint16
Chuyn nh thnh nh kiu d liu uint16
im2uint8
Chuyn nh thnh nh kiu d liu uint8
imapprox
Xp x nh indexed bng cch gim s mu
ind2gray
Chuyn nh indexed thnh nh gray scale
ind2rgb
Chuyn nh indexed thnh nh RBG
mat2gray
To nh gray scale t ma trn
rgb2ind
Chuyn nh RBG thnh nh indexed
rgb2gray
Chuyn nh RBG thnh nh gray scale
Cc hm truy xut d liu nh
imfinfo
Truy xut thng tin nh
imread
c nh t file v xut ra ma trn nh
imwrite
Lu ma trn nh thnh file nh
Cc hm bin i hnh hc
cp2tform
nh ngha php bin i hnh hc tng cp tng ng
imcrop
Trch xut mt phn nh
imresize
Thay i kch thc nh
imrotate
Thc hin php quay nh
imtranform
Thc hin php bin i hnh hc tng qut
maketform
nh ngha php bin i hnh hc tng qut
Bng 3.3 Cc hm x l hnh nh khc trong Matlab
3.6 Cc hm khc c s dng trong ti
[filename,pathname]=uigetfile(filterspec,title): hin th hp thoi chn ng dn file. Gi
tr tr v tn file, v ng dn.

T=strcat(s1,s2,s3): ghp cc chui li vi nhau, tr v chui ni tip s1s2s3

strcmp(s1,s2): hm so snh, tr v 1 nu s1 ging s2, ngc li tr v 0

T=dir(pathname): Ly thng tin ca mt Folder bao gm: s file cha trong folder, tn file,
ngy to, kch thc file

S=int2str(x): Chuyn i s kiu integer thnh chui k t

N=num2str(x): Chuyn i cc s(bt k c th s nguyn hoc thc) thnh chui k t.

D=size(a): Tr v gi tr l ma trn c dng [x,y] l kch thc ca ma trn a

Chng 3: nh mu v x l nh trn Matlab

Nhn dng mt ngi trn Matlab

Trang 22

T=reshape(X,M,N): Tr v ma trn c kch thc MxN vi cc phn t l cc phn t nm


trong ma trn X.

mean(X): Ma trn X c kch thc MxN, hm tr v ma trn c kch thc 1xN mi phn t l
trung bnh tng ct trong ma trn X

mean(X,dim): vi dim l chiu ly trung bnh, nu dim bng 1 ly trung bnh theo ct, nu
dim bng 2 ly trung bnh theo hng. Khng c tham s dim th mc nh dim bng 1.

double(X): Chuyn i gp i chnh xc gi tr ma trn X .

E=eig(X): Tr v mt vector cha cc gi tr ring ca ma trn vung X.


[V, D] = eig(X): to ra mt ma trn ng cho D ca cc gi tr ring v mt ma trn V c cc
ct tng ng l cc vector ring, do : X * V = V * D

diag(V,K): Trong V l mt vector vi cc thnh phn N l mt ma trn vung


kiu N+ABS(K) vi cc phn t ca V trn ng cho th K. K = 0 l ng cho chnh, K>
0 l pha trn ng cho chnh v K <0 l pha di ng cho chnh.
Diag(V):Ging nh DIAG (V, 0) v t vector V trn ng cho chnh.

Sort(X): Phn loi tng dn hay gim.


i vi cc vector, Sort(X) sp xp cc phn t ca X th t tng dn.
i

vi

ma

trn,

Sort(X)

cc

loi

mi

ct

ca

th

tng

dn.

Khi X l mt mng di ng ca chui, Sort(X) sp xp cc k t theo th t bng m ASCII.

Norm(X): Chun ha ma trn v vector X.

Min(X): Tr v v tr ca phn t nh nht ca ma trn X.

Chng 3: nh mu v x l nh trn Matlab

CHNG 4
GII THIU
CHNG TRNH

Nhn dng mt ngi trn Matlab

Trang 26

4.1 Gii thiu chng trnh


Chng trnh Nhn dng mt ngi trn Matlab l chng trnh c thit k trn giao din
ngi dng GUI ca phn mn Matlab 7.0. Rt n gin v dng s dng.
m chng trnh bn c th lm thao 2 cch
M trc tip trn chng trnh Matlab 7.0. Ta ch ng dn n th mc DOAN2 sau Run
file DOAN2.fig. Nh hnh di y:

Hnh 4.1: M chng trnh trn Matlab


Hoc cc bn cng c th vo trc tip th mc DOAN2 m file DOAN2.fig. Sau khi chy chng
trnh, s xut hin hp th thoi nh hnh:

Chng 4: Gii thiu chng trnh

Nhn dng mt ngi trn Matlab

Trang 27

Hnh 4.2: Giao din chng trnh


y chnh l giao din gii thiu ca chng trnh. Trn giao din c 2 nt nhn Next v
Close. Nu chn Close, s thot khi chng trnh. Nu chn Next, ta s n giao din tip theo ca
chng trnh chnh. Nh hnh di y:

Hnh 4.3: Giao din chng trnh chnh

y chnh l giao din chnh ca chng trnh gm hai khung hin th hnh nh v hai nt
nhn Browse v Search. bt u tm kim ta cn load nh khun mt ngi cn kim tra bng cch
nhn vo phm Browse. Hp thoi m file xut hin, bn chn file nh bn mun kim tra. y ta ly
v d nh kim tra l nh 4.jpg nh hnh v:

Hnh 4.4: Chn nh cn kim tra

Chng 4: Gii thiu chng trnh

Nhn dng mt ngi trn Matlab

Trang 28

nh cn kim tra s c a ra giao din chng trnh chnh nh hnh:

Hnh 4.5: nh cn kim tra


kim tra xem khun mt ngi trong nh cn kim tra chng ta nhn nt Search chng trnh s
chy v tm trong CSDL bc nh c khun mt ging vi khun mt ngi trong nh cn kim tra.
Hin th ra giao din chng trnh chnh.

Hnh 4.6: nh trung bnh

Chng 4: Gii thiu chng trnh

Nhn dng mt ngi trn Matlab

Trang 29

Hnh 4.7: Hnh chiu nh ln khng gian nh

Hnh 4.8: nh cn tm
Chng trnh s tm ra khun mt gn ging nht vi khun mt cn kim tra. V y kt qu tm
c l hnh c tn 7.jpg.

Chng 4: Gii thiu chng trnh

Nhn dng mt ngi trn Matlab

Chng 4: Gii thiu chng trnh

Trang 30

CHNG 5
S KHI V
CODE CHNG TRNH

Nhn dng mt ngi trn Matlab


5.1 S khi

Hnh 5.1: S khi tng qut ca chng trnh


5.2 Code chng trnh
function varargout = DOANMONHOC2(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',

mfilename, ...

'gui_Singleton', gui_Singleton, ...


'gui_OpeningFcn', @DOANMONHOC2_OpeningFcn, ...
'gui_OutputFcn', @DOANMONHOC2_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else

Chng 5: S khi v code chng trnh

Trang 32

Nhn dng mt ngi trn Matlab


gui_mainfcn(gui_State, varargin{:});
end
function DOANMONHOC2_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
clc;
% --- Outputs from this function are returned to the command line.
function varargout = DOANMONHOC2_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function Search_Callback(hObject, eventdata, handles)
load TestImage;
axes(handles.anhtimduoc);
TrainPath='train';
T = taoCSDL(TrainPath);
[m, A, Eigenfaces] = taoEF(T);
OutputName = nhandien(TestImage, m, A, Eigenfaces);
anhtim = strcat(TrainPath,'\',OutputName);
anhtim = imread(anhtim);
imshow(anhtim);
title('Anh tim duoc');
str = strcat('Ten anh :',OutputName);
set(handles.tenanh,'String',str);
function Browse_Callback(hObject, eventdata, handles)
[file_name file_path] = uigetfile ('*.jpg','Chon anh kiem tra ','test\2.jpg');
if file_path ~= 0
TestImage = imread ([file_path,file_name]);
end
axes(handles.anhkiemtra);
if file_path ~= 0
imshow(TestImage);

Chng 5: S khi v code chng trnh

Trang 33

Nhn dng mt ngi trn Matlab


end
save TestImage;

function T = taoCSDL(trainPath)
% trainPath la duong dan toi thu muc csdl anh .Thu muc nay ngoai nhung
% file anh con chua nhung file khac co ten : . , .. , Thumbs.db
% Bien tat ca anh kich thuoc MxN thanh vector cot M*Nx1 , su dung
% ham reshape cua Matlab , sau do dat vao ma tran T , cuoi cung ma tran T
% se co kich thuoc M*NxP
% return T
csdl = dir(trainPath);
soanh = 0;
for i = 1:size(csdl,1) % dem nhung file la anh trong csdl
if not(strcmp(csdl(i).name,'.')|strcmp(csdl(i).name,'..')|strcmp(csdl(i).name,'Thumbs.db'))
soanh = soanh + 1; % so anh chua trong tap csdl
end
end
% Tao ma tran tu nhung tam anh
T = [];
for i = 1 : soanh
% Trong csdl cua vi du nay thi cac file anh co ten : 1.jpg , 2.jpg ...
str = int2str(i);
str = strcat('\',str,'.jpg');
str = strcat(trainPath,str); % lay ten day du cua file anh
img = imread(str);
img = rgb2gray(img);
[dong cot] = size(img);
tam = reshape(img',dong*cot,1); % bien anh thanh vector
T = [T tam]; % tang dan kich thuoc ma tran T
end
function [m, A, E] = taoEF(T)
% T la mot ma tran kich thuoc M*NxP chua tat ca anh trong csdl , moi anh la
% mot vector cot trong ma tran T .

Chng 5: S khi v code chng trnh

Trang 34

Nhn dng mt ngi trn Matlab


% Theo thuat toan PCA ,dau tien ta se tinh ra m la trung binh cua tat ca cac anh
% trong ma tran T.
% Sau do ta se lay tung buc anh trong T tru cho anh trung binh , ta se duoc mot ma
% tran A kich thuoc M*NxP
% Ta can tim Eigenface la nhung vector rieng cua ma tran A*A' , nhung ma
% tran A*A' kich thuoc l M*NxM*N qua lon , ta se tim nhung vector rieng
% cua ma tran A'*A co kich thuoc PxP . Ta se tim nhung vector rieng
% bang ham eig trong MatLab
% Gia su v la mot vector rieng cua ma tran A'*A , khi do A*v la vector
% rieng cua ma tran A*A' .
% tap hop nhung vector rieng cua ma tran A*A' goi la Eigenfaces
% tra ve 3 gia tri :
%

m anh trung binh

A tap hop nhung (anh-anh trung binh )

E nhung vector rieng cua ma tran A*A'

%tinh toan anh trung binh


m = mean(T,2);
soanh = size(T,2);
%xuat ra hinh anh cua m
show(m,'Anh trung binh');pause;
% tinh do lech giua anh moi buc anh voi anh trung binh
A = [];
for i = 1 : soanh
temp = double(T(:,i)) - m; % T(:,i): vector cot thu i chinh la mot buc anh
if i<6
show(temp,'Anh - Anh TB');pause;
end
A = [A temp];
end
% tim nhung tri rieng va nhung vector rieng cua ma tran A'*A , tu do tim
% nhung vector rieng cua ma tran A*A' la nhung Eigenface
L = A'*A;
[V D] = eig(L);
%V chua nhung vector rieng , con D chua nhung tri rieng trong do vector
%rieng V(:,i) ung voi tri rieng D(i,i)

Chng 5: S khi v code chng trnh

Trang 35

Nhn dng mt ngi trn Matlab


D1=diag(D);
D1=sort(D1);
s=size(D1);s=s(1);
D1=D1(s-18);
LeigV = [];%tap hop vector rieng cua ma tran L=A'*A
for i = 1 : size(V,2)
if( D(i,i)>D1 )
LeigV = [LeigV V(:,i)];
end
end
%ta chi lay 18 vector rieng ung voi 10 tri rieng lon nhat
%nhu da noi o tren , sau khi co cac vector rieng cua ma tran A'*A , ta tim
%cac vector rieng cua ma tran A*A' bang cach lay ma tran A nhan voi cac
%vector rieng nay , tap hop cac vector rieng cua ma tran A*A' con duoc goi
%la Eigenface do day la nhung vector rieng va no giong hinh khuon mat .
E = A * LeigV;
%xuat ra mot so hinh anh cua cac Eigenface
for i=1:5
anh=E(:,i);
show(anh,'Eigenface');pause;
end
%E la mot co so gom nhung vector truc giao , ta se chuan hoa no de E bien
%thanh mot co so truc chuan
sovector=size(E,2);
for i=1:sovector
dodai=norm(E(:,i));
E(:,i)=E(:,i)/dodai;
end
end
function show(m,t)
%ham show duoc su dung de hien thi hinh anh voi kich thuoc mau
%m la matran anh can hien thi
%t la chuoi the hien tieu de cua anh

Chng 5: S khi v code chng trnh

Trang 36

Nhn dng mt ngi trn Matlab


im=imread('anhmau.jpg');
try
im=rgb2gray(im);
catch
end
[dong,cot]=size(im);% lay kich thuoc (anhmau.jpg coi nhu bien tam luu kich thuoc)
tam=reshape(m,cot,dong);
tam=tam';
imshow(tam);
dem=1;
for i=1:dong
for j=1:cot
im(i,j)=tam(i,j);
end
end
imshow(im);title(t)
end
function anhtim = nhandien(InputImage, m, A, E)
%Ham nay se so sanh buc anh kiem tra voi tung buc anh trong CSDL .
%Dau tien tinh toa do hinh chieu cua buc anh kiem tra , sau do tinh toa do
%hinh chieu cua tat ca buc anh trong csdl . Cuoi cung do khoang cach giua
%toa do hinh chieu cua nhung buc anh trong csdl voi toa do hinh chieu cua
%anh kiem tra . Buc anh trong csdl co khoang cach ngan nhat voi anh kiem
%tra chinh la buc anh tuong ung voi buc anh kiem tra .
%Inputimage la duong dan toi buc anh can kiem tra
%m la anh trung binh cua cac anh trong csdl
%A la ma tran , moi cot la do lech giua mot anh trong csdl so voi anh trung
%binh , con goi la vector anh trung tam
%E la tap hop nhung vector rieng cua ma tran A*A'
%m,A va E duoc lay tu ham 'taoEF'
%anhtim la ten cua buc anh tim duoc trong csld
toado = [];%tap toa do hinh chieu cua moi buc anh trong csdl
sovector = size(E,2);%so vector rieng trong E ( la so cot )

Chng 5: S khi v code chng trnh

Trang 37

Nhn dng mt ngi trn Matlab


for i = 1 : sovector
tam = E'*A(:,i); %toa do hinh chieu cua buc anh Ai
toado = [toado tam];
end
tam = rgb2gray(InputImage);
[dong cot] = size(tam);
InImage = reshape(tam',dong*cot,1);
%tinh do lech giua anh kiem tra va anh trung binh trong csdl , do lech la
%mot vector cot giong nhu cac vector cot trong ma tran A
dolech = double(InImage)-m;
%tuong tu nhu khi tim toa do hinh chieu cua cac vector cot cua A , bay gio ta
%tim toa do hinh chieu cua buc anh kiem tra
toadoKT = E'*dolech;
%
hinhchieuKT=double(InImage)*0;
for i=1:sovector
hinhchieuKT=hinhchieuKT + toadoKT(i,1)*E(:,i);
end
show(hinhchieuKT,'Hinh chieu anh len KG anh');pause;%figure;
kc=norm(double(InImage)-hinhchieuKT);
str=num2str(kc);
str=strcat('Khoang cach tu anh kiem tra toi khong gian khuon mat : ',str);
disp(str);
%Bay gio ta se tinh khoang cach giua toa do hinh chieu cua buc anh kiem tra voi
%tat ca toa do hinh chieu cua cac buc anh trong csdl . Toa do hinh chieu cua
%anh kiem tra se co khoang cach ngan nhat voi hinh chieu cua buc anh tuong
%ung trong csdl (Hai buc anh cung la khuon mat cua mot nguoi )
%
%ta luu y la moi toa do hinh chieu la mot vector , ta se dung chuan Euclid de tinh
%khoang cach giua 2 vector (2 toa do hinh chieu)
khoangcach = [];
for i = 1 : sovector
q = toado(:,i);
tam = ( norm( toadoKT - q ) )^2;
khoangcach = [khoangcach tam];

Chng 5: S khi v code chng trnh

Trang 38

Nhn dng mt ngi trn Matlab


endA
%lay ra khoang cach ngan nhat va vi tri cua buc anh tim duoc trong csdl ,
%ta luu y la nhung file anh trong csdl co ten la : 1.jpg , 2.jpg ....
[minKC , vitri] = min(khoangcach);
str=num2str(minKC);
str=strcat('Min khoang cach hai toa do hinh chieu : ',str);
disp(str);
anhtim = strcat(int2str(vitri),'.jpg');

Chng 5: S khi v code chng trnh

Trang 39

Nhn dng mt ngi trn Matlab

Chng 5: S khi v code chng trnh

Trang 40

CHNG 6
PHM VI GII HN V
HNG M RNG CA TI

6.1 Phm vi gii hn ca ti


Do thi gian tin hnh nghin cu ti liu tham kho c hn. ti Nhn dng mt ngi trn
Matlab ch s dng mt thut ton duy nht l thut ton PCA. Nn lm cho chng trnh nhn dng
ph thuc rt nhiu vo tp hun luyn, v tr cc khun mt trong hnh. Trong qu trnh chy chng
trnh cc nh c x l to ra nh: nh trung bnh, nh-nh trung bnh, EigFace khng c lu lai.
Nn khi chy li chng trnh cc nh trn s c khi to lai t u.
6.2 Hng m rng ca ti
ti c th c pht trin thnh mt phn mn nhn dng mt ngi tt hn, bng cch kt
hp vi mt s thut ton nhn dng v x l nh hin i hn. Cho ra kt qu chnh xc hn. C th
pht trin thnh ti nhn dng qua webcam

Das könnte Ihnen auch gefallen