Tải bản đầy đủ (.doc) (58 trang)

XỬ LÝ ẢNH NHẬN DẠNG CƠ THỂ NGƯỜI

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1 MB, 58 trang )

Đ?I H?C ĐÀ N?NG
TR??NG Đ?I H?C BÁCH KHOA
KHOA ĐI?N T? VI?N THÔNG

Đ? ÁN T?T NGHI?P
Đ? tài :
X? LÝ ?NH - NHÂ?N DA?NG C? THÊ? NG???I

Ng??i th?c hi?n : TR?N VĂN KHÁNH
L?p

: 11DTLT
Ng??i h??ng d?n : TS. NGUY?N VĂN C??NG

ĐÀ N?NG – 2014


C?ng Hòa Xã H?i Ch? Ngh?a Vi?t Nam
Đ?c l?p – T? do – H?nh phúc
L?I CAM ĐOAN
Kính g?i:

H?i đ?ng b?o v? đ? án t?t nghi?p khoa Đi?n t? - Vi?n thông
Tr??ng Đ?i h?c Bách Khoa – Đ?i h?c Đà N?ng

Em tên là: Tr?n Văn Khánh
Hi?n đang h?c l?p 11DTLT – Khoa Đi?n t? - Vi?n thông, tr??ng Đ?i h?c Bách
Khoa – Đ?i h?c Đà N?ng.
Em xin cam đoan n?i dung c?a đ? án này không ph?i là b?n sao chép c?a b?t c?
đ? án ho?c công trình đã có t? tr??c. N?u vi ph?m em xin ch?u m?i hình th?c k? lu?t c?a
Khoa.



Đà N?ng, ngày

tháng

năm

Sinh viên ký tên


•L?I C? M ? N

Tr??c h?t em xin g?i l?i c?m ?n sâu s?c đ?n th?y Nguy?n Văn C??ng, ng??i đã
giúp đ? em r?t nhi?u v? đ?nh h??ng nghiên c?u, ch?n đ? tài, h??ng d?n cho em trong su?
t th?i gian th?c hi?n đ? tài này. Đ? án này đ??c hoàn thành theo đúng th?i gian quy đ?
nh c?a nhà tr??ng c?ng nh? c?a khoa không ch? là s? n? l?c c?a em mà còn s? giúp đ?,
ch? b?o c?a th?y h??ng d?n, c?a quý th?y cô và các b?n sinh viên.
Em xin chân thành c?m ?n th?y cô đã gi?ng d?y chúng em, đ?c bi?t là các th?y
cô giáo trong khoa Đi?n t? - Vi?n thông.
M?c dù đã r?t c? g?ng hoàn thành đ? án này song c?ng không tránh kh?i nh?ng
sai sót, mong th?y cô và các b?n đóng góp nh?ng ý ki?n quí báu đ? đ? án đ??c thành
công h?n.

Sinh viên th?c hi?n
Tr?n Văn Khánh


•M? C L?C
CÁC T? VI?T T?T……………………………….….…………………………...3
M? Đ?U…………………………………………………………………..………..4

CH??NG 1: T?NG QUAN V? X? LÝ ?NH……………………………….….5
1Gi?i

thi?u

ch??ng

……………………………………………………………..5
1.2 X? lý ?nh, các v?n đ? c? b?n trong x? lý ?nh …..……….….…….…………5
1.2.1 X? lý ?nh là gì? …………………………………………………….………...5
1.2.2 Các v?n đ? c? b?n trong x? lý ?nh ……………...………………….………6
1.3 Thu nh?n và bi?u di?n ?nh …………………………...……………….………8
1.3.1 Thu nh?n, các thi?t b? thu nh?n ?nh …...…………………………….…….8
1.3.2 Bi?u di?n ?nh …...…………………………………………………….….…..9
1.4 T?ng quan v? nh?n d?ng c? th? con ng??i……...……………………….….11
1.4.1 Đ? xu?t mô hình gi?i quy?t ?ng v?i t?ng khâu c?a bài toán nh?n d?ng c? th?
ng??i. …………………………………………………………………………12
1.5 K?t lu?n ch??ng…...…………………………………………………….…...13
CH??NG 2: CÁC THU?T TOÁN NH?N D?NG C? TH? CON NG??I...14
2.1 Gi?i thi?u ch??ng ……...……………………………….……...………….....14
2.2 Ph??ng pháp xác đ?nh c? th? con ng??i…………………………….….......14
2.2.1 Gi?i thi?u m?ng n?ron.................................................................................14
2.2.2 Gi?i thi?u v? PCA……………………………...…………………….……..21
2.3 Nh?n d?ng c? th? con ng??i dùng thu?t toán PCA………………….……..22
2.3.1 M?t s? khái ni?m toán h?c……………………...………………….………22
2.3.2 Quá trình nh?n d?ng ....................................................................................26
CH??NG 3: DÒ TÌM VÀ XÁC Đ?NH C? TH? CON NG??I TRONG ?
NH..........................................................................................................................30
3.1 Gi?i thi?u ch??ng...………………………….………………….…………….30
3.2 Đ? xu?t ph??ng pháp ………….……………………….......………………..30

3.2.1 Các ph??ng pháp đã đ??c th?c hi?n..........................................................30
3.2.2 Ph??ng pháp đ? xu?t trong báo cáo…………………………….…………
35


3.3 K?t lu?n ch??ng ………………..……….………...………………………….39
CH??NG 4: CH??NG TRÌNH MÔ PH?NG…………………………...……40
4.1. Gi?i thi?u ch??ng …………………………………….……...………………40
4.2 Gi?i thi?u chung v? ph?n m?m Matlab………………………...……………40
4.2.1 Khái ni?m v? Matlab……………………...………………………………...40
4.2.2 H? th?ng Matlab……………………...……………………………………..41
4.3 X? lý ?nh v?i Matlab………………………...……………………………….42
4.3.1 X? lý ?nh………………………...…………………………………………..42
4.3.2 Các giai đo?n x? lý ?nh………………………...…………………………..42
4.3.3 Các hàm x? lý ?nh c? b?n trong Matlab…………………...……………..44
4.4 S? đ? kh?i và Code ch??ng trình………………….…...……………………52
4.4.1 S? đ? kh?i……….…………………………………………...……………...52
4.4.2 Code ch??ng trình…….………………………………………...………….52
K?T LU?N VÀ H??NG PHÁT TRI?N Đ? TÀI………………………….….63
TÀI

LI?U

……………………...64

THAM

KH?O………………………………...



LI?T KÊ HÌNH
Hình 1.1. Quá trình x? lý ?nh……………………………...………………………5
Hình 1.2. Các b??c c? b?n trong m?t h? th?ng x? lý ?nh………………...………5
Hình 1.3. Quá trình hi?n th? và ch?nh s?a, l?u tr? ?nh thông qua DIB…..……10
Hình 1.4. S? chuy?n đ?i gi?a các mô hình bi?u di?n ?nh………….……………10
Hình 1.5. Mô hình t?ng quát c?a bài toán nh?n d?ng c? th? ng??i……….……12
Hình 2.1. Lan truy?n ng??c………………………………………………………17
Hình 2.2. Minh h?a vi?c tính δj cho vi?c tính nút ?n j………………...…………20
Hình 3.1. H??ng c?a véc t? riêng…………………………………………...……30
Hình 3.2. Minh ho? phát hi?n v? trí t? chi, mình, đ?u trên c? th?…………...…32
Hình 3.3. Minh ho? ki?u k?t h?p toàn c?c và b? ph?n…………………..………34
Hình 3.4. S? phân ph?i d? li?u trong không gian 3 chi?u và các tr?c t??ng ?ng c?a
PCA và ICA……….………………………………………………..…………36
Hình3.5. minh h?a ki?n trúc 1 trong mô hình ICA………………………………37
Hình3.6. Minh h?a ki?n trúc 2 trong mô hình ICA…………………...…………37
Hình3.7. Mô hình t?ng h?p ?nh cho ki?n trúc 2 c?a ICA trên pixel……,,,……38
Hình 4.1. Các b??c c? b?n trong x? lý ?nh………………………………...……42
Hình 4.2. S? đ? kh?i t?ng quát c?a ch??ng trình……………………….………52


