Tải bản đầy đủ (.docx) (59 trang)

LUẬN VĂN THẠC SĨ KHOA HỌC KHOA HỌC MÁY TÍNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.25 MB, 59 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

ĐỖ PHÚC HẢO

NGHIÊN CỨU PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG ẢNH
XÂY DỰNG HỆ THỐNG PHỤC VỤ ĐIỂM DANH VÀ ĐÁNH GIÁ
THÁI ĐỘ HỌC TẬP CỦA SINH VIÊN

LUẬN VĂN THẠC SĨ KHOA HỌC
KHOA HỌC MÁY TÍNH

ĐÀ NẴNG - 2016


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

ĐỖ PHÚC HẢO

NGHIÊN CỨU PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG ẢNH
XÂY DỰNG HỆ THỐNG PHỤC VỤ ĐIỂM DANH VÀ ĐÁNH GIÁ
THÁI ĐỘ HỌC TẬP CỦA SINH VIÊN

Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KHOA HỌC
KHOA HỌC MÁY TÍNH

Hướng dẫn khoa học: TS. PHẠM MINH TUẤN



ĐÀ NẴNG – 2016


LỜI CAM ĐOAN
Tôi xin cam đoan:

- Những nội dung trong luận văn này là do tôi thực hiện dưới sự
-

hướng dẫn trực tiếp của thầy Phạm Minh Tuấn.
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên
tác giả, tên công trình, thời gian và địa điểm công bố.

-

Những sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin
chịu hoàn toàn trách nhiệm.

Đà Nẵng, tháng 12 năm 2016
Tác giả

ĐỖ PHÚC HẢO


LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin
cũng như các thầy cô giảng dạy trong trường Đại học Đà Nẵng đã truyền đạt
những kiến thức quý báu cho tôi trong những năm nghiên cứu và học tập tại
trường.

Đặc biệt, tôi xin chân thành cảm ơn thầy Phạm Minh Tuấn, khoa Công
nghệ thông tin, trường Đại học Bách khoa đã tận tình hướng dẫn, động viên và
giúp đỡ tôi trong suốt thời gian nghiên cứu và thực hiện đề tài.
Và để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình đã động
viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá trình nghiên cứu,
học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.
Một lần nữa xin chân thành cám ơn!

Đà Nẵng, tháng 12 năm 2016
Tác giả

ĐỖ PHÚC HẢO

MỤC LỤC



DANH MỤC VIẾT TẮT
CGA
PCA
PCR
DBSCAN
PCR-CGA

Conformal geometric algebra
Principal component analysis
Principal component regression
Density-based spatial clustering of applications with noise
Principal Component Regression – Conformal Geometric Algebra



DANH MỤC CÁC BẢNG


DANH MỤC CÁC HÌNH


TÓM TẮT LUẬN VĂN
NGHIÊN CỨU PHƯƠNG PHÁP TRÍCH CHỌN ĐẶC TRƯNG ẢNH
XÂY DỰNG HỆ THỐNG PHỤC VỤ ĐIỂM DANH VÀ ĐÁNH GIÁ
THÁI ĐỘ CỦA SINH VIÊN
Đỗ Phúc Hảo, học viên cao học khóa 30, chuyên ngành Khoa học máy tính
Tóm tắt – Hiện nay, có rất nhiều phương pháp trích chọn đặc trưng như Principal
Component Analysis (PCA), Multiple Discriminant Analysis (MDA) là những kỹ thuật vô
cùng quan trọng trong lĩnh vực nghiên cứu về học máy. Đặc điểm của trích chọn đặc trưng là
biến đổi dữ liệu từ một không gian phân lớp phức tạp sang một không gian phân lớp dễ dàng
hơn. Việc trích chọn đặc trưng trước khi vận dụng các thuật toán học máy vào sẽ tăng kết quả
phân lớp dữ liệu lên rất nhiều. Phương pháp Principal Component Regression (PCR) là tìm
kiếm một siêu mặt phẳng xấp xỉ mà dữ liệu phân bố trên đó. Vấn đề bây giờ là trong trường
hợp dữ liệu không phân bổ trên siêu mặt phẳng mà nó phân bổ trên siêu mặt cầu như trong
trường hợp đối tượng quay, thì phương pháp trích chọn đặc trưng PCR sẽ không thể phân lớp
với kết quả cao được được. Hiện có rất nhiều hệ thống phục vụ điểm danh sinh viên, nhưng
trong trường hợp hình ảnh khuôn mặt sinh viên xoay với các góc khác nhau thì kết quả chưa
cao. Cho nên, trong nghiên cứu này, tác giả sẽ tập trung vào nghiên cứu phương pháp trích
chọn đặc trưng bẳng cách tìm kiếm một xấp xỉ siêu mặt cầu hoặc siêu mặt phẳng mà nó vừa
khớp với tập dữ liệu trong không gian Comformal Geometric Algebra (CGA) nhằm cải thiện
tỷ lệ nhận dạng các đối tượng quay trong không gian.
Từ khóa – Hệ thống nhận dạng, trích chọn đặc trưng, đại số hình học bảo giác.

IMAGE FEATURE EXTRACTION METHOD FOR EVALUATION

SYSTEM OF ATTITUDE AND ATTENDANCE OF STUDENTS
Abstract – Currently, there are many methods for feature extraction, such as Principal
Component Analysis (PCA), Multiple Discriminant Analysis (MDA) techniques are
extremely important in the field of machine learning research. The Characteristic of feature
extraction is to transform the data from a difficulty classified space to a easily classified
space. The allocation to extract the good features before applying machine learning methods
get more effect classification results. The Principal Component Regression (PCR) finds the
approximation hyper-planes, for example they distributed on hyper-spheres such as the
rotation objects, the PCR can not extract the good feature to apply the classification problems.
There are so many systems to serve student attendance, but in the case of face images of
students rotate to different angles, the results is not high. Therefore, in this study, the author
will propose a new feature extraction method in conformal geometric algebra (CGA) space to
find the approximation hyper-planes or hyper-spheres which fit to the set of data using the
least square approach
Key words – identification system, feature extraction, conformal geometric algebra.


10

MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay, nhà nước đã và đang chú trọng trong việc đổi mới “Căn bản toàn diện
giáo dục”, cụ thể là các phương pháp giảng dạy và quản lý trong giáo dục và đào tạo,
nên việc nghiên cứu và ứng dụng các kỹ thuật công nghệ thông tin trong giảng dạy và
học tập đang là vấn đề rất bức thiết hiện nay. Đã có rất nhiều mô hình giảng dạy và
học tập kết hợp với e-learning, học trực tuyến được đưa ra nhằm tăng chất lượng giáo
dục. Tuy nhiên, việc giảng dạy tại các lớp học bằng mô hình truyền thống là không thể
thiếu. Một trong những vấn đề cấp thiết được đưa ra là việc nắm bắt tình hình học tập
của sinh viên tại các lớp học trong các trường đại học.
Thông thường, các lớp học tại các trường đại học thường có số lượng sinh viên

tương đối lớn. Giáo viên khó có thể nắm bắt được năng lực cũng như tình hình học tập
của từng sinh viên trong các học phần đảm nhiệm. Việc điểm danh trong mỗi buổi học
giúp ích phần nào cho nhận biết sinh viên có đi học đều đặn hay không. Tuy nhiên để
nắm bắt được sinh viên có thực sự tham gia vào bài giảng hay không là một việc rất
khó khăn. Ví dụ như, có sinh viên lúc nào cũng tới lớp đều đặn nhưng hầu như chỉ làm
việc riêng và không tham gia nghe giảng cũng như tham gia các hoạt động làm việc
nhóm tại lớp học. Nếu như căn cứ vào việc đi học chuyên cần thì sinh viên đó hoàn
toàn đáp ứng nhưng việc tham gia vào bài giảng thì hoàn toàn không. Nhiệm vụ của
giáo viên cần nhắc nhở hoặc tư vấn để những sinh viên như vậy có thể tham gia bài
giảng một cách tốt hơn. Chính vì vậy, một hệ thống tự động nhận dạng khuôn mặt và
phân tích thái độ học tập của sinh viên là điều vô cùng cần thiết.
Hiện nay, có rất nhiều phương pháp trích chọn đặc trưng như Principal Component
Analysis (PCA) [1], Multiple Discriminant Analysis (MDA) [2] là những kỹ thuật vô
cùng quan trọng trong lĩnh vực nghiên cứu về học máy. Đặc điểm của trích chọn đặc
trưng là biến đổi dữ liệu từ một không gian phân lớp phức tạp sang một không gian
phân lớp dễ dàng hơn. Việc trích chọn đặc trưng trước khi vận dụng các thuật toán học
máy vào sẽ tăng kết quả phân lớp dữ liệu lên rất nhiều.
Phương pháp Principal Component Regression (PCR) [3] là tìm kiếm một siêu mặt
phẳng xấp xỉ mà dữ liệu phân bố trên đó. Vấn đề bây giờ là trong trường hợp dữ liệu
không phân bổ trên siêu mặt phẳng mà nó phân bổ trên siêu mặt cầu như trong trường
hợp đối tượng quay, thì phương pháp trích chọn đặc trưng PCR sẽ không thể phân lớp
với kết quả cao được được. Cho nên, trong đề tài này sẽ tập trung vào nghiên cứu
phương pháp trích chọn đặc trưng bẳng cách tìm kiếm một xấp xỉ siêu mặt cầu hoặc
siêu mặt phẳng mà nó vừa khớp với tập dữ liệu trong không gian Comformal
Geometric Algebra (CGA) [4].


11
Vì những lý do như trên, tôi đề xuất chọn đề tài luận văn cao học:
“Nghiên cứu phương pháp trích chọn đặc trưng ảnh xây dựng hệ thống

phục vụ điểm danh và đánh giá thái độ học tập của sinh viên”

2. Ý nghĩa đề tài
2.1 Ý nghĩa khoa học
Nghiên cứu sâu phương pháp trích xuất đặc trưng nhằm tăng hiệu quả cho các bài
toán nhận dạng, phân lớp dữ liệu. Kết quả sẽ mở ra một kỹ thuật trích chọn đặc trưng
cho các nghiên cứu sau này.

2.2

Ý nghĩa thực tiễn
Đề xuất giải pháp góp phần tăng hiệu quả việc quản lý đào tạo sinh viên, nhằm
nâng cao chất lượng sinh viên trong môi trường đại học. Hỗ trợ giáo viên thay đổi
phương pháp giảng dạy phù hợp hoặc nhắc nhở sinh viên trong lớp học phần của
mình.

3. Mục tiêu và nhiệm vụ
3.1 Mục tiêu
Hỗ trợ cho giáo viên đánh giá sinh viên và nâng cao chất lượng dạy học:

- Tự động hóa việc điểm danh sinh viên trong các lớp học
- Tự động đánh giá thái độ học tập của sinh viên, từ đó đề xuất cho giáo viên thay
đổi phương pháp giảng dạy hoặc nhắc nhở sinh viên trong học tập.
Mục tiêu chính của đề tài là nghiên cứu phương pháp trích chọn đặc trưng ảnh để
nâng cao kết quả nhận dạng và đánh giá thái độ học tập của sinh viên trong lớp học
phần cụ thể. Để thoải mãn mục tiêu này thì cần đạt được những chi tiết mục tiêu cụ thể
sau:

- Ứng dụng đại số Clifford (Clifford Algebra) nhằm trích chọn các đặc tính bất
3.2

-

biến hình học trong nhận dạng đối tượng.
Xây dựng hệ thống phục vụ điểm danh và đánh giá thái độ học tập của sinh
viên
Nhiệm vụ
Nghiên cứu phương pháp tiền xử lý ảnh & kỹ thuật xử lý dữ liệu trên ma trận
và vector.
Nghiên cứu tổng quan về không gian CGA [4].
Nghiên cứu về trích chọn đặc trưng hình học.
Các kỹ thuật biến đổi không gian.
Ước lượng phân bổ dữ liệu.


12
4. Đối tượng và phạm vi nghiên cứu
Trong khuôn khổ của luận văn thuộc loại nghiên cứu và xây dựng ứng dụng, luận
văn này sẽ tập trung nghiên cứu các vấn đề sau:
-

