You are on page 1of 115

B CNG THNG

TRNG I HC CNG NGHIP TP. HCM


KHOA CNG NGH IN T

N TT NGHIP

ti:

D TM V CT NH MT NGI
DNG PCA

GVHD: Ths. o Th Thu Thy


SVTH : Nguyn Trung Hiu -06052461
Bi Ngc Lim -06054491
Lp

: DHDT2B1

TP. H Ch Minh, thng 7 nm 2010

LI M U

Hin nay, cng vi s pht trin ca x hi, vn an ninh bo mt ang


c yu cu kht khe ti mi quc gia trn th gii. Cc h thng nhn dng con
ngi c ra i vi tin cy ngy cng cao. Mt trong cc bi ton nhn dng
con ngi rt c quan tm hin nay l nhn dng khun mt. V nhn dng khun
mt l cch m con ngi s dng phn bit nhau. Bn cnh , ngy nay vic
thu thp, x l thng tin qua nh nhn bit i tng ang c quan tm v ng
dng rng ri. Vi phng php ny, chng ta c th thu nhn c nhiu thng tin
t i tng m khng cn tc ng nhiu n i tng nghin cu. S pht trin
ca khoa hc my tnh to mi trng thun li cho bi ton nhn dng khun mt
ngi t nh s. Cc h thng nhn dng offline ra i v c tin cy cao, tuy
nhin cc h thng nhn dng online li cha p ng c nhiu.
Bi ton nhn dng khun mt ngi l mt bi ton hp dn, khng gii hn
gii php s dng, vn dng linh hot kin thc trong nhiu lnh vc, thch thc
nhiu ngi nghin cu v tnh ng dng to ln trong thc t. y l mt ch c
th ni cn tng i mi vi nhng ng dng mang tnh cng ngh cao nh: robot,
cc thit b camera,cc h thng bo mt, nhn dng, v ang c cc hng,
cng ty p dng vo nhm nng cao cc tnh nng sn phm ca mnh trong qu
trnh cnh tranh trn th trng hin nay
Vi mong mun tip cn cc cng ngh mi, ng thi b sung kin thc v
khoa hc k thut hin i, cng nh tng kt li nhng k nng, kin thc trong
sut qu trnh hc tp ti trng, chng em xin chn ti D tm v ct nh
mt ngi dng PCA. y c th l mt bi ton nh, nhng n cng gip chng
em c mt ci nhn khi qut v bi ton, to c s tin cho s tm ti v pht
trin cc hng cao hn trong s nghin cu cc cng ngh mi...
Bi lun ny c trnh by bao gm c 5 chng:
Chng 1: Gii thiu Matlab v khi qut v nh.
Chng 2: Cc phng php xc nh khun mt.
Chng 3: Phn tch thnh phn chnh PCA.

Chng 4: Chng trnh m phng.


Chng 5: Kt lun.
Ni dung ca ti:
-

Tm hiu phng php nhn din nh.

Nghin cu PCA.

D tm nh mt ngi c khng gian (1=>4).

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

ngi qua mt nh tnh cho trc, ng thi m rng hn l x l nh thu c qua


mt thit b thu nh, v d nh: camera, webcam,

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

NHN XT CA GIO VIN HNG DN


...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
Ch k ca gio vin

NHN XT CA GIO VIN PHN BIN


...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
Ch k ca gio vin

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

4.1.3 Lu gii thut................................................................................. 72


4.1.3.1 Lu gii thut chnh .............................................................. 72
4.1.3.2 Lu gii thut chi tit ............................................................ 72
4.1.4 Kt qu m phng............................................................................... 77
4.1.5 Tc thc hin. ................................................................................ 80
4.2 Nhn xt kt qu t c........................................................................... 81
Chng 5: KT LUN................................................................................... 85
5.1 Kt lun ....................................................................................................... 85
5.2 Hng pht trin ti................................................................................ 85
PH LC .............................................................................................................
TI LIU THAM KHO ..................................................................................

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

Hnh 3.11 H thng d tm v nh v mt ngi..............................................64


Hnh 4.1 Tp nh Face......................................................................................68
Hnh 4.2 Tp nh nface.....................................................................................69
Hnh 4.3 Tp nh mu.......................................................................................70
Hnh 4.4 Lu gii thut chnh ......................................................................72
Hnh 4.5 Lu gii thut chn nh ................................................................73
Hnh 4.6 Lu gii thut chng trnh d tm nh mt ngi ......................74
Hnh 4.7 Lu gii thut chng trnh nhn dng........................................75
Hnh 4.8 Lu gii thut PCA .......................................................................76
Hnh 4.9 Giao din chnh ..................................................................................77
Hnh 4.10 Giao din chng trnh 1 (nh tnh) ................................................77
Hnh 4.11 Giao din chng trnh 2 (nh ng) ..............................................78
Hnh 4.12 Giao din kt qu chng trnh 1 (nh tnh) vi 1 khun mt .......78
Hnh 4.13 Giao din kt qu chng trnh 2 (nh ng)vi 1 khun mt........79
Hnh 4.14 Giao din kt qu chng trnh 1 (nh tnh) vi 2 khun mt .......79
Hnh 4.15 Giao din kt qu chng trnh 1 (nh tnh) vi 4 khun mt n ..80
Hnh 4.16 Giao din kt qu chng trnh 1 (nh tnh) vi 4 khun mt nam 80
Hnh 4.17 nh li do qu nhiu chi tit khng phn bit c ........................83
Hnh 4.18 Li do nh khng c sc nt ........................................................84

Chng 1: Gii thiu Matlab v khi qut v nh

Chng 1

GII THIU MATLAB


V KHI QUT V NH
1.1 Gii thiu chung v phn mm Matlab
1.2 Gii thiu khi qut v nh s
1.3 X l nh vi Matlab

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 1: Gii thiu Matlab v khi qut v nh

Chng 1

GII THIU MATLAB V


KHI QUT V NH
1.1 Gii thiu chung v phn mm Matlab
1.1.1 Khi nim v Matlab
Matlab l mt ngn ng lp trnh thc hnh bc cao c s dng gii
cc bi ton v k thut. Matlab tch hp c vic tnh ton, th hin kt qu, cho
php lp trnh, giao din lm vic rt d dng cho ngi s dng. D liu cng vi
th vin c lp trnh sn cho php ngi s dng c th c c nhng ng dng
sau y.
S dng cc hm c sn trong th vin, cc php tnh ton hc thng thng.
Cho php lp trnh to ra nhng ng dng mi.
Cho php m phng cc m hnh thc t.
Phn tch, kho st v hin th d liu.
Vi phn mm ho cc mnh.
Cho php pht trin, giao tip vi mt s phn mm khc nh C++, Fortran.
1.1.2 Tng quan v cu trc d liu ca Matlab, cc ng dng
Matlab l mt h thng tng giao, cc phn t d liu l mt mng (mng
ny khng i hi v kch thc). Chng cho php gii quyt cc vn lin quan
n lp trnh bng my tnh, c bit s dng cc php tnh v ma trn hay vect v
c th s dng ngn ng C hc Fortran lp trnh ri thc hin ng dng lp trnh
bng cc cu lnh gi t Matlab. Matlab c vit tt t ch MATrix
LABoratory tc l th vin v ma trn, t phn mm Matlab c vit nhm
cung cp cho vic truy cp vo phn mm ma trn mt cch d dng, phn mm ma
trn ny c pht trin bi cc cng trnh Linpack v Eispack. Ngy nay Matlab
c pht trin bi Lapack v Artpack to nn mt ngh thut phn mm cho ma
trn.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 1: Gii thiu Matlab v khi qut v nh

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 1: Gii thiu Matlab v khi qut v nh

y l ni t cc thanh cng c, cc phng tin gip chng ta s dng cc


lnh v cc file, ta c th lit k mt s nh sau.
+ Desktop.
+ Command Window.
+ Command History.
+ Browsers for viewinghelp.
Th vin, cc hm ton hc bao gm cc cu trc nh tnh tng, sin cosin
atan, atan2 etc..., cc php tnh n gin n cc php tnh phc tp nh tnh
ma trn nghich o, tr ring, chuyn i fourier, laplace, symbolic library.
Ngn ng Matlab. l cc ngn ng cao v ma trn v mng, vi cc dng
lnh, cc hm, cu trc d liu vo, c th lp trnh hng i tng.
ho trong Matlab. Bao gm cc cu lnh th hin ha trong mi
trng 2D v 3D, to cc hnh nh chuyn ng, cung cp cc giao din
tng tc gia ngi s dng v my tnh.
Giao tip vi cc ngn ng khc. Matlab cho php tng tc vi cc ngn
ng khc nh C, Fortran
1.1.4 Lm quen vi Matlab
Trc tin khi ng Matlab bn kch click vo biu tng file
Matlab.exe, trn mn hnh xut hin ca s sau. (Xem hnh v 1.1) Ca s cha
cc thanh cng c (Giao din ngi v my) cn thit cho vic qun l cc files, cc
bin, ca s lnh, c th coi desktop l cc panel gm cc , vng, qun l v tc
dng ca tng ca s nh c qun l bi desktop.

Hnh 1.1 Ca s khi khi ng Matlab


GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 1: Gii thiu Matlab v khi qut v nh

Trn hnh v ta thy ca s desktop (ca s ln nht), v cc ca s ph ca


n.
1.1.5 Cc ca s lm vic ca Matlab
a) Ca s Command Window
L ca s giao tip chnh ca Matlab bi y l ni nhp gi tr cc bin,
hin th gi tr, tnh ton gi tr ca biu thc, thc thi cc hm c sn trong th vin
(dng lnh), hoc cc hm (dng function) do ngi dng lp trnh ra trong M-file.
Cc lnh c nhp sau du nhc >>, v nu c sai st trong qu trnh g
(nhp) lnh th hy nhn phm Enter cho n khi nhn c du nhc >>. Thc
thi lnh bng nhn phm Enter.
G cc lnh sau:
>> A= pi/2 ;
>> B= sin(A)
B=
1
Hoc chng trnh son tho trong M-file di y:
% Chuong trinh trong M-file
x= 0:pi/6:2*pi;
y=sin(x);
plot(x, y);
% chuong trinh c lu vi tn file l ve_sin.m
b) Ca s command History
Cc dng m bn nhp vo trong ca s Command Window (cc dng ny
c th l dng nhp bin, hoc c th l dng lnh thc hin hm no ) c gi
li trong ca s Command History, v ca s ny cho php ta s dng li nhng
lnh bng cch click chut ln cc lnh hoc cc bin, nu nh bn mun s
dng li bin . Xem hnh 1.2

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 1: Gii thiu Matlab v khi qut v nh

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)

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 1: Gii thiu Matlab v khi qut v nh

Hnh 1.4 Ca s Array Editor


Tiu l tn bin b, nh dng d liu c tn l: Numeric format, mc
nh l dng short, kch thc size l 1 by 3 (tc l mt hng v 3 ct) ta c th thay
i kch thc ny bng cch thay i gi tr c trong kch thc size.
Dng ca s ny lu cc bin di l d liu ca bin b, ta c th thay
i chng bng cch thay i gi tr trong cc . Tt c cc bin u c lu
trong Workspace trong th hin c kch thc (Size), s Bytes v kiu d liu
(class) (8 bytes cho mi phn t d liu kiu double c th l 24 bytes dnh cho b
v 8 bytes dnh cho a).
d) Ca s M-file
L mt ca s dng son tho chng trnh ng dng, thc thi chng
trnh vit trong M-file bng cch g tn ca file cha chng trnh trong ca s
Commandwindow.
Khi mt chng trnh vit trong M-file, th tu theo ng dng c th, tu
theo ngi lp trnh m chng trnh c th vit di dng sau:
Dng Script file: Tc l chng trnh gm tp hp cc cu lnh vit di
dng lit k, khng c bin d liu vo v bin ly gi tr ra.
Dng hm function: c bin d liu vo v bin ra.
e) ng dn th mc: Ni lu gi cc files chng trnh.
1.2 Gii thiu khi qut v nh s
1.2.1 Cc khi nim c bn v nh
nh s l tp hp hu hn cc im nh vi mc xm ph hp dng m
t nh gn vi nh tht. S im nh xc nh phn gii ca nh. nh c phn

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 1: Gii thiu Matlab v khi qut v nh

gii cng cao th cng th hin r nt cc t im ca tm hnh cng lm cho tm


nh tr nn thc v sc nt hn.
a) im nh (Picture Element)
im nh (Pixel) l mt phn t ca nh s ti to (x, y) vi xm hoc
mu nht nh. Kch thc v khong cch gia cc im nh c chn thch
hp sao cho mt ngi cm nhn s lin tc v khng gian v mc xm (hoc mu)
ca nh s gn nh nh tht. Mi phn t trong ma trn c gi l mt phn t
nh.
b) Mc xm ca nh
Mc xm: L kt qu ca s bin i tng ng 1 gi tr sng ca 1 im
nh vi 1 gi tr nguyn dng. Thng thng n xc nh trong [0, 255] tu thuc
vo gi tr m mi im nh c biu din.
Cc thang gi tr mc xm thng thng: 16, 32, 64, 128, 256 (Mc 256 l
mc ph dng. L do: t k thut my tnh dng 1 byte (8 bit) biu din mc
xm. Mc xm dng 1 byte biu din: 28=256 mc, tc l t 0 n 255).
c) phn gii ca nh
nh ngha: phn gii (Resolution) ca nh l mt im nh c n
nh trn mt nh s c hin th.
Theo nh ngha, khong cch gia cc im nh phi c chn sao cho
mt ngi vn thy c s lin tc ca nh. Vic la chn khong cch thch hp
to nn mt mt phn b, chnh l phn gii v c phn b theo trc x
v y trong khng gian hai chiu.
V d: phn gii ca nh trn mn hnh CGA (Color Graphic Adaptor) l
mt li im theo chiu ngang mn hnh: 320 im chiu dc * 200 im nh
(320*200). R rng, cng mn hnh CGA 12 ta nhn thy mn hn mn hnh CGA
17 phn gii 320*200. L do: cng mt mt ( phn gii) nhng din tch
mn hnh rng hn th mn (lin tc ca cc im) km hn.
1.2.2 Cc cch phn loi nh
nh nh phn: Gi tr xm ca tt c cc im nh ch nhn gi tr 1 hoc 0
nh vy mi im nh trong nh nh phn c biu din bi 1 bit.
nh xm: Gi tr xm nm trong [0, 255] nh vy mi im nh trong nh
nh phn c biu din bi 1 byte.
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 1: Gii thiu Matlab v khi qut v nh

nh mu:
-

H mu RGB:

Mt pixel c biu din bng 3 gi tr (R, G, B) trong R, G, B l mt gi tr


xm v c biu biu din bng 1 byte. Khi ta c mt nh 24 bits.
P(x, y) = (R, G, B)
-

H mu CMY: l phn b ca h mu RGB


(C, M, Y) = (1, 1, 1) - (R, G, B)
Hay C+R=M+G=Y+B=1
=> H mu ny thng c dng trong my in.

H mu CMYK: trong K l m nht ca mu K= min(C, M, Y)


P(x, y) = (C-K, M-K, V-K, K).
V d:
Vi (C1, M1, Y1) ta s c K=min(C1, M1, Y1)

vy CMYK=(C1-K, M1-K, Y1-K, K)


1.3 X l nh vi Matlab
1.3.1 X l nh
Cc bc cn thit trong x l nh. u tin, nh t nhin t th gii ngoi
c thu nhn qua cc thit b thu (nh Camera, my chp nh). Trc y, nh thu
qua Camera l cc nh tng t (loi Camera ng kiu CCIR). Gn y, vi s pht
trin ca cng ngh, nh mu hoc en trng c ly ra t Camera, sau n c
chuyn trc tip thnh nh s to thun li cho x l tip theo. My nh s hin nay
l mt th d gn gi. Mt khc, nh cng c th tip nhn t v tinh; c th qut t
nh chp bng my qut nh. Hnh di y m t cc bc c bn trong x l nh.

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

10

Chng 1: Gii thiu Matlab v khi qut v nh

Hnh 1.5 Cc bc c bn trong x l nh


1.3.2 Cc giai on x l nh
a) Thu nhn nh (Image Acquisition)
-

nh c thu t nhiu ngun khc nhau:my nh, my quay phim, my qut,


nh v tinh

Mc ch: bin i thng tin hnh nh v cc cu trc c lu tr trong my


tnh, c th hin th ra cc thit b ngoi vi nh l my in, mn hnh

Gm hai tin trnh:


+ Bin i nng lng quang hc thnh nng lng in.
+ Tng hp nng lng in thnh nh hoc ma trn s.
b) Tin x l (Image Processing)

L qu trnh s dng cc k thut x l nh lm nh tt ln theo mc ch


s dng.

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)
-

L qu trnh phn chia ni dung cc i tng cn kho st ra khi nh.

Phn chia cc i tng tip gip nhau.

Phn tch cc i tng ring bit thnh cc i tng con.


d) Biu din nh (Image Representation)
u ra nh sau phn on cha cc im nh ca vng nh (nh phn

on) cng vi m lin kt vi cc vng ln cn. Vic bin i cc s liu ny thnh


dng thch hp l cn thit cho x l tip theo bng my tnh. Vic chn cc tnh
cht th hin nh gi l trch chn c trng (Feature Selection) gn vi vic tch
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

11

Chng 1: Gii thiu Matlab v khi qut v nh

cc c tnh ca nh di dng cc thng tin nh lng hoc lm c s phn


bit lp i tng ny vi i tng khc trong phm vi nh nhn c.
V d: trong nhn dng k t trn phong b th, chng ta miu t cc c
trng ca tng k t gip phn bit k t ny vi k t khc.
e) Nhn dng v ni suy nh (Image Recognition and Interpretation)
Nhn dng nh l qu trnh xc nh nh. Qu trnh ny thng thu c
bng cch so snh vi mu chun c hc (hoc lu) t trc. Ni suy l phn
on theo ngha trn c s nhn dng.
V d: mt lot ch s v nt gch ngang trn phong b th c th c ni
suy thnh m in thoi. C nhiu cch phn loai nh khc nhau v nh. Theo l
thuyt v nhn dng, cc m hnh ton hc v nh c phn theo hai loi nhn
dng nh c bn:
-

Nhn dng theo tham s.

Nhn dng theo cu trc.


Mt s i tng nhn dng kh ph bin hin nay ang c p dng trong

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

12

Chng 1: Gii thiu Matlab v khi qut v nh

gia 0 v 1. Mi hng ca bn ch ra cc gi tr m: red, green v blue ca mt


mu n. Mt nh ch s s dng nh x trc tip gia gi tr ca pixel nh ti gi
tr trong bn mu. Mu sc ca mi pixel nh c tnh ton bng cch s dng
gi tr tng ng ca X nh x ti mt gi tr ch s ca map. Gi tr 1 ch ra hng
u tin, gi tr 2 ch ra hng th hai trong bn mu
Mt bn mu thng c cha cng vi nh ch s v c t ng np
cng vi nh khi s dng hm imread c nh. Tuy nhin, ta khng b gii hn
khi s dng bn mu mc nh, ta c th s dng bt k bn mu no.
b) nh cng (Intensity Images)
Mt nh cng l mt ma trn d liu nh I m gi tr ca n i din cho
cng trong mt s vng no ca nh. Matlab cha mt nh cng nh
mt ma trn n, vi mi phn t ca ma trn tng ng vi mt pixel ca nh. Ma
trn c th thuc lp double, uint8 hay uint16. Trong khi nh cng him khi
c lu vi bn mu, Matlab s dng bn mu hin th chng.
Nhng phn t trong ma trn cng i din cho cc cng khc nhau
hoc xm. Nhng im c cng bng 0 thng c i din bng mu en
v cng 1,255 hoc 65535 thng i din cho cng cao nht hay mu
trng.
c) nh nh phn (Binary Images)
Trong mt nh nh phn, mi pixel ch c th cha mt trong hai gi tr nh
phn 0 hoc 1. Hai gi tr ny tng ng vi bt hoc tt (on hoc off). Mt nh nh
phn c lu tr nh mt mng logic ca 0 v 1.
d) nh RGB (RGB Images)
Mt nh RGB - thng c gi l true-color, c lu tr trong Matlab
di dng mt mng d liu c kch thc 3 chiu mxnx3 nh ngha cc gi tr mu
red, green v blue cho mi pixel ring bit. nh RGB khng s dng palette. Mu
ca mi pixel c quyt nh bi s kt hp gia cc gi tr R, G, B (Red, Green,
Blue) c lu tr trong mt mt phng mu ti v tr ca pixel. nh dng file
ho lu tr nh RGB ging nh mt nh 24 bits trong R, G, B chim tng ng
8 bit mt. iu ny cho php nhn c 16 triu mu khc nhau.
Mt mng RGB c th thuc lp double, uint8 hoc uint16. Trong mt mng
RGB thuc lp double, mi thnh phn mu c gi tr gia 0 v 1. Mt pixel m
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

13

Chng 1: Gii thiu Matlab v khi qut v nh

thnh phn mu ca n l (0, 0, 0) c hin th vi mu en v mt pixel m thnh


phn mu l (1, 1, 1 ) c hin th vi mu trng. Ba thnh phn mu ca mi
pixel c lu tr cng vi chiu th 3 ca mng d liu. Chng hn, gi tr mu R,
G, B ca pixel (10, 5) c lu tr trong RGB(10, 5, 1), RGB(10, 5, 2) v RGB(10,
5, 3) tng ng.
tnh ton mu sc ca pixel ti hng 2 v ct 3 chng hn, ta nhn vo b
ba gi tr c lu tr trong (2, 3, 1:3). Gi s (2, 3, 1) cha gi tr 0.5176; (2, 3, 2)
cha gi tr 0.1608 v (2, 3, 3) cha gi tr 0.0627 th mu sc ca pixel ti (2, 3) s
l (0.5176, 0.1608, 0.0627).
1.3.3.2 Cc hm x l nh c bn trong Matlab
a) c v ghi d liu nh
c mt nh ho
-

Hm imread c mt nh t bt k nh dng no c tr gip trong bt k


chiu su bit no c tr gip. Hu ht cc file nh s dng 8 bit cha
gi tr ca pixel. Khi chng c c vo b nh, Matlab cha chng di
dng uint8. Vi cc file tr gip 16 bt d liu, PNG v TIFF, Matlab cha
chng di dng uint16.
Ch : Vi nh ch s, imread lun lun c bn mu vo trong mt

chui thuc lp double, thm ch mng nh t n thuc lp uint8 hay uint16


-

Chng hn, on m sau s c mt nh RGB vo khng gian lm vic ca


Matlab lu trong bin RGB.
RGB=imread(football.jpg);
Trong v d ny, imread s nhn ra nh dng file s dng t tn file. Ta

cng c th ch ra nh dng file nh mt tham s trong hm imread. Matlab tr


gip rt nhiu nh dng ho thng dng chng hn: BMP, GIF, JPEG, PNG,
TIFF bit thm cc kiu gi hm v tham s truyn vo, xem tr gip online
ca Matlab.
9 c nhiu nh t mt file ho
-

Matlab tr gip mt s nh dng file ho chng hn nh: HDF v TIFF,


chng cha nhiu nh. Theo mc nh, imread ch tr gip nh u tin
trong file. nhp thm cc nh t file, s dng c php c tr gip bi

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

14

Chng 1: Gii thiu Matlab v khi qut v nh

nh dng file. Chng hn, khi c s dng vi TIFF, ta c th s dng mt


gi tr ch s vi imread ch ra nh m ta mun nhp vo.
V d sau y c mt chui 27 nh t mt file TIFF v lu nhng nh ny
trong mt mng 4 chiu. Ta c th s dng hm iminfo xem bao nhiu nh
c lu tr trong file:
mri = uint8(zeros(128,128,1,27)); % preallocate 4-D array
for frame=1:27
[mri(:,:,:,frame),map] = imread('mri.tif',frame);
End
-

Khi file cha nhiu nh theo mt s kiu nht nh chng hn theo th t


thi gian, ta c th lu nh trong Matlab di dng mng 4 chiu. Tt c cc
nh phi c cng kch thc.

Ghi mt nh ho
-

Hm imwrite s ghi mt nh ti mt file ho di mt trong cc nh


dng c tr gip. Cu trc c bn nht ca imwrite s yu cu mt bin
nh v tn file. Nu ta gp mt phn m rng trong tn file, Matlab s nhn
ra nh dng mong mun t n.
V d sau ti mt nh ch s X t mt file Map vi bn mu kt hp vi

n map sau ghi nh xung mt file bitmap.


load clown
whos
Name
X
caption
map

Size
200x320

Bytes Class
512000 double array

2x1
81x3

4 char array
1944 double array

Grand total is 64245 elements using 513948 bytes


imwrite(X,map,'clown.bmp')
9 Ch ra nh dng ph - Tham s c bit
-

Khi s dng imwrite vi mt s nh dng ho, ta c th ch ra cc tham


s ph. Chng hn, vi nh dng PNG ta c th ch ra su bit nh mt
tham s ph. V d sau s chi mt nh cng I vi mt file nh 4 bit
PNG.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

15

Chng 1: Gii thiu Matlab v khi qut v nh

imwrite(I,'clown.png','BitDepth',4 );
-

bit thm cc cu trc khc ca hm xem phn tr gip trc tuyn ca


Matlab.
9 c v ghi nh nh phn theo nh dng 1 bit

Trong mt s nh dng file, mt nh nh phn c th c lu trong mt


nh dng 1 bit. Nu nh dng file tr gip n, Matlab ghi nh nh phn nh
nh 1 bit theo mc nh. Khi ta c mt nh nh phn vi nh dng 1 bit,
Matlab i din n trong khng gian lm vic nh mt mng lgic.

V d sau c mt nh nh phn v ghi n di dng file TIFF. Bi v nh


dng TIFF tr gip nh 1 bit, file c ghi ln a theo nh dng 1 bit:
BW = imread('text.png');
imwrite(BW,'test.tif');
kim tra chiu su bit ca file test.tif, gi hm iminfo v kim tra trng

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 .
-

Hm imwrite s dng lut sau y quyt nh lp lu tr c s dng


trong nh kt qu:
+ logical: Nu nh dng nh ra (Output Image) c ch r l tr gip nh 1

bit, hm imwrite to mt file nh 1 bit. Nu nh dng nh ra c ch r l khng


tr gip nh 1 bit (nh JPEG), hm imwrite chuyn nh ti mt nh thuc lp
uint8.
+ uint8: Nu nh dng nh ra c ch r l tr gip nh 8 bit, hm imwrite
to mt nh 8 bit
+ uint16: Nu nh dng nh ra c ch r tr gip nh 16 bit (PNG hoc
TIFF), hm imwrite to mt nh 16 bit. Nu nh dng nh ra khng tr gip nh
16 bit, hm chuyn i d liu nh ti lp uint8 v to mt nh 8 bit.
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

16

Chng 1: Gii thiu Matlab v khi qut v nh

+ double: Matlab chuyn d liu nh ti dng uint8 v to mt nh 8 bit bi


v hu ht cc file nh s dng nh dng 8 bit.
Truy vn mt file ho
-

Hm imfinfo cho php ta c th nhn c thng tin v mt file nh c


tr gip bi toolbox.
C php: imfinfo(filename,fmt)
Cc thng tin c cung cp bi hm imfinfo l: filename, filemodedate,

filesize, format, formatversion, width, height, bitdepth, colortype Thng tin m


