TRNG I HC KHOA HC T NHIÊN
KHOA CÔNG NGH THÔNG TIN
B MÔN CÔNG NGH PHN MM
INH BÁ THNG – NG BÁC VN
TÌM HIU CÁC K THUT
ÁP DNG CHO BÀI TOÁN
NHN DNG KÝ HIU NGI CÂM
KHÓA LUN C NHÂN TIN HC
TP.HCM, NM 2005
TRNG I HC KHOA HC T NHIÊN
KHOA CÔNG NGH THÔNG TIN
B MÔN CÔNG NGH PHN MM
INH BÁ THNG – 0112446
NG BÁC VN – 0112454
TÌM HIU CÁC K THUT
ÁP DNG CHO BÀI TOÁN
NHN DNG KÝ HIU NGI CÂM
KHÓA LUN C NHÂN TIN HC
GIÁO VIÊN HNG DN
T.S DNG ANH C
Th.S NGUYN TRI TUN
NIÊN KHÓA 2001 - 2005
LI NHN XÉT CA GIÁO VIÊN HNG DN
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
LI NHN XÉT CA GIÁO VIÊN PHN BIN
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
……………………………………………………………………………………………………
Li cm n
Chúng em xin chân thành cm n Khoa Công ngh Thông tin, trng i hc
Khoa hc T nhiên TP.HCM đã to điu kin cho chúng em thc hin đ tài lun vn
tt nghip này.
Chúng em xin gi li cm n sâu sc đn Tin s Dng Anh c, Thc s
Nguyn Tri Tun và Thc s Lê ình Duy đã tn tình hng dn chúng em trong sut
thi gian thc hin đ tài. Qua thi gian đc các thy hng dn, chúng em đã bit
cách làm vic khoa hc hn, bit cách “Khi em vit ra mt cái gì không phi ca em thì
em phi cho ngi khác bit cái đó là ca ai”, cng nh “Khi em nói kt qu em đt
đc là khá tt thì phi nó rõ tt là tt th nào”.
Chúng em xin chân thành cm n các Thy Cô trong Khoa đã truyn đt cho
chúng em nhng kin thc quý báu trong nhng nm hc va qua, giúp chúng em có
đc mt nn tng lý thuyt vng chc đ có th tip tc theo hc hay đi tìm vic làm.
Chúng con xin đc bày t lòng bit n sâu sc đi vi Ông Bà, Cha M, ngi
luôn luôn quan tâm chm sóc c v mt vt cht ln tinh thn, luôn to điu kin cho
chúng con chuyên tâm hc tp và nghin cu.
Cui cùng, xin đc nói li cm n chân thành đn các anh ch và các bn đã giúp
đ, khích l cng nh phê bình, góp ý, giúp chúng em hoàn thành công vic mt cách
tt nht.
Tuy chúng em đã n lc ht sc mình và hoàn thành lun vn, nhng chc chn
lun vn vn còn nhiu thiu sót. Chúng em rt mong nhn đc s góp ý, ch bo tn
tình ca các Thy Cô và các bn đ chúng em có th tip tc thc hin nhng gì do
chính chúng em vit ra trong mc “hng phát trin” ca khóa lun này.
Thành ph H Chí Minh, Tháng 7/2005
Nhóm SV thc hin
inh Bá Thng – ng Bác Vn
Li nói đu
S ra đi ca máy tính đã giúp ích rt nhiu cho công vic và cuc sng ca con
ngi. Vi máy tính, con ngi có th son tho vn bn, nghe nhc, xem phim, thit
k đ ha, x lý nh, biên tp phim Tuy nhiên, vic giao tip gia con ngi và máy
tính ph thuc ch yu vào bàn phím và chut, và hu nh con ngi luôn phi ngi
trc máy tính. Dn dn, các nhà sn xut thy đc s bt tin và đã to ra bàn phím
và chut không dây vi mong mun mang li s t do hn cho ngi dùng. Tuy nhiên,
bàn phím không dây thì vn là bàn phím, con ngi cng ch có th tng tác vi máy
tính thông qua h thng 104 phím. Con ngi ch tht s đc “gii phóng” khi vic
tng tác vi máy tính đc thc hin thông qua các c ch trong cuc sng hàng ngày,
tc là máy tính phi “hiu” đc các c ch ca con ngi. ó chính là vn đ đt ra
cho bài toán nhn dng và phân loi c ch. Cho đn thi đim hin nay, dù đã có
nhiu cách tip cn khác nhau cho bài toán này, nhng dng nh vn cha có mt h
thng nhn dng c ch nào thc s hiu qu.
Bên cnh đó, bài toán nhn dng mt ngi đang đt đc mt kt qu rt kh
quan vi mô hình Cascade of Boosted Classifiers do Viola và Jones [1] đ ngh. Mô
hình này đt hiu qu cao c v đ chính xác ln thi gian nhn dng. Eng Jon [14] đã
áp dng mô hình này lên bài toán nhn dng bàn tay và cng đt đc kt qu tt.
Mc tiêu ca khóa lun này là th áp dng mô hình Cascade of Boosted
Classifiers lên bài toán phân loi c ch vi hi vng nó cng s đt đc kt qu tt
nh trên bài toán nhn dng mt ngi và nhn dng bàn tay. Lun vn đc trình bày
trong 6 chng vi b cc nh sau:
• Chng 1-M đu: Nêu lên tm quan trng ca bài toán phân loi c ch và
mô t s b phm vi bài toán mà khóa lun này s gii quyt. ng thi gii
đim s qua các cách tip cn hin có vi các u khuyt đim ca chúng và gii
thiu v mô hình s dng trong khóa lun này.
• Chng 2-Gii thiu bài toán phân loi c ch: Phát biu c th và mô t chi
tit phm vi bài toán s gii quyt, gii thích ti sao li chn mô hình Cascade
of Boosted Classifiers.
• Chng 3-C s lý thuyt: Trình bày v AdaBoost, Haar Feature, mô hình
Cascade of Classifiers, khái nim Integral Image, t đó hình thành nên cu trúc
Cascade of Boosted Classifiers. Tip đó là phn gii thiu các ng dng ca mô
hình và mt s nhn xét, đánh giá.
• Chng 4-Áp dng mô hình Cascade of Boosted Classifiers
: Trình bày chi
tit cách áp dng mô hình cascade lên bài toán phân loi c ch.
• Chng 5-Kt qu th nghim: Gii thiu v tp hun luyn, cách thu thp
mu, cách tin hành và kt qu hun luyn, đng thi so sánh đi chiu vi kt
qu ca ngi khác.
• Chng 6-Tng kt: Tóm tt các kt qu nghiên cu, nhng gì đã đt đc,
nhng gì còn h
n ch và nêu ra hng phát trin trong tng lai.
1
Mc Lc
Chng 1 M đu 6
Chng 2 Gii thiu v h thng phân loi c ch 12
Chng 3 Các c s lý thuyt 15
3.1 Tip cn Boosting 15
3.2 AdaBoost 16
3.3 Haar Feature 20
3.4 Cascade of Classifiers 24
3.5 Cascade of Boosted Classifiers 25
3.6 ánh giá 26
Chng 4 Phân loi c ch vi Cascade of Boosted Classifiers 29
4.1 B nhn dng 1 c ch 29
4.1.1 Tp hun luyn 29
4.1.2 c trng 31
4.1.3 Xây dng b nhn dng vi AdaBoost 32
4.1.4 Cascade of Boosted Classifiers 36
4.1.5 Hot đng ca b nhn dng c ch 38
4.2 B phân loi c ch 41
Chng 5 Kt qu th nghim 43
5.1 Tp hun luyn 43
5.2 Cách tin hành hun luyn 47
5.3 Kt qu th nghim 49
5.4 So sánh và đánh giá 53
Chng 6 Tng kt 56
6.1 Kt lun 56
6.2 Hng phát trin 57
2
Ph lc A: Các thut ng liên quan 59
Ph lc B: Các chng trình dùng cho hun luyn 62
Ph lc C: Các chng trình tin ích 66
Tài liu tham kho 67
3
Danh sách hình
Hình 1 - H thng 24 c ch 8
Hình 2 - B phân loi c ch 8
Hình 3 - B phân loi đc to thành t s kt hp các b nhn dng 10
Hình 4 - H thng 24 c ch 13
Hình 5 - Boosting 16
Hình 6 - Strong classifier H(x) xây dng bng AdaBoost 17
Hình 7 - Haar Feature c bn 21
Hình 8 - Haar Feature cho mt ngi 21
Hình 9 - SAT(x,y) và cách tính tng các đim nh trong mt hình ch nht bt kì 22
Hình 10 - Haar Feature xoay 45º do Lienhart đ ngh 23
Hình 11 - RSAT(x,y) và cách tính tng các đim nh trong mt hình ch nht xoay 1
góc 45º 23
Hình 12 - Cascade of Classifiers 25
Hình 13 - B nhn dng c ch A 29
Hình 14 - Các mu positive cho b nhn dng ch A 30
Hình 15 - Các mu negative (B, C, D) cho b nhn dng ch A 30
Hình 16 - Tp hun luyn ca các weak classifiers 31
Hình 17 - Các Haar Feature s dng trong b nhn dng 1 c ch 31
Hình 18 - Cách chn weak classifier ca AdaBoost 34
Hình 19 - Chn ngng θ da vào min detection rate 35
Hình 20 - Các vùng nh không liên quan (nét mnh) s b loi ngay t nhng stages
đu tiên 39
Hình 21 - Khc phc trng hp nhiu vùng nh k cn nhau bng cách ly vùng nh
trung bình 39
Hình 22 - i vi các vùng nh lng nhau, các vùng nh bên trong s b loi b 40
4
Hình 23 - Các c ch ging nhau trong h thng 24 c ch 41
Hình 24 – Cu trúc b phân loi c ch 42
Hình 25 - Hình chp bng Webcam 43
Hình 26 - Hình chp ch B 44
Hình 27 - Tiêu đim ca c ch B 44
Hình 28 - Hình ch B sau khi ct 45
Hình 29 - Biu đ Hit Rate 46
Hình 30 - Biu đ False Alarm 46
Hình 31 - S khác bit gia b nhn dng hun luyn trên nh background có và không
có các b phn c th (bên trái là không và bên phi là có) 47
Hình 32 - Kt qu có đc khi đa c ch 'U' và 'F' vào b nhn dng c ch 'B' 48
Hình 33 - Các c ch trong tp test th nht 50
Hình 34 - Các c ch trong tp test th hai 50
Hình 35 - Biu đ thng kê Hit Rate ca 24 b nhn dng trên tp test gm 592 hình 52
Hình 36 - Kt qu th nghim ca Viola và Jones 53
Hình 37 - H thng 8 c ch trong bài toán ca Kolsch 53
Hình 38 - Biu đ so sánh Hit Rate gia ký hiu Victory vi c ch V 54
Hình 39 - Biu đ so sánh Hit Rate gia ký hiu LPalm vi c ch L 54
Hình 40 - Vài kt qu test ca b nhn dng c ch A (c ch B là mt trng hp false
alarm) 55
5
Danh sách bng
Bng 1 - Kt qu hun luyn vi 3 kích thc ca mu positive 45
Bng 2 - Kt qu hun luyn qua 3 lp ca b nhn dng c ch B 49
Bng 3 - Kt qu thu đc ca b nhn dng c ch A trên 2 tp test 50
Bng 4 - Kt qu th nghim ca 24 b nhn dng trên tp test gm 592 hình 52
Chng 1. M đu
6
Chng 1 M đu
Mc dù nn công ngh thông tin vn phát trin liên tc vi tc đ v bão nhng
chúng ta vn còn mt chng đng rt dài đ có th giao tip mt cách hoàn toàn t
nhiên vi máy tính nh giao tip gia con ngi vi nhau. Cách giao tip t nhiên nht
vi máy tính chính là dùng giao tip thông qua ting nói và c ch. Trong khi lnh vc
nhn dng ting nói đã đt đc nhng thành công đáng k trong vòng 10 nm gn đây
thì lnh vc nhn dng c ch vn còn tt li phía sau. Tuy nhiên, ngôn ng c ch li
chính là ngôn ng chuyn ti thông tin gia ngi và ngi mt cách trn vn nht.
Nu gi s chúng ta phát trin đc mt h thng nhn dng ting nói kt hp vi nhn
dng c ch thì chúng ta hoàn toàn có th thay th chut hay bàn phím bng mt h
thng s dng ngôn ng t nhiên điu khin máy tính thông qua b giao tip bng lnh
da trên c ch và ging nói.
Trong cuc sng hàng ngày, nhn dng c ch có th giúp cho vic giao tip gia
ngi bình thng vi ngi khim thính d dàng hn, vì máy tính s giúp ngi bình
thng không cn hiu h thng kí hiu ca ngi khim thính, mt ngôn ng không
phi d hc. Trong công nghip và sn xut, ch cn trang b cho các robot h thng
camera, vic điu khin robot s tr nên đn gin hn bao gi ht. Trong lnh vc đ
ha 3 chiu, ta có th dùng mt s đng tác yêu cu máy tính xoay mô hình theo ý
mun ca mình.Trong công vic vn phòng, nhn dng c ch giúp ta có th yêu cu
máy tính thc thi mt chng trình, m mt bài hát, gi mt lá th ch vi mt vài
c ch ra hiu t xa. Trong lnh vc gii trí, các trò chi thc t o (Virtual Reallity) –
các trò chi mà ngi chi điu khin hành đng nhân vt bng chính hành đng ca
mình – luôn có sc cun hút đc bit vi ngi chi.
Chng 1. M đu
7
Cùng vi nhn dng âm thanh, ting nói và x lý ngôn ng, nhn dng c ch
giúp máy tính thc s tr nên “ngi” hn – điu mà các nhà khoa hc đang mit mài
nghiên cu vi hi vng s đt đc trong mt tng lai không xa.
Tuy nhiên, chính các ng dng to ln trên khin cho bài toán thc s là mt thách
thc. có th đc đa vào s dng, mt h thng trc ht phi hiu đúng các c
ch ca con ngi, tc là nó phi nhn dng đc chính xác các c ch đó. Mt h
thng xoay mô hình không đúng vi ý ca chuyên viên đ ha, hay mt con robot
chuyên làm sai ch th thì khó có th đc chp nhn.
Bên cnh đó, đ có th tng tác vi ngi dùng, h thng nhn dng xây dng
phi là h thng thi gian thc, phi x lý nhanh. Mt chuyên viên đ ha s không
chp nhn mt h thng cn đn 30 giây đ xoay mô hình ca h. Mt con robot s
không đc chp nhn nu nó cn đn 20 giây đ hiu ra rng nó phi làm mt vic gì
đó ngay lp tc. Hay nh trong mt cuc giao tip, nu mt h thng phi mt đn 10
giây cho mi c ch mà ngi khim thính ra du thì nó cng không th đc chp
nhn.
Bài toán nhn dng c ch có th chia làm 2 loi chính: nhn dng c ch tnh và
nhn dng c ch đng. C ch tnh là các c ch ng vi mt t th c đnh ca mt
bàn tay, còn c ch đng là chuyn đng theo mt qu đo nht đnh ca mt hay hai
bàn tay. Nhn dng c ch đng bao hàm c nhn dng c ch tnh và mt s x lý trên
chuyn đng nên ht sc phc tp. Khóa lun này ch tp trung vào bài toán nhn dng
c ch tnh.
H thng phân loi c ch xây dng trong khóa lun này là mt h thng có kh
nng nhn dng và phân loi 24 c ch ng vi 24 kí t trong bng ch cái (tr ch J
và Z do đòi hi chuyn đng ca bàn tay)
Chng 1. M đu
8
Hình 1 - H thng 24 c ch
Hình 2 - B phân loi c ch
B phân loi có th đc ng dng đ xây dng h thng hot đng da trên 1 webcam
dùng đ theo dõi chuyn đng ca bàn tay. Khi ngi dùng ra du vi 1 c ch, h
thng s rút trích mt khung hình chính trong s các khung hình mô t toàn b quá
trình ra du ca ngui dùng đc webcam ghi li và đa nó vào b phân loi c ch.
B phân loi s cho kt qu phân loi là nó thuc v c ch nào hay nó không nm
trong h thng 24 c ch. T đó có th phát trin thêm đ h thng thc hin mt s
chc nng c th khi nhn đc các c ch tng ng t ngi dùng.
Bài toán đt ra 2 khó khn ln: nhn dng không nhng phi chính xác mà còn
phi nhanh bi vì h thng hot đng theo thi gian thc. Yêu cu v tính chính xác
cng là khó khn ca bt c mt bài toán nhn dng nào. Riêng đi vi bài toán phân
Chng 1. M đu
9
loi c ch thì vic phân loi chính xác li càng khó khn hn bi vì trong s 24 c ch,
có rt nhiu c ch ging nhau (chng hn nh A, E, S và T).
có th đt đ chính xác cao, trc ht h thng phi có các đc trng (feature)
tt. H thng phi bit chn đc trng nh th nào đ có th biu din tt đc thông
tin đi tng cn nhn dng. ng thi, đc trng phi đc tính toán nhanh, đ không
làm chm công vic nhn dng. Thêm vào đó, h thng phi có phng pháp hc hiu
qu, có kh nng nhn dng tt các mu mi ch không ch làm tt trên các mu đã
hc (vn đ v generalization).
có th đt đc các mc tiêu trên, đã có nhiu cách tip cn đc đa ra.
Freeman s dng đc trng Orientation Histogram [15] vi thi gian tính toán nhanh,
nhng li đòi hi mu nhn dng phi là mu chp cn cnh ca bàn tay. ng thi
cách này không áp dng đc khi h thng có các c ch tng t nhau, vì các c ch
tng t nhau cho Orientation Histogram ging nhau.
Bowden và Sarhadi [16] s dng mô hình nonlinear PDM (nonlinear point
distribution model) đ biu din đc nhiu thông tin v bàn tay. Nhng vic hun
luyn bng PDM nói chung khó đt đc s vng chc.
Ngoài ra, còn có cách tip cn da trên màu sc ca da trên bàn tay [17] bi vì
màu da tng đi thun nht. ây cng không phi mt cách tip cn tt vì các b
nhn dng xây dng trên đc trng là màu da rt nhy cm vi ánh sáng, và h thng
s nhn dng sai khi mu đa vào có cha các đi tng khác có màu ging vi màu
da
Nhìn chung, trong các cách tip cn trên đu có chung mt hn ch là không th
đt đc s cân đi gia kh nng nhn dng và thi gian x lý. Trong khi đó, hin có
mt mô hình đang đt đc s cân đi gia 2 mt này và hin đang đc Viola và
Jones áp dng rt thành công trong lnh vc nhn dng mt ngi: mô hình Cascade of
Boosted Classifiers vi đc trng s dng là Haar Feature [1] (mô hình cascade này
do chính Viola và Jones đ ngh).
Chng 1. M đu
10
Cascade of Boosted Classifiers là mt cu trúc cây mà mi tng là mt classifier
(b phân loi). Classifier này đc xây dng bng thut toán AdaBoost trên nguyên tc
s kt hp ca nhiu weak classifiers (các b phân loi đn gin ch cn có đ chính
xác trên 50%) s to ra mt strong classifier (b phân loi có đ chính xác cao). c
trng s dng là Haar Feature, là mt tp các hình ch nht th hin mi liên h gia
các vùng nh vi nhau (mô hình này s đc trình bày chi tit trong chng 3). Bên
cnh đó, mô hình này cng đã đc Eng Jon áp dng lên bài toán nhn dng bàn tay
[14] vi kt qu kh quan.
Bài toán phân loi c ch khá ging vi bài toán nhn dng bàn tay ca Eng Jon.
Mt b phân loi c ch có th đc xây dng t nhiu b nhn dng c ch, trong đó,
mi b nhn dng ng vi 1 c ch c th.
Hình 3 - B phân loi đc to thành t s kt hp các b nhn dng
Khóa lun này xây dng các b nhn dng cho tng c ch theo mô hình Cascade
of Boosted Classfiers và da theo b nhn dng cho tng nhóm bàn tay ca Eng Jon
[14]. Do vn đ ca bài toán nhn dng bàn tay, các bàn tay có th nhiu t th khác
nhau, Eng Jon đã s dng thut toán K-mediod đ tin hành phân cm cho tp hun
luyn và mi cm nh vy s đc xây dng mt b nhn dng cho nó. Còn đi vi
tng b phân loi c ch, khóa lun này gii hn bàn tay phi t th c đnh và phi
đc chp chính din, do đó s không cn đn thut toán K-mediod.
Chng 1. M đu
11
Sau khi xây dng đc các b nhn dng cho tng c ch, b phân loi c ch s đc
xây dng t các b nhn dng này. Tuy nhiên, chúng s không đc kt hp mt cách
tun t nh trong hình 3 mà bn thân các c ch cng đc phân thành nhóm do s
ging nhau gia mt s c ch trong h thng 24 c ch. S ging nhau này s đc
xác đnh thông qua kt qu ca quá trình th nghim.
Các phn tip theo ca lun vn s ln lt trình bày các vn đ liên quan.
Chng 2 gii thiu cn k hn v bài toán, các vn đ đt ra, các cách tip cn và lý
do ti sao chn mô hình cascade. Chng 3 trình bày c s lý thuyt ca cách tip cn
cascade, thut toán AdaBoost và Haar Feature cùng vi các ng dng thành công ca
chúng. Chng 4 là phn áp dng mô hình lên bài toán phân loi c ch, bao gm cách
hun luyn , h thng các Haar Features s dng cùng vi cu trúc cây cascade và
cách kt hp các b nhn dng c ch đ hình thành b phân loi. Chng 5 là kt qu
th nghim và chng 6 là các đánh giá và hng phát trin ca lun vn.
Chng 2. Gii thiu v h thng phân loi c ch
12
Chng 2 Gii thiu v h thng phân loi c ch
Nh đã trình bày phn trên, nhng ng dng to ln ca bài toán phân loi c ch
mang li nhiu khó khn không nh, vic gii quyt nó đòi hòi kin thc c v nhn
dng ln máy hc. Trong đó, 2 mc tiêu ln sau cùng chính là đ chính xác và tc đ.
H thng nhn dng phi có đc các đc trng tt, cha đng đc nhiu thông tin v
đi tng. i vi các c ch, tuy có th s dng các đc trng v hình hc nh chiu
ca ngón tay hay đng bao, nhng các đc trng này không phi lúc nào cng rõ ràng
và đ tin cy đ phân bit bàn tay vi các đi tng xung quanh, đc bit là di các
điu kin chiu sáng khác nhau.
ã có nhiu cách tip cn gii quyt vn đ này. Freeman đã s dng đc trng
Orientation Histogram [15] đ nhn dng c ch. Orientation Histogram có u đim là
có th tính toán nhanh và Freeman đã xây dng đc mt h thng nhn dng c thi
gian thc da trên đc trng này. ng thi, đc trng này giúp cho h thng hot
đng hiu qu môi trng điu kin chiu sáng khác nhau vì Orientation Histogram
tng đi đc lp vi điu kin chiu sáng. Tuy nhiên, Orientation Histogram ch áp
dng đc trên tp các c ch hoàn toàn khác nhau, vì các c ch ging nhau cng s
cho Orientation Histogram tng t nhau. ng thi, khi tin hành nhn dng, bàn tay
phi chim gn trn mu đa vào, nu mu đa vào là mt không gian ln trong đó
cha bàn tay (kích thc nh) thì histogram ly đc s không phi đc trng ca bàn
tay, dn đn kt qu phân loi sai. Bowden và Sarhadi [16] thì s dng mô hình
nonlinear PDM đ biu din đc nhiu thông tin v bàn tay. Nhng vic hun luyn
bng PDM nói chung khó đm bo đc t l nhn dng cao và không đ tính tng quát.
Nolker và Nitter [18] s dng Local Linear Mapping (LLN) Neural Network đ ánh x
hình chp 2 chiu v ta đ 3 chiu theo Parametric Self-Organizing Map (PSOM). T
đó lu đc nhiu thông tin v bàn tay, giúp có th nhn dng c ch t nhiu góc đ
Chng 2. Gii thiu v h thng phân loi c ch
13
khác nhau. Dù vy, h thng này li không đt đc hiêu qu v mt thi gian. Nhìn
chung các cách tip cn này không đt đc s cân đi gia 2 mc tiêu đ ra ban đu.
Mc tiêu ca khóa lun này là xây dng đc mt h thng có kh nng phân loi
nhanh và chính xác h thng 24 c ch:
Hình 4 - H thng 24 c ch
H thng phân loi gm 3 phn chính:
1. Module hun luyn: xây dng b nhn dng cho tng c ch (Sign Detector). B
nhn dng này đc t chc theo cu trúc Cascade of Boosted Classfiers, mt
cascade tree mà mi tng là mt strong classifier đc xây dng bng Gentle
AdaBoost [4] - mt bin th ca thut toán AdaBoost. Mi classifier này là mt
chui các weak classifiers – các classifier đn gin ch cn có đ chính xác trên
50% - mi weak classifier s gm 1 haar feature và 1 ngng đ phân loi. Kt
qu tr ra ca module này là các tp tin d liu ng vi cu trúc cascade tree to
thành.
2. Module nhn dng c ch: to li cascade tree t tp tin ca b nhn dng đã
xây dng đ tin hành nhn dng. Ví d s dng tp tin ca b nhn dng c ch
A thì ta s đc A-Detector, vic nhn dng s là nhn dng mt vùng nh có
phi c ch A hay không. Module này nhn vào mt nh, trích ra tt c các vùng
nh vi v trí và kích thc khác nhau, đa chúng vào cascade tree và tr ra các
Chng 2. Gii thiu v h thng phân loi c ch
14
hình ch nht ng vi các vùng nh đc b nhn dng đánh giá là c ch. Vic
nhn dng khâu này đc áp dng thêm mt s phng pháp heuristic nhm
tng detection rate và gim false alarm cho h thng.
3. B phân loi c ch: kt hp các b nhn dng c ch đ thc hin phân loi. B
phân loi s nhn vào mt nh và cho bit trong nh đó có cha nhng c ch
nào (cho bit v trí ca vùng nh tng ng vi các c ch).
Lý do mà khóa lun này chn Cascaded of Boosted Classifiers vi Haar Feature là:
1. Haar Feature [2] phn ánh đc tt thông tin v đi tng, đng thi có th
tính toán nhanh nh khái nim Integral Image [1] do Viola đa ra.
2. AdaBoost chy nhanh và giúp nâng cao t l nhn dng.
3. Cu trúc cascade cho phép loi nhanh các mu background đn gin ngay t
nhng stages đu tiên, giúp rút ngn thi gian nhn dng, đng thi đáp ng tt
nht vi đ phc tp gia tng ca các mu cn nhn dng, loi nhanh các mu
background có đ phc tp thp bng các b phân loi đn gin trc khi gi
đn các b phân loi phc tp giúp gim thiu false alarm
Tính hiu qu ca mô hình này đã đc thc t chng minh thông qua thành công ca
Viola & Jones và Eng Jon. Ngoài ra, Mathias Kolsch và Matthew Turk [6,7] đã áp
dng kt hp AdaBoost vi bin đi Fourier lên bài toán nhn dng c ch tnh, tuy ch
tin hành th nghim trên tp c ch hn ch (ch có 8 c ch) nhng đã đt đc kt
qu đáng khích l: detection rate đt 95% vi false alarm là 10
-4
.
Trong chng tip theo, chúng ta s tìm hiu c th v AdaBoost, Haar Feature
và mô hình Cascade of Classifiers, t đó tìm hiu v Cascade of Boosted Classifiers.
Chng 3. Các c s lý thuyt
15
Chng 3 Các c s lý thuyt
3.1 Tip cn Boosting
Boosting là k thut dùng đ tng đ chính xác cho các thut toán hc (Learning
algorithm). Nguyên lý c bn ca nó là kt hp các weak classifiers thành mt strong
classifier. Trong đó, weak classifier là các b phân loi đn gin ch cn có đ chính
xác trên 50%. Bng cách này, chúng ta nói b phân loi đã đc “boost”.
Xét mt bài toán phân loi 2 lp (mu cn nhn dng s đc phân vào 1 trong 2 lp)
vi D là tp hun luyn gm có n mu. Trc tiên, chúng ta s chn ngu nhiên ra n
1
mu t tp D (n
1
<n) đ to tp D
1
. Sau đó, chúng ta s xây dng weak classifier đu
tiên C
1
t tp D
1
. Tip theo, chúng ta xây dng tp D
2
đ hun luyn b phân loi C
2
.
D
2
s đc xây dng sao cho mt na s mu ca nó đc phân loi đúng bi C
1
và
na còn li b phân loi sai bi C
1
. Bng cách này, D
2
cha đng nhng thông tin b
sung cho C
1
. Bây gi chúng ta s xây hun luyn C
2
t D
2
.
Tip theo, chúng ta s xây dng tp D
3
t nhng mu không đc phân loi tt
bi s kt hp gia C
1
và C
2
: nhng mu còn li trong D mà C
1
và C
2
cho kt qu khác
nhau. Nh vy, D
3
s gm nhng mu mà C
1
và C
2
hot đng không hiu qu. Sau
cùng, chúng ta s hun luyn b phân loi C
3
t D
3
.
Bây gi chúng ta đã có mt strong classifier: s kt hp C
1
, C
2
và C
3
. Khi tin
hành nhn dng mt mu X, kt qu s đc quyt đnh bi s tha thun ca 3 b C
1
,
C
2
và C
3
: Nu c C
1
và C
2
đu phân X vào cùng mt lp thì lp này chính là kt qu
phân loi ca X; ngc li, nu C
1
và C
2
phân X vào 2 lp khác nhau, C3 s quyt đnh
X thuc v lp nào.
Chng 3. Các c s lý thuyt
16
Hình 5 - Boosting
3.2 AdaBoost
Adaboost (Adaptive Boost) [5] là mt tip cn boosting đc Freund và Schapire
đa ra vào nm 1995. Adaboost cng hot đng trên nguyên tc kt hp tuyn tính các
weak classifiers đ có mt strong classifier.
Là mt ci tin ca tip cn boosting, Adaboost s dng thêm khái nim trng s
(weight) đ đánh du các mu khó nhn dng. Trong quá trình hun luyn, c mi
weak classifier đc xây dng, thut toán s tin hành câp nht li trng s đ chun b
cho vic xây dng weak classifier k tip: tng trng s ca các mu b nhn dng sai
và gim trng s ca các mu đc nhn dng đúng bi weak classifier va xây dng.
Bng cách này, các weak classifier sau có th tp trung vào các mu mà các weak
classifiers trc nó cha làm tt. Sau cùng, các weak classifiers s đc kt hp tùy
theo mc đ “tt” ca chúng đ to dng nên strong classifier.
Chng 3. Các c s lý thuyt
17
Có th hình dung mt cách trc quan nh sau: đ bit mt nh có phi là bàn tay
hay không, ta hi T ngi (tng đng vi T weak classifiers xây dng t T vòng lp
ca boosting), đánh giá ca mi ngi (tng đng vi mt weak classifier) ch cn
tt hn ngu nhiên mt chút (t l sai di 50%). Sau đó, ta s đánh trng s cho đánh
giá ca tng ngi (th hin qua h s
α
), ngi nào có kh nng đánh giá tt các mu
khó thì mc đ quan trng ca ngi đó trong kt lun cui cùng s cao hn nhng
ngi ch đánh giá tt đc các mu d. Vic cp nht li trng s ca các mu sau
mi vòng boosting chính là đ đánh giá đ khó ca các mu (mu càng có nhiu ngi
đánh giá sai là mu càng khó).
Hình 6 - Strong classifier H(x) xây dng bng AdaBoost
Các weak classifiers h
k
(x) đc biu din nh sau:
⎩
⎨
⎧
<
=
otherwise
pxfp
xh
kkkk
k
,0
)(,1
)(
θ
Trong đó:
Chng 3. Các c s lý thuyt
18
• x = (x
1
, x
2
, , x
n
): vector đc trng ca mu.
•
θ
: ngng
• f
k
: hàm lng giá vector đc trng ca mu
• p
k
: h s quyt đnh chiu ca bt phng trình
Công thc trên có th đc din gii nh sau: nu giá tr vector đc trng ca mu cho
bi hàm lng giá ca b phân loi vt qua mt ngng cho trc thì mu là object
(đi tng cn nhn dng), ngc li thì mu là background (không phi đi tng).
Thut toán AdaBoost:
1. Cho mt tp hun luyn gm n mu có đánh du (x
1
, y
1
), (x
1
, y
1
), , (x
n
,
y
n
) vi x
k
∈ X = (x
k1
, x
k2
, , x
km
) là vector đc trng và y
k
∈ {-1, 1} là
nhãn ca mu (1 ng vi object, -1 ng vi background).
2. Khi to trng s ban đu cho tt c các mu:
n
1
w
k,1
=
3. Xây dng T weak classifiers
Lp t = 1, , T
• Vi mi đc trng trong vector đc trng, xây dng mt weak
classifier h
j
vi ngng
θ
j
và li
ε
j
∑
−=
n
k
kkjk,tj
y)x(hw
ε
• Chn ra h
j
vi
ε
j
nh nht, ta đc h
t
.
}1,1{:
−
→Xh
t
• Cp nht li trng s
⎩
⎨
⎧
≠
=
×=
−
+
kkt
kkt
t
k,t
k,t
y)x(h,e
y)x(h,e
Z
w
w
t
t
α
α
1
Trong đó: