Professional Documents
Culture Documents
Luan Van Do Tim Va Cat Anh Mat Nguoi Dung Pca 8883 PDF
Luan Van Do Tim Va Cat Anh Mat Nguoi Dung Pca 8883 PDF
N TT NGHIP
ti:
D TM V CT NH MT NGI
DNG PCA
: DHDT2B1
LI M U
Nghin cu PCA.
Ct nh mt v lu vo 1 file.
X l nh ng qua webcam.
Trong bi lun ny chng em xin cp ti vn d tm v nhn dng mt
LI CM N
Sau mt thi gian hc tp v nghin cu, cui cng chng em cng hon
thnh bi lun nghin cu ca mnh. y l thi im tt nht chng em c dp
c by t lng bit n ca mnh n nhng ngi thn gip ng vin
trong sut qu trnh chng em thc hin bi lun ny.
Trc tin, chng em xin cm n BGH trng i Hc Cng Nghip Thnh
Ph H Ch Minh, Qu Thy C trong khoa Cng ngh in T to iu kin
cho chng em thc hin bi lun ny. c bit l C o Th Thu Thy, C khng
ch l ngi hng dn khoa hc mt cch ti tnh, m cn l ngi du dt chng
em, ng vin v nh hng cho chng em c nhng bc i u i v mt cch
nhn khoa hc v tr thc, cuc sng, v s c gng phn u trong tng lai, iu
ny c ngha rt su sc i vi chng em, gip chng em t tin v n lc hon
thnh bi lun ny ng thi hn. Mt ln na, chng em xin by t lng bit n
su sc n vi C.
ng thi chng con xin cm n cha m, anh ch ht sc thng cm, chia
s v ng vin chng con trong nhng kh khn trong qu trnh lm n tt
nghip ny.
Xin cm n nhng ngi bn thn yu, nhng ngi yu mn, chia s,
gip chng ti trong lc chng ti thc hin bi lun ny.
Kt qu ca bi lun ny l mn qu m chng em dnh tng cho tt c mi
ngi thn yu, vi tt c tm lng mnh!
Sinh vin thc hin
Nguyn Trung Hiu
Bi Ngc Lim
MC LC
Trang
Chng 1: GII THIU MATLAB V KHI QUT V NH
.............................................................................................................................1
1.1 Gii thiu chung v phn mm Matlab.........................................................2
1.1.1 Khi nim v Matlab ............................................................................2
1.1.2 Tng quan v cu trc d liu Matlab, cc ng dng ..........................2
1.1.2.1 D liu..........................................................................................3
1.1.2.2 ng dng......................................................................................3
1.1.2.3 Toolbox l mt cng c quan trng trong Matlab .......................3
1.1.3 H thng Matlab ...................................................................................3
1.1.4 Lm quen vi Matlab............................................................................4
1.1.5 Cc ca s lm vic ca Matlab ...........................................................5
1.2 Gii thiu khi qut v nh s......................................................................7
1.2.1 Cc khi nim c bn v nh................................................................7
1.2.2 Cc cch phn loi nh .........................................................................8
1.3 X l nh vi Matlab ...................................................................................9
1.3.1 X l nh .............................................................................................9
1.3.2 Cc giai on x l nh ..................................................................... 10
1.3.3 X l nh vi Matlab.......................................................................... 11
1.3.3.1 Cc kiu nh trong Matlab......................................................... 11
1.3.3.2 Cc hm x l nh c bn trong Matlab .................................... 13
1.3.3.3 Bin i khng gian nh ............................................................ 20
Chng 2: CC PHNG PHP XC NH KHUN MT
........................................................................................................................... 36
2.1 nh ngha bi ton xc nh khun mt ngi.......................................... 37
2.2 ng dng ca phng php xc nh khun mt ....................................... 37
2.3 Phng php xc nh khun mt............................................................... 39
2.3.1 Hng tip cn da trn tri thc......................................................... 40
2.3.2 Hng tip cn da trn c trng khng thay i ............................ 41
2.3.2.1 Cc c trng khun mt ........................................................... 42
2.3.2.2 Kt cu ....................................................................................... 45
2.3.2.3 Sc mu ca da........................................................................... 45
2.3.2.4 a c trng............................................................................... 45
2.3.3 Hng tip cn da trn so khp mu................................................ 45
2.3.4 Hng tip cn da trn din mo ..................................................... 46
2.4 Kh khn v th thch trong bi ton xc nh khun mt ngi.............. 47
Chng 3: PHN TCH THNH PHN CHNH PCA
(PRINCIPAL COMPONENT ANALYSIS)
........................................................................................................................... 48
3.1 S lc v phn tch thnh phn chnh PCA .............................................. 49
3.2 Thut ton PCA v ng dng trong nhn dng khun mt ngi .............. 50
3.2.1 Thut ton ........................................................................................... 50
3.2.2 Phn tch thnh phn chnh PCA ....................................................... 50
3.2.3 Hnh nh minh ha ............................................................................. 53
3.3 ng dng Eigenfaces trong vic nhn dng mt ngi.............................. 56
3.3.1 Tnh ton Eigenfaces .......................................................................... 59
3.3.2 Dng Eigenfaces phn loi nh mt ngi.................................... 61
3.3.3 ng dng Eigenfaces pht hin gng mt................................... 62
3.3.3.1 Xem xt li khng gian mt ....................................................... 63
3.3.3.2 Nhn dng theo thi gian thc ................................................... 64
3.4 Nhn xt ...................................................................................................... 65
3.4.1 u im ca phng php PCA......................................................... 65
3.4.2 Nhc im ca PCA......................................................................... 65
Chng 4: CHNG TRNH M PHNG
........................................................................................................................... 67
4.1 Chng trnh m phng .............................................................................. 68
4.1.1 C s d liu nh................................................................................ 68
41.1.1 Tp nh hun luyn ....................................................................... 68
4.1.1.2 Tp nh mu............................................................................... 69
4.1.2 Cc bc thc hin chng trnh ....................................................... 70
MC LC HNH
Trang
Hnh 1.1 Ca s khi khi ng Matlab...............................................................4
Hnh 1.2 Ca s Command History....................................................................6
Hnh 1.3 Ca s Workspace................................................................................6
Hnh 1.4 Ca s Array Editor.............................................................................7
Hnh 1.5 Cc bc c bn trong x l nh.........................................................9
Hnh 1.6 nh trc v sau khi imresize ...........................................................23
Hnh 1.7 nh trc v sau khi imrotate............................................................26
Hnh 1.8 nh c quay theo chiu ngang.......................................................27
Hnh 1.9 nh trc v sau khi imcrop .............................................................. 28
Hnh 1.10 nh trc v sau khi imcrop theo 1 ta cho trc ..................... 30
Hnh 1.11 nh trc v sau khi imtransforms..................................................32
Hnh 1.12 nh trc v sau khi imtransformsvi 1 cng nh...................35
Hnh 2.1 phn gii ca 1 nh......................................................................41
Hnh 2.2 Mt loi tr thc ca ngi nghin cu phn tch trn khun mt....41
Hnh 2.3 Mt mu khun mt, c 16 vng v 23 quan h (cc mi tn) ..........46
Hnh 3.1 Eigenfaces ..........................................................................................53
Hnh 3.2 Bc nh kim tra v hnh chiu ca n..............................................54
Hnh 3.3 nh ban u .......................................................................................55
Hnh 3.4 Face map ca bc nh ban u .........................................................55
Hnh 3.5 Face map nh ban u vi khng gian khng phi l khun mt .....56
Hnh 3.6 Nhng gng mt dng hun luyn ..............................................57
Hnh 3.7 By Eigenfaces c tnh ton t dy hun luyn ca hnh 4.6,
phng nn c loi b................................................................................58
Hnh 3.8 nh v hnh chiu ca n vo khng gian mt ngi xc nh bi
cc Eigenfaces t hnh 3.7 ................................................................................61
Hnh 3.9 nh gc v bn mt ngi, vng ti ch ra hnh dng
khun mt ..........................................................................................................63
Hnh 3.10 V d n gin th hin 4 hnh chiu ca nh ln khng gian mt ngi.
Trong trng hp ny s dng 2 eigenfaces l 1, 2 v 3 lp mt ngi (c th)
bit trc (1, 2, 3).......................................................................................63
Chng 1
Chng 1
1.1.2.1 D liu
D liu ca Matlab th hin di dng ma trn (hoc mng - tng qut), v
c cc kiu d liu c lit k sau y:
Kiu n single, kiu ny c li v b nh d liu v n i hi t byte nh
hn, kiu d liu ny khng c s dng trong cc php tnh ton hc,
chnh xc km hn.
Kiu double kiu ny l kiu thng dng nht ca cc bin trong Matlab.
Kiu Sparse.
Kiu uint8, uint8, uint16, uint64...
Kiu char v d Hello.
Kiu cell.
Kiu Structure.
Trong Matlab kiu d liu double l kiu mc nh s dng trong cc php
tnh s hc.
1.1.2.2 ng dng
Matlab to iu kin thun li cho:
Cc kho hc v ton hc.
Cc k s, cc nh nghin cu khoa hc.
Dng Matlab tnh ton, nghin cu to ra cc sn phm tt nht trong sn
xut.
1.1.2.3 Toolbox l mt cng c quan trng trong Matlab
Cng c ny c Matlab cung cp cho php bn ng dng cc k thut
phn tch, thit k, m phng cc m hnh.
Ta c th tm thy toolbox trong m trng lm vic ca.
Mng nron.
Logic m.
Simulink.
1.1.3 H thng Matlab
H thng giao din ca Matlab c chia thnh 5 phn:
Mi trng pht trin.
GVHD: Ths. o Th Thu Thy
Click
chut ln
lnh hoc
bin s
dng li
Hnh 1.2 Ca s Command History
c) Ca s Workspace
L ca s th hin tn cc bin bn s dng cng vi kch thc vng nh
(s bytes), kiu d liu(lp), cc bin c gii phng sau mi ln tt chng trnh.
(xem hnh 1.3)
Click
chut ln
bin
xem d
liu (hoc
thay i
gi tr)
Hnh 1.3 Ca s Workspace
Ngoi ra n cho php thay i gi tr, cng nh kch thc ca bin bng
cch click chut ln cc bin. Hoc click vo nt bn tri ngay cnh nt save. V d
khi chn bin (gi s l bin b) ri click (hoc click chut vo nt cnh nt save) ta
c ca s sau gi l Array Editor (xem hnh 1.4)
nh mu:
-
H mu RGB:
Thu nhn
nh
Tin x
l nh
Phn
on nh
Biu din
v m t
Nhn
dng v
ni suy
C s tri
thc
GVHD: Ths. o Th Thu Thy
10
Mc ch:
+ iu chnh chiu sng khc phc hu qu ca vic chiu sng khng
u.
+ Gim nh thnh phn nhiu ca nh tc l cc i tng xut hin ngoi
mun.
+ Hiu chnh gi tr sng gia nn v i tng.
+ Chun ho ln, mu, dng ca nh.
+iu chnh b lc khuych i v nn cc tn s.
c) Phn on (Segmentation)
-
11
khoa hc v cng ngh l: nhn dng k t (ch in, ch vit tay, ch k in t),
nhn dng vn bn (Text), nhn dng vn tay, nhn dng m vch, nhn dng mt
ngi
f) C s tri thc (Knowledge Base)
Nh ni trn, nh l mt i tng kh phc tp v ng nt, sng
ti, dung lng im nh, mi trng thu nh phong ph ko theo nhiu. Trong
nhiu khu x l v phn tch nh ngoi vic n gin ha cc phng php ton
hc m bo tin li cho x l, ngi ta mong mun bt chc quy trnh tip nhn
v x l nh theo cch ca con ngi. Trong cc bc x l , nhiu khu hin
nay x l theo cc phng php tr tu con ngi. V vy, y cc c s tri
thc c pht huy.
1.3.3 X l nh vi Matlab
1.3.3.1 Cc kiu nh trong Matlab
a) nh c nh ch s (Indexed Images)
Mt nh ch s bao gm mt ma trn d liu X v ma trn bn mu map.
Ma trn d liu c th c kiu thuc lp uint8, uint16 hoc kiu double. Ma trn
bn mu l mt mng mx3 kiu double bao gm cc gi tr du phy ng nm
GVHD: Ths. o Th Thu Thy
12
13
14
Ghi mt nh ho
-
Size
200x320
Bytes Class
512000 double array
2x1
81x3
4 char array
1944 double array
15
imwrite(I,'clown.png','BitDepth',4 );
-
BitDepth ca n:
info = imfinfo('test.tif');
info.BitDepth
ans =1
Ch : Khi ghi file nh phn, Matlab thit lp trng ColorType thnh
grayscale.
9 Xem lp lu tr ca file .
-
16
17
Dng hm imshow
-
nh v d sau: imshow('moon.tif');
Khi s dng cu trc ny th d liu nh khng c nhp vo trong khng
gian lm vic. Tuy nhin, ta c th mang nh vo trong khng gian lm vic bng
cch s dng hm getimage. Hm ny s nhn d liu nh t handle ca mt i
tng nh hin ti. Chng hn: moon = getimage; S gn d liu nh t moon.tif
vo bin moon.
c) Cc hm chuyn i kiu nh
-
18
19
Lut ct b trong s hc nh
-
20
Din gii
Rng ca - xut hin khi gim kch thc
nh. Khi kch thc ca mt nh b gim,
cc pixel gc b ly mu gim to ra t
Aliasing
Antialiasing
Bicubic interpolation
21
Geometric operation
Interpolation
Nearest-neighbor
Cc gi tr pixel ra c gn gi tr ca
interpolation
b) Ni suy
Ni suy l qu trnh s dng c lng mt gi tr nh mt v tr gia
cc pixel. Chng hn, nu ta thay i kch thc mt nh, n s cha nhiu pixel
hn nh gc, toolbox s dng s ni suy tnh gi tr cho cc pixel thm vo. Hm
imresize v imrotate s dng ni suy hai chiu thc hin thao tc ca mnh.
Hm improfile cng s dng s ni suy ho.
9 Cc phng php ni suy
- Toolbox s l nh cung cp 3 cch ni suy ho
+ Ni suy cc pixel gn nht ( nearest neighbor interpolation )
+ Ni suy song tuyn tnh ( Bilinear interpolation )
+ Ni suy song khi ( Bicubic interpolation )
Cc phng php ni suy lm vic theo mt cch ging nhau. Trong mi
trng hp, tnh gi tr ca mt pixel c ni suy, chng tm im trong nh
ra m pixel nm ti . Sau , chng gn mt gi tr ti cc pixel ra bng cch tnh
ton gi tr trung bnh c trng s ca mt s pixel ln cn. Trng s da trn c s
khong cch ti im ang xt.
- Cc phng php ny khc nhau tp cc pixel m chng xem xt:
+ Vi ni suy cc pixel gn nht: pixel ra c gn gi tr ca cc pixel
gn n nht. Cc pixel khc khng c xem xt.
+ Ni suy song tuyn tnh, gi tr ca pixel ra l gi tr trung bnh theo trng
s ca 2x2 pixel ln cn.
GVHD: Ths. o Th Thu Thy
22
23
24
nearest
bilinear
biculic
Trong v d sau, hm imresize s dng phng php ni suy song tuyn tnh:
Y=imresize(X, [100 150],bilinear);
9 S dng b lc ngn chn hin tng rng ca
- Vic gim kch thc (hnh hc) ca mt nh c th gy ra nhng nh
hng nht nh ln nh chng hn nh hin tng xut hin rng ca ti bin ca
nh . iu ny l do thng tin lun b mt khi ta gim kch thc mt nh. Rng ca
xut hin nh nhng gn sng trong nh sau cng.
- Khi gim kch thc ca nh s dng ni suy song tuyn tnh hoc song
khi, hm imresize t ng p t mt b lc thng thp ln nh trc khi ni suy.
iu ny gim nh hng ca rng ca trong nh ra. Ta c th ch ra kch thc
ca b lc ny hoc ch ra mt b lc khc thay th.
Ch : Thm ch s dng mt b lc thng thp, cht lng ca nh vn
b nh hng do thng tin lun b mt trong qu trnh ni suy
- Hm imresize khng p t mt b lc thng thp ln nh nu phng php
ni suy cc pixel gn nht c s dng. Phng php ni suy ny ban u c s
dng vi cc nh ch s v b lc thng thp khng thch hp cho kiu nh ny.
- Ta cng c th ch ra mt b lc t to thay cho cc b lc c sn.
Hm imresize
C php ca hm ny nh sau:
B = imresize(A,m)
GVHD: Ths. o Th Thu Thy
25
B = imresize(A,m,method)
B = imresize(A,[mrows ncols],method)
B = imresize(...,method,n)
B = imresize(...,method,h)
9 Din gii
+ B=imresize(A,m): Tr li mt nh B ln gp m ln nh A (kch thc hnh
hc) s dng phng php ni suy mc nh (nearest - neighbor interpolcation). A
c th l mt nh ch s, nh en trng, RGB hoc nh nh phn. Nu m nm gia 0
v 1, B s nh hn A. Nu m ln hn 1, B s ln hn A.
+ B=imresize(A,m,method): Tr li mt nh ln gp m ln nh A s dng
phng php ni suy method. method l mt chui ch ra phng php ni suy no
c s dng chng hn: nearest,bilinear,bicubic.
+ B=imresize(A, [mrows ncols],method): Tr li mt nh vi kch thc
c ch ra bi vector [mrows ncols]. Nu kch thc c ch ra khng cng t l
vi nh vo, nh s b bin dng
Khi kch thc ca nh ra nh hn kch thc ca nh vo v phng php
ni suy c s dng l bilinear hoc bicubic, hm imresize p t mt b lc
thng thp trc khi tuyn tnh ho gim hin tng rng ca. Kch thc mc
nh l 11x11.
Ta c th ch ra mt th t khc cho b lc mc nh s dng cu trc:
B=imresize(,method,n): n l mt s nguyn ch ra kch thc ca b lc
nxn. Nu n=0, hm imresize b qua bc lc. Ta cng c th ch ra b lc ring s
dng c php:
B=imresize(,method,h): Trong h l mt b lc FIR hai chiu ( c th
c tr v bi cc hm ftrans2, fwind1, fwind2 hoc fsamp2 ).
d) Quay nh
- quay mt nh, s dng hm imrotate. Hm ny chp nhn hai tham s
chnh:
+ nh cn quay
+ Gc quay
- Gc quay tnh theo . Nu ta ch ra mt gi tr dng, hm imrotate quay
nh theo chiu ngc chiu kim ng h. Nu ch ra gi tr m, hm quay nh theo
GVHD: Ths. o Th Thu Thy
26
27
28
29
9 Hm imcrop
- C php ca n nh sau:
I2 = imcrop(I)
X2 = imcrop(X,map)
RGB2 = imcrop(RGB)
I2 = imcrop(I,rect)
X2 = imcrop(X,map,rect)
RGB2 = imcrop(RGB,rect)
[...] = imcrop(x,y,...)
[A,rect] = imcrop(...)
[x,y,A,rect] = imcrop(...)
9 Din gii
- Hm imcrop xn mt nh theo mt hnh ch nht c ch nh.
I2=imcrop(I) ;
X2=imcrop(X,map);
RGB2=imcrop(RGB);
Hm imcrop s hin th nh I v i ta ch ra hnh ch nht cn xn bng
chut
- Nu ta b qua cc tham s, hm imcrop thao tc trn nh ca trc hin ti.
- ch nh mt hnh ch nht ta dng tr chut nh ni trn
- Ta cng c th ch ra kch thc ca hnh ch nht m khng thao tc trc
tip nh cc c php sau:
I2 = imcrop(I,rect)
X2 = imcrop(X,map,rect)
RGB2 = imcrop(RGB,rect)
Trong : rect l mt vector bn phn t dng [xmin ymin width height],
nhng gi tr ny c ch ra trong to khng gian. ch nh cc to khng
theo to khng gian cho nh vo, t trc cc tham s khc vi 2 vector hai
phn t ch ra Xdata v Ydata. Chng hn:
[]=imcrop(x,y,)
- Nu ta cung cp cc tham s ra ph, hm imcrop s tr li thng tin v
vng ch nht c chn v h to ca nh vo. Chng hn:
GVHD: Ths. o Th Thu Thy
30
[A,rect] = imcrop(...)
[x,y,A,rect] = imcrop(...)
A l nh ra, x v y l Xdata v Ydata ca nh vo
9 Ch :
- Do rect l mt tp hp cc to khng gian, cc phn t width v height
trong rect khng lun lun tng ng chnh xc vi kch thc ca nh ra. Chng
hn, gi s rect l [20 20 40 30], s dng h to khng gian theo mc nh. Gc
trn tri ca vng ch nht c chn l tm ca pixel (20,20) v gc di phi ca
vng ch nht l tm ca pixel (50,60). nh ra l mt nh c kch thc 31x41 ch
khng phi 30x40. iu ny l do nh ra bao gm tt c cc pixel trong nh vo
hon ton hoc mt phn c bao bc bi vng ch nht trn.
V d
I = imread('circuit.tif');
I2 = imcrop(I,[75 68 130 112]);
imview(I), imview(I2)
31
32
figure; imshow(I)
T = maketform('projective',[1 1; 41 1; 41 41; 1 41],...
[5 5; 40 5; 35 30; -10 30]);
R = makeresampler('cubic','circular');
K = imtransform(I,T,R,'Size',[100 100],'XYScale',1);
figure, imshow(K)
33
Din gii
C hai tham s ny l cc vector hai phn t thc. Udata v
Vdata ch ra v tr khng gian ca nh A trong khng gian
vo 2 chiu U-V. Hai phn t ca Udata cho to u (honh
UData
VData
Xdata
Ydata
34
Size
FillValues
V d
p mt php dch chuyn ngang ti mt nh cng ;
I = imread('cameraman.tif');
GVHD: Ths. o Th Thu Thy
35
36
Chng 2
CC PHNG PHP
XC NH KHUN MT
2.1 nh ngha bi ton xc nh khun mt ngi
2.2 ng dng ca phng php xc nh khun mt
2.3 Phng php xc nh khun mt
2.4 Kh khn v th thch trong bi ton xc nh khun mt ngi
37
Chng 2
CC PHNG PHP XC NH
KHUN MT
Hn mt thp k qua c rt nhiu cng trnh nghin cu v bi ton xc nh
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 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 tht s v rt
nhiu ca con ngi.
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
C rt nhiu ng dng v ang c nghin cu, sau y chng em xin
a ra 1 vi ng dng trong thc t:
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,
38
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 tin vo 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 hay khng.
Trong 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 ,
39
40
(a)
(b)
41
(c)
(d)
Hnh 2.1 phn gii ca 1 nh; (a) nh ban u c phn gii n=1;
(b),(c), v (d) nh c phn gii n=4, 8, v 16.
Cc lut mc cao nht tm ng vin nh: vng trung tm khun mt
(phn ti hn trong hnh 2.2) c bn phn vi mt mc u c bn, phn xung
quanh bn trn ca mt khun mt (phn sng hn trong hnh 2.2) c mt mc
u c bn, v mc khc nhau gia cc gi tr xm trung bnh ca phn trung
tm v phn bao bn trn l ng k. phn gii thp nht (mc m) ca nh
dng tm ng vin khun mt m cn tm cc mc phn gii tt hn. mc
hai, xem xt biu histogram ca cc ng vin loi bt ng vin no khng
phi l khun mt, ng thi d ra cnh bao xung quanh ng vin. mc cui
cng, nhng ng vin no cn li s c xem xt cc c trng ca khun mt v
mt v ming. Hai ng dng mt chin lc t th n mn hay lm r dn
gim s lng tnh ton trong x l. Mc d t l chnh xc cha cao, nhng y
l tin cho nhiu nghin cu sau ny.
Hnh 2.2 Mt loi tr thc ca ngi nghin cu phn tch trn khun mt.
2.3.2 Hng tip cn da trn c trng khng thay i
y l hng tip cn theo kiu bottom-up. Cc tc gi c gng tm cc c
trng khng thay i ca khun mt ngi xc nh khun mt ngi. Da trn
nhn xt thc t, con ngi d dng nhn bit cc khun mt v cc i tng trong
cc t th khc nhau v iu kin nh sng khc nhau, th phi tn ti cc thuc tnh
hay c trng khng thay i. C nhiu nghin cu u tin xc nh cc c trng
khun mt ri ch ra c khun mt trong nh hay khng. Cc c trng nh: lng
GVHD: Ths. o Th Thu Thy
42
43
44
khun mt trn c s b lc. Giai on th hai tinh ch trn phn gii mn hn.
T l sai l 4.69%.
+ Phng php xc nh khun mt da trn c s hnh thi hc
(morphology) trch cc on ging mt (eye-analogue) xc nh khun mt
ngi. Phng php ny cho rng mt v lng my l c trng ni bt nht v n
nh nht ca khun mt con ngi, v n rt hu dng xc nh khun mt
ngi. Cc on ging mt nh l cc cnh trn ng vin ca mt. u tin, cc
php ton morphology nh ng, ct b sai khc, v phn ngng trch cc
im nh c gi tr cng thay i ng k. Cc im nh ny s tr thnh cc
im nh ging mt. Sau mt tin trnh gn nhn sinh cc on ging mt.
Cc on ny c dng ch dn tm kim cc vng tim nng c th l khun
mt qua kt hp cc c tnh hnh hc ca mt, mi, lng my, v ming. Cc vng
ny s c mt mng neural xem xt c phi l khun mt khng. T l chnh xc
l 94%.
+ Phng php xc nh khun mt da trn hnh dng v p dng cho cc
khun mt chp thng. C hai giai on xc nh khun mt ngi: tp trung v
phn loi chi tit. Lm c th t cc mnh cnh, cc mnh ny c trch t b xc
nh cnh n gin thng qua s khc bit cng l qu trnh tp trung. Khi c
cc ng vin t qu trnh trn, dng thut ton CART xy dng mt cy phn
loi t cc nh hun luyn, xem xt ng vin no l khun mt ngi.
+ Phng php xc nh khun mt dng cu trc hnh hc ca khun mt
ngi tm ng vin khun mt trong nh xm v hnh nn khng phc tp. Mi
nh ch c mt khun mt ngi, nhng t th iu kin nh sng, khng c nh.
T l chnh xc khang 94.25% v thi gian kh nhanh.
+ Phng php xc nh khun mt dng sc mu ca da ngi tm ng
vin, bng cch dng m hnh mu da ngi trn tng phn nh ri x l phn
on trn . Sau khi c ng vin khun mt, dng mt s c tnh v hnh dng
xc nh khun mt ngi. T l chnh xc l 85%.
2.3.2.2 Kt cu
Khun mt con ngi c nhng kt cu ring bit m c th dng phn
loi so vi cc i tng khc. C mt s nh nghin cu cho rng hnh dng ca
GVHD: Ths. o Th Thu Thy
45
46
47
Thi gian thc hin l thi gian my tnh xc nh khun mt ngi trong
nh (running time).
GVHD: Ths. o Th Thu Thy
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
Chng 3
48
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
49
Chng 3
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
50
3.2 Thut ton PCA v ng dng trong nhn dng khun mt ngi
3.2.1 Thut ton
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 .
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 xc nh v tr nhng khun mt ngi trong mt bc nh.
Th hai l tm mt khun mt ging vi khun mt cho trc.
Ban u ta c mt tp nh khun mt gi l tp nh hun luyn (training set).
Gi s mi nh c kch thc M*N, 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.
3.2.2 Phn tch thnh phn chnh PCA
Gi s tp hun luyn c P nh, khi ta s c P vector: T1, T2, , TP.
Tnh vector nh trung bnh :
m=
1 p
Ti
p i =1
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
51
tng ca vic phn tch thnh phn chnh l tm mt tp nhng vector trc
chun uk sao cho nhng vector ny m t tt nht s phn b nhng vector khun mt
trong khng gian. Nhng vector uk c chn sao cho:
1
ui / uj =
0
p
k = uk / Ai
,i = j
,i j
ln nht .
i =1
A = A1
A2 ... Ap
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
52
prwu = u0 = u / ui ui
i =1
di u u0 c gi l khong cch t u n W .
Tp hp ci = u / ui , i=1,, Q c gi l ta ca u0 trong khng gian W.
Tm C=ETK l ta ca hnh chiu Kf ca K ln khng gian khun mt. C l
vector ct Q1
Q
K f = ci ei vi ci = C( i , 1) ; ei= E( : , i) .
i =1
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
53
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
54
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
55
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
56
Hnh 3.5 Face map nh ban u vi khng gian khng phi l khun mt
Hnh trn cng kh ging vi face map ng vi khng gian khun mt nhng ti
mi vng sng hnh ch nht th khng h c tm gia.
Thc ra t face map ng vi khng gian khun mt, nu ta c mt thut ton tt
tm nhng v tr cc tiu a phng th c th xc nh v tr cc khun mt.
Face map ng vi khng gian khng phi khun mt ch l mt cch n gin gip
ta tm chnh xc hn thi.
Tt c nhng iu thu c trn ch l kt qu hon ton da trn l thuyt,
trong thc t nhng thut ton nhn dng mt ngi pht trin ln rt nhiu t
tng ca PCA mi c c chnh xc yu cu.
3.3 ng dng Eigenfaces trong vic nhn dng mt ngi
Hu ht vic lm trc y trong h thng t nhn dng gng mt u cho
rng vic nhn ra cc gc cnh ca gng mt trong cc trng thi khc nhau l rt
quan trng trong vic nhn dng, tha nhn rng vic xc nhn trc cc khong cch
l rt quan trng v cn thit. iu xut chng ti a ra phng php l thuyt
thng tin cho vic m ha v gii m nhng nh mt ngi, a ra bn cht ni dung
thng tin ca nhng nh mt ngi, nhn mnh nhng c trng cc b v ton
cc. Nhng c trng c hoc khng c lin quan trc tip n cch quan st bng
trc gic ca chng ta v cc c trng ca gng mt nh cp mt, mi, mi hoc mi
tc.
GVHD: Ths. o Th Thu Thy
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
57
Trong ngn ng ca l thuyt thng tin, chng ta mun trch xut cc thng tin
quan trng ca nh mt ngi, m ha mt cch hiu qu trong phm vi c th, v so
snh gng mt m ha vi kho d liu ca cc mu c m ha mt cch tng t.
Mt cch d dng trch xut thng tin cha ng trong bc nh mt ngi l bng
cch no ch ra s khc bit trong tp hp nh mt ngi, c lp trong phn tch
cc nt mt, v s dng nhng thng tin ny m ha v so snh cc nh gng mt c
th.
V mt ton hc, chng ta tm ra cc thnh phn chnh trong s phn b ca mt
ngi, hoc cc vect ring (eigenvectors) t ma trn tng quan ca dy nh mt
ngi. Nhng vect ring ny c th c xem nh l dy nhng im c trng,
chng lin kt nhau m t s khc nhau gia cc nh mt ngi. Mi v tr ca nh
gp phn to ra mi vect ring, v vy ta c th trnh by vect ring bng mt loi
mt ma ghostly face m ta cn gi l eigenface. Mt s mt loi ny c trnh by
trong hnh 3.7.
b) nh trung bnh
SVTH: Nguyn Trung Hiu
Bi Ngc Lim
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
58
Hnh 3.7 By Eigenfaces c tnh ton t dy hun luyn ca hnh 4.6, phng nn
c loi b
Mi nh mt ngi trong dy hun luyn c th c ti hin chnh xc thng
qua eigenfaces. S lng eigenfaces tng ng vi s nh mt ngi c a vo
hun luyn. Tuy nhin cc gng mt c th xp x bng cch ch s dng best
eigenfaces, c to ra t cc gi tr ring ln nht v t c th tnh ton sai
bit ln nht vi chui nh mt ngi. L do chnh cho vic s dng t eigenfaces l
nh s hiu qa trong qu trnh tnh ton. M eigenfaces s m rng ra khng gian con
M chiu - khng gian mt ngi- ca tt c nh c th. ng hnh sin biu th cc
pha v tn s khc nhau l hm c bn ca phn b Fourier (l hm ring ca h thng
tuyn tnh).
tng s dng eigenfaces c thc y bi s pht trin k thut ca
Sirvokick v Kirby - nhng bc hnh miu t hiu qa cc gng mt s dng phng
php phn tch cc thnh phn chnh (principal component analysis - PCA). H chng
minh rng cc b su tp nh mt ngi c th c to li mt cch gn ng bng
vic lu tr b trng s cho mi gng mt v mt chui nh bc hnh chun (c th
nh hn rt nhu so vi b su tp ban u).
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
59
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
60
1
M
n =1
1
M
n =1
T
n
= AAT
61
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
dng
chn
ra
cc
tr
ring.
vi k=1,2M
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
62
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
63
64
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
gia
nh
khng
gian
con
ca
nh
mt
ngi.
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
65
Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)
66
PCA phn loi theo chiu phn b ln nht ca tp vector. Tuy nhin, chiu
phn b ln nht khng phi lc no cng mang li hiu qu tt nht cho bi
ton nhn dng. y l nhc im c bn ca PCA.
PCA rt nhy vi nhiu.
C rt nhiu thut ton nhn dng mt ngi da trn nhng chi tit ca khun
mt nh i mt, lng my, cu trc ca khun mt, hay mu da Khc hon ton vi
nhng thut ton trn, PCA nhn dng da trn nhng nt tng th ca khun mt. Cn
hn mt thut ton, PCA cung cp mt c s rt r rng cho vic m t c trng
ca khun mt, t c th pht trin nhng thut ton nhn dng khc. V vy c
th PCA khng l thut ton tt nht, nhng l thut ton ph bin nht c p dng
trong bi ton nhn din mt ngi.
67
Chng 4
CHNG TRNH
M PHNG
4.1 Chng trnh m phng
4.2 Nhn xt kt qu t c
68
Chng 4
69
b) nh nface
Tp nh nface bao gm nhng tp nh khng phi l khun mt ngi, dng
trong thut ton PCA, xc nh cc thnh phn c trng khng phi l ca khun
mt ngi, l khng gian nh mi trng bn ngoi: cy ci, khng gian ngoi
cnh, gip cho vic d tm khun mt ngi chnh xc hn, bng cch loi b cc
im nh du khng phi khun mt ngi, t chng ta s dng d tm khun
mt ngi trong mt bc nh cn xc nh.
70
Hnh 4.3 Tp nh mu
4.1.2 Cc bc thc hin chng trnh
Khi chy chng trnh D tm v ct nh mt ngi dng PCA ta thao tc
theo trnh t cc bc sau:
Bc 1: a nh vo x l
bc ny chng ta c hai cch chn nh ngun x l l t mt ngun c
sn v t mt ngun a nh trc tip ngoi vo thng qua webcam.
- Cch th nht: a nh vo t mt ngun c sn. Ta chn nt chn nh
tm ngun nh gc a nh vo x l c th l tp nh trong th mc nh test. Sau khi
chn nh cn kim tra ta chn nt open chn nh chn.
- Cch th hai: a nh trc tip thu t ngoi vo nh thit b thu hnh l
webcam. Ta nhn nt camera m chng trnh chy webcam, sau khi iu chnh
khong cch v kch thc nh u vo hp l ta nhn vo nt chp nh a nh
chp vo x l cc cng on tip theo.
Bc 2: D tm nh mt ngi.
thc hin bc ny ta cn iu kin l phi c nh kim tra mi chy c
chng trnh d tm nh mt ngi. Khi c iu kin ta nhn nt nhn dng th
chng trnh s bt u thc hin: ly nh chn lm nh ban u a vo chng trnh
GVHD: Ths. o Th Thu Thy
71
72
Bt u
Chn nh
Chng trnh d tm v ct
nh mt ngi
Kt thc
Hnh 4.4 Lu gii thut chnh
4.1.3.2 Lu gii thut chi tit
a) Lu gii thut chn nh
Chn nh c hai cch:
Cch 1: Chn nh tnh (nh c sn).
Cch 2: Chn nh ng (nhn nh t webcam).
GVHD: Ths. o Th Thu Thy
73
Bt u
Chn nh tnh
Chn nh ng
Chn th mc cha nh
cn kim tra
Chn nh
Chn v chp nh
Hin th nh chn
Kt thc
74
nh d tm
Mt ngi
nh du
Khng nh du
ng khung
Khng ng khung
Tch mt
Lu
Kt thc
Hnh 4.6 Lu gii thut chng trnh d tm nh mt ngi
75
nh c trong
tp d liu
Khng c
C
D tm thng tin t file
Excel hoso1.xls
Kt thc
Hnh 4.7 Lu gii thut chng trnh nhn dng
GVHD: Ths. o Th Thu Thy
76
Bt u
To c s d liu
To ma trn nh
Tnh cc gi tr Eigenface
Xc nh Eigenface ca nh
chn ban u
Kt thc
Hnh 4.8 Lu gii thut PCA
77
4.1.4 Kt qu m phng
a) Giao din ca chng trnh
78
79
80
Hnh 4.16 Giao din kt qu chng trnh 1 (nh tnh) vi 4 khun mt nam
4.1.5 Tc thc hin
Tc thc hin chng trnh th hin thi gian m chng trnh tnh ton
trong qu trnh x l, ty theo gi tr kch thc nh a vo ln hay nh m tc
GVHD: Ths. o Th Thu Thy
81
82
- i vi thut ton PCA, y l mt thut ton c s dng trong rt nhiu lnh vc,
i vi lnh vc chuyn ngnh in t, thut ton c vn dng trong Matlab vi
nhiu cng c x l, to iu kin thun li cho vic thc hin ti.
Khuyt im
- Ni dung ca bi ton l d tm v nhn dng mt ngi, nn s dng rt nhiu khun
mt ca nhiu i tng vi cc trng thi khc nhau, nn khuyt im ca bi ton
ny l cn mt s lng ln ngun ti nguyn ca khun mt ca nhiu i tng, t
mi c th to ra c mt khi lng c s d liu phong ph. Cho nn c nhng
trng hp chng ta s khng d tm c mt vi khun mt trong bc nh, v khng
tm c nhng nt c trng c bn ca khun mt.
- Chng trnh c thc hin nh vo hot ng ca my tnh, nn cn c mt cu
hnh cn thit x l v tnh ton, t mi c th p dng trong cng ngh hin i,
iu ny nh hng n tc thc hin ca chng trnh. V d nh nhn dng khun
mt ngi qua mt thit b quan st, nu tc x l nhanh ta c th c mt kt qu
m mn v hi lng hn.
- V ni dung ca bi ton, vic chn lc a nh vo x l, th c hai cch: s
dng mt nh tnh c sn v s dng ngun d liu a vo t webcam. i vi
webcam, hay mt thit b thu hnh no, th iu u tin l cn phi c phn gii tt
nh a vo r nt, nh vy kh nng x l s cao hn v chnh xc hn.
- ng thi kh khn v cch xc nh khong cch v ta khun mt ngi trong
qu trnh a nh vo x l, c th l kch thc nh mt ngi so vi kch thc ca
nh hun luyn (qu ln hoc qu b). V phng php nhn dng PCA l phng
php d qut nh nhn dng theo khi cho nn vn khong cch v kch thc ca
khun mt nh a vo so vi kch thc ca tp nh hun luyn (tp nh face) l rt
quan trng. Cho nn thut ton thng gp kh khn nhiu v vn ny.
- Kh khn trong vic x l d tm v nhn dng, iu kin nh a vo x l phi ph
hp: sng, gc lch, cm xc, bin dng, Chnh v iu ny, i khi c nhng
khun mt m khng iu kin v nh sng (nh b ti) hoc khun mt b sai khc
qu nhiu so vi nh d liu (mo dng, khun mt nhn nh, nhiu cm xc,)
GVHD: Ths. o Th Thu Thy
83
84
85
Chng 5: Kt lun
Chng 5
KT LUN
5.1 Kt lun
Trong qu trnh thc hin n tt nghip gp rt nhiu kh khn v th thch,
i hi s c gng v tp trung cao trong qu trnh thc hin, nhng chng em cng
c gng hon thnh ng tin lm vic theo yu cu ra, tuy nhin bi lun ny
cng ch t c mt s kt qu tng i, v cn nhiu sai st trong vn d tm
cng nh nhn dng mt ngi.
Kt qu t c ca chng em l d tm v nhn dng c mt s nh
c trong c s d liu v mt s nh nm ngoi c s d liu, l nhng bc nh c
sc nt v tng phn cao, cn nhng nh khng c sc nt cao th vn cha x
l c, chnh l khuyt im ca ti cng nh thut ton PCA. i vi nh
ng, vic x l nh a vo gy ra rt nhiu kh khn, n khng ch i hi s sc
nt ca bc nh, m cn yu cu v khong cch
5.2 Hng pht trin ti
- Nhn din mt ngi qua tp d liu c sn t camera.
- Nhn din danh tnh ca ngi phm ti qua nh chp.
- C th kt hp vi nhiu thut ton khc nh: ICA, Neural, x l mt cch
chnh xc hn.
- D tm v nhn dng i tng vi phm k lut t xa qua mt thit b quan st.
- Bo mt h thng bng cch nhn dng khun mt khi mt hay nhiu i tng mun
ra vo mt cng ty, x nghip, hay mt c quan no .
- Qun l thi gian lm vic ca cc nhn vin ca mt x nghip m ch cn mt
camera quan st.
Ph lc
PH LC
Ph lc
imshow('logo.bmp');
****************************************************
Ph lc
% --- Executes on button press in NHANDANG.
function NHANDANG_Callback(hObject, eventdata, handles)
tic
nhandang;
set(handles.times,'string',toc);
% --- Executes on button press in save1.
function save1_Callback(hObject, eventdata, handles)
s=imread('anhluu/anh1.jpg');
save1;
% --- Executes on button press in save2.
function save2_Callback(hObject, eventdata, handles)
s=imread('anhluu/anh2.jpg');
save1;
% --- Executes on button press in save3.
function save3_Callback(hObject, eventdata, handles)
s=imread('anhluu/anh3.jpg');
save1;
% --- Executes on button press in save4.
function save4_Callback(hObject, eventdata, handles)
s=imread('anhluu/anh4.jpg');
save1;
% --- Executes on button press in chon1.
function chon1_Callback(hObject, eventdata, handles)
if (get(hObject,'Value') == get(hObject,'Max'))
photo=imread('anhluu\anh1.jpg');
a = strcat('anhluu/anhtest.jpg');
imwrite(photo,a);
set(handles.ten,'string',' ');
set(handles.ns,'string',' ');
set(handles.mssv,'string',' ');
set(handles.lop,'string',' ');
set(handles.quequan,'string',' ');
end
% --- Executes on button press in chon2.
function chon2_Callback(hObject, eventdata, handles)
if (get(hObject,'Value') == get(hObject,'Max'))
photo=imread('anhluu\anh2.jpg');
a = strcat('anhluu/anhtest.jpg');
imwrite(photo,a);
set(handles.ten,'string',' ');
set(handles.ns,'string',' ');
set(handles.mssv,'string',' ');
set(handles.lop,'string',' ');
set(handles.quequan,'string',' ');
end
% --- Executes on button press in chon3.
function chon3_Callback(hObject, eventdata, handles)
if (get(hObject,'Value') == get(hObject,'Max'))
photo=imread('anhluu\anh3.jpg');
a = strcat('anhluu/anhtest.jpg');
Ph lc
imwrite(photo,a);
set(handles.ten,'string',' ');
set(handles.ns,'string',' ');
set(handles.mssv,'string',' ');
set(handles.lop,'string',' ');
set(handles.quequan,'string',' ');
end
% --- Executes on button press in chon4.
function chon4_Callback(hObject, eventdata, handles)
if (get(hObject,'Value') == get(hObject,'Max'))
photo=imread('anhluu\anh4.jpg');
a = strcat('anhluu/anhtest.jpg');
imwrite(photo,a);
set(handles.ten,'string',' ');
set(handles.ns,'string',' ');
set(handles.mssv,'string',' ');
set(handles.lop,'string',' ');
set(handles.quequan,'string',' ');
end
% --- Executes on button press in back.
function back_Callback(hObject, eventdata, handles)
xoaanh;
luanvantotnghiep;
delete(handles.figure1);
Ph lc
end
% End initialization code - DO NOT EDIT
% --- Executes just before chuongtrinh2 is made visible.
function chuongtrinh2_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = chuongtrinh2_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% --- Executes on button press in chupanh.
function chupanh_Callback(hObject, eventdata, handles)
xoaanh;
global vid photo a
photo = getsnapshot(vid);
selection = questdlg(['Ban muon chup anh gan hay xa?'],...
['Chuong trinh chup anh!'],...
'Gan','Xa','Yes');
if strcmp(selection,'Gan')
axes(handles.axes1);
photo=imresize(photo,0.5);
imshow(photo);
a = strcat('anhluu/anh_goc.jpg');
imwrite(photo,a);
elseif strcmp(selection,'Xa')
axes(handles.axes1);
imshow(photo);
a = strcat('anhluu/anh_goc.jpg');
imwrite(photo,a);
end
% --- Executes on button press in CAMERA.
function CAMERA_Callback(hObject, eventdata, handles)
global vid
info = imaqhwinfo;
info = imaqhwinfo('winvideo');
info.DeviceInfo;
info.DeviceInfo.SupportedFormats;
vid = videoinput('winvideo',1,'YUY2_640x480');
set(vid,'ReturnedColorSpace','RGB');
preview(vid);
% --- Executes on button press in TACHMAT.
function TACHMAT_Callback(hObject, eventdata, handles)
axes(handles.axes4);
imshow('anhluu/anh1.jpg');
axes(handles.axes5);
imshow('anhluu/anh2.jpg');
axes(handles.axes6);
imshow('anhluu/anh3.jpg');
axes(handles.axes7);
imshow('anhluu/anh4.jpg');
% --- Executes on button press in Timmat.
Ph lc
function Timmat_Callback(hObject, eventdata, handles)
tic
thuchien;
axes(handles.axes2);
imshow('anhluu/anh_kq.jpg');
set(handles.times,'string',toc);
% --- Executes on button press in NHANDANG.
function NHANDANG_Callback(hObject, eventdata, handles)
tic
nhandang;
set(handles.times,'string',toc);
% --- Executes on button press in save1.
function save1_Callback(hObject, eventdata, handles)
s=imread('anhluu/anh1.jpg');
save1;
%thc hin chng trnh lu nh chn
% --- Executes on button press in save2.
function save2_Callback(hObject, eventdata, handles)
s=imread('anhluu/anh2.jpg');
save1;
%thc hin chng trnh lu nh chn
% --- Executes on button press in save3.
function save3_Callback(hObject, eventdata, handles)
s=imread('anhluu/anh3.jpg');
save1;
%thc hin chng trnh lu nh chn
% --- Executes on button press in save4.
function save4_Callback(hObject, eventdata, handles)
s=imread('anhluu/anh4.jpg');
save1;
%thc hin chng trnh lu nh chn
% --- Executes on button press in chon1.
function chon1_Callback(hObject, eventdata, handles)
if (get(hObject,'Value') == get(hObject,'Max'))
% nu nh du n mang Max
photo=imread('anhluu\anh1.jpg');
% chn nh thc hin cho chng trnh nhn dng
a = strcat('anhluu/anhtest.jpg');
% con nu khng th thi khng l g ht
imwrite(photo,a);
set(handles.ten,'string',' ');
set(handles.ns,'string',' ');
set(handles.mssv,'string',' ');
set(handles.lop,'string',' ');
set(handles.quequan,'string',' ');
end
% --- Executes on button press in chon2.
function chon2_Callback(hObject, eventdata, handles)
if (get(hObject,'Value') == get(hObject,'Max'))
% nu nh du n mang Max
photo=imread('anhluu\anh2.jpg');
% chn nh thc hin cho chng trnh nhn dng
a = strcat('anhluu/anhtest.jpg');
% cn nu khng th thi khng l g ht
imwrite(photo,a);
set(handles.ten,'string',' ');
set(handles.ns,'string',' ');
set(handles.mssv,'string',' ');
set(handles.lop,'string',' ');
set(handles.quequan,'string',' ');
end
% --- Executes on button press in chon3.
function chon3_Callback(hObject, eventdata, handles)
if (get(hObject,'Value') == get(hObject,'Max'))
% nu nh du n mang Max
Ph lc
photo=imread('anhluu\anh3.jpg');
a = strcat('anhluu/anhtest.jpg');
imwrite(photo,a);
set(handles.ten,'string',' ');
set(handles.mssv,'string',' ');
set(handles.quequan,'string',' ');
end
Ph lc
hinhchieu1=tam*0;
hinhchieu2=hinhchieu1;
for k=1:sochieu1
toado=(E1(:,k))'*tam1;
hinhchieu1=hinhchieu1+toado*E1(:,k);
end
for k=1:sochieu2
toado=(E2(:,k))'*tam2;
hinhchieu2=hinhchieu2+toado*E2(:,k);
end
kc1=norm(tam1-hinhchieu1)/20;
kc2=norm(tam2-hinhchieu2)/20;
anh1(i,j)=kc1;
anh2(i,j)=kc2;
end
end
b=strcat('anhluu/anh_face.jpg');
imwrite(anh1,b);
%******************* DANH DAU ANH ***********
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
xacdinh(im1,im1,anh1,anh2);
anh1=im1;
anh=im1;
face=anh1;
nface=anh2;
Ph lc
end
[dong cot] = size(img);
% mi tm nh hun luyn c kch thc 18*27
tam = reshape(img',dong*cot,1);
% bin 1 nh thnh 1 vecto c 1ct v 18*27 hng
T1 = [T1 tam];
% tng dn kch thc ma trn T1
End
% kt thc ma trn T1 c kch thc 18*27x P vi P l s ct ca ma trn cng chnh l s nh
trong th mc nh %hun luyn face 18*27=486 chnh l s dng ca ma trn nh T1 v tng t ma trn
T2 cng vy
T2 = [];
% Bc ny lm tng t nh to ma trn T1
for i = 1 : soanh2
% nhng i vi ma trn nh nface
str = int2str(i);
str = strcat('\',str,'.png');
str = strcat(nface,str);
img = imread(str);
try
img = rgb2gray(img);
catch
end
[dong cot] = size(img); %dong 27 cot 18
tam = reshape(img',dong*cot,1);
T2 = [T2 tam];
end
Ph lc
End
D=diag(D2);
D=sort(D);
s=size(D);s=s(1);
D=D(s-30);
LeigV2 = [];
for i = 1 : size(V2,2)
if( D2(i,i)>D )
LeigV2 = [LeigV2 V2(:,i)];
end
end
E1 = A1 * LeigV1;
E2 = A2 * LeigV2;
sovector=size(E1,2);
for i=1:sovector
dodai=norm(E1(:,i));
E1(:,i)=E1(:,i)/dodai;
end
sovector=size(E2,2);
for i=1:sovector
dodai=norm(E2(:,i));
E2(:,i)=E2(:,i)/dodai;
End
%u cho gi tr bng 0
Ph lc
d1=d*2/3;
else
d1=d-5;
end
for i=1:c-5
for j=1:d1
if I(j,i)>200 && i>10
i1=i;
j1=j;
end
end
end
if i1-30>0
for i=1:i1-30
for j=1:d*2/3
if I(j,i)==255 && i>10
i2=i;
j2=j;
end
end
end
end
if i2-30>0
for i=1:i2-30
for j=1:d/2
if I(j,i)==255 && i>10
i3=i;
j3=j;
end
end
end
end
if i3-30>0
for i=1:i3-20
for j=1:d/2
if I(j,i)==255 && i>10
i4=i;
j4=j;
end
end
end
end
[d,c]=size(anhkq);
if j1>1 &&i1>1
[j12,i12]=do(I,j1,i1);
i1=i12-16;
j1=j12-20;
if i1<1
i1=1;
end
if j1<1
j1=1;
end
i1=i1*5; j1=j1*5;
if i11>c
i11=i1+149;
j11=j1+199;
Ph lc
i11=c;
end
if j11>d
j11=d;
end
anh1=imcrop(anhkq1,[i1 j1 i11-i1 j11-j1]);
a1=strcat('anhluu/anh1.jpg'); imwrite(anh1,a1);
for c1=i1:i11
anhkq(j1,c1)=255; anhkq(j11,c1)=255;
anhkq(j1-2,c1)=255; anhkq(j11-2,c1)=255;
end
for d1=j1:j11
anhkq(d1,i1)=255; anhkq(d1,i11)=255;
anhkq(d1,i1-2)=255; anhkq(d1,i11-2)=255;
end
end
anhkq(j1-1,c1)=255; anhkq(j11-1,c1)=255;
anhkq(j1-3,c1)=255; anhkq(j11-3,c1)=255;
anhkq(d1,i1-1)=255; anhkq(d1,i11-1)=255;
anhkq(d1,i1-3)=255; anhkq(d1,i11-3)=255;
if j2>1 &&i2>1
[j22,i22]=do(I,j2,i2); i2=i22-16; j2=j22-20;
if i2<1
i2=1;
end
if j2<1
j2=1;
end
i2=i2*5; j2=j2*5; i21=i2+149; j21=j2+199;
if i21>c
i21=c;
end
if j21>d
j21=d;
end
anh1=imcrop(anhkq1,[i2 j2 i21-i2 j21-j2]);
a1=strcat('anhluu/anh2.jpg'); imwrite(anh1,a1);
for c1=i2:i21
anhkq(j2,c1)=255; anhkq(j21,c1)=255;
anhkq(j2-1,c1)=255; anhkq(j21-1,c1)=255;
anhkq(j2-2,c1)=255; anhkq(j21-2,c1)=255;
anhkq(j2-3,c1)=255; anhkq(j21-3,c1)=255;
end
for d1=j2:j21
anhkq(d1,i2)=255; anhkq(d1,i21)=255;
anhkq(d1,i2-1)=255; anhkq(d1,i21-1)=255;
anhkq(d1,i2-2)=255; anhkq(d1,i21-2)=255;
anhkq(d1,i2-3)=255; anhkq(d1,i21-3)=255;
end
end
if j3>1 &&i3>1
[j32,i32]=do(I,j3,i3);
if i3<1
i3=1;
end
if j3<1
j3=1;
end
i3=i3*5; j3=j3*5;
if i31>c
i31=c;
end
if j31>d
j31=d;
end
i3=i32-16;
i31=i3+149;
j3=j32-20;
j31=j3+199;
Ph lc
anh1=imcrop(anhkq1,[i3 j3 i31-i3 j31-j3]);
a1=strcat('anhluu/anh3.jpg');
imwrite(anh1,a1);
for c1=i3:i31
anhkq(j3,c1)=255; anhkq(j31,c1)=255;
anhkq(j3-1,c1)=255; anhkq(j31-1,c1)=255;
anhkq(j3-2,c1)=255; anhkq(j31-2,c1)=255;
anhkq(j3-3,c1)=255; anhkq(j31-3,c1)=255;
end
for d1=j3:j31
anhkq(d1,i3)=255; anhkq(d1,i31)=255;
anhkq(d1,i3-1)=255; anhkq(d1,i31-1)=255;
anhkq(d1,i3-2)=255; anhkq(d1,i31-2)=255;
anhkq(d1,i3-3)=255; anhkq(d1,i31-3)=255;
end
end
if j4>1 &&i4>1
[j42,i42]=do(I,j4,i4); i4=i42-16; j4=j42-20;
if i4<1
i4=1;
end
if j4<1
j4=1;
end
i4=i4*5; j4=j4*5; i41=i4+149; j41=j4+199;
if i41>c
i41=c;
end
if j41>d
j41=d;
end
anh1=imcrop(anhkq1,[i4 j4 i41-i4 j41-j4]);
a1=strcat('anhluu/anh4.jpg'); imwrite(anh1,a1);
for c1=i4:i41
anhkq(j4,c1)=255; anhkq(j41,c1)=255;
anhkq(j4-1,c1)=255; anhkq(j41-1,c1)=255;
anhkq(j4-2,c1)=255; anhkq(j41-2,c1)=255;
anhkq(j4-3,c1)=255; anhkq(j41-3,c1)=255;
end
for d1=j4:j41
anhkq(d1,i4)=255; anhkq(d1,i41)=255;
anhkq(d1,i4-1)=255; anhkq(d1,i41-1)=255;
anhkq(d1,i4-2)=255; anhkq(d1,i41-2)=255;
anhkq(d1,i4-3)=255; anhkq(d1,i41-3)=255;
end
end
e=strcat('anhluu/anh_kq.jpg');
imwrite(anhkq,e);
Ph lc
if i1<mini
mini=i1;
end
if j1<minj
minj=j1;
end
if j1>maxj
maxj=j1;
end
end
end
end
a1=round((minj+maxj)/2);
b1=round((mini+b)/2);
% hm ny c hai mc ch
% th 1: xa b cc nh li
% th hai bin i nh thnh vector v lm trn s
% trong thut ton PCA x l nh theo khi do khi
% ct nh th cng s c nhng tm nh b li
% nn hm ny s xa tt c cc nh li v gi tr
% ch gi li cc nh c kch thc ng vi nh mu
*******on code nhn dng v truy xut thng tin c nhn nh nhn
dng********
******on code chng trnh chnh**********
anhtest=imread('anhluu/anhtest.jpg');
if anhtest==255
axes(handles.axes3);
imshow('hoso/0.jpg');
set(handles.ten,'string','Khong biet');
set(handles.ns,'string','Khong biet');
set(handles.mssv,'string','Khong biet');
set(handles.lop,'string','Khong biet');
set(handles.quequan,'string','Khong biet');
Ph lc
else
% nu c tm nh nhn dng th chng trnh s
anhtest=imresize(anhtest,[200 150]);
% resize nh v ng kch thc ca nh mu
mau='anhmau';
%to c s d liu nh mu
T = taoCSDL1(mau);
% tnh gi tr eigenface ca tp nh mu
[m, A, E] = taoEF1(T);
anhtim = nhandien1(anhtest, m, A, E);
%gi n chng trnh nhandien1 nhn din nh
anhtim1=anhtim+1;
% ******* c v truy xut d liu ca tm nh nhn dng c t file Excel ************
file = [pwd '\hoso1.xls'];
% khi ng chng trnh Excel c file hoso1.xls
range = 'A2:E100';
h = actxserver('Excel.Application');
% ch khi ng nhng khng cho hin ln bn Excel
h.Visible = 0;
% Visible = 0 l n Visible = 1 l cho n hin ln
workbook = h.Workbooks.Open( file );
Sheets = h.ActiveWorkBook.Sheets;
Sheets.Item(1).Activate;
s1=strcat('A',num2str(anhtim1));
% gi nh cha thng tin trong file EXCEL
s2=strcat('B',num2str(anhtim1));
s3=strcat('C',num2str(anhtim1));
s4=strcat('D',num2str(anhtim1));
s5=strcat('E',num2str(anhtim1));
h.Range(s1).Select;
% Truy xut thng tin c nhn ca tm nh nhn
t1 = h.get('Selection').Value;
% dng trong flie Excel(hoso1. xls) theo ng tn ca
h.Range(s2).Select;
% bc nh mu nhn dng
t2 = h.get('Selection').Value;
h.Range(s3).Select;
t3 = h.get('Selection').Value;
h.Range(s4).Select;
t4 = h.get('Selection').Value;
h.Range(s5).Select;
t5 = h.get('Selection').Value;
set(handles.ten,'string',t1);
%hin thng tin c nhn ca tm nh nhn dng
set(handles.ns,'string',t2);
set(handles.mssv,'string',t3);
set(handles.lop,'string',t4);
set(handles.quequan,'string',t5);
axes(handles.axes3);
% Hin nh va nhn din
imshow(strcat('hoso\',t3,'.jpg'));
workbook.Close(false);
h.Quit;
delete(h);
end
Ph lc
img = rgb2gray(img);
[dong cot] = size(img);
tam = reshape(img',dong*cot,1);
T = [T tam];
end
Ph lc
end
[minKC , vitri] = min(khoangcach);
if minKC<50000000
anhtim=vitri;
elseif minKC>50000000
anhtim =100;
end
% to ra nh trng
% bin tt c cc nh ang hin thnh nh trng
% hin nh trng ln cc nh
Ph lc
axes(handles.axes6); imshow(a1);
axes(handles.axes7); imshow(a1);
set(handles.ten,'string',' ');
set(handles.ns,'string',' ');
set(handles.mssv,'string',' ');
set(handles.lop,'string',' ');
set(handles.quequan,'string',' ');