Báo cáo tóm tắt Đề tài Nghiên cứu xây dựng hệ thống tự động nhận dạng và phân tích khuôn mặt sinh viên nhằm hỗ trợ việc học tập tương tác trong lớp học

DANH SÁCH THAM GIA  
1. Các cá nhân tham gia:  
- TS. Phạm Minh Tuấn, Khoa Công nghệ Thông tin, Trường Đại học Bách khoa, Đại học Đà Nẵng  
- PGS. TS. Nguyễn Tấn Khôi, Khoa Công nghệ Thông tin, Trường Đại học Bách khoa, Đại học Đà  
Nẵng  
- TS. Ninh Khánh Duy, Khoa Công nghệ Thông tin, Trường Đại học Bách khoa, Đại học Đà Nẵng  
- ThS. Nguyễn Nguyễn Năng Hùng Vân, Trường Đại học Bách khoa, Đại học Đà Nẵng  
- ThS. Đỗ Phúc Hảo, Trường Đại học Kiến trúc Đà Nẵng  
- ThS. Trần Anh Kiệt, Đại Học Đà Nẵng  
2. Các tổ chức phối hợp:  
- Trung tâm DATIC, Trường Đại học Bách khoa, Đại học Đà Nẵng  
- Công ty TNHH MTV HIPPTECH VIETNAM INC.  
MỤC LỤC  
1.1. NHẬN DẠNG MẶT NGƯỜI................................................................................................ 7  
1.2. HỌC MÁY............................................................................................................................. 7  
1.3. KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG.......................................................................... 8  
1.4. THUẬT TOÁN VIOLA-JONES ......................................................................................... 10  
1.5. KẾT CHƯƠNG.................................................................................................................... 11  
2.1. XÂY DỰNG HỆ THỐNG................................................................................................... 12  
2.2. PHƯƠNG PHÁP ĐỀ XUẤT ............................................................................................... 12  
2.2. KẾT CHƯƠNG.................................................................................................................... 17  
3.1. MÔI TRƯỜNG THỰC NGHIỆM....................................................................................... 18  
3.1.1 Dữ liệu sử dụng............................................................................................................. 18  
3.1.2 Môi trường triển khai.................................................................................................... 18  
3.2. CÁC GIAI ĐOẠN THỰC NGHIỆM................................................................................... 18  
3.2.1 Thực nghiệm với tập dữ liệu 2D ................................................................................... 18  
3.2.2 Thực nghiệm so sánh phương pháp đề xuất và thuật toán Viola-Jones ........................ 18  
3.2.3 Kết quả thử nghiệm thực tế........................................................................................... 21  
3.3. KẾT CHƯƠNG.................................................................................................................... 22  
1
DANH MỤC HÌNH  
Số hiệu hình  
Hình 1.1  
Tên hình  
Trang  
10  
Một số mẫu Haar – like  
Hình 2.1  
Hình 2.2  
Hình ảnh cửa sổ khung con 2 x 2 với đặc trưng kích thước không nguyên  
Hàm thành viên Triangular  
14  
15  
Hình 2.3  
Hàm thành viên Gaussian  
16  
Hình 2.4  
Hàm thành viên Triangular gốc được áp dụng vào đặc trưng của phân  
lớp yếu đầu tiên  
16  
Hình 3.1  
Hình 3.2  
Hình 3.3  
Hình 3.4  
Hình 3.5  
Hình 3.6  
Hình 3.7  
Hình 3.8  
Hình 3.9  
Hình 3.10  
Hình 3.11  
Hình 3.12  
Hình 3.13  
Tập các hình ảnh thực nghiệm 2D  
Ma trận kết quả sử dụng PCR  
Ma trận kết quả sử dụng CGA-PCR  
18  
18  
18  
19  
19  
20  
20  
20  
21  
21  
21  
22  
22  
Ảnh gốc từ tập dữ liệu MIT cbcl trước khi chuẩn hóa  
Hình ảnh từ tập dữ liệu MIT cbcl sau khi được chuẩn hóa  
ROC cho 5 giá trị khác nhau của γ cho tập dữ liệu MIT cbcl  
ROC đối với 5 giá trị γ khác nhau cho tập dữ liệu Yi-Qing  
ROC hàm thành viên Gaussian cho tập dữ liệu MIT cbcl  
ROC hàm thành viên Gaussian cho tập dữ liệu Yi-Qing  
ROC của tất cả hàm thành viên cho tập dữ liệu MIT cbcl  
ROC tất cả hàm thành viên cho tập dữ liệu Yi-Qing  
Hình ảnh lớp học thực tế  
Kết quả của nhận dạng khuôn mặt lớp học thực tế  
DANH MỤC BẢNG  
Số hiệu bảng  
Bảng 3.1  
Tên bảng  
Số hình ảnh khuôn mặt/ không phải khuôn mặt trong tập dữ liệu MIT  
cbcl và Yi-Qing  
Trang  
19  
DANH MỤC TỪ VIẾT TẮT  
Ý nghĩa  
Conformal geometric algebra  
Từ viết tắt  
CGA  
PCA  
Principal component analysis  
PCR  
Principal component regression  
DBSCAN  
PCR-CGA  
ROC  
Density-based spatial clustering of applications with noise  
Principal Component Regression – Conformal Geometric Algebra  
Receiver Operating Characteristic  
2
INFORMATION ON RESEARCH RESULTS  
1. General information:  
− Project title: Building a system to automatically identify and analyze student faces to  
support interactive learning in the classroom.  
− Code number: CNTT-10  
− Project Leader: Dr. Pham Minh Tuan  
− Coordinator:  
o
o
o
o
o
Dr. Nguyễn Tấn Khôi  
Dr. Ninh Khánh Duy  
Mr. Nguyễn Năng Hùng Vân  
Mr. Đỗ Phúc Hảo  
Mr. Trần Anh Kiệt  
− Implementing institution: DATIC Center – Danang University of Technology, the  
University of Danang.  
− Duration: from 1/2017 to 12/2018  
2. Objectives:  
− Support for teacher to automatic attendance assessment of students.  
− Enhance face detection and recognition face detection methods with multiple facial  
expressions in real time.  
3. Cretiveness and innovativeness:  
− Propose a method of identifying objects with different rotation.  
− Improve the Viola-Jones algorithm by proposing a real number Haar-like and applying  
fuzzy logic in face training with high speed and recognition rates.  
4. Research results:  
− Two articles are published in the domestic journals.  
− Two articles are published in the international conferences.  
− One article is accepted in the international journals (SCOPUS).  
− Instructor 3 master students  
− Develop a web-based attendance system through the camera.  
5. Effect, transfer alternatives of research results and applicability:  
− Step 1: Transfer the software and instruction for deployment on the computer system.  
− Step 2: If the system gets high effect, it will be popular for other areas.  
5
MỞ ĐẦU  
1. Lý do chọn đề tài  
Ngày này, nghiên cứu các kỹ thuật xử lý và nhận dạng ảnh đang và được triển khai rộng rãi ở nước ta.  
Xử lý ảnh là một phân ngành trong xử lý tín hiệu số nhưng đối tượng tín hiệu cụ thể là ảnh. Đối tượng  
ảnh chủ yếu được sử dụng ở đây là ảnh số, và việc xử lý được tiến hành trên hệ thống máy tính. Thông  
thường việc xử lý ở đây được tiến hành theo quy trình sau. Đầu tiên, thông qua các phép biến đổi ảnh  
như làm mượt, nhị phân ảnh, trích xuất viền,… ta có thể thu được các thông tin hữu ích. Sau đó, từ các  
thông tin hữu ích, thông qua các phương pháp phân nhóm hay phân loại, nhận dạng ta có thể xây dựng  
được các hệ thống thông minh phục vụ cho cuộc sống của con người. Cụ thể ở nước ta, đã có các công  
trình nghiên cứu liên quan đến xử lý ảnh như nhận dạng cử chỉ tay tiếng việt [1] [2], tra cứu ảnh cây  
dược liệu [3]...  
Nghiên cứu của đề tài này chủ yếu chú trọng đến việc nhận dạng khuôn mặt người nhằm phân tích thái  
độ học tập của sinh viên. Cũng có các đề tài trong nước liên quan đến việc nhận dạng mặt người như  
nhận dạng khuôn mặt sử dụng kết hợp phương pháp phân tích thành phần chính và máy vector hỗ trợ  
[4] hay hỗ trợ điều tra tội phạm thông qua ứng dụng nhận dạng khuôn mặt [5]. Những nghiên cứu này  
sử dụng các phương pháp học máy nhằm nâng cao tỷ lệ nhận dạng cho các bài toán cụ thể của họ. Tỷ lệ  
nhận dạng đối với các khuôn mặt chính diện tương đối cao, tuy nhiên đối với các khuôn mặt chụp với  
các góc nghiên khác nhau thì tỷ lệ nhận dạng chưa được cao. Hơn nữa việc áp dụng vào lĩnh vực giáo  
dục nói chung cũng như bài toán phân tích thái độ học tập của sinh viên trong các trường đại học nói  
riêng vẫn còn hạn chế và ít được triển khai tại nước ta.  
Đối với các nghiên cứu tại nước ngoài, việc nghiên cứu nhận dạng khuôn mặt đã được triển khai ở  
nhiều nhóm nghiên cứu khác nhau. Có hai hướng chính trong việc nhận dạng khuôn mặt người. Đầu  
tiên là trích xuất vị trí khuôn mặt từ ảnh hoặc video như sử dụng mô hình Face Tracking [6] [7] hoặc  
sử dụng phương pháp “weak-classifiers” của nhóm tác giả Paul Viola, Michael J Jones [8]. Các thuật  
toán này có khả năng phát hiện các khuôn nặt người ở góc độ chính diện với tỷ lệ chính xác cao. Tiếp  
theo là quá trình nhận nhận dạng, các khuôn mặt đã được xác định vị trí sẽ được thông qua các phương  
pháp học máy như Phân tích biệt thức tuyến tính, Mạng nơ-ron, Máy vec-tơ hỗ trợ [9] để nhận dạng đó  
là khuôn mặt của đối tượng nào.  
Việc ứng dụng các nghiên cứu nhận dạng khuôn mặt áp dụng trong lĩnh vực giáo dục cũng đã được các  
nhóm nghiên cứu nước ngoài tiến hành. Đại diện có thể kể tới hệ thống điểm danh sinh viên sử dụng  
nhận dạng khuôn mặt của nhóm Kawaguchi Yohei [10] hay nhóm Arulogun [11]. Cũng như các  
nghiên cứu về nhận dạng khuôn mặt, các hệ thống này chủ yếu nhận dạng các khuôn mặt tương đối  
chính diện trong các lớp học để điểm danh. Tuy nhiên, trên thực tế chúng ta không thể bắt buộc các  
sinh viên ngồi đúng tư thế trong quá trình học tập. Vì vậy các bức ảnh trong một lớp học tại các thời  
điểm khác nhau sẽ dẫn tới kết quả các hướng của khuôn mặt sinh viên sẽ khác nhau. Dẫn tới việc nhận  
dạng chính xác sẽ rất khó khăn.  
Nghiên cứu này, nghiên cứu sử dụng đại số hình học (Geometric Algebra -GA) [12] kết hợp với các  
phương pháp học náy nhằm nâng cao tỉ lệ nhận dạng khuôn mặt với các góc độ khác nhau. Với đặc tính  
dễ dàng biểu diễn cũng như xử lý các đối tượng trong không gian 3D, có rất nhiều nghiên cứu thành  
công trong học máy cũng như các phương pháp trích chọn đặc tính khi áp dụng GA [13] [14]. Phương  
pháp nhận dạng vật thể sử dụng GA với các góc nhìn khác nhau cũng được đề xuất với độ chính xác  
cao [15], tuy nhiên ứng dụng cho khuôn mặt với các góc nhìn khác nhau vẫn chưa được đề xuất.  
6
 
CHƯƠNG I: TỔNG QUAN NGHIÊN CỨU  
NHẬN DẠNG MẶT NGƯỜI  
1.1  
1.1.1 Khái niệm về nhận dạng mặt người  
Nhận dạng mặt người (face recognititon) [16] là một lĩnh vực nghiên cứu của ngành Computer Vision,  
và cũng được xem là một lĩnh vực nghiên cứu của ngành Biometrics (tương tự như nhận dạng vân tay,  
hay nhận dạng mống mắt). Xét về nguyên tắc chung, nhận dạng khuôn mặt có sự tương đồng rất lớn  
với nhận dạng vân tay và nhận dạng mống mắt, tuy nhiên sự khác biệt nằm ở bước trích chọn đặc  
trưng (feature extraction) ở mỗi lĩnh vực khác nhau.  
Trên thực tế người ta hay chia các phương pháp nhận dạng mặt ra làm 3 loại: phương pháp tiếp cận  
toàn cục (Eigenfaces-PCA, Fisherface-LDA), phương pháp tiếp cận dựa trên các đặc điểm cục bộ  
(LBP [17], Gabor wavelets [18]) và phương pháp lai (là sự kết hợp của hai phương pháp toàn cục và  
đặc điểm cục bộ)  
Phương pháp dựa trên các đặc điểm cụ thể đã được chứng minh là ưu việt hơn khi làm việc trong các  
điều kiện không có kiểm soát và có thể nói rằng lịch sử phát triển của nhận dạng là sự phát triển của  
các phương pháp trích chọn đặc trưng (feature extraction methods) được sử dụng trong các hệ thống  
dựa trên feature based.  
Các ứng dụng của nhận dạng khuôn mặt dựa trên hai mô hình nhận dạng: xác định danh tính  
(identification) và xác thực danh tính (verification). Trong bài toán identification, ta cần xác định danh  
tính của ảnh kiểm tra, còn trong bài toán verification ta cần xác định hai ảnh có cùng thuộc về một  
người hay không.  
1.1.2 Các bước xây dựng hệ thống nhận dạng  
Xây dựng một hệ thống nhận dạng khuôn mặt trong thực tế được mô tả qua những bước sau đây:  
-
Bước 1: Thực hiện việc phát hiện khuôn mặt trong dữ liệu đầu vào (CSDL ảnh, video) và cắt  
lấy phần ảnh mặt để thực hiện nhận dạng (face cropping)  
-
-
Bước 2: Tiền xử lý ảnh (preprocessing) bao gồm các bước sau:  
o Căn chỉnh ảnh (face image alignment)  
o Chuẩn hóa ánh sáng (illumination normalization)  
o Trích chọn đặc trưng ảnh (feature extraction) để xây dựng một vector đặc trưng thể hiện cho  
ảnh cần nhận dạng  
Bước 3: Nhận dạng (recognition) hoặc phân lớp (classification)  
o Thường sử dụng các phương pháp học máy (kNN, SVM,..)  
o Dữ liệu sẽ được chia thành 2 tập (tập huấn luyện – tranning và tập để kiểm nghiệm – testing)  
o Tập training gồm các ảnh được dùng để huấn luyện, thông thường tập này được dùng để sinh  
ra một không gian con (project subspace) là một ma trận và phương pháp hay được sử dụng là  
PCA [19] (Principal Component Analysis), WPCA [20] (Whitened PCA), LDA [21] (Linear  
Discriminant Analysis), KPCA [22] (Kernel PCA),…  
Mục đích của việc huấn luyện: giảm số chiều của các vector đặc trưng vì các vector này thường có độ  
dài khá lớn nên nếu để nguyên thì việc tính toán sẽ rất lâu và phức tạp, thứ hai là làm tăng tính phân  
biệt (discriminative) giữa các ảnh khác lớp. Ở đây cần lưu ý là mỗi ảnh là một vector nên có thể dùng  
khái niệm hàm khoảng cách giữa hai vector để đo sự khác biệt giữa các ảnh.  
1.2  
HỌC MÁY  
1.2.1 Khái niệm  
Học máy [23] là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc phát triển các kĩ thuật cho phép  
các máy tính có thể "học". Cụ thể hơn, học máy là một phương pháp để tạo ra các chương trình máy  
tính bằng việc phân tích các tập dữ liệu.  
Học máy có liên quan lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu,  
nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính  
toán. Nhiều bài toán suy luận được xếp vào loại bài toán khó, vì thế một phần của học máy là nghiên  
cứu sự phát triển các giải thuật suy luận xấp xỉ mà có thể xử lý được.  
Học máy có tính ứng dụng rất cao bao gồm máy truy tìm dữ liệu, chẩn đoán y khoa, phát hiện thẻ tín  
dụng giả, phân tích thị trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết,  
dịch tự động, chơi trò chơi và cử động rô-bốt.  
1.2.2 Các phương pháp học máy  
1.2.2.1  
Học không giám sát  
7
 
