2.3.1 Sơ lƣợc đại số tuyến tính
Vector riêng, trị riêng và sự chéo hóa của ma trận
Cho A là một ma trận vuông cấp n trên trƣờng K. Một số Kđƣợc gọi là giá trị riêng của ma trận A nếu tồn tại vectơ u khác không n
uK , sao cho thỏa mãn điều kiện A u( )u. Khi đó vectơ u đƣợc gọi là vectơ riêng của ma trận A ứng với giá trị riêng . Ma trận A với kích thƣớc n x n sẽ có tối đa n trị riêng và n vector riêng tƣơng ứng. Ví dụ cho ma trận 2 3 , 1 , 1 3 6 3 2 A u v Ta có: 2 3 1 7 7 3 6 3 21 Au u Và 2 3 1 8 1 3 6 2 9 2 Av k
Kết luận: u là vectơ riêng của ma trận A ứng với giá trị riêng – 7, còn v không là vectơ riêng của ma trận A vì không tồn tại một số thực k nào thỏa Av = kv.
Nếu tồn tại một cơ sở trong không gian Rn sao cho ma trận A biểu diễn trong cơ sở đó có dạng chéo (các phần tử ngoài đƣờng chéo bằng 0) thì ma trận A sẽ chéo hóa đƣợc
Kỳ vọng và phƣơng sai trong thống kê đa chiều
Đối với thống kê đa chiều, mỗi một mẫu thống kê là một vector đa chiều. Giả sử ta có một biến ngẫu nhiên X trong không gian tuyến tính n chiều.
X = [x1, x2,…, xn]T (2.8)
Khi đó kỳ vọng của biến ngẫu nhiên X cũng là một vector n chiều, trong thống kê, kỳ vọng E[X] của biến ngẫu nhiên X có thể ƣớc lƣợng bằng trung bình mẫu , và đƣợc tính bằng công thức:
(2.9)
Trong đó: M là tổng số mẫu có trong thống kê. Ma trận hiệp phƣơng sai
Giá trị phƣơng sai trong thống kê một chiều là độ đo mức độ phân tán của một biến ngẫu nhiên xung quanh giá trị kỳ vọng
Var(A) = (2.10)
Trong thống kê đa chiều, khái niệm này đƣợc mở rộng thành ma trận hiệp phƣơng sai:
C = (2.11)
Ma trận hiệp phƣơng sai là một ma trận đối xứng. Mỗi phần tử của ma trận là hiệp phƣơng sai giữa hai thành phần và trong vector X.
- Nếu = 0 ta nói hai thành phần và là độc lập hay không phụ thuộc lẫn nhau.
- Nếu 0 ta nói hai thành phần và là không độc lập hay chúng phụ thuộc lẫn nhau.
Trong thống kê, ma trận hiệp phƣơng sai đƣợc tính bằng công thức nhƣ sau:
C = (2.12)
2.3.2 Phân tích thành phần chính - PCA
Trong các thực nghiệm khoa học cũng nhƣ các thống kê các phép đo đạc thƣờng tạo ra lƣợng dữ liệu khổng lồ. Phát hiện các quy luật ẩn sau dữ liệu trở thành một công việc rất khó khăn do có quá nhiều yếu tố cần đƣợc xét đến. Một cách đơn giản nhƣng hiệu quả để giúp các nhà thực nghiệm, các nhà nghiên cứu là PCA.
PCA là viết tắt của Principle Component Analysis (phƣơng pháp phân tích thành phần chính) là phƣơng pháp thay thế các đại lƣợng của bộ dữ liệu ban đầu bằng các tổ hợp tuyến tính của chúng (gọi là một “thành phần”) và từ đó chọn ra những thành phần quan trọng nhất cho những bƣớc phân tích tiếp theo.
PCA đƣợc ứng dụng rộng rãi trong các lĩnh vực nghiên cứu khác nhau: vật lí, sinh học, xã hội... Ngoài ra nhờ khả năng nén dữ liệu (làm giảm khối lƣợng dữ liệu trong khi vẫn giữ lại phần lớn thông tin), PCA cũng đƣợc áp dụng trong một số kĩ thuật nén ảnh, xử lí ảnh, nhận dạng...
Mục tiêu của phƣơng pháp PCA là giảm số chiều của một tập các vector sao cho vẫn đảm bảo đƣợc tối đa thông tin quan trọng nhất của tập dữ liệu huấn luyện. Có thể nói phƣơng pháp PCA tìm cách giữ lại những thành phần thống kê quan trọng nhất của tập mẫu.
Giả sử ta cần giảm số chiều của tập mẫu huấn luyện từ n chiều X = a1v1 + a2v2 + … + aNvN
Với v1, v1, …, vN là cơ sở trong không gian N chiều xuống còn K chiều (K < N) y = b1u1 + b2u2 + … + bKuK
trong đó u1, u1, …, uK là cơ sở trong không gian K chiều
Nghĩa là ta cần tìm một ánh xạ từ không gian N chiều xuống không gian nhỏ hơn chỉ có K chiều (K < N). Gọi x là một vector trong không gian N chiều, y
là một vector trong không gian K chiều. Ta có trung bình phƣơng lỗi MSE (mean square error) ‖ x - y ‖ khi loại bỏ một số thành phần trong x để thu đƣợc y sẽ bằng tổng phƣơng sai của những thành phần bị loại bỏ. Phƣơng pháp PCA sẽ tìm một phép biến đổi tuyến tính T, thỏa mãn:
y = T * x, T: là ma trận K x N (2.13)
sao cho bình phƣơng trung bình lỗi là bé nhất.
b1 = t11a1+ t12a2 + … + t1NaN b2 = t21a1+ t22a2 + … + t2NaN ……….. bK = tK1a1+ tK2a2 + … + tKNaN Hay y = T * x trong đó =
Gọi M là vector trung bình của các vector x trong tập huấn luyện X.
(2.14)
N: là số phần tử trong tập huấn luyện
Gọi C là ma trận hiệp phƣơng sai của các phần tử trong tập X.
, C: là ma trận đối xứng N x N (2.15)
Ngƣời ta chứng minh đƣợc rằng nếu T là một ma trận mà mỗi hàng là một vector riêng của C và M vector riêng này (M hàng của ma trận T) ứng với M giá trị riêng lớn nhất thì T chính là phép biến đổi tuyến tính thỏa mãn điều kiện để trung bình phƣơng lỗi nhỏ nhất.
Gọi là ma trận vuông N x N mà mỗi cột là một vector riêng của C đã đƣợc chuẩn hóa với phép biến đổi:
y= (2.16)
với y= ( ) đƣợc gọi là phép biến đổi Hotelling
Xét theo quan điểm của nhận dạng thì mỗi thành phần của vector y đƣợc xem nhƣ là một đặc trƣng của vector mẫu x. Các đặc trƣng này là các đặc trƣng độc lập với nhau vì ma trận hiệp phƣơng sai của y là
(2.17)
Trong đó là một ma trận chéo.
Tóm lại, phƣơng pháp phân tích thành phần chính ánh xạ một vector từ không gian N chiều xuống không gian K chiều sẽ đi tìm các trị riêng và vector riêng của ma trận hiệp phƣơng sai C của tập X và 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 k chiều này.
Kỹ thuật trích rút đặc trƣng bằng PCA
Giả sử ta cần xem xét tập dữ liệu
X = [x1, x2,…, xn] (2.18)
Trong đó n là số mẫu dữ liệu, xi là mẫu dữ liệu thứ i có kích thƣớc là d. Đầu tiên ta tính giá trị trung bình của X trên mỗi chiều
(2.19)
Trừ các giá trị trung bình ta thu đƣợc
- (2.20)
Tính ma trận hiệp phƣơng sai (covariance) C:
C (2.21)
Ma trận hiệp phƣơng sai C có vector riêng với giá trị riêng .
C (2.22)
Trong đó
là ma trận chéo của giá trị riêng tƣơng ứng với vector riêng của
(2.23)
Các vector riêng tƣơng ứng với giá trị riêng cao nhất đại diện cho các thành phần chính đầu tiên.
(2.24)
Có 2 cách để xác định K sao cho hiệu quả.
Cách đầu tiên ta sắp xếp theo thứ tự giảm dần các giá trị riêng đã tìm đƣợc. Thứ tự này vẫn đảm bảo đƣợc thứ tự của các vector đặc trƣng tƣơng ứng. Theo dõi sự biến thiên của dãy trên, khi không còn biến thiên(hoặc xáp xỉ bằng không) thì lúc đó ta đã chọn đủ K vector đặc trƣng.
Cách thứ hai thì ta chọn K theo tiêu chuẩn sau:
(2.25)
Với phƣơng châm làm sao số lƣợng thành phần chính là thấp nhất đủ để giải thích khả năng phân tán tập mẫu học thành các lớp mẫu riêng cần thiết nhất.
Đánh giá:
- Khi lấy số đặc trƣng càng về sau thì khả năng biến động càng thấp, có nghĩa mối quan hệ giữa các phần tử càng cao, thì sự giao nhau giữa các lớp mẫu trong tập mẫu càng lớn.
- Nhƣng nếu lấy không đủ số lƣợng thành phần chính, thì khả năng phân tán của tập mẫu càng cao (có thể tăng vƣợt ngoài lớp mẫu cần thiết trong tập mẫu)
2.4 Mô hình diện mạo tích cực 2.4.1 Hình dáng và các điểm mốc 2.4.1 Hình dáng và các điểm mốc
Trong không gian hai chiều, một hình dạng đƣợc định nghĩa gồm n điểm và đƣợc biểu diễn bằng vector x gồm 2n phần tử, đƣợc thành lập bằng cách kết hợp các phần tử biểu diễn vị trí của các điểm độc lập {(xi, yi)} đƣợc gọi là điểm mốc:
S = ), (2.26)
Ví dụ: Một đối tƣợng có hình dạng là tam giác thì đƣợc biểu diễn bởi 3 điểm mốc, một đối tƣợng có hình dạng tứ giác thì đƣợc biểu diễn bởi 4 điểm mốc. Hình 2.7 minh họa 1 hình là tam giác.
Hình 2.7: Hình dạng và biểu diễn của hình dạng trong mô hình
Left: minh họa một hình dáng đơn giản gồm 3 điểm. Middle: minh họa hình dáng giống nhƣ một mảng. Right: minh họa hình dáng giống nhƣ một vector.
Để mô hình hóa các hình dạng của đối tƣợng hiệu quả và dễ dàng hơn, một hình trong không gian 2 chiều gồm n điểm mốc sẽ đƣợc biểu diễn thành 1 vector 2n x 1 nhƣ sau:
X = (x1, x2,…,xn, y1, y2,….., yn) (2.27)
Tùy vào phƣơng pháp sử dụng mà mỗi tác giả có số lƣợng và vị trí các điểm mốc khác nhau nhƣng nhìn chung thì có tất cả 3 loại điểm mốc:
- Anatomical landmark: những điểm mốc ở những vị trí có ý nghĩa về mặt sinh học.
- Mathematical landmark: những điểm mốc có ý nghĩa về mặt toán học. Ví dụ các điểm uốn, …
- Pseudo-landmark: những điểm mốc đƣợc thêm vào trên đƣờng biên của khuôn mặt, nằm giữa các điểm mốc thuộc 2 loại trên. Mục tiêu là giúp cho việc biểu diễn hình dạng của đối tƣợng đƣợc chính xác hơn.
Trong luận văn này, tác giả lựa chọn số lƣợng các điểm mốc của khuôn mặt gồm 68 điểm và có vị trí đƣợc mô tả cụ thể nhƣ trong hình 2.8:
2.4.2 Căn chỉnh hình dạng của tập huấn luyện
Với tập dữ liệu là N ảnh thì ta sẽ có N vector tƣơng ứng với hình dạng của các ảnh khuôn mặt trong cơ sở dữ liệu. Tuy nhiên, ta cần lƣu ý một vấn đề là các khuôn mặt trong cơ sở dữ liệu sẽ nằm ở những vị trí khác nhau, kích thƣớc và hƣớng khuôn mặt cũng khác nhau
Để có thể mô hình hóa chính xác hơn những thay đổi về hình dạng các khuôn mặt của toàn bộ cơ sở dữ liệu, ta cần phải có một bƣớc tiền xử lý nhằm làm cho các khuôn mặt của các ảnh có vị trí, kích thƣớc, và hƣớng thống nhất với nhau.
Trong bƣớc này, ta thực hiện gióng hàng (align) tất cả các khuôn mặt về cùng 1 vị trí bằng cách sử dụng phép tịnh tiến (translation); hiệu chỉnh lại kích thƣớc và hƣớng của khuôn mặt bằng phép tỉ lệ (scale) và phép xoay (rotation). Một phép biến đổi T thực hiện phép xoay 1 góc , phép tỉ lệ s và tịnh tiến 1 khoảng ( ) đƣợc biểu diễn nhƣ sau:
(2.28)
Quá trình thực hiện gióng hàng các hình cho tập dữ liệu bao gồm những bƣớc chính sau:
Đầu vào của thuật toán: N hình của tập huấn luyện.
(1) Khởi tạo hình dạng trung bình là hình đầu tiên.
(2) Tịnh tiến các ảnh về cùng 1 tâm với hình dạng trung bình và tỉ lệ về cùng 1 kích thƣớc. (3) Gióng hàng tất cả các hình về hình dạng trung bình.
(4) Tính toán lại hình dạng trung bình.
(5) Nếu hình dạng trung bình thay đổi nhiều hơn 1 lƣợng thì trở lại bƣớc 3.
Hình 2.9: Thuật toán gióng hàng tập huấn luyện
Các bƣớc thực hiện tính các giá trị tham số tịnh tiến, tỉ lệ và xoay để gióng hàng 2 hình đƣợc Tim Cootes và Taylor trình bày trong [4]
2.4.3 Huấn luyện mô hình
Trong giai đoạn huấn luyện, ASM học từ hai mô hình sau: mô hình của hình dáng và mô hình của hình ảnh theo quy trình nhƣ hình 2.10:
Hình 2.10:Quy trình huấn luyện mô hình hình dáng
2.4.3.1 Huấn luyện mô hình hình dáng
Thuật toán của quá trình huấn luyện mô hình hình dáng đƣợc mô tả trong hình 2.10 ở trên. Mỗi hình dáng đƣợc biểu diễn bởi N điểm mốc đã đƣợc đánh dấu (đƣợc biểu diễn nhƣ một vector gồm 2N chiều). Để loại bỏ sự ảnh hƣởng của hƣớng, kích cỡ khác nhau cũng nhƣ vị trí của khuôn mặt, tất cả các hình dạng huấn luyện đều phải căn chỉnh dựa vào các điểm mốc đã đƣợc đánh dấu trƣớc. Sau đó áp dụng PCA cho các hình dáng khuôn mặt đã đƣợc căn chỉnh thu đƣợc:
Hình dáng trung bình:
(2.1)
Ma trận hiệp phƣơng sai:
(2.2)
Tham số hình dáng:
(2.3)
Khi đó với một hình dáng bất kỳ ta đều có biểu diễn dƣới dạng :
. (2.4)
Trong đó P = (p1 , p2 ,…, p2n ) là ma trận của vector riêng cua, b = (b1 , b2 , … , b2n )T là vector của trọng số
Hàm xác suất của x đƣợc biểu diễn bằng
. (2.5) Hàm năng lƣợng của ASM đƣợc định nghĩa nhƣ sau:
(2.6)
Thay cho việc phải cực tiểu hóa , ASM thiết lập ngƣỡng và một hình dáng đƣợc coi là phù hợp nếu . Nói một cách khác, bài toán ASM chính là bài toán tối ƣu:
Argmin
(2.7)
2.4.3.2 Huấn luyện hình ảnh
Mô hình hình ảnh huấn luyện với các mức xám xung quanh các điểm mốc. Hình thành các vector profile g tại một điểm mốc, chúng tối lấy mẫu cƣờng độ ảnh dọc
theo chiều trực giao với một cạnh hình dáng. Trong quá trình huấn luyện, tác giả xây dựng một mô hình cho mỗi điểm mốc bằng cách tạo ra một profile trung bình và mà trận hiệp phƣơng sai Sg. Nếu chiều dài của profile là 7 thì sẽ có 7 thành phần và Sg sẽ là một ma trận 7x7. Trong quá trình huấn luyện, tại mỗi điểm mốc tác giả lấy mẫu mốt profile trong láng giềng của điểm mốc. Mỗi profile tìm kiếm có đƣợc bằng một sự dịch chuyển nhỏ dọc theo trực giao. Sau đó kiểm tra độ phù hợp của một mẫu mới gs với mô hình thông qua công thức:
D(gs) = (gs - T Sg-1(gs - (2.8)
Mô hình phù hợp nhất là mô hình có D(gs) nhỏ nhất. Điều đó đƣợc thực hiện lặp lại cho từng điểm mốc khi đó ta thu đƣợc gợi ý về vị trí mới của mỗi điểm mốc.
2.4.3.3 So khớp
Thuật toán so khớp đƣợc mô tả tổng quát nhƣ hình 2.11:
Hình 2.11:Thuật toán so khớp hình dáng khuôn mặt
Input: S – Tập các điểm mốc mô hình hoá cho khuôn mặt
Output: Shapes - Tập các điểm mốc đại diện cho khuôn mặt
1. Khởi tạo
Thiết lập dung sai D2max ; Vùng tìm kiếm ns; Ngƣỡng hội tụ Pclose
Tham số hình dạng b; hệ số tỷ lệ Tx; hệ số quay Tr; hệ số tịnh tiến Tx, Ty
b (0,…0) ; (Ts, Tr,Tx, Ty) 1,0,0,0)
2. Tìm kiếm
While Flag = 0 do
For mỗi landmark trong hình dáng đang xét tìm kiếm trong vùng [-ns , ns] dọc theo hƣớng chuẩn Xs X + dX if Xs < P close then Flag 1; end Xs M(Ts, Tr,Tx, Ty ) [ + Pb] bs PT (M(Ts , Tr ,Tx , Ty ) -1 Xs – ) if then b else b end end
Xs là vị trí gợi ý mới của điểm mốc đang đƣợc xét. dX là bộ điều chỉnh đƣợc biểu diễn bằng vector
dX = (dX0 , dY0 , …. , dXn-1 , dYn-1 ) (2.9)
Sau đó cập nhật lại các tham số ánh xạ cho Xs phù hợp nhất với hình dáng đang xét. Chúng ta tính tham số cho hình dạng mới là bs. Cuối cùng tính lại tham số hình dạng b. Trong đó
(2.10)
Với là giá trị riêng thứ k của ma trận hiệp phƣơng sai
2.5 Giới thiệu về phân cụm 2.5.1 Khái niệm 2.5.1 Khái niệm
Phân cụm dữ liệu [17] là một kỹ thuật trong khai phá dữ liệu, nhằm đƣa ra các cụm mà các phần tử trong cụm có độ tƣong đồng cao và các phần tử khác cụm nhau lại có độ tƣơng đồng thấp.
Nhƣ vậy, phân cụm dữ liệu là kỹ thuật sử dụng quan sát đối tƣợng, mục đích để tổ chức một tập các đối tƣợng cụ thể hoặc trừu tƣợng vào các nhóm, cụm phân biệt. Những đối tƣợng có nội dung tƣơng tự nhau sẽ đƣợc xếp vào cùng một cụm và những đối tƣợng có nội dung khác nhau đƣợc xếp vào các cụm khác nhau.
Sau đây chúng ta sẽ tìm hiểu một số tính chất của dữ liệu và yêu cầu của một thuật toán phân cụm. Hầu hết các nghiên cứu và phát triển các thuật toán phân cụm dữ liệu nói chung đều nhằm thỏa mãn các yêu cầu cơ bản sau:
Có khả năng mở rộng, gia tăng: Thuật toán phân cụm cần có khả năng gia tăng,