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
MỤC LỤC......................................................................................................................................... 1
DANH MỤC HÌNH.......................................................................................................................... 2
DANH MỤC BẢNG......................................................................................................................... 2
DANH MỤC TỪ VIẾT TẮT........................................................................................................... 2
THÔNG TIN KẾT QUẢ NGHIÊN CỨU ...................................................................................... 3
MỞ ĐẦU ........................................................................................................................................... 6
CHƯƠNG 1 ...................................................................................................................................... 7
TỔNG QUAN NGHIÊN CỨU ........................................................................................................ 7
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.3.1 Phân tích thành phần chính (PCA).................................................................................. 8
1.3.2 Phương pháp hồi quy thành phần chính (PCR)............................................................... 9
1.4. THUẬT TOÁN VIOLA-JONES ......................................................................................... 10
1.5. KẾT CHƯƠNG.................................................................................................................... 11
CHƯƠNG 2 .................................................................................................................................... 12
2.1. XÂY DỰNG HỆ THỐNG................................................................................................... 12
2.1.1 Giới thiệu bài toán......................................................................................................... 12
2.2. PHƯƠNG PHÁP ĐỀ XUẤT ............................................................................................... 12
2.2.1 Đại số hình học bảo giác (CGA)................................................................................... 12
2.2.3 Phương pháp đề xuất cải tiến thuật toán Viola-Jones ................................................... 14
2.2.3.1 Phương pháp mới trích xuất đặc trưng................................................................... 14
2.2.3.2 Đánh giá Fuzzy Membership ................................................................................. 15
2.2.3.3 Áp dụng Fuzzy Membership cho thuật toán AdaBoost ......................................... 16
2.2. KẾT CHƯƠNG.................................................................................................................... 17
CHƯƠNG 3 .................................................................................................................................... 18
THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ............................................................................. 18
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
KẾT LUẬN VÀ HƯƠNG PHÁT TRIỂN .................................................................................... 23
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 đủ
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:
bao_cao_tom_tat_de_tai_nghien_cuu_xay_dung_he_thong_tu_dong.pdf