ta nhn c ph thuc vo kiu ca file nhng n lun bao gm nhng thng tin
sau:
+ Tn ca file nh.
+ nh dng file nh.
+ S version ca nh dng file.
+ Ngy sa i file gn nht.
+ Kch thc file tnh theo byte.
+ Chiu rng nh tnh theo pixel.
+ Chiu cao nh tnh theo pixel.
+ S lng bt trn mt pixel.
+ Kiu nh: RGB, ch s
b) Hin th nh
Dng hm imview
-

hin th mt nh s dng hm imview, dng hm imview, ch r nh m


ta mun hin th. Ta c th s dng imview hin th mt nh m c
nhp vo trong khng gian lm vic ca Matlab.
moonfig = imread('moon.tif');
imview(moonfig);
Ta cng c th ch nh tn ca file nh nh trong v d sau:
imview('moon.tif');

File nh phi c mt trong th mc hin ti hoc trong ng dn ca


Matlab. Cu trc ny c th hu ch cho vic qut qua nhiu nh. Tuy nhin,
lu , khi s dng cu trc ny, d liu nh khng c lu trong khng
gian lm vic ca Matlab.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

17

Chng 1: Gii thiu Matlab v khi qut v nh

Nu ta gi hm imview m khng ch ra mt k tham s no, n s hin th


mt hp chn file cho php ta ch ra tn file mun hin th.
9 Xem nhiu nh

Nu ta ch ra mt file m cha nhiu nh, hm imview ch hin th nh u


tin trong file . xem tt c cc nh trong file, s dng hm imread
nhp mi nh vo trong khng gian lm vic ca Matlab sau gi hm
imview nhiu ln hin th mi nh ring bit.

Dng hm imshow
-

xem nh, ta c th s dng hm imshow thay cho imview. Ta s dng


imshow hin th mt nh c nhp vo trong khng gian lm vic
nh v d sau:
moon = imread('moon.tif');
imshow(moon);
Ta cng c th ch ra tn ca file nh nh mt tham s truyn vo cho hm

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
-

Vi cc thao tc nht nh s tht hu ch khi c th chuyn i nh t dng


ny sang dng khc. Chng hn, nu ta mun lc mt mu nh c lu tr
di dng nh ch s u tin ta nn chuyn i n thnh dng nh RGB.
Khi ta p dng php lc ti nh RGB, Matlab s lc gi tr cng trong
nh tng ng. Nu ta c gng lc nh ch s, Matlab n gin ch p t
php lc ti ma trn nh ch s v kt qu s khng c ngha.
Ch : Khi chuyn i mt nh t dng ny sang dng khc, nh kt qu c

th khc nh ban u. Chng hn, nu ta chuyn i mt nh mu ch s sang mt


nh cng , kt qu ta s thu c mt nh en trng.
-

Danh sch sau y s lit k cc hm c s dng trong vic chuyn i


kiu nh:

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

18

Chng 1: Gii thiu Matlab v khi qut v nh

+ dither: To mt nh nh phn t mt nh cng en trng bng cch


trn, to mt nh ch s t mt nh RGB bng cch trng (dither).
+ gray2id: To mt nh ch s t mt nh cng en trng.
+ grayslice: To mt nh ch s t mt nh cng en trng bng cch
t ngng.
+ im2bw: To mt nh nh phn t mt nh cng , nh ch s hay nh
RGB trn c s ca ngng nh sng.
+ ind2gray: To mt nh cng en trng t mt nh ch s.
+ ind2rgb: To mt nh RGB t mt nh ch s.
+ mat2gray: To mt nh cng en trng t d liu trong mt ma trn
bng cch ly t l gi liu.
+ rgb2gray: To mt nh cng en trng t mt nh RGB.
+ rgb2ind: To mt nh ch s t mt nh RGB.
-

Ta cng c th thc hin cc php chuyn i kiu ch s dng c php ca


Matlab. Chng hn, ta c th chuyn i mt nh cng sang nh RGB
bng cch ghp ni 3 phn copy ca ma trn nh gc gia 3 chiu:
RGB=cat(3,I,I,I );

nh RGB thu c c cc ma trn ng nht cho cc mt phng R, G, B v


vy nh hin th ging nh bng xm.

Thm vo nhng cng c chuyn i chun ni trn, cng c mt s


hm m tr li kiu nh khc nh mt phn trong thao tc m chng thc
hin.
9 Chuyn i khng gian mu

Toolbox x l nh biu din mu sc nh cc gi tr RGB ( trc tip trong


nh RGB hoc gin tip trong nh ch s ). Tuy nhin, c cc phng php
khc cho vic biu din mu sc. Chng hn, mt mu c th c i din
bi cc gi tr hue, saturation v cc gi tr thnh phn (HSV). Cc phng
php khc cho vic biu din mu c gi l khng gian mu.

Toolbox cung cp mt tp cc th tc chuyn i gia cc khng gian


mu. Cc hm x l nh t chng coi d liu mu sc di dng RGB tuy
nhin, ta c th x l mt nh m s dng cc khng gian mu khc nhau

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

19

Chng 1: Gii thiu Matlab v khi qut v nh

bng cch chuyn i n sang RGB sau chuyn i nh c x l tr


li khng gian mu ban u.
d) Chuyn i nh dng cc file nh
-

thay i nh dng ho ca mt nh, s dng hm imread c mt


nh v sau lu n vi hm imwrite ng thi ch ra nh dng tng ng.

minh ho, v d sau y s dng hm imread c mt file BMP vo


khng gian lm vic.Sau , hm imwrite lu nh ny di nh dng PNG
bitmap = imread('mybitmap.bmp','bmp');
imwrite(bitmap,'mybitmap.png','png');
e) S hc nh

S hc nh s ng dng ca cc php ton s hc chun nh: cng, tr,


nhn, chia ln nh. S hc nh c s dng nhiu trong x l nh trong c
cc bc ban u ln cc thao tc phc tp hn. Chng hn, tr nh c th
c s dng pht hin s khc nhau gia hai hoc nhiu nh ca cng
mt cnh hoc mt vt.

Ta c th thc hin s hc nh s dng cc ton t s hc ca Matlab.


Toolbox x l nh bao gm mt tp hp cc hm ng dng cc php ton s
hc trn tt c cc con s khng lp y. Hm s hc ca toolbox chp nhn
bt k kiu d liu s no bao gm uint8, uint16 hay double v tr li nh kt
qu trong cng nh dng. Cc hm thc hin cc php ton vi chnh xc
kp trn tng phn t nhng khng chuyn i nh ti gi tr chnh xc kp
trong khng gian lm vic ca Matlab. S trn s c iu khin t ng.
Hm s ct b gi tr tr v va vi kiu d liu.

Lut ct b trong s hc nh
-

Kt qu ca s hc nguyn c th d dng trn s dng cho lu tr. Chng


hn, gi tr cc i ta c th lu tr trong uint8 l 255. Cc php ton s hc
c th tr v gi tr phn s - khng c biu din bi mt chui s nguyn.

Cc hm s hc nh s dng nhng lut ny cho s hc nguyn:


+ Gi tr vt qu khong ca kiu s nguyn b ct b ti khong
+ Gi tr phn s c lm trn

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

20

Chng 1: Gii thiu Matlab v khi qut v nh

Chng hn, nu d liu c kiu uint8, kt qu tr v nu ln hn 255 ( bao


gm Inf ) th c gn l 255.
Li gi lng nhau ti hm s hc nh
-

Ta c th s dng cc hm s hc nh kt hp thc hin mt chui cc


php ton. Chng hn tnh gi tr trung bnh ca hai nh:
C=(A+B) /2
Ta c th nhp vo nh sau:
I = imread('rice.png');
I2 = imread('cameraman.tif');
K = imdivide(imadd(I,I2), 2); % not recommended

Khi c s dng vi kiu uint8 hay uint16, mi hm s hc ct kt qu ca


n trc khi truyn n cho hm thip theo. S ct b ny c th gim ng
k lng thng tin trong nh cui cng. Mt cch lm tt hn thc hin
mt chui cc tnh ton l s dng hm imlincomb. Hm ny thi hnh tt c
cc php ton s hc trong s kt hp tuyn tnh ca chnh xc kp v ch
ct b kt qu cui cng:
K = imlincomb(.5,I,.5,I2); % recommended

1.3.3.3 Bin i khng gian nh


Bin i khng gian nh l thc hin nh x gia v tr cc pixel trong nh
vo vi cc pixel trong nh ra.
a) Bng thut ng
Tn thut ng

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

pixel hn. Aliasing xy ra nh kt qu ca


vic gim kch thc nh thng xut hin
di dng bc thang ( c bit trong cc
nh c tng phn cao )

Antialiasing

Cc bin php chng rng ca cho nh

Bicubic interpolation

Gi tr ca cc pixel ra c tnh ton t

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

21

Chng 1: Gii thiu Matlab v khi qut v nh

gi tr trung bnh ca 4x4 pixel ln cn


Bilinear interpolation

Ga tr ca pixel ra c tnh ton t gi


tr trung bnh ca 2x2 pixel ln cn
Mt thao tc sa i quan h hnh hc ga

Geometric operation

cc pixel trong mt nh. Chng hn thay


i kch thc nh, quay nh v xn nh

Interpolation

Qu trnh c s dng c lng gi


tr nh mt v tr gia cc pixel

Nearest-neighbor

Cc gi tr pixel ra c gn gi tr ca

interpolation

pixel nm trong mt vng gn pixel .

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

22

Chng 1: Gii thiu Matlab v khi qut v nh

+ Ni suy song khi: gi tr ca pixel ra l trung bnh c trng s ca 4x4


pixel ln cn.
S lng cc pixel c xem xt nh hng n phc tp tnh ton. V
vy, phng php song tuyn tnh mt nhiu thi gian hn phng php th nht v
phng php song khi mt nhiu thi gian hn song tuyn tnh. Tuy nhin, s
lng pixel ln hn, chnh xc s tt hn.
9 Kiu nh
- Cc hm s dng tuyn tnh yu cu mt tham s ch ra phng php ni
suy. Vi hu ht cc hm, phng php mc nh c s dng l nearest-neighbor
interpolation. Phng php ny to ra mt kt qu c th chp nhn c cho hu
ht cc nh v l phng php duy nht thch hp vi nh ch s. Vi nh cng
hay RGB, tuy nhin ta thng ch ra kiu song tuyn tnh hoc song khi bi v
nhng phng php ny cho kt qu tt hn
Vi nh RGB, ni suy thng c thc hin trn mt phng R,B,G mt
cch ring bit
Vi nh nh phn, ni suy gy ra nhng nh hng m ta c th nhn thy
c. Nu s dng ni suy song tuyn tnh hoc song khi, gi tr tnh ton c
cho pixel trong nh ra s khng hon ton l 0 hoc 1. nh hng trn nh kt qu
ph thuc vo lp ca nh vo:
+ Nu lp nh vo l double, nh ra l mt nh en trng thuc lp double.
nh ra khng l nh nh phn bi v n bao gm cc gi tr khc 0 v 1.
+ Nu nh vo l uint8, nh ra l mt nh nh phn thuc lp uint8. Gi tr
ca cc pixel c ni suy c lm trn thnh 0 hoc 1. V vy , nh ra thuc lp
uint8.
Nu s dng phng php nearest-neighbor interpolation, nh ra lun l nh
nh phn bi v nhng gi tr ca pixel c ni suy c ly trc tip t nh vo.
c) Thay i kch thc nh
- thay i kch thc ca mt nh, s dng hm imresize. S dng hm
ny ta c th:
+ Ch ra kch thc ca nh kt qu.
+ Ch ra phng php ni suy c s dng.
+ Ch ra b lc c s dng ngn nga hin tng rng ca.
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

23

Chng 1: Gii thiu Matlab v khi qut v nh

9 Ch ra kch thc cho nh kt qu


- S dng hm imresize, ta ch th ch ra kch thc ca nh kt qu theo
hai cch:
+ Bng cch ch ra h s phng i c s dng trn nh.
+ Bng cch ch ra chiu ca nh kt qu.
9 S dng h s phng i nh
- m rng mt nh, ch ra h s phng i ln hn 1. thu nh mt nh,
ch ra h s phng i nm gia 0 v 1. Chng hn, lnh sau tng kch thc ca
nh I ln 1.25 ln:

Hnh 1.5 nh trc v sau khi imresize


I = imread('circuit.tif');
J = imresize(I,1.25);
imshow(I)
figure, imshow(J)
9 Ch nh kch thc ca nh ra
- Ta c th ch ra kch thc ca nh ra bng cch truyn mt vc t cha s
lng hng v ct ca nh sau cng. Nhng lnh sau y to mt nh ra Y vi 100
hng v 150 ct.
Y = imresize(X,[100 150])
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

24

Chng 1: Gii thiu Matlab v khi qut v nh

Ch : Nu kch thc c ch ra khng c cng t l vi nh vo, nh ra


s b bin dng
9 Ch nh phng php ni suy c s dng.
- Theo mc nh, hm imresize s dng phng php ni suy cc pixel gn
nht (nearest neighbor interpolation) tnh gi tr cc pixel ca nh ra. Tuy
nhin, ta c th ch nh cc phng php ni suy khc. Bng sau y lit k cc
phng php ni suy c tr gip theo th t ca phc tp.
Gi tr tham s

Phng php ni suy

nearest

Ni suy cc phixel gn nht ( mc nh )

bilinear

Ni suy song tuyn tnh

biculic

Ni suy song khi

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

25

Chng 1: Gii thiu Matlab v khi qut v nh

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

26

Chng 1: Gii thiu Matlab v khi qut v nh

chiu kim ng h. V d sau quay mt nh 35 theo chiu ngc chiu kim ng