Nghiên cứu về phương pháp trích chọn đặc trưng hình học.

-

Xây dựng các kỹ thuật tiền xử lý ảnh & kỹ thuật tính toán trên vector và ma
trận.

5. Phương pháp nghiên cứu
5.1 Phương pháp lý thuyết
- Tổng quan về không gian CGA [4]

- Nghiên cứu về phương pháp trích chọn đặc trưng hình học.
- Nghiên cứu các kỹ thuật biến đổi không gian.
- Xây dựng các ước lượng phân bổ dữ liệu.
5.2 Phương pháp thực nghiệm
- Xây dựng hệ thống web trên Java.
- Xây dựng phương pháp tiền xử lý dữ liệu ảnh.
- Xây dựng công thức tính toán các giá trị riêng và vector riêng trong không gian
CGA, kết hợp với kỹ thuật PCR để trích chọn các đặc trưng, nhằm phân lớp dữ
liệu của bài toán.
- Xây dựng bài toán phân lớp dữ liệu dựa trên kỹ thuật bình phương tối thiểu để
tính toán các đặc trưng để quyết định phân lớp.
- Xây dựng các phương thức để tính toán dữ liệu trên vector và ma trận
- Kiểm tra, thử nghiệm, nhận xét và đánh giá kết quả.
6. Bố cục của luận văn
Cấu trúc của luận văn gồm có 4 phần như sau:
Chương “MỞ ĐẦU” giới thiệu sơ bộ về lý do chọn đề tài, mục tiêu và nhiệm vụ,
đối tượng và phạm vi nghiên cứu của đề tài
Chương 1 “TỔNG QUAN NGHIÊN CỨU” giới thiệu hệ thống nhận dạng mặt
người, học máy và các phương pháp thường dùng, các vấn đề đối mặt với hệ thống
nhận dạng, đồng thời nên ra các kỹ thuật toán bản về trích xuất đặc trưng của dữ liệu.
Chương 2 “XÂY DỰNG HỆ THỐNG VÀ PHƯƠNG PHÁP ĐỀ XUẤT” giới
thiệu kỹ thuật PCR, tổng quan về đại số hình học bảo giác và phương pháp sử dụng
nó. Đồng thời, nêu rõ quá trình xây dựng hệ thống.
Chương 3,“THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ” Quá trình thực
nghiệm và đánh giá kết quả.


13

CHƯƠNG I: TỔNG QUAN NGHIÊN CỨU

1.1 NHẬN DẠNG MẶT NGƯỜI
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) [11] 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ệ 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 [12], Gabor wavelets [13]) 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)


14
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[1] (Principal Component
Analysis), WPCA[14] (Whitened PCA), LDA[15] (Linear Discriminant
Analysis), KPCA[16] (Kernel PCA),…
Mục đích của việc training: 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, 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 [17] 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
Học không giám sát tiếng Anh là 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 có 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.


15
Học không có 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ư: Kmean, 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


16
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ị (graphbased).
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.2.2.4 Học tăng cường
Học tăng cường [18] là phương pháp máy tính đưa ra quyết định hành động
(action) và nhận kết quả phản hồi (response/reward) từ môi trường (environment). Sau
đó máy tính tìm cách chỉnh sửa cách ra quyết định hành động của mình.
Các thuật toán học tăng cường được chia thành hai loại chính đó là: học dựa trên
mô hình (model based) và học không có mô hình (model free). Đại điện cho kiểu học
dựa trên mô hình phải kể đến phương pháp quy hoạch động (Dynamic ProgrammingDP), đại diện cho kiểu học không có mô hình là phương pháp Monte Carlo và phương
pháp TD (Temporal Difference).
1.2.3 Các mô hình học máy
- Mô hình hóa các mật độ xác suất điều kiện; hồi quy và phân loại
- Mô hình hóa các hàm mật độ xác suất qua các mô hình phát sinh
- Các kỹ thuật suy luận xấp xỉ đúng
- Thuật toán tiến hóa
- Thuật toán bầy đàn
1.2.4 Ứng dụng học máy
- Máy cảm giác