M? Đ?U
Trong nhi?u năm qua có r?t nhi?u nghiên c?u v? bài toán nh?n d?ng c? th? con
ng??i t? ?nh đen tr?ng, xám đ?n ?nh màu nh? ngày hôm nay. Các nghiên c?u đi t? bài
toán đ?n gi?n, m?i ?nh ch? có m?t c? th? con ng??i nhìn th?ng vào thi?t b? thu hình và
c? th? con ng??i th?ng đ?ng trong ?nh đen tr?ng. Cho đ?n ngày hôm nay bài toán m? r?
ng cho ?nh màu, có nhi?u c? th? trong cùng m?t ?nh, có nhi?u t? th? thay đ?i trong ?
nh. Không nh?ng v?y mà còn m? r?ng c? ph?m vi t? môi tr??ng xung quanh khá đ?n gi?
n cho đ?n môi tr??ng xung quanh r?t ph?c t?p nh?m đáp ?ng nhu c?u c?a con ng??i.
M?c tiêu c?a đ? tài “Nh?n D?ng C? Th? Con Ng??i” là th?c hi?n ch??ng trình tìm
ki?m, phân bi?t c? th? con ng??i trong m?t b?c ?nh s? d?ng thu?t toán PCA.

Đ? ti?n theo dõi tôi xin trình bày đ? tài theo ba ph?n nh? sau:
I.Ph?n đ?u là gi?i thi?u v? t?ng quan c?a x? lý ?nh
II.Ph?n ti?p theo là gi?i thi?u v? thu?t toán PCA là bài toán đ??c s? d?ng r?t nhi?u trong
vi?n thông. Và đ? tài này s? d?ng thu?t toán PCA.
III.Ph?n cu?i cùng là gi?i thi?u giao di?n ch??ng trình và code matlab.
Do tài li?u tham kh?o h?n ch?, kinh nghi?m trong th?c ti?n còn non kém, nên đ?
tài không tránh kh?i nh?ng thi?u sót. R?t mong đ??c nh?n nh?ng ý ki?n đóng góp, giúp
đ?, quý báu c?a quý th?y cô cùng các b?n sinh viên.
Tp. Đà N?ng, tháng 5 năm 2014
Ng??i th?c hi?n đ? tài


CH??NG 1: T?NG QUAN V? X? LÝ ?NH
1Gi?i thi?u ch??ng
Ch??ng này trình bày t?ng quan v? x? lý ?nh, các khái ni?m c? b?n, s? đ? t?ng
quát c?a m?t h? th?ng x? lý ?nh và các v?n đ? c? b?n trong x? lý ?nh
1.2 X? lý ?nh, các v?n đ? c? b?n trong x? lý ?nh
1.2.1 X? lý ?nh là gì?
Con ng??i thu nh?n thông tin qua các giác quan, trong đó th? giác đóng vai trò
quan tr?ng nh?t. Nh?ng năm tr? l?i đây v?i s? phát tri?n c?a ph?n c?ng máy tính, x?
lý ?nh và đ? ho? đó phát tri?n m?t cách m?nh m? và có nhi?u ?ng d?ng trong cu?c s?
ng. X? lý ?nh và đ? ho? đóng m?t vai trò quan tr?ng trong t??ng tác ng??i máy.
Quá trình x? lý ?nh đ??c xem nh? là quá trình thao tác ?nh đ?u vào
nh?m cho ra k?t qu? mong mu?n. K?t qu? đ?u ra c?a m?t quá trình x? lý
?nh có th? là m?t ?nh “t?t h?n” ho?c m?t k?t lu?n.

Hình 1.1. Quá trình x? lý ?nh
?nh có th? xem là t?p h?p các đi?m ?nh và m?i đi?m ?nh đ??c xem nh? là đ?c tr?
ng c??ng đ? sáng hay m?t d?u hi?u nào đó t?i m?t v? trí nào đó c?a đ?i t??ng trong
không gian và nó có th? xem nh? m?t hàm n bi?n P(c1, c2,..., cn). Do đó, ?nh trong x?

lý ?nh có th? xem nh? ?nh n chi?u.
S? đ? t?ng quát c?a m?t h? th?ng x? lý ?nh:

Hình 1.2. Các b??c c? b?n trong m?t h? th?ng x? lý ?nh
1.2.2 Các v?n đ? c? b?n trong x? lý ?nh
1.2.2.1 M?t s? khái ni?m c? b?n
* ?nh và đi?m ?nh: Đi?m ?nh đ??c xem nh? là d?u hi?u hay c??ng đ? sáng t?i 1 to? đ?
trong không gian c?a đ?i t??ng và ?nh đ??c xem nh? là 1 t?p h?p các đi?m ?nh.
* M?c xám, màu: Là s? các giá tr? có th? có c?a các đi?m ?nh c?a ?nh


1.2.2.2 Ch?nh m?c xám
Nh?m kh?c ph?c tính không đ?ng đ?u c?a h? th?ng gây ra. Thông th??ng có 2
h??ng ti?p c?n:
• Gi?m s? m?c xám: Th?c hi?n b?ng cách nhóm các m?c xám g?n nhau thành m?
t bó. Tr??ng h?p ch? có 2 m?c xám thì chính là chuy?n v? ?nh đen tr?ng. ?ng d?ng: In
?nh màu ra máy in đen tr?ng.
• Tăng s? m?c xám: Th?c hi?n n?i suy ra các m?c xám trung gian b?ng k? thu?t
n?i suy. K? thu?t này nh?m tăng c??ng đ? m?n cho ?nh
1.2.2.3 Trích ch?n đ?c đi?m
Các đ?c đi?m c?a đ?i t??ng đ??c trích ch?n tu? theo m?c đích nh?n d?ng trong
quá trình x? lý ?nh. Có th? nêu ra m?t s? đ?c đi?m c?a ?nh sau đây:
I.Đ?c đi?m không gian: Phân b? m?c xám, phân b? xác su?t, biên đ?, đi?m u?n
v.v..
II.Đ?c đi?m bi?n đ?i: Các đ?c đi?m lo?i này đ??c trích ch?n b?ng vi?c th?c hi?n
l?c vùng (zonal filtering). Các b? vùng đ??c g?i là “m?t n? đ?c đi?m” (feature
mask) th??ng là các khe h?p v?i hình d?ng khác nhau (ch? nh?t, tam giác, cung
tròn v.v..)
III.Đ?c đi?m biên và đ??ng biên: Đ?c tr?ng cho đ??ng biên c?a đ?i t??ng và do
v?y r?t h?u ích trong vi?c trích tr?n các thu?c tính b?t bi?n đ??c dùng khi nh?n

d?ng đ?i t??ng. Các đ?c đi?m này có th? đ??c trích ch?n nh? toán t? gradient,
toán t? la bàn, toán t? Laplace, toán t? “chéo không” (zero crossing) v.v.. Vi?t
trích ch?n hi?u qu? các đ?c đi?m giúp cho vi?c nh?n d?ng các đ?i t??ng ?nh
chính xác, v?i t?c đ? tính toán cao và dung l??ng nh? l?u tr? gi?m xu?ng.
1.2.2.4 Nh?n d?ng
Nh?n d?ng t? đ?ng (automatic recognition), mô t? đ?i t??ng, phân lo?i và phân
nhóm các m?u là nh?ng v?n đ? quan tr?ng trong th? giác máy, đ??c ?ng d?ng trong nhi?
u ngành khoa h?c khác nhau. Tuy nhiên, m?t câu h?i đ?t ra là: m?u (pattern) là gì?
Watanabe, m?t trong nh?ng ng??i đi đ?u trong l?nh v?c này đã đ?nh ngh?a: “Ng??c l?i
v?i h?n lo?n (chaos), m?u là m?t th?c th? (entity), đ??c xác đ?nh m?t cách ang áng
(vaguely defined) và có th? gán cho nó m?t tên g?i nào đó”. Ví d? m?u có th? là ?nh c?
a vân tay, ?nh c?a m?t v?t nào đó đ??c ch?p, m?t ch? vi?t, c? th? ng??i ho?c m?t ký đ?
tín hi?u ti?ng nói. Khi bi?t m?t m?u nào đó, đ? nh?n d?ng ho?c phân lo?i m?u đó có th?:


1Ho?c phân lo?i có m?u (supervised classification), ch?ng h?n phân tích phân
bi?t (discriminant analyis), trong đó m?u đ?u vào đ??c đ?nh danh nh? m?t thành
ph?n c?a m?t l?p đã xác đ?nh.
2Ho?c phân lo?i không có m?u (unsupervised classification hay clustering)
trong đó các m?u đ??c gán vào các l?p khác nhau d?a trên m?t tiêu chu?n đ?ng
d?ng nào đó. Các l?p này cho đ?n th?i đi?m phân lo?i v?n ch?a bi?t hay ch?a đ??
c đ?nh danh.
H? th?ng nh?n d?ng t? đ?ng bao g?m ba khâu t??ng ?ng v?i ba giai đo?n ch? y?u
sau đây:
1. Thu nh?n d? li?u và ti?n x? lý.
2. Bi?u di?n d? li?u.
3. Nh?n d?ng, ra quy?t đ?nh.
B?n cách ti?p c?n khác nhau trong lý thuy?t nh?n d?ng là:
1. Đ?i sánh m?u d?a trên các đ?c tr?ng đ??c trích ch?n.
2. Phân lo?i th?ng kê.

3. Đ?i sánh c?u trúc.
4. Phân lo?i d?a trên m?ng n?-ron nhân t?o.
Trong các ?ng d?ng rõ ràng là không th? ch? dùng có m?t cách ti?p c?n đ?n l? đ?
phân lo?i “t?i ?u” do v?y c?n s? d?ng cùng m?t lúc nhi?u ph??ng pháp và cách ti?p c?n
khác nhau. Do v?y, các ph??ng th?c phân lo?i t? h?p hay đ??c s? d?ng khi nh?n d?ng và
nay đã có nh?ng k?t qu? có tri?n v?ng d?a trên thi?t k? các h? th?ng lai (hybrid system)
bao g?m nhi?u mô hình k?t h?p.
Vi?c gi?i quy?t bài toán nh?n d?ng trong nh?ng ?ng d?ng m?i, n?y sinh trong cu?
c s?ng không ch? t?o ra nh?ng thách th?c v? thu?t gi?i, mà còn đ?t ra nh?ng yêu c?u v?
t?c đ? tính toán. Đ?c đi?m chung c?a t?t c? nh?ng ?ng d?ng đó là nh?ng đ?c đi?m đ?c
tr?ng c?n thi?t th??ng là nhi?u, không th? do chuyên gia đ? xu?t, mà ph?i đ??c trích ch?
n d?a trên các th? t?c phân tích d? li?u.
1.2.2.5 Nén ?nh
Nh?m gi?m thi?u không gian l?u tr?. Th??ng đ??c ti?n hành theo c? hai cách
khuynh h??ng là nén có b?o toàn và không b?o toàn thông tin. Nén không b?o toàn thì
th??ng có kh? năng nén cao h?n nh?ng kh? năng ph?c h?i thì kém h?n. Trên c? s? hai
khuynh h??ng, có 4 cách ti?p c?n c? b?n trong nén ?nh:


• Nén ?nh th?ng kê: K? thu?t nén này d?a vào vi?c th?ng kê t?n xu?t xu?t hi?n
c?a giá tr? các đi?m ?nh, trên c? s? đó mà có chi?n l??c mã hóa thích h?p. M?t ví d? đi?
n hình cho k? thu?t mã hóa này là *.TIF
• Nén ?nh không gian: K? thu?t này d?a vào v? trí không gian c?a các đi?m ?nh
đ? ti?n hành mã hóa. K? thu?t l?i d?ng s? gi?ng nhau c?a các đi?m ?nh trong các vùng
g?n nhau. Ví d? cho k? thu?t này là mã nén *.PCX
• Nén ?nh s? d?ng phép bi?n đ?i: Đây là k? thu?t ti?p c?n theo h??ng nén
không b?o toàn và do v?y, k? thu?t th??ng n?n hi?u qu? h?n. *.JPG chính là ti?p c?n
theo k? thu?t nén này.
• Nén ?nh Fractal: S? d?ng tính ch?t Fractal c?a các đ?i t??ng ?nh, th? hi?n s? l?
p l?i c?a các chi ti?t. K? thu?t nén s? tính toán đ? ch? c?n l?u tr? ph?n g?c ?nh và quy

lu?t sinh ra ?nh theo nguyên lý Fractal
1.3 Thu nh?n và bi?u di?n ?nh
1.3.1 Thu nh?n, các thi?t b? thu nh?n ?nh
Các thi?t b? thu nh?n ?nh bao g?m camera, scanner các thi?t b? thu nh?n này có
th? cho ?nh đen tr?ng Các thi?t b? thu nh?n ?nh có 2 lo?i chính ?ng v?i 2 lo?i ?nh
thông d?ng Raster, Vector. Các thi?t b? thu nh?n ?nh thông th??ng Raster là camera
các thi?t b? thu nh?n ?nh thông th??ng Vector là sensor ho?c bàn s? hoá Digitalizer
ho?c đ??c chuy?n đ?i t? ?nh Raster.
Nhìn chung các h? th?ng thu nh?n ?nh th?c hi?n 1 quá trình:
• C?m bi?n: bi?n đ?i năng l??ng quang h?c thành năng l??ng đi?n
• T?ng h?p năng l??ng đi?n thành ?nh
1.3.2 Bi?u di?n ?nh
?nh trên máy tính là k?t qu? thu nh?n theo các ph??ng pháp s? hoá đ??c nhúng
trong các thi?t b? k? thu?t khác nhau. Quá trình l?u tr? ?nh nh?m 2 m?c đích:
• Ti?t ki?m b? nh?
• Gi?m th?i gian x? lý
Vi?c l?u tr? thông tin trong b? nh? có ?nh h??ng r?t l?n đ?n vi?c hi?n th?, in ?n
và x? lý ?nh đ??c xem nh? là 1 t?p h?p các đi?m v?i cùng kích th??c n?u s? d?ng càng
nhi?u đi?m ?nh thì b?c ?nh càng đ?p, càng m?n và càng th? hi?n rõ h?n chi ti?t c?a ?nh
ng??i ta g?i đ?c đi?m này là đ? phân gi?i. Vi?c l?a ch?n đ? phân gi?i thích h?p tu?
thu?c vào nhu c?u s? d?ng và đ?c tr?ng c?a m?i ?nh c? th?, trên c? s? đó các ?nh th??ng
đ??c bi?u di?n theo 2 mô hình c? b?n


