Tải bản đầy đủ (.pdf) (26 trang)

ĐỀ XUẤT PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT NGƯỜI VÀ ỨNG DỤNG CHỐNG GIAN LẬN TRONG THI CỬ

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.28 MB, 26 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


NGUYỄN THỊ LEN

ĐỀ XUẤT PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT
NGƯỜI VÀ ỨNG DỤNG CHỐNG GIAN LẬN TRONG
THI CỬ

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

TÓM TẮT LUẬN VĂN THẠC SĨ





HÀ NỘI - 2014

Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


Người hướng dẫn khoa học: TS Phạm Thế Quế

Phản biện 1: PGS. TS Ngô Quốc Tạo
Phản biện 2: PGS. TS Đỗ Năng Toàn

Luận văn đã được bảo vệ trước Hội đồng chấm luận văn
thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông


Vào lúc: 08h giờ 45, ngày15 tháng 02 năm 2014.

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn
thông

1

CHƯƠNG 1 - TỔNG QUAN BÀI TOÁN NHẬN
DẠNG KHUÔN MẶT NGƯỜI
1.1 Giới thiệu bài toán nhận dạng khuôn mặt
người
Nhận dạng mặt người (Face recognition) được
nghiên cứu từ nhưng năm 1980, là một lĩnh vực nghiên
cứu của ngành thị giác máy tính (Computer Vision), và
cũng được xem là một lĩnh vực nghiên cứu của ngành sinh
trắc học (Biometrics) tương tự như nhận dạng vân tay –
Fingerprint recognition, hay nhận dạng mống mắt – Iris
recognition. . Trong khi nhận dạng vân tay và mống mắt
có thể áp dụng trên thực tế một cách rộng rãi thì nhận
dạng mặt người vẫn còn nhiều thách thức. So với nhận
dạng vân tay và mống mắt, nhận dạng mặt có nguồn dữ
liệu phong phú hơn và ít đòi hỏi sự tương tác có kiểm soát
hơn. Bài toán nhận dạng mặt người còn nhiều thách thức
nên hàng năm trong & ngoài nước vẫn có nhiều nghiên
cứu về các phương pháp nhận dạng mặt người.
Để thử nghiệm phương pháp chúng ta cần có một
cơ sở dữ liệu ảnh mẫu. Có ba cơ sở dữ liệu ảnh mẫu phổ
2


biến là: Cơ sở dữ liệu AT&T, Cơ sở dữ liệu Yale A, Cơ
sở dữ liệu Yale B
Bài toán nhận dạng khuôn mặt có thể áp dụng rộng
rãi trong nhiều ứng dụng thực tế khác nhau.
1.2 Ứng dụng của đề tài vào cơ sở thực tiễn
Trong đề tài này, tôi tập trung tìm kiếm và đề xuất
một thuật toán hiệu quả nhận dạng khuôn mặt nhằm chống
gian lận trong thi cử .
Do các khó khăn của bài toán nhận dạng khuôn mặt
như: Tư thế góc chụp, sự xuất hiện hoặc thiếu một số
thành phần của khuôn mặt, sự biểu cảm của khuôn mặt, sự
che khuất, hướng của ảnh, điều kiện của ảnh
Vì thế trong luận văn này tôi đưa ra những giả định
và ràng buộc sau làm giảm độ phức tạp của bài toán như
sau:
- Góc ảnh trực diện (frontal) hoặc gần như trực diện,
không bị che khuất (no occlusion)
- Ảnh được chụp trong điều kiện ánh sáng bình
thường.
3

- Cơ sở dữ liệu ảnh nhỏ, khoảng trăm ảnh.
- Ảnh được xét trong luận văn là ảnh số, nghĩa là ảnh
mặt người được chụp từ các thiết bị như máy ảnh số,
camera,…. Luận văn không xem xét các ảnh mặt người
nhân tạo như vẽ, điêu khắc …
1.3 Các phương pháp nhận dạng khuôn mặt
người
1.3.1 Phân tích thành phần chính (PCA)
Phân tích thành phần chính là phương pháp lâu đời