- Computer vision
- Xử lý ngôn ngữ tự nhiên
- Search Eigine
- Tin sinh học
- Nhận dạng tiếng nói, chữ viết
- Nhận dạng vật thể
1.2.5 Thách thức đối với hệ thống nhận dạng
Hệ thống nhận dạng khuôn mặt [19] là một ứng dụng máy tính tự động xác định
hoặc nhận dạng một người nào đó từ một bức hình ảnh kỹ thuật số hoặc một khung
hình video từ một nguồn video nào đó. Một trong những cách để thực hiện điều này là


17
so sánh các đặc điểm khuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn
mặt.
Hệ thống này thường được sử dụng trong các hệ thống an ninh và có thể được so
sánh với các dạng sinh trắc học khác như hệ thống nhận dạng vân tay, hay tròng mắt.
Một vài thuật toán nhận dạng khuôn mặt xác định các đặc điểm khuôn mặt bằng
cách trích xuất các ranh giới, hoặc đặc điểm từ một hình ảnh khuôn mặt của đối tượng.
Ví dụ, một thuật toán có thể phân tích các vị trí tương đối, kích thước và hình dạng của
mắt, mũi , gò má và cằm. Những tính năng này sau đó được sử dụng để tìm kiếm các
hình ảnh khác với các tính năng phù hợp. Các thuật toán bình thường hóa một bộ sưu
tập các hình ảnh khuôn mặt và sau đó nén dữ liệu khuôn mặt, chỉ lưu dữ liệu hình ảnh
nào là hữu ích cho việc nhận dạng khuôn mặt.
Các thuật toán nhận dạng chủ yếu được chia thành 2 hướng chính là hình học, đó
chính là nhìn vào tính năng phân biệt, hoặc trắc quang (đo sáng) là sử dụng phương
pháp thống kê để “chưng cất” một hình ảnh thành những giá trị và so sánh các giá trị
với các mẫu để loại bỏ độ chênh lệch.
Các thuật toán nhận dạng phổ biến bao gồm Principal Component Analysis (Phép
phân tích thành phần chính) sử dụng các khuôn mặt riêng, Linear Discriminate

Analysis (Phân tích biệt tuyến tính), Elastic Bunch Graph Matching sử dụng thuật toán
Fisherface, các mô hình Markov ẩn, Multilinear Subspace Learning (Luyện nhớ không
gian con đa tuyến) sử dụng đại diện cơ căng, và theo dõi liên kết động thần kinh.
Các điều kiện khác mà nhận dạng khuôn mặt không làm việc tốt bao gồm thiếu ánh
sáng, đeo kính mát, tóc dài, hoặc các đối tượng khác mà một phần khuôn mặt bị che,
và các hình ảnh độ phân giải thấp.
Một bất lợi nghiêm trọng là nhiều hệ thống sẽ kém hiệu quả nếu biểu hiện khuôn
mặt khác nhau. Ngay cả một nụ cười lớn, cũng có thể làm cho hệ thống giảm tính hiệu
quả. Ví dụ: Canada hiện nay cho phép biểu lộ nét mặt trung tính trong ảnh chụp hộ
chiếu.
Nhận dạng khuôn mặt không phải là hoàn hảo và khó khăn để thực hiện trong các
điều kiện nhất định. Ralph Gross, một nhà nghiên cứu tại Viện Mellon Robotics
Carnegie, mô tả một trở ngại liên quan đến các góc nhìn của khuôn mặt: "Nhận dạng
khuôn mặt đã thực hiện được khá tốt ở phía mặt trước và phía chênh lệch 20 độ, nhưng
ngay sau khi bạn đi về phía góc khuất, thì nó có vấn đề.
Trong luận văn này, sẽ sử dụng phương pháp trích xuất đặc trưng bằng phương
pháp phân tích thành hồi quy thành phần chính (PCR[3]) để trích xuất các đặc trưng,
nhằm phân loại các đối tượng với nhau. Các phương pháp truyền thống rất khó để phát
hiện các đối tượng quay các góc độ khác nhau và phân lớn đều sử dụng các phương
pháp học máy giám sát. Điều này hơi không hợp với thực tế, chẳng hạn như việc điểm
danh sinh viên, thì dữ liệu có thể thay đổi theo thời gian, có thể sử dụng phương pháp
học tăng cường (tức là vừa có giám sát, vừa không giám sát).