Học không giám sát (Unsupervised Learning) là một phương pháp nhằm tìm ra một mô hình mà phù  
hợp với các tập dữ liệu quan sát. Nó khác biệt với học có giám sát ở chỗ là đầu ra đúng tương ứng cho  
mỗi đầu vào là không biết trước. Trong học không có giám sát, đầu vào là một tập dữ liệu được thu  
thập. Học không có giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến ngẫu  
nhiên. Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó.  
Học không giám sát có thể được dùng kết hợp với suy diễn Bayes (Bayesian inference) để cho ra xác  
suất có điều kiện cho bất kì biến ngẫu nhiên nào khi biết trước các biến khác.  
Học không giám sát cũng hữu ích cho việc nén dữ liệu: về cơ bản, mọi giải thuật nén dữ liệu hoặc là  
dựa vào một phân bố xác suất trên một tập đầu vào một cách tường minh hay không tường minh.  
Có rất nhiều thuật toán học không giám sát được ra đời và phát triển nhằm giải quyết bài toán phân  
cụm phục vụ khai thác hiệu quả nguồn dữ liệu chưa gán nhãn nhiều và rất đa dạng. Việc lựa chọn sử  
dụng thuật toán nào tuỳ thuộc vào dữ liệu và mục đích của từng bài toán. Trong đó các thuật toán  
thường được sử dụng như: K-mean, HAC (Hierarchial Agglomerative Clustering), SOM (Self-  
Organizing Map), DBSCAN…  
1.2.2.2  
Học có giám sát  
Học có giám sát (Supervised Learning) là một kĩ thuật của ngành học máy để xây dựng một hàm từ dữ  
liệu huấn luyện. Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu vào (thường dạng vec-tơ), và  
đầu ra mong muốn. Đầu ra của một hàm có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự  
đoán một nhãn phân loại cho một đối tượng đầu vào (gọi là phân loại).  
Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu  
vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương  
ứng). Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán  
được những tình huống chưa gặp phải theo một cách hợp lý.  
Một số thuật toán thường được lựa chọn khi xây dựng bộ phân lớp gồm có: Máy vector hỗ trợ  
(Support Vector Machine – SVM), hạt nhân phân tích biệt thức, K láng giềng gần nhất (K Nearest  
Neighbours – KNN), tiếp cận xác suất thống kê (Naive Bayes – NB), cây quyết định (Decision Tree –  
DT), mạng nơron (Neural Network – Nnet), Vector trọng tâm (Centroid–base vector), tuyến tính bình  
phương nhỏ nhất (Linear Least Square Fit – LLSF).  
1.2.2.3  
Học bán giám sát  
Trong khoa học máy tính, học bán giám sát là một lớp của kỹ thuật học máy, sử dụng cả dữ liệu đã  
gán nhãn và chưa gán nhãn để huấn luyện - điển hình là một lượng nhỏ dữ liệu có gán nhãn cùng với  
lượng lớn dữ liệu chưa gán nhãn. Học bán giám sát đứng giữa học không giám sát (không có bất kì dữ  
liệu có nhãn nào) và có giám sát (toàn bộ dữ liệu đều được gán nhãn). Nhiều nhà nghiên cứu nhận thấy  
dữ liệu không gán nhãn, khi được sử dụng kết hợp với một chút dữ liệu có gán nhãn, có thể cải thiện  
đáng kể độ chính xác. Để gán nhãn dữ liệu cho một bài toán học máy thường đòi hỏi một chuyên viên  
có kĩ năng để phân loại bằng tay các ví dụ huấn luyện. Chi phí cho quy trình này khiến tập dữ liệu  
được gán nhãn hoàn toàn trở nên không khả thi, trong khi dữ liệu không gán nhãn thường tương đối rẻ  
tiền. Trong tình huống đó, học bán giám sát có giá trị thực tiễn lớn lao.  
Một số thuật toán thường được sử dụng gồm có: thuật toán Cực đại kỳ vọng (EM - Expectation  
Maximization), SVM truyền dẫn (TSVM - Transductive Support Vector Machine), Self-training, Co-  
training và các phương pháp dựa trên đồ thị (graph-based).  
Việc lựa chọn thuật toán nào dựa trên một số định hướng: nếu các lớp dữ liệu có tính phân cụm cao thì  
nên dùng EM với mô hình hỗn hợp sinh; nếu đã sử dụng SVM thì mở rộng thành TSVM; khi khó nâng  
cấp mô hình học có giám sát đã có, thì nên dùng self-training; nếu các đặc trưng của dữ liệu phân chia  
tự nhiên thành hai phần riêng rẽ thì nên dùng Co-training; còn nếu hai mẫu dữ liệu có đặc trưng tương  
tự nhau hướng tới một lớp thì sử dụng phương pháp dựa trên đồ thị.  
1.3  
KỸ THUẬT TRÍCH CHỌN ĐẶC TRƯNG  
1.3.1 Phân tích thành phần chính (PCA)  
PCA [1] là một phương pháp quan trọng của việc trích xuất đặc trưng và nó được sử dụng rộng rãi  
trong lĩnh vực học máy.  
Cho một tập dữ liệu dạng vector như sau:  
푛
푑
{
|
푋 = 풙푖 풙푖 ∈ 푹 }푖=1  
(1)  
Ở đó xi là vector thứ i trong không gian d-chiều.  
PCA là một kỹ thuật biến đổi tuyến tính để đẩy dữ liệu vào một hệ tọa độ mới. Phép biến đổi tuyến  
tính được định nghĩa bởi tích vô hướng của vector x và vector đơn vị của trọng số 풘 ∈ 푹푑, ở đó  
8
‖ ‖  
풘 = 1. Và vấn đề bây giờ là làm sao tìm được vector trọng số như là hiệp phương sai của phép  
biến đổi tuyến tính 풘T풙 là lớn nhất.  
Có thể toán học hóa vấn đề như sau:  
푛
1
T
T
2
‖ ‖2  
max  
∑(풘 풙풊 − 풘 휇) , 푠. 푡 풘 = 1  
(2)  
풘
푛
푖=1  
Ở đó  
푛
1
흁 = ∑ 풙푖  
(3)  
푛
푖=1  
흁 là trung bình của tất cả các vector của tập dữ liệu X.  
Để giải quyết tối ưu vấn đề này, trong báo cáo này giới thiệu hệ số Lagrange 휆 ≥ 0 cho hàm Lagrange  
như sau:  
푛
1
T
T
2
(
)
(‖ ‖2  
)
퐿 풘, 휆 = ∑(풘 풙풊 − 풘 흁) − 휆 풘 − 1  
(4)  
푛
푖=1  
(
)
Sau đó, tính đạo hàm của 퐿 풘, 휆 với việc w tiến đến giá trị bằng 0 và được công thức như sau:  
푛
1
T
(
)(  
)
∑ 풙풊 − 흁 풙풊 − 흁 풘 = 휆풘  
(5)  
(6)  
(7)  
n
푖=1  
Cho nên việc tối ưu vấn đề được giải quyết bởi việc phân hủy eigen như sau:  
퐶풘 = 휆풘,  
Ở đó  
푛
1
T
(
)(  
)
퐶 = ∑ 푥푖 − 휇 푥푖 − 휇  
푛
푖=1  
C chính là ma trận phương sai của tập dữ liệu X.  
Cuối cùng, PCA sử dụng giảm số chiều của dữ liệu sử dụng k vector riêng (eigenvectors) đầu tiên.  
Những vector là một tương ứng với giá trị riêng (eigenvalues) lớn nhất. Điều này có nghĩa là tập dữ  
liệu gốc được xấp xỉ bởi dữ liệu có số chiều ít hơn và tổng quan hơn là dữ liệu gốc. PCA được sử dụng  
như một phương pháp trích chọn đặc trưng. Đặc trưng 푓(푥) có thể được trích xuất từ vector x sử dụng  
k eigenvector đầu tiên như sau:  
T
T
T
( )  
(
)
푓
푃퐶퐴  
풙 = ( 풙 − 흁 풘ퟏ, … , (풙 − 흁) 풘푘)  
(8)  
ở đó 풘풊 là vector riêng (eigenvector) thứ i, 1 ≤ 푖 ≤ 푘.  
1.3.2 Phương pháp hồi quy thành phần chính (PCR)  
PCR là một phương pháp phân tích hồi quy sử dụng PCA. Đầu tiên, PCR tìm vector trọng số w theo  
hàm lỗi như sau:  
푛
1
퐸 = ∑(풘T풙풊 − 풘T흁)2  
(9)  
푛
푖=1  
푛
푑
{
|
E là nhỏ nhất. Ở đó 풙푖 và 흁 là vector thứ i và vector trung bình của tập dữ liệu = 푥푖 푥푖 휖 푅 }푖=1  
.
Việc tính toán để tìm vector trọng số w tương tự như PCA, nhưng PCR sử dụng giá trị riêng  
(eigenvalues) nhỏ nhất. Sau đó, PCR biến đổi dữ liệu x bằng cách xóa đi l vector riêng (eigenvector)  
đầu tiên.  
Phép biến đổi như sau:  
T
풙 = ( 풙 − 흁 풘풍+ퟏ, … , (풙 − 흁)풘풎)T  
(10)  
( )  
(
)
푓
푃퐶푅  
{
}
ở đó 푚 = min 푛 − 1, 푑 là mức độ tự do của tập dữ liệu X.  
Báo cáo mô tả một phương pháp phân lớ dựa trên PCR như sau. Đưa vào một tập dữ liệu:  
푛
푑
{(  
)|  
푇 = 풙푖, 풚푖 풙풊 ∈ 푅 , 풚풊 ∈ 퐶 = {1, … , 푐}}푖=1  
(11)  
ở đây 풙풊 và 풚풊 là vector thứ i và nhãn của tập dữ liệu huấn luyện. C là tập nhãn tương ứng.  
푑
{
Đầu tiên, tính toán tất cả các vector riêng (eigenvectors) cho mỗi tập hợp 푋 = 풙풊 ∈ 푅 |풚풊 = 푗; 푗 ∈  
푗
퐶 = {1, . . , 푐}} và tìm phép biến đổi tương ứng với 푓푃퐶푅;푗(풙). Sau đó, một vector x mới được định  
nghĩa phân lớp đơn giản như sau:  
푗
̂
= 푎푟푔 min‖푓푃퐶푅;푗(풙)‖2  
(12)  
풘
9
Bởi vì một đặc trưng của PCR là giả sử dữ liệu được phân bổ trên siêu mặt phẳng, nó không thể ứng  
dụng vào trường hợp dữ liệu phân bổ trên siêu mặt phẳng như những đối tượng quay. Phương pháp  
trích xuất đặc trưng sử dụng PCR có thể biểu diễn tốt những dữ liệu phân bổ trên siêu mặt phẳng,  
nhưng với những dữ liệu biểu diễn của những đối tượng quay thì phương pháp này biểu diễn không  
được tốt.  
Trong báo cáo này, sử dụng phương pháp nhận dạng đối tượng quay, báo cáo đề xuất sử dụng kết hợp  
giữa PCR và CGA nhằm trích xuất dữ liệu được phân bổ trên siêu mặt cầu đối với những đối tượng  
quay. Phương pháp đề xuất kết hợp giữa PCR và CGA được trình bày chi tiết ở chương 2.  
1.4  
THUẬT TOÁN VIOLA-JONES  
Ngoài việc trích xuất đặc trưng, nghiên cứu này cũng đồng thời áp dụng và cải tiến thuật toán Viola-  
Jones nhằm nâng cao khả năng phát hiện khuôn mặt từ các hình ảnh thu được từ camera. Trong mục  
này, báo cáo phân tích ưu nhược điểm của thuật toán Viola-Jones để đưa ra cái nhìn tổng quan và từ  
đó phát triển thuật toán phát hiện khuôn mặt.  
1.4.1 Đặc trưng Haar-like  
Đặc trưng Haar-Like [8] là tập hợp những đặc trưng đường ngang, đường dọc, đường chéo…của một  
đối tượng. Các đặc trưng này được lưu trong 1 file, dựa vào file này mà có thể biết được ảnh có chứa  
đối tượng cần tìm hay không.  
Hình 1.1: Một số mẫu Haar – like  
Dùng các đặc trưng trên, ta có thể tính được giá trị của đặc trưng Haar-like là sự chênh lệch giữa tổng  
của các pixel của các vùng đen và các vùng trắng như trong công thức sau:  
f(x) = Tổngvùng đen(các mức xám của pixel) - Tổngvùng trắng(các mức xám của pixel)  
1.4.2 Bộ phân loại yếu  
Ứng với mỗi đặc trưng, bộ phân loại yếu được xác định như sau:  
( )  
+1 푝 × 푓 푥 < 푝 × 휃  
( )  
W 푥 = {  
( )  
−1 푝 × 푓 푥 ≥ 푝 × 휃  
Trong đó:  
-
-
-
-
x là hình ảnh 24 x 24.  
p là hệ số (-1 hoặc + 1).  
f (x) là giá trị các các đặc trưng ứng với x.  
θ là ngưỡng.  
Có thể hiểu công thức như sau: Nếu giá trị của Haar-like -feature của một hình ảnh vượt qua một  
ngưỡng thì phân loại yếu sẽ kết luận rằng hình ảnh đó là khuôn mặt và ngược lại hình ảnh đó không  
phải là khuôn mặt.  
Ngưỡng θ và p sẽ được tính toán bằng cách huấn luyện. Với ngưỡng thích hợp, kết quả của loại sẽ chỉ  
ra những hình ảnh có W vượt ngưỡng là một khuôn mặt. Tuy nhiên, chỉ sử dụng một phân loại yếu sẽ  
cho độ chính xác thấp. Bộ phân loại mạnh  
Bộ phân loại mạnh được tổng hợp từ nhiều bộ phân loại yếu. Bộ phân loại mạnh được xác định như  
sau:  
푛−1  
 
 
( )  
+1 ∑ 훼푡푊 푥 > 휑  
푡
푡=0  
( )  
S 푥 =  
푛−1  
 
 
{
( )  
−1 ∑ 훼푡푊 푥 ≤ 휑  
푡
푡=0  
10  
Trong đó:  
-
-
-
-
n là số lượng bộ phân loại yếu.  
Wt là hàm phân loại yếu thứ t.  
αt là hệ số phân loại yếu thứ t.  
φ là ngưỡng của phân loại mạnh.  
Nếu x là một khuôn mặt, phân loại mạnh sẽ cho kết quả là đúng và ngược lại. Phân loại mạnh là sự kết  
hợp của nhiều phân loại yếu. Các thông số như αt, φ sẽ được tính toán trong quá trình huấn luyện.  
Trong phần tiếp theo, báo cáo sẽ mô tả làm thế nào để tạo ra một loại mạnh bằng cách sử dụng thuật  
toán AdaBoost.  
1.5  
Kết chương  
Chương này đã trình bày tổng quan về nhận dạng mặt người đồng thời giới thiệu các phương pháp học  
máy hiện nay. Sau đó, trình bày các kỹ thuật trích chọn đặc trưng PCA và PCR. Cuối cùng, chương  
này trình bày kỹ thuật phát hiện và nhận dạng khuôn mặt sử dụng thuật toán Viola-Jones. Chương tiếp  
theo sẽ là phần đề xuất và cải tiến các phương pháp trích chọn đặc cũng như thuật toán Viola-Jones.  
11  
CHƯƠNG II: XÂY DỰNG HỆ THỐNG VÀ PHƯƠNG PHÁP ĐỀ XUẤT  
2.1 XÂY DỰNG HỆ THỐNG  
2.1.1 Giới thiệu bài toán  
Trong báo cáo này, xây dựng hệ thống dùng để nhận dạng đối tượng sinh viên thông qua khuôn mặt  
với nhiều góc quay khác nhau. Ở mỗi lần nhận dạng, hệ thống sẽ được “bổ sung” thêm dữ liệu để huấn  
luyện, điều này làm cho mô hình nhận dạng càng ngày được nâng cao tỉ lệ nhận dạng. Đây là một kỹ  
thuật thể hiện rõ nét phương pháp học tăng cường của học máy.  
Với dữ liệu hình ảnh ban đầu, hệ thống nhận dạng được góc quay của từng khuôn mặt so với hình ảnh  
đưa vào, từ đó xác định được thái độ học tập của sinh viên (tức là có cùng nhìn về một hướng hay có  
người không tập trung so với những người còn lại).  
Hệ thống cho phép giáo viên upload ảnh của mỗi học phần lên, nó cho phép đồng bộ với Box server,  
trong khoảng thời gian nhất định, mỗi sinh viên của từng học phần phải vào xác nhận tính đúng sai của  
hệ thống nhận dạng chính mình. Sau khoảng thời gian đó, giáo viên sẽ kiểm tra và xác nhận tính đúng  
đắn và sau khi đồng ý, hệ thống bắt đầu lấy những hình này để làm phong phú thêm tập huấn luyện,  
sau đó xây dựng lại mô hình từ dữ liệu mới cập nhật, việc này sẽ tăng tỉ lệ nhận dạng sau này.  
2.2 PHƯƠNG PHÁP ĐỀ XUẤT  
2.2.1 Đại số hình học bảo giác (CGA)  
Đại số hình học bảo giác (CGA) là một phần của GA [25]. GA định nghĩa không gian bằng cách định  
nghĩa 푝 + 푞 vector cơ sở vuông góc nhau 풪 = {풆1, … , 풆푝, 풆푝+1, … , 풆푝+푞}, trong đó 풆2푖 = +1, ∀푖 ∈  
2
{
}
{1, … , 푝} và 풆푖 = −1, ∀푖 ∈ 푝 + 1, … , 푞 . Ở đây, ta ký hiệu không gian được định nghĩa bởi là 풢p, q.  
Như vậy không gian thực m chiều ℛ푚có thể được biểu diễn bởi 풢m,0 trong GA.  
Không gian CGA mở rộng từ không gian thực ℛ푚 với việc thêm 2 vector cơ sở. Do đó, một không  
gian  
CGA  
được  
xác  
định  
bởi  
m + 2 vector cơ sở {풆1, … , 풆푚, 풆+, 풆−}, trong đó 풆+ và 풆− được định nghĩa như sau:  
풆2+ = 풆+ ∙ 풆+ = 1,  
풆2− = 풆− ∙ 풆− = −1,  
{
}
풆+ ∙ 풆− = 풆+ ∙ 풆푖 = 풆− ∙ 풆푖 = 0, ∀푖 1, … , 푚  
( 13 )  
Do đó, một không gian CGA được có thể được ký hiệu bởi 풢푚+1,1. Ta định nghĩa thêm 2 vector cơ sở  
sau:  
1
(
)
(
)
풆0 = 풆− − 풆+ , 풆∞ = 풆− + 풆+  
(14)  
2
Từ (13) và (14) ta có  
풆0. 풆0 = 풆∞. 풆∞ = 0,  
풆0. 풆∞ = 풆∞. 풆0 = −1,  
{
}
풆0. 풆푖 = 풆∞. 풆푖 = 0, ∀푖 ∈ 1, … , 푚  
(15)  
Theo đề xuất của Hestenes [25], vector thực 풙 = 푚 풙푖풆푖 ∈ ℛ푚có thể biểu diễn bởi một điểm 푃 ∈  
∑
푖
풢푚+1,1 trên không gian CGA như sau:  
푃 = 풙 + 12 풙 풆∞ + 풆0  
(16)  
‖ ‖2  
Một hình cầu được biểu diễn như một vector bảo giác (conformal vector) trong không gian CGA:  
1 {‖ ‖2  
}
S = 푃 − 12 푟2풆∞ = 풙 + 2  
풙
− 푟 풆∞ + 풆0,  
(17)  
2
Ở đây S chính là biểu diễn của một mặt cầu có tâm là 풙, bán kính 푟 trong không gian thực ℛ푚. Khi  
nội tích (inner product) 푆 ∙ 푄 = 0, Q sẽ là điểm nằm trên mặt cầu 푆. Từ (16) và (17), ta nhận thấy rằng  
một điểm bất kỳ là một hình cầu với bán kính 푟 = 0 trong không gian CGA 풢푚+1,1  
Một vector bảo giác 푆 trong 풢푛+1,1 được viết dưới dạng tổng quát:  
.
푆 = 풔 + 푠∞풆∞ + 푠0풆0.  
(18)  
풔 = 푚 푠푖풆푖 là một vector trong không gian thực ℛ푚 . 푠∞ 푣à 푠0 là tham số của các vector cơ sở  
∑
푖
풆∞ 푣à 풆0.  
Trong bao cáo này, sử dụng tích vô hướng của điểm P với vector bảo giác S làm khoảng cách giữa  
chúng. Từ công thức (15), (16) và (18), ta tính được khoảng cách như sau:  
(
)
푑 푃, 푆 =  
1
2
‖ ‖2  
풙 풆∞ + 풆0). (풔 + 푠∞풆∞ + 푠0풆0)  
= (풙 +  
12  
 
1
2
‖ ‖2  
풙 푠0  
= 풙. 풔 − 푠∞ −  
(19)  
Khi d(P,S) = 0, ta có  
1
2
‖ ‖2  
풙 푠0 = 0  
풙. 풔 − 푠∞ −  
풙. 풔 − 푠∞ = 0  
(푠0 = 0 )  
2
2
⟺ {  
(20)  
‖ ‖  
풔
1
−2푠 푠  
0
∞
‖풙 − 풔‖ =  
(푠0 ≠ 0)  
2
푠
0
푠
0
Theo (20) thì khi d(P,S) = 0 thì điểm P nằm trên siêu mặt phẳng (s0 = 0) hoặc là nằm trên siêu mặt cầu  
(s0 ≠ 0) được thể hiện như vector bảo giác S trên không gian CGA.  
Ở đây, sử dụng đặc trưng này để đề xuất một phương pháp hồi quy mới.  
2.2.2 Phương pháp trích chọn đặc trưng dựa trên Đại số hình học bảo giác (CGA)  
Trong giải pháp đề xuất này, dữ liệu của đối tượng quay được biểu diễn trên siêu mặt cầu, cho nên  
việc sử dụng thuần tí phương pháp trích chọn đặc trưng PCR có kết quả rất thấp, bởi vì phương pháp  
PCR chỉ trích chọn đặc trưng tốt đối với tập dữ liệu được phân bổ chủ yếu trên siêu mặt phẳng. Nên  
trong phần này, sẽ đưa ra phương pháp đề xuất kết hợp kỹ thuật PCR với Đại số hình học bảo giác để  
trích chọn đặc trưng của những đối tượng quay có phân bổ dữ liệu chủ yếu trên siêu mặt cầu. Điều này  
sẽ cho kết quả nhận dạng đối tượng sẽ cao hơn so với việc sử dụng kỹ thuật PCR thuần tí.  
Trong phần này, sẽ đề xuất một phương pháp phân loại sử dụng CGA, đưa vào một tập huấn luyện  
푛
푑
{(  
)|  
푇 = 풙풊, 풚풊 풙풊 ∈ 푅 , 풚풊 ∈ 퐶 = {1, … , 푐}}푖=1  
(21)  
Khi đó yi là nhãn của vector xi trong không gian Rd. Ta tách rời tập huấn luyện thành c tập con, mỗi  
tập con định nghĩa như sau:  
푑
{
푋 = 풙풊 ∈ 푅 |풚풊 = 푗; 푗 ∈ {1, … , 푐}}  
(22)  
푗
Đầu tiên, phương pháp đề xuất sẽ biến đổi d-chiều vector của mỗi tập con thành những điểm trên  
không gian CGA. Từ công thức (16), có thể trình bày lại theo từng tập con như sau:  
1
‖ ‖2  
푃 = {푃 = 풙풊 +  
풙 풆∞ + 풆0 ∈ 풢푑+1,1 | 풚풊 = 푗; 푗 ∈ 퐶  
푗
푖
2
= {1, … , 푐}}  
(23)  
(24)  
Sau đó, định nghĩa hàm lỗi Ej cho mỗi tập con thứ j như sau:  
퐸 = ∑ 푑2(푃 , 푆 )  
푗
푖
푗
푦 =푗  
푖
1
2
‖ ‖2  
풙푖 푠0푗)2  
= ∑ ( 풙푖푠푗 − 푠∞푗  
−
푦 =푗  
푖
Từ công thức (20) có thể thấy rằng bề mặt siêu mặt phẳng hoặc siêu mặt cầu không thay đổi khi nhân  
thêm một hệ số bất kỳ. Điều này có nghĩa là khi tối thiểu hóa hàm lỗi Ej, giá trị sj có thể giới hạn bởi  
‖푠 ‖2 = 1. Trong trường hợp này, bài toán sẽ trở thành tìm cực tiểu hàm sau:  
푗
1
‖ ‖2  
풙푖 푠0푗)2  
푚푖푛 ∑ ( 풙푖풔풋 − 푠∞푗  
−
(25)  
(26)  
2
푦 =푗  
푖
Với điều kiện là:  
‖푠 ‖2 = 1  
푗
Kết quả tối ưu để giải quyết vấn đề này được đề xuất bởi Pham [26]. Vấn đề tối ưu được giải quyết  
bằng việc phân hủy các eigen như sau:  
푨푗풔풋 = 휆푗풔풋  
(27)  
(28)  
(29)  
Aj là ma trận phương sai của tập huấn luyện thứ j trong không gian CGA  
푛
푨푗 = ∑  
풇풋(풙풊)풇T(풙풊)  
푦 =푗  
푖
Hàm fj(x) được định nghĩa như sau:  
풇푗 풙 = 풙 − 풇∞푗 − 풙 풇ퟎ풋 ∈ 푹푑  
( )  
‖ ‖2  
ở đó  
2
∑4 ∑  
∑
∑
‖ ‖2  
−
푦 =푗(풙풊) +  
푦 =푗( 풙풊 풙풊)  
4
푗
푗
푗
푖
푖
풇∞ =  
(30)  
2
)2 − 푛푗  
∑
(
∑
푗
13  
∑2 ∑  
∑
‖ ‖2  
푦 =푗(풙풊) − 푛푗 푦 =푗( 풙풊 풙풊)  
푗
푖
푖
풇0 =  
(31)  
∑
‖ ‖4  
= 푦 =푗( 풙풊 ) và 푛푗 =  
푖
2
푗
4
푗
)2 − 푛푗  
∑
(
∑
2
4
푗
∑
∑
‖ ‖2  
∑
Trong đó tổng bình phương  
=
푦 =푗( 풙푖 ) và tổng mũ bốn  
푗
푖
∑
푦 =푗 1 là số phần từ của vector trong tập con Xj  
푖
Một eigen vetor sj là một vector eigen bảo giác của tập con Xj được định nghĩa trong siêu mặt cầu (-  
mặt phẳng) 푆 = 풔풋 + 푠∞푗풆∞ + 푠0푗풆0 và các giá trị riêng 휆푗 là phương sai.  
푗
Một vector riêng (eigen vector) là một vector bảo giác riêng được định nghĩa trên siêu hình cầu 푆 =  
풔 + 푠∞풆∞ + 푠0풆0 và giá trị riêng là phương sai với khoảng cách chính là bình phương khoảng cách  
giữa Pk và S. Các ước tính siêu mặt cầu hoặc siêu mặt phẳng sẽ khớp với tập dữ liệu khi giá trị riêng 훾  
là 0. Bởi vì có d giá trị riêng khi dữ liệu gốc biểu diễn không gian là d chiều, có thể tìm được d phương  
án cho những vector bảo giác Sj1, …, Sjd cho mỗi tập Xj.  
Phép biến đổi của phương pháp đề xuất là xóa bỏ l vecotr riêng (eigenvector), với 푃 = 풙 +  
1 ‖ ‖2  
풙 풆∞ + 풆0 ∈ 풢푛+1,1  
,
2
퐓
( )  
풇푪푮푨;풋 풙 = (푃. 푆푗,푙+1, … , 푃. 푆  
)
(32)  
푗,푚  
푗
{
}
Ở đó 푚 = min 푛 − 1, 푑 là mức độ tự do của tập con Xj. Sau đó, một vector x mới được định nghĩa  
phân lớp đơn giản như sau:  
푗
̂
= 푎푟푔 min‖풇퐶퐺퐴;푗(풙)‖2  
(33)  
풘
Trong quá trình thực nghiệm, sử dụng công thức (33) để phân lớp từng đối tượng, đồng thời sử dụng  
hai phương pháp PCR và PCR-CGA (phương pháp kết hợp giữa PCR và CGA) để thực nghiệm và so  
sánh kết quả với nhau dựa vào các tập dữ liệu khác nhau (sử dụng tập đối tượng thực nghiệm trên ảnh  
quay 3D [27] và thực nghiệm trên ảnh khuôn mặt 2D [28]).  
Trong quá trình để nhận dạng đối tượng, đầu tiên sẽ chuyển dữ liệu ảnh màu sang ảnh màu xám, từ đó  
sẽ có được ma trận pixel ảnh. Sau đó, sẽ xây dựng vector đặc trưng ảnh từ ma trận ảnh ban đầu. Với  
mỗi vector đặc trưng ảnh, lần lượt sử dụng công thức (12) của phương pháp PCR và sử dụng công  
thực (33) của phương pháp PCR-CGA để nhận dạng đối tượng. Dữ liệu ảnh đưa vào được chuẩn hóa  
kích thướt tương tự nhau, cho phép lấy được pixel xám của từng ảnh. Với mỗi phương pháp sử dụng  
sẽ có được một độ chính xác đối với tập ảnh ban đầu. Một vài kết quả thực nghiệm được biểu diễn chi  
tiết ở phần chương 3, kết quả thực nghiệm được thực nghiệm với tập dữ liệu 3D và tập dữ liệu 2D. Chi  
tiết cụ thể quá trình thực nghiệm được trình bày ở Chương 3.  
2.2.3 Phương pháp đề xuất cải tiến thuật toán Viola-Jones  
Việc nhận dạng và trích chọn đặc tính tương đối quan trọng. Tuy nhiên, để thực hiện việc nhận dạng  
thì việc phát hiện khuôn mặt cũng rất quan trọng. Để phát hiện khuôn mặt, báo cáo này đề xuất cải tiến  
sử dụng thuật toán Viola-Jone bằng cách cải tiến mẫu Haat-like và logic mờ. Các đề xuất được trình  
bày cụ thể ở mục này.  
2.2.3.1  
Phương pháp mới trích xuất đặc trưng  
Theo Viola-Jones, các mẫu Haar-like được sử dụng với kích thước nguyên, do đó tất cả các đặc trưng  
có giá là số nguyên. Bằng cách phân tích, nhiều thông tin đặc trưng có thể được trích xuất nếu các  
dạng Haar-like retarles có kích thước không phải là số nguyên. Bằng cách tiếp cận này, phạm vi giá trị  
đặc trưng được mở rộng, từ đó tang độ chính xác so với hệ thống Viola-Jones ban đầu. Hình 2.3 đưa ra  
một ví dụ về hình chữ nhật có kích thước không nguyên. Đây là khung con 2 x 2 từ một ảnh và chiều  
cao của hình chữ nhật đặc trưng là 3.  
Hình 2.1: Hình ảnh cửa sổ khung con 2 x 2 với đặc trưng kích thước không nguyên  
14  
 
Vì kích thước không phải là số nguyên, các giá trị đặc trưng được biểu diễn bằng số thực dấu chấm  
động. Điều đó dẫn đến những khó khăn mới khi hệ thống sử dụng các mẫu đặc trưng phức tạp. Đối với  
vấn đề này, cách tiếp cận được đề xuất có thể tính toán nhanh chóng các giá trị đặc trưng bằng vài  
phép tính với độ phức tạp là O(1). So với cách tính toán đặc trưng truyền thống, thời gian xử lý của  
phương pháp đề xuất gần như nhau.  
2.2.3.2  
Đánh giá Fuzzy Membership  
Trong logic rời rạc cổ điển, tất cả các biến có giá trị cụ thể là {0, 1} hoặc {푓푎푙푠푒, 푡푟푢푒}. Thay vào đó,  
phương pháp mờ thương thỏa thuận với giá trị mờ khác nhau giữa 0 và 1, những giá trị đó biểu thị  
mức độ hoặc độ tin tưởng của một biến. Cơ chế thiết yếu cho quá trình này là xây dựng một danh sách  
các câu lệnh if-then. Hàm thành viên được biểu diễn một đượng cong xác định cách mỗi điểm trong  
không gian đầu vào được ánh xạ tới giá trị thành viên giữa 0 và 1.  
{
( )|  
}
(
34  
)
퐴 = 푥, Ω 푥 푥 ∈ 푋  
( )  
trong đó X là không gian đầu vào, x là một giá trị đầu vào, A là tập mờ và Ω 푥 là hàm thành viên.  
Trong phạm vi của báo cáo này, chỉ hàm thành viên Fuzzy được áp dụng mà không có các luật Fuzzy.  
Dưới đây là một số hàm thành viên thường được sử dụng trong thực tế:  
2.2.3.2.1 Hàm thành viên Triangular  
Đây là hàm thành viên (viết tắt là MF – Membership Function) đơn giản nhất được hình thành bằng  
cách sử dụng các đường thẳng. Nó được xác định bởi giới hạn dưới a, giới hạn trên b và giá trị trung  
bình µ, sao cho 푎 < 휇 < 푏. Hàm thành viên Triangular được biểu diễn như hình dưới đây:  
Hình 2.2: Hàm thành viên Triangular  
0 푥 < 푎  
 
 
푥 − 푎  
[
]
]
푥 ∈ 푎, 휇  
휇 − 푎  
푥 − 푏  
( )  
Ω 푥 =  
(
)
34  
 
(
푥 ∈ 휇, 푏  
 
휇 − 푏  
{
0 푥 > 푏  
2.2.3.2.2 Hàm thành viên Gaussian  
Hàm thành viên Gaussian có thể đạt được độ mịn cho các giá trị đầu vào. Hàm này được xác định bởi  
giá trị trung bình µ và phương sai 휎2. Giá trị phương sai càng nhỏ thì đồ thị nhìn chuông càng hẹp.  
Hình 5 biểu diễn các hàm này.  
15  
Hình 2.3: Hàm thành viên Gaussian  
2
(
)
푥−휇  
2휎  
1
푒−  
2
2
( |  
Ω 푥 휇, 휎  
)
(
35  
)
=
2
√2휋휎2  
2.2.3.3  
Áp dụng Fuzzy Membership cho thuật toán AdaBoost  
Nhược điểm của phương pháp Viola-Jones với thuật toán Adaboost rời rạc truyền thống là một  
ngưỡng đơn giản không thể tách biệt phân bổ dương và âm các giá trị đặc trưng Haar-like. Bằng cách  
kết hợp nhiều tập phân lớp yếu với nhiều ngưỡng, số phép tính tang theo cấp số nhân mà không đảm  
bảo tăng độ chính xác cho việc phát hiện. Bên cạnh đó, nó có thể dẫn đến vấn đề khớp quá  
(overfitting) trong quá trình huấn luyện.  
Áp dụng Fuzzy Membership vào AdaBoost nhằm tìm kiếm độ chính xác cho việc phát hiện khuôn mặt  
hoặc không phải khuôn mặt đối với ảnh đầu vào thay vì phân lại chúng trực tiếp mang giá trị 0 hoặc 1.  
Từ mức độ đó, việc phân loại chính xác hơn và hiệu quả hơn so với phương pháp cổ điển.  
Phương pháp đề xuất được tiến hành như sau, đối với mỗi đặc trưng, tất cả giá trị tương ứng cho các ví  
dụ ảnh được tính toán tại một đặc trưng cho trước. Bước kế tiếp, giá trị trung bình và phương sai được  
tính toán cho hai phân bổ. Sau đó, mỗi hàm thành viên Fuzzy mờ trong phần cuối cùng được sử dụng  
để tính toán thành viên. Bằng cách sử dụng đặc tính của hai bản phân bổ, nhược điểm của việc chồng  
chéo được khắc phục bởi vì trung bình của các bản phân bổ luôn tách rời nhau. Hơn nữa, sử dụng  
thành viên giúp xác định mức độ chính xác cho khuôn mặt và không phải khuôn mặt.  
2.2.3.3.1 Hàm thành viên Triangular  
Với dạng cổ điển của hàm thành viên Triangular, giá trị trung bình và giá trị nhỏ nhất/ lớn nhất của  
từng vùng khuôn mặt/ không phải khuôn mặt được tính toán. Khi tiến hành thực nghiệm với hàm ban  
đầu, kết quả đạt được không cao so với các hàm khác do các giá trị ngoại lệ từ hai bản phân bổ. Những  
giá trị ngoại lệ đó không đóng góp nhiều cho tính chất chính của phạm vi dữ liệu. Hình 2.6 được vẽ  
sau khi huấn luyện phân lớp yếu đầu tiên, đặc trưng được sử dụng lại để tính toán thành viên cho các  
ví dụ đầu vào.  
Hình 2.4: Hàm thành viên Triangular gốc được áp dụng vào đặc trưng của phân lớp yếu đầu tiên  
Để tránh các ngoại lệ, giới hạn dưới và trên cho hình tam giác được tính toán bằng cách sử dụng độ  
lệch chuẩn của vùng. Giới hạn sửa đổi dưới và trên được xây dựng như sau:  
(
)
36  
푎 = 휇 − 훾휎, 푏 = 휇 + 훾휎  
trong đó γ là một tham số phụ thay đổi và ảnh hưởng đến độ rộng của tam giác.  
16  
Bởi cùng một đặc trưng được sử dụng trong hình 2.6, hai phân bổ với giới hạn dưới/ trên mới được vẽ  
bằng cách sử dụng 훾 = 2.  
Từ hình vẽ có thể thấy rằng hầu hết các điểm trong cả hai phân bổ được đại diện bởi hàm thành viên  
Triangular với 훾 = 2. Trong quá trình thực nghiệm, giá trị γ được thay đổi để tìm giá trị phù hợp nhất  
sao cho tối đa hóa tỷ lệ phát hiện. Theo phạm vi dữ liệu, γ nên có giá trị từ 1 đến 3 để phát hiện đúng  
vùng khuôn mặt và không phải khuôn mặt.  
2.2.3.3.2 Hàm thành viên Gaussian  
Tương tự hàm thành viên Triangular, báo cáo này cũng đề xuất thêm tham số vào cho hàm thành viên  
Gaussian và được mô tả như sau:  
2
(
)
푥−휇  
훾휎  
1
푒−  
(37)  
2
2
( |  
Ω 푥 휇, 휎  
)
=
2
√2휋휎2  
Tham số γ được thêm vào để thay đổi phạm vi phân bổ. Theo toán học, bằng cách cho 훾 = 1,68% của  
phân bổ được thực hiện, 95% nếu 훾 = 2, và 99,7% khi 훾 = 3.  
Áp dụng các tham số này có thể làm giảm ảnh hưởng từ các ngoại lệ trong quy trình trích xuất dặc  
trưng.  
Phương pháp đề xuất trong báo cáo mất thời gian tuyến tính để tính trung bình và phương sai cho mỗi  
phân bổ dương hoặc âm với độ phức tạp O(N) và sử dụng các phép toán đơn giản. O(MKN) là độ  
phức tạp chung của thuật toán trong phương pháp đề xuất. Ngoài độ phức tạp thì chí phí tình toán cũng  
đáng được quan tâm. Khi sử dụng hàm thành viên Gausian, các phép toán với số thực là bắt buộc mà  
các phép toán này phức tạp hơn nhiều so với các phép toán với số nguyên đơn giản. Rõ ràng, để tìm  
kiếm thành viên, hàm thành viên Gausian hoặc hàm phân bổ Gausian gốc mất nhiều thời gian hơn hàm  
thành viên Triangular. Để loại bỏ nhược điểm này, trong thực nghiệm, báo cáo sử dụng một phương  
thức khác để tìm kiếm thành viên thay vì tính toán nó bằng công thức truyền thống và áp dụng nó vào  
hàm phân bổ Gaussian ban đầu để so sánh thời gian tính toán với các hàm thành viên khác. Phương  
pháp tiếp cận như sau:  
Nếu một ảnh là khuôn mặt, tỷ lệ các hàm Gausian cho hai phân bổ phải lớn hơn 1:  
2
(푥−휇 )  
푝
−
2
푝
1
훾휎  
푒
2휋휎2  
√
푝
> 1  
)
(38)  
2
(
푥−휇  
푛
2 푒−  
1
2
훾휎  
푛
√
2휋휎푛  
hoặc  
2
2
(푥−휇 )  
(
)
푥−휇  
푝
푛
2
−
√
휎푛  
2
2
훾휎  
훾휎  
푝
푛
> 푒  
(39)  
휎2  
√
푝
Bởi vì tất cả các phần tử không âm, nên bất đẳng thức không đổi khi bình phương cả hai bên:  
2
2
(푥−휇 )  
(
)
푥−휇  
푝
푛
휎푛2  
휎푝2  
2
−2  
2
2
훾휎  
훾휎  
푛
푝
> 푒  
(40)  
Hơn nữa, số mũ tự nhiên là một hàm tăng, áp dụng lôgarit tự nhiên cho bất đẳng thức ta được:  
푥 − 휇 )2  
훾휎푝2  
(
)
2
휎푛2  
(
푥 − 휇푛  
훾휎푛2  
푝
ln ( ) > 2 [  
휎푛2  
−
]
(41)  
Báo cáo sử dụng bất đẳng thức trên để so sánh, tất cả các phép toán này có thể được tính toán trong  
một thời gian ngắn. Báo cáo đã giảm rất nhiều phép tính toán và việc tính toán giờ đã đơn giản hơn.  
2.3 Kết chương  
Chương này đã trình bày việc phân tích và xây dựng hệ thống nhận dạng đối tượng sinh viên thông  
qua khuôn mặt với nhiều góc quay camera khác nhau. Tiếp theo, chương này trình bày các thuật toán  
đã đề xuất và ứng dụng trong hệ thống đã triển khai. Phương pháp thứ nhất là sử dụng đại số hình học  
bảo giác (CGA) trong việc trích chọn đặc tính các đối tượng quay. Phương pháp thứ 2 là cải tiến thuật  
toán Viola-Jones bằng cách sử dụng các Haar-like số thực và áp dụng logic mờ để tăng tốc độ huấn  
luyện thuật toán.  
17  
Tải về để xem bản đầy đủ
pdf 26 trang yennguyen 15360 Free
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo tóm tắt Đề tài Nghiên cứu xây dựng hệ thống tự động nhận dạng và phân tích khuôn mặt sinh viên nhằm hỗ trợ việc học tập tương tác trong lớp học", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbao_cao_tom_tat_de_tai_nghien_cuu_xay_dung_he_thong_tu_dong.pdf