nhất và cũng là phương pháp phổ biến nhất khi nghiên cứu
nhận dạng khuôn mặt. Phân tích thành phần chính là một
kỹ thuật phân tích biến đổi được nghiên cứu khá rộng rãi
và biết đến nhiều. Thuật toán này lần đầu tiên được giới
thiệu bởi Pearson (1901), và được phát triển một cách độc
lập bởi Hotelling (1933). Ý tưởng chính của thuật toán
phân tích thành phần chính là giảm số chiều của tập dữ
liệu có sự tương quan lớn giữa các biến. Mặc dù giảm số
chiều của biến nhưng vẫn duy trùy sự biến đổi nhiều nhất
có thể của tập dữ liệu ban đầu. Thực chất của PCA là giải
4

quyết bài toán tìm trị riêng và vector riêng cho ma trận đối
xứng.
1.3.1.1 Trích đặc trưng bằng phương pháp PCA
1.3.1.2 Kỹ thuật trích đặc trưng bằng PCA
1.3.2 Phân tích phân lớp tuyến tính LDA
1.3.3 Mẫu nhị phân cục bộ (LBP)
LBP là một toán tử kernel 3×3, nó tổng quát hóa
cấu trúc không gian cục bộ của một ảnh. Ojala và các
đồng nghiệp đã giới thiệu phương pháp LBP và chỉ ra khả
năng phân tách cao của chúng cho sự phân lớp vân. Bởi vì
khả năng phân tách và chi phí tính toán thấp, LBP trở nên
rất phổ biến trong nhận dạng mẫu LBP đã được áp dụng
cho phát hiện khuôn mặt, nhận dạng khuôn mặt, xác thực
khuôn mặt, truy vấn ảnh.
1.3.3.1 Mô tả kết cấu (Texture descriptor)
1.3.3.2 Mẫu nhị phân cục bộ mở rộng
1.3.3.3 Mẫu đồng nhất (uniform patterns)
1.3.3.4 Áp dụng LBP mô tả khuôn mặt

Việc áp dụng mô tả khuôn mặt bằng LBP được
Ahonen và các cộng sự thực hiện năm 2006. Ý tưởng của
5

phương pháp là chia hình hảnh khuôn mặt thành các khối,
sau đó tính toán các histogram tương ứng với các khối.
Cuối cùng kết hợp các histogram này lại với nhau để có
được vector đặc trưng cho khuôn mặt.
1.3.4 Support vector Machines (SVM)
SVM là một phương pháp phân lớp xuất phát từ lý
thuyết học thống kê. Thuật toán SVM lần đầu tiên được
Vladimir Vapnik đề xuất. Sau đó, Corinna Cortes cùng với
Vladimir Vapnik đề xuất hình thức chuẩn hiện nay. SVM
có nhiều tính năng ưu việt so với các phương pháp cổ điển
khác: dễ dàng xử lý, xử lý với tính ổn định cao trên dữ
liệu phức tạp, có thể có số chiều lớn và quan trọng hơn cả
là khả năng xử lý tổng quát
6

1.3.4.1 Các khái niệm nền tảng
1.3.4.2 SVM tuyến tính
1.3.4.3 SVM phi tuyến
1.3.4.4 SVM cho vấn đề nhận dạng đa lớp
1 2 3 4 5 6 7 8
2 4 6
7
4 7
4

Hình 1.1 Cấu trúc 1 cây nhị phân cho nhận dạng khuôn

mặt 8 lớp

7

CHƯƠNG 2 - ĐỀ XUẤT PHƯƠNG PHÁP
NHẬN DẠNG MẶT NGƯỜI
2.1 Phân tích bài toán nhận dạng mặt người
Một hệ thống nhận dạng mặt người thông thường
gồm các bước sau đây:
Hệ thống nhận dạng khuôn mặt
Nhận dạng
(recognition
)
Đào tạo
(Training
)
Dữ lệu
Training
Phát hiện khuôn
mặt (face
detection)
Trích rút đặc
trưng
(feature
extraction)
Tiền xử lý
(preprocessing)
Phân loại
(classification)
Dữ liệu kiểm tra