h:
J=imrotate(I,35 ) ;
- Mt s tham s tu chn ta c th truyn vo cho hm bao gm:
+ Phng php ni suy c s dng
+ Kch thc ca nh ra
9 Ch nh phng php ni suy c s dng
- Theo mc nh, hm imrotate s dng phng php ni suy th nht
(nearest-neighbor interpolation) tnh gi tr cc pixel trong nh ra. Tuy nhin, ta
c th ch ra cc phng php ni suy khc nh: bilinear ,bicubic
V d sau quay mt nh 35 ngc chiu kim ng h s dng ni suy song tuyn
tnh:
I = imread('circuit.tif');
J = imrotate(I,35,'bilinear');
imshow(I)
figure, imshow(J)

Hnh 1.7 nh trc v sau khi imrotate


9 Ch nh kch thc ca nh ra
Theo mc nh, hm imrotate to mt nh ra ln c th bao gm ton
b cc pixel ca nh gc. Cc pixel nm ngoi bin ca nh gc c gn gi tr 0
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

27

Chng 1: Gii thiu Matlab v khi qut v nh

nh th nn mu en trong nh ra. Nu ta ch ra chui crop nh mt tham s, hm


imrotate s xn nh ra ti kch thc nh nh vo.
9 Hm imrotate
C php ca n nh sau:
B = imrotate(A,angle)
B = imrotate(A,angle,method)
B = imrotate(A,angle,method,bbox)
9 Din gii
+ B=imrotate(A,angle): Quay nh A mt gc angle theo chiu ngc
chiu kim ng h, s dng phng php ni suy cc pixel gn nht. quay theo
chiu kim ng h hy truyn gi tr m cho tham s angle
+ B=imrotate(A,angle,method): Quay nh A mt gc angle theo chiu
kim ng h s dng phng php ni suy c ch ra trong method.
+ B=imrotate(A,angle,method,bbox): Quay nh A mt gc angle . Tham
s bbox ch ra hp bin ca nh tr v. bbox l mt chui c th nhn cc gi tr
sau:
crop: nh ra B ch bao gm phn trung tm ca nh c quay v c cng
kch thc vi nh A
loose: ( Mc nh ): nh ra B bao gm ton b nh c quay v ln hn
nh A. Hm imrotate thit lp gi tr 0 cho cc pixel ngoi bin ca nh gc.
V d
- V d ny c mt nh quang ph nh sng mt tri c lu trong nh
dng FITS v quay n v cn n theo chiu ngang.
I = fitsread('solarspectra.fts');
I = mat2gray(I);
J = imrotate(I,-1,'bilinear','crop');
imshow(I)
figure, imshow(J)

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

28

Chng 1: Gii thiu Matlab v khi qut v nh

Hnh 1.8 nh c quay theo chiu ngang


e) Xn nh (image cropping)
- trch mt vng ch nht ca mt nh, s dng hm imcrop. Hm
imcrop chp nhn hai tham s chnh:
+ nh cn xn
+ Cc gc ca hnh ch nht xc nh vng xn
- Nu ta gi hm imcrop m khng ch ra hnh ch nht, ta c th xn nh
theo cc tng tc. Trong trng hp ny, ta s dng tr chut chn vng ch
nht cn xn bng cch nhn v gi phm chut tri v di chuyn chn vng xn.
Khi chn xong th nh chut. Trong v d sau, ta hin th mt nh v gi hm
imcrop. Hm imcrop hin th nh trong mt hnh v i ta v vng ch nht cn
xn trn nh.
imshow circuit.tif
I=imcrop;
Imshow(I);

Hnh 1.9 nh trc v sau khi imcrop


GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

29

Chng 1: Gii thiu Matlab v khi qut v nh

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

30

Chng 1: Gii thiu Matlab v khi qut v nh

[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)

Hnh 1.10 nh trc v sau khi imcrop theo 1 ta cho trc


f) Cc bin i nh thng dng
- thc hin cc bin i khng gian nh 2 chiu, s dng hm
imtransform. Hm ny chp nhn hai tham s chnh:
+ nh cn bin i
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

31

Chng 1: Gii thiu Matlab v khi qut v nh

+ Mt cu trc bin i c gi l TFORM ch ra kiu bin i ta mun


thc hin
9 Ch ra kiu bin i
- Ta ch ra kiu bin i trong cu trc TFORM. C hai cch to mt cu
trc TFORM:
+ S dng hm maketform
+ S dng hm cp2tform
9 S dng hm maketform
- Khi s dng hm ny, ta ch ra kiu bin i ta mun thc hin. Cc kiu
bin i m maketform tr gip bao gm:
+ affine: Bin i c th bao gm: translation ( dch ), rotation ( quay ),
scaling, stretching v shearing. Cc ng thng vn l ng thng, ng song
song vn song song nhng hnh ch nht c th b bin i
+box: Mt trng hp c bit ca affine khi mi chiu c di v nh t
l c lp
+ composite : Bao gm t hp ca hai hay nhiu php bin i
+ custom : Bin i do ngi dng t nh ngha, n cung cp cc hm
thun hoc nghch c gi bi hm imtransform
+ projective : Bin i trong cc ng thng vn gi nguyn nhng cc
ng song song ng quy li thnh mt im.
9 S dng cp2tform
- Ta s dng hm ny to ra cu trc TFORM khi ta mun thi hnh mt
bin i cn kht vi cc im d liu nh mt bin i a thc.
Ch : Khi s dng vi hm imtransform, cu trc TFORM phi nh ngha mt
bin i 2 chiu. Nu mt nh cha nhiu hn mt chiu chng hn nh nh RGB,
cng mt bin i 2 chiu s c p t ti tt c cc mt phng 2 chiu theo chiu
cao hn. nh ngha mt bin i n chiu s dng hm imformarrray
9 Thc hin bin i
- Khi ta nh ngha mt cu trc TFORM, ta c th thi hnh mt s bin
i bng cch gi hm imtransform. Chng hn, on m sau s dng hm ny
thi hnh mt bin i projective cho mt nh bn c:
I = checkerboard(20,1,1);
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

32

Chng 1: Gii thiu Matlab v khi qut v nh

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)

Hnh 1.11 nh trc v sau khi imtransforms


- Cc tu chn ca hm imtransform cho php ta iu khin nhiu kha
cnh ca vic bin i. Chng hn, ch rng nh b bin i xut hin nhiu bn
copy ca nh gc. iu ny nhn c bi tu chon size.Xem thm Help Online
9 Hm imtransform
- p t mt bin i khng gian 2 chiu ln mt nh
9 C php
B = imtransform(A,TFORM)
B = imtransform(A,TFORM,INTERP)
[B,XDATA,YDATA] = imtransform(...)
[B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...)
9 Din gii
+ B=imtransform(A,TFORM ): bin i nh A theo cu trc c nh ngha
trong TFORM. Cu trc ny c tr v t hm maketform hoc cp2tform. Nu
ndims(A)>2 nh cc nh RGB th cng mt bin i khng gian 2 chiu c p
t ti tt c cc mt phng theo chiu cao hn.
Khi s dng c php ny, hm imtransform t ng dch gc ca nh ra nh ra
c th c hin th nhiu nht c th.
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

33

Chng 1: Gii thiu Matlab v khi qut v nh

+ B=imtransform(A,TFORM, INTERP): ch ra dng ca php ni suy c


s dng. INTERP c th l mt trong cc gi tr nearest, bicubic hoc bilinear.
Tng t, INTERP c th l mt cu trc c tr v t hm
makeresampler. Tu chn ny cho php iu khin nhiu hn ln vic ly mu li
(resampling).
+ [B,XDATA,YDATA]= imtransform(): tr v v tr ca nh ra B trong
khng gian X-Y. XDATA v YDATA cc vector hai thnh phn. Nhng thnh
phn ca XDATA ch ra to x ca ct u v cui ca B. Nhng thnh phn ca
YDATA ch ra to y ca ct u v cui ca B. Bnh thng, hm imtransform
tnh ton XDATA v YDATA t ng v vy B cha ton b nh bin i A.
Tuy nhin, ta c th chng tnh ton t ng ny xem di y:
+ [B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...): Ch
ra cc tham s iu khin nhiu kha cnh khc nhau ca bin i khng gian. Bng
sau lit k cc tham s m ta c th ch ra.
Tham s

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

) ca ct u tin v cui cng ca A. Hai phn t ca

VData

Vdata cho to v ( tung ) ca hng u tin v cui cng


ca A.
Gi tr mc nh cho Udata v Vdata tng ng l [1
size(A,2) ] v [1 size(A,1) ]
C hai tham s ny l cc vector hai phn t thc ch ra v tr
khng gian ca nh ra B trong khng gian ra 2 chiu X-Y. Hai
phn t ca Xdata ch ra honh x ca ct u tin v cui

Xdata

cng ca B. Hai phn t ca Ydata ch ra tung ca hng

Ydata

u tin v cui cng ca B.


Nu Xdata v Ydata khng c ch ra, hm imtransform
c lng gi tr cho chng c th cha ton b nh ra b
bin i

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

34

Chng 1: Gii thiu Matlab v khi qut v nh

L vector vi mt hoc hai phn t thc. Phn t u tin ca


XYScale ch ra chiu rng ca mi pixel vo trong khng
gian X-Y. Phn t th hai (nu tn ti) ch ra chiu cao ca
XYScale

mi pixel ra. Nu XYScale ch c mt phn t, gi tr ny s


c dng cho c chiu rng v chiu cao.
Nu XYScale khng c ch nh nhng Size c ch ra
th XYScale c tnh ton t Size,Xdata v Ydata.
Mt vector hai phn t nguyn khng m. Size ch ra s hng
v ct trong nh ra B. Vi chiu cao hn, kch c ca B c

Size

ly trc tip t A. Ni cch khc, size(B,k) tng ng vi


size(A,k) vi k>2. Nu Size khng c ch nh, n s c
tnh t Xdata,Ydata v XYScale
Mt mng cha mt hoc nhiu gi tr t (fill values). Fill
values c s dng cho cc pixel trn nh ra khi v tr c
bin i tng ng trn nh vo hon ton l vin ngoi ca
nh ra. nu A l 2 chiu, Fillvalues phi v hng. Tuy
nhin, nu chiu ca A ln hn 2, FillValues c th l mt
mng m kch thc ca n tho mn rng buc sau:
size(fill_values,k) phi bng size(A,k+2) hoc 1.
Chng hn, nu A l mt nh RGB unit8 c kch thc

FillValues

200x200x3 th cc kh nng ca FillValues bao gm:


+ 0: T vi mu en
+ [0;0;0]: T vi mu en
+ 255: T vi mu trng
+ [255;255;255]: T vi mu trng
+ [0;0;255]: T vi mu xanh
+ [255;255;0]: T vi mu vng
Nu A l 4 chiu 200x200x3x10 th FillValues c th l 1 v
hng 1x10,3x1,3x10

V d
p mt php dch chuyn ngang ti mt nh cng ;
I = imread('cameraman.tif');
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

35

Chng 1: Gii thiu Matlab v khi qut v nh

tform = maketform('affine',[1 0 0;.5 1 0; 0 0 1]);


J = imtransform(I,tform);
imshow(I), figure, imshow(J)

Hnh 1.12 nh trc v sau khi imtransformsvi 1 cng nh

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

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

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

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,

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh 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 ,

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

39

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 dng bi ton xc nh khun mt ngi
vo my chp hnh th h mi cho kt qu hnh nh p hn, nht l khun
mt ngi.
2.3 Phng php xc nh khun mt
C nhiu nghin cu tm phng php xc nh khun mt ngi, t nh
xm n ngy nay l nh mu. Da vo tnh cht ca cc phng php xc nh
khun mt, cc phng php ny c chia lm bn hng tip cn 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.
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

40

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.
2.3.1 Hng tip cn da trn tri thc
Trong hng tip cn ny, cc lut s ph thuc rt ln vo tri thc ca
nhng tc gi nghin cu v bi ton xc nh khun mt ngi. y l hng tip
cn dng top-down. D dng xy dng cc lut c bn m t cc c trng ca
khun mt v cc quan h tng ng. V d, mt khun mt thng c hai mt i
xng nhau qua trc thng ng gia khun mt v c mt mi, mt ming. Cc
quan h ca cc c trng c th c m t nh quan h v khong cch v v tr.
Thng thng cc tc gi s trch c trng ca khun mt trc tin c c
cc ng vin, sau cc ng vin ny s c xc nh thng qua cc lut bit
ng vin no l khun mt v ng vin no khng phi khun mt. Thng p dng
qu trnh xc nh gim s lng xc nh sai.
Mt vn kh phc tp khi dng hng tip cn ny l lm sao chuyn t
tri thc con ngi sang cc lut mt cc hiu qu. Nu cc lut ny qu chi tit (cht
ch) th khi xc nh c th xc nh thiu cc khun mt c trong nh, v nhng
khun mt ny khng th tha mn tt c cc lut a ra. Nhng cc lut tng qut
qu th c th chng ta s xc nh lm mt vng no khng phi l khun mt
m li xc nh l khun mt. V cng kh khn m rng yu cu t bi ton xc
nh cc khun mt c nhiu t th khc nhau.
C hai tc gi Yang v Huang dng mt phng thc theo hng tip cn
ny xc nh cc khun mt. H thng ca hai tc gi ny bao gm ba mc lut.
mc cao nht, dng mt khung ca s qut trn nh v thng qua mt tp lut
tm cc ng vin c th l khun mt. mc k tip, hai ng dng mt tp lut
m t tng qut hnh dng khun mt. Cn mc cui cng li dng mt tp lut
khc xem xt mc chi tit cc c trng khun mt. Mt h thng a phn
gii c th t c dng xc nh (hnh 2.1).

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