18
Trong kết quả của luận văn này, sử dụng kiến thức về Đại số hình học bảo giác kết
hợp với phương pháp trích xuất đặc trưng nhằm để nhận dạng tốt hơn. Bởi vì theo nền
tảng toán của Đại số hình học bảo giác cho rằng, những hình ảnh các góc quay khác
nhau của một đối tượng cụ thể sẽ phân bổ đều trên một siêu mặt phẳng hoặc một siêu
mặt cấu nhất định, từ đó nên việc phân loại và nhận dạng đối tượng sẽ đạt hiệu quả và

tỉ lệ cao hơn.
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:
Ở đó 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ố , ở đó . 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 là lớn nhất.
Có thể toán học hóa vấn đề như sau:
Ở đó
là trung bình của tất cả các vector của tập dữ liệu X.
Để giải quyết vấn đề tối ưu này, trong luận văn này giới thiệu hệ số Lagrange cho
hàm Lagrange như sau:
Sau đó, tính đạo hàm của với việc w tiến đến giá trị bằng 0 và ta được công thức
sau:
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:
Ở đó
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 eigenvectors đầu
tiên. Những vector là một tương ứng với giá trị 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:


19


ở đó là eigenvector thứ i, .
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:
E là nhỏ nhất. Ở đó và là vector thứ i và vector trung bình của tập dữ liệu .
Việc tính toán để tìm vector trọng số w tương tự như PCA, nhưng PCR sử dụng
eigenvalues nhỏ nhất. Sau đó, PCR biến đổi dữ liệu x bằng cách xóa đi l eigenvector
đầu tiên.
Phép biến đổi như sau:
ở đó là mức độ tự do của tập dữ liệu X.
Luận văn 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:
ở đâ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 eigenvectors cho mỗi tập hợp 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:
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ài luận này, sử dụng phương pháp nhận dạng đối tượng quay, luận văn đề
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.


20

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 luận văn 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.1.2 Thiết kế cơ sở dữ liệu
2.1.2.1 Mô tả
Quản lý sinh viên yêu cầu một cơ sở dữ liệu phức tạp, đòi hòi phải đáp ứng được
quan hệ giữa sinh viên, giáo viên, môn học và các thông tin điểm danh của lớp học.
Đối với bài toán thực tế, cơ sở dữ liệu này rất phức tạp và cần được nghiên cứu một
cách kỹ lưỡng.
Tuy nhiên, trong đề tài này ta không đặt nặng nặng vấn đề phân tích thiết kế mà
trọng tâm là phương pháp thực hiện. Để đơn giản bài toán, cơ sở dữ liệu trong báo cáo
này được thực hiện một cách tối giản nhưng vẫn phải đáp ứng được các thông tin cơ
bản của các đối tượng.
Trong đề tài này các dữ liệu của bài toán được lưu dưới dạng file text mỗi file sẽ
chứa các thông tin về các đối tượng. Liên hệ giữa các đối tượng cũng được thể hiện
trong file.


2.1.2.2

Thiết kế dữ liệu

Để thực hiện việc điểm danh dựa trên nhận dạng khuôn mặt và lưu trữ thông tin
tham gia lớp học của học viên vào cơ sở dữ liệu thì tối thiểu ta cần phải có các file sau:


21
File students_list.txt
Bảng 2.1: Chứa thông tin sinh viên
Thuộc tính

Loại dữ liệu

Kích thước

Mã sinh viên

String

6

Tên sinh viên String

MAX

Mã học phần


6

String

Tên học phần String

MAX

Mô tả
Thuộc tính dùng để phân
biệt các sinh viên
Tên sinh viên trong hệ thống
Thuộc tính dùng để phân
biệt các học phần
Tên học phần trong hệ thống

File teachers_list.txt
Bảng 2.2: Chứa thông tin giáo viên
Thuộc tính

Loại dữ liệu

Kích thước

Mã giáo viên

String

6


Tên giáo viên String

MAX

Mã học phần

6

String

Tên học phần String

MAX

Mô tả
Thuộc tính dùng để phân
biệt các sinh viên
Tên sinh viên trong hệ thống
Thuộc tính dùng để phân
biệt các học phần
Tên học phần trong hệ thống

File account.txt
Bảng 2.3: Chứa thông tin về tài khoản
Thuộc tính

Loại dữ liệu

Kích thước


Mô tả

Username
Password

String
String

50
25

Mã số

String

6

Phân quyền

String

1

Tài khoản người sử dụng
Mật khẩu người sử dụng
Mã số người sử dụng trọng
hệ thống, có thể là mã số
sinh viên hoặc giáo viên
Thuộc tính quy định quyền
của người sử dụng khi đăng

nhập vào hệ thống

File coordinates_student.txt


22
Bảng 2.4: Thông tin tọa độ sinh viên
Thuộc tính

Loại dữ liệu

Kích thước

Mã sinh viên

String

6

x1

Long

y1

Long

x2

Long


y2

Long

Mô tả
Thuộc tính phân biệt các
sinh viên trong hệ thống
Tọa độ theo chiều ngang
điểm góc trên bên trái của
phần chứa khuôn mặt sinh
viên
Tọa độ theo chiều dọc điểm
góc trên bên trái của phần
chứa khuôn mặt sinh viên
Tọa độ theo chiều ngang
điểm góc dưới bên phải của
phần chứa khuôn mặt sinh
viên
Tọa độ theo chiều dọc điểm
góc dưới bên phải của phần
chứa khuôn mặt sinh viên

File coordinates_system.txt
File do hệ thống tạo ra, chứa thông tin về tọa độ của sinh viên trong bức ảnh. Đây
là file sinh ra sau khi thực hiện thuật toán
Bảng 2.5: Tọa độ do hệ thống tạo ra
Thuộc tính

Loại dữ liệu


Kích thước

Mã sinh viên

String

6

x1

Long

y1

Long

x2

Long

y2

Long

Mô tả
Thuộc tính phân biệt các
sinh viên trong hệ thống
Tọa độ theo chiều ngang
điểm góc trên bên trái của

phần chứa khuôn mặt sinh
viên
Tọa độ theo chiều dọc điểm
góc trên bên trái của phần
chứa khuôn mặt sinh viên
Tọa độ theo chiều ngang
điểm góc dưới bên phải của
phần chứa khuôn mặt sinh
viên
Tọa độ theo chiều dọc điểm
góc dưới bên phải của phần
chứa khuôn mặt sinh viên


23
Các dữ liệu ở trên chứa các thông tin về các thành phần khác nhau trong hệ thống.
Khi truy xuất ta có thể truy xuất riêng từng file do các file có các thông tin tương đối
riêng biệt và ít quan hệ, nhưng nếu muốn truy xuất thông tin từ nhiều file ta vẫn có thể
thực hiện dễ dàng bằng cách truy xuất từng file riêng lẻ và kết hợp chúng với nhau

2.1.2.3

Dữ liệu mẫu

Dữ liệu bảng Account.txt
Bảng 2.6: Dữ liệu Account.txt
UserName
Admin
Teacher1
Sv1

Sv2
Sv3
Sv4

Password
123456
123456
123456
123456
123456
123456

MaSo
0
GV0001
SV0001
SV0002
SV0003
SV0004

PhanQuyen
0
1
2
2
2
2

Dữ liệu bảng students_list.txt
Bảng 2.7: Dữ liệu bảng students_list.txt

MaSV
SV0001
SV0001
SV0002
SV0002
SV0002
SV0003
SV0004
SV0004
SV0004

TenSV
Nguyễn Văn A
Nguyễn Văn A
Trần Thị B
Trần Thị B
Trần Thị B
Đinh Văn C
Nguyễn Thị D
Nguyễn Thị D
Nguyễn Thị d

MaHP
HP0001
HP0002
HP0001
HP0003
HP0004
HP0002
HP0001

HP0002
HP0003

TenHP
Hóa Đại Cương
KT Ngành
Hóa Đại Cương
Giải tích 1
Giải tích 2
KT Ngành
Hóa Đại Cương
KT Ngành
Giải tích 1

Dữ liệu bảng teachers_list.txt
Bảng 2.8: Dữ liệu bảng teachers_list.txt
MaGV
GV0001
GV0001
GV0002
GV0003
GV0004

TenGV
Hoàng Văn A
Hoảng Văn A
Đỗ Văn B
Trần Thị C
Nguyễn Thị D


MaHP
HP0001
HP0002
HP0002
HP0003
HP0004

TenHP
Hóa Đại Cương
KT Ngành
KT Ngành
Giải tích 1
Giải tích 2


24

Dữ liệu bảng coordinates_students.txt
Bảng 2.9: Dữ liệu bảng coordinates_students.txt
MaSV
X1
SV0001
100
SV0002
50
Dữ liệu bảng coordinates_system.txt

Y1
100
250


X2
200
300

Y2
250
300

Bảng 2.10: Dữ liệu bảng coordinates_system.txt
MaSV
SV0001
SV0002
SV0003
SV0004

X1
100
250
300
500

Y1
100
250
300
400

X2
200

300
500
800

Y2
250
300
400
900

2.1.3 Luồng hệ thống
2.1.3.1 Quá trình thu thập ảnh
Đầu vào

- Ảnh được chụp từ camera giám sát, camera này được lắp đặt trong phòng học
-

và sẽ được chụp tự động sau một thời gian nhất định
Hoặc ảnh được giảng viên chụp và tải lên hệ thống.

Đầu ra:

- Bộ ảnh lớp học thu được nhờ việc tổng hợp hình ảnh do giảng viên hoặc do
camera đăng lên.
Quá trình thu thập ảnh:
Trong thực nghiệm này, sử dụng Box server để lưu trữ ảnh cho hệ thống. Box
server là một server miễn phí được cung cấp cho các lập trình viên. Lập trình viên
được sử dụng tối đa 50GB do server cung cấp. Đây là một giải pháp khá tiết kiệm và
hiệu quả dành cho các ứng dụng web cần lưu trữ dữ liệu vừa và nhỏ. Để có thể giao
tiếp với server, lập trình viên sử dụng một api và access token do server cung cấp.

Nhằm đảm bảo an toàn mỗi tài khoản sẽ ứng với một access token riêng biệt,
access token này sẽ được reset sau mỗi một tiếng đồng hồ, bắt buộc lập trình viên phải
update liên tục access token này mới có thể sử dụng server.


25
Camera giám sát được gắn trong mỗi phòng học sẽ liên tục chụp hình ảnh về trạng
thái của sinh viên, hình ảnh thu được từ camera, thông qua phần mềm, sẽ được cập
nhật lên Box server. Việc đăng ảnh lên và tải ảnh về được thực hiện thông qua API do
box cung cấp. Cứ sau mỗi thời gian định sẵn, camera sẽ tự động chụp và tải ảnh lên
server box.
Ngoài camera giám sát, giảng viên cũng có thể cung cấp hình ảnh bằng cách chụp
bằng thiết bị cá nhân của mình. Ảnh do giảng viên đăng sẽ được tải đồng thời lên Box
server và Web server. Việc này đảm bảo giảng viên ngay lập tức có thể nhìn thấy hình
ảnh trên webserver và box server vẫn lưu trữ được toàn bộ hình ảnh của lớp học đã
được upload.
Giảng viên được phép lựa chọn đồng bộ hình ảnh giữa Box server và Web server
đối với môn học mà mình phụ trách giảng dạy. Giảng viên thực hiện thao tác để lấy
ảnh từ Box server và update về trang web, web sẽ tự động nhận diện môn học mà
giảng viên muốn lấy hình ảnh và tự động cập nhật vào cơ sở dữ liệu của mình.
Sau khi các dữ liệu hình ảnh đã được đồng bộ ta thu được bộ dữ liệu hình ảnh lớp
học cho từng môn học.
Sơ đồ của quá trình thu thập ảnh được mô tả ở (Hình 2.1), Giảng viên tương tác
trực tiếp với hệ thống, có quyền được upload ảnh từ local lên Web Server, sau đó dữ
liệu sẽ được yêu cầu đồng bộ lên Box server. Chi tiết quá trình thu thập ảnh và đồng
bộ dữ liệu được chi tiết hóa ở Hình 2.1


×