1.3.2.1 Mô hình Raster
Đây là cách bi?u di?n ?nh thông d?ng nh?t hi?n nay, ?nh đ??c bi?u di?n d??i d?
ng ma tr?n các đi?m (đi?m ?nh). Th??ng thu nh?n qua các thi?t b? nh? camera,
scanner. Tu? theo yêu c?u th?c th? mà m?i đi?m ?nh đ??c bi?u di?n qua 1 hay nhi?u bít
Mô hình Raster thu?n l?i cho hi?n th? và in ?n. Ngày nay công ngh?
ph?n c?ng cung c?p nh?ng thi?t b? thu nh?n ?nh Raster phù h?p v?i t?c đ? nhanh và ch?t

l??ng cao cho c? đ?u vào và đ?u ra. M?t thu?n l?i cho vi?c hi?n th? trong môi tr??ng
Windows là Microsoft đ?a ra khuôn d?ng ?nh DIB (Device Independent Bitmap) làm
trung gian. Hình 1.4 th? hình quy trình chung đ? hi?n th? ?nh Raster thông qua DIB.
M?t trong nh?ng h??ng nghiên c?u c? b?n trên mô hình bi?u di?n này là k? thu?t
nén ?nh các k? thu?t nén ?nh l?i chia ra theo 2 khuynh h??ng là nén b?o toàn và không
b?o toàn thông tin nén b?o toàn có kh? năng ph?c h?i hoàn toàn d? li?u ban đ?u còn n?
u không b?o toàn ch? có kh? năng ph?c h?i đ? sai s? cho phép nào đó. Theo cách ti?p c?
n này ng??i ta đã đ? ra nhi?u quy cách khác nhau nh? BMP, TIF, GIF, PCX…
Hi?n nay trên th? gi?i có trên 50 khuôn d?ng ?nh thông d?ng bao g?m c? trong
đó các k? thu?t nén có kh? năng ph?c h?i d? li?u 100% và nén có kh? năng ph?c h?i v?i
đ? sai s? nh?n đ??c.

Hình 1.3. Quá trình hi?n th? và ch?nh s?a, l?u tr? ?nh thông qua DIB
1.3.2.2 Mô hình Vector
Bi?u di?n ?nh ngoài m?c đích ti?t ki?m không gian l?u tr? d? dàng cho hi?n th?
và in ?n còn đ?m b?o d? dàng trong l?a ch?n sao chép di chuy?n tìm ki?m… Theo nh?
ng yêu c?u này k? thu?t bi?u di?n vector t? ra ?u vi?t h?n.
Trong mô hình vector ng??i ta s? d?ng h??ng gi?a các vector c?a đi?m ?nh lân c?
n đ? mã hoá và tái t?o hình ?nh ban đ?u ?nh vector đ??c thu nh?n tr?c ti?p t? các thi?t
b? s? hoá nh? Digital ho?c đ??c chuy?n đ?i t? ?nh Raster thông qua các ch??ng trình s?
hoá.


Công ngh? ph?n c?ng cung c?p nh?ng thi?t b? x? lý v?i t?c đ? nhanh và ch?t l??
ng cho c? đ?u vào và ra nh?ng l?i ch? h? tr? cho ?nh Raster. Do v?y, nh?ng nghiên c?u
v? bi?u di?n vect? đ?u t?p trung t? chuy?n đ?i t? ?nh Raster.

Hình 1.4. S? chuy?n đ?i gi?a các mô hình bi?u di?n ?nh

1.4 T?ng quan v? nh?n d?ng c? th? con ng??i

Có nhi?u nghiên c?u tìm ph??ng pháp xác đ?nh c? th? con ng??i, t? ?nh xám đ?
n ngày nay là ?nh màu. Ta s? trình bày m?t cách t?ng quát nh?t nh?ng h??ng gi?i quy?t
chính cho bài toán.
D?a vào tính ch?t c?a các ph??ng pháp xác đ?nh c? th? con ng??i trên ?nh. Các
ph??ng pháp này đ??c chia làm b?n h??ng ti?p c?n chính. Ngoài b?n h??ng này, nhi?u
nghiên c?u có khi liên quan đ?n không nh?ng m?t h??ng ti?p c?n mà có liên quan nhi?u
h?n m?t h??ng chính:
1H??ng ti?p c?n d?a trên tri th?c: Mã hóa các hi?u bi?t c?a con ng??i v? c? th? con
ng??i thành các lu?t. Thông th??ng các lu?t mô t? quan h? c?a các đ?c tr?ng c? th? con
ng??i so v?i c? th? các loài đ?ng v?t khác.
2 H??ng ti?p c?n d?a trên đ?c tr?ng không thay đ?i: M?c tiêu các thu?t toán đi
tìm các đ?c tr?ng mô t? c?u trúc c? th? con ng??i mà các đ?c tr?ng này s? không thay đ?
i khi t? th? ho?t đ?ng c?a c? th? con ng??i, v? trí đ?t thi?t b? thu hình ho?c đi?u ki?n
ánh sáng thay đ?i.
3H??ng ti?p c?n d?a trên so kh?p m?u: Dùng các m?u chu?n c?a c? th? con ng??i
(các m?u này đ??c ch?n l?a và l?u tr?) đ? mô t? cho c? th? con ng??i hay các đ?c tr?ng
c? th? (các m?u này ph?i ch?n làm sao cho tách bi?t nhau theo tiêu chu?n mà các tác
gi? đ?nh ra đ? so sánh). Các m?i t??ng quan gi?a d? li?u ?nh đ?a vào và các m?u dùng
đ? xác đ?nh c? th? con ng??i.
4H??ng ti?p c?n d?a trên di?n m?o: Trái ng??c h?n v?i so kh?p m?u, các mô hình
(hay các m?u) đ??c h?c t? m?t t?p ?nh hu?n luy?n tr??c đó. Sau đó h? th?ng (mô hình)
s? xác đ?nh c? th? con ng??i. Hay m?t s? tác gi? còn g?i h??ng ti?p c?n này là h??ng ti?
p c?n theo ph??ng pháp h?c.


1.4.1 Đ? xu?t mô hình gi?i quy?t ?ng v?i t?ng khâu c?a bài toán nh?n d?ng c? th?
ng??i.
Mô hình t?ng quát c?a bài toán nh?n d?ng c? th? ng??i:

Hình 1.5. Mô hình t?ng quát c?a bài toán nh?n d?ng c? th? ng??i

Bài toán nh?n d?ng c? th? con ng??i c?n xác đ?nh b?n v?n đ? chính:
+ Dùng ph??ng pháp nào đ? xác đ?nh c? th? con ng??i n?m t?i v? trí nào trong ?
nh
+ Dùng đ?c tr?ng nào trên c? th? con ng??i đ? rút trích đ?c tr?ng cho c? th?:
chân, tay, đ?u, mình,.. hay k?t h?p t?t c? các đ?c tr?ng trên.
+ Áp d?ng ph??ng pháp nào đ? rút trích đ?c tr?ng.
+ Dùng ph??ng pháp nào đ? hu?n luy?n cho máy nh?n d?ng khi đã có t?p đ?c tr?
ng c?a c? th?.
1.5 K?t lu?n ch??ng