(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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

42

my, mt, mi, ming, v ng vin ca tc c trch bng phng php xc


nh cnh. Trn c s cc c trng ny, xy dng mt m hnh thng k m t
quan h ca cc c trng ny v xc nh s tn ti ca khun mt trong nh. Mt
vn ca cc thut tan theo hng tip cn c trng cn phi iu chnh cho ph
hp iu kin nh sng, nhiu, v b che khut. i khi bng ca khun mt s to
thm cnh mi, m cnh ny li r hn cnh tht s ca khun mt, v th nu dng
cnh xc nh s gp kh khn.
2.3.2.1 Cc c trng khun mt
Mt s phng php xc nh cc c trng ca khun mt c t l chnh
xc cao:
+ Phng php xc nh khun mt t mt nh c hnh nn phc tp.
Phng php ny da trn cnh (dng phng php Candy v heuristics) loi b
cc cnh cn li duy nht mt ng bao xung quanh khun mt. Mt hnh
ellipse dng bao khun mt, tch bit vng u v hnh nn. T l chnh xc ca
thut ton l 80%.
+ Phng php xc nh khun mt trong nh xm. Dng b lc lm ni
cc bin, cc php ton hnh thi hc (morphology) c dng lm ni bt cc
vng c cng cao v hnh dng chc chn (nh mt). Thng qua histogram
tm cc nh ni bt xc nh cc ngng chuyn nh xm thnh hai nh nh
phn. Cc thnh phn dnh nhau u xut hin trong hai nh nh phn th c
xem l vng ca ng vin khun mt ri phn loi xem c phi l khun mt khng.
Phng php c kim tra trn cc nh ch c u v vai ca ngi. Tuy nhin cn
vn , lm sao s dng cc php ton morphology v lm sao xc nh khun mt
trn cc vng ng vin.
+ Phng php xc nh khun mt da m hnh xc sut xc nh khun
mt trong nh c hnh nn phc tp trn c s mt b xc nh c trng cc b
v so khp th ngu nhin. chnh l xem bi ton xc nh khun mt nh l
bi ton tm kim vi mc tiu l tm th t cc c trng chc chn ca khun mt
to thnh ging nht mt mu khun mt. Dng nm c trng (hai mt, hai l
mi, phn ni gia mi v ming) m t mt khun mt. Lun tnh quan h
khong cch vi cc c trng cp (nh mt tri, mt phi), dng phn b Gauss
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

43

m hnh ha. Mt mu khun mt c a ra thng qua trung bnh tng ng cho


mt tp a hng, a t l ca b lc o hm Gauss. T mt nh, cc c trng
ng vin c xc nh bng cch so khp tng im nh khi lc tng ng vi
vector mu (tng t mi tng quan), chn hai ng vin c trng ng u
tm kim cho cc c trng khc ca khun mt. Ging nh xy dng mt th
quan h mi node ca th tng ng nh cc c trng ca mt khun mt, a
xc sut vo xc nh. T l xc nh chnh xc l 86%.
+ Phng php xc nh khun mt dng l thuyt xc sut thng k v hnh
dng. Dng hm mt xc sut (Probility Density Function- PDF) qua N im c
trng, tng ng (xi, yi) l c trng th i vi gi s da vo phn b Gauss c 2Nchiu. Cc tc gi p dng phng thc cc i kh nng (Maximum LikelihoodML) xc nh v tr khun mt. Mt thun li ca phng php ny l cc khun
mt b che khut vn c th xc nh c. Nhng phng php khng xc nh
c a khun mt trong nh.
+ Phng php xc nh khun mt da vo c trng, dng s lng ln
cc du hiu t nh v c du hiu v ng cnh. u tin dng b lc o hm
Gauss th hai, xc nh cc im mu cht ti cc i a phng trong b lc,
ri ch ra ni c th l c trng. Giai on hai, kim tra cc cnh xung quanh im
mu cht v nhm chng li thnh cc vng. Tiu chun nhm cc cnh l gn
v tng t hng v cng . o lng cc c tnh vng nh: chiu di cnh,
cng cnh, v bin thin cng c lu trong mt vector c trng. T d
liu c trng khun mt c hun luyn, s tnh c gi tr trung bnh v ma
trn hip phng sai ca mi c trng khun mt. Mt vng l ng vin khun
mt khi khong cch Mahalanobis gia cc vector c trng u di mt ngng.
Ri thng qua mng Bayes xc nh ng vin c phi l khun mt khng. T l
chnh xc l 85%, tuy nhin mc sai l 28%, v ch hiu qu vi hnh khun mt
c kch thc 60x60 im nh. Phng php ny c dng thm vi m hnh
ng vin linh hot.
+ Phng php xc nh khun mt da trn tch c trng vng mc v c
ng theo dao ng nh ca mt. Thut ton hot ng trn bn hay vng ca
cc mu cht, m hnh ha li vng mc. u tin tnh ton c lng th vng
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

45

khun mt dng lm kt cu phn loi, gi l kt cu ging khun mt (face-like


texture). Tnh kt cu qua cc c trng thng k th t th hai (SGLD) trn vng
c kch thc 16x16 im nh. C ba loi c trng c xem xt: mu da, tc, v
nhng th khc.
2.3.2.3 Sc mu ca da
Thng thng cc nh mu khng xc nh trc tip trn ton b d liu nh
m cc tc gi dng tnh cht sc mu ca da ngi (khun mt ngi) chn ra
c cc ng vin c th l khun mt ngi (lc ny d liu thu hp ng k)
xc nh khun mt ngi.
2.3.2.4 a c trng
Gn y c nhiu nghin cu s dng cc c trng ton cc nh: mu da
ngi, kch thc, v hnh dng tm cc ng vin khun mt, ri sau s xc
nh ng vin no l khun mt thng qua dng cc c trng cc b (chi tit) nh:
mt, lng my, mi, ming, v tc.
2.3.3 Hng tip cn da trn so khp mu
Trong so khp mu, cc mu chun ca khun mt (thng l khun mt
c chp thng) s c xc nh trc hoc xc nh cc tham s thng qua mt
hm. T mt nh a vo, tnh cc gi tr tng quan so vi cc mu chun v
ng vin khun mt, mt, mi v ming. Thng qua cc gi tr tng quan ny
m cc tc gi quyt nh c hay khng c tn ti khun mt trong nh. Hng tip
cn ny c li th l rt d ci t, nhng khng hiu qu khi t l, t th, v hnh
dng thay i ( c chng minh). Nhiu phn gii, a t l, cc mu con, v
cc mu bin dng c xem xt thnh bt bin v t l v hnh dng.
Hnh chiu c dng nh cc mu xc nh khun mt ngi. Dng
PCA (phn tch thnh phn chnh - Principal Component Analysis - PCA) c mt
tp hnh chiu c bn t cc mu khun mt, hnh chiu c m t nh mt mng
cc bit. Dng c trng hnh chiu ring kt hp bin i Hough xc nh khun
mt ngi. Sau mt phng php xc nh da trn a loi mu xc nh cc
thnh phn ca khun mt c trnh by. Phng php ny nh ngha mt s gi
thuyt m t cc kh nng ca cc c trng khun mt. Vi mt khun mt s
c mt tp gi thuyt, l thuyt DepsterShafer. Dng mt nhn t tin cy kim
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

46

tra s tn ti hay khng ca cc c trng ca khun mt, v kt hp nhn t tin cy


ny vi mt o xem xt c hay khng c khun mt trong nh.

Hnh 2.3 Mt mu khun mt, c 16 vng v 23 quan h (cc mi tn).


2.3.4 Hng tip cn da trn din mo
Tri ngc vi cc phng php so khp mu vi cc mu c nh
ngha trc bi nhng chuyn gia, cc mu trong hng tip cn ny c hc t
cc nh mu. Mt cch tng qut, cc phng php theo hng tip cn ny p
dng cc k thut theo hng xc sut thng k v my hc tm nhng c tnh
lin quan ca khun mt v khng phi l khun mt. Cc c tnh c hc
trong hnh thi cc m hnh phn b hay cc hm bit s nn dng c th dng cc
c tnh ny xc nh khun mt ngi. ng thi, bi ton gim s chiu
thng c quan tm tng hiu qu tnh ton cng nh hiu qu xc nh.
Cc tip cn khc trong hng tip cn da trn din mo l tm mt hm
bit s (nh: mt phng quyt nh, siu phng tch d liu, hm ngng)
phn bit hai lp d liu: khun mt v khng phi khun mt. Bnh thng, cc
mu nh c chiu vo khng gian c s chiu thp hn, ri sau dng mt hm
bit s (da trn cc o khong cch) phn loi, hoc xy dng mt quyt
nh phi tuyn bng mng neural a tng. Hoc dng SVM (Support Vector
Machine) v cc phng thc kernel, chiu hon ton cc mu vo khng gian c
s chiu cao hn d liu b ri rc hon ton v ta c th dng mt mt phng
quyt nh phn loi cc mu khun mt v khng phi khun mt.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 2: Cc phng php xc nh khun mt

47

2.4 Kh khn v th thch trong bi ton xc nh khun mt ngi


Vic xc nh khun mt ngi c nhng kh khn nht nh nh sau:
Hng (pose) ca khun mt i vi my nh, nh: nhn thng, nhn nghing
hay nhn t trn xung. Cng trong mt nh c th c nhiu khun mt nhng
t th khc nhau.
S c mt ca cc chi tit khng phi l c trng ring ca khun mt
ngi, nh: ru quai nn, mt knh, .
Cc nt mt (facial expression) khc nhau trn khun mt, nh: vui, bun,
ngc nhin, .
Mt ngi b che khut bi cc i tng khc c trong nh.
iu kin nh, c bit l v sng v cht lng nh, cht lng thit b
thu hnh.
Trc to ca my nh so vi nh.
Kch thc khc nhau ca cc khun mt ngi, v c bit l trong cng
mt nh.
Mu sc ca mi trng xung quanh, hay mu sc qun o ca ngi c
chp ly nh.
Xut hin thnh phn khun mt hay khng.
Nhiu khun mt c vng da dnh ln nhau.
Cc kh khn trn chng t rng bt c phng php gii quyt (thut ton)
bi ton xc nh khun mt ngi s khng th trnh khi mt s khim khuyt
nht nh. nh gi v so snh cc phng php xc nh mt ngi, ngi ta
thng da trn cc tiu ch sau:
T l xc nh chnh xc l t l s lng cc khun mt ngi c xc
nh ng t h thng khi s dng mt phng php xy dng so vi s
lng khun mt ngi tht s c trong cc nh (detection rate).
S lng xc nh nhm l s lng vng trong nh khng phi l khun
mt ngi m h thng xc nh nhm l khun mt ngi (false positives).

Thi gian thc hin l thi gian my tnh xc nh khun mt ngi trong

nh (running time).
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

Chng 3

PHN TCH THNH PHN CHNH PCA


(PRINCIPAL COMPONENT ANALYSIS)

3.1 S lc v phn tch thnh phn chnh PCA


3.2 Thut ton PCA v ng dng trong nhn dng khun mt ngi
3.3 ng dng Eigenfaces trong vic nhn dng mt ngi
3.4 Nhn xt

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

48

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

49

Chng 3

PHN TCH THNH PHN CHNH PCA

3.1 S lc v phn tch thnh phn chnh PCA


Phn tch thnh phn chnh (Principal Component Analysis - PCA) c trnh
by theo nhiu quan im khc nhau. Vi cc nh thng k c in th PCA l tm cc
trc chnh ca ellipsoid nhiu chiu bao hm m my s liu phn phi chun nhiu
chiu, cc trc c c lng t mt mu n c th, trn mi c th ngi ta o p
ch tiu. Ngi u tin a ra k thut ny l H.Hotelling (1933), sau l
T.W.Anderson (1958) v A.M.Kshirsagar (1972).
Vi cc nh nhn t hc c in th k tht ny l phng php phn tch nhn
t trong trng hp c bit, khi cc phng sai ny bng khng hoc xp x bng
khng. Phng php ny thng c s dng trong phn tch tm l, do Horst (1965)
v Harman (1966) xut.
Sau cng, theo quan im ph bin hn c ca cc nh phn tch s liu th PCA
l mt k thut biu din cc s liu mt cch ti u theo mt tiu chun i s v hnh
hc c bit. khi s dng k thut ny ngi ta khng i hi mt gi thuyt thng k
hoc mt m hnh c bit no. Quan im ny tr nn ph bin t khi c my tnh
in t, v l quan im mi nht. Nhng t tng ca phng php ny do K.Pearson
(1901) xut. Trong cng trnh ca C.R Rao (1964) ni dung l thuyt ca phng
php PCA c trnh by kh n gin v r rng.
Lnh vc ng dng ca phng php PCA rt rng trong cng nghip, nng
nghip, kinh t, khoa hc c bn vi bng s liu m cc ct l cc bin v cc dng
l cc c th, trn o gi tr ca bin.
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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

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


Ai = Ti m , i=1P

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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

Nhng vector uk v gi tr v hng k chnh l nhng vector ring v tr ring


tng ng ca ma trn AAT.
u / v l tch v hng gia hai vector u, v.

A = A1

A2 ... Ap

Ta thy ma trn A c kch thc M*N P, cn ma trn AAT 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 ATA c kch thc PP .
Nu v l mt vector ring ca ATA v l tr ring tng ng, khi ta c:
ATA v = v ATA Av = Av
tc l Av l mt tr ring ca ma trn AAT.
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 AAT, ta s chun ha chng thu c
mt c s trc chun ca khng gian khun mt .
t L= ATA , 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.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

52

E = AV l tp cc vector ring ca AAT. 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 {u1, , uQ}. Khi hnh chiu
trc giao ca vector u bt k ln W c xc nh nh sau:
Q

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

Vi Ai l mt ct trong ma trn A (tng ng vi bc nh Ti trong tp hun luyn). Ta


tnh Ci = E T Ai l ta ca hnh chiu Ai f ca Ai ln khng gian khun mt.
Ta tnh hai i lng sau:
S = K K f xem nh khong cch t bc nh H n khng gian mt.
Si = C Ci xem nh khong cch t H n bc nh Ti trong tp hun luyn.
Xt v l hai ngng no .
s < th H l bc nh khun mt (do H gn vi khng gian mt).
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

53

si < th Ti l bc nh ca cng mt ngi vi H ( H gn vi Ti).


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 Kf(x,y) l hnh chiu ca K(x,y) ln khng gian khun mt .
Tnh s ( x, y ) = K ( x, y ) K f ( 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.
3.2.3 Hnh nh minh ha
Trong v d ny ta c mt tp hun luyn gm nhng bc nh khun mt kch thc
180x200 pixel, di y l mt s hnh nh ca nhng eigenfaces thu c (lu l
y ch l cc vector trc giao, nhng eigenfaces thc s chnh l nhng vector ny
c chun ha).

Hnh 3.1 Eigenfaces


By gi ta chiu hai bc nh ln khng gian khun mt ny :

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

54

Hnh 3.2 Bc nh kim tra v hnh chiu ca n


Nh ta thy nu bc nh l khun mt ngi th hnh chiu s kh ging vi nh
gc, cn khi bc nh khng phi l khun mt th hnh chiu s khc nh gc rt nhiu,
do khong cch t bc nh mt ngi ti khng gian mt s nh hn rt nhiu so
vi khong cch t bc nh khng phi mt ngi ti khng gian mt.
Di y l mt v d khc, ta c mt tp hun luyn gm nhng bc nh kch
thc 18x27 pixel, ta cng tm cc Eigenface v sau tm face map ca mt bc nh
kim tra. Trong v d ny th nh con H(x,y) vng hnh ch nht c tm ti (x,y) trn
bc nh v c kch thc 18x27 pixel.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

55

Hnh 3.3 nh ban u

Hnh 3.4 Face map ca bc nh ban u.


Ta thy v tr ca mi khun mt chnh l nhng vng cc tiu a phng trn
bc nh (l nhng m en trong nhng vng trng hnh ch nht).
By gi nu ta c mt c s d liu nhng nh khng phi khun mt (ta
thng tp trung vo nhng hnh nh xung quanh khun mt nh c o, mt phn ca
khun mt ). Tm face map ca bc nh ban u vi khng gian khng phi khun
mt ny, ta thu c kt qu sau:

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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.

Hnh 3.6 a) Nhng gng mt dng hun luyn


GVHD: Ths. o Th Thu Thy

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).

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

