Kỹ thuật trích chọn đặc trưng kết hợp biến đổi DCT và thuật toán

Một phần của tài liệu (LUẬN văn THẠC sĩ) một số kỹ thuật trích chọn đặc trưng chữ viết tay trong nhập điểm rèn luyện tự động (Trang 32 - 35)

tích thành phần chính PCA

Khái niệm giá trị riêng và vector riêng được các nhà toán học tìm ra vào cuối thể kỷ 19 đầu thế kỷ 20.Có hàng loạt tính chất quan trọng liên quan đến giá trị riêng và vector riêng, các tính chất này được ứng dụng rất nhiều trong các lĩnh vực kỹ thuật.Dưới đây là một trong các tính chất đó: cho tập dữ liệuX, A là ma trận hiệp phương sai của tập dữ liệu X (A là ma trận vuông). Khi đó tập vector riêng của A là tập các vector trực giao, khi chiếu tập dữ liệu X lên tập các vector riêng này, thì dữ liệu sẽ dao đông nhiều quanh các vector riêng tương ứng với giá trị riêng lớn, dữ liệu ít dao động xung quanh các vector riêng tương ứng với các giá trị riêng nhỏ.

Thuật toán phân tích thành phần chính (PCA) là hệ quả trực tiếp của tính chất đã nêu trên. Trong kỹ thuật thuật toán PCA là một thuật toán phổ biến được sử dụng để giảm số chiều của dữ liệu nhưng vẫn giữ được nhiều thông tin khi phân biệtvới các dữ liệu khác.Thuật toán PCA được đề xuất đầu tiên bởi H. Hotelling (ban đầu được biết với tên là biến đổi Hotelling-Hotelling’s transform). Dưới đây là nội dung thuật toán PCA, sau đó xin giới thiệu kỹ thuật trích chọn đặc trưng bằng cách sử dụng biến đổi cosin rời rạc (DCT) kết hợp với thuật toán PCA để thu gọn số chiều của dữ liệu.

2.2.1.1. Thuật toán PCA

Giả sử ta có tập dữ liệu { D}N1

i i

XxR  trong đó các xiđước sắp xếp thành các

hang để được ma trận X có kích thước N D . Ta mong muốn làm giảm số chiều dữ

liệu tập XD chiều thành tập dữ liệu Y có L chiều, L< D. Có thể tóm tắt thuật toán PCA như sau:

Bước 1: Tính giá trị trung bình trên tường chiều dữ liệu 1…D của tập dưc liệu X

ta được vector giá trị trung bình u có kích thước D1 trong đó

1 1 [ ] [ , ] N n u d X d n N   

Bước 2: Thực hiện giảm giá trị của dữ liệu trên từng chiều với giá trị trung bình

[ ]

u d tương ứng:

Ta lưu giá trị tính được vào ma trận B

B X dh trong đó h là ma trận có kích thước 1xN h; [1, ] 1;n   n 1...N

Bước 3: Tính ma trận hiệp phương sai của ma trận B

1 [ ] [ T] T D D C E B B E B B B B N        

Đầu tiên ta tính tập giá trị riêng d;d 1..Dcủa ma trận C bằng cách giải phương trình det(CI)0sau đó ta tìm tập vector riêng V { }vd Dd1cách giải phương trình

1 V CV Dtrong đó [ , ] ; 0; i M M i j D i j i j        

Bước 5: Sắp xếp tập giá trị riêng d và tập vector riêng tương ứng theo chiều giảm dần của giá trị riêng.

Bước 6: Chọn lấy L vector đầu tiên từ tập vector riêng sau khi đã sắp xếp

W[ , ]p qV p q[ , ]; p 1,..., ;D  q 1,...,L

Bước 7: Tính giá trị của Y

Y=X*WT

Nhìn chung việc tính giá trị riêng và vector riêng là một bài toán khó trong toán học. Trong phần thực nghiệm của mình, tôi sử dụng thư viện MATLAB để thực hiện tìm giá trị riêng và vector riêng của ma trận.

2.2.1.2. Kỹ thuật trích chọn đặc trưng kết hợp phép biến đổi DCT và thuật toán PCA

Ta xét dữ liệu đầu vào là ma trận điểm ảnh, hình vec dưới đây mô tả các bước của thuật toán:

Hình 10: Các bước trích chọn đặc trưng bằng biến DCT kết hợp PCA

Từ ảnh dữ liệu ban đầu kích thước MxN dùng phép biến đổi Cosin rời rạc ta được ma trận MxN các hệ số thực. Sau đó ta lấy dữ liệu theo đường zigzag như hình vẽ bên dưới ta được vector với MxN đặc trưng.Tiếp đó ta dùng thuật toán PCA để

thu gọn số chiều của vector đặc trưng, khi đó kết quả đầu ra sau bước nàyxem như là vector đặc trưng của bước ảnh đầu vào.

Hình 11: Biến đổi DCT và cách lấy dữ liệu theo đường zigzag

Ta thấy rằng bức ảnh gốc qua phép biến đổi DCT thì ta không bị mất thông tin vì ta có thể sử dụng phép biến đổi DCT nghịch đảo để thu được hình ảnh gốc. Ở ma trận hệ số của phép biến đổi DCT, các điểm ở gần gốc (1,1) thể hiện mức sáng nền của bức ảnh gốc, còn các điểm điểm càng xa điểm gốc thể hiện mức độ chi tiết của bước ảnh (trong thuật toán nén ảnh JPEG sau khi biến đổi DCT người ta thường lược bỏ các hệ số xa điểm gốc, mà mắt người vẫn không nhận thấy sự thay đổi), như vậy sau khi lấy dữ liệu cho vector đặc trưng theo đường zigzag thì các điểm gần nhau trên đường zigzag (cũng như trong vector đặc trưng) luôn có quan hệ về mặt giá trị cũng như ảnh hưởng đối với ảnh gốc. Điều này giúp cho vector đặc trưng mạng nhiều thông tin cho việc nhận dạng. Cuối cùng vector đặc trưng được xử lý qua thuật toán PCA để thu gọn số chiều dữ liệu giúp cho việc nhận dạng được hiệu quả hơn.

Một phần của tài liệu (LUẬN văn THẠC sĩ) một số kỹ thuật trích chọn đặc trưng chữ viết tay trong nhập điểm rèn luyện tự động (Trang 32 - 35)

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

(69 trang)