Ch??ng m?t đã ch? ra nh?ng khó khăn đ? ra trong vi?c nh?n d?ng c? th? con ng??
i. Đó là nh?ng bi?n đ?i quá l?n c?a c? th? con ng??i trong b?c ?nh c?n nh?n d?ng. G?m
tr?ng thái c? th? nh? đ?ng, ng?i, ánh sáng, v? trí c?a camera quan sát (bên trái , ph?i,
trên xu?ng, d??i lên). Gi?i h?n v? s? ?nh c?n thi?t cho vi?c hu?n luy?n, t?p các ?nh c?
th? hu?n luy?n không th? bao quát đ??c t?t c? các bi?n đ?i có th? có trên c? th? c?a m?t
b?c ?nh c?n nh?n d?ng trong th? gi?i th?c. Giúp ta có cái nhìn t?ng quan h?n v? m?t h?n
ch? và h??ng kh?c ph?c cho bài toán nh?n d?ng.


CH??NG 2: CÁC THU?T TOÁN NH?N D?NG C? TH? CON NG??I
2.1 Gi?i thi?u ch??ng
Ch??ng này giúp ta đ?nh ngh?a bài toán xác đ?nh c? th? con ng??i (Body
Detection) s? d?ng các k? thu?t máy tính đ? xác đ?nh các v? trí và các kích th??c c?a c?
th? con ng??i trong các ?nh b?t k? (?nh k? thu?t s?). K? thu?t này nh?n bi?t các đ?c tr?
ng c?a c? th? và b? qua nh?ng th? khác, nh?: tòa nhà, cây c?i, đ?ng v?t…Trong ch??ng
này c?ng đ?a ra các ph??ng pháp bi?u di?n ?nh c? th? thành véc t? đ?c tr?ng mà v?n gi?
l?i đ??c nh?ng thành ph?n quan tr?ng c?a ?nh.
2.2 Ph??ng pháp xác đ?nh c? th? con ng??i
2.2.1 Gi?i thi?u m?ng n?ron

Có th? nói, hi?n nay, không có m?t đ?nh ngh?a chính th?c nào cho m?ng n?ron.
Tuy nhiên ph?n l?n m?i ng??i đ?u đ?ng tình r?ng m?ng n?ron là m?t m?ng bao g?m r?t
nhi?u b? x? lý đ?n gi?n (g?i là các unit), m?i unit có vùng nh? riêng c?a mình. Các unit
đ??c k?t n?i v?i nhau thông qua kênh thông tin (g?i là các connection), th ??ng mang d?
li?u s? (không ph?i là các ký hi?u), và đ??c mã hóa theo m?t cách nào đ?y. Các unit ch?
x? lý trên b? d? li?u c?a riêng nó và trên các đ?u vào đ??c đ?a t?i thông qua các liên k?
t. h?n ch? c?a các phép x? lý c?c b? này là nó th??ng ? tr?ng thái ngh? trong su?t quá
trình h?c.
M?t s? m?ng n?ron là các mô hình m?ng n?ron sinh h?c, m?t s? thì không, nh?ng
t? tr??c t?i nay, thì t?t c? các l?nh v?c c?a m?ng n?ron đ?u đ??c nghiên c?u xây d?ng
xu?t phát t? các yêu c?u xây d?ng các h? th?ng nh?n t?o r?t ph?c t?p, hay các phép x?
lý “thông minh”, và nh?ng gì tu?ng t? nh? b? não con ng??i.
H?u h?t các m?ng n?ron đ?u có m?t vài quy t?c h?c nào đó mà thông qua đó các
tr?ng s? c?a các liên két đ??c đi?u ch?nh d?a trên d? li?u. Nói cách khác, các m?ng n?
ron “h?c” và các ví d? và d?a trên các d? li?u đó thì nó có kh? năng t?ng quát tri th?c
và đ?a ra “nh?n th?c c?a mình”.
M?ng n?ron là mô hình m?ng ?ng d?ng các ph??ng pháp x? lý song song và các
thành ph?n m?ng x? lý hoàn toàn đ?c l?p v?i nhau. M?t vài ngu?i xem kh? năng x? lý
song song s? l??ng l?n và tính liên k?t cao c?a m?ng n?ron là các tính ch?t đ?c tr?ng c?a
nó. Tuy nhiên v?i nh?ng yêu c?u nh? th? thì l?i không có nh?ng mô hình đ?n gi?n, ví d?
nh? mô hình h?i quy tuy?n tính đ?n gi?n, m?t mô hình đ??c ?ng d?ng r?t r?ng rãi c?a m?
ng n?ron.


M?ng n?ron có th? đ??c áp d?ng trong m?i tr??ng h?p khi t?n t?i m?t m?i liên h?
gi?a các bi?n đ?c l?p (inputs) và các bi?n ph? thu?c (outputs), th?m chí là ngay c? khi
m?i quan h? đó ph?c t?p. M?t s? l?nh v?c mà m?ng n?ron đã đ??c áp d?ng thành công
nh? d? đoán tri?u ch?ng y h?c, d? đoán th? tr??ng ch?ng khoán, đánh giá đ? tin c?y tài
chính, đi?u ch?nh đi?u ki?n c?a c? c?u máy móc.
2.2.1.1 Thu?t toán lan truy?n ng??c

Chu?ng ta se? tâ?p trung nghiên c??u mô?t ki? thuâ?t râ?t phô? biê?n cu?a ma?
ng n?ron nhiê?u tâ?ng. Chu?ng ta se? xem xe?t ca?ch ma? mô?t ma?ng ho?c mô?t a?nh
xa? t?? mô?t tâ?p d?? liê?u cho tr???c.
Chu?ng ta đa? biê?t viê?c ho?c d??a trên đi?nh nghi?a cu?a ha?m lô?i, ha?m lô?i
na?y sau đo? se? đ???c tô?i thiê?u hoa? d??a va?o ca?c tro?ng sô? va? ca?c tro?ng
ng???ng trong ma?ng.
Tr???c tiên ta se? xem xe?t tr???ng h??p ma?ng s?? du?ng ha?m ng???ng. Vâ?n
đê? câ?n ba?n ?? đây chi?nh la? ca?ch đê? kh??i ta?o ca?c tro?ng sô? cho ma?ng nh?
thê? na?o. Công viê?c na?y th???ng đ???c go?i la? ‘credit assignment problem’. nê?u
mô?t nu?t đâ?u ra ta?o ra mô?t đa?p sô? sai lê?ch thi? chu?ng ta pha?i quyê?t đi?nh
xem liê?u nu?t â?n na?o pha?i chi?u tra?ch nhiê?m cho s?? sai lê?ch đo?, cu?ng chi?nh
la? viê?c quyê?t đi?nh tro?ng sô? na?o câ?n pha?i điê?u chi?nh va? điê?u chi?nh la?
bao nhiêu.
Đê? gia?i quyê?t vâ?n đê? ga?n tro?ng sô? na?y, chu?ng ta ha?y xem xe?t mô?t
ma?ng v??i ca?c ha?m truyê?n phân biê?t ,do đo? gia? tri? tô?ng tro?ng cu?a ca?c nu?t
xuâ?t se? tr?? tha?nh mô?t ha?m phân biê?t cu?a ca?c biê?n nhâ?p va? cu?a tro?ng sô?
va? tro?ng ng???ng. Nê?u ta coi ha?m lô?i, vi? du? co? da?ng sai sô? trung bi?nh bi?nh
ph??ng, la? mô?t ha?m riêng biê?t cho ca?c gia? tri? xuâ?t cu?a ma?ng thi? ba?n thân
no? cu?ng chi?nh la? mô?t ha?m phân biê?t cu?a ca?c tro?ng sô?.
Do đo? chu?ng ta co? thê? ti?nh toa?n đ???c đa?o ha?m ha?m lô?i theo ca?c tro?
ng sô?, va? gia? tri? đa?o ha?m na?y la?i co? thê? du?ng đê? la?m c??c tiê?u hoa? ha?m
lô?i bă?ng ca?ch s?? du?ng ph??ng pha?p gia?m gradient (gradient descent) hoă?c ca?c
ph??ng pha?p tô?i ?u hoa? kha?c.
Gia?i thuâ?t ???c l???ng đa?o ha?m ha?m lô?i đ???c biê?t đê?n v??i tên go?i lan
truyê?n ng???c, no? t??ng đ??ng v??i viê?c lan truyê?n ng???c lô?i trong ma?ng. Ki?
thuâ?t vê? lan truyê?n ng???c đ???c biê?t đê?n râ?t rô?ng ra?i va? chi tiê?t qua ca?c ba?


