Luận văn tốt nghiệp đã trình bày chi tiết, cụ thể về nhận dạng khuôn mặt
người dựa trên kỹ thuật phát hiện khuôn mặt sử dụng phương pháp Viola Jone
Face Detection, trích chọn đặc trưng sử dụng Weber local descriptor, phân tích
thành phần chính sử dụng PCA và phân lớp SVM Và xây dựng chương trình thử
nghiệm để đánh giá kết quả của việc sử dụng kỹ thuật các phương pháp trên để
nhận dạng. Từ thực nghiệm ta cũng thu được một số kết quả cũng như đánh giá
về thuật toán sử dụng. Các kết quả đạt được cho thấy độ chính xác của chương
trình tương đối cao khoảng 96% nhận dạng đúng. Những kết quả chính được
tổng kết như sau:
 Giới thiệu chi tiết về phương pháp phát hiện khuôn mặt sử dụng phương
pháp Viola Jone face detection
 Giới thiệu chi tiết về phương pháp trích chọn đặc trưng
 Giới thiệu chi tiết về phương pháp phân tích thành phần chính và máy
vestor hỗ trợ (SVM)
 Nhận xét và đánh giá những kết quả đạt được cho bài toán nhận dạng
khuôn mặt
 Đưa ra sự kết hợp giữa các phương pháp cũ, đơn giản, hiệu quả và độ
chính xác tương đương hoặc tốt bằng các phương pháp mới khác.
Tuy nhiên, do thời gian có hạn cộng thêm khối lượng công việc lớn nên vẫn
còn một số vấn đề và ý tưởng mà luận văn chưa thực hiện được. Nhằm cải thiện
khả năng hoạt động của chương trình, chương trình sẽ có thêm chức năng:
 Tự động đưa ảnh nhận dạng về kích thước phù hợp khi ta thực hiện quét
ảnh đưa vào chương trình nhận dạng và đưa ra được kết quả.
 Nhận dạng mặt người qua webcam. Ý tưởng đưa ra là nhập vào hình
ảnh trực tiếp từ webcam. hình ảnh webcam này có thể mô tả một người với
khung nền biến đổi hoặc là một người giữa đám đông. Sau đó chương trình sẽ
phát hiện và khoanh vùng vị trí của khuôn mặt trong khung hình và truy xuất cơ
sở dữ liệu và đưa ra thông tin về người đó. Đó là ý tưởng phát triển trong tươngNguyễn Thị Thủy 43 Đại Học Công Nghệ
lai của luận văn. Hiện tại, chương trình thực hiện được hai chức năng là đưa vào
ảnh và đưa ra kết quả nhận dạng
                
              
                                            
                                
            
 
            
                 53 trang
53 trang | 
Chia sẻ: yenxoi77 | Lượt xem: 2236 | Lượt tải: 3 
              
            Bạn đang xem trước 20 trang tài liệu Luận văn Phương pháp nhận dạng khuôn mặt người và ứng dụng trong quản lý nhân sự, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ệ 
1.1.4. Những thách thức trong bài toán nhận dạng khuôn mặt 
Những biến đổi quá lớn giữa các ảnh khuôn mặt khác nhau từ một người 
cần nhận dạng gồm trạng thái cảm xúc trên khuôn mặt, ánh sáng, và các thay đổi 
vị trí của khuôn. Giới hạn về số ảnh cần thiết cho việc nhận dạng, tập học không 
thể bao quát được tất cả các biến đổi có thể có trên khuôn mặt của một người 
cần nhận dạng trong thế giới thực. 
1.2. Tổng quan về các ứng dụng tương tác người máy liên quan tới khuôn 
mặt 
Từ những năm 1990 trở lại đây, chúng ta đã chứng kiến sự phát triển như 
vũ bão của các ngành công nghiệp, đặc biệc là ngành công nghiệp chế tạo điện 
tử.Tuy nhiên hiện nay các thiết bị điện tử cao cấp như máy ảnh số, camera kĩ 
thuậtsố,vànhiều sản phẩm khác dường như chỉ phù hợp cho các phòng thí 
nghiệm, các công ty sản xuất kinh doanh, thương mại, tài chính, ngân hàng, ... 
Trong thời gian không xa từ 3 đến 10 năm nữa, chi phí cho các thiết bị này sẽ 
giảm đáng kể. Khi đó sẽ mở ra nhiều hướng nghiên cứu về thị giác máy tính, 
đồng thời sẽ có nhiều ứng dụng trong giao tiếp giữa người với máy tính mà 
trong đó hệ thống nhận dạng mặt người đóng một vai trò không nhỏ. Dưới đây 
chúng tôi liệt kê một số ứng dụng. 
 Các ứng dụng chuyên biệt trong ngành hàng không 
 Ứng dụng sử dụng trong nhà thông minh, 
1.3. Hướng tiếp cận chính trong lĩnh vực nhận dạng khuôn mặt 
1.3.1. Các công trình nghiên cứu về Phương pháp nhận dạng và kiểm 
chứng chất lượng cho một hệ thống nhận dạng khuôn mặt 
Bài toán nhận dạng khuôn mặt cần xác định hai vấn đề chính: dùng thông 
tin nào để nhận dạng: chân mày, cặp mắt, mũi, môi, tai, hay kết hợp các thông 
tin trên.Và dùng phương pháp nào để huấn luyện cho máy nhận dạng dùng 
nguồn thông tin đó. Nhận dạng khuôn mặt trên máy tính đã trãi qua nhiều bước 
thăng trầm với các kết quả như sau: 
Nguyễn Thị Thủy 5 Đại Học Công Nghệ 
 Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets, 
ohn Weng (1998)[1] sử dụng phương pháp PCA (phân tích thành phần 
chính) kết hợp LDA (phân tích độc lập tuyến tính). Bước 1, chiếu ảnh 
khuôn mặt từ không gian ảnh thô sang không gian các không gian khuôn 
mặt (Mỗi lớp khuôn mặt được nhận dạng sẽ được mô hình hóa bằng một 
không gian khuôn mặt) dùng PCA. Bước 2, sử dụng phương pháp LDA 
để tạo bộ phân loại tuyến tính có khả năng phân lớp các lớp khuôn mặt. 
 Emmanuel Viennet và Francoise Fogelman Soulie (1998),[3] sử dụng 
phương pháp mạng neural nhân tạo để xử lý và nhận dạng khuôn mặt 
 Antonio J.Colmenarez và Thomas S.Huang (1998),[4] sử dụng kỹ thuật 
học thị giác và phù hợp mẫu 2-D. Ông quan niệm bài toán dò tìm khuôn 
mặt là thao tác phân loại khuôn mặt trong đó khuôn mặt thuộc về một 
lớp và các đối tượng khác thuộc về lớp còn lại bằng cách ước lượng mô 
hình xác suất cho mỗi lớp, và việc dò tìm sử dụng luật quyết định 
Maximum-likelihood. 
 Kazunori Okada, Johannes Steffens, Thomas Maurer, Hai Hong, Egor 
Elagin, Hartmut Neven, and Christoph (1998),[5] nhận dạng khuôn mặt 
dựa vào sóng Gabor và phương pháp phù hợp đồ thị bó. Với ý tưởng 
dùng đồ thị để biểu diễn khuôn mặt, ảnh khuôn mặt được đánh dấu tại 
các vị trí đã được xác định trước trên khuôn mặt, gọi các vị trí này chính 
là các vị trí chuẩn. Khi thực hiện thao tác so khớp đồ thị với một ảnh, 
các điểm chuẩn (Jets) sẽ trích ra từ ảnh và so sánh các điểm chuẩn này 
với tất cả các điểm chuẩn tương ứng trong các đồ thị khác nhau, và đồ 
thị nào phù hợp nhất với ảnh sẽ được chọn. 
 Baback Moghaddam và Alex Pentland (1998) [6], đưa ra phương pháp 
phù hợp thị giác trực tiếp từ các ảnh cần sử dụng cho mục đích nhận 
dạng khuôn mặt và dùng độ đo xác suất để tính độ tương tự. 
 Massimo Tistaelli và Enrico Grosso (1998) [7], đưa ra kỹ thuật thị giác 
động. Vì khả năng quan sát các chuyển động của khuôn mặt và xử lý các 
Nguyễn Thị Thủy 6 Đại Học Công Nghệ 
tính huống theo dự định là thông tin rất quan trọng, từ đó nhận được mô 
tả đầy đủ hơn về khuôn mặt cho m1ục đích thu thập mẫu và nhận dạng. 
 Jeffrey Huang, Chengjun Liu, và Harry Wechsler (1998)[8], đề xuất 
thuật toán căn cứ trên tính tiến hóa (Evolutionary computation) và di 
truyền (Genetic) cho các tác vụ nhận dạng khuôn mặt. Đối với cách tiếp 
cận này, hai mắt sẽ được dò tìm trước tiên và thông tin này được xem là 
vết để quan sát khuôn mặt, trình xử lý dò tiếp mắt bằng cách sử dụng 
một thuật toán lai để kết hợp thao tác học và tiến hóa trong quá trình 
học 
 Daniel Bgraham và Nigel M Allinson (1998)[9], sử dụng phương pháp 
được gọi là tạo bản sao không gian đặc trưng để biểu diễn và nhận dạng 
hướng di chuyển của khuôn mặt. 
 Oi Bin Sun, Chian Prong Lam và Jian Kang Wu (1998)[10], sử dụng 
phương pháp tìm vùng hai chân mày, hai mắt, mũi, miệng và cằm. Ảnh 
khuôn mặt thẳng ban đầu được chiếu theo chiều ngang để tìm các giá trị 
điểm ảnh thỏa ngưỡng cho trước, đồ thị biểu diễn theo trục ngang sẽ 
định vị vị trí biên trên và biên dưới của hình chữ nhật bao các đặc trưng 
cục bộ khuôn mặt. Tương tự với chiều đứng để tìm ra đường biên bên 
trái và phải cho các vùng đặc trưng. 
 Ara V.Nefian và Monson H.Hayes III (1998)[12] trình bày hướng tiếp 
cận theo mô hình mô hình Markov ẩn (HMM) trong đó ảnh mẫu khuôn 
mặt được lượng hóa thành chuỗi quan sát trên khuôn mặt theo quan 
niệm dựa trên thứ tự xuất hiện các đặc trưng khuôn mặt {hai chân mày, 
hai lông mi, mũi, miệng, cằm}. Trong chuỗi quan sát đó, mỗi quan sát 
lại là một vector nhiều chiều và mỗi vector quan sát này được sử dụng 
để đặc trưng cho mỗi trạng thái trong chuỗi trạng trạng thái của HMM. 
Mỗi người được ước lượng bằng một mô hình của HMM. 
Nguyễn Thị Thủy 7 Đại Học Công Nghệ 
 Guodong Guo, stan Z.LI, Kap luk chan(17 january 2001), dùng phương 
pháp SVM để nhận dạng khuôn mặt . Sử dụng chiến lược kết hợp nhiều 
bộ phận loại nhị phân để xây dựng bộ phân loại SVM đa lớp. 
1.3.2. Hướng tiếp cận của luận văn 
Trong đề tài này chúng tôi sử dụng phương pháp Phát hiện khuôn mặt sử 
dụng phương pháp Viola Jone Face Detection, Trích chọn đặc trưng sử dụng 
phương pháp Weber Local Descripor, phân tích thành phần chính và phương 
pháp phân lớp SVM để nhận dạng. 
Sơ đồ hệ thống nhận dạng khuôn mặt được minh họa trong hình sau: 
Hình 0.2 Mô hình nhận dạng khuôn mặt người 
Nguyễn Thị Thủy 8 Đại Học Công Nghệ 
CHƯƠNG 2: CÁC KỸ THUẬT CHO NHẬN DẠNG KHUÔN MẶT 
I. Học máy 
1.1. Phương pháp Deep Learning (CNN) 
CNN là một trong những mô hình deep learning tiên tiến giúp xây dựng 
hệ thống thông minh với độ chính xác cao trong xử lý ảnh. CNN được sử dụng 
nhiều trong các bài toán nhận dạng object trong ảnh. Tuy nhiên phương pháp 
này lại có nhược điểm lớn là phải xây dựng một tập cơ sở dữ liệu lớn (mỗi tập 
dữ liệu huấn luyện phải sử dụng ít nhất 1000 nhãn mới mang lại hiệu quả cao) 
và đồng thời việc xử lý dữ liệu lớn đòi hỏi phải nhanh và chính xác. 
Mạng CNN là là một tập hợp các lớp Convolution chồng lên nhau và sử 
dụng các hàm nonlinear activation như ReLU và tanh để kích hoạt các trọng số 
trong các node. Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các 
thông tin trừu tượng hơn cho các lớp tiếp theo. Mỗi một lớp sau khi thông qua 
các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo. 
Trong mô hình mạng truyền ngược (feedforward neural network) thì mỗi neural 
đầu vào (input node) cho mỗi neural đầu ra trong các lớp tiếp theo. Mô hình này 
gọi là mạng kết nối đầy đủ (fully connected layer) hay mạng toàn vẹn (affine 
layer). Còn trong mô hình CNNs thì ngược lại. Các layer liên kết được với nhau 
thông qua cơ chế convolution. Layer tiếp theo là kết quả convolution từ layer 
trước đó, nhờ vậy mà ta có được các kết nối cục bộ. Như vậy mỗi neuron ở lớp 
kế tiếp sinh ra từ kết quả của filter áp đặt lên một vùng ảnh cục bộ của neuron 
trước đó. 
1.2. Phương pháp truyền thống 
PCA và SVM: Phương pháp PCA giảm bớt số thành phần không cần 
thiết tạo ra hiệu quả tính toán nhanh mà vẫn đảm bảo được độ chính xác. Sau khi 
PCA đưa ra được các đặc trưng tốt sẽ dùng SVM để phân lớp và nhận khuôn 
mặt. 
Nguyễn Thị Thủy 9 Đại Học Công Nghệ 
II. Các kỹ thuật sử dụng trong nhận dạng khuôn mặt 
2.1. Phát hiện khuôn mặt (Viola Jone Face detection) 
- Haar features: ý tưởng : độ sáng tối của các vùng trên gương mặt là khác 
nhau. Ví dụ: vùng mắt tối hơn vùng má, vùng mũi sáng hơn vùng hai bên 
- Kết quả của mỗi đặc trưng được tính bằng hiệu của tổng các pixel trong 
miền ô trắng trừ đi tổng các pixel trong miền ô đen. 
Hình 0.3 Haar Features sử dụng trong Viola Jones (Nguồn: bài báo Viola Jone face detection) 
Hình 0.4 Applying on a give image (Nguồn: bài báo Viola Jone face detection) 
Thuật toán viola jones sử dụng cửa sổ 24x24 để đánh giá các đặc trưng 
của ảnh. Nếu xem xét tất cả các tham số của các đặc trưng, ta tính được khoảng 
160.000+ đặc trưng cho mỗi cửa sổ. 
Nguyễn Thị Thủy 10 Đại Học Công Nghệ 
Hình 0.5 Ví dụng về các haar features (Nguồn: Bài báo Viola Jone face detection) 
- Integral Image: giá trị ở pixel (x, y) là tổng của các pixel ở trên và bên 
trái (x,y). Cho phép tính tổng của các pixel trong bất kì hình chữ nhật chỉ với 4 
giá trị ở 4 góc. 
Hình 0.6 Ví dụ ảnh Integral 
Nguyễn Thị Thủy 11 Đại Học Công Nghệ 
Hình 0.7 Ảnh Ví dụ tính 1 ô pixcel 
Trong các pixels: D=1 + 4 – (2+3) = A + (A + B +C + D)- (A+C + B) = D 
- Có rất nhiều đặc trưng được lấy ra từ 1 cửa sổ nhưng chỉ có 1 số ít là hữu 
dụng trong việc nhận diện khuôn mặt. 
- Sử dụng thuật toán adaboost để tìm những đặc trưng tốt nhất. Sau đó các 
đặc trưng này được gán cho các trọng số để tạo nên hàm đánh giá quyết định 
xem một cửa sổ có là khuôn mặt hay không. Mỗi đặc trưng chọn nếu chúng ít 
nhất thể hiện tốt hơn đoán ngẫu nhiên (phát hiện nhiều hơn một nửa). 
- Các đặc trưng được gọi là các bộ phân lớp yếu. Chúng được tổ hợp tuyến 
tính để tạo ra một bộ phân lớp mạnh. 
F(x) = ∝    (x) +∝    (x) +∝    (x) 
 ∆ ∆ 
 Strong clasifier Weak classifier 
- Mặc dù một ảnh có thể chứa một hoặc nhiều khuôn mặt nhưng số lượng 
vật không phải khuôn mặt vẫn lớn hơn rất nhiều => thuật toán nên tập trung vào 
việc bỏ những vật không phải khuôn mặt một cách nhanh chóng. 
- Một bộ phân lớp cascade (cascade classifier) được sử dụng tất cả các đặc 
trưng được nhóm vào vài stage. Mỗi stage gồm một số các đặc trưng. 
Nguyễn Thị Thủy 12 Đại Học Công Nghệ 
- Mỗi stage được sử dụng để xác định một cửa số có phải là khuôn mặt 
hay không 
Hình 0.8 các bước loại khuôn mặt hay không 
Hình 0.9 Kết quả Phát hiện khuôn mặt (Nguồn: bài báo Viola Jone Face Detection) 
2.2. Trích chọn đặc trưng Weber local Descripor- WLD 
Weber local Description (WLD): việc nhận thức của con người về một vật 
mẫu không chỉ phụ thuộc vào sự thay đổi của một kích thích (âm thanh, ánh 
sáng) mà còn phụ thuộc vào cường độ gốc của kích thích. WLD gồm 2 thành 
Nguyễn Thị Thủy 13 Đại Học Công Nghệ 
phần chính: differential excitation và gradient orientation của ảnh và xây dựng 
histogram dựa trên thành phần đó. 
- Different excitations 
 Sử dụng sự khác nhau về cường độ giữa pixel hiện tại và các hàng 
xóm để miêu tả sự thay đổi của pixel hiện tại => mô phỏng quá 
trình nhận dạng mẫucủa con người. 
 Ic: cường độ của pixel hiện tại 
 Ii: cường độ của pixel lân cận I = (0,1,p-1) p: số pixel lân cận. 
 Sự khác nhau giữa thành phần tử tâm và lân cận 
   (I) = ∆   =    -    
 Tỉ lệ điểm sự sai khác với phần tử tâm 
      (∆  ) = 
∆  
  
 Tổng các sự sai khác: 
    (
∆  
  
) = ∑ (
∆  
  
   
    
 Sử dụng hàm arctangent như 1 hàm lọc để giảm nhiễu: 
    [∑ (
∆  
  
   
    )] = arctan [(∑
   	  
  
   
    )] 
- Orientation 
 Để đơn giản, các giá trị của Ɵ được lượng tử hoá về T hướng. trước 
khi lượng tự giá trị Ɵ được đưa về [0, II] 
Nguyễn Thị Thủy 14 Đại Học Công Nghệ 
Hình 0.10 Tính kích thích sai khác (Nguồn WLD, tác giả Jie Chen, Member, IEEE, 
Shiguang Shan, Member, IEEE, Chu He, Guoying Zhao, Matti Pietikäinen, Senior 
Member, IEEE, Xilin Chen, Senior Member, IEEE, Wen Gao, Fellow, IEEE) 
Hình 0.11 ảnh trên là ảnh gốc ảnh thứ 2 là gốc trích chọn đặc trưng (Nguồn WLD, tác giả 
Jie Chen, Member, IEEE, Shiguang Shan, Member, IEEE, Chu He, Guoying Zhao, Matti 
Pietikäinen, Senior Member, IEEE, Xilin Chen, Senior Member, IEEE, Wen Gao, Fellow, 
IEEE) 
- WLD histogram 
 Phần 0, 5: biến đổi của tần số cao. 
 Phần 1, 4: biến đổi của tần số trung bình 
 Phần 2, 3: biến đổi của tần số thấp 
Nguyễn Thị Thủy 15 Đại Học Công Nghệ 
 Mỗi phần có những vài trò khác nhau trong từng nhiệm vụ phân 
lớp. cần đánh giá trọng số cho từng phần. 
 Một cách phổ biến là tính tỉ lệ nhận dạng cho từng phần R={  } 
   =   /∑    
Hình 0.12 Minh họa về tính toán của WLD (Nguồn WLD, tác giả Jie Chen, Member, IEEE, 
Shiguang Shan, Member, IEEE, Chu He, Guoying Zhao, Matti Pietikäinen, Senior Member, 
IEEE, Xilin Chen, Senior Member, IEEE, Wen Gao, Fellow, IEEE) 
2.3. Giới thiệu phương pháp phân tích thành phần chính PCA 
2.3.1. Giới thiệu phương pháp PCA 
Phương pháp trích chọn đặc trưng được phát minh năm 1901 bởi Karl 
Pearson,và được phát triển một cách độc lập bởi Hotelling (1933). Hiện nay nó 
được sử dụng như một công cụ để phân tích dữ liệu nghiên cứu và thực hiện các 
mô hình dự đoán. PCA còn bao gồm cả việc tính toán phân tích các giá trị đặc 
trưng của một ma trận tương quan dữ liệu hay phân tính các giá trị đơn của ma 
trận dữ liệu thường sau khi tính trung bình dữ liệu của mỗi thuộc tính [11],[15]. 
PCA là phương pháp đơn giản nhất phân tích đa biến dựa trên các vector đặc 
trưng. Thông thường hoạt động của nó có thể được hiểu nhằm khám phá ra cấu 
Nguyễn Thị Thủy 16 Đại Học Công Nghệ 
trúc bên trong của dữ liệu. Nếu một tập dữ liệu đa biến được xem xét như tập 
các tọa độ trong một không gian dữ liệu nhiều chiều (mỗi trục biểu diễn một 
biến) thì phương pháp PCA cung cấp cho chúng ta một bức ảnh ít chiều, một cái 
bóng của vật thể khi quan sát từ chính những đặc trưng cơ bản nhất của vật thể 
đó. 
Mục tiêu của phương pháp PCA là thực hiện giảm số chiều nhưng vẫn 
đảm bảo tối đa sự phân tán dữ liệu. Có thể nói phương pháp trích chọn đặc trong 
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 dữ liệu ban 
đầu. 
Giả sử ta cần giảm số chiều của dữ liệu từ N chiều xuống còn K (K<N) 
chiều nghĩa là ta cần tìm một ánh xạ từ không gian N chiều sang không gian K 
chiều. 
 Trong vấn đề đang xét của luận văn này, PCA là một thuật toán được sử 
dụng để tạo ra một ảnh mới từ ảnh ban đầu. Ảnh mới này có kích thước nhỏ hơn 
rất nhiều so với ảnh đầu vào và vẫn mang những đặc trưng cơ bản nhất của ảnh 
cần nhận dạng. Phương pháp PCA không cần quan tâm đến việc tìm ra các đặc 
điểm cụ thể của thực thể cần nhận dạng và mối quan hệ giữa các đặc điểm đó. 
Tất cả các chi tiết của thực thể đều được thể hiện ở ảnh mới được tạo ra từ PCA. 
Bản chất của PCA là tìm ra một không gian mới theo hướng biến thiên 
mạnh nhất của một tập hợp các vector trong không gian cho trước. Ở không gian 
mới, ta hi vọng rằng việc phân loại sẽ cho ta bộ dữ liệu tốt hơn so với bộ dữ liệu 
trong không gian ban đầu. 
Ví dụ: giả sử tập dữ liệu ban đầu được quan sát trong không gian ba chiều 
như hình bên trái. Rõ ràng ba trục này (các trục có tên Databases, Data minning, 
Language trong hình 3) không biểu diễn được tốt nhất mức độ biến thiên của dữ 
liệu. Phương pháp PCA sẽ tìm hệ trục tọa độ mới (là hệ trục không có tên trong 
hình bên trái) để biểu diễn tốt nhất mức độ biến thiên của dữ liệu. Sau khi tìm 
được không gian mới, dữ liệu sẽ được chuyển sang không gian này để được biểu 
diễn như trong hình bên phải. Rõ ràng hình bên phải chỉ cần hai trục tọa độ 
Nguyễn Thị Thủy 17 Đại Học Công Nghệ 
nhưng biểu diễn tốt hơn độ biến thiên của dữ liệu so với hệ trục toạ độ chiều ban 
đầu. 
Một ưu điểm của PCA là các trục toạ độ mới trong không gian luôn đảm 
bảo trực giao từng đôi một. mặc dù trong không gian ban đầu các trục có thể 
không trục giao với nhau. 
Hình 0.13 Lụa chọn các trục toạ độ mới để biểu diễn dữ liệu 
Xem tập mẫu gồm K vestors trong không gian M chiều [5], [17]: 
O= {   ,   ,  ,  } (2.1) 
Giả sử cơ sở của không gian tập mẫu là: 
   = {   ,  , .   } (2.2) 
Ta có: 
  	 	
⎩
⎪
⎨
⎪
⎧
   
   
   
 .
   ⎭
⎪
⎬
⎪
⎫
.   =
⎩
⎪
⎨
⎪
⎧
   
   
   
   ⎭
⎪
⎬
⎪
⎫
,   = 
⎩
⎪
⎨
⎪
⎧
   
   
   
   ⎭
⎪
⎬
⎪
⎫
 (2.3) 
Trong đó     là thành phần thứ m của vestor   . Mỗi    có thể viết dưới 
dạng: 
   =       +       + +      (2.4) 
Như vậy mỗi phần tử của tập mẫu bây giờ như là một vestor trong hệ cơ 
sở   . 
Nguyễn Thị Thủy 18 Đại Học Công Nghệ 
Bằng cách sử dụng M vectors cơ sở ta có thể biểu diễn mỗi quan sát. Điều 
này cũng đúng khi ta chọn cơ sở gồm M-vectors trực giao được thể hiện trong 
2.2. 
Trong thực tế chúng ta không thể đưa tất cả các cơ sở M-chiều do nhiều lý 
do khác nhau như M quá lớn hay có chứa một số thông tin không quan trọng. Vì 
vậy chúng ta chuyển sang không gian có số chiều nhỏ hơn là N chiều. Khi đó 
tập mẫu là: 
O = {  ,   , ,  ,  } (2.5) 
ở đây chúng ta quan tâm đến việc tìm một cơ sở trực giao (OrthNormal-
ON)   . 
  = {  ,  ,  } với {  ,  }=б   (2.8) 
б   = 0	 ế 	 # , б   = 1	 ế 	  =  	 (2.9) 
   được gọi là cắt (truncated) khi có nhận ít nhất vestor cơ sở hơn. Vậy ta 
thể hiện O trong cơ sở nhỏ hơn với sai số. 
 
 
∑     −     
  
    (2.9) 
Ta có (  ,  )=   
     vậy 
K∑   
  
    S   ≤ K∑  ( ) 
 
    (2.10) 
Ma trận phân bố các phần tử của tập mẫu O là: 
S = 
 
 
∑     
  
    (2.11) 
Để sai số xấp xỉ bé nhất thì phải chọn    là N vestor riêng có ý nghĩa nhất 
của S thoả mãn công thức: 
 
 
∑     −     
  
    = 
 
 
−
 
 
∑      
 	 
    ≥ 
 
 
 - ∑  ( )
 
    ∑  ( )
 
      
(2.12) 
Khi ta chon N-vestor riêng và sai số xấp xỉ là nhỏ nhất và bằng tổng M-N 
trị riêng bé nhất của S thì ta được: 
Nguyễn Thị Thủy 19 Đại Học Công Nghệ 
S = 
 
 
∑     
  
    = 
 
 
[  ,  ,   ] 
  
  
  
 = 
 
 
O   (2.14) 
Do S là đối xứng nửa xác định riêng nên những vector riêng là trực giao 
điều này đảm bảo cơ sở tối ưu là trực giao. 
Như vậy cơ sở mới được xây dựng từ cơ sở quan sát ban đầu theo phương 
trình: 
(  )  =      (2.15) 
Như ta biết phép biến đổi trực giao không làm thay đổi Trace-Vết của ma 
trận mà phép biến đổi cơ sở này giữ lại K-vectors riêng ứng với K-trị riêng lớn 
nhất. Nghĩa là sự phân bố các mẫu trong tập dữ liệu mới thu được luôn là lớn 
nhất. 
Theo các kết quả nghiên cứu thông thường ta chọn K sao cho. 
∑   
 
   
∑   
 
   
 ≥ nguong(e.g,..0.90or0.95) (2.17) 
Với   là các trị riêng của ma trận hiệp phương sai và    ≥    ≥ ⋯ ≥    
Tóm lại, phương pháp PCA ánh xạ một vector từ không gian M chiều 
xuống không gian N chiều sẽ đi tìm các giá trị riêng và vector riêng của ma trận 
hiệp phương sai C của tập mẫu và giữ lại N vector riêng tương ứng với N giá trị 
riêng lớn nhất làm cơ sở cho không gian N chiều này. 
2.3.2. Đặc trưng PCA 
Mục tiêu của phương pháp PCA là “giảm số chiều” của 1 tập vector sao 
cho vẫn đảm bảo được “tối đa thông tin quan trọng nhất” phương pháp PCA sẽ 
giữ lại K thuộc tính “mới” từ M các thuộc tính ban đầu (K<M) 
2.3.3. Phương pháp phân tích thành phần chính(PCA) 
2.3.3.1. Vector riêng 
Xét một toán tử tuyến tính f trong không gian Rn với các vector cơ sở : 
Ei=[010]T ( với giá trị 1 nằm tại vị trí thứ i)Toán tử tuyến tính này sẽ được 
Nguyễn Thị Thủy 20 Đại Học Công Nghệ 
biểu diễn bởi một ma trận vuông T kích thước nxn. Một đại lượng vô hướng λ 
được gọi là trị riêng của toán tử f, hay ma trận T, nếu tìm được một vector x, 
x≠0, sao cho 
F(x)=λ(x) Hay T*x=λx. 
Vector x khi đó được gọi là vector riêng của f, hay T, ứng với trị riêng λ. 
Ma trận Tvới kích thước nxn trên đây sẽ có tối đa n trị riêng và n vector riêng 
tương ứng. Một ma trận T khả nghịch đảo sẽ có đủ n trị riêng (kể cả trị riêng 
bội) và n vector riêng tương ứng. 
2.3.3.1. Kì vọng và ma trận hiệp phương sai. 
Ma trận T (biểu diễn trong không gian Rn với các vector cơ sở ei nêu 
trên) được gọi là chéo hóa được nếu tồn tại một cơ sở trong không gian Rn sao 
cho ma trận T 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).Ví dụ: Khảo sát trên không gian R5 với ma trận chéo 5×5. 
Giả sử C là ma trận các vector cơ sở mới được biểu diễn trong cơ sở {ei}. 
Ở đây, ma trận T được chuyển từ cơ sở {ei} sang cơ sở mới nên ma trận chuyển 
đổi cơ sở từ {ei} sang C cũng là C. Nếu T chéo hóa được tức là tồn tại ma trận C 
khả nghịch (tức là C tạo được một cơ sở trong Rn) sao cho :Tc=CaTC 
Nếu ta có C là một ma trận có các cột là các vestor cơ sở đã được chuẩn hóa của 
không gian Rn thì CT=C-1, khi đó ta có thể viết: Tc = CT TC. 
- Phương sai: là trung bình cộng của bình phương khoảng cách từ mỗi điểm 
tới kỳ vọng. Phương sai càng nhỏ thì các điểm dữ liệu 
- Càng gần với kỳ vọng, tức các điểm dữ liệu càng giống nhau. Phương sai 
càng lớn thì ta nói dữ liệu càng có tính phân tán 
S= 
 
 
∑ (  
 
    –X)(  	 −  )
  = 
 
 
    
 2 
Nguyễn Thị Thủy 21 Đại Học Công Nghệ 
- Kỳ vọng: 
ẍ = 
 
 
∑   
 
    
Ví dụ kì vọng và phương sai: 
Hình 0.14 Ví dụ về kỳ vọng và phương sai. a) Trong không gian 1 chiều. b) Không gian 2 chiều 
mà hai chiều không tương quan. Trong trường hợp này, ma trận 
hiệp phương sai là ma trận đường chéo với hai phần tử trên đường chéo 
là σ1,σ2σ1,σ2, đây cũng chính là hai trị riêng của ma trận hiệp phương sai và là 
phương sai của mỗi chiều dữ liệu. c) Dữ liệu trong không gian hai chiều có 
tương quan. Theo mỗi chiều, ta có thể tính được kỳ vọng và phương sai. Phương 
sai càng lớn thì dữ liệu trong chiều đó càng phân tán. Trong ví dụ này, dữ liệu 
theo chiều thứ hai phân tán nhiều hơn so so với chiều thứ nhất 
2.3.4. Các bước thực hiện trích chọn đặc trưng PCA 
Giả sử ta có N ảnh khuôn mặt, là tập ảnh huấn luyện   ,  , . .    Biểu 
diễn mỗi ảnh thành ma trận Mx1 có dạng: 
   = (   ,    ,     )
  với i=1,N (2.18) 
Bước 1: tính vector khuôn mặt trung bình của tập ảnh huấn luyện 
   = 
 
 
∑   
 
    (2.19) 
Nguyễn Thị Thủy 22 Đại Học Công Nghệ 
Bước 2: tính vector độ lệnh của mỗi khuôn mặt so với vector khuôn mặt 
trung bình 
Ɵ  =    -    với i=1,N (2.20) 
Bước 3: Tạo thành ma trận MxN 
A= [Ɵ Ɵ Ɵ 	] (2.21) 
Sau đó tính ma trận hiệp phương sai MxN 
C = 
 
 
A. 	 (2.22) 
Bước 4: tính các giá trị riêng của ma trận hiệp phương sai C ta được 
  ,   ,    , K≪ M 
Vợi K được tính theo công thức: 
∑   
 
   
∑   
 
   
 ≥ nguong(e.g,..0.90 or 0.95) 
Bước 5: tính đặc vector riêng của ma trận hiệp phương sai C 
  ,   , . .    với    = 
  
‖  ‖
, i= 1,..K (2.23) 
Tính K vector riêng của ma trận C theo công thức: 
   = A   (2.24) 
Bước 6: Giảm số chiều, chỉ giữ lại những thuộc tính tương ứng với các giá 
trị riêng lớn nhất (biểu diễn ảnh khuôn mặt trong không gian mới với K đặc 
trưng quan trọng nhất) Trong không gian mới, với các vector cơ sở là mỗi ảnh 
khuôn mặt trong tập huấn luyện được biểu diễn thành tổ hợp tuyến tính cảu các 
vevtor cở sở trên như sau: 
   =       +       + +       trong đó K≪   (2.25) 
Khi đó toạ độ của    được tính bằng công thức: 
 
 ́  
 ́  
 ́  
  = 
⎣
⎢
⎢
⎡
  
 
  
 
  
 ⎦
⎥
⎥
⎤
.Ɵ 	 (2.26) 
Cách để nhận được các thành phần chính Các thành phần chính có thể 
nhận được bằng cách chiếu các vector dữ liệu có nhiều biến động vào không 
gian mở rộng từ các vector đặc trưng. Khi lấy số đặc trưng càng về sau thì khả 
Nguyễn Thị Thủy 23 Đại Học Công Nghệ 
năng biến động càng thấp, có nghĩa là mỗi quan hệ giữa các phần tử càng cao, 
khi đó sự giao nhau giữa các lớp mẫu trong tập mẫu càng lớn. Ngược lại, khi ta 
lấy số lượng thành phần chính không đủ, thì khả năng phân tán của tập mẫu 
càng cao. 
2.4. Học máy hộ trợ vestor SVM 
2.4.1. Cơ sở lý thuyết 
SVM là phương pháp học do Vladimir N. Vapnik đề xuất vào năm 1995, 
và ngày càng được sử dụng phổ biến trong nhiều lĩnh vực, đặc biệt là lĩnh vực 
phân loại mẫu và nhận dạng mẫu. Đồng thời có nhiều tính năng ưu việt so với 
các phương pháp cổ điển khác: dễ dàng xử lý, xử lý với tính ổn định cao trên dữ 
liệu phức tạp, có thể có số chiều lớn và quan trọng hơn cả là khả năng xử lý tổng 
quát. 
2.4.2. SVM tuyến tính 
Trường hợp dữ liệu có thể phân cách được Bắt đầu với trường hợp đon 
giản nhất: máy học được huấn luyện trên dữ liệu có thể phân loại tuyến tính. 
Gán nhãn dữ liệu huấn luyện {xi, yi}, i = 1,...,/, yi e {- 1,1}, xi e Rd. Giả sử có 
các siêu mặt phẳng phân loại mẫu dương với mẫu âm (gọi là “siêu mặt phân 
cách”). Điểm X nằm trên siêu mặt thỏa phương trình w.x+b=0, trong đó w là 
pháp tuyến của siêu mặt, \b\ / ||w|| là khoảng cách từ siêu 59 mặt đến gốc toạ độ, 
và ||w|| độ lớn (Euclide) của w. Đặt d+(d-) là khoảng cách ngán nhất từ 
siêu mặt phân cách đến mẫu dương (âm) gần nhất. Định nghĩa “bờ” (margin) 
của siêu mặt phân cách (kí hiêu r), là (d+)+(d-). Với trường hợp tập mẫu có thể 
phân loại tuyến tính, thuật toán SVM chỉ đơn giản là tìm siêu mặt có khoảng 
cách bờ là cực đại cực đại. Các mô tả trên đây được công thức hoá như sau: giả 
sử mọi điểm trong tập học thỏa các ràng buộc: 
    +   ≥ 	+1	 với   = +1 
   w +b ≤ -1 với   =-1 (2.5) 
Kết hợp thành một bất đẳng thức rang buộc: 
  (  w +b) -1 ≥ 0 ∀i (2.6) 
Nguyễn Thị Thủy 24 Đại Học Công Nghệ 
Các mẫu dữ liệu thỏa công thức (2.4) nằm trên siêu mặt Hl: xlw + b = 1 
có pháp tuyến là vector w, và khoảng cách đến gốc tọa độ là |l-b|/||w||. Tuơng tự, 
các mẫu thỏa công thức (2.5) nằm trên siêu mặt H2: xiw + b = -1, có pháp tuyến 
là w và khoảng cách đến gốc toạ độ là |-l-b|/||w||. Khi đó, d+ = d- = 1 / ||w|| và bờ 
r = 2/ ||w||. Lưu ý ràng HI và H2 song song với nhau, và không có điểm dữ liệu 
nào nằm giữa chứng. Vì vậy, ta có thể tìm cặp siêu mặt có bờ (r) cực đại, bàng 
việc cực tiểu ||w|| với ràng buộc (2.6). 
Ta mong muốn lời giải cho trường hợp không gian hai chiều có dạng như 
trong Hình 4. Những điểm huấn luyện thoả phương trình (2.6) (tức những điểm 
nằm trên một trong hai siêu mặt Hl, H2 ), và việc loại bỏ chứng làm thay đổi lời 
giải, được gọi là các vector hỗ trợ; đó là các điểm được bao bằng các hình tròn 
trong Hình 4. 
Hình 0.15 Siêu măt phân cách tuyến tính cho trường hợp phân cách được và ký hiệu các support 
vestor chính là các diểm được bao bằng viền tròn 
Một cách để giải quyết bài toán là dùng hàm Largange. Có hai lý do cho 
điều này. Thứ nhất là ràng buộc (2.6) sẽ được thế bàng ràng buộc trên hệ số 
nhân Lagrange, để dễ làm việc hơn. Thứ hai là dữ liệu huấn luyện sẽ chỉ xuất 
hiện dưới dạng phép nhân vô hướng giữa các vector. Điều này cho phép tổng 
quát hoá cho trường hợp phi tuyến. 
Đưa ra các hệ số nhân Lagrange dương ai, i = 1,..,/ và ai > 0, cho các rang 
buộc bất đẳng thức (2.6). (Nhớ rằng với ràng bụôc dạng ci > 0, phương trình 
rang buộc được nhân với hệ số nhân Lagrange dương và bị trừ khỏi hàm mục 
tiêu với các ràng buộc đẳng thức hệ số nhân Lagrange không bị ràng buộc. khi 
Nguyễn Thị Thủy 25 Đại Học Công Nghệ 
hàm Lagrange có dạng như công thực được tính ở công thức bên dưới như 
sau   = 
 
 
| | - ∑   
 
      	(  w +b) + ∑   
 
    (2.7) 
Ta phải cực tiểu Lp theo (w),(b), đồng thời đòi hỏi đạo hàm của Lp triệt 
tiêu với mọi ai, với điều kiện ai > 0 (gọi tập ràng buộc này là C1 ). Hay giải bài 
toán đối ngẫu đó là cực đại Lp với điều kiện đạo hàm của Lp triệt tiêu với w, b 
và cũng với ràng buộc ai > 0 (gọi tập ràng buộc này là C2). Đạo hàm Lp triệt 
tiêu với w và b ta có các điều kiện: 
W = ∑          (2.8) 
∑        =0 (2.9) 
Vì đây là các trường hợp rằng buộc tuyến tính thay vào (2.7) ta được: 
   = ∑     - 
 
 
 ∑ .  (2.10) 
Việc huấn luyện SVM (trường hợp tuyến tính và có thể phân loại) là làm 
cực đại LD theo ai, với ràng buộc (2.9) và ai dương, với lời giải được tính theo 
(2.8). Trong lời giải, các mẫu thỏa ai > 0 được gọi là “vector hỗ trợ”, và nằm 
trên một trong hai siêu mặt phẳng HI và H2. Các điểm dữ liệu còn lại có ai = 0 
và nằm trên HI hoặc H2 (thoả đẳng thức (2.6)) hoặc nằm về một phía của HI 
hoặc H2 (thoả bất đẳng thức (2.6)). Với những máy này, các vector hỗ trợ là các 
thành phần tới hạn của tập huấn luyện. Chúng nằm gần đường biên quyết định; 
nếu mọi điểm huấn luyện khác bị loại bỏ và việc huấn luyện được lặp lại, siêu 
mặt phẳng phân cách được tìm thấy không đổi. 
2.4.3. SVM Phi Tuyến tính 
Làm thế nào các phương thức đã khảo sát trên có thể được tổng quát hoá 
cho trường hợp hàm quyết định không phải là hàm tuyến tính đối với dữ liệu? 
Ta thấy rằng dữ liệu trong bài toán huấn luyện, công thức (2.37) – (2.39), xuất 
hiện dưới dạng tích vô hướng xi ⋅ x j . Giả sử ta đã ánh xạ dữ liệu sang không 
gian Euclide Η khác (số chiều có thể vô hạn) dùng hàm ánh xạ Φ: 
Ф :    → H (2.51) 
Nguyễn Thị Thủy 26 Đại Học Công Nghệ 
Khi đó thuật toán huấn luyện chỉ phụ thuộc vào dữ liệu qua tích vô hướng 
trong Η, tức là hàm có dạng Φ(xi ) ⋅ Φ(x j ) . Nếu có một hàm xử lý chính K 
(hàm Kernel) mà K(xi , x j ) = Φ(xi ) ⋅ Φ(x j ) , ta sẽ chỉ cần dùng hàm K trong 
thuật toán huấn luyện, mà không cần biết dạng tường minh của Φ là gì Chẳng 
hạn: 
K (   ,   ) =  
    	    /2   (2.52) 
Trong ví dụ này, Η có số chiều vô hạn, vì thế không dễ làm việc với Φ 
một cách tường minh. Tuy nhiên, nếu thay xi ⋅ x j bằng K(xi , x j ) trong thuật 
toán huấn luyện, thuật toán sẽ tạo ra vector hỗ trợ trong không gian số chiều vô 
hạn, hơn nữa thời gian huấn luyện tương đương thời gian huấn luyện trên dữ 
liệu chưa được ánh xạ. Mọi xem xét trong các phần trước vẫn thỏa, vì ta vẫn làm 
việc với trường hợp phân cách tuyến tính, nhưng trong một không gian khác. 
Sử dụng hệ thống này như thế nào? Ta cần tìm w, trong Η (2.40). Nhưng khi thử 
nghiệm, máy được sử dụng bằng cách tính tích vô hướng của mẫu thử nghiệm x 
với w, hay cụ thể hơn tính dấu của 
∫( ) = ∑   	
  
      Ф(  ).Ф(x) + b =∑   
  
      K(  ,x) + b (2.53) 
Trong đó si là support vector. Vậy ta có thể dùng K(si , x) = Φ(si ) ⋅ Φ(x) 
.Gọi không gian dữ liệu là Λ. (Λ để chỉ không gian có số chiều nhỏ, và Η để chỉ 
không gian có số chiều lớn: thường thì đầu ra của Φ có chiều cao hơn đầu 
vào). Nhớ rằng, ngoài việc w nằm trên Η ra, nói chung không có vector nào 
trong Λ, qua ánh xạ Φ, thành w. Nếu có, f(x) trong công thức (2.53) có thể được 
tính bằng một bước, bỏ qua việc tính tổng (và tạo ra vector hỗ trợ tương ứng 
nhanh hơn NS lần). Dễ dàng tìm được dạng hàm xử lý chính (Kernel) (chẳng 
hạn hàm phép nhân vô hướng xi trong Λ) để thuật toán huấn luyện và lời giải 
tìm được là độc lập với số chiều của cả Λ và Η 
Giả sử dữ liệu là các vector trong không gian R2, và chọn K(xi , x j ) = (xi 
⋅ x j ) 2 . Khi đó dễ dàng tìm được không gian Η, và ánh xạ Φ từ R2 vào Η, để (x 
⋅ y) 2 = Φ(x) ⋅ Φ(y) : chọn Η = R3 và 
Nguyễn Thị Thủy 27 Đại Học Công Nghệ 
Ф(x) = 
  
 
√2
  
 
	      2.54 
Với dữ trong Λ đã xác định trong hình vuông [-1,1] X [-1,1] ∈ R2, ảnh 
của 
Φ được biểu diễn trong Hình 1. Hình này cũng cho thấy rằng ảnh của Φ có 
thể nằm trong không gian có số chiều lớn hơn, nhưng nó chỉ là một mặt (có thể 
méo mó) mà số chiều bên trong vẫn là Λ 
Hình 0.16 ảnh, trong H, với hình vuông [1,-1] €R2 dưới ánh xạ ϴ 
Chú ý rằng hàm ánh xạ Φ và không gian Η là không duy nhất với một hàm 
xử lý chính (kernel) cho trước. Ta có thể chọn Η = R3 và 
Ф(x) = 
 
√ 
 
  
  −	  
 
2    
  
  +   
 
  (2.55) 
Hay H =    và 
Ф(x) =
⎝
⎜
⎛
  
 
  
   
 
  
   
 
  
 
⎠
⎟
⎞
 (2.56 
Điều kiện Mercer Hàm xử lý chính nào tồn tại cặp {Η, Φ}, với các thuộc 
tính đã mô tả ở trên, hàm nào không? Câu trả lời được cho bởi điều kiện Mercer 
(Vapnik, 1995; Courant và Hilbert, 1953):Tồn tại ánh xạ Φ và 
K(x,y) =∑ Ф  ( ) .Ф( )  (2.57) 
Nguyễn Thị Thủy 28 Đại Học Công Nghệ 
Nếu và chỉ nếu, với bất kỳ g(x)mà 
∫  ( ) d(x) (2.58) 
Thì 
∫ ( ,  ) ( ) ( )    	 ≥ 0 (2.59) 
Với các trường hợp cụ thể, không dễ kiểm tra điều kiện Mercer có thoả 
hay không. Công thức (2.59) phải thỏa với mọi hàm g với L2 xác định (nghĩa là 
thỏa (2.58)). Tuy nhiên, có thể chứng minh điều kiện thỏa với phần mũ của phép 
nhân tích vô hướng là một số nguyên dương: K(x, y) = (x ⋅ y) p . Ta phải chứng 
tỏ rằng 
∫(∑     
 
    )
 g(x)g(y)dxdy ≥0 (2.60) 
Khai triển d p (∑i=1 xi yi ) 
 !
    !(       )!
∫   
    
      
    
   ( ) ( )     (2.61) 
kết hơp với vế trái (2.59): 
= 
 !
  	!  !   	   	   !
∫(  
    
    ( )  )  ≥ 0 (2.62) 
2.4.4. Nhận dạng khuôn mặt bằng SVM 
Trong đề tài này, SVM được kết hợp với cây nhị phân để giải quyết bài 
toán nhận dạng khuôn mặt đa lớp. 
2.4.4.1. Nhận dạng đa lớp dùng SVM với cây nhị phân 
Hệ thống nhận dạng mẫu đa lớp có thể có được bằng cách dùng SVM . Có 
ha chiến lược cho mụch đích này: (1) chiến lược one-against-all (một đối tất cả) 
để phân loại mỗi lớp với mọi lớp còn lại; (2) chiến lược một đối một để phân loạ 
giữa từng cặp. Chiến lược đầu tiên thường cho kết qủa phân loại nhập nhằng. Ta 
theo chiến lược thứ hai cho bài toán nhận dạng đa lớp Giả sử có tám lớp trong 
tập dữ liệu, cây quyết định được biểu diễn như trong Hình 06, trong đó các số 1-
8 mã hoá các lớp. Các số mã hoá các lớp là tuỳ ý không có nghĩa theo thứ tự. 
Bằng cách so sánh từng cặp, chọn ra một lớp biểu diễn “phần thắng” của hai lớp 
hiện hành. Các lớp được chọn (từ cấp thấp nhất của cây nhị phân) sẽ lên cấp trên 
Nguyễn Thị Thủy 29 Đại Học Công Nghệ 
với vòng thử nghiệm khác. Cuối cùng một lớp duy nhất sẽ xuất hiện ở đỉnh của 
cây. Khi c không là bội số của 2, ta phân tích: c = + + + 2 2 ... 2 n n n 1 2 I , với 
n n n 12 ≥ ≥ ≥ ... I . Nếu c lẻ thì nI = 0 và nếu c chẵn thì nI > 0 . Cách phân tích c 
khôngduy nhất. Sau khi phân tích, vịêc nhận dạng được thực hiện trong từng cây 
nhị phân, các lớp đầu ra của các cây nhị phân này được dùng lại để tạo ra cây 
nhị phân khác. Qúa trình này được lặp lại cho đến khi chỉ còn một đầu ra. SVM 
hàm phân biệt trong giai đoạn huấn luyện, và thực hiện c -1 phép so sánh dưới 
cấu trúc cây nhị phân đã tạo ra. 
Hình 0.17 cây nhị phân: Cấu trúc cây nhị phân với số lớp bằng số mũ của 2. Phải: số mũ không 
bằng số mũ của 2 
2.5. Đề xuất phương án nhận dạng khuôn mặt 
Có nhiều cách để kết hợp ác phương pháp nhận dạng khuôn mặt nhằm đạt hiệu 
quả cao, trong luận văn này tôi xin được trình bày phương pháp phát hiện khuôn 
mặt (Viola Jone Face Detection), trích chọn đặc trưng (WLD), phân tích thành 
phần chính (PCA) và phân lớp (SVM) 
Nguyễn Thị Thủy 30 Đại Học Công Nghệ 
CHƯƠNG 3: ỨNG DỤNG CÁC KỸ THUẬT TRONG NHẬN DẠNG 
KHUÔN MẶT 
Có nhiều Cách để kết hợp các phương pháp nhận dạng khuôn mặt nhằm 
đạt hiệu quả cao, trong luận văn này tác giả xin được trình bày phương pháp 
phát hiện khuôn mặt (Viola Jone Face Detection), trích chọn đặc trưng (WLD), 
phân tích thành phần chính(PCA) và phân lớp (SVM). 
Ảnh đưa vào nhận dạng, sau khi sử dụng Haar cascade để phát hiện và lấy 
ra khuôn mặt trong ảnh, sẽ tiến hành trích chọn đặc trưng sử dụng WLD và sử 
dụng PCA và sau đó sử dụng SVM để phân lớp/nhận dạng. 
Hình 0.18 Mô hình sử dụng trong nhận dạng khuôn mặt 
3.1. Phát hiện khuôn mặt (Viola Jone Face Detection) 
Khi đưa vào một bức ảnh, trong đó có thể có một hoặc nhiều khuôn mặt, 
cũng có thể không có khuôn mặt nào trong ảnh. Do đó ta cần phải kiểm tra xem 
trong bức ảnh ta đưa vào có khuôn mặt hay không. Phát hiện khuôn mặt sẽ tách 
tất cả khuôn mặt trong ảnh. Có rất nhiều kỹ thuật khác nhau được sử dụng để 
phát hiện khuôn mặt như AdaBoost hay phân loại Haar cascade. Trong luận văn 
này sẽ sử dụng thuật toán Haar cascade có sẵn trong thư viện mở OpenCV. 
3.2. Trích chọn đặc trưng (WLD) 
Nguyễn Thị Thủy 31 Đại Học Công Nghệ 
Ảnh đưa vào sau khi đã được thực hiện tiền xử lý vẫn có số lượng thành 
phần ảnh lớn, do đó ta cần thực hiện trích rút đặc trƣng của ảnh, chỉ giữ lại 
những thành phần quan trọng nhất nhằm mục đích giảm độ lớn ảnh, tăng tốc độ 
xử lý của hệ thống. Sử dụng phương pháp WLD để thực hiện trích rút đặc trưng. 
3.3. Phân tích thành phần chính PCA và nhận dạng/phân lớp SVM Phương 
pháp PCA: 
Mục đích: Giảm chiều dữ liệu của tập vestor sao cho vẫn đảm bảo được tối đa 
thông tin quan trọng nhất. tức feature extration (giữ K thuộc tính mới) chứ 
không phải feature selection (giữ lại k thuộc tính nguyên gốc ban đầu). 
Ý tưởng: thực hiện biến đổi trực giao để chọn các vector riêng có ý nghĩa. Mỗi 
vector riêng này tương ứng với các giá trị riêng có ý nghĩa nhất của tập dữ liệu. 
Mỗi vector đặc trưng sẽ được chiếu lên các vector này làm đặc trưng mới để 
phân lớp. 
Việc Trích chọn số đặc trưng (eigenface)Chỉ giữ lại K vector lớn nhất bằng 
cách giữ lại các K vector đầu tiên (trong ma trận các vector đặc trưng) tương 
ứng với K trị riêng lơn nhất. 
Hình 0.19 Mô hình quá trình tạo các đặc trưng mặt 
- Biểu diễn các ảnh theo vector trị riêng vừa tìm đươc Các ảnh sẽ tương 
ứng với một vector trọng số    mà mỗi hệ số của vector là hệ số tương 
ứng với một vector đặc trưng trong số các vector đặc trưng vừa tìm được. 
ta có thể biểu diễn như sau: 
Nguyễn Thị Thủy 32 Đại Học Công Nghệ 
Hình 0.20 Ảnh ban đầu được biểu diễn theo các trọng số    và eigenface (Nguồn: bài báo PCA) 
Đầu vào của PCA là các vector cột có M thành phần biểu diễn ảnh trong 
tập huấn luyện, đầu ra là các vector cột có K thành phần biểu diễn ảnh đã được 
trích rút đặc trưng. 
Phân lớp: Bước nhận dạng hay phân lớp tức là xác định danh tính (identity) 
hay nhãn của ảnh (label) – đó là ảnh của ai. Ở bước nhận dạng/phân lớp, ta sử 
dụng phương pháp SVM (Support Vector Machine). SVM sẽ tiến hành 
phân lớp ảnh trong tập huấn luyện, khi đưa ảnh vào nhận dạng sẽ được so sánh, 
tìm ra ảnh đó thuộc vào lớp nào. 
3.4. Mô tả dữ liệu 
3.4.1. Thu nhập dữ liệu 
Cơ sở dữ liệu ảnh được lấy 250 khuôn mặt từ được thu thập từ nhiều nguồn 
khác nhau. ảnh của 150 người đầu tiên được lấy từ trang quản lý cán bộ của một 
trường đại học. 50 người tiếp theo được lấy từ một hệ thống quản lý nhận sự: 
 50 ảnh tiếp theo được lấy từ hệ 
thống website: 
Ngoài ra, còn có tập dữ liệu do chúng tôi tạo ra trong lúc thực hiện đề tài. 
Đó là dữ liệu được thu thập bằng WebCam gồm 5 người khác nhau. Chính sự 
chủ động trong việc tạo mẫu nên số lượng ảnh khoảng trên 11ảnh/1người. 
Nhận xét về tập mẫu dữ liệu: Hầu hết các khuôn mặt xuất hiện trong ảnh là 
khuôn mặt trực diện với mặt phẳng ảnh và mỗi khuôn mặt đều đầy đủ thông tin 
Nguyễn Thị Thủy 33 Đại Học Công Nghệ 
đặc trưng như {Hai chân mày, hai mắt, mũi, miệng, cằm}. 11 ảnh/1người ở các 
trạng thái khác nhau như( cưới, khóc, vui, buồn,) 
Kích thước chuẩn hoá của mỗi mẫu trong tập huấn luyện như mô tả trên 
Hình07. Tuỳ thuộc vào đặc trưng xử lý của mỗi thuật toán ta sử dụng một trong 
hai dạng kích thước ảnh chuẩn trên. Mỗi người có 11 ảnh được chụp ở các điều 
kiện ánh sáng và cảm xúc khác nhau. 
Hình 0. 21 Ví dụ về ảnh của một người trong Yale face Database 
Hình 0.22 Ảnh 12 khuôn mặt người được đánh thứ tự từ 1 đến 12 
Nguyễn Thị Thủy 34 Đại Học Công Nghệ 
Hình 0.23 Kích thước chuẩn hóa của một mẫu khuôn mặt trong học tập 
3.4.2. Biểu diễn dữ liệu khuôn mặt trong máy tính 
Dữ liệu ảnh biểu diễn bên trong máy tính là cường độ sáng của điểm ảnh, 
tại vị trị x và y: (I(x,y)). Để biểu diễn dữ liệu cho các thuật toán học nhận dạng, 
ta dùng hai cách tổ chức dữ liệu như sau: 
 Đọc từng dòng ảnh theo thứ tự từ trên xuống, mỗi dòng ảnh được bố trí 
liên tục nhau trên một mảng số thực một chiều. Như vậy từ ảnh được biểu 
diễn thành mảng vector một chiều trong máy tính x=(x1,x2,.,x900).Đây 
là cách bố trí để thí nghiệm cho phương pháp PCA 
 Đọc từng khối ảnh theo thứ tự khối dưới chồng lấp khối trên một nữa kích 
thước tính theo chiều cao, trên mỗi khối ảnh này ta lại tiếp tục tách ra mỗi 
khối con 8×8 liên tục nhau. Từ khối 8×8(pixels), chúng tôi chọn ra 20 hệ 
số đặc trưng từ phép biến đổi trên miền tần số. Mỗi khối ảnh 8×32 sẽ 
được lượng hoá thành mỗi vector một chiều. Như vậy đỗi với ảnh mỗi 
khuôn mặt ta biểu biển trong máy tính thành một chuỗi các vector một 
chiều liên tiếp nhau. Trong chương này của luận văn xây dựng chương 
trình giải quyết vấn đề sau: 
- Đầu vào: là ảnh một khuôn mặt của một người nào đó đã được chuẩn hóa. 
- Đầu ra: chương trình nhận dạng đưa ra ảnh và thông tin về người đó. 
Nguyễn Thị Thủy 35 Đại Học Công Nghệ 
3.4.3. Dữ liệu huấn luyện 
Tập dữ liệu được chia làm hai tập chính là tập luyện (training) và tập thử 
nghiệm (testing). Mỗi gương mặt đều xuất hiện năm lần trong mỗi tập với các tư 
thế khác nhau và góc chụp ảnh khác nhau. 
a. Tập ảnh luyện (Training) 
Hình 0.24 Một phần của tập ảnh luyện 
b. Tập ảnh thử nghiệm (Testing) 
Hình 0.25 Một phần của tập ảnh thử nghiệm 
Xét về mặt kỹ thuật, các ảnh đều được chuẩn hóa về ảnh màu có cùng kích 
thước. 
3.5. Kết quả thực nghiệm 
Hệ thống sử dụng 200 ảnh từ các nguồn như sau: 150 ảnh được lấy từ trên 
mạng. 50 được lấy từ nguồn ảnh của các cán bộ trong cơ quan và chụp từ điện 
thoại. Đưa 50 thông tin của 200 ảnh được lấy từ 2 nguồn trên và thực nghiệm. 
kết quả thu được bảng sau: 
Nguyễn Thị Thủy 36 Đại Học Công Nghệ 
Loại ảnh Nhận ra 
nhận Không 
ra 
Không phải là 
mặt 
Tổng 
số 
Ảnh nằm trong tập huấn luyện 
100 100 0 0 
Khuôn mặt nằm trong tập huấn luyện 
30 29 1 0 
Khuôn mặt không nằm trong tập huấn luyện (khuôn mặt mới) 
105 97 8 0 
Ảnh bất kì không có khuôn mặt 
50 0 0 15 
Hình 0.26 Bảng 1.1. Bảng Thực nghiệm nhận dạng số lượng ảnh 
Kết quả thực nghiệm nhận dạng khuôn mặt sử dụng phương pháp luận 
văn này đưa ra so với chỉ sử dụng PCA ta thấy được kết quả như sau: 
Hình 0.27 kết quả thực nghiệm so với chỉ sử dụng PCA 
Nguyễn Thị Thủy 37 Đại Học Công Nghệ 
Với bộ ảnh thực nghiệm, khi tập luấn luyện chỉ có ảnh duy nhất thì kết 
quả của phương phát PCA kém hơn phương pháp phát hiện khuôn mặt kết hợp 
cùng PCA – SVM. 
3.6. Ứng dụng trong quản lý nhân sự 
3.6.1. Mô hình nhận dạng trong quản lý nhân sự 
Từ mô hình nhận dạng khuôn mặt mà luận văn này trình bày. Tôi xin đề 
xuất ứng dụng quản lý nhận sự sử dụng nhận dạng khuôn mặt. Như ở mô hình 
bên dưới: đặt một camera trước của ra vào tại cơ quan, khi một người đứng 
trước camera hệ thống nhận ra thông tin người đó và thực hiện mở cửa, nhập các 
thông tin trên chức năng nhận dạng. 
Hình 0.28 Mô hình nhận dạng ở cửa ra vào tại cơ quan 
Nguyễn Thị Thủy 38 Đại Học Công Nghệ 
3.6.2. Giao diện màn hình chức năng nhận dạng 
Dữ liệu sẽ được cập nhập vào màn hình danh mục chấm công sau khi hệ 
thống nhận dạng được thông tin người đi qua cửa châm công của cơ quan 
Nguyễn Thị Thủy 39 Đại Học Công Nghệ 
3.6.3. Giao diện màn hình chức năng quản lý bộ phận 
Chức năng cho phép người dùng thêm mới thông tin bộ phân của cơ quan 
vào hệ thống 
Nguyễn Thị Thủy 40 Đại Học Công Nghệ 
3.6.4. Giao diện màn hình chức năng quản lý phòng ban 
Chức năng cho phép người dùng thêm mới thông tin phòng ban của cơ 
quan vào hệ thống 
Nguyễn Thị Thủy 41 Đại Học Công Nghệ 
3.6.5. Giao diện màn hình chức năng quản lý nhân sự 
Chức năng cho phép người dùng thêm mới thông tin nhân sự của cơ quan 
vào hệ thống 
Nguyễn Thị Thủy 42 Đại Học Công Nghệ 
KẾT LUẬN 
Luận văn tốt nghiệp đã trình bày chi tiết, cụ thể về nhận dạng khuôn mặt 
người dựa trên kỹ thuật phát hiện khuôn mặt sử dụng phương pháp Viola Jone 
Face Detection, trích chọn đặc trưng sử dụng Weber local descriptor, phân tích 
thành phần chính sử dụng PCA và phân lớp SVM Và xây dựng chương trình thử 
nghiệm để đánh giá kết quả của việc sử dụng kỹ thuật các phương pháp trên để 
nhận dạng. Từ thực nghiệm ta cũng thu được một số kết quả cũng như đánh giá 
về thuật toán sử dụng. Các kết quả đạt được cho thấy độ chính xác của chương 
trình tương đối cao khoảng 96% nhận dạng đúng. Những kết quả chính được 
tổng kết như sau: 
 Giới thiệu chi tiết về phương pháp phát hiện khuôn mặt sử dụng phương 
pháp Viola Jone face detection 
 Giới thiệu chi tiết về phương pháp trích chọn đặc trưng 
 Giới thiệu chi tiết về phương pháp phân tích thành phần chính và máy 
vestor hỗ trợ (SVM) 
 Nhận xét và đánh giá những kết quả đạt được cho bài toán nhận dạng 
khuôn mặt 
 Đưa ra sự kết hợp giữa các phương pháp cũ, đơn giản, hiệu quả và độ 
chính xác tương đương hoặc tốt bằng các phương pháp mới khác. 
Tuy nhiên, do thời gian có hạn cộng thêm khối lượng công việc lớn nên vẫn 
còn một số vấn đề và ý tưởng mà luận văn chưa thực hiện được. Nhằm cải thiện 
khả năng hoạt động của chương trình, chương trình sẽ có thêm chức năng: 
 Tự động đưa ảnh nhận dạng về kích thước phù hợp khi ta thực hiện quét 
ảnh đưa vào chương trình nhận dạng và đưa ra được kết quả. 
 Nhận dạng mặt người qua webcam. Ý tưởng đưa ra là nhập vào hình 
ảnh trực tiếp từ webcam. hình ảnh webcam này có thể mô tả một người với 
khung nền biến đổi hoặc là một người giữa đám đông. Sau đó chương trình sẽ 
phát hiện và khoanh vùng vị trí của khuôn mặt trong khung hình và truy xuất cơ 
sở dữ liệu và đưa ra thông tin về người đó. Đó là ý tưởng phát triển trong tương 
Nguyễn Thị Thủy 43 Đại Học Công Nghệ 
lai của luận văn. Hiện tại, chương trình thực hiện được hai chức năng là đưa vào 
ảnh và đưa ra kết quả nhận dạng. 
Nguyễn Thị Thủy 44 Đại Học Công Nghệ 
TÀI LIỆU THAM KHẢO 
[1] Kyungnam Kim Department of Computer Science University of Maryland, 
College Park MD 20742, USA, Face Recognition using Principle 
Component Analysis 
[2 Guru Kashi Universiy, Sardulgarh Road, Talwandi Sabo, Punjab 151302, 
India, Face Recognition and Detection using Viola-Jones and Cross 
Correlation Method 
[3] Baback Moghaddam and Alex Pentland (1998), Beyond Linear Eigenspaces: 
Bayesian Matching for Face Recognition, Face Recognition from 
Theory and Applications, MIT Media Laboratory, 20 Ames St. Cambridge, 
MA 02139, USA, pp. 230-243. 
[4] Jie Chen, Member, IEEE, Shiguang Shan, Member, IEEE, Chu He, Guoying 
Zhao, Matti Pietikäinen, Senior Member, IEEE, Xilin Chen, Senior Member, 
IEEE, Wen Gao, Fellow, IEEE, WLD: A Robust Local Image Descriptor 
 [5] Alaa Eleyan and Hasan Demirel, PCA and LDA based Neural Networks for 
Human Face Recognition, Eastern Mediterranean University, Northern 
Cyprus. 
 [6] Christopher J.C. Burges (1998), A Tutorial on Support Vector Machines for 
Pattern Recognitio, Data Mining and Knowledge Discovery 2, pp. 121 -
167. 
[7] Daniel Bgraham và Nigel M Allinson (1998), Characterising Virtual 
Eigensignatures for General Purpose Face Recognition, Face Recognition 
from Theory and Applications, Image Engineering and Neural Computing 
Group, Department of Electrical Engineering and Electronics, University 
of Manchester Institute of Science and Technology. Manchester M60 1QD, 
UK, pp. 446-456. 
[8] Emmanuel Viennet and Francoise Fogelman Soulie (1998), Connectionists 
Methods for Human face Rrocessing, Face Recognition from Theory 
Nguyễn Thị Thủy 45 Đại Học Công Nghệ 
and Applications, University Paris 13, 93430 Villetaneuse, France, pp. 124-
156. 
[9] Guodong Guo, Stan Z.Li, Kap Luk Chan (2001), Learning Similarity for 
Texture Image Retrieval, School of EEE, Nanyang, Technological 
University Nanyang Avenue, Singapore. 
[10] Bernd Heisele, Purdy Ho and Tomaso Poggio, Face Recognition with 
Support Vector Machines: Global versus Component-based Approach, 
Massachusetts Institute of Technology Center for Biological and 
Computational Learning Cambridge, MA 02142. 
[11] H. Moon, P.J. Phillips, Computational and Performance aspects of 
PCAbased Face Recognition Algorithms, Perception, Vol. 30, 2001, pp. 
303-321 
[12] Jeffrey Huang, Chengjun Liu, and Harry Wechsler, Eye Detection and Face 
Recognition Using Evolutionary Computation, Face Recognition from 
Theoryand Applications, Department of Computer Science, George Mason 
University, pp. 348-377. 
[13] Kazunori Okada, Johannes Steffens, Thomas Maurer, Hai Hong, Egor 
Elagin, Hartmut Neven, and Christoph (1998), Computer Science 
Department and Center for Neural Engineering, Face Recognition from 
Theory and Applications, University of Southrn California Los Angeles, 
USA, pp. 186-205. 
[14] K. Jonsson, J. Matas, J. Kittler, Y.P. Li, Learning Support Vectors for Face 
Verification and Recognition, Proc. of the IEEE International Conference 
onAutomatic Face and Gesture Recognition, 26-30 March 2000, Grenoble, 
France, pp. 208-213. 
[15] M.A. Turk, A.P. Pentland, Face Recognition Using Eigenfaces, 
Proceedings of the IEEE Conference on Computer Vision and Pattern 
Recognition, Maui, Hawaii, USA, 3-6 June 1991, pp. 586-591 
[16] M.Kirby and L.Sirovich, Application of the karhunen-loeve procedure 
Nguyễn Thị Thủy 46 Đại Học Công Nghệ 
for the characterization of human faces, IEEE Pattern Analysis and 
Machine Intelligence, vol.12, no. 1, 1990, pp.103-108. 
[17] M. Turk, A. Pentland, Eigenfaces for Recognition, Journal of Cognitive 
Neurosicence, Vol. 3, No. 1, 1991, pp. 71 -86. 
[18] Rabia Jafri and Hamid R. Arabnia, A Survey of Face Recognition 
Techniques, Journal of Information Processing Systems, Vol.5, No.2, June 
2009, pp. 44-68. [19] Setiawan Hadi, Iping Supriana Suwardi, and Farid 
Wazdi, Technology of Face Recognition for Security System, Mathematics 
Department. UNPAD, Jl. Dipati Ukur 35 Bandung. 
[20] Steven W.Smith (1999), Chapter 27: Data compression, The Scientist and 
Engineer’s Guide to Digital Signal Processing, California Technical 
Publishing San Diego, California, pp. 481 -502. 
[21] T.Kohonen, Self-organzation and Associative Memory, SpringerVerlag, 
Berlin, 1989. 
[22] Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets, 
John Weng (1998), Discriminant Analysis of Principal Components for 
Face Recognition, Face Recognition from Theory and Applications, 
Centrer for Automation Research, University of Maryland, pp. 73-85 
            Các file đính kèm theo tài liệu này:
 luan_van_phuong_phap_nhan_dang_khuon_mat_nguoi_va_ung_dung_t.pdf luan_van_phuong_phap_nhan_dang_khuon_mat_nguoi_va_ung_dung_t.pdf