(Từ ảnh/
Camera)
Phát hiện khuôn
mặt (face
detection)
Trích rút đặc
trưng
(feature
extraction)
Tiền xử lý
(preprocessing)
Nhận dạng
(recognition )
Kết quả
Hình 2.1 Hệ thống nhận dạng khuôn mặt
2.1.1 Phát hiện khuôn mặt (face detection)
Phát hiện khuôn mặt sẽ lấy ra tất cả các khuôn mặt
trong một hình ảnh.
8

2.1.2 Tiền xử lý ảnh (preprocessing)
Bước này nhằm mục đích lọc nhiễu, nâng cao chất
lượng ảnh, trong bước này bao gồm các bước : Căn chỉnh
ảnh, chuẩn hóa ánh sáng
2.1.3 Trích rút đặc trưng ( feature extraction)
Ở bước này một phương pháp trích chọn đặc điểm
như: mẫu nhị phân cục bộ – LBP (hay Gabor wavelets,
Gradient, Discrete Cosine Transform …) sẽ được sử dụng
với ảnh mặt để trích xuất các thông tin đặc trưng cho ảnh,
kết quả là mỗi ảnh sẽ được biểu diễn dưới dạng một

vector.
Trong luận văn này trình bày về phương pháp
Local Binary Pattern mục 1.3.3
2.1.4 Nhận dạng/Phân lớp
Bước nhận dạng (recognition) hay phân lớp
(classification), tức là xác định danh tính (identity) hay
nhãn (label) của ảnh – đó là ảnh của ai.
Trong luận văn trình bày về phương pháp phương
pháp SVM ở mục 1.3.4
9

2.1.5 Dữ liệu hệ thống nhận dạng
Dữ liệu hệ thống nhận dạng được chia làm 3 tập
▪ Tập huấn luyện (training set),
▪ Tập tham chiếu (reference set)
▪ Tập để nhận dạng (probe set).
Trong nhiều hệ thống, tập training trùng với tập
reference (trong luận văn này tập huấn luyện trùng với tập
training). 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 là một ma trận và phương pháp hay được
sử dụng là PCA, LDA…Tập reference gồm các ảnh đã
biết danh tính được chiếu vào không gian con ở bước
training Sau khi thực hiện chiếu tập reference vào không
gian con, hệ thống lưu lại kết quả là một ma trận với mỗi
cột của ma trận là một vector tương ứng với ảnh (định
danh đã biết) để thực hiện nhận dạng (hay phân lớp).
Nhận dạng (hay phân lớp) được thực hiện với tập các ảnh
probe.
10


Mục 1.3.1 trong chương này trình bày về phương
pháp PCA.
2.1.6 Các cách kết hợp các phương pháp
2.2 Đề xuất phương pháp nhận dạng kết hợp
LBP-PCA-SVM
Hiện tại có nhiều phương pháp kết hợp để nhận
dạng khuôn mặt như trên đề cập. Trong khuôn khổ luận
văn này, sẽ trình bày về phương pháp nhận dạng mặt
người bằng cách kết hợp ba phương pháp LBP, PCA &
SVM, ứng dụng việc kết hợp ba phương pháp nhận dạng
nhằm chống gian lận trong thi cử.

Hình 2.2 Sơ đồ kết hợp các phương pháp (phương pháp
LBP-PCA-SVM)
11

2.2.1 Áp dụng LBP trích rút đặc trưng & PCA để
giảm số chiều.
Trong luận văn ảnh chia làm 49 khối, mỗi chiều
của ảnh chia làm 7 phần kích thước của ảnh khuôn mặt
trước khi rút đặc trưng cần là 126x147px.
Các bước thực hiện trích rút đặc trưng khuôn mặt:

