Xây dựng không gian đặc trưng

Một phần của tài liệu Một số kỹ thuật vector tựa (SVM) trong khai phá dữ liệu và ứng dụng vào nhận dạng (Trang 69)

23 .2.2 Tim ra các luật

6.1.1 Xây dựng không gian đặc trưng

Trong cài đặt thử nghiệm, chúng tôi sử dụng bộ dữ liệu ảnh khuôn mặt của ORL. Dữ liệu bao gồm 400 ảnh của 40 người khác nhau, mỗi người có 10 ảnh với các góc độ, trạng thái tình cảm khác nhau. Các ảnh khuôn mặt đều là ảnh đen trắng và có kích thước cao X rộng là 112x92. Tập dữ liệu được chia thành hai phần dừ liệu huấn luyện và dữ liệu kiểm tra, mỗi phần gồm 200 ảnh của 10 người khác nhau.

Hình 6. ỉ : Anh của một người trong dữ liệu ảnh ORL

Đe giảm số chiều khi xây dựng không gian đặc trưng, chúng ta tiến hành giảm kích thước ảnh bằng cách thu nhỏ ảnh xuống kích thước 33x27. Ta coi các ảnh là các ma trận, giá trị của các phần tử trong ma trận là giá trị mức xám của của các điểm ảnh nằm trong khoảng [0,255]. Khi đó, các ảnh sẽ được chuyển thành các vector có số chiều là 33x27=891 bàng cách chuyển từng hàng của ma trận vào vector. -4 7 7 9 ... 7 6 • 7 9 • • 1 3 2 ... • 1 2 7 • ♦ = [ 4 7 7 9 ... 7 9 ] -43 7 6 - 7 9 -

Để giảm số chiều trong không gian dữ liệu, ta tiến hành trích rút đặc trưng theo phương pháp PCA và ánh xạ các dữ liệu ban đầu vào không gian đặc trưng. Ta tiến hành các bước sau :

1) Từ không gian vector dữ liệu ban đầu ta tìm ra vector trung bình mẫu

2) Xây dựng ma trận hiệp phương sai kích thước N X N, N =891

3) Tìm vector riêng và giá trị riêng từ ma trận hiệp phương sai ta có 891 giá trị riêng và tương ứng là 891 vector riêng

5) Chiếu các vector ban đầu vào không gian đặc trung K chiều ta thu được không gian đặc trưng mới gồm các vector K chiều.

Như vậy, qua phép biến đổi ảnh và biến đổi PCA ta đã thu được một không gian đặc trưng mới có kích thước nhỏ hơn nhiều so với không gian dữ liệu lúc ban đầu, từ 1 12x92=10304 chiều xuống còn K chiều (0<K<N). Ví dụ, nếu ta chọn K=100 thì có nghĩa là số chiều trong không gian dừ liệu đã giảm xuống hơn 100 lần. Đối với các bài toán có liên quan đến dừ liệu ảnh thì kích thước của dừ liệu là một vấn đề lớn cần giải quyết, vì kích thước dữ liệu sẽ kéo theo kích thước bộ nhớ lớn và thời gian chạy thuật toán lâu hơn.

Bây giờ, trong không gian đặc trưng mồi vector được gán một nhãn thể hiện rằne vector đó thuộc về lớp nào, tương ứng với ảnh khuôn mặt cùa cá nhân nào. Ví dụ vector sau có nhãn là 1 có các đặc trưng theo thứ tự là :

1 : 3 1 7 2.3 5 7 6 6 9 4 2 6 2 6, 2:1 8 7.6 9 3 3 8 9 5 8 1 1 0 5, 3: -2 6 5.4 6 3 7 7 0 1 3 0 7 5 8, 9 9:- 4.5 4 7 2 2 4 5 6 1 6 1 5 5 1, 1 0 0:6 0 . 5 8 2 9 2 6 1 4 3 5 0 1 1 6.1.2 Huấn luyện nhận dạng

Như ta đã biết, kỹ thuật vector tựa rất mạnh trong phân lớp nhị phân với khả năng tổng quát cao. Vì thế kỹ thuật này thường được sử dụng trong bài toán tìm khuôn mặt, với hai lớp dừ liệu rõ ràng là ảnh khuôn mặt và các ảnh khác khônç phải là ảnh khuôn mặt. Còn trong bài toán nhận dạng khuôn mặt, có rất nhiều lớp khác nhau. Trong thực nghiệm này là 40 lớp, do đó để có kết quả chính xác cao đồng thời phát huy được thế mạnh của kỹ thuật vector tựa thì ta sẽ chia dữ liệu thành một cây nhị phân tìm kiếm. Mỗi lần đối sánh ta sẽ chọn ra được một lớp gần với lớp cần nhận dạng nhất. Kết quả cuổi cùng sẽ cho ta biết được lớp gần với lớp nhận dạng nhất trong không gian dữ liệu. Do đó, nếu dừ liệu huấn luyện có N mẫu thì ta cần N (N -l)/2 lần đối sánh. Ví dụ, với N=8 :