i ba?o cu?ng nh? ca?c cuô?n sa?ch cu?a Rumelhart, Hinton va? Williams (1986). Tuy
nhiên gâ?n đây mô?t sô? y? t???ng t??ng t?? cu?ng đ???c mô?t sô? nha? ngiên c??u

pha?t triê?n bao gô?m Werbos (1974) va? Parker (1985).
Đê? la?m ro? h?n vê? thuâ?t ng?? na?y chu?ng ta câ?n xem xe?t qua? tri?nh
luyê?n ma?ng mô?t ca?ch ki? ca?ng. Phâ?n l??n ca?c gia?i thuâ?t luyê?n ma?ng đê?u
liên quan đê?n mô?t thu? tu?c đ???c lă?p đi lă?p la?i nhă?m la?m tô?i thiê?u ha?m lô?i,
bă?ng ca?ch điê?u chi?nh tro?ng sô? trong mô?t chuô?i ca?c b???c.
Ta?i mô?i b???c nh? vâ?y, chu?ng ta co? thê? chia tha?nh hai b???c phân biê?t.
1Ta?i b???c th?? nhâ?t, câ?n pha?i ti?nh đa?o ha?m ha?m lô?i theo ca?c tro?ng
sô?. Chu?ng ta đa? biê?t ră?ng mô?t đo?ng go?p râ?t quan tro?ng cu?a ki? thuâ?t lan
truyê?n ng???c đo? la? viê?c cung câ?p mô?t ph??ng pha?p hê?t s??c hiê?u qua? vê?
mă?t ti?nh toa?n trong viê?c đa?nh gia? ca?c đa?o ha?m. Vi? ta?i b???c na?y lô?i se?
đ???c lan truyê?n ng???c tr?? la?i ma?ng nên chu?ng ta se? s?? du?ng kha?i niê?m lan
truyê?n ng???c đê? đă?c tr?ng riêng cho viê?c đa?nh gia? đa?o ha?m na?y.
2Ta?i b???c th?? hai, ca?c đa?o ha?m se? đ???c s?? du?ng trong viê?c ti?nh toa?n
s?? điê?u chi?nh đô?i v??i tro?ng sô?. Va? ki? thuâ?t đ?n gia?n nhâ?t đ???c s?? du?ng ??
đây la? ki? thuâ?t gradient descent, ki? thuâ?t na?y đ???c Rumelhart et al. (1986) đ?a
ra lâ?n đâ?u tiên.
Mô?t điê?u hê?t s??c quan tro?ng la? pha?i nhâ?n th??c đ???c ră?ng hai b???c
na?y la? phân biê?t v??i nhau. Do đo?, qua? tri?nh x?? ly? đâ?u tiên , đ???c biê?t đê?n
la? qua? tri?nh lan truyê?n ng???c ca?c lô?i va?o trong ma?ng đê? đa?nh gia? đa?o ha?
m, co? thê? đ???c a?p du?ng đô?i v??i râ?t nhiê?u lao?i ma?ng kha?c nhau ch?? không
chi? đô?i v??i riêng ma?ng perceptron nhiê?u tâ?ng. No? cu?ng co? thê? đ???c a?p du?
ng v??i ca?c loa?i ha?m lô?i kha?c ch?? không chi? la? ha?m ti?nh sai sô? bi?nh ph??ng
c??c tiê?u, va? đê? đa?nh gia? ca?c đa?o ha?m kha?c na?y co? thê? s?? du?ng ca?c ph??
ng pha?p kha?c nh? ph??ng pha?p ma trâ?n Jacobian va? Hessian ma? chu?ng ta se?
xem xe?t ?? phâ?n sau. Va? cu?ng t??ng t?? nh? vâ?y thi? ta?i b???c th?? hai, viê?c điê?
u chi?nh tro?ng sô? s?? du?ng ca?c đa?o ha?m đa? đ???c ti?nh tr???c đo? co? thê? th??c
hiê?n v??i nhiê?u ph??ng pha?p tô?i ?u hoa? kha?c nhau, va? râ?t nhiê?u trong sô? ca?c
ph??ng pha?p đo? cho kê?t qua? tô?t h?n ph??ng pha?p gradient descend.



2.2.1.2 Lan truy?n ng??c

Hình 2.1. Lan truy?n ng??c
Bây gi?? chu?ng ta se? a?p du?ng gia?i thuâ?t lan truyê?n ng???c cho bâ?t ki?
mô?t ma?ng neural co? câ?u hi?nh lan truyê?n tiê?n tuy? y?, s?? du?ng ca?c ha?m
truyê?n phi tuyê?n tuy? y?, va? ca? ha?m lô?i co? da?ng tuy? y?. Đê? minh hoa? chu?
ng ta se? du?ng mô?t ma?ng co? câ?u tru?c mô?t tâ?ng nu?t â?n da?ng sigmoid va? ha?
m lô?i la? ha?m ti?nh theo sai sô? trung bi?nh bi?nh ph??ng.
Trong ca?c ma?ng lan truyê?n tiê?n no?i chung mô?i nu?t đê?u ti?nh tô?ng tro?
ng hoa? ca?c đâ?u va?o cu?a no? theo công th??c:
(I.1)
V??i zi la? gia? tri? nhâ?p hoă?c la? gia? tri? xuâ?t cu?a mô?t nu?t co? cung kê?t
nô?i v??i nu?t j va? w ji chi?nh la? tro?ng sô? cu?a cung kê?t nô?i đo?. Gia? tri? tô?ng
na?y đ???c ti?nh trên tâ?t ca? ca?c nu?t co? kê?t nô?i tr??c tiê?p v??i nu?t j. Chu?ng ta
biê?t ră?ng, tro?ng ng???ng cu?a nu?t cu?ng đ???c đ?a va?o trong tô?ng bă?ng ca?ch ta?
o ra thêm mô?t gia? tri? nhâ?p cô? đi?nh = 1. Tô?ng trong (I.1) la?i đ???c biê?n đô?i
thông qua mô?t ha?m truyê?n phi tuyê?n g(.) đê? đ?a ra đ???c gi?a tri? xuâ?t zi cu?a
nu?t j theo công th??c:
(I.2)
Bây gi?? chu?ng ta câ?n pha?i xa?c đi?nh gia? tri? cu?a ca?c tro?ng sô? trong
ma?ng thông qua viê?c tô?i thiê?u hoa? ha?m lô?i.