Hình 2.3 Các bước thực hiện trích rút đặc trưng
2.2.2 Áp dụng SVM phân lớp/nhận dạng
Trong luận văn này sử dụng SVM nhiều lớp với
chiến lược one-vs-one (Theo nghiên cứu của Chih-Wei
Hsu và Chih-Jen Lin [11] chiến lược one-vs-all cho kết
quả không được tốt), sử dụng với hàm nhân là Radial

basic funtion (RBF) để nhận dạng (Theo kết quả thực
nghiệm hàm nhân RBF cho tỉ lệ nhận dạng cao nhất)
Hàm nhân
Linear
Polynomial
Radial basic funtion (RBF)
Tỉ lệ nhận dạng
AT&T
84.0%
93.5%
95.7%
12

Tỉ lệ nhận dạng
Yale A
85.2%
94.5%
96.4%
Bảng 2.1 Bảng tỉ lệ nhận dạng theo hàm nhân
Tập huấn
luyện
Trích rút đặc
trưng (LBP)
Giảm số chiều
(PCA)
Huấn luyện
SVM giữa các
cặp
Ảnh khuôn
mặt kiểm tra

Tiền xử lý
Trích rút đặc
trưng (LBP)
Kết quả nhận
dạng
Tiền xử lý
SVM nhiều
lớp trên cơ sở
Cây nhị phân
Huấn luyện Nhận dạng

Hình 2.4 Sơ đồ phân lớp/nhận dạng sử dụng SVM


32 8

Hình 2.5 Cây nhị phân với lớp là 40
13

8 4 2 1

Hình 2.6 Cây nhị phân với lớp là 15
2.3 Đánh giá phương pháp

Hình 2.7 Đồ thị tỉ lệ nhận dạng phương pháp PCA và
LDA trên tập AT&T
14

Đối với sinh viên trường thì để lấy tập dữ liệu ảnh
lớn như vậy là rất khó. Sau khi thử nghiệm với phương

pháp LBP, SVM, PCA với số lượng ảnh mẫu/người từ 3
trở lên, kết quả cũng rất khả quan.
Số lượng
ảnh
mẫu/người
2
3
4
5
6
7
8
9
Tỉ lệ nhận
dạng
AT&T
80.0%
90.1%
91.5%
92.3%
92.7%
93.5%
94.8%
95.7%
Tỉ lệ nhận
dạng Yale
A
81.4%
90.3%
91.8%

92.8%
93.2%
94.2%
95.4%
96.4%
Bảng 2.2 Tỉ lệ nhận dạng theo số lượng ảnh mẫu phương
pháp LBP-PCA- SVM trên CSDL AT&T & Yale A
15

CHƯƠNG 3 - XÂY DỰNG ỨNG DỤNG
CHỐNG GIAN LẬN TRONG THI CỬ DỰA
TRÊN PHƯƠNG PHÁP LBP-PCA-SVM

3.1 Những hiện tượng gian lận phổ biến trong thi cử
Hiện tượng gian lận trong Giáo dục nói chung và
hiện tượng gian lận trong học hộ, thi hộ nói riêng là vấn
đề nan giải và được bàn cãi nhiều đặc biệt là trước – trong
và sau mỗi kỳ thi.
Trong các trường Đại học, Cao đẳng, Trung học
chuyên nghiệp mục đích của việc học hộ là tránh để mất
30% điểm học phần theo quy chế 25 của Bộ Giáo dục.
Việc học hộ thường xảy ra ở các lớp Liên thông, Tại chức
học vào ca tối, các lớp có tình trạng lớp đông, giáo viên
mới
Đối với hiện tượng thi hộ, việc kiểm tra và đối
chiếu học sinh – sinh viên vào dự thi mất rất nhiều thời
gian, đôi khi vẫn bỏ qua được đối tượng thi hộ như trường
hợp anh em thi hộ, hiện tượng tráo ảnh trong thẻ dự thi,
hiện tượng quên thẻ sinh viên….
16


