4 Chương MÔ HÌNH MAKOV ẨN VÀ ỨNG DỤNG NHẬN DẠNG
4.1.3.3 Trích chọn đặc trưng
Mặc dù mô hình Markov ẩn đã chọn có khả năng mô phỏng các quá trình ngẫu nhiên một chiều nhưng ảnh mặt lại là một trường ngẫu nhiên hai chiều và trong một số trường hợp cụ thể là trường hai chiều với mỗi phần tử là giá trị một điểm ảnh. Như vậy, cần phải có một phương pháp để xử lý dữ liệu đầu vào thành các chuỗi quan sát mà lý thuyết mô hình Markov ẩn đã chỉ ra theo yêu cầu của các bài toán cơ bản, nền tảng của các ứng dụng mô hình Markov ẩn.
Trong các ứng dụng xử lý ảnh, đối tượng thao tác thường là các dãy điểm ảnh được lấy ra từ ảnh ban đầu thông qua một phép xử lý nào đó. Trong trường hợp mô hình hoá khuôn mặt trong ảnh bằng mô hình Markov ẩn, các biểu tượng quan sát là các vectơ được tính toán từ một dãy các điểm ảnh lấy trực tiếp từ ảnh đầu vào. Với một ảnh mặt được mô hình hoá bởi mô hình Markov, các đặc trưng ảnh chính là các khối điểm ảnh nằm gối lên nhau được trích ra từ ảnh. Mỗi khối bao gồm một
số hàng điểm ảnh, các hàng này sau khi trích ra được sắp xếp lại tạo thành một dãy một chiều các điểm ảnh.
Trong một số công trình đã thực hiện, toàn bộ dãy điểm ảnh được sử dụng như một vectơ quan sát. Giá trị của mỗi thành phần là giá trị cường độ sáng của điểm ảnh hay là giá trị mức xám của ảnh đa mức xám của điểm ảnh đó. Cách tiếp cận này khiến cho kích thước của vectơ quan sát trở nên rất lớn, gây ra khả năng bị ảnh hưởng bởi nhiễu trong ảnh và làm giảm hiệu năng tính toán của hệ thống vì các giá trị điểm ảnh thực ra không biểu diễn đặc trưng mạnh và các giá trị điểm ảnh rất nhạy cảm với nhiễu ảnh cũng như các phép quay,dịch chuyển và thay đổi về độ chiếu sáng.
Một số cách làm khác cũng đã từng được đưa ra để xây dựng tập vectơ quan sát từ dãy các điểm ảnh trong đó có sử dụng các đại lượng của phép biến đổi Cô-sin hai chiều (DCT) hoặc các đại lượng của phép biến đổi Karhunen Loeve (KLT). Hai cách làm này thực sự có hiệu quả đặc biệt bởi khả năng giảm ảnh hưởng của nhiễu, giảm đáng kể kích thước của vectơ quan sát thông qua việc loại bỏ các thành phần chứa ít thông tin trong ảnh.
Phương pháp được mô tả trong chương này sử dụng các đại lượng của phép biến đổi KL để xây dựng các vectơ quan sát sử dụng trong huấn luyện mô hình Markov ẩn để tìm kiếm và nhận dạng khuôn mặt người trong ảnh. Các bước thực hiện sẽ được lần lượt trình bày trong các phần tiếp theo.
Trích chọn các khối điểm ảnh
Một ảnh đầu vào kích thước W x H điểm ảnh với W là chiều rộng và H là chiều cao của ảnh chứa một khuôn mặt bên trong (điều này đúng với các ảnh mẫu), các khối điểm ảnh L hàng được trích ra và sử dụng để tạo nên các quan sát. Hình vẽ sau mô tả cách lấy các khối quan sát.
Hình 4-8. Ảnh mặt và phương pháp trích chọn khối quan sát.
Các khối quan sát kề cận nhau thường gối lên nhau một số P hàng. Việc gối các hàng như vậy cho phép các đặc tính được tìm ra theo cách độc lập với ví trí theo chiều dọc trong khi đó nếu các khối rời rạc với nhau thì tại biên của các khối sẽ có hiện tượng các đặc trưng bị cắt hụt. Nếu độ dài L quá nhỏ thì có thể không đủ thông tin phân tách các vectơ quan sát trong khi nếu L quá lớn có thể dẫn đến gia tăng xác
suất cắt hụt. Tuy nhiên, tỉ số nhận dạng thành công của các hệ thống thường không quá nhạy cảm với các thay đổi về L miễn là độ gối P đủ lớn (P≤L-1) và L≈H/10.
Vectơ quan sát
Rất nhiều các nhóm nghiên cứu trên thế giới sử dụng cơ sở dữ liệu ảnh ORL của Olivetty Research Laboratory tại Cambridge, nước Anh với các ảnh đa mức xám chụp khuôn mặt người kích thước 92x112 (WxH). Cơ sở dữ liệu ảnh này cũng được sử dụng để làm cơ sở thử nghiệm trong luận văn. Nếu vectơ quan sát sử dụng giá trị các điểm ảnh thì kích thước của một vectơ có thể là LxW (L= 10 và W=92). Phương pháp sử dụng biến đổi KL để xây dựng các vectơ quan sát sẽ cho thấy hiệu quả hơn nhiều so với sử dụng các giá trị điểm ảnh bởi vì khả năng nén thông tin cũng như thuộc tính không tương quan của phép biến đổi KL. Phép biến đổi KLT là một phép biến đổi thích nghi nghĩa là các cơ sở của phép biến đổi dựa trên các tín hiệu vào mà phép biên đổi áp dụng trên đó. Ma trận cơ sở của phép biến đổi KLT là các vectơ riêng của ma trận hiệp biến của tất cả các mẫu đầu vào. Cách tính ma trận cơ sở:
Các khối ảnh trích ra từ tất cả các ảnh mẫu trong tập ảnh mẫu được sắp
xếp dưới dạng các vectơ bằng cách xếp chồng các cột lên nhau. Gọi (r)
i
x là vectơ thu được từ khối thứ i của ảnh mẫu thứ r.
Trung bình của các vectơ được tính theo công thức:
R r T i r i R r r r x T 1 1 1 1
trong đó R là số ảnh mẫu trong tập mẫu và T(r)
là số các khối trích ra được từ ảnh thứ r. Một tập mới các vectơ được sinh ra bằng cách trừ các vectơ cũ với trung bình các vectơ. Đây được gọi là bước quy 0 tập mẫu. Tập các vectơ mới là tập các vectơ có trung bình thống kê bằng 0 và có thể sử dụng để tính các cơ sở của phép biến đổi KLT: r i r i x x ~
Ma trận hiệp biến của vectơ r i x ~ được tính theo: r T i R r T i r i R r r x x T C r ~ ~ 1 1 1 1
Các vectơ riêng được chuẩn hoá uk của ma trận hiệp biến C được xác định
theo phương trình Cuk=λkuk với λk là trị riêng tương ứng với các vectơ riêng của ma trận C.
Khi đã có trong tay các vectơ cơ sở của phép biến đổi, quá trình xác định các vectơ quan sát từ tập hợp các khối quan sát trích ra từ cả ảnh mẫu và ảnh kiếm thử được thực hiện như sau:
Các khối quan sát được sắp xếp lại theo thứ tự cột ảnh để tạo thành dạng vectơ
Từng vectơ được trừ đi vectơ trung bình đã được tính ở trên.
Vectơ kết quả được chiếu vào không gian vectơ riêng của ma trận hiệp
biến trên tương ứng với các trị riêng lớn nhất λk. Các đại lượng sinh ra bởi phép chiếu tạo nên các vectơ quan sát.
Chú ý rằng chỉ có một số ít các đại lượng đầu tiên có giá trị quan trọng nghĩa là có mang thông tin, giá trị của các đại lượng giảm dần khi chỉ số vectơ tăng. Trong thí nghiệm với cơ sở dữ liệu ORL ở trên, các đại lượng với chỉ số lớn hơn 10 bị loại bỏ do có giá trị không đáng kể. Chính đây là nguyên tắc của KLT vì đây phương pháp này đôi khi cũng được gọi là phương pháp phân tích các thành phần chính PCA tuy rằng PCA trong trường hợp này chỉ đóng vai trò trong xử lý dữ liệu còn vai trò thực hiện nhận dạng thì lại do mô hình Markov ẩn đảm nhiệm.
Tính toán các trị riêng và vectơ riêng
Trong cả phương pháp nhận dạng thông qua PCA trình bày ở trên và phương pháp phân tích dữ liệu sử dụng KLT, ta gặp phải một vấn đề liên quan rất nhiều đến chi phí tính toán. Đó là vấn đề tìm các giá trị riêng và vectơ riêng của một ma trận hiệp biến. Ma trận hiệp biến trong các trường hợp này là ma trận đối xứng với kích thước rất lớn. Với cơ sở dữ liệu ảnh ORL và độ dài khối quan sát là L=10 hàng thì kích thước ma trận này là 920 x 920. Một yêu cầu của bài toán là không cần thiết phải liệt kê toàn bộ các vectơ riêng mà chỉ cần liệt kê một số (cụ thể là 10) vectơ riêng tương ứng với trị riêng lớn nhất.
Để giải quyết bài toán, thường thì không thể tính toán trên cả ma trận ảnh ban đầu vì chi phí tính toán có lớn. Một phương pháp được đưa ra để giảm chi phí tính toán thông qua việc tính gián tiếp các vectơ riêng theo cách sau:
Giả sử có M vectơ mẫu có trung bình thống kê bằng 0 (cách xác định như trên) ký hiệu là {xi} với xi RN
. Ma trận hiệp biến của tập dữ liệu mẫu khi đó sẽ được định nghĩa là: M i M T T i i x AA x x x x M C 1 1 . . ,A 1, 2,...,
Các bước tính gián tiếp như sau:
Bước 1: Xây dựng ma trận kích thước MxM theo công thức L=AT
A với Lpq=xpT.x
Bước 2: Tìm M vectơ riêng vk của ma trận L bằng cách giải quyết bài toán vectơ riêng của ma trên MxM (chú ý là M << N, N là kích thước của C) Bước 3: Vectơ riêng μk của ma trận hiệp biến C được tính thông qua kết hợp tuyến tính của vk
M i i kix v 1 k μ
với vki là thành phần thứ i của vectơ vk.
Phương pháp tính toán các vectơ riêng của một ma trận vuông cấp n cũng là một vấn đề quan tâm của nhiều nhà toán học. Có thể liệt kê một số phương pháp được sử dụng:
Phương pháp Mises: Sử dụng thuật toán Mises để tính trị riêng lớn nhất và vectơ riêng lớn nhất của ma trận, sau đó sử dụng công thức xuống thang để sinh ra ma trận mới nhằm tính các trị riêng và vecơ riêng tiếp theo. Tuy nhiên, điều kiện thực hiện thuật toán là ma trận A là thực và mỗi trị riêng bội k có đủ k vectơ riêng độc lập tuyến tính là một điều kiện không thể kiểm chứng được.
Phương pháp Rutishauser: Sử dụng khái niệm ma trận đồng dạng và phép phân tích ma trận LR để tính toán tất cả các giá trị riêng của ma trận. Việc tính toán các vectơ riêng được thực hiện bằng giải các hệ phương trình tuyến tính.
Phương pháp Householder: Phương pháp chuẩn để tìm riêng của ma trận đối xứng sử dụng các phép biến đổi trực giao để tạo ra một ma trận dạng băng (ba đường chéo) đồng dạng với ma trận ban đầu.
Phương pháp Jacobi: Phương pháp tìm trị riêng và vectơ riêng của ma trận đối xứng sử dụng phép quay Jacobi biến đổi ma trận thành dạng đường chéo và trong một điều kiện khi các phần tử bên ngoài đủ nhỏ thì giá trị trên đường chéo chính là các trị riêng.
Phương pháp QR: Phương pháp tổng quát để tìm vectơ riêng của ma trận nói chung, sử dụng ma trận Hessenberg và phép biến đổi Householder hoặc phương pháp loại trừ Gauss.
Nội dung mục này đã chỉ ra phương pháp tiền xử lý dữ liệu để tạo ra các vectơ quan sát. Đây là một phần quan trọng trong phương pháp nhận dạng khuôn mặt và các lỗi xảy ra trong giai đoạn này thường ảnh hưởng rất nghiêm trọng đến toàn bộ hệ thống. Điều này cần đặc biệt chú ý khi mà các thuật toán xử lý được sử dụng đều hoạt động trên tập dữ liệu với độ phức tạp tính toán cao và độ chính xác của dữ liệu là nhỏ. Các phần tiếp theo sẽ trình bày phương pháp sử dụng các vectơ quan sát vừa tính được để xây dựng hệ thống nhận dạng với mô hình Markov.