?? đây ta se? coi ca? ha?m lô?i đ???c viê?t nh? mô?t tô?ng cu?a tâ?t ca? ca?c lô?i
ta?i mô?i mâ?u riêng biê?t.Tô?ng na?y se? đ???c ti?nh trên tâ?t ca? ca?c mâ?u cu?a tâ?
p huâ?n luyê?n
(I.3)
V??i n la? nha?n cu?a t??ng mâ?u.
Chu?ng ta cu?ng gia? đi?nh ră?ng lô?i En co? thê? đ???c thê? hiê?n nh? mô?t ha?
m riêng cu?a ca?c biê?n đâ?u ra, co? nghi?a la?

En = En(yc, …, yc)

Mu?c đi?ch cu?a chu?ng ta ?? đây chi?nh la? pha?i ti?m ra mô?t ha?m nhă?m
đê? ti?nh đ???c đa?o ha?m cu?a ha?m lô?i theo ca?c tro?ng sô? va? tro?ng ng???ng cu?a
ma?ng.
Đô?i v??i t??ng mâ?u, ta se? coi nh? đa? cung câ?p mô?t vector nhâ?p t??ng ??
ng la? đâ?u va?ova? đa? ti?nh đ???c ca?c gia? tri? xuâ?t cu?a ca?c nu?t â?n cu?ng nh?
nu?t xuâ?t theo ca?c công th??c (I.1), (I.2). Qua? tri?nh na?y th???ng đ???c go?i la?
qua? tri?nh lan truyê?n tiê?n trong ma?ng.
Bây gi?? ha?y xem xe?t viê?c ti?nh đa?o ha?m cu?a En theo ca? tro?ng sô? w ji.
Gia? tri? xuâ?t cu?a ca?c nu?t se? phu? thuô?c va?o t??ng mâ?u nhâ?p n na?o. Tuy
nhiên đê? dê? nhi?n, ta quy ???c se? bo? qua viê?c viê?t ki? t?? n trên ca?c biê?n nhâ?p
va? xuâ?t. Tr???c tiên ta câ?n chu? y? ră?ng En phu? thuô?c va?o tro?ng sô? w ji thông
qua tô?ng gia? tri? nhâ?p a i cu?a nu?t j. Do đo? ta co? thê? đ?a ra công th??c ti?nh ca?c
đa?o ha?m riêng nh? sau:
(I.4)
T? (I.1) ta có:
(I.5)
Nh? v?y suy ra:
(I.6)
Trong đó
T? công th?c (I.6) ta th?y r?ng đê? ti?nh đ???c đa?o ha?m chu?ng ta chi? câ?n ti?
nh gia? tri? cho mô?i nu?t â?n va? nu?t xuâ?t trong ma?ng va? sau đo? a?p du?ng công
th??c (I.6).


V??i ca?c nu?t xuâ?t thi? viê?c ti?nh δk la? hê?t s??c đ?n gia?n.
Ta có:
(I.7)
Đ? tính ra (I.7) ta c?n tìm ra công th?c tính g’(a) và .

Đê? ti?nh đ???c δ cho ca? nu?t â?n, ta câ?n s?? du?ng công th??c ti?nh đa?o ha?
m riêng:

(I.8)
Trong đo? gia? tri? tô?ng đ???c ti?nh trên ca?c nu?t k ma? nu?t j kê?t nô?i đê?n.
Viê?c să?p xê?p ca?c nu?t cu?ng nh? ca?c tro?ng sô? đ???c minh hoa? trong Hình 2.2.

Hình 2.2. Minh h?a vi?c tính δj cho vi?c tính nút ?n j
Chu? y? ră?ng ca?c nu?t co? nha?n k na?y co? thê? bao gô?m ca? nu?t nhâ?p va?
nu?t xuâ?t.
Bây gi?? chu?ng ta co? công th??c lan truyê?n ng???c nh? sau:
(I.9)
Công th??c na?y no?i lên ră?ng gia? tri? cu?a δ đô?i v??i mô?t nu?t â?n co? thê?
đ???c ti?nh t?? viê?c lan truyê?n ng???c ca?c gia? tri? δ cu?a ca?c nu?t â?n cao h?n


trong ma?ng, nh? đ???c minh hoa? trong hi?nh 2.2. B??i vi? chu?ng ta đa? biê?t đ???c
ca?c gia? tri? δ cu?a ca?c nu?t xuâ?t nên ta co? thê? a?p du?ng (I.9) mô?t ca?ch đê? quy
nhă?m ti?nh ra ca?c gia? tri? δ cho tâ?t ca? ca?c nu?t â?n trong ma?ng, ma? không quan
tâm đê?n câ?u hi?nh cu?a no?.
Chu?ng ta co? thê? tô?ng kê?t la?i gia?i thuâ?t lan truyê?n ng???c nhă?m ti?nh đa?o ha?
m ha?m lô?i En theo ca?c tro?ng sô? trong 4 b???c:
I.Đ?a vector nhâ?p xn va?o ma?ng va? lan truyê?n tiê?n no? trong ma?ng s?? du?
ng va? đê? ti?m ra gia? tri? xuâ?t cho tâ?t ca? ca?c nu?t â?n cu?ng nh? nu?t xuâ?t.

I.Ti?nh δ cho tâ?t ca? ca?c nu?t xuâ?t s?? du?ng công th??c

I.Lan truyê?n ng???c ca?c d bă?ng công th??c đê? thu đ???c δ cho mô?i nu?t â?n
trong ma?ng.
II.a?p du?ng đê? ti?nh ca?c đa?o ha?m.

Đa?o ha?m cu?a lô?i tô?ng E co? thê? thu đ???c bă?ng ca?ch lă?p đi lă?p la?i ca?
c b???c trên đô?i v??i tr??ng mâ?u trong tâ?p huâ?n luyê?n va? sau đo? ti?nh tô?ng trên
tâ?t ca? ca?c lô?i.
Trong qua? tri?nh ti?nh đa?o ha?m trên chu?ng ta đa? gia? đi?nh ră?ng mô?i nu?t
â?n cu?ng nh? xuâ?t đê?u co? chung mô?t ha?m truyê?n g(.). Tuy nhiên điê?u na?y
hoa?n toa?n co? thê? ti?nh đ???c v??i tr???ng h??p mô?i nu?t kha?c nhau đê?u co? ca?c
ha?m truyê?n riêng, đ?n gia?n bă?ng ca?ch đa?nh dâ?u da?ng cu?a ha?m g(.) ??ng v??i
t??ng nu?t.
2.2.2 Gi?i thi?u v? PCA
Ph?n này giúp ta hi?u đ??c phép phân tích thành ph?n chính PCA (Principal
Componens Analysis). PCA là m?t k? thu?t h?u ích trong các ?ng d?ng nh?n d?ng c?
th? và nén ?nh, và là m?t k? thu?t ph? bi?n đ? tìm m?u trong các d? li?u nhi?u chi?u.
Kohonen đã đ?a ra ph??ng pháp dùng vector riêng đ? nh?n d?ng c? th?, ông
dùng m?t m?ng n?ron đ?n gi?n đ? ch?ng t? kh? năng c?a ph??ng pháp này trên các ?nh
đã đ??c chu?n hóa. M?ng n?ron tính m?t mô t? c?a c? th? b?ng cách x?p x? các vector
riêng c?a ma tr?n t??ng quan c?a ?nh. Các vector riêng sau này đ??c bi?t đ?n v?i cái tên
Eigenface. Kirby và Sirovich ch?ng t? các ?nh có các c? th? có th? đ??c mã hóa tuy?n
tính b?ng m?t s? l??ng v?a ph?i các ?nh c? s?. Tính ch?t này d?a trên bi?n đ?i