Tại trường Cao đẳng Xây dựng số 1, cũng phát
hiện nhiều trường hợp thi hộ, học hộ đặc biệt là tại các lớp
học tại chức, liên thông học vào ca tối. Trong khuôn khổ
luận văn này, tôi xin đi sâu tìm hiểu vào phần chống gian
lận trong thi cử.
3.2 Quy trình thực hiện chống gian lận trong thi cử
Quy trình thực hiện chống gian lận trong thi cử
được thực hiện theo quy định của Bộ Giáo dục và Đào tạo.
Thông thường, để kiểm soát việc thi hộ thì trong các kỳ thi
Phòng Khảo thí và Đảm bảo chất lượng thường bố trí 02
cán bộ coi thi cho mỗi một phòng thi khoảng 30 đến 40 thí
sinh. Quy trình Tại phòng thi trước giờ làm bài thi
thường diễn ra theo nhiều bước:
Như vậy, để chuẩn bị cho một buổi thi, 02 Cán bộ
coi thi phải thực hiện một khối lượng công việc lớn và
phải thực hiện trong một thời gian ngắn để đảm bảo kịp
thời gian tính giờ làm bài cho thí sinh theo quy định
chung. Vì vậy, khâu quan sát thí sinh, đối chiếu nhận dạng
thí sinh đôi khi chưa được chú trọng thực hiện kỹ, hơn nữa
việc xảy ra tình huống ngoài mong muốn như thí sinh
17

quên thẻ sinh viên, ảnh nhòe, ảnh cũ hoặc ảnh không đóng
dấu giáp lai rất khó nhận dạng, chính vì điều đó dẫn đến
bỏ lọt đối tượng thi hộ.
Ý tưởng xây dựng phần mềm ứng dụng nhận dạng
khuôn mặt nhằm tháo gỡ tình trạng học hộ, đặc biệt là thi
hộ như một mong muốn giảm bớt được quy trình coi thi,
với tính chính xác cao mang lại hiệu quả công việc.

Quy trình thực hiện như sau:
 Bước 1: Thu thập dữ liệu ảnh sinh viên
Trước mỗi kỳ thi mỗi sinh viên sẽ gửi cho nhà
trường ít nhất 3 hình ảnh của khuôn mặt (trạng thái bình
thường, vui vẻ, buồn). Tập tên được gửi có định dạng
MSSV-[1,2,3, …], trong đó MSSV là mã số sinh viên,
sau ký tự “-“ là các số 1, 2, 3 … tương ứng với các ảnh số
1 hoặc 2 hoặc 3 …. Ảnh chụp độ phân giải ít nhất 3Mpx.
Sau khi được xác thực ảnh sẽ được đưa vào cơ sở dữ liệu.
Sinh viên cũng có thể gặp trực tiếp người phụ trách
để thu thập ảnh từ Camera.
 Bước 2: Nhập dữ liệu thi trước mỗi buổi thi
18

Trước mỗi lần thi, người phụ trách sẽ nhập danh
sách thí sinh thi tương ứng với các phòng thi, danh sách
này được nhập từ file Excel và được tải vào máy chủ
(trong chương trình demo này danh sách được lọc theo mã
sinh viên).
 Bước 3: Quy trình tại phòng thi
Tại phòng thi chương trình nhận dạng dựa trên dữ
liệu từ máy chủ gửi xuống.Trước mỗi lần thi cần kiểm tra
hệ thống nhận dạng: camera, ánh sáng Yêu cầu thí sinh
đứng trực diện, ngay ngắn trước Camera. Nếu nhận dạng
thành công thì thí sinh đó được vào thi, nếu nhận dạng 3
lần không thành công thí sinh cần xuất trình thẻ sinh
viên(hoặc chứng minh thư) để cán bộ coi thi đối chiếu.
C
Camera
Ánh sáng Ánh sáng


Hình 3.1 Mô hình nhận dạng ở phòng thi
19

