Mục tiêu của đề tài “Nhận dạng mặt người bằng thuật toán PCA trên Matlab” là thực hiện chương trình tìm kiếm một bức ảnh có khuôn mặt một người trong tập ảnh cơ sở giống với khuôn mặt của người trong bức ảnh cần kiểm tra bằng ngôn ngữ Matlab.
Trang 1Đ ÁN MÔN TH GIÁC MÁY TÍNH Ồ Ị
Đ TÀI : Ề
TRÊN MATLAB
Gi ng viên h ả ướ ng d n ẫ : Lê Th Ng c Thúy ị ọ
Sinh viên th c hi n ự ệ : Đ Thanh Huy ỗ
Tr n Qu c Tuân ầ ố
Đ Th Th o ỗ ị ả
Trang 2M C L C Ụ Ụ
L I M Đ UỜ Ở Ầ 2
PH N I: T NG QUAN V NH N DI N KHUÔN M T VÀ THU T TOÁN Ầ Ổ Ề Ậ Ệ Ặ Ậ PCA 3
I. CÔNG NGH NH N DI N M T NGỆ Ậ Ệ Ặ ƯỜI TRONG TH GIÁC MÁY Ị TÍNH 3
II THU T TOÁN PCAẬ 6
III THU T TOÁN PCA TRONG NH N DI N KHUÔN M TẬ Ậ Ệ Ặ 11
PH N II: NH MÀU VÀ CÁC L NH X LÝ NH MÀU TRÊN MATLABẦ Ả Ệ Ử Ả 16 I. GI I THI U NH SỚ Ệ Ả Ố 16
1. nh sẢ ố 16
2. Các ki u hình nh trong Matlabể ả 21
3. Chuy n đ i gi a nh ng ki u d li uể ổ ữ ữ ể ữ ệ 22
4. Các phép toán s h c c b n v i d li u nhố ọ ơ ả ớ ữ ệ ả 23
5. Các hàm hi n th trong Matlabể ị 24
6. Các hàm s d ng trong đ tàiử ụ ề 25
II. GIAO DI N GUI C A MATLABỆ Ủ 26
1. Giao di n GUIệ 26
2. Gi i thi u qua chớ ệ ương trình nh n d ng m t ngậ ạ ặ ườ 28i III: S Đ KH I VÀ CODE CHƠ Ồ Ố ƯƠNG TRÌNH 31
1. S đ kh iơ ồ ố 31
2. Code chương trình 32
Trang 3
L I M Đ UỜ Ở Ầ
Trong th gi i ngày nay v i s phát tri n m nh m c a k thu t s và m ngế ớ ớ ự ể ạ ẽ ủ ỹ ậ ố ạ toàn c u, v n đ v đ m b o an toàn v thông tin cũng nh v t ch t ngày càng trầ ấ ề ề ả ả ề ư ậ ấ ở nên quan tr ng và khó khăn. M t trong nh ng phọ ộ ữ ương pháp đ n gi n nh t nh ngơ ả ấ ư cũng là bài toán ph c t p nh t là xác đ nh m t ngứ ạ ấ ị ộ ười thông qua khuôn m t t đóặ ừ
c p nh t thông tin đ đ m b o an toàn thông tin cũng nh tìm ki m t i ph m.ậ ậ ể ả ả ư ế ộ ạ
Trong nhi u năm qua có r t nhi u công trình nghiên c u v bài toán nh n d ngề ấ ề ứ ề ậ ạ khuôn m t 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 khuôn m t ngứ ừ ơ ả ỗ ả ỉ ộ ặ ười nhìn
th ng vào thi t b thu hình và đ u t th 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 khuôn m t 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ộ ả ề ư ế ổ ả ữ ậ ở ộ
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 m t ngụ ủ ề ậ ạ ặ ườ ằi b ng thu t toán PCA trên Matlab”ậ
là th c hi n chự ệ ương trình tìm ki m m t b c nh có khuôn m t m t ngế ộ ứ ả ặ ộ ười trong
t p nh c s gi ng v i khuôn m t c a ngậ ả ơ ở ố ớ ặ ủ ười trong b c nh c n ki m tra b ngứ ả ầ ể ằ ngôn ng Matlab.ữ
Đ ti n theo dõi em xin trình bày đ tài theo ba ph n:ể ệ ề ầ
Ph n đ u là t ng quan v nh n di n khuôn m t và thu t toán PCA sầ ầ ổ ề ậ ệ ặ ậ ử
d ng trong bài.ụ
Ph n 2 gi i thi u v nh màu và nh ng th liên quan đ n vi c nh nầ ớ ệ ề ả ữ ứ ế ệ ậ
d ng khuôn m t và ph n m m s d ng.ạ ặ ầ ề ử ụ
Sau cùng là code chương trình và thu t toán đ d hình dung h nậ ể ễ ơ
Do tài li u tham kh o h n ch , trình đ có h n và kinh nghi m th c ti n cònệ ả ạ ế ộ ạ ệ ự ễ non kém nên đ tài còn nhi u thi u sót. Chúng em mong nh n đề ề ế ậ ược nh ng ý ki nữ ế
và l i nh n xét c a cô đ giúp chúng em hoàn thi n h n đ tài này.ờ ậ ủ ể ệ ơ ề
Trang 4PH N I: T NG QUAN V NH N DI N KHUÔN M T Ầ Ổ Ề Ậ Ệ Ặ
th ng sinh tr c h c nh nh n di n d u vân tay, nh n di n và phát hi n khuôn m t,ố ắ ọ ư ậ ệ ấ ậ ệ ệ ặ
nh n di n m ng m t…Các đ c tr ng sinh h c này này thậ ệ ố ắ ặ ư ọ ường đượ ử ục s d ng cho
nh n d ng ngậ ạ ười trong h th ng giám sát ho c nh n d ng t i pham. L i th c aệ ố ặ ậ ạ ộ ợ ế ủ
vi c s d ng đ c tr ng sinh h c trong nh n d ng đó là chúng r t khó có th thayệ ử ụ ặ ư ọ ậ ạ ấ ể
đ i theo th i gian và là các đ c tr ng đ c nh t c a m i ngổ ờ ặ ư ộ ấ ủ ỗ ười
M t h th ng nh n di n khuôn m t là m t ng d ng máy tính, có kh năngộ ệ ố ậ ệ ặ ộ ứ ụ ả
nh n d ng và xác minh m t ngậ ạ ộ ườ ừ ộ ải t m t nh s ho c t khung video trong video. ố ặ ừ
Các pha trong m t h th ng nh n di n khuôn m t ộ ệ ố ậ ệ ặ :
Đ xây d ng m t h th ng nh n d ng m t, cũng không h đ n gi n, bể ự ộ ệ ố ậ ạ ặ ề ơ ả ước đ uầ tiên c n th c hi n làầ ự ệ face detection, t c là phát hi n ph n nh m t trong d li uứ ệ ầ ả ặ ữ ệ
đ u vào (CSDL nh, video …) và c t l y ph n nh m t đ th c hi n nh n d ngầ ả ắ ấ ầ ả ặ ể ự ệ ậ ạ (Face cropping), bước th hai là ti n x lý nh (ứ ề ử ả Preprocessing) bao g m các bồ ướ ccăn ch nh nh (ỉ ả Face image alignment) và chu n hóa ánh sáng (ẩ Illumination normalization) ( đây đang nói t i các nh có góc nhìn th ng), ti p đ n là bở ớ ả ẳ ế ế ướ ctrích ch n đ c tr ng (ọ ặ ư Feature extraction), bở ước này m t phộ ương pháp trích ch nọ
đ c tr ng nào đó (m u nh phân c c b – Local Binary Pattern – LBP, Gaborặ ư ẫ ị ụ ộ wavelets, …) s đẽ ượ ử ục s d ng v i nh khuôn m t đ trích xu t các thông tin đ cớ ả ặ ể ấ ặ
tr ng cho nh, k t qu là m i nh s đư ả ế ả ỗ ả ẽ ược bi u di n dể ễ ướ ại d ng m t vector đ cộ ặ
tr ng, bư ước ti p theo là bế ước nh n d ng hay phân l p, t c là xác đ nh danh tính hayậ ạ ớ ứ ị nhãn c a nh – đó là nh c a ai. bủ ả ả ủ Ở ước phân l p, thớ ường thì phương pháp k nearest neighbor s đẽ ược s d ng, ngoài ra có th s d ngử ụ ể ử ụ SVM (Support Vector
Machine) tuy nhiên không mang l i hi u qu cao. D li u cho m t h th ng nh nạ ệ ả ữ ệ ộ ệ ố ậ
Trang 5d ng m t đạ ặ ược chia làm 3 t p: t p hu n luy n (ậ ậ ấ ệ Training set), t p tham chi uậ ế (reference set hay gallery set) và t p đ nh n d ng (ậ ể ậ ạ probe set hay query set, đôi khi còn g i làọ test set). Trong nhi u h th ng, t p training trùng v i t p reference. T pề ệ ố ậ ớ ậ ậ training g m các nh đồ ả ược dùng đ hu n luy n (hay h c), thông thể ấ ệ ọ ường t p nàyậ
được dùng đ sinh ra m t không gian con (ể ộ projection subspace) là m t ma tr n vàộ ậ
phương pháp hay được s d ng làử ụ PCA (Principal Component Analysis), WPCA (Whitened PCA), LDA (Linear Discriminant Analysis), KPCA (Kernel PCA). T pậ reference g m các nh đã bi t danh tính đồ ả ế ược chi u (projected) vào không gian conế
b c training B c training nh m 2 m c đích: gi m s chi u (
reduction) c a các vector đ c tr ng (Feature vector) vì các vector này thủ ặ ư ường có độ dài khá l n (vài nghìn t i vài trăm nghìn) nên n u đ nguyên thì vi c tính toán sớ ớ ế ể ệ ẽ
r t r t lâu, th hai là làm tăng tính phân bi t gi a các nh khác l p (đ nh danh khácấ ấ ứ ệ ữ ả ớ ị nhau), ngoài ra có th làm gi m tính phân bi t gi a các nh thu c v m t l p (tùyể ả ệ ữ ả ộ ề ộ ớ theo phương pháp, ví d nh ụ ư Linear Discriminant Analysis LDA còn g i là ọ Fisher Linear Discriminant AnalysisFisherface là m t phộ ương pháp làm vi c v i t pệ ớ ậ Training mà m i đ i tỗ ố ượng có nhi u nh m t các đi u ki n khác nhau). Sau khiề ả ặ ở ề ệ
th c hi n chi u t p Reference vào không gian con, h th ng l u l i k t qu là m tự ệ ế ậ ệ ố ư ạ ế ả ộ
ma tr n v i m i c t c a ma tr n là m t vector tậ ớ ỗ ộ ủ ậ ộ ương ng v i nh (đ nh danh đãứ ớ ả ị
bi t) đ th c hi n nh n d ng (hay phân l p). Nh n d ng (hay phân l p) đế ể ự ệ ậ ạ ớ ậ ạ ớ ược th cự
hi n v i t p các nh kh o sát, sau khi ti n x lý xong, m i nh s đệ ớ ậ ả ả ề ử ỗ ả ẽ ược áp d ngụ
phương pháp trích ch n đ c tr ng (nh v i các nh thu c t p training vàọ ặ ư ư ớ ả ộ ậ Reference) và được chi u vào không gian con. Ti p đ n vi c phân l p s d a trênế ế ế ệ ớ ẽ ự
phương pháp kNN, đ nh danh c a m t nh c n xác đ nh s đị ủ ộ ả ầ ị ẽ ược gán là đ nh danhị
c a nh có kho ng cách (distance) g n v i nó nh t. đây c n l u ý là m i nh làủ ả ả ầ ớ ấ Ở ầ ư ỗ ả
m t vector nên có th dùng khái ni m hàm kho ng cách gi a hai vector đ đo sộ ể ệ ả ữ ể ự khác bi t gi a các nh.ệ ữ ả
ng d ng c a nh n di n khuôn m t ng i:
H th ng tệ ố ương tác gi a ngữ ười và máy: giúp nh ng ngữ ườ ị ậi b t t ho c khi mặ ế khuy t có th trao đ i. ế ể ổ
H th ng quan sát, theo dõi và b o v ệ ố ả ệ
Th căn cẻ ước, ch ng minh th nhân dân (Face Indentification).ứ ư
Tìm ki m và t ch c d li u liên quan đ n con ngế ổ ứ ữ ệ ế ười thông qua khuôn m tặ
người trên nhi u h c s d li u l u tr th t l n, nh internet, các hãngề ệ ơ ở ữ ệ ư ữ ậ ớ ư truy n hình.ề
Trang 6ng d ng trong video phone.
Ứ ụ
Phân lo i trong l u tr hình nh trong đi n tho i di đ ng. ạ ư ữ ả ệ ạ ộ
Ki m tra tr ng thái ngể ạ ười lái xe có ng g t, m t t p trung hay không, và hủ ậ ấ ậ ỗ
tr thông báo khi c n thi t.ợ ầ ế
Trong lĩnh v c thi t k đi u khi n robot.ự ế ế ề ể
Ph ươ ng pháp nh n di n khuôn m t ng ậ ệ ặ ườ i:
D a vào nh ng đ c đi m c a phự ữ ặ ể ủ ương pháp nh n di n khuôn m t 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:
Hướ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 vkhuôn m t thành các lu t. Thông thặ ậ ường các lu t mô t m i quan h gi aậ ả ố ệ ữ các đ c tr ng.ặ ư
Hướng ti p c n d a trên các đ c tr ng không thay đ i: M c tiêu c a cácế ậ ự ặ ư ổ ụ ủ thu t toán này là đi tìm các đ c tr ng mô t c u trúc khuôn m t ngậ ặ ư ả ấ ặ ười mà các đ c tr ng này s không thay đ i theo th i gian, và không ph thu c vàoặ ư ẽ ổ ờ ụ ộ
bi u c m khuôn m t, v trí đ t thi t b thu hình hay đi u ki n ánh sáng. ể ả ặ ị ặ ế ị ề ệ
Hướng ti p c n d a trên so m u kh p: Dùng các m u chu n c a khuôn m tế ậ ự ẫ ớ ẫ ẩ ủ ặ
người (các m u này đẫ ượ ực l a ch n và l u tr ) đ mô t cho khuôn m tọ ư ữ ể ả ặ
người hay các đ c tr ng khuôn m t (các m u này ph i đặ ư ặ ẫ ả ược 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 nh ng d li u nh đ a vào và các m u dùng đ xácữ ữ ữ ệ ả ư ẫ ể
đ nh khuôn m t ngị ặ ười
Hướng ti p c n d a trên di n m o: Trái ngế ậ ự ệ ạ ược h n v i so m u kh p, 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 khuôn m t 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.ọ
u và nh c đi m
So v i các công ngh khác ớ ệ
Trong s các k thu tố ỹ ậ sinh tr c h cắ ọ , nh n d ng khuôn m t có th không ph i làậ ạ ặ ể ả
phương pháp đáng tin c y và hi u qu nh t. Tuy nhiên, m t trong nh ng l i thậ ệ ả ấ ộ ữ ợ ế quan tr ng là nó không đòi h i s h p tác c a các đ i tọ ỏ ự ợ ủ ố ượng th nghi m. Các hử ệ ệ
th ng thi t k đố ế ế ượ ắc l p đ t t i các sân bay, khu chung c , và nh ng n i công c ngặ ạ ư ữ ơ ộ
Trang 7khác có th xác đ nh các cá nhân gi a đám đông, mà không b sót m t ai. Sinh tr cể ị ữ ỏ ộ ắ
h c khác nh d u vân tay, quét m ng m t, và nh n d ng gi ng nói không th th cọ ư ấ ố ắ ậ ạ ọ ể ự
hi n đệ ược đi u này. ề
Nh ượ c đi m ể
Nh n d ng khuôn m t còn r t xa m i có th đ t đ n m c đ hoàn h o, ngoài raậ ạ ặ ấ ớ ể ạ ế ứ ộ ả cũng r t khó đ th c hi n phấ ể ự ệ ương pháp này trong các đi u ki n nh t đ nh. Ralphề ệ ấ ị Gross, m t nhà nghiên c u t i Vi n Mellon Robotics Carnegie, mô t m t tr ng iộ ứ ạ ệ ả ộ ở ạ liên quan đ n các góc nhìn c a khuôn m t: "Nh n d ng khuôn m t đã th c hi nế ủ ặ ậ ạ ặ ự ệ
được khá t t phía m t trố ở ặ ước và phía chênh l ch 20 đ , nh ng ngay sau khi b n điệ ộ ư ạ
Thách th c đ i v i nh n di n khuôn m t: ứ ố ớ ậ ệ ặ
Hi n nay các v n đ sau đệ ấ ề ược coi là thách th c l n (ch a có phứ ớ ư ương pháp t i ốu) đ i v i nh n d ng m t:
ư ố ớ ậ ạ ặ
S thay đ i hự ổ ướng khuôn m t: k t qu v i các nh có hặ ế ả ớ ả ướng thay đ i (,ổ không ph i chính di n) còn khá khiêm t n.ả ệ ố
Đ phân gi i th p: nh thu độ ả ấ ả ượ ừc t các camera giám sát thường có kích
thước và ch t lấ ượng r t r t th p, các k t qu nghiên c u v lĩnh v c nàyấ ấ ấ ế ả ứ ề ự còn ch a nhi u.ư ề
Nh n di n khuôn m t d a trên video: v i s phát tri n c a các phậ ệ ặ ự ớ ự ể ủ ương ti nệ multimedia, thông tin m t ngặ ười trong các d li u video là vô cùng nhi u, tuyữ ệ ề nhiên h u h t các phầ ế ương pháp nh n d ng v n làm vi c v i nh tĩnh tríchậ ạ ẫ ệ ớ ả
xu t t d li u video, ch a có phấ ừ ữ ệ ư ương pháp t t t n d ng h t u th c a dố ậ ụ ế ư ế ủ ữ
Trang 8Đi u ki n lão hóaề ệ : vi c nh n d ng nh m t thay đ i theo th i gian th c sệ ậ ạ ả ặ ổ ờ ự ự
v n còn là m t v n đ l n ngay c đ i v i kh năng nh n d ng c a conẫ ộ ấ ề ớ ả ố ớ ả ậ ạ ủ
người
Đi u ki n sáng: là m t trong nh ng thách th c l n nh t c a nh n d ng m t,ề ệ ộ ữ ứ ớ ấ ủ ậ ạ ặ
ch a có phư ương pháp t t cho các nh ch p đi u ki n ngoài tr i.ố ả ụ ở ề ệ ờ
II. THU T TOÁN PCA.Ậ
Phân tính thành ph n chính (Principal component analysis) hay còn g i là PCA làầ ọ
m t trong nh ng k t qu đ p t vi c áp d ng đ i s tuy n tính. PCA độ ữ ế ả ẹ ừ ệ ụ ạ ố ế ược sử
d ng nhi u trong các khuôn m u phân tích b i vì nó là phụ ề ẫ ở ương pháp không c nầ tham s và đ n gi n cho vi c trích xu t thông tin thích h p t các t p d li uố ơ ả ệ ấ ợ ừ ậ ữ ệ không rõ ràng. PCA cung c p m t hấ ộ ướng đi cho vi c làm th nào đ h n ch m tệ ế ể ạ ế ộ
t p d li u ph c t p t i m t t p d li u v i s chi u nh h n đ hi n ra thông tinậ ữ ệ ứ ạ ớ ộ ậ ữ ệ ớ ố ể ỏ ơ ể ệ
n d i t p d li u không rõ ràng đó
ẩ ướ ậ ữ ệ
Thông thường đ hi u rõ m t hi n tể ể ộ ệ ượng nào đó, ta thường đo lường m t vàiộ
đ i lạ ượng trong h th ng. Ta có th không tính toán đệ ố ể ược đi u gì đã x y ra do dề ả ữ
li u đo đệ ượ ấc r t mù m , không rõ ràng, s lờ ố ượng các bi n đo lế ường có th r t l nể ấ ớ
và t i các th i đi m d gây nh m l n. Ví d nh v i m t h th ng đ n gi n ta chạ ờ ể ễ ầ ẫ ụ ư ớ ộ ệ ố ơ ả ỉ
c n m t vài đo lầ ộ ường đ tính toán h th ng đó, nh ng đó là v i trể ệ ố ư ớ ường h p ta đã cóợ
nh ng kinh nghi m trữ ệ ước đó v h th ng, n u không có kinh nghi m v h th ng,ề ệ ố ế ệ ề ệ ố
thường thì ta s s d ng nh ng hi u bi t đã có đ đo lẽ ử ụ ữ ể ế ể ường h th ng này, nh ngệ ố ư
nh ng hi u bi t này không phù h p v i h th ng nên các phép đo này s d ng m tữ ể ế ợ ớ ệ ố ử ụ ộ
mô hình nhi u chi u h n th c t đ mô t h th ng, gây nên d th a và d li uề ề ơ ự ế ể ả ệ ố ư ừ ữ ệ không rõ ràng. Thu t toán PCA r t h u d ng trong nh ng trậ ấ ữ ụ ữ ường h p này. Nó sợ ẽ
bi n đ i t p d li u đo lế ổ ậ ữ ệ ường d th a, nhi u l n v t p d li u mà bi u di nư ừ ễ ớ ề ậ ữ ệ ể ễ
di n t t nh t (d quan sát nh t, d phân bi t nh t) h th ng. V i m t h th ngễ ố ấ ễ ấ ễ ệ ấ ệ ố ớ ộ ệ ố liên t c và tuy n tính n u ta đ a các đo lụ ế ế ư ường vào m t không gian vector n i màộ ơ
m i th hi n c a h th ng đỗ ể ệ ủ ệ ố ược xem nh m t vector thu c không gian vector đóư ộ ộ thì nó s là t h p tuy n tính c a các vector c s c a không gian vector đó (s cácẽ ổ ợ ế ủ ơ ở ủ ố vector c s là s chi u c a không gian đó). Ta s s d ng m t phép bi n đ iơ ở ố ề ủ ẽ ử ụ ộ ế ổ tuy n tính đ ánh x t p d li u g c vào t p d li u m i và ta mong mu n r ngế ể ạ ậ ữ ệ ố ậ ữ ệ ớ ố ằ
t p d li u m i này s gi m s d th a và nhi u. Nhi m v c a ta là tìm ra phépậ ữ ệ ớ ẽ ả ự ư ừ ễ ệ ụ ủ
bi n đ i này.ế ổ
M t s đ c đi m c a PCA: ộ ố ặ ể ủ
Trang 9Giúp gi m s chi u c a d li u.ả ố ề ủ ữ ệ
Thay vì gi l i các tr c t a đ c a không gian cũ, PCA xây d ng m t khôngữ ạ ụ ọ ộ ủ ự ộ gian m i ít chi u h n, nh ng l i có kh năng bi u di n d li u t t tớ ề ơ ư ạ ả ể ễ ữ ệ ố ươ ng
đương không gian cũ, nghĩa là đ m b oả ả đ bi n thiên ộ ế (variability) c a dủ ữ
li u trên m i chi u m i.ệ ỗ ề ớ
Các tr c t a đ trong không gian m i là t h p tuy n tính c a không gian cũ,ụ ọ ộ ớ ổ ợ ế ủ
do đó v m t ng nghĩa, PCA xây d ng đ c tr ng m i d a trên các đ cề ặ ữ ự ặ ư ớ ự ặ
tr ng đã quan sát đư ược. Đi m hay là nh ng đ c tr ng này v n bi u di n t tể ữ ặ ư ẫ ể ễ ố
su tấ và th ng kêố :
Phương sai c a m tủ ộ bi n ng u nhiênế ẫ là m t đ đo sộ ộ ự phân tán th ng kêố c aủ
bi n đó, nó hàm ý các giá tr c a bi n đó thế ị ủ ế ường cáchở giá tr k v ngị ỳ ọ bao xa
Hi p phệ ương sai là đ đo s bi n thiên cùng nhau c a haiộ ự ế ủ bi n ng u nhiênế ẫ
Hi p phệ ương sai c a hai bi n ng u nhiên X và Y cho bi t m i tủ ế ẫ ế ố ương quan gi aữ
X và Y. Giá tr c a hi p phị ủ ệ ương sai không quan tr ng b ng d u c a nó.ọ ằ ấ ủ
Trang 10N u giá tr hi p phế ị ệ ương sai là dương ch ra r ng X và Y tăng ho c gi mỉ ằ ặ ả cùng nhau.
N u giá tr hi p phế ị ệ ương sai là âm s ch ra r ng X s tăng trong khi Y sẽ ỉ ằ ẽ ẽ
gi m ho c ngả ặ ượ ạc l i
N u giá tr hi p phế ị ệ ương sai b ng không, X và Y đ c l p v i nhau.ằ ộ ậ ớ
Hi p phệ ương sai là công c h u d ng đ tìm m i liên h gi a các chi u trongụ ữ ụ ể ố ệ ữ ề
m t t p d li u có s chi u cao. Hi p phộ ậ ữ ệ ố ề ệ ương sai c a m t bi n b ng phủ ộ ế ằ ương sai
c a bi n đó.ủ ế
Các vector trong không gian vector được xem nh m t bi n ng u nhiên nhi uư ộ ế ẫ ề chi u, m i thành ph n c a vector là m t bi n ng u nhiên vô hề ỗ ầ ủ ộ ế ẫ ướng. Gi s ta cóả ử vector sau
Ma trân hi p phệ ương sai c a c a X có d ng sau.ủ ủ ạ
Ta có nh n xét sau v ma tr n hi p phậ ề ậ ệ ương sai:
Đường chéo ma tr n là các phậ ương sai c a các thành ph n c a vector ng uủ ầ ủ ẫ nhiên X
Các v trí không ph i đị ả ường chéo cho th y m i tấ ố ương quan d li u theo cácữ ệ chi u tề ương ng trong vector ng u nhiên X.ứ ẫ
Ma tr n C là ma tr n đ i x ng.ậ ậ ố ứ
X là vector ng u nhiên nên ta có th nói các thành ph n không ph i đẫ ể ầ ả ường chéo
c a ma tr n C bi u di n m i tủ ậ ể ễ ố ương quan gi a các chi u trong t p d li u. Cácữ ề ậ ữ ệ thành ph n đầ ường chéo bi u di n kh năng phân tán th ng kê c a d li u theoể ễ ả ố ủ ữ ệ chi u tề ương ng. Nh v y đ h th ng có th quan sát và phân bi t rõ ta c n tăngứ ư ậ ể ệ ố ể ệ ầ giá tr phị ương sai và gi m giá tr hi p phả ị ệ ương sai đ gi m nhi u và d th a.ể ả ễ ư ừ Nguyên nhân là do đ bi u di n t t nh t t p d li u thì nhi u và d th a ph i nhể ể ễ ố ấ ậ ữ ệ ễ ư ừ ả ỏ
nh t. ấ
M t đo lộ ường ph bi n cho bi t ch t lổ ế ế ấ ượng d li u là t s tín hi u trên nhi uữ ệ ỉ ố ệ ễ SNR, hay t s c a phỉ ố ủ ương sai
Trang 11SNR cao (1) ch ra r ng d li u có đ chính xác cao, trong khi SNR th p ch raỉ ằ ữ ệ ộ ấ ỉ
d li u nhi m nhi u l n. Trong ma tr n hi p phữ ệ ễ ễ ớ ậ ệ ương sai các thành ph n đầ ườ ngchéo là phương sai d li u theo chi u tữ ệ ề ương ng. Chi u có phứ ề ương sai l n tớ ươ ng
ng v i h th ng thay đ i r t nhi u v i chi u này t c nghĩa là nó ph thu c r t
nhi u vào nh ng chi u này nên ta có th coi đây là các thành ph n , còn chi u cóề ữ ề ể ầ ề
phương sai nh thì h th ng thay đ i r t ít theo chi u đó nên ta có th coi nh vàỏ ệ ố ổ ấ ề ể ư
c n lo i b (do nh ng thành ph n nhi u thầ ạ ỏ ữ ầ ễ ường thay đ i r t ít xung quanh m tổ ấ ộ
h ng s nào đó), và ta cũng có xu hằ ố ướng lo i b các chi u có tính ch t h ng do cácạ ỏ ề ấ ằ chi u này không giúp phân bi t rõ gi a các đo lề ệ ữ ường trong h th ng. M c tiêu c aệ ố ụ ủ chúng ta là tìm ra các chi u m i giúp phân bi t rõ các đo lề ớ ệ ường trong h th ng.ệ ố
Nh ng chi u không giúp phân bi t đ a vào h th ng càng làm cho h th ng khóữ ề ệ ư ệ ố ệ ố
hi u h n. Ta xét ti p hình sauể ơ ế
Trên đây là m t h t a đ hai chi u và , các ch m đen là các đi m trong h t aộ ệ ọ ộ ề ấ ể ệ ọ
đ và bi u di n v trí m t v t nào đó trong h t a đ 2 chi u, độ ể ễ ị ộ ậ ệ ọ ộ ề ường nét đ t làứ
đường th ng . Hình a). bi u di n m c đ d th a trong t p quan sát th p nh t.ẳ ể ễ ứ ộ ư ừ ậ ấ ấ Hình c). bi u di n m c đ d th a trong t p quan sát là nhi u nh t. Trong hình c)ể ễ ứ ộ ư ừ ậ ề ấ
ta nh n th y v trí c a v t g n nh n m trên đậ ấ ị ủ ậ ầ ư ằ ường th ng, nh v y thay vì bi uẳ ư ậ ể
di n v trí c a v t trong hình c) b ng h t a đ 2 chi u thì ta ch c n bi u di n vễ ị ủ ậ ằ ệ ọ ộ ề ỉ ầ ể ễ ị trí theo m t tr c t a đ song song v i độ ụ ọ ộ ớ ường th ng . Vi c bi u di n b ng hai tr cẳ ệ ể ễ ằ ụ
t a đ đây là d th a và không c n thi t. Nh v y n u d li u bi u di n theo 2ọ ộ ở ư ừ ầ ế ư ậ ế ữ ệ ể ễ chi u mà ph thu c tuy n tính vào nhau thì s x y ra tình tr ng d th a. Đ tránhề ụ ộ ế ẽ ả ạ ư ừ ể tình tr ng d th a trong bi u di n d li u thì thì hay m i tạ ư ừ ể ễ ữ ệ ố ương quan gi a cácữ chi u là b ng không.ề ằ
Nh v y đ bi u di n t t h th ng thì ma tr n hi p phư ậ ể ể ễ ố ệ ố ậ ệ ương sai c a vector dủ ữ
li u ph i có các thành ph n đệ ả ầ ường chéo có giá tr khác không và các thành ph nị ầ không thu c độ ường chéo có giá tr b ng không, nói cách khác ma tr n hi p phị ằ ậ ệ ươ ngsai ph i là ả ma tr n chéo. ậ Nh c đ n ma tr n chéo làm ta liên tắ ế ậ ưởng t i các bài toánớ chéo hóa ma tr n trong đ i s tuy n tính.ậ ạ ố ế
Tr l i v i công th c (1). Ma tr n hi p phở ạ ớ ứ ậ ệ ương sai c a Y có d ng.ủ ạ
Trang 12, đây và là ma tr n đ i x ng. là ma tr n hi p phỞ ậ ố ứ ậ ệ ương sai c a X.ủ
Nh v y ta ph i tìm ư ậ ả P đ là ma trân chéo. T công th c trên ta th y bài toán trể ừ ứ ấ ở
v các bài toán chéo hóa trong đai s tuy n tính – Tìm ma tr n ề ố ế ậ P đ là ma trânể chéo. Trong đ i s tuy n tính, m t ma tr n đ i x ng chéo hóa đạ ố ế ộ ậ ố ứ ược b i m t maở ộ
tr n các ậ vector riêng tr c giao c a nó. Nh v y ự ủ ư ậ P ph i là m t ma tr n tr c giao v iả ộ ậ ự ớ các hàng là các vector riêng c a ủ A. Ta có đ nh nghĩa v vector riêng và giá tr riêngị ề ị
nh sau: ư
đ ượ c g i là giá tr riêng c a ma trân n u t n t i không đ ng th i b ng 0 sao ọ ị ủ ế ồ ạ ồ ờ ằ cho:
Khi đó đ ượ c g i là vector riêng ng v i giá tr riêng ọ ứ ớ ị
Trong đ i s tuy n tính ngạ ố ế ười ta đã ch ng minh đứ ượ ằc r ng ma tr n chéo hóa tậ ừ
ma tr n ậ A có các thành ph n đầ ường chéo là các giá tr riêng c a ị ủ A. Nh v y ma tr nư ậ ậ
hi p phệ ương sai c a ủ Y có các thành ph n đầ ường chéo là các giá tr riêng c a ị ủ A
tương ng v iứ ớ các vector hàng c a ủ P là các vector riêng c a ủ A. Ta mong mu n thànhố
ph n đầ ường chéo c a ma tr n hi p phủ ậ ệ ương sai c a ủ Y càng l n càng t t. Nh v y taớ ố ư ậ
ch l a ch n các giá tr riêng l n nh t và các vector riêng tỉ ự ọ ị ớ ấ ương ng v i giá tr riêngứ ớ ị
đó cho thành ph n đầ ường chéo c a và ma tr n ủ ậ P.
Nói tóm l i, phạ ương pháp PCA quy v vi c đi tìm tr riêng (eigenvalues) vàề ệ ị vector riêng (eigenvectors) c a ma tr n hi p phủ ậ ệ ương sai C c a t p m u ủ ậ ẫ X. Sau đó,
ta ch gi l i ỉ ữ ạ K vector riêng ng v i ứ ớ K tr riêng l n nh t đ làm c s cho khôngị ớ ấ ể ơ ở gian m i này.ớ
III. THU T TOÁN PCA TRONG NH N DI N M T NGẬ Ậ Ệ Ặ ƯỜI
PCA được phát minh năm 1901 b i Karl Pearson, là m t th t c han ch bi nở ộ ủ ụ ế ế khi thu được m t t p d li u có s d th a. Thu t toán này giúp cho vi c h n chộ ậ ữ ệ ự ư ừ ậ ệ ạ ế các bi n vào m t s lế ộ ố ượng nh h n các bi n khác đỏ ơ ế ược g i là các ọ thành ph n ầ
Trang 13chính. Khi th c hi n nh n di n nh s lự ệ ậ ệ ả ố ượng nh và kích thả ướ ảc nh là m t v n độ ấ ề
l n trong không gian nhi u chi u. M c tiêu c a PCA trong nh n di n khuôn m t làớ ề ề ụ ủ ậ ệ ặ
h n ch chi u c a d li u b ng cách d l i càng nhi u s bi n thiên có th càngạ ế ề ủ ữ ệ ằ ữ ạ ề ự ế ể
t t trong t p d li u g c (đi u này nó th làm m t thông tin). Không gian h n chố ậ ữ ệ ố ề ể ấ ạ ế chi u t t nh t s đề ố ấ ẽ ược xác đ nh b i các thành ph n chính t t nh t.ị ở ầ ố ấ
Nh n di n khuôn m t s d ng PCA trong phậ ệ ặ ử ụ ương pháp khuôn m t riêng, giúpặ cho v c gi m kích thệ ả ước c a c s d li u cho nh n di n nh thông qua lo i bủ ơ ở ữ ệ ậ ệ ả ạ ỏ các vector riêng b ng không và các vector riêng ng v i các giá tr riêng r t nh ,ằ ứ ớ ị ấ ỏ
đ ng th i làm n i b t nét đ c tr ng nh, tăng kh năng phân bi t nh do vi cồ ờ ổ ậ ặ ư ả ả ệ ả ệ
gi m m i tả ố ương quan gi a các chi u trong t p d li u nh hu n luy n, hay nóiữ ề ậ ữ ệ ả ấ ệ cách khác làm căng không gian vector nh hu n luy n, nh đó mà b ng cách tínhả ấ ệ ờ ằ kho ng cách ng n nh t v i nh c n nh n d ng ta có th d d ng tìm đả ắ ấ ớ ả ầ ậ ạ ể ễ ạ ượ ả c nh
tương t trong c s d li u. ự ơ ở ữ ệ
Trong phương pháp này nh đả ượ ưc l u tr nh các vector đ c tr ng trong c sữ ư ặ ư ơ ở
d li u, đữ ệ ược th c hi n b ng cách ánh x m i nh hu n luy n vào không gianự ệ ằ ạ ỗ ả ấ ệ khuôn m t riêng. Các đ c tr ng này có th có ho c không liên quan v i các đ cặ ặ ư ể ặ ớ ặ
tr ng thu c v khuôn m t nh m t, mũi, mi ng hay tóc. nh nh n di n đư ộ ề ặ ư ắ ệ Ả ậ ệ ượ cchi u vào không gian khuôn m t riêng và so sánh v i nh trong c s d li u.ế ặ ớ ả ơ ở ữ ệ
Phương pháp khuôn m t riêng là m t phặ ộ ương pháp hi u qu đệ ả ược s d ngử ụ trong nh n di n khuôn m t do tính đ n gi n, t c đ nhanh và kh năng h c c a nó.ậ ệ ặ ơ ả ố ộ ả ọ ủ Các khuôn m t riêng là các thành ph n chính c a m t s phân b khuôn m t, hayặ ầ ủ ộ ự ố ặ nói cách khác, nó là các vector riêng c a ma tr n hi p phủ ậ ệ ương sai c a nh khuônủ ả
m t n i mà m i nh khuôn m t ặ ơ ỗ ả ặ NN pixel được coi nh m t đi m trong không gianư ộ ể chi u. M i nh hu n luy n tề ỗ ả ấ ệ ương ng v i m t vector riêng, cũng nh ta có th coiứ ớ ộ ư ể các vector riêng nh m t lo i khuôn m t. M i nh khuôn m t có th bi u di nư ộ ạ ặ ỗ ả ặ ể ể ễ chính xác b i t h p tuy n tính c a các khuôn m t riêng. S lở ổ ợ ế ủ ặ ố ương có th c a cácể ủ khuôn m t riêng b ng v i s lặ ằ ớ ố ượng nh khuôn m t trong t p hu n hi n. Các khuônả ặ ậ ấ ệ
m t cũng có th bi u di n g n đúng b ng cách s d ng khuôn m t riêng t t nh t,ặ ể ể ễ ầ ằ ử ụ ặ ố ấ cái mà tương ng v i các giá tr riêng l n nh t, đ i di n cho phứ ớ ị ớ ấ ạ ệ ương sai l n nh tớ ấ
gi a t p các nh. ữ ậ ả
Các b ướ c nh n di n nh s d ng PCA ậ ệ ả ử ụ
1. Bi u di n l i nh khuôn m tể ễ ạ ả ặ
Trang 14T p hu n luy n v i m nh kích thậ ấ ệ ớ ả ướ MN đc ược bi u di n l i thành các vectorể ễ ạ kích thướ MN. Đ đ m b o tính chính xác thì m i khuôn m t đc ể ả ả ỗ ặ ược ch p nhi uụ ề
V i b là ma tr n c n thay đ i, m, n là s hàng và c t c a ma tr n m i. m, nớ ậ ầ ổ ố ộ ủ ậ ớ
đượ ực l a ch n sao cho s thành ph n c a ma tr n g c ph i b ng v i s thànhọ ố ầ ủ ậ ố ả ằ ớ ố
ph n c a ma tr n thay đ i kích thầ ủ ậ ổ ước
2. Tìm nh trung bình và nh trung bình chu n hóaả ả ẩ
nh khuôn m t trung bình là trung bình c ng các nh đ c tính b i công th c:
Trang 15t=mean(y,2); % Tính , các cột của y tương ứng
3. Tính ma tr n hi p phậ ệ ương sai
Ta coi m i nh tỗ ả ương ng v i m t th hi n c a m t l n ch p nh hay tứ ớ ộ ể ệ ủ ộ ầ ụ ả ươ ng
ng v i m t đo l ng. Vector nh là m t vector ng u nhiên và m i m t l n ch p
là m t th hi n c a vector ng u nhiên đó. Gi s ta có ộ ể ể ủ ẫ ả ử A là m t ma tr n v i các c tộ ậ ớ ộ
là các vector . Nh v y đ tính m i tư ậ ể ố ương quan gi a các chi u c a vector nh ng uữ ề ủ ả ẫ nhiên ta co công th c tính ma tr n hi p phứ ậ ệ ương sai sau
. A là m t ma tr n v i các c t là các vector .ộ ậ ớ ộ
A có MN hàng và m c t ộ , do đó ma tr n ậ C có kích th ướ (MN) (MN) r t l n gâyc ấ ớ khó khăn cho các tính toán phía sau. M t cách đ n gi n h n là tính , ma tr n này chộ ơ ả ơ ậ ỉ
có kích thước . Nh ng ta c n tính toán các vector riêng c a ma tr n ư ầ ủ ậ C nên ta s bi nẽ ế
đ i công th c nh sau:ổ ứ ư
Nh v y các vector riêng c a ma tr n ư ậ ủ ậ C b ng v i là vector riêng c a ma tr n .ằ ớ ủ ậ
Do đó đ tính các vector riêng c a ma tr n ể ủ ậ C có kích th ướ (MN) (MN) đ u tiên tac ầ tính các vector riêng c a ma tr n sau đó nhân trái ma tr n ủ ậ ậ A, . Đi u này giúp đ nề ơ
gi n trong vi c tính toán.ả ệ
Trang 164. Không gian khuôn m t riêngặ
Các vector riêng c a ma tr n là đủ ậ ược kí hi u là . Khi ta bi n đ i l i kích th cệ ế ổ ạ ứ
c a ngủ ượ ạc l i thành kích thướ ảc nh, nó gi ng nh m t nh khuôn m t nh ng khóố ư ộ ả ặ ư nhìn h n và đơ ược g i là các khuôn m t riêng. M i vector riêng ng v i m t khuônọ ặ ỗ ứ ớ ộ
m t riêng trong không gian khuôn m t, các vector riêng b ng vector 0 đặ ặ ằ ược lo i bạ ỏ
do đó cũng làm h n ch không gian khuôn m t t i m t m c đ nào đó. M t nhạ ế ặ ớ ộ ứ ộ ộ ả khuôn m t có th đặ ể ược chi u vào không gian khuôn m t riêng b ng công th c.ế ặ ằ ứ
Trong đó U là ma tr n chuy n đ i có các c t là các vector riêng đã tìm đậ ể ổ ộ ược. là
nh trung bình chu n hóa c a nh khuôn m t c n chi u
Trong matlab ta có hàm eig tr v giá tr riêng và vector riêng c a m t ma tr nả ề ị ủ ộ ậ nào đó. Cú pháp nh sau ư [b c] = eig(A) trong đó b là m t ma tr n v i các c t làộ ậ ớ ộ vector riêng, c là m t ma tr n v i các thành ph n độ ậ ớ ầ ường chéo là các giá tr riêngị
tương ng v i các vector riêng trong b.ứ ớ
Đ có th chéo hóa tr c giao để ể ự ược ma tr n đ i x ng thì ta c n tr c chu n hóaậ ố ứ ầ ự ẩ
h các vector riêng nh n đệ ậ ược. Trong matlab có hàm orth tr v ma tr n là h cácả ề ậ ệ vector tr c chu n v i m i vector tự ẩ ớ ỗ ương ng v i các c t c a ma tr n.ứ ớ ộ ủ ậ
Trong đó là m t vector mô t l p khuôn m t th ộ ả ớ ặ ứ k. M t khuôn m t độ ặ ược xác
đ nh là thu c l p ị ộ ớ k n u nh nh nh t và dế ỏ ỏ ấ ưới m t m c ngộ ứ ưỡng T ch n trọ ướ c
Ngượ ạ ược l i đ c coi là không thu c l p ộ ớ k.
Trong trường h p các nh tợ ả ương đ i gi ng nhau, v n có m t s nh khôngố ố ẫ ộ ố ả
ph i nh c n nh n di n l t dả ả ầ ậ ệ ọ ưới ngưỡng, khi đó có th gây nh m l n trong quáể ầ ẫ trình nh n di n. Đ lo i b đi u này ta s d ng thu t toán láng gi ng g n nh t. Taậ ệ ể ạ ỏ ề ử ụ ậ ề ầ ấ
s xem xét kho ng cách t nh c n nh n d ng t i m i nh mà dẽ ả ừ ả ầ ậ ạ ớ ỗ ả ưới ngưỡng. Do