Karhunen-Lòeve, mà còn đ??c g?i d??i m?t cái tên khác là PCA và bi?n đ?i Hotelling.
Ý t??ng này đ??c xem là c?a Pearson trình bày đ?u tiên vào năm 1901và sau đó là
Hotelling vào năm 1933. Cho m?t t?p các ?nh hu?n luy?n có kích th??c n x m đ??c mô
t? b?i các vector có kích th??c m x m, các vector c? s? cho m?t không gian con t?i ?u
đ??c xác đ?nh thông qua l?i bình ph??ng trung bình khi chi?u các ?nh hu?n luy?n vào
không gian con này. Các tác gi? g?i t?p các vector c? s? t?i ?u này là ?nh riêng sau đó
g?i cho đ?n gi?n là vector riêng c?a ma tr?n hi?p ph??ng sai đ??c tính t? các ?nh c? th?
đã vector hóa trong t?p hu?n luy?n. N?u cho 100 ?nh, mà m?i c ? th? có kích th??c
91x50 thì có th? ch? dùng 50 ?nh riêng, trong khi v?n duy trì đ??c m?t kh? năng gi?ng
nhau h?p lý (gi? đ??c 95% tính ch?t).

Ta dùng PCA trên t?p hu?n luy?n ?nh các c? th? đ? sinh các ?nh riêng, đ? tìm
m?t không gian con (không gian c? th?) trong không gian ?nh. Các ?nh c? th? đ??c chi?
u vào không gian con này và đ??c gom nhóm l?i. T??ng t? các ?nh không có c? th?
dùng đ? hu?n luy?n c?ng đ??c chi?u vào cùng không gian con và gom nhóm l?i. Các ?
nh khi chi?u vào không gian c? th? thì không b? thay đ?i tính ch?t c? b?n, trong khi chi?
u các ?nh không có c? th? thì xu?t hi?n s? khác nhau c?ng không ít. Xác đ?nh s? có m?
t c?a m?t c? th? trong ?nh thông qua t?t c? kho?ng cách gi?a các v? trí trong ?nh và
không gian ?nh. Kho?ng cách này dùng đ? xem xét có hay không có c? th? ng??i, k?t
qu? khi tính toán các kho?ng cách s?
cho ta m?t b?n đ? v? c? th?. Có th? xác đ?nh đ??c t? c?c ti?u đ?a ph??ng c?a b?n đ?
này. Có nhi?u nghiên c?u v? xác đ?nh c? th?, nh?n d?ng, và trích đ?c tr?ng t? ý t??ng
vector riêng, phân rã, và gom nhóm.
Các b??c c? b?n trong PCA:
1B??c1: L?y d? li?u (Get data)
2B??c2: Tr? trung bình m?u.
V?i m?i chi?u d? li?u gi? s? ? chi?u x, ta đ?u có 1 trung bình m?u, công vi?c
trong b??c này là tr? t?t c? giá tr? trong chi?u x cho trung bình m?u x. K?t thúc
b??c này ta s? có trung bình m?u ? t?t c? các chi?u là 0.
1B??c 3: Tính ma tr?n hi?p ph??ng sai
2B??c 4: Tính các vect? riêng và giá tr? riêng c?a ma tr?n hi?p ph??ng sai.
3B??c 5: Ch?n các thành ph?n chính
Đây là b??c cu?i cùng trong PCA. Trong b??c này, tùy thu?c vào s? l??ng thành
ph?n chính c?n l?y, ta l?y l?n l??t các thành ph?n (vect? riêng) t??ng ?ng v?i các
giá tr? riêng cao nh?t.


2.3 Nh?n d?ng c? th? con ng??i dùng thu?t toán PCA
2.3.1 M?t s? khái ni?m toán h?c
Tr??c khi đi vào tìm hi?u PCA, ta s? tìm hi?u v? các khái ni?m toán h?c s? đ??c
s? d?ng trong PCA. Các khái ni?m đó bao g?m: Đ? l?ch chu?n (Standard deviation),

ph??ng sai (variance), hi?p ph??ng sai (covariance), vec t? riêng (eigenvector), giá tr?
riêng (eigenvalue).
2.3.1.1 Đ? l?ch chu?n
Đ? hi?u đ? l?ch chu?n, chúng ta c?n m?t t?p d? li?u. Gi? s? ta có t?p
X = [1 2 4 6 12 15 25 45 68 67 65 98]
X là ký hi?u đ?i di?n cho t?p s?, m?i s? riêng bi?t đ??c ký hi?u Xi (Ví d?
X3 = 4). Ph?n t? đ?u tiên là X 1 và n là s? l??ng ph?n t? c?a t?p h?p. Khi đó trung bình c?
a m?u có công th?c:

Là ký hi?u trung bình c?a m?u, tuy nhiên trung bình m?u không nói lên đ??c
nhi?u đi?u ngo?i tr? cho ta bi?t nó là m?t đi?m gi?a. Ví d? v?i 2 t?p d? li?u
[0 8 12 20] và [8 9 11 12]
có trung bình m?u b?ng nhau nh?ng l?i khá khác nhau. S? khác bi?t ? đây chính là kho?
ng cách c?a d? li?u. Và đ? l?ch chu?n là đ?i l??ng đ? đo kho?ng cách này. Ta có th?
hiêu đ? l?ch chu?n là kho?ng cách trung bình t? trung bình m?u đ?n các đi?m c?a d? li?
u. Ta có công th?c:


T?p h?p 1

T?p h?p 2

Ta có th? d? dàng nh?n th?y t?p d? li?u 1 có đ? l?ch chu?n l?n h?n có kho?ng
cách l?n h?n t?p d? li?u 2.
2.3.1.2 Ph??ng sai
Ph??ng sai là m?t đ?i l??ng khác dùng đ? đo kho?ng cách c?a d? li?u. Ta có công
th?c:

D? th?y ph??ng sai chính là bình ph??ng đ? l?ch chu?n.
2.3.1.3 Hi?p ph??ng sai

Ta th?y r?ng 2 đ?i l??ng đ? l?ch chu?n và ph??ng sai ch? s? d?ng đ??c trong 1
chi?u. Trong th?c t? d? li?u có th? có r?t nhi?u chi?u. M?t ví d? đ?n gi?n ta có d? li?u v?
cân n?ng và đi?m s? c?a toàn b? sinh viên trong l?p 11ĐTLT. Đ?i v?i d? li?u này, đ? l?
ch chu?n và ph??ng sai ch? tính đ??c trên t?ng chi?u riêng bi?t và ta không th?y đ??c
m?i liên h? gi?a 2 chi?u này.
T??ng t? ph??ng sai, hi?p ph??ng sai là đ?i l??ng đo s? bi?n thiên gi?a 2 chi?u.
N?u tính hi?p ph??ng sai gi?a 1 chi?u v?i chính nó ta đ??c ph??ng sai c?a chi?u đó. N?u
t?p d? li?u có 3 chi?u x, y, z ta có th? tính hi?p ph??ng sai c?a t?ng c?p chi?u (x, y), (y,
z), (z, x). Công th?c c?a hi?p ph??ng sai t??ng t? công th?c c?a ph??ng sai. Công th?c c?

a ph??ng sai đ??c khai tri?n nh? sau:


×