3.3 Chức năng của phần mềm
Chương trình nhận dạng khuôn mặt được viết bằng
C# với thư viện EmguCV - trình bao bọc (wrapper) của
OpenCV cho ngôn ngữ C#)
Chương trình sử dụng Logitech HD Webcam C270
Mô hình thực hiện
Hệ thống nhận dạng khuôn mặt
Client
(máy trạm
)
Server
(máy chủ
)
Dữ lệu
Training
Phát hiện
khuôn mặt
Trích rút đặc
trưng
Tiền xử lý
Phân loại
Dữ liệu kiểm
tra
(Từ ảnh/
Camera)
Phát hiện

khuôn mặt
Trích rút đặc
trưng
Tiền xử lý Nhận dạng Kết quả
Truyền dữ liệu Histogram
Hình 3.2 Mô hình hệ thống nhận dạng khuôn mặt
Mô hình hình thực hiện được chia là 2 phần: máy
chủ và các máy trạm. Máy chủ lưu cơ sở dữ liệu khuôn
mặt và dữ liệu thi. Vào mỗi buổi sáng chương trình trên
20

máy chủ sẽ chuyển dữ liệu xuống các máy trạm, đó là
những tập tin có phần mở rộng là LBPH theo mô hình
mạng LAN.
Trong mỗi buổi thi số thí sinh không quá 40 sinh
viên, nên theo mô hình này thì máy chủ gửi dữ liệu về
máy trạm không lớn.
3.3.1 Chương trình trên máy chủ (Server)
Server có chức năng thu thập ảnh và trích rút đặc
trưng. Ảnh thu thập có thể là ảnh tĩnh (từ tập tin hoặc thư
mục), hoặc ảnh chụp từ Camera.

Hình 3.3 Giao diện chương trình Server
21


Hình 3.4 Chức năng thu thập ảnh từ Camera
Sau khi thu thập ảnh, chương trình sẽ trích rút đặc
trưng ảnh theo điều kiện lọc và gửi xuống các máy trạm
(Client). Ở đây điều kiện lọc là theo mã sinh viên (có thể

mở rộng lọc theo lớp, họ tên sinh viên ….)

Hình 3.5 Chức năng tạo dữ liệu Training
Dữ liệu sau khi tạo dữ liệu thành công sẽ được lưu
ở tập tin với phần mở rộng là LBPH, mặc định tên tập tin
22

có định dạng là yyyyMMddHHmmss, người quản lý có
thể thay đổi tên cho dễ nhớ.

Hình 3.6 Dữ liệu sau khi Training
3.3.2 Chương trình trên máy trạm (Client)
Máy trạm sử dụng dữ liệu trích rút đặc trưng từ
máy chủ gửi về và training(Huấn luyện) dữ liệu sau đó
nhận dạng khuôn mặt từ hình ảnh thu được của Camera.
Để sử dụng chương trình, người dùng nhấn vào biểu
tượng có hình thư mục và mở tập tin máy chủ gửi về. Sau
đó nhấn vào biểu tượng hình “Play” để chương trình nhận
dạng.
Nếu nhận dạng thành công/không thành công
chương trình sẽ có thông báo bằng giọng nói nhận dạng
23

thành công và thông báo trên màn hình. Với mỗi lần nhận
dạng 1 khuôn mặt được nhận dạng, phần mềm sẽ lấy kết
quả của 5 lần nhận dạng liên tiếp nhau, khuôn mặt nhận
dạng thành công khi kết quả của 5 lần là giống nhau.

Hình 3.7 Kết quả nhận diện thành công
3.4 Đánh giá hiệu quả của phần mềm với trường

CĐXD1
Khảo sát thực nghiệm với 35 học sinh của một
lớp học tương ứng với một phòng thi thì tuỳ theo
điều kiện cho kết quả nhận dạng khác nhau:
- Đối với những thí sinh gửi ảnh theo đúng yêu cầu,
ảnh được gửi trong khoảng từ 1 tháng đến 12 tháng

×