Hình ố. 2 Phân lớp sử dụng cây phân ỉớp nhị phản

Bên cạnh cách tiếp cận sử dụng cây phân lớp nhị phân, ta có thể sử dụng khả năng phân nhiều lớp của kỹ thuật vector tựa. Tuy nhiên, để tối ưu thời gian chạy của chương trình cũng như để có kết quả tốt, ta có thể sử dụng thuật toán phân lớp với nhiều lớp của bộ phân ỉớp sử dụng kỹ thuật vector tựa.

Hình 6.3 Phân nhiều lớp với sổ lớp là 4

Các dạng hàm hạt nhân được sử dụng :

RBF : k ( x ,y ) = e - si9ma\\x-yịị2

Polynomial : K (x,y) = (sigma x f. y + c o e ff) degree.

Linear : K (x,y) = x '.y

Hệ thống được xây dựng trên ngôn ngữ lập trình c Shaip.NET và hệ quản trị cơ sở dữ liệu Microsoft SQL 2000, để thuận tiện cho việc cài đặt thì các ảnh đều được chuyển về dạng ảnh ma trận *.pgm. Các lần chạy thử nghiệm cho thấy, nếu như ta sử dụng hạt nhân RBF thì số các vector tựa tìm được là lớn nhất (thườne là bằng số mẫu hạt nhân ), còn đối với các hạt nhân khác như : Polynomial, Linear, Sigmoid thì số vector tựa tìm được ỉà ít hơn. Việc lựa chọn chiến lược phân lớp theo cây nhị phân làm cho thuật toán chạy nhanh nhất, trong khi đó với việc chọn cách phân lớp nhiều lớp thì thuật toán chạy lâu hơn, tỉ iệ thuận với số lớp trong một lần phân lớp. Đối với việc nhận dạng một ảnh mặt người có thể có trường hợp nhầm lẫn, nhưng nếu ta chọn hạt nhân khác hay chọn dạng vector tựa khác thì vẫn cho kết quả chính xác. Nói chung, với bộ dữ liệu của ORL và với tất cả các dạng của kỹ thuật vector tựa cũng như các hạt nhân đã nêu thì kết quả nhận dạng đúng là từ 98% -100%

Sau đây là các giao diện chính của hệ thống:

6.2 Xây dựng hệ thống nhận dạng

[;g3 Nhện kh u ỏn niỊit b k n g phưovig p h á p SVMs - £Dữ nệu h u ã n lu y ện )

D anh « á c h ỉítintí Gđ ^

Ị v/iiú q rn

View Windows Help

People

ID Person FiiSlname Midname Raymond Richard RonaJd Scott Steven Stuart Thomas Change Delete Recofd : 40 Add Class Ffom Folder

W«H»am40_5.pgm

Wüam40_4.pgrri

Wi!fcarn40_3.pgm WiBiam40_2 pgm

Witlidn40„1.pgm

Add Chônye Save Dfrlele

Status

R e c o f d .

r

ỊjỊj Nhện dạng khuôn m ặt bằng phương pháp SVMs - [Oil* Rệu kiếm tra ]

0 ;r Dữrtệu View Windows Help Classes 10 Tên lap T én 7 cri đ sm Họ Wiiliam

