Khóa luận Nghiên cứu các kỹ thuật dò biên áp dụng trong trích chọn các bộ phận khuôn mặt

ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
Lưu Xuân Thế  
NGHIÊN CU CÁC KTHUT DÒ BIÊN ÁP DNG  
TRONG TRÍCH CHN CÁC BPHN KHUÔN MT  
KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
HÀ NI – 2010  
ĐẠI HC QUC GIA HÀ NI  
TRƯỜNG ĐẠI HC CÔNG NGHỆ  
Lưu Xuân Thế  
NGHIÊN CU CÁC KTHUT DÒ BIÊN ÁP DNG  
TRONG TRÍCH CHN CÁC BPHN KHUÔN MT  
KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY  
Ngành: Công nghthông tin  
Cán bhướng dn: ThS. Ma ThChâu  
HÀ NI – 2010  
LI CM ƠN  
Li đầu tiên em xin bày tlòng biết ơn ti các thy, cô giáo trong trường Đại hc  
Công ngh- Đại hc Quc gia Hà Ni. Các thy cô đã dy bo, chdn chúng em và luôn  
to điu kin tt nht cho chúng em hc tp trong sut quá trình hc đại hc đặc bit là  
trong thi gian làm khoá lun tt nghip.  
Em xin bày tlòng biết ơn sâu sc ti cô giáo ThS. Ma ThChâu, cô đã hướng dn em  
tn tình trong chc kva qua, cô đã góp ý và chnh sa thường xuyên cho khóa lun ca  
em.  
Tôi cũng xin cm ơn nhng người bn ca mình, các bn đã luôn bên tôi, giúp đỡ và  
cho tôi nhng ý kiến đóng góp quý báu trong hc tp cũng như trong cuc sng.  
Hà ni, ngày 2010  
Lưu Xuân Thế  
i
TÓM TT  
Kthut dò biên là bài toán mi chxut hin cách đây không lâu, chkhong vài thp  
niên, nhưng đã có rt nhiu nghiên cu vnó. Các nghiên cu ban đầu rt đơn gin, nh là  
đen trng và chcó mt khuôn mt chp thng, sau này mrng ra cho nh màu, nh có  
nhiu khuôn mt vi nhiu góc, môi trường xung quanh cũng đi từ đơn gin đến rt phc  
tp.  
Tkhóa: edge detection, edge filter.  
ii  
MC LC  
LI CM ƠN...........................................................................................................................i  
TÓM TT................................................................................................................................ii  
MC LC ..............................................................................................................................iii  
Chương 1. GII THIU......................................................................................................5  
1.1 Gii thiu vtìm biên trong nhn dng khuôn mt.................................................5  
1.2 Bài toán nghiên cu kthut dò biên áp dng trong trích chn khuôn mt............2  
1.3 Ni dung và cu trúc khóa lun...............................................................................2  
Chương 2. CÁC KTHUT DÒ BIÊN ............................................................................4  
2.1 Quy trình phát hin biên ..........................................................................................4  
2.2 Kthut phát hin biên trc tiếp .............................................................................4  
2.2.1 Kthut Gradient .................................................................................................5  
2.2.2 Toán tla bàn....................................................................................................8  
2.2.3 Kthut Laplace..............................................................................................10  
2.2.4 Tách sườn theo nh Canny ..............................................................................11  
2.2.5 Dò biên theo quy hoch động..........................................................................12  
2.3 Kthut phát hin biên gián tiếp ........................................................................15  
2.4 Mt sphương pháp khác .....................................................................................15  
...................................................................................................................................16  
2.5 Tng kết.................................................................................................................16  
Chương 3. CÁC KTHUT DÒ BIÊN ĐƯỢC ÁP DNG ..............................................18  
3.1 Các kthut được dùng.........................................................................................18  
3.1.1 Ly biên theo trc X........................................................................................19  
3.1.2 Ly biên theo trc Y........................................................................................21  
3.1.3 Ly biên theo Gradient....................................................................................21  
3.1.4 Ly biên theo Thresholding.............................................................................21  
iii  
3.1.5 Ly biên theo Thinning ...................................................................................21  
3.2 Chương trình và kết qu........................................................................................23  
3.3 Biến thành nh đa cp xám ...................................................................................24  
3.2.1 Ly biên theo trc X........................................................................................24  
3.2.2 Ly biên theo trc Y........................................................................................25  
3.2.3 Ly biên theo Gradient....................................................................................26  
3.2.4 Ly biên theo Thresholding.............................................................................26  
3.2.5 Ly biên theo Thinning ...................................................................................27  
3.3 Tng kết.................................................................................................................28  
Chương 4. KT LUN VÀ HƯỚNG PHÁT TRIN.........................................................30  
4.1 Kết lun..................................................................................................................30  
4.2 Hướng phát trin....................................................................................................30  
4.2.1 Đặt vn đ...........................................................................................................30  
4.2.2 Phương pháp thc hin....................................................................................31  
TÀI LIU THAM KHO………………………………………………………….............32  
iv  
Chương 1. GII THIU  
1.1 Gii thiu vtìm biên trong nhn dng khuôn mt  
Kthut dò biên là bài toán mi chxut hin cách đây không lâu, chkhong vài thp  
niên, nhưng đã có rt nhiu nghiên cu vnó. Các nghiên cu ban đầu rt đơn gin, nh là  
đen trng và chcó mt khuôn mt chp thng, sau này mrng ra cho nh màu, nh có  
nhiu khuôn mt vi nhiu góc, môi trường xung quanh cũng đi từ đơn gin đến rt phc  
tp. Bài toán phát hin biên nói chung và phát hin biên khuôn mt nói riêng có rt nhiu  
hướng để phát trin, nhưng có thkra hai hướng chính sau:  
- Thnht là nhn din (face recognition) mt khuôn mt, tc là gista có bc nh  
mt khuôn mt, ta stìm mt bc nh có khuôn mt ging vi khuôn mt trong nh. ng  
dng ca nó là truy tìm ti phm, các hthng an ninh xác đinh da vào khuôn mt.  
- Thhai là xác định vtrí nhng khuôn mt trong mt bc nh (face detection), các  
bc nh có thcó nhiu khuôn mt, có kích thước và góc khác nhau. ng dng ca nó như  
trong các máy chp hình có khnăng nhn dng mt người để chnh độ sáng nơi đó.  
Biên là vn đề chyếu trong phân tích nh, vì các đặc đim trích chn trong quá trình  
phân tích nh chyếu da vào biên. Mt đim được gi là đim biên nếu ở đó có sthay  
đổi đột ngt vmc xám. Tp hp các đim biên to thành biên hay đường bao ca nh.  
Vmt toán hc người ta xem biên là nơi có sthay đổi đột ngt vmc xám, trên cơ  
sở đó người ta thường sdng hai phương pháp phát hin biên sau:  
- Phương pháp phát hin biên trc tiếp  
- Phương pháp phát hin biên gián tiếp  
Xut phát tthc tế đó, mc tiêu ca lun văn là nghiên cu các phương pháp biu  
din biên, hthng hóa kiến thc vcác phương pháp phát hin biên, tìm hiu các kthut  
phân vùng nh, mt bước trước trong quá trình dò biên và ng dng ca nó trong xnh  
và xnh văn bn là mt trong nhng nhim vquan trng trong vic tự động hóa công  
vic văn phòng.  
v
1.2 Bài toán nghiên cu kthut dò biên áp dng trong trích chn  
khuôn mt  
Trong thc tế, chúng ta gp nhiu bài toán liên quan đến nhn dng đối tượng. Thông  
thường, vic nhn ra các đối tượng thường da vào đường biên ca chúng. Vit Nam hin  
nay đã có mt shthng nhn dng đối tượng như: MapScan, VnDOCR, MarkREAD ca  
Vin Công nghthông tin hay VecMap ca DolSoft, nhìn chung nhng ng dng và tài tiu  
có tính cht hthng vcác phương pháp biu phát hin biên và ng dng ca nó vn là  
mt phn thiếu vng.  
Xut phát tthc tế đó, mc tiêu ca lun văn là nghiên cu các phương pháp biu  
din biên, hthng hóa kiến thc vcác phương pháp phát hin biên, tìm hiu các kthut  
phân vùng nh, tìm hiu quá trình dò biên và ng dng ca nó trong xnh và xnh  
văn bn, là mt trong nhng nhim vquan trng trong vic tự động hóa công vic văn  
phòng.  
Trong khóa lun này biên khuôn mt sẽ được hin ththông qua mt chương trình mã  
đơn gin. Vi 5 kthut được áp dng biên khuôn mt sẽ được đưa ra vi 5 kiu khác nhau.  
Mi kiu slà mt đặc đim và khía cnh riêng.  
1.3 Ni dung và cu trúc khóa lun  
Khóa lun được tchc theo cu trúc như sau:  
Chương 1: Gii thiu  
Gii thiu sơ lược vcác kthut dò biên nói chung và kthut dò biên áp dng vi  
khuôn mt và áp dng cho vic trích chn các bphn ca khuôn mt. Bài toán phát hin  
biên được phân tích dưới khía cnh toán hc giúp ta chn hướng gii quyết tt nht cho bài  
toán là sdng các kthut tìm kiếm biên cổ đin. Chương này gii thiu nhng gì mà  
khóa lun nghiên cu từ đó thông qua vic trình bày vni dung và cu trúc ca khóa lun.  
Chương 2: Các kthut dò biên  
Chương hai đi vào gii thiu gii thiu các kthut dò biên. Vi 2 kthut dò biên  
trc tiếp và gián tiếp, nhưng ta chyếu đi xâu vào kthut dò biên trc tiếp được dùng rng  
rãi và thường xuyên.  
Chương 3: Kthut dò biên được áp dng  
Chương này gii thiu vào các kthut dò biên được áp dng trong chương trình.  
Bng cách sdng hàm Gauss để làm trơn nh sau đó dùng các kthut tìm kiếm trc tiếp  
2
để đưa ra 5 kiu biên khác nhau vi mt bc nh nói chung và khuôn mt trong chương  
trình này.  
Chương 4: Kết lun và hướng phát trin  
Chương này tng kết li nhng gì đã đạt được và chưa đạt được. Từ đó nêu lên nhng  
kết quhướng ti, hướng nghiên cu và phát trin tiếp theo.  
3
Chương 2. CÁC KTHUT DÒ BIÊN  
2.1 Quy trình phát hin biên  
nh đầu vào  
output  
Lc nhiu  
Làm ni  
Định vbiên  
trích chn biên  
H2.1. Quy trình phát hin biên  
B1: Do nh ghi được thường có nhiu, bước mt là phi lc nhiu  
B2: Làm ni biên sdng các toán tphát hin biên.  
B3: Định vbiên. Chú ý rng kthut ni biên gây tác dng phlà gây nhiu làm mt số  
biên gixut hin do vy cn loi bbiên gi.  
B4: Liên kết và trích chn biên.  
2.2 Kthut phát hin biên trc tiếp  
Phương pháp này chyếu da vào sbiến thiên độ sáng ca đim nh để làm ni  
biên bng kthut đạo hàm.  
- Nếu ly đạo hàm bc nht ca nh: ta có phương pháp Gradient  
Định nghĩa: Gradient là mt vector f(x, y) có các thành phn biu thtc độ thay đổi mc  
xám ca đim nh (theo hai hướng x, y trong bi cnh xnh hai chiu) tc:  
Trong đó dx, dy là khong cách gia 2 đim kế cn theo hướng x, y tương ng (thc tế  
chn dx=dy=1). Đây là phương pháp da trên đạo hàm riêng bc nht theo hướng x, y.  
4
Gradient trong gc ta độ góc (r, θ), vi r là vector, θ là góc  
H2.2. Vector gradient  
2.2.1 Kthut Gradient  
Theo định nghĩa vGradient, nếu áp dng nó vào xnh, vic tính toán srt phc  
tp. Để đơn gin mà không mt tính cht ca phương pháp Gradient, người ta sdng kỹ  
thut Gradient dùng cp mt nH1, H2 trc giao (theo 2 hướng vuông góc). Nếu định nghĩa  
g1, g2 là Gradient theo hai hướng x, y tương ng thì biên độ g(m, n) ti đim (m, n) được  
tính:  
Đặt A0 = g(m,n);  
Để gim độ phc tp tính toán, A0 được tính gn đúng như sau:  
Xét mt stoán tGradient tiêu chun như toán tRobert, Sobel, Prewitt, đẳng hướng  
(Isometric), 4-lân cn dưới đây.  
5
H2.3. Toán t4 lân cn  
Toán tRobert (1965).  
Robert áp dng công  
thc tính Gradient ti đim (x, y)  
như hình trên Wij vi mi đim nh I(x, y) đạo hàm theo x, y được ký hiu tương ng gx,  
gy:  
Các công thc ktrên được cthhóa bng các mt ntheo chiu x và y tương ng  
như sau:  
Mt nRobert  
Toán t(mt n) Sobel  
Toán tSobel được Duda và Hart [5] đặt ra năm 1973 vi các mt ntương tnhư ca  
Robert nhưng cu hình khác như sau:  
6
Hướng ngang (x)  
Hướng dc (y)  
Mt nPrewitt  
Toán tPrewitt đưa ra năm 1970 có dng:  
Hướng ngang (x)  
Mt nạ đẳng hướng:  
Mt mt nkhác cũng được nêu như dưới đây gi là mt nạ đẳng hướng (Isometric).  
Hướng dc (y)  
Hướng ngang (x)  
Hướng dc (y)  
Toán t4-lân cn (4-Neighbour Operator).  
Toán t4-lân cn được Chaudhuri và Chandor (1984) nêu ra trong đó mt ncó kích  
thước 3x3 được thay cho mt n2x2 ca toán tRobert. Các mt nnày được cho:  
H3. Mt n4 lân cn  
7
H2.4. Mt n8 hướng theo Kirsh.  
Mt vài nhn xét:  
Toán tPrewitt có thtách sườn tt hơn toán tSobel, trong khi đó toán tSobel tách  
các sườn trên các đường chéo tt hơn. Mt khác, các toán tRobert và các toán t4-lân cn  
có nhược đim là nhy vi nhiu. Các toán tGradient và Sobel gim nhiu do tác dng ca  
lc trung bình các đim lân cn. Như vy, để đạt được kết qumong mun các toán tử  
Gradient thường được dùng trước để làm sch nhiu.  
Các mt nca các toán ttrên có kích thước 2x2 hoc 3x3 chiu. Các mt ncó số  
chiu ln hơn cũng được sdng. Ví dtrong kthut phát hin biên người ta dùng mt nạ  
5x5 cho toán tSobel:  
Toán tSobel 5x5.  
Các toán tktrên đều sdng các mt ntheo hai chiu (x, y) tc là 4 hướng (-x, y-  
y, y) vi mc đích cho kết quchính xác hơn(khi mà tc độ và bnhmáy tính tt. )  
2.2.2 Toán tla bàn  
Kirsh đã đã đề xut mt n8 hướng như 8 hướng ca La bàn(Compass). Hình  
dưới là mô hình 8 hướng và được đặt tên theo hướng địa lý và theo chiu kim  
8
đồng h: Đông, Đông – Nam, Nam, Nam – Tây, Tây, Tây – Nam, Tây – Bc,  
Bc, Đông – Bc; mi hướng lch nhau 45 độ.  
Toán tla bàn Kirsh:  
Có nhiu toán tla bàn khác nhau. Ta xem xét toán tla bàn Kirsh đặc trưng bi tám  
mt nvi kích thước 3x3 như sau:  
Ký hiu  
là Gradient theo 8 hướng như 8 mt nktrên, khi đó biên  
độ Gradient ti đim nh (x, y) được tính theo  
- Nếu ly theo đạo hàm bc hai ca nh: ta có phương pháp Laplace  
Hai phương pháp này gi chung là phương pháp dò biên cc b.  
Toán tla bàn khác:  
Ngoài toán tla bàn Kirsh, mt stoán tla bàn khác sdng bmt n8 hướng khác  
như:  
9
Hoc:  
Trường hp tng quát, người ta có thmrng các mt nvi n hướng cách đều tương  
ng vi các mt Wi; i=1, 2, …, n. Khi đó, biên độ ti hướng thi vi mt nWi được xác  
định:  
2.2.3 Kthut Laplace  
Để khc phc hn chế và nhược đim ca phương pháp Gradient, trong đó sdng đạo  
hàm riêng bc nht người ta nghĩ đến vic sdng đạo hàm riêng bc hai hay toán tử  
Laplace. Phương pháp dò biên theo toán tLaplace hiu quhơn phương pháp toán tử  
10  
Gradient trong trường hp mc xám biến đổi chm, min chuyn đổi mc xám có độ tri  
rng.  
Toán tLaplace được đĩnh nghĩa như sau:  
Toán tLaplace dùng mt smt nkhác nhau nhm tính gn đúng đạo hàm riêng bc  
2. Các dng mt ntheo toán tLaplace bc 3x3 có th:  
Ghi chú: Mt nH1 còn ci biên bng vic ly giá trị ở tâm bng 8 thay vì giá tr4. Để thy  
rõ vic xp xỉ đạo hàm riêng bc 2 trong không gian 2 chiu vi mt nH1 làm ví d, ta có  
thtính gn đúng như sau:  
Do đó:  
Tóm li: Kthut theo toán tLaplace to đường biên mnh (có độ rng 1 pixel). Nhược  
đim ca kthut này rt nhy vi nhiu, do vy đường biên thu được thường kém n định.  
2.2.4 Tách sườn theo nh Canny  
Btách sườn nh theo Canny (1986) da trên cp đạo hàm riêng bc nhtvi vic làm  
sch nhiu. Mc này được để riêng vì đây là phương pháp tách đường biên khá phbiến  
được dùng theo toán tử đạo hàm. Như đã nói, phương pháp đạo hàm chu nh hưởng ln  
ca nhiu. Phương pháp đạt hiu qucao khi xp xỉ đạo hàm bc nht ca Gauss.  
Vi fx, fy đạo hàm riêng theo x,y ca f.  
11  
Do vy:  
Ly đạo hàm riêng theo x và y ca G ta được:  
H2.5. Mô hình tính ca phương pháp Canny.  
Do blc Gauss là tách được, ta có ththc hin riêng bit các tích chp theo x và y:  
Từ đó ta có:  
Vi biên độ và hướng tính theo công thc trên, thut toán được minh ha như hình H2.5  
trên.  
2.2.5 Dò biên theo quy hoch động  
Như trên đã nói, dò biên theo phương pháp Gradient là xác định cc trcc bca  
Gradient theo các hướng; còn phương pháp Laplace da vào các đim không ca đạo hàm  
bc hai. Phương pháp dò biên theo quy hoch động là phương pháp tìm cc trtng ththeo  
nhiu bước. Nó da vào nguyên lý ti ưu ca Bellman. Nguyên lý này phát biu như sau:  
“Con đường ti ưu gia 2 đim cho trước cũng là ti ưu gia 2 đim bt knm trên đường  
ti ưu đó”.  
12  
Thí d, nếu C là mt đim trên con đường ti ưu gia A và B thì đon CB cũng là còn  
đường ti ưu tC đến B không kể đến ta đến C bng cách nào.  
H2.6. Minh ha nguyên lý Bellman  
Trong kthut này, gisbn đồ biên đã được xác định và được biu din dưới dng  
đồ thliên thông N chng. Gishàm đánh giá được tính theo công thc:  
Vi:  
Xk, k=1,...,N: Biu din các đỉnh đồ thca đồ thtrong chng thk;  
D(x, y): Khong cách gia 2 đỉnh x và y tính theo các định nghĩa tương ng vkhong  
cách;  
|g(xk)| và θ(xk) Gradient biên độ và Gradient hướng ở đỉnh xk.  
α β các hng skhông âm.  
Đường bao ti ưu snhn được bng cách ni các đỉnh xk, k=1,..., N nào đó sao cho S(x1,...,  
xN, N) đạt cc đại.  
Định nghĩa hàm ф như sau:  
Bây gita có:  
13  
Ly N = k.  
Như vy:  
Vi cách này, thay vì tìm ti ưu toàn cc phc tp ca S(x1, …,xN, N), ta tìm ti ưu  
ca N chng theo ti ưu 2 biến. Trong mi chng, vi mi xk tìm ti ưu, ( k x k φ. Để dễ  
hình dung, xét ví dsau:  
Giscó bn đồ biu din bi đồ thliên thông. Theo phương pháp trên có 5 ) 1, ( = A  
φ, vi k =2 có . ) 2, ( 12 max(11,12) D = = φ Điu đó có nghĩa là đường tA đến D đi qua  
C và ACD là biên được chn vi k=2. Tương t, vi k=4, có hai đường được chn là  
ACDEF và AGHJ. Tuy nhiên, vi k=5 thì đon JB bloi và chtn ti đường duy nht vi  
cc đại là 28. Như vy, biên được xác định là ADEFB.  
a. Đồ thliên thông biu din biên  
b. Quá trình dò biên theo quy hoch động  
H2.7. Dò biên theo phương pháp quy hoch động  
Trên hình nhng đường nét đứt đon biu thcung bloi; đường nét lin có mũi tên  
biu thị đường đi hay biên ca nh.  
14  
2.3 Kthut phát hin biên gián tiếp  
Nếu bng cách nào đấy, chúng ta thu được các vùng nh khác nhau thì đường phân  
cách gia các vùng đó chính là biên. Nói cách khác, vic xác định đường bao ca nh được  
thc hin từ ảnh và được phân vùng. Phương pháp dò biên gián tiếp khó cài đặt nhưng áp  
dng tt khi sbiến thiên độ sáng nh.  
2.4 Mt sphương pháp khác  
Ngoài các phương pháp trên, người ta cũng áp dng mt sphương pháp khác ci tiến  
như tiếp cn bi mô hình mt, cách tiếp cn ti ưu hóa.  
Cách tiếp cn theo mô hình mt da vào vic thc hin xp xỉ đa thc trên nh gc hay nh  
đã thc hin phép lc Laplace. Cách tiếp cn ti ưu nhm xác định mt hàm (mt blc),  
làm gim phương sai σ2 hoc gim mt số đim cc trcc b. Dưới đây strình bày mt  
cách tóm tt các phương pháp đó.  
¾ Tiếp cn theo mô hình mt  
Tư tưởng ca phương pháp này là ti lân cn đim ct không (đim biên), nh sau khi  
lc Laplace có thể được xp xbi mt đa thc bc 3 theo hàng và ct. Đa thc thường  
được dùng là đa thc Trebưchép vi kích thước 3x3. Các đa thc này được định nghĩa như  
sau:  
Vi mi đim ct không phát hin ti P(x, y) trong nh đã được lc bi toán tLaplace –  
Gauss, Huertas và Medioni đã cho được tính theo công thc tính xp x:  
Vn đề là xác định các hsai, i=1, 2, …, N-1. Nếu W là ca slc ti đim ct không và  
x, y, i, j trong ca s; các hsa có thể được tính toán như mt thp tuyến tính:  
15  
ở đây, IL-G(x, y) là ký hiu nh đã được lc bi toán tLaplace–Gauss. Các hsnày có  
thnhn được bi chp nh IL-G(x, y) vi các nhân chp như trung bình có trng shay  
mt snhân chp khác.  
Các bước cài đặt phương pháp nhày có thmô tnhư sau:  
9 Chp nh gc kích thước NxM vi toán tLaplac –Gauss kích thước M2, nh thu  
được gi là IL-G.  
9 Trích chn các đim ct không ca nh IL-G, nh kết quký hiu là IZCR.  
9 Vi mi đim ct không trong IZCR, thc hin mt xp xvi kích thước 3x3 để suy ra  
các đim ct không theo cách gi tích.  
9 To mt nh mi ca các đim ct không kích thước nXxnY mà các đường bao được  
xác định vi độ phân gii n nào đó.  
¾ Tiếp cn ti ưu hóa  
Ý tưởng ca cách tiếp cn này là định vị đúng vtrí bng cách cc tiu hóa phương sai  
σ vtrí các đim ct không hoc hn chế số đim cc trcc bộ để chto ra mt đường  
bao. Canny đã đề xut 3 ràng buc ng vi 3 điu kin:  
Ràng buc đầu tiên () nhm tìm hàm h(x) phn đối xng sao cho tsgia tín hiu  
và nhiu là cc đại. Ràng buc thhai (Λ) nhm cc tiu hóa phương sai. Ràng buc thba  
nhm hn chế đim cc trcc bvi mc đích cung cp chmt đường bao.  
2.5 Tng kết  
Các kthut sdng phương pháp Gradient khá tt khi độ sáng có tc độ thay đổi  
nhanh, khá đơn gin trên cơ scác mt ntheo các hướng. Nhược đim ca các kthut  
Gradient là nhy cm vi nhiu và to các biên kép làm cht lượng biên thu được không  
cao.  
16  
Ngoài ra, người ta còn sdng phương pháp “đi theo đường bao” da vào công cụ  
toán hc là nguyên lý quy hoch động và được gi là phương pháp dò biên tng th.  
Phương pháp dò biên trc tiếp có hiu quvà ít btác động bi nhiu.  
17  
Chương 3. CÁC KTHUT DÒ BIÊN ĐƯỢC ÁP DNG  
3.1 Các kthut được dùng  
Biên là tp hp các đim ti đó hàm độ sáng ca nh thay đổi cc bộ đột ngt, do đó để  
phát hin biên và tách biên ta dùng phép toán đạo hàm. Các phép toán đạo hàm thường  
dùng là đạo hàm bc nht và đạo hàm bc 2. Vtrí ca biên chính là gía trln nht ca đạo  
hàm bc nht và là các đim ti đó giá trca đạo hàm bc 2 có sự đi qua đim 0.  
Chương trình sdng kthut phát hin biên trc tiếp, tc là ly đạo hàm bc nht theo  
phương pháp Gradient.  
Chương trình áp dng hàm Gauss vi khai báo:  
vi các hng sthc a > 0, b, c > 0, và e 2. 718281828 (SEuler).  
Hàm Gauss được sdng rng rãi. Trong thng kê chúng miêu tphân bchun, trong  
xlý tín hiu chúng giúp định nghĩa blc Gauss, trong xlý hình nh hàm Gauss hai chiu  
được dùng để to hiu ng mGauss được sdng để làm trơn để xây dng các hàm  
wavelet ng dng cho vic xác định biên, cthtrong chương trình này ta dùng phương  
pháp Gradient, và trong toán hc chúng được dùng để gii phương trình nhit phương trình  
khuyếch tán định nghĩa phép biến đi Weierstrass.  
Biu đồ ca mt hàm Gauss là mt đường cong đối xng đặc trưng "hình quả  
chuông". Đường cong này rt xung rt nhanh khi tiến ti cng/trvô cùng. Tham sa là  
chiu cao ti đa đường cong, b là vtrí tâm ca đỉnh và c quyết định chiu rng ca  
"chuông".  
18  
H3.1Đường cong Gauss chun hóa vi giá trkvng μ và phương sai σ2. Nhng tham số  
tương ng là a = 1/(σ 2π ), b = μ, c = σ  
Tiếp đến ta sdng hàm dgauss vi công thc như sau:  
y = -x ae-((x-b)^2)/2c^2 / c2;  
Vi hàm Gauss có công thc được định nghĩa như sau:  
y = e-x^2/(2c^2) / (c 2π );  
Hàm này chính là đạo hàm ca hàm gauss vi các tham sca hàm tương ng là a =  
1/(c 2π ), b = 0, c = c. Và hàm d2dgauss:  
h = d2dgauss(n1,sigma1,n2,sigma2,theta)  
Hàm này tìm kiếm và trli biên 2D vi nh có cn1 * n2. Theta là góc xoay theo chiu  
kim đồng h, theo thtca size ca bc nh các thành phn ln lượt sẽ được xoay mt  
góc theta và tiến hành ly tích ca hàm Gauss vi các tham sthnht vi đạo hàm ca  
hàm Gauss vi các tham sth2 ta thu được các giá trh tương ng và cui cùng giá trị  
hàm sẽ được tính:  
h = h / (sum sum abs h .*abs h ) ;  
( )  
( )  
)
(
(
)
Sigma1 và sigma2 là độ lch tiêu chun ca hàm gauss. Ban đầu chương trình xlý  
nh đầu vào và biến đổi thành anh đa cp xám (gray), sdng hàm imread(image) để đọc  
nh đầu vào, sau đó chuyn nh này thành đam cp xám bng hàm ind2gray(x, map) và tiến  
hành ly biên 2D theo các kthut mà được nói kỹ ở phn dưới.  
3.1.1 Ly biên theo trc X  
Vi các thông schun ca hàm Gauss, khi ly biên theo trc X ta sẽ đưa bc nh về  
kích thước 10X10, các tham schun ca hàm Gauss Sigmax1=Sigmax2=1, góc quay  
Theta1=pi/2. Sau khi nh vào được đọc bi hàm imread(image) được chuyn thành nh  
đa cp xám qua hàm ind2gray(x, map). Và quy trình ly biên theo trc X sẽ được tiến hành  
vi nh đa cp xám này. Ta sdng hàm d2dgauss là hàm vi các tham scth:  
filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1);  
w=ind2gray(x,map);  
Qua bước xlý này thì đã ly được biên theo các tham số ứng vi trc X, bước tiếp  
theo là hin thra màn hình biên theo trc X. Ta sdng hàm conv2:  
Ix= conv2(w,filterx,'parameters');  
Vi hàm Conv2 vi shape = same: conv2(matrix, kernel, 'same'), ma trn kết qucó  
chiu ging như matrix, và giá trti mi phn tử được tính bng cách quét tâm ca kernel  
trên toàn bmatrix ri tính tng tích các cp đim tương ng gia matrix và kernel. Đim  
19  
tâm ca kernel được xác định bng đim gia ca ma trn, ví dnếu kernel là ma trn 3x3  
thì tâm là đim có ta độ 1:1, nếu kernel là ma trn 4x4 thì tâm cũng là đim 1:1.  
H3.2 Hàm conv2 vi tham  
s
same  
Conv2 vi shape = full: conv2(matrix, kernel, 'full'), nếu matrix có chiu là m1 x n1,  
kernel có chiu là m2 x n2 thì ma trn kết qucó chiu là (m1 + m2 - 1) x (n1 + n2 - 1) và  
giá trti mi phn tử được tính bng cách quét toàn b, tun ttng đim ca ma trn  
Kernel lên tng đim trên ma trn matrix sau đó tính tng tính các cp đim tương ng,  
trong quá trình quét có nhng đim trên Kernel nm ngoài matrix khi đó tích ca nó bng 0.  
H3.3 Hàm conv2 vi tham  
s
full  
Conv2 vi shape = valid: conv2(matrix, kernel, 'valid'), nếu matrix có chiu là m1 x  
n1, kernel có chiu là m2 x n2 thì ma trn kết qucó chiu là (m1 - m2 + 1) x (n1 - n2 + 1)  
và giá trti mi phn tử được tính ging như trường hp full nhưng vi điu kin là ma  
trn kernel trong quá trình quét luôn nm trn vn bên trong ma trn matrix.  
H3.2 Hàm conv2 vi tham  
s
valid  
20  
3.1.2 Ly biên theo trc Y  
Vi các thông schun ca hàm Gauss, khi ly biên theo trc Y cũng có quy trình  
tương tnhư quy trình ly biên theo trc X vi các tham stương ng kích thước nh  
10X10, các tham schun ca hàm Gauss Sigmay1=Sigmay2=1, góc quay Theta1=0.  
3.1.3 Ly biên theo Gradient  
Vi phương pháp Gradient ta kết hp ctheo trc X và Y. Vi Ix và Iy ta tính được ở  
trên thì ta tính:  
NVI= Ix.*Ix + Iy.*Iy ;  
(
)
Hàm ly căn bc hai ca bình phương các giá trtham stheo trc X và Y. Sau khi đó ta sẽ  
được giá trtheo hướng đường chéo hình chnht hướng xung góc phn tư thc tư vi 2  
hướng ca hình chnht là trc X và trc âm Y. Các tham sca ma trn nh theo phương  
pháp Gradient sẽ được tính như công thc căn bc 2 trên.  
3.1.4 Ly biên theo Thresholding  
Thresholding là hot động đầu tiên được thc hin để to ra mt mt phân đon.  
Chúng ta có thla chn mt vùng mà ta quan tâm bng cách định nghĩa mt phm vi ca  
nhng gray value. Nhng ranh gii ca phm vi đó là các giá trngưỡng trên và ngưỡng  
dưới. Tt ccác đim tương ng vi mt gray value trong phm vi đó sẽ được tô sáng trong  
mt mt.  
Theo phương pháp này giá trmin và max ca ma trn Gradient sẽ được xác định qua các  
hàm max, min. Như sau:  
I_max=max(max(NVI));  
I_min=min(min(NVI));  
Ngưỡng sẽ được định nghĩa như sau:  
level=alfa*(I_max-I_min)+I_min; alfa=0.1;  
Và sau đó nhng tham snào trong ma trn Gradient mà ln hơn ngưỡng này sẽ được hin  
th. Và ta hin thbiên theo phương pháp này.  
3.1.5 Ly biên theo Thinning  
Phương pháp này áp dng kết quca các phương pháp trước để phát trin lên. Vi m,  
n là kích cca nh theo trên. Phương pháp sdng phép ni suy để tìm các đim nh.  
21  
Ni suy hàm 1 biến:MATLAB dùng hàm interp1(x,y,xi,< phương pháp>)vi x, là giá  
trca hàm ti nhng đim đã cho và xi là giá trmà ti đó ta cn ni suy ra giá trị  
yi.<phươngpháp> có thlà mt trong các giá trsau :‘nearest’- phương pháp này đặt giá trị  
ni suy vào giá trị đã cho gn nht, phươngpháp này nhanh nhưng kết qukém chính xác  
nht.  
Víd:  
x=[12345];  
y=[5.5,43.1,128,290.7,498.4];  
yi=interp1(x,y,1.6,'nearest')  
yi=43.1000  
‘linear’- phương pháp này coi đường cong đi qua 2 đim cho trước là đường thng.  
Víd:  
yi=interp1(x,y,1.6,'linear')  
yi=28.0600  
‘spline”- dùng phương pháp ni suy spline.  
Víd:  
yi=interp1(x,y,1.6,'spline')  
yi=24.9782  
‘cubic’- phương pháp này coi đường cong qua 2 đim là đường cong bc 3.  
Víd:  
yi=interp1(x,y,1.6,'cubic')  
yi=25  
22.3840  
Ni suy hàm hai biến: Hàm interp2 thc hin ni suy hàm 2 biến. Dng hàm tng quát:  
ZI=interp2(X,Y,Z,XI,YI,<phươngpháp>)  
Z- ma trn chnht cha giá trca hàm 2 biến.  
X,Y-mng có cùng kích thước, cha giá trx, y đã cho.  
XI,YI-mng cha giá trcn ni suy.  
22  
Các<phươngpháp>gm:‘nearest’,’linear’,’cubic’  
Ni suy mng nhiu chiu:  
interp3 ni suy hàm 3 biến.  
interpn ni suy hàm nhiu biến.  
Phương pháp này là duyt các ma trn đim nh ln lượt là:  
X=[-1,0,+1;-1,0,+1;-1,0,+1];  
Y=[-1,-1,-1;0,0,0;+1,+1,+1];  
Z=[Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1);  
Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1);  
Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)];  
XI=[Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)];  
YI=[Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)];  
và tiến hành ni suy vi hàm:  
ZI=interp2(X,Y,Z,XI,YI);  
Sau đó ta sso sánh vi các hsca ma trn đim nh Thresholding nếu:  
if Ibw(i, j) >= ZI(1) & Ibw(i, j) >= ZI(2);  
Thì:  
I_temp(i,j)=I_max;  
Nếu ngược li:  
I_temp(i,j)=I_min;  
Ma trn đim nh mi sẽ được hình thành, hay phương pháp này còn được gi là phương  
pháp Thinning.  
3.2 Chương trình và kết quả  
Chương trình gm 10 file mã. Trong đó gm có 3 file đưa ra hàm Gauss nhm mc  
đích làm trơn nh, đạo hàm ca hàm Gauss, và hàm biến đổi hsca ma trn nh. Sau đó  
là 7 file cha các phương pháp ly biên ca bc nh khuôn mt. Trong đó có 5 file cha 5  
kthut phát hin biên, mt file show tt c5 phương pháp để có sso sánh, mt file thể  
hin nh đa cp xám, nh biến đổi từ ảnh gc. Sau đây là chương trình cth:  
Hàm Gauss vi file gauss.m:  
function y = gauss(x,std)  
y = exp(-x^2/(2*std^2)) / (std*sqrt(2*pi));  
Hàm dgauss là đạo hàm ca hàm gauss được nêu ra trên vi file dgauss.m:  
function y = dgauss(x,std)  
y = -x * gauss(x,std) / std^2;  
23  
Hàm d2dgauss là hàm biến đổi ly biên ra biên 2D qua các phép biến đổi các hsca ma  
trn nh đầu vào:  
function h = d2dgauss(n1,sigma1,n2,sigma2,theta)  
r=[cos(theta) -sin(theta);  
sin(theta) cos(theta)];  
for i = 1 : n2  
for j = 1 : n1  
u = r * [j-(n1+1)/2 i-(n2+1)/2]';  
h(i,j) = gauss(u(1),sigma1)*dgauss(u(2),sigma2);  
end  
end  
h = h / sqrt(sum(sum(abs(h).*abs(h))));  
Vi các tham sban đầu được định nghĩa như sau:  
Huong theo truc X:  
Nx1=10;Sigmax1=1;Nx2=10;Sigmax2=1;Theta1=pi/2;  
Huong theo truc Y:  
Ny1=10;Sigmay1=1;Ny2=10;Sigmay2=1;Theta2=0;  
Sau đó bc nh chân dung sẽ được xlý chuyn sang dng nh đa cp xám:  
[x,map]=imread('chandung.gif');  
w=ind2gray(x,map);  
figure(1);colormap(gray);  
nh này sẽ được hin thtrên mt ca sthông qua lng figure(1), và colormap(gray) hàm  
set và get màu hin ti cho bn đồ màu. Và sau vi bc nh đầu vào ta có bc nh đa cp  
xám:  
ind2gray(x,map  
nh đầu vào  
nh đa cp xám  
H3.3 Biến thành nh đa cp xám  
3.2.1 Ly biên theo trc X  
Quy trình ly biên theo trc X sẽ được thc hin bi đon mã sau:  
subplot(1,1,1);  
filterx=d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1);  
Ix= conv2(w,filterx,'same');  
imagesc(Ix);  
title('Ix');  
Biên ly theo trc X sẽ được hin thqua ca sthnht vi kích cca s1x1 thông qua  
hàm subplot(1,1,1), thông qua hàm d2dgauss vi nhng tham schun được đưa ra phương  
pháp lc biên theo trc X sẽ được thc hin và tiếp là hàm trli phn trung ca 2 phn  
24  

Tải về để xem bản đầy đủ

pdf 39 trang yennguyen 30/05/2025 90
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Nghiên cứu các kỹ thuật dò biên áp dụng trong trích chọn các bộ phận khuôn mặt", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_nghien_cuu_cac_ky_thuat_do_bien_ap_dung_trong_tric.pdf