59

Qu trnh nhn dng c th tm tt nh sau:


Chun b: Thu thp dy hun luyn ca nh mt ngi v tnh ton cc
eigenfaces, xc nh khng gian mt ngi.
Khi nhn c bc nh mi, tnh ton dy trng s da vo nh u vo v M
eigenfaces bng cch chiu nh u vo vi tng eigenface.
C th xc nh nh u vo c phi l gng mt hay khng da vo vic kim
tra nh c gn khng gian mt ngi hay khng.
Nu l gng mt thi phn loi cc trng s xem c phi ngi bit
trc hay cha.
(khng bt buc) Nu gng mt cha bit xut hin vi ln th tnh ton cc
trng s thnh phn v st nhp vo nhng gng mt bit (hc nhn dng).
3.3.1 Tnh ton Eigenfaces
Ly bc nh mt ngi I(x,y) l ma trn 2 chiu NN (cc gi tr trong ma trn
th hin mc xm ti tng im nh), hoc l vect N2. Bc nh chun c kch thc
256x256 m t vect c 65536 chiu, hoc c th xem mi bc nh l mt im trong
khng gian 65536 chiu. Vi mt chui nh th ta s c mt bn m t tp hp cc
im (mi im c trng cho 1 nh) trong khng gian rng ln ny.
nh ca cc gng mt, c th xem nh tng t nhau trong dng tng qut,
ch khng phi s phn b ngu nhin trong khng gian nh rng ln do ta c th
m t chng trong khng gian con t chiu hn. tng chnh ca phng php phn
tch cc thnh phn chnh (PCA) l tm kim cc vect tnh ton s phn b nh mt
ngi theo hng tt nht i vi vng nh u vo cho trc. Nhng vect ny xc
nh khng gian con ca nh mt ngi, chng cn c gi l khng gian mt (face
space).
Nhng vect ny c chiu di l N2, m t bc nh NN, v n l s kt hp
tuyn tnh t cc nh gc u vo. Bi v cc vect l cc eigenvect ca ma trn
tng quan (covariance matrix) thu c t cc nh gc u vo, bi v chng cng c
hnh dng nh gng mt, nn thng c gi l eigenfaces. Mt s v d v
eigenfaces c ch ra hnh 3.7.
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

60

Ly mt chui hun luyn ca nh mt ngi l 1 , 2 , 3 , 4 ,..., n . Mi bc nh


khc vi nh trung bnh theo vect i = i . Gng mt trung bnh ca chui
c tnh bng cng thc.
=

1
M

n =1

Hnh 3.6 th hin dy hun luyn, nh trung bnh ch ra hnh 3.6b. Dy ny l


cc vect c kch thc ln c tnh ton PCA, tm kim dy M cc vect trc giao
v cc gi tr ring thch hp. Cc vect v thang o l cc vect ring v tr ring
tng ng ca ma trn tng quan.
C=

1
M


n =1

T
n

= AAT

Trong ma trn A = [ 1 , 2 , 3 ,..., n ] , ma trn C c kch thc l N2 x N2 v


phi xc nh N vect ring v tr ring, l nhim v rt kh lm i vi kch thc
ca mt nh chun. Chng ta cn phi c phng php tnh ton hp l tm ra cc
vect ring ny. Tht may mn khi ta c th xc nh cc vect ring bng vic tnh
ton trong ma trn c kch thc nh hn nhiu M x M, sau dng kt hp tuyn tnh
ca cc vect tnh c trn.
Vi s phn tch trn th vic tnh ton c gim bt rt nhiu, t bc ca
cc im nh N2 chuyn sang bc ca cc nh trong dy hun luyn M. Thc t nhng
nh gng mt trong dy hun luyn s tng i nh (M<< N2) v vic tnh ton c
th kim sot c. Nhng tr ring thch hp cho php chng ta sp xp cc tr ring
theo hng c li cho vic m t s khc nhau gia cc bc nh. Hnh 3.7 ch ra 7
eigenfaces u tin tnh tan t cc nh u vo hnh 3.6. Thng thng nn bc
nh s c loi b khi nh c luyn, do eigenfaces s c gi tr khng khng
gian pha ngoi gng mt.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

61

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

3.3.2 Dng Eigenfaces phn loi nh mt ngi.


Khi cc eigenfaces c to ra, vic nhn dng tr thnh nhn ra cc mu.
Eigenfaces s m ra khng gian con M chiu t khng gian gc N2. M vect ring
cn thit ca ma trn L c chn ra t cc gi tr ring thch hp ln nht. Trong
trng hp kim tra ny, da trn M=16 nh gng mt, chn ra M= 7 eigenfaces. S
eigenfaces

dng

chn

ra

cc

tr

ring.

Mt gng mt mi c bin i v cc thnh phn eigenface ca chnh n (chiu


vo khng gian mt) bi php tnh n gin
Wk = uk ( )

vi k=1,2M

iu ny m t mt dy php nhn v php cng im n im nh. Hnh 3.8


ch ra 3 bc nh v hnh chiu ca chng vo khng gian mt ngi.

Hnh 3.8 nh v hnh chiu ca n vo khng gian mt ngi xc nh bi cc


Eigenfaces t hnh 3.7
Cc trng s thu c t vect T = [ w1 , w2 , w3 ,..., wM ' ] , chng m t s phn b
ca tng eigenface trong mi tng quan ca nh u vo, m t eigenfaces nh l
phn c bn ca nh mt ngi. Cc vect ny c dng tm kim l ci no trong
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

62

s lp nh mt ngi c xc nh trc, m t gng mt mi ny theo hng tt


nht. Gii thut n gin nht l xc nh lp nh m t cc thng tin gn ging nh
u vo, Chnh l i tm lp nh th k c khong cch euclid nh nht k = k ,
trong k l vect m t lp gng mt th k. Gng mt c phn loi thuc lp
th k khi gi tr k nh hn ngng cho trc l . Ngc li gng mt s c
phn loi l cha bit.
3.3.3 ng dng Eigenfaces pht hin gng mt
Chng ta c th s dng kin thc khng gian mt ngi d tm v nh v mt
ngi trong bc nh. Chng ta c th nhn dng hnh dng ca cc thnh phn ca
gng mt. To ra cc vect trng s ca bc nh tng ng vi vic chiu bc nh
vo khng gian mt c lc b cc chiu d tha. Khong cch gia bc nh v
hnh chiu ca n vo khng gian mt ngi ch n gin l khong cch gia nh u
M

vo iu chnh v gi tr trung bnh = v i = wk k , hnh chiu ca nh vo


i =1

khng gian mt.


Nh c ch ra hnh 3.9, cc bc nh mt ngi hon ton khng c s thay
i khi chiu vo khng gian mt, trong khi cc bc nh khng c dng mt ngi th
s khc bit l kh nhiu, tng c bn cho vic d tm hnh dng mt ngi trong
mt khung cnh l: ti mi v tr ca bc nh tnh ton khong cch gia cc vng nh
nh vi khng gian mt. Khong cch t khng gian mt c dng nh gi tr o
kh nng l mt ngi, kt qu tnh ton khong cch t khng gian mt ngi n
mi im trn bc nh l bn mt (face map) ( x, y ) . Hnh 3.9 ch ra bc nh v
bn mt ca n - vng gi tr thp (vng ti) ch ra hnh dng ca gng mt. im
cc tiu trong bn mt chnh l v tr gng mt trong nh.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

63

Hnh 3.9 a) nh gc b) Bn mt ngi, vng ti ch ra hnh dng khun mt


3.3.3.1 Xem xt li khng gian mt
Mt bc nh mt ngi, v trong s nhng gng mt trong chui hun luyn,
nn tuyn tnh vi khng gian mt, tng qut l n m t nhng bc nh xem nh
ging mt ngi. Ni mt cch khc, khong cch hnh chiu nn nm trong phm
vi ngng.
C 4 trng hp c th xy ra i vi nh u vo v cc vect thnh phn ca
n:
Gn khng gian mt v thuc mt lp mt .
Gn khng gian mt nhng khng thuc lp mt
Xa khng gian mt nhng thuc 1 lp mt.
Xa khng gian mt v khng thuc lp mt no.
Hnh 3.10 ch ra 4 trng hp trn trong v d n gin l ch c 2 eigenfaces.

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)
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

64

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

Trong trng hp u tin, c th s c nhn dng v xc nh. Trong trng


hp 2 s nhn ra c th thuc lp mt ngi nhng cha bit.
Hai trng hp cn li ch ra nh khng phi l nh mt ngi. Ring trng
hp th ba s b nhn din sai trong hu ht h thng nhn dng hin nay; tuy nhin s
nhn dng sai ny s b pht hin trong h thng ca chng ti bi vi khong cch cn
thit

gia

nh

khng

gian

con

ca

nh

mt

ngi.

3.3.3.2 Nhn dng theo thi gian thc


Con ngi lun khng ngng chuyn ng. Ngay c khi ang ngi h cng ca
quy, v iu chnh v tr c th, chp mt nhn xung quanh. i vi ngi chuyn
ng trong khng gian tnh, chng ti s xy dng h thng d tm v nh v cc
chuyn ng n gin, m t hnh 6, cho php d tm v nh v tr u nhn vt. B
lc khng gian - thi gian (spatio-temporal) theo di v nhn mnh cc v tr nh khng
tuyn tnh m cng thay i theo thi gian, do ngi chuyn ng s hin ln
trn nh c lc.

Hnh 3.11 H thng d tm v nh v mt ngi


Sau khi ly ngng nh c lc to ra nh chuyn ng dng nh phn,
chng ta s phn tch chuyn ng khi theo thi gian xc nh chuyn ng do con
ngi t xc nh v tr u ngi. Mt s lut n gin c s dng, chng hn
nh u ngi l khi nh hn nm pha trn khi chnh (thn ngi) chuyn ng
ca u ngi l chm v lin k nhau.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 3: Phn tch thnh phn chnh PCA (Principal Component Analysis)

65

Chng ta s s dng k thut c m t trn xy dng h thng c th d


tm v nhn dng mt ngi theo thi gian thc. Khi chng trnh nhn dng v d tm
chuyn ng kim c phn u ngi, mt bc nh con, trung tm l phn u
ngi, s c chuyn vo module nhn dng. Dng khong cch t khng gian mt
ngi xc nh, bc nh s b loi b nu khng phi mt ngi, nhn dng xem gng
mt c phi thuc nhm bit trc khng, hoc xc nh l gng mt cha bit.
Qu trnh nhn dng bng h thng ny s mt t 2 n 3 giy.
3.4 Nhn xt
PCA l phng php dng xy dng c trng khun mt, n l mt nn
tng pht trin nhng thut ton khc. Thc t c rt nhiu tc gi p dng PCA, kt
hp vi nhng phng php nh mng neural, xc sut thng k xy dng nhng
thut ton c chnh xc cao.
3.4.1 u im ca phng php PCA
D ci t, nu ta xt bi ton tm khun mt ging nhau th ch cn p dng
hon ton theo l thuyt l c chnh xc kh cao, nu p dng cho bi
ton tm v tr khun mt th cn phi c mt thut ton na s dng face
map thu c theo l thuyt.
Tm c cc c tnh tiu biu ca i tng cn nhn dng m khng cn
phi xc nh cc thnh phn v mi quan h gia cc thnh phn .
Thut ton c th thc hin tt vi cc nh c phn gii cao, do PCA s
thu gn nh thnh mt nh c kch thc nh hn.
PCA c th kt hp vi cc phng php khc nh mng Noron, Support
Vector Machine mang li hiu qu nhn dng cao hn.
3.4.2 Nhc im ca PCA
Cc mu khun mt hon ton ph thuc vo tp hun luyn, c ngha l cc
khun mt trong nh kim tra phi ging vi cc nh hun luyn v kch
thc, t th, sng. Thc t trong tp hun luyn thng gm nhiu nhm
hnh, mi nhm l hnh ca mt ngi vi t th, sng khc nhau.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

67

Chng 4

CHNG TRNH
M PHNG
4.1 Chng trnh m phng
4.2 Nhn xt kt qu t c

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

68

Chng 4

CHNG TRNH M PHNG


4.1 Chng trnh m phng
4.1.1 C s d liu nh
C s d liu nh bao gm c 3 tp nh: nh face, nh nface, nh mu. Trong
2 tp l nh face v nh nface c dng trong chng trnh d tm v ct nh mt
ngi, cn chng trnh nhn dng mt ngi dng 2 tp nh l nh face v nh mu.
4.1.1.1 Tp nh hun luyn
a) nh face
Tp nh face bao gm nhng tp nh khun mt ngi, dng trong thut ton
PCA, xc nh cc thnh phn c trng ca khun mt ngi, dng d tm, xc
nh khun mt ngi v nhn dng mt ngi.

Hnh 4.1 Tp nh Face

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

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.

Hnh 4.2 Tp nh nface


4.1.1.2 Tp nh mu
Tp nh mu bao gm cc nh a vo tp nh c s d liu, khi ta d tm v
ct nh khun mt, t s xc nh cc thnh phn c trng, d tm trong nh c s
d liu, xc nh ta khong cch sai lch gia cc thng s im nh, tm ra nhng
nh tng ng, gn vi nh c xc nh, t truy xut ra thng tin d liu ca nh
cn nhn dng.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

71

nhn dng nh tm v xc nh v tr ca nhng khun mt c trong tm nh. y l


on chng trnh chnh ca bi ton, on chng trnh s dng thut ton PCA v l
giai on chim thi gian nhiu nht ca bi ton D tm v ct nh mt ngi dng
PCA.
Bc 3: Ct nh mt ngi.
L qu trnh tch nhng khun mt c trong tm nh u vo chia thnh nhng
tm nh nh ring l gip ta c th lu li tng khun mt mt cch d dng hay
dng nhng tm nh vo nhng cng vic khc mt cch nhanh chng v chnh xc
hn.
Bc 4: Lu nh khun mt.
Sau tt c cc qu trnh thc hin phng php tm v tch nh mt ngi th
cui cng kt qu cng t c d khng chun xc nhng mc ch cui cng l ta
phi lu tr li nhng g m ta lm c, khi ta nhn vo nt save th s hin ln th
mc lu nh v thc hin thao tc lu nh.
Bc 5: Nhn dng khun mt.
Qu trnh nhn dng khun mt cng c thc hin da vo thut ton PCA,
sau khi ct nh mt ngi, t nh ta t lm nh test, nh test ny s c x l
bng cch xc nh khong cch ca nh test n nh c s d liu. Nu nh test c
nm trong c s d liu nh, th nh test s c nhn dng bng mt bc nh khc
nm trong c s d liu nh, cn nu nh test khng nm trong c s d liu nh, th s
khng nhn dng c.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

72

4.1.3 Lu gii thut


4.1.3.1 Lu gii thut chnh

Bt u

Chn nh

Chng trnh d tm v ct
nh mt ngi

Chng trnh nhn dng


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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

73

Bt u

Chn nh tnh

Chn nh ng

Chn th mc cha nh
cn kim tra

Chy chng trnh m


webcam

Chn nh

Chn v chp nh

Hin th nh chn

Kt thc

Hnh 4.5 Lu gii thut chn nh

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

74

b) Lu gii thut chng trnh d tm nh mt ngi


Bt u

nh d tm

Tp nh hun luyn Face v Nface

D tm nh mt ngi bng PCA

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

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

75

c) Lu gii thut chng trnh nhn dng


Bt u

Chn nh nhn dng

nh mu so snh nhn dng

Thut ton nhn dng PCA

nh c trong
tp d liu

Khng c

C
D tm thng tin t file
Excel hoso1.xls

Truy xut thng


tin nh nhn dng

Hin th thng tin


v nh nhn dng

Kt thc
Hnh 4.7 Lu gii thut chng trnh nhn dng
GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

76

d) Lu thut ton PCA

Bt u

Thut ton PCA

To c s d liu

Chuyn nh thnh vector

To ma trn nh

Tnh gi tr nh trung bnh

Tnh cc gi tr Eigenface

Xc nh Eigenface ca nh
chn ban u

Kt thc
Hnh 4.8 Lu gii thut PCA

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

77

4.1.4 Kt qu m phng
a) Giao din ca chng trnh

Hnh 4.9 Giao din chnh

Hnh 4.10 Giao din chng trnh 1 (nh tnh)

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

78

Hnh 4.11 Giao din chng trnh 2 (nh ng)


b) Giao din ca kt qu d tm v nhn dng
nh 1 khun mt:

Hnh 4.12 Giao din kt qu chng trnh 1 (nh tnh) vi 1 khun mt

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

79

Hnh 4.13 Giao din kt qu chng trnh 2 (nh ng)vi 1 khun mt


nh 2 khun mt:

Hnh 4.14 Giao din kt qu chng trnh 1 (nh tnh) vi 2 khun mt


nh 4 khun mt:

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

80

Hnh 4.15 Giao din kt qu chng trnh 1 (nh tnh) vi 4 khun mt n

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

81

thc hin nhanh hay chm. Nu nh u vo c kch thc nh, qu trnh x l ca


chng trnh s thc hin nhanh chng, nu nh u vo c kch thc ln, qu trnh
x l ca chng trnh s thc hin chm, mc khc tc thc hin cng ty thuc
vo tc x l ca my tnh, v vy, yu cu cn c mt cu hnh thch hp thc
hin chng trnh mt cch nhanh chng, to iu kin thun li cho vic d tm v
nhn dng khun mt.
Tc thc hin l qu trnh o c thi gian x l chng trnh, l chng
trnh d tm nh mt ngi v chng trnh nhn dng nh mt ngi.
4.2 Nhn xt kt qu t c
Qua qu trnh tm hiu v nghin cu, chng em xy dng c mt ci nhn
khi qut v bi ton nhn dng, c bit l nhn dng mt ngi. ng thi, nm bt
c mt s vn v x l nh: cc dng nh, tnh cht nh, khng gian, ta nh,
ma trn nh, v vn dng n kt hp vi cc cng c x l nh trong Matlab (Image
Processing Toolbox).
T kt qu thu c, ta nhn thy: ta c th d tm c 1 khun mt, 2 khun
mt, 3 khun mt v ti a l 4 khun mt trong 1 bc nh, nguyn nhn do s hn
ch v kch thc ca khun mt v bc nh, v nhng khun mt ny c th c hoc
khng c trong tp nh hun luyn, y chnh l u im ca bi ton. Tuy cha c s
chun xc trong qu trnh d tm v nhn dng mt ngi, nhng bi ton phn no
c gii quyt. Trong qu trnh thao tc, c th c nhng u v khuyt im, nhng
bi lun vn ny ca chng em cng hon thnh tng i c th chp nhn c,
sau y l mt s u im v khuyt im ca bi ton cng nh trong qu trnh thc
hin lun vn.
u im
- Ta c th nhn dng c mt bc nh vi 1 khun mt, 2 khun mt, 3 khun mt
v 4 khun mt.
- Khun mt ngi c d tm v ct ra rt r nt, c th nhn dng c.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

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

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

83

Nh vy, da vo xc sut thng k trong qu trnh lm vic, c mt vi trng


nh khng nhn dng c, vi nhiu l do khch quan.
Mt s trng hp b li, khng d tm c khun mt, do nhiu nguyn nhn
khc nhau:
-

nh c nhiu im c trng khc: ru quai nn

Hnh 4.17 nh li do qu nhiu chi tit khng phn bit c

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Chng 4: Chng trnh m phng

84

nh khng phi l nh nh tht: tranh v, lm cho sc nt ca nh khng


cao.

Hnh 4.18 Li do nh khng c sc nt

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Ti Liu Tham Kho


[1]. Ng Hong Khc Tin, Trn Xun Bch, n tt nghip D tm nh mt
ngi dng PCA, Khoa Cng ngh in t, trng i hc Cng Nghip TP HCM,
2009.
[2]. Lng Mnh B, Nguyn Thanh Thy, Nhp Mn X l nh s, Nxb Khoa hc
v K thut, 2002.
[3]. V c Khnh, Hong Vn Kim. Gio trnh x l nh s, Nh xut bn i
hc Quc gia Thnh ph H Chi Minh, 2003.
[4]. Phm Th Bo, Tng quan cc phng php xc nh khun mt ngi, Tp
ch bu chnh vin thng.
[5]. Ng Quc To, Ng Phng ng, Nguyn Thanh Ha, Phm Vit Bnh
(2003), Bo co Nhn dng mt ngi trong mi trng sng khng ng
nht, Hi tho Cng ngh thng tin quc gia ln th VIII, Thi Nguyn, 2931/8/2003.
[6]. Nguyn Hoi Sn, Gio trnh Matlab cn bn, Khoa Xy dng v C hc ng
dng, trng HSPKT.
[7]. Burce A. Draper, Kyungim Baek, Marian Stewart Bartlett, J. Ross Beveridge,
Recognizing Faces with PCA and ICA.
[8]. Stan Z. Li , Anil K. Jain, Handbook of Face Recognition, 2006.
[9]. IEEE Computer Society, Automatic face and gesture recognition, 2004
[10]. Cc Wedsite:
http://www.mathworks.com/matlabcentral/fileexchange/?term=Variable
http://www.picvietnam.com/forum//showthread.php?t=387
www. diendandientu. com
www. dientuvienthong. net

Ph lc

PH LC

************ Chng trnh chnh***************


function varargout = luanvantotnghiep(varargin)
% LUANVANTOTNGHIEP M-file for luanvantotnghiep.fig
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @luanvantotnghiep_OpeningFcn, ...
'gui_OutputFcn', @luanvantotnghiep_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
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% Executes just before luanvantotnghiep is made visible.
function luanvantotnghiep_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
function varargout = luanvantotnghiep_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function THOAT_Callback(hObject, eventdata, handles)
close1;
% --- Executes on button press in pushbutton6.
function pushbutton6_Callback(hObject, eventdata, handles)
chuongtrinh1;
delete(handles.figure1);
% --- Executes during object creation, after setting all properties.
function axes1_CreateFcn(hObject, eventdata, handles)
imshow('anhnen.jpg');
% --- Executes during object creation, after setting all properties.
function axes3_CreateFcn(hObject, eventdata, handles)
imshow('vo.jpg');
% --- Executes during object creation, after setting all properties.
function sxes2_CreateFcn(hObject, eventdata, handles)

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Ph lc
imshow('logo.bmp');
****************************************************

**************Chng trnh ct nh tnh*********


function varargout = chuongtrinh1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @chuongtrinh1_OpeningFcn, ...
'gui_OutputFcn', @chuongtrinh1_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
gui_mainfcn(gui_State, varargin{:});
end
% --- Executes just before chuongtrinh1 is made visible.
function chuongtrinh1_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 = chuongtrinh1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% --- Executes on button press in CHONANH.
function CHONANH_Callback(hObject, eventdata, handles)
xoaanh;
chonanh;
% --- 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.
function Timmat_Callback(hObject, eventdata, handles)
tic
% tic l hm m thi gian bt u m
thuchien;
% gi hm thuchien.m
axes(handles.axes2);
imshow('anhluu/anh_kq.jpg');
%hin nh kt qu
set(handles.times,'string',toc);
%kt thc m thi gian v cho n hin

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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');

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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);

% --- Executes on button press in close.


function close_Callback(hObject, eventdata, handles)
xoaanh;
luanvantotnghiep;
delete(handles.figure1);
% --- Executes on button press in next.
function next_Callback(hObject, eventdata, handles)
xoaanh;
chuongtrinh2;
delete(handles.figure1);
****************************************************

**********Chng trnh ct nh ng****************


function varargout = chuongtrinh2(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @chuongtrinh2_OpeningFcn, ...
'gui_OutputFcn', @chuongtrinh2_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
gui_mainfcn(gui_State, varargin{:});

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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.

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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

% chn nh thc hin cho chng trnh nhn dng


% con nu khng th thi khng l g ht
set(handles.ns,'string',' ');
set(handles.lop,'string',' ');

% --- Executes on button press in chon4.


function chon4_Callback(hObject, eventdata, handles)
if (get(hObject,'Value') == get(hObject,'Max'))
% nu nh du n mang Max
photo=imread('anhluu\anh4.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 back.
function back_Callback(hObject, eventdata, handles)
xoaanh;
% thc hin xa nhng tm nh c trc khi thc
chuongtrinh1;
%hin chng trnh x l nh mi
delete(handles.figure1);
% --- Executes on button press in close.
function close_Callback(hObject, eventdata, handles)
xoaanh;
% thc hin xa nhng tm nh c trc khi thc
luanvantotnghiep;
%hin chng trnh x l nh mi
delete(handles.figure1);

********* on code thc hin chng trnh d tm v ct nh*************


face='face';
nface='nface';
%********************** TAO MATRAN CSDL************
[T1,T2] = taoCSDL(face,nface);
%******************* TAO EF ************
[m1,m2,E1,E2] = taoEF(T1,T2);
%******************LOAD ANH DE XU LY**********
im1=imread('anhluu/anh_goc.jpg');
im= imresize(im1,0.2);
% nn nh li ch cn 20%
im =rgb2gray(im);
% chuyn v nh xm ch mang gi tr 0 v 1
%***************** XAC DINH **************
[dong cot] = size(im);
anh1=im*255;
% nhn ton b nh vi g tr 255
anh2=im*255;
for i=1:1:dong
for j=1:1:cot
tam=subim(im,i,j);
tam1=tam-m1;
% m1 l gi tr trung bnh ca nh face
tam2=tam-m2;
% m2 l gi tr trung bnh ca nh nace
sochieu1=size(E1,2);
sochieu2=size(E2,2);

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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;

******* on code to c s d liu cho chng trnh d tm nh mt**********


function [T1,T2] = taoCSDL(face,nface)
csdl1 = dir(face);
csdl2=dir(nface);
soanh1 = 0;
soanh2=0;
% m tt c cc file nh c trong th mc face v nface
for i = 1:size(csdl1,1)
if not(strcmp(csdl1(i).name,'.')|strcmp(csdl1(i).name,'..')|strcmp(csdl1(i).name,'Thumbs.db'))
soanh1 = soanh1 + 1;
end
end
for i = 1:size(csdl2,1)
if not(strcmp(csdl2(i).name,'.')|strcmp(csdl2(i).name,'..')|strcmp(csdl2(i).name,'Thumbs.db'))
soanh2 = soanh2 + 1 ;
end
end
T1 = [];
% To ma trn nh T1 cha tp nh face
for i = 1 : soanh1
str = int2str(i);
% hm strcat nhm lin kt cc gi tr thnh chui
str = strcat('\',str,'.png');
% tin cho qu trnh truy xut hay lu li gi tr mi
str = strcat(face,str);
img = imread(str);
try
img = rgb2gray(img);
% chuyn tt c v nh xm 0 1
catch

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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

*********on code to enginface **************


function [m1,m2,E1,E2] = taoEF(T1,T2)
m1 = mean(T1,2);
% Tnh ton gi tr nh trung bnh
soanh1 = size(T1,2);
m2 = mean(T2,2);
soanh2=size(T2,2);
%Tnh lch gia cc bc nh hun luyn vi gi tr nh trung bnh sau tr i gi tr trung bnh ca
nh trung bnh v lu cc sai khc li lm mt ma trn nh mi ma trn l ma trn vecto ring ca nh
hun luyn, nhn ma trn vector ring vi ma trn nghch o ca n v dng hm eig tm cc vector
ring cho tp nh hun luyn
A1 = [];
for i = 1 : soanh1
temp = double(T1(:,i)) - m1;
% T(:,i): vector ct th i chnh l mt bc nh
A1 = [A1 temp];
end
A2 = [];
for i = 1 : soanh2
temp = double(T2(:,i)) - m2;
A2 = [A2 temp];
end
L1 = A1'*A1;
[V1 D1] = eig(L1);
%tm vector ring v tr ring
L2 = A2'*A2;
[V2 D2] = eig(L2);
%V cha ma trn nhng vecto ring, cn D cha nhng tr ring ca cc vector ring , vector ring V(:,i)
ng vi tr ring l D(i,i)
D=diag(D1);
D=sort(D);
% sp sp theo chiu tng dn
s=size(D);
s=s(1);
D=D(s-20);
% ch gi li 20 tr ring ln nht
LeigV1 = [];
% v 20 vector ring ln nht ca tp nh hun luyn
for i = 1 : size(V1,2)
if( D1(i,i)>D )
LeigV1 = [LeigV1 V1(:,i)];
% to mt ma trn mi ch gm 20 vecto ring
End
%ti cc v tr ca chnh n cn cc v tr khc

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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

% sovector chnh l s ct ca ma trn


% norm la tnh gi tr bnh phng trung bnh

****** doan code xac dinh va cat anh khuon mat********


function xacdinh(anh1,anh,face,nface)
[dong,cot]=size(face);
% v phng php PCA l phng php x l nh theo khi
for i=15:1:dong-13;
% do vy khi x l nh ta thng ct nh ln ra thnh tng
for j=8:1:cot-8;
% tm nh con x l m tm nh x l phi c kch thc
s1=0.001;
% bng kch thc tm nh trong tp nh hun luyn
s2=0.001;
% do vy khi x l ta phi tnh gi tr t tm ca tm nh
for i1=i-13:i+13
% qut cho nn khi truy xut ra hnh Eigenface thng
for j1=j-7:j+7
% mt i cc ng vin xung quanh l vy
if abs(i1-i)<3 && abs(j1-j)<2
s1=s1+double(face(i1,j1));
else
s2=s2+double(face(i1,j1));
end
end
end
if s2/s1>21.8 && (nface(i,j)+nface(i-1,j)+nface(i+1,j))>89 && face(i,j)<31 && face(i-1,j)<31 &&
face(i+1,j)<31 && face(i-2,j)<31 && face(i+2,j)<31
kq(i,j)=255;
% gn ti im nh ph hp vi cc thng s
else
% ca khun mt l 255 v cc v tr khc
kq(i,j)=0;
% mang gi tr bng 0
end
end
end
%----------------------------d=strcat('anhluu/anh_danhdau.jpg');
imwrite(kq,d);
I=kq;
anhkq=anh;
anhkq1=anh1;
[d,c]=size(I);
% d l s dng cn c l s ct ca ma trn nh I
i1=1; i2=1; i3=1; i4=1; j1=1; j2=1; j3=1; j4=1;
% khi tnh ton hm ny th i l ct v j l dng
if d>50

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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

% trong thut ton ny ta dng vng lp for


% tm gi tr ti l 255 sau lu n li
% tin b cho tnh ton tch mt sau ny
% vng lp for c mt khuyt im l n
% ch dng li ti im cui cho nn vn
% tm kim c nhiu khun mt gp nhiu
% kh khn vng lnh lp li nhiu ln
% tn km thi gian khi chy chng trnh

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

% gi n chng trnh d tm tm nh khun mt


% iu kin ny nhm trnh li khi ct nh
% m ct nh ln ra ngoi khung nh

i11=i1+149;

GVHD: Ths. o Th Thu Thy

j11=j1+199;

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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;

GVHD: Ths. o Th Thu Thy

j3=j32-20;

j31=j3+199;

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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);

****on code xc nh v tr trung tm khun mt*******


function [a1,b1]= do(anh,a,b)
% b la gia tri cot a la gia tri dong
mini=b; minj=a; maxj=a;
[d,c]=size(anh); b1=b-20; a1=a-15; a2=a+15;
if b1<1
b1=1;
end
if a1<1
a1=1;
end
if a2>d
a2=d;
end
for i1=b1:b
for j1=a1:a2
if anh(j1,i1)>200

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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);

******on code nhn dng Enginface***********


function kq=subim(anh,y,x)
[dong,cot]=size(anh);
d=27;c=18;
i1=y-13;i2=y+13;
if i1<1
i1=1;
end
if i2>dong
i2=dong;
end
j1=x-8;j2=x+9;
if j1<1
j1=1;
end
if j2>cot
j2=cot;
end
im=anh(i1:i2,j1:j2);
kt=(i2-i1+1)*(j2-j1+1);
if kt==486
im=reshape(im',486,1);
kq=double(im);
else
im=reshape(im,kt,1);
kq=zeros(486,1);
for i=1:kt
kq(i,1)=im(i,1);
end
kq=double(kq);
end

% 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');

GVHD: Ths. o Th Thu Thy

%c nh chn nhn dng


% kim tra c phi l nh trng hay khng
% nu l nh trng thng tin nhn dng s l
% tm hnh khng nhn dng c
% v cc thng tin khc u khng bit

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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

% ng v thot chng trnh Excel

*******on code to c s d liu ca chng trnh nhn dng*****


function T = taoCSDL1(mau)
csdl = dir(mau);
soanh = 0;
for i = 1:size(csdl,1)
if not(strcmp(csdl(i).name,'.')|strcmp(csdl(i).name,'..')|strcmp(csdl(i).name,'Thumbs.db'))
soanh = soanh + 1;
end
end
T = [];
% to ma trn nh trong th mc nh mu
for i = 1 : soanh
str = int2str(i);
str = strcat('\',str,'.jpg');
str = strcat(mau,str);
% Ly y tn ca bc nh
img = imread(str);

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Ph lc
img = rgb2gray(img);
[dong cot] = size(img);
tam = reshape(img',dong*cot,1);
T = [T tam];
end

% Bin nh thnh vector


% Tng dn kch thc ma trn nh T

*********on code tnh Eigenface trung bnh************


function [m, A, E] = taoEF1(T)
m = mean(T,2);
soanh = size(T,2);

%Tnh ton gi tr nh trung bnh

%%%%%%%%%%%%%% Tnh lch ca bc nh vi g tr trung bnh ca nh trung bnh


A = [];
for i = 1 : soanh
temp = double(T(:,i)) - m;
% T(:,i): vector ct th i chnh l 1 bc
A = [A temp];
end
L = A'*A;
% Tnh ma trn A*A
[V D] = eig(L);
% tim cc vector ring v tr ring
%V cha nhng vector ring, cn D cha nhng tr ring trong vector ring V(:,i) ng vi tr ring D(i,i)
D1=diag(D);
D1=sort(D1);
s=size(D1);s=s(1);
D1=D1(s-10);
LeigV = [];
for i = 1 : size(V,2)
if( D(i,i)>D1 )
LeigV = [LeigV V(:,i)];
end
end
E = A * LeigV;
sovector=size(E,2);
for i=1:sovector
dodai=norm(E(:,i));
E(:,i)=E(:,i)/dodai;
end

*****on code nhandien1 ca chuong trnh nhn dng khun mt*************


function anhtim = nhandien1(anhtest, m, A, E)
toado = [];
sovector = size(E,2);
for i = 1 : sovector
tam = E'*A(:,i);
toado = [toado tam];
end
tam = rgb2gray(anhtest);
[dong cot] = size(tam);
InImage = reshape(tam',dong*cot,1);
dolech = double(InImage)-m;
toadoKT = E'*dolech;
khoangcach = [];
for i = 1 : sovector
q = toado(:,i);
tam = ( norm( toadoKT - q ) )^2;
khoangcach = [khoangcach tam];

GVHD: Ths. o Th Thu Thy

%Tp ta hnh chiu ca cc bc nh trong csdl


%s vector ring trong E l s
%ta hnh chiu ca bc nh Ai
% chuyn nh mu thnh nh trng en

% tnh khong cch ca tm nh so vi cc nh mu


% xc nh khong cch ngn nht

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

Ph lc
end
[minKC , vitri] = min(khoangcach);
if minKC<50000000
anhtim=vitri;
elseif minKC>50000000
anhtim =100;
end

%%********on code lin quan*******%%


******* on code lu nh*********
if s==255
% kim tra nh chn lu c phi l nh hay khng
selection = questdlg(['No la anh trang do ban co luu khong?'],...
['Luu ' 'anh da chon!'],...
'Yes','No','Yes');
%a ra bn thng bo nu n l nh trng
if strcmp(selection,'No')
% chn No quay li chng trnh
return;
elseif strcmp(selection,'Yes')
[filename,pathname]=uiputfile({'*.jpg','JPEG Files(*.jpg)';...
'*.bmp','Bitmap Files(*.bmp)';'*.gif','GIF Files(*.gif)';...
'*.tif','TIFF Files(*.tif)';...
'*.*','all image file'},'Luu anh da chon!','anhkq/');
imwrite(s,[pathname,filename]);
end
else
% nu nh lu khng phi l nh trng
[filename,pathname]=uiputfile({'*.jpg','JPEG Files(*.jpg)';...
'*.bmp','Bitmap Files(*.bmp)';'*.gif','GIF Files(*.gif)';...
'*.tif','TIFF Files(*.tif)';...
%t tn v chn loi nh mun lu
'*.*','all image file'},'Luu anh da chon!','anhkq/');
%thc hin lu nh
imwrite(s,[pathname,filename]);
end

********* on code chn nh *******


[filename,pathname]=uigetfile({'*.jpeg;*.jpg;*.gif;*.tif;*.tiff;*.bmp;*.png',...
'all image file';'*.jpg;*.jpeg','JPEG Files(*.jpg,*.jpeg)';...
% chn ng dn ni cha nh test
'*.gif','GIF Files(*.gif)';'*.tif;*.tiff','TIFF Files(*.tif,*.tiff)';...
'*.bmp','Bitmap Files(*.bmp)';'*.png','PNG Files(*.png)'},'Chon anh kiem tra! ','anhtest/1.png');
anhchon=imread([pathname,filename]);
% c nh chn
axes(handles.axes1);
imshow(anhchon);
% hin nh chn
a=strcat('anhluu/anh_goc.jpg');
imwrite(anhchon,a);

**********on code xa nh ********


a=255;
a1=strcat('anhluu/anh_goc.jpg'); imwrite(a,a1);
a1=strcat('anhluu/anh1.jpg'); imwrite(a,a1);
a1=strcat('anhluu/anh2.jpg'); imwrite(a,a1);
a1=strcat('anhluu/anh3.jpg'); imwrite(a,a1);
a1=strcat('anhluu/anh4.jpg'); imwrite(a,a1);
a1=strcat('anhluu/anh_face.jpg'); imwrite(a,a1);
a1=strcat('anhluu/anh_kq.jpg'); imwrite(a,a1);
a1=strcat('anhluu/anhtest.jpg'); imwrite(a,a1);
a1=255;
axes(handles.axes1); imshow(a1);
axes(handles.axes2); imshow(a1);
axes(handles.axes3); imshow(a1);
axes(handles.axes4); imshow(a1);
axes(handles.axes5); imshow(a1);

GVHD: Ths. o Th Thu Thy

% to ra nh trng
% bin tt c cc nh ang hin thnh nh trng

% hin nh trng ln cc nh

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

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',' ');

% xa cc dng d liu thng tin nhn dng

******* on code thot********


selection = questdlg(['Close ' get(handles.figure1,'Name') '?'],...
% a ra cu hi
['Close ' get(handles.figure1,'Name') '...'],...
'Yes','No','Yes');
% to bn lu chn c hai nt hi Yes, No
if strcmp(selection,'No')
% nu chn No quay la chng trnh
return;
end
% Nu chn Yes thot khi chng trnh
delete(handles.figure1)

GVHD: Ths. o Th Thu Thy

SVTH: Nguyn Trung Hiu


Bi Ngc Lim

You might also like