Danh sách trong cd sồ dO Itèu kiểm (ra

Add Change Save Delete Add Class From Folde* Extract Feature

iD_Pe(son Rfstname Midname Lastname 34 Richafd M (nuM) 35 Ronald hufl) (null) 36 Seo» (nwfl) (nufiî 37 Steven inuM) (nuH| 38 Sluaft [nji] (nufij 39 Thomas (nui) inuK)

40 iw iiam (nufli lirait)

Record : 40 Change Delete WiBiôm40- 3 pgm C o rre c t a * 4 0 V/Mam40_4.pgm C o rre c t a s 4 0 Record : Status WiBtam40_5.pgm C o rre c t ù t 4 0 V/ilhôo40_1.pgm C o rre c t 35 4 0 V/iUiafn40_2.pgm C o r r e c t a* 4 0 t f

Hình 6.5 : Dữ liệu kiêm tra và các kêt nhận dạng

ĩì§ Nhặn dạng khuôn mặt bàng phương pháp SVMs View . -Windows

Bfowse Classify Test Set

PCA Feature Save features to file Update Fedtufe irom file Add closes identify Resells Afcce! t.pgm Alice! 2.pgm 12/22/2038 4:28:48PM ... 12/22/2008 4:27:00 PM =00:00:11.9062500 Status Abce1_4pgm Afice1_5pgm PC A parameters - Exlfâcl features

Numbei eigenfaces lo keep 80

probability

cross

p Ịtti

weight 0

- [Dang phan lop voi : D:\c Sharp Prj\lmp\2.pgm}

Identify Face Svrn Diameters svmtype |Cr SVC kernel type Rgp degree 2 gamma 0 predict probability ' 0 coefO jo Svm liaining pdfameter ceche_siz© c eps shrinking 11

KÉT LUẬN

Khai phá dừ liệu và máy học là một chuyên ngành lớn của công nghệ thông tin, ngàv càng thu hút được nhiều người quan tâm nghiên cứu, phát triển. Kỹ thuật vector tựa là một trong nhiều các phương pháp phân lớp được chửng minh là có hiệu quả với phân lớp nhị phân và có tính tồng quát cao. Luận văn đã tìm hiểu được các dạng cơ bản nhất của kỹ thuật vector tựa đó là phân lóp tuyến tính, phân lớp nhiều lcýp và phân lớp với lề mềm.

Sau một thời gian phát triển, kỹ thuật vector tựa đã được dùng kết hợp với các phương pháp khác để giảm lỗi trong huấn luyện và kiểm tra. Ta có thể thấy có sự kết hợp của kỹ thuật vector tựa với suy diễn mờ với k-láng giềng gần nhất, với thuật aiải di truyền,.. .Bằng cách kết hợp với các phương pháp khác trong các bài toán cụ thể, kỹ thuật vector tựa đã khẳng định được nó là một trong những bộ phân lớp hiệu quả.

Bên cạnh việc trình bày các kiến thức cơ sở liên quan đến kỹ thuật vector tựa cũng như trình bày về các dạng của kỹ thuật vector tựa, chúng tôi đã cài đặt thành công hệ thống nhận dạng khuôn mặt người sử dụng bộ phân lớp SVM. Tuy nhiên, để cài đặt thử nghiệm đó mang tính ứng dụng cao hơn thì chúng tôi phải cần cải tiến thêm để tăng tổc độ của thuật toán cùng như thử nghiệm với số lượng dữ liệu lớn hơn.

Trong tương lai, chúng tôi sẽ nghiên cứu và cài đặt ứng dụng của SVM trong việc tìm kiếm khuôn mặt, vì việc phân lớp nhị phân là một thế mạnh của SVM.

HT"» ' 1 I ■ Ạ 1 ___ 1 7* A .

Tài liệu tiêng Việt

1. Phạm Thế Bảo, Nguyền Thành Nhựt, Cao Minh Thịnh, Trần Anh Tuấn, Phan Phúc Doãn (2007) “Tông quan các phương pháp xác định khuôn mặt

người”, FAIR 2007, Nha Trang.

2. Lê Thanh Hà, Ngô Quốc Tạo(2005), “Một số kết quả ứng dụng SVMs cho nhận dạng mặt người”, Một số vấn đề chọn lọc của công nghệ thông tin, Hải Phòng.

3. Phạm Quốc Tạo, Phạm Văn Hùng, Nguyền Mạnh Thao (2006) “ủ n g dụng SVM cho hệ thong nhận dạng chừ quang học”, Hội thảo công nghệ thông tin quốc gia, Đà Lạt.

' • I » Ạ J * Ẩ i *

Tài liệu tiêng Anh

1. Arindam Choudhury, Prasanth B. Nair, Andy J. Kean (2006), “Constructing a speculative” kernel machine for pattern classification”, Neural Network.

2. Bernhard Scholkopf, Isabelle Guyon, Jacson Weston “Statistical Learning and Kernel Methods in Bioinformatics”

3. Bernhard Scholkopf, Alexander J. Smola (2001) Support Vector Machines,

Regulation, Optimization, and Beyon, The MIT Press, pp 25-146, 187-222.

4. Christopher J.c. Burges (1998) “A tutorial on Support Vector Machines for Pattern Recognition”, Data Mining and Knowledge Discovery 2,121-167. 5. Chih-Chung Chang, Chih-Jen Lin (2007) “ Libsvm : a Library for Support

Vector Machines”

6. Edgar Osuna, Robert Freund, Federico Girosi (1997) “An Improved Training Algorithms for Support Vector Machines”, Pro. o f IEEE NNSP’s97, Amelia Island, FL, 24-26 Sep., 1997

7. Marti A. Hearst (1998) “Support Vector Machines”, IEEE interlligent systems

8. Nello Cristianini, John Shawe-Taylor (2000) An Introduction to Support

Vector Machines and Other Kernel-based Learning Methods, Cambridge

University Press, Chapter 8.

9. Tom Mitchell (1999), Machine Learning and Data Mining, Communications

o f ACM, Vol 42,pp 30-36.

10. u . M. Fayyad, G. Piatetsky-Shapiro, p.Smyth, R. Uthurusamy (1996)

Advances in Knowledge Discovery and Data Mining, AAAI Press, Menlo

Park, CA.

Một phần của tài liệu Một số kỹ thuật vector tựa (SVM) trong khai phá dữ liệu và ứng dụng vào nhận dạng (Trang 69)

Tải bản đầy đủ (PDF)

(76 trang)