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

Nghiên cứu, thiết kế hệ thống cơ điện tử thông minh ứng dụng công nghệ nhận dạng khuôn mặt và thuật toán học sâu trong việc điểm danh và đánh giá độ chuyên cần của sinh viên

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.47 MB, 45 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

NGUYỄN DUY KHÁNH

Họ và tên tác giả luận văn
NGUYỄN DUY KHÁNH

CƠ ĐIỆN TỬ

TÊN ĐỀ TÀI LUẬN VĂN
Nghiên cứu, thiết kế hệ thống cơ điện tử thông minh ứng dụng
công nghệ nhận dạng khuôn mặt và thuật toán học sâu trong việc
điểm danh và đánh giá độ chuyên cần của sinh viên

LUẬN VĂN THẠC SĨ KHOA HỌC
CƠ ĐIỆN TỬ

2018B
Hà Nội – Năm 2020

1


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------Họ và tên tác giả luận văn
NGUYỄN DUY KHÁNH

TÊN ĐỀ TÀI LUẬN VĂN


Nghiên cứu, thiết kế hệ thống cơ điện tử thông minh ứng dụng
công nghệ nhận dạng khuôn mặt và thuật toán học sâu trong việc
điểm danh và đánh giá độ chuyên cần của sinh viên

Chuyên ngành :

CƠ ĐIỆN TỬ

LUẬN VĂN THẠC SĨ KHOA HỌC
CƠ ĐIỆN TỬ

NGƯỜI HƯỚNG DẪN KHOA HỌC :
1.
TS. Đặng Thái Việt
2.

Hà Nội – Năm 2020
2


SĐH.QT9.BM11

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn : …………………………………........……………..
Đề tài luận văn: ………………………………………….....……………...............….
Chuyên ngành:……………………………...…………………........................…..........
Mã số SV:………………………………….. …………………....................................…...

Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác
nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày
........................................ với các nội dung sau:
……………………………………………………………………………………………………..………
……………………………………………………………………………………………..…………………
…………………………………………………………………………………..……………………………
………………………………………………………………………..………………………………………
……………………………………………………………..…………………………………………………
…………………………………………………..……………………………………………………………
………………………..

Ngày
Giáo viên hướng dẫn

tháng

năm

Tác giả luận văn

CHỦ TỊCH HỘI ĐỒNG

3


MỤC LỤC
LỜI MỞ ĐẦU…………………………………………………………………………5
CHƯƠNG 1: TỔNG QUAN
1.1 Thuật toán Facenet……………………………………………………………….11
1.2 Thuật toán Adaboost……………………………………………………………..14

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ THU THẬP DỮ LIỆU…16
2.1. Cách thức tiến hảnh xử lý điểm chuyên cần…………………………………...16
2.2 Xây dựng bộ cơ sở dữ liệu……………………………………………….………17
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN XỬ LÝ ĐÁNH GIÁ ĐIỂM
DANH TỰ ĐỘNG
3.1 Yêu cầu bài toán………………………………………………………………….18
3.2 Lấy dữ liệu từ module cảm biến………………………………………………...20
3.2.1 Cảm biến vân tay R305………………………………………………………...21
3.2.2 Lựa chọn vi điều khiển………………………………………………………...21
3.2.3 Kết nối truyền nhận dữ liệu vân tay………………………………………….25
3.3 Thiết kế phần mềm hệ thống điểm danh tự động………………………….26
3.3.1 Bài toán nhận diện khuôn mặt…………………………………………...27
3.3.2 So sánh một số phương pháp nhận diện khuôn mặt phổ biến hiện nay…..29
3.3.3 Xây dựng phần mềm hệ thống …………………………………………30
CHƯƠNG 4: KẾT QUẢ, ĐÁNH GIÁ BÀI TOÁN
4.1 Thử nghiệm độ chính xác thuật toán…………………………………………..32
4.2 Thử nghiệm độ chính xác thuật toán sau khi đã tích hợp vào hệ thống…..34
KẾT LUẬN……………………………………………………………………….36
PHỤ LỤC…………………………………………………………………………37
TÀI LIỆU THAM KHẢO……………………………………………………….38

4


LỜI NÓI ĐẦU
Giáo dục - đào tạo giữ vai trò hết sức quan trọng đối với sự tồn tại và phát triển
của mỗi quốc gia cũng như của toàn nhân loại. Trong bối cảnh hiện nay, sự phát
triển mạnh mẽ của khoa học công nghệ, cùng với quá trình toàn cầu hóa và hội
nhập quốc tế sâu rộng, đặc biệt là xu thế tất yếu của nền kinh tế tri thức đã tác
động mạnh đến mọi lĩnh vực của đời sống xã hội, trong đó có giáo dục. Nhu cầu

phát triển nguồn nhân lực chất lượng cao đặt ra yêu cầu cho mỗi quốc gia phải
không ngừng đổi mới, cải cáchhệ thống giáo dục quốc dân để nâng cao hơn nữa
chất lượng và hiệu quả giáo dục.
Ngày nay, trí tuệ nhân tạo đã trở nên phổ biến ở nhiều khía cạnh trong cuộc sống
hàng ngày của chúng ta. Từ các cảm biến thông minh giúp chúng ta chụp ảnh hoàn
hảo, đến các tính năng đỗ xe tự động trong xe hơi, cho đến các trợ lý cá nhân trong
điện thoại thông minh, trí thông minh nhân tạo luôn ở xung quanh chúng ta và đặc
biệt ứng dụng trong giáo dục.
Việc đánh giá học tập của sinh viên hiện nay chủ yếu do chuyên cần và điểm thi,
chỉ có đi học chuyên cần mới giúp sinh viên nắm bắt chắc kiến thức chuyên môn.
Để giảm thiểu các khâu xử lý trung gian đồng thời giúp tăng độ chính xác, giải
quyết những vấn đề tồn đọng của việc điểm danh hiện tại, em xin đề xuất đề tài:
“Nghiên cứu, thiết kế hệ thống cơ điện tử thông minh ứng dụng công nghệ nhận
dạng khuôn mặt và thuật toán học sâu trong việc điểm danh và đánh giá độ chuyên
cần của sinh viên”
Mục đích của luận văn tập trung nghiên cứu, tìm hiểu và phân tích các
phương pháp Học sâu ứng dụng vào bài toán nhận dạng, điểm danh tự động, đồng
5


thời thực hiện cài đặt một mô hình huấn luyện về nhận dạng người trong Học sâu
với số lượng ảnh được hạn chế, và sử dụng chúng làm bộ nhận dạng cơ sở cho ứng
dụng điểm danh tự động cải thiện cho việc điểm danh hiện nay.
Bộ cơ sở dữ liệu ảnh là một trong các thành phần quan trọng hàng đầu trong các
phương pháp Học máy nói chung, được sử dụng để phục vụ cho quá trình tính toán
tham số và huấn luyện, tinh chỉnh các mô hình. Thông thường, bộ dữ liệu càng lớn
và càng được chọn lọc tỉ mỉ cẩn thận thì độ chính xác của mô hình càng được cải
thiện. Sau khi đã thu thập đủ số lượng ảnh gốc từng sinh viên, ta sẽ sử dụng các
thuật toán trên môi trường Python để trainning, nhận dạng và đánh giá độ chính
xác thuật toán từ đó chọn ra thuật toán có độ chính xác cao nhất.

Luận văn được tổ chức thành năm chương với các nội dung cụ thể như sau:
Chương 1: Trong chương tổng quan này, ta sẽ có ra cái nhìn tổng quan về
các hướng tiếp cận và giải pháp đã được ứng dụng trong bài toán điểm danh sinh
viên và lý thuyết về phương pháp sử dụng trong luận văn.
Chương 2: Chương này sẽ đi sâu hơn vào cách xử lý dữ liệu, phương pháp
điểm danh và cách thức thu thập dữ liệu dataset, chuẩn bị trainning model.
Chương 3: Trong chương tiếp theo, tiếp cận cách thiết kế và xây dựng hệ
thống điểm danh tự động kết hợp giữa phần cứng và phần mềm một cách hiệu quả.
Chương 4: Chương 4 tập trung trình bày về kết quả thực nghiệm, bao gồm
kết quả so sánh các hướng nhận dạng và mô phỏng quá trình điểm danh và tính
điểm thực tế.
Dù đã cố gắng hoàn thành đề tài với cường độ làm việc cao, kỹ lưỡng cùng sự
hướng dẫn rất cụ thể, nhiệt tình của các thầy trong bộ môn cơ điện tử cũng như
ứng dụng thực tiễn tại cơ quan làm việc, nhưng do hiểu biết còn hạn chế cộng với
điều kiện đo kiểm thực nghiệm còn giới hạn về mặt thiết bị nên chắc chắn luận
6


văn này không tránh khỏi được khả năng thiết sót và bất cập. Vì vậy em rất mong
sự sửa chữa và góp ý của hội đồng, quý thầy cô để em rút ra kinh nghiệm và bổ
sung thêm kiến thức cho bản thân.
Cuối cùng em xin chân thành cảm ơn sự quan tâm chỉ bảo của các thầy cô trong
bộ môn Cơ Điện Tử trường Đại học Bách khoa Hà Nội và đặc biệt sự hướng dẫn
tận tình của TS. Đặng Thái Việt đã giúp em hoàn thành luận văn này.
Hà Nội, ngày 10 tháng 4 năm 2020
Học viên thực hiện:

Nguyễn Duy Khánh

7



CHƯƠNG 1: TỔNG QUAN
Trong đời sống xã hội, giáo dục và đào tạo là lĩnh vực có vai trò quan
trọng đối với mọi quốc gia, dân tộc ở mọi thời đại. Trong xu thế phát
triển tri thức ngày nay, giáo dục - đào tạo được xem là chính sách, biện
pháp quan trọng hàng đầu để phát triển ở nhiều quốc gia trên thế giới và
Việt Nam không phải là ngoại lệ.
Mặt khác, giáo dục bậc đại học đóng vai trò vô cùng quan trọng vì sinh
viên sau khi tốt nghiệp sẽ trực tiếp tham gia vào công cuộc đổi mới, phát
triển đất nước. Đối với giáo dục đại học, khác với các cấp PTTH,
THCS,…việc học tập sẽ liên quan đến các học phần phải học. Vầy học
phần là gì? Học phần là khối lượng kiến thức tương đối trọn vẹn, thuận
tiện cho sinh viên tích luỹ trong quá trình học tập. Phần lớn học phần có
khối lượng từ 2 đến 4 tín chỉ, nội dung được bố trí giảng dạy trọn vẹn và
phân bố đều trong một học kỳ. Kiến thức trong mỗi học phần phải gắn
với một mức trình độ theo năm học thiết kế và được kết cấu riêng như
một phần của môn học hoặc được kết cấu dưới dạng tổ hợp từ nhiều môn
học. Từng học phần phải được ký hiệu bằng một mã số riêng do trường
quy định.
Điểm học phần bao gồm 2 thành phần là điểm quá trình và điểm thi cuối
kì.

Điểm học phần

=

30% Điểm quá
trình


+

70% Điểm thi

8


Hình 1.1: Công thức tính điểm học phần
Điểm quá trình được tính dựa vào rất nhiều yếu tố như đi học đầy đủ
được xét bằng cách điểm danh, đánh giá thái độ học trên lớp,…Chính vì
vậy, chúng ta có thể thấy để đạt được điểm giữa kì cao, cần rất nhiều yếu
tố quyết định đòi hỏi sinh viên cần thực hiện việc học tập nghiêm túc.
Như chúng ta đã thấy, việc đi học là vô cùng quan trọng quyết định khá
lớn đến kết quả điểm quá trình và điểm học phần của sinh viên.
Sinh viên là những tri thức trẻ tương lai, không ai hết mà chính họ sẽ
là những người đóng vai trò chủ chốt trong công nghiệp hóa, hiện đại hóa
đất nước. Bởi vì, sinh viên là bộ phận tiên tiến của xã hội, có trình độ học
vấn cao, có khả năng tiếp nhận cái mới, biết thay đổi linh hoạt để thích
nghi với sự thay đổi nhanh chóng của xã hội hiện đại, đại diện cho một
thế hệ tiến bộ mới.
Quá trình học tập ở đại học có rất nhiều đặc trưng khác với quá trình học
tập ở phổ thông. Tại môi trường học tập này, sinh viên là những người
chủ động tích cực ở phổ thông. Tại môi trường học tập này sinh viên là
những người chủ động tích cực giành lấy tri thức, là những người sáng
tạo trong cách tiếp thu tri thức, cũng như là việc và phải tự mình tìm ra
phương thức học tập thích hợp cho mình. Trong khi đó, sinh viên lại vấp
phải rất nhiều khó khăn mà tự mình phải tìm các vượt qua: cách dạy
học, các phương pháp giảng dạy mới, các môn học mới mang tính chất
chuyên sâu, chương trình học dày, khối kiến thức lớn, số lượng giảng
viên nhiều, dạy đông và mỗi môn là một giảng viên, có khi chưa kịp quen

với phong cách giảng dạy của giảng viên thì môn học đã kết thúc. Ở đại
học, cần làm việc chung với nhiều bạn bè,rồi bạn bè mới, mỗi người đến
từ một tiểu vùng văn hóa khác nhau, phong cách sống khác nhau… Thực
9


sự thì khiến sinh viên có nhiều khó khăn để thích ứng với môi trường học
tập mới.
Hầu hết các trường ĐH hiện nay đều thực hiện quy chế điểm danh với
mục đích tránh cho những giảng đường thưa vắng sinh viên dần sau vài
ngày nhập học đầu tiên. Mục đích của điểm danh là nhằm giúp SV đi học
tốt hơn, chuyên cần và nắm bài vững hơn. Theo quy chế của 1 số trường
và cũng là của Bộ Giáo dục - Đào tạo thì SV nghỉ quá 20% số tiết sẽ bị
cấm thi. Những SV bị cấm thi môn nào thì sẽ buộc phải học lại môn học
ấy.
Phương pháp điểm danh phổ biến được áp dụng hiện nay tại các trường
học được thực hiện bởi giáo viên. Mỗi tiết học sinh viên sẽ được gọi tên
và đánh dấu trong phiếu điểm danh. Bên cạnh phương pháp này, hiện nay
cũng đã có khá nhiều phương pháp được đề xuất và áp dụng để hoàn thiện
và tiết kiệm thời gian trong việc điểm danh. Điển hình với đề tài
“Fingerprint-Based Attendance Management System”, Akinduyite C.O,
Adetunmbi A.O, Olabode O.O, Ibidunmoye [2] đã đề xuất giải pháp điểm
danh bằng vân tay. Trong bài báo, tác giả đã tính toán và thử nghiệm lấy
kết quả đạt độ chính xác khá cao, tuy nhiên sai số vẫn xảy ra do điều kiện
nhận dạng không đạt bởi vì vân tay không giống lúc lấy mẫu do một số
lý do như xước bề mặt vân tay, nhăn do tiếp xúc nước,… Với cách làm
khác, tác giả A.Kassem đã đề xuất đề tài điểm danh bằng phương pháp
RFID “An RFID attendance and monitoring system for university
applications” [3]. Sinh viên cần đăng kí và mang thẻ RFID bên mình để
có thể điểm danh, tuy nhiên điểm danh hộ có thể xảy ra một cách dễ dàng.

Dựa trên phương pháp điểm danh bằng vân tay, tác giả đã kết hợp thêm
phương pháp điểm danh bằng phương pháp nhận diện khuôn mặt ứng
dụng công nghệ trí tuệ nhân tạo để giải quyết những vấn đề còn tồn đọng:
10


“Nghiên cứu, thiết kế hệ thống cơ điện tử thông minh ứng dụng công
nghệ nhận dạng khuôn mặt và thuật toán học sâu trong việc điểm danh
và đánh giá độ chuyên cần của sinh viên”
Trong bài báo này, tôi đề xuất giải pháp tổng thể để giải quyết bài toán
tổng thể đó là nhận dạng khuôn mặt với độ chính xác cao từ đó ứng dụng
vào bài toán cụ thể đó là điểm danh, đánh giá học sinh, sinh viên một
cách tự động đồng thời giải quyết được một số vấn đề của phương pháp
cũ như xước tay, tay ướt,…
1.1.

Thuật toán FaceNet

Sau khi đã tìm kiếm và cắt được ảnh khuôn mặt từ ảnh gốc, bước tiếp
theo sẽ là trích xuất đặc trưng từ ảnh sử dụng FaceNet.
Đầu tiên ta sẽ tìm hiểu cách biểu diễn khuôn mặt khi xử lý. Khi xử lý,
khuôn mặt sẽ được biểu diễn dưới dạng vecto để quá trình nhận dạng, so
sánh toán học trở nên dễ dàng. Nói đến việc nhận dạng, xác định khuôn
mặt này là của ai, chúng ta sẽ cần tính độ giống, khác nhau giữa các khuôn
mặt chúng ta lấy được. Và nói về độ giống, khác nhau, để đơn giản, chúng
ta sẽ quy về bài toán tính khoảng cách giữa các vector

11



Trainning
500K Labeled Trainning Images

Neural Network
(Feature Extractor)
FaceNet’s Inception Model

Face Representative
(128 Dimention)

FaceNet Triplet Loss

(Feature Extractor)
Train Neural Network

Hình 1.2: Mô hình FaceNet
Bài toán đặt ra là tìm cách chuyển từ khung hình khuôn mặt sang vector
sao cho ảnh hai khuôn mặt gần nhau thì 2 vector tương ứng cũng phải có
khoảng cách gần nhau. Ảnh 2 khuôn mặt khác nhau thì 2 vector tương
ứng cũng phải xa nhau hơn. Như sơ đồ trên, mô hình sử dụng Triplet
Loss.
Triplet là bộ ba thông số ta bao gồm: 1 ảnh mặt của 1 người bất kỳ (query),
1 ảnh mặt khác của người đó (positive), 1 ảnh mặt của người khác
(negative). Với việc huấn luyện mô hình như thế, chúng ta sẽ có thêm
thông tin về mối quan hệ giữa các ảnh, điều này giúp mô hình chúng ta
phù hợp hơn nhiều với bài toán.
12


Anchor


Anchor
Negative
Positive

Learning
Positive
Negative

Hình 1.3: Triplet Loss
Để mô hình của chúng ta hiểu được khi huấn luyện để có thể giúp chúng
ta tạo ra các vector như ý, cần sử dụng bộ ba thông số trở nên hiệu quả.
Và hàm loss của mô hình chúng ta sẽ có dạng như sau:

l ( pi , p  i , p i )  max{0, g  D( f ( pi ), f ( p i ))  D( f ( pi ), f ( p i ))}
Với:
 f(p) là vector biểu diễn p
 D là khoảng cách giữa 2 vector
Chúng ta đang huấn luyện để cho hàm trên càng lớn càng tốt. Điều này
có nghĩa là mô hình chúng ta sẽ cố gắng học sao cho càng ngày, nó càng
giảm khoảng cách giữa 2 vector f(pi) (Query Image) và f(pi+) (Positive
Image), và tăng khoảng cách giữa Query Image và Negative Image. Đây
là điều chúng ta đang muốn mô hình học được.
Cụ thể hơn, chúng ta cần tính được hàm Loss [1]. Chúng ta cần một ảnh
xia của một người tiến gần những ảnh khác xip (positive) của người đó

trong bộ dataset hơn là những ảnh của người khác xin (negative), được đại
diện bới hệ số khoảng cách α, cụ thể:
13



|| xia  xip ||22  || xia  xin ||22 ( xia , xip , xin ) 
Từ đó tính được hàm Loss:
N

L  [|| f ( xia )  f (xip ) ||22  || f ( xia )  f ( xin ) ||22  ]
i

Huấn luyện mô hình
Công việc đầu tiên là chuẩn bị mô hình trainning. Để dữ liệu trainning
tốt và độ chính xác sau này tối ưu, ta cần bộ dữ liệu đủ lớn và đa dạng.
Em chọn thử nghiệm hệ thống trên tập Labeled Face in Wild (LFW).
Dataset này bao gồm hơn 13000 ảnh mặt người (được gán nhãn) thu thập
trên mạng internet.

Hình 1.4: Bộ data LFW
Sau đó, một bức ảnh sẽ được đưa vào, sau đó nối lại để tạo thành 1 vector
128 chiều. Vector này sẽ đại diện cho bức ảnh, và khi mô hình được huấn
luyện tốt, 128 thuộc tính này có thể coi như là 128 thuộc tính đặc trưng của
khuôn mặt đó. Chính vì vậy, bước huấn luyện mô hình từ khuôn mặt sang
vector còn gọi là bước trích chọn đặc trưng

14


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ THU THẬP DỮ
LIỆU TRAINNING
2.1. Cách thức tiến hảnh xử lý điểm chuyên cần
Điểm chuyên cần được tính dựa vào rất nhiều yếu tố, không chỉ đi học
đầy đủ và cần rất nhiều các yếu tố khác như hăng hái phát biểu xây dựng

bài,…
CV1
Tính tổng số tiết
vắng

Giảng Viên

CV2

CV3

Tính điểm chuyên
cần

Đánh giá điểm
hăng hái tham gia

CV4
Bảng theo dõi

Ghi điểm chuyên
cần

CV5
Nộp kết quả
phòng đào tạo

Sinh viên

Hình 2.1: Luồng xử lý tính điểm chuyên cần sinh viên

Đối với công việc điểm danh, chúng ta phải xây dựng các thuộc tính đối
tượng mà nhờ vào đó có thể phân biệt, nhận dạng chính xác từng đối
tượng, công việc này được coi là việc đầu tiên cần làm của hệ thống.
15


STT

Sinh Viên

Môn học

1
2
3
4

Họ tên
Mã sinh viên
Lớp
Điểm

Tên học phần
Mã học phần

2.2. Xây dựng bộ cơ sở dữ liệu
Xây dựng cơ sở dữ liệu ảnh gồm 150 người thu thập từ nhiều nguồn dữ
liệu khác nhau. Ảnh của 50 người đầu tiên được lấy từ website
chuyên phục vụ cho bài toán dò tìm khuôn mặt.
50


ảnh

người

tiếp

theo

được

lấy

từ

trang

web

với khuôn mặt trực diện rất thích
hợp cho việc trainning, nhận dạng. Cuối cùng là 50 ảnh của học sinh, sinh
viên chụp từ điện thoại.
Hầu hết các khuôn mặt của tập mẫu dữ liệu xuất hiện trong ảnh là khuôn
mặt trực diện với mặt phẳng ảnh và mỗi khuôn mặt đều đầy đủ thông tin
đặc trưng. Một số khuôn mặt quay với một góc không đáng kể.
Kích thước chuẩn hoá của mỗi mẫu trong tập huấn luyện 30x30 (pixels)
hoặc 32x32 (pixels). Tuỳ thuộc vào đặc trưng xử lý của mỗi thuật toán ta
sử dụng một trong hai dạng kích thước ảnh chuẩn trên.
1


2

3

16


4

7

5

6

8

9

Hình 2.2: Dữ liệu gán nhãn tập trainning UTK Face
91

96

97

92

95


98

93

94

99

Hình 2.2: Dữ liệu tập trainning chụp thực tế
Biểu diễn ảnh: Dữ liệu ảnh là cường độ sáng của điểm ảnh, tại vị trị x và
y - I(x,y)
Để biểu diễn dữ liệu cho các thuật toán học nhận dạng, ta dùng hai cách
tổ chức dữ liệu như sau:
17


Đọc từng dòng ảnh theo thứ tự từ trên xuống, mỗi dòng ảnh được bố trí
liên tục nhau trên một mảng số thực một chiều. Như vậy từ ảnh có kích
thước 30x30 (pixels) ta biểu diễn thành mảng vector một chiều trong máy
tính x = (x1,x2,….,x900).
Đọc từng khối ảnh có kích thước 8x32 (pixel) theo thứ tự khối dưới chồng
lấp khối trên một nữa kích thước tính theo chiều cao, trên mỗi khối ảnh
này ta lại tiếp tục tách ra mỗi khối con 8x8 liên tục nhau. Từ khối
8x8(pixels), chúng tôi chọn ra 20 hệ số đặc trưng từ phép biến đổi trên
miền tần số. Mỗi khối ảnh 8x32 sẽ được lượng hoá thành mỗi vector một
chiều. Như vậy đỗi với ảnh mỗi khuôn mặt ta biểu biển trong máy tính
thành một chuỗi các vector một chiều liên tiếp nhau.
2.3. Chuẩn bị dữ liệu và phát hiện khuôn mặt sử dụng mạng Neural
2.3.1. Phương pháp phát hiện khuôn mặt sử dụng mạng Neural
Tạo tập ảnh

Negative

Tạo tập ảnh
Positive

Ảnh cần nhận
dạng

Tìm biên, đặc
trưng khuôn mặt

Lấy vị trí hình và
vị trí trên ảnh

Tiền xử lý ảnh tập mẫu

Trainning detect
khuôn mặt

Tiền xử lý

Xác minh
mặt

Loại

Lấy vị trí mẫu
khuôn mặt
Kết hợp các
khuôn mặt

Đã tìm được
khuôn mặt ở vị trí
khác nhau

18


Hình 2.3: Sơ đồ khối quá trình detect face
2.3.2. Dữ liệu trainning hệ thống phát hiện khuôn mặt
2.3.2.1. Gán nhãn và phát hiện biên, đặc trưng khuôn mặt
Bước đầu tiên trong việc giảm số các biến đổi trong ảnh khuôn mặt là
tách biên các khuôn mặt này với khuôn mặt khác. Việc tách biên này sẽ
làm giảm các biến đổi về vị trí, hướng, và tỷ lệ các khuôn mặt. Việc tách
biên được tính trực tiếp từ các ảnh. Và nó tạo ra không gian ảnh khuôn
mặt tối thiểu. Cường độ ảnh khuôn mặt có thể biến đổi nhiều, làm cho
một số khuôn mặt khó canh biên với nhau.
Ta dùng giải pháp gán nhãn thủ công các mẫu khuôn mặt. Cụ thể là vị trí
hai mắt, đỉnh mũi, hai góc và trung tâm miệng của mỗi khuôn mặt.
Bước tiếp theo là dùng thông tin này để tách biên các khuôn mặt với
khuôn mặt khác. Trước hết định nghĩa tách biên giữa hai tập điểm đặc
trưng. Đó là phép quay, biến đổi tỷ lệ, và dich chuyển để làm cực tiểu hoá
tổng bình phương khoảng cách giữa từng cặp đặc trưng tương ứng. Trong
không gian hai chiều, một phép biến đổi toạ độ như vậy có thể được viết
dưới dạng sau:

 x '   s.cos 
 
 y '   s.sin 

 x

 s.cos    x   t x   a b t x   
. y
 .      
s.cos    y   t y   b a t y   
1

Khi có hai hay nhiều hơn cặp điểm đặc trưng phân biệt, hệ các phương trình
tuyến tính có thể được giải bằng phương pháp đảo ngược giả. Gọi ma trận
19


bên trái là A , vector là T, và bên phải là B, khi đó lời giải:
T = (AT A)-1(AT B)
Lời giải đảo ngược giả đưa ra phép biến đổi T làm cực tiểu tổng bình
phương khác biệt giữa tập toạ độ x’i, y’i và phiên bản đã biến đổi của xi,
yi.
Tách biên tập các điểm đặc trưng:
 Khởi tạo F , vector sẽ là vị trí trung bình của mỗi đặc trưng gán nhãn
trên mọi khuôn mặt, với một số vị trí đặc trưng ban đầu. Trong trường
hợp canh biên các khuôn mặt thẳng, các đặc trưng này là vị trí mong
muốn của hai mắt, đỉnh mũi, hai góc và trung tâm miệng của mỗi
khuôn mặt trong cửa sổ đầu vào.

 Cập nhật F bằng việc lấy trung bình các vị trí đặc trưng đã canh
biên F’i cho mỗi khuôn mặt i.
 Toạ độ đặc trưng trong F được quay, dịch chuyển và biến đổi để
phù hợp với một số toạ độ chuẩn. Toạ độ chuẩn là toạ độ được dùng
làm giá trị khởi tạo cho F .
 Sang bước 2.
Thuật toán hội tụ trong vòng năm lần lặp, tạo cho mỗi khuôn mặt phép

biến đổi để ánh xạ nó gần về vị trí chuẩn, và canh biên với mọi khuôn
mặt khác. Khi đã biết các tham số để canh biên khuôn mặt, ảnh có thể
được lấy mẫu lại dùng nội suy song tuyến tính. Khuôn mặt chuẩn và
phân phối của các vị trí đặc trưng được cho trong.

20


Hình 2.4: Mẫu chuẩn và tách đặc trưng
2.3.2.2. Tiền xử lý trên ảnh trainning
Sau khi tách biên các khuôn mặt, vẫn còn một nguồn biến đổi chính
(không kể biến đổi về bản chất giữa các khuôn mặt). Biến đổi này gây ra
do độ sáng và các đặc tính máy ảnh, dẫn đến các ảnh có độ sáng tươi hay
kém, hoặc ảnh có độ tương phản kém.
Ta xử lý vấn đề này bằng tiếp cận xử lý ảnh đơn giản. Kỹ thuật tiền xử
lý trước hết cân bằng các giá trị mật độ trên toàn cửa sổ. Lập hàm hàm
biến đổi tuyến tính giá trị mật độ trong vùng tròn trong cửa sổ. Các điểm
ảnh bên ngoài hình tròn có thể là nền. Nếu mật độ của pixel (x,y) là I(x,y),
khi đó cách biến đổi tuyến tính này được tham số hoá bởi a, b, c với:


x

a
 
y 1 .  b   I ( x, y )
c
 

Việc chọn cách biến đổi này là tuỳ ý. Nó có thể biểu diễn các khác biệt

về độ sáng trên toàn ảnh. Các biến đổi được giới hạn là tuyến tính để số
tham số ít và việc tạo lập hàm nhanh chóng. Tập hợp với mọi pixel trên
toàn cửa sổ hình tròn ta được phương trình ma trận ràng buộc, và được
giải bằng phương pháp đảo ngược
giả. Phương trình tuyến tính này sẽ xấp xỉ toàn bộ độ sáng của mỗi phần
của cửa sổ, và bị trừ đi với cửa sổ để cân bằng biến đổi về độ sáng.
Tiếp theo, cân bằng lược đồ, ánh xạ không tuyến tính các giá trị mật độ
để mở rộng miền cường độ trong cửa sổ. Lược đồ được tính với các pixel
trong vùng tròn trong cửa sổ. Việc này bù cho các khác biệt trong việc thu
nhận đầu vào camera, và cũng cải thiện độ tương phản trong một số

21


trường hợp.

Hình 2.5 Các bước trong việc tiền xử lý
2.3.2.3. Ảnh huấn luyện là khuôn mặt
Để dùng mạng neural phân loại cửa sổ là khuôn mặt hay không, ta cần
các mẫu huấn luyện cho mỗi tập. Với các mẫu khuôn mặt ta dùng kỹ thuật
đã trình bày trong phần trên để tách biên các ảnh khuôn mặt trong đó một
số điểm đặc trưng đã gán nhãn bằng tay. Sau khi canh biên, các khuôn
mặt được co về về một kích thước, vị trí và hướng đồng nhất trong cửa
sổ 20x20 pixel.

22


Áp dụng ở mỗi vị trí pixel và ở mỗi tỷ lệ trong chóp ảnh, và vẫn dò tìm
các khuôn mặt ở vị trí và tỷ lệ trung bình. Ngoài ra, để cho bộ dò tìm

mạnh hơn với các biến đổi không đáng kể trong khuôn mặt, chúng được
quay với một lượng ngẫu nhiên (tối đa 10o).

2.3.2.4. Ảnh huấn luyện không phải khuôn mặt
Ta cần nhiều ảnh không khuôn mặt để huấn luyện bộ dò tìm khuôn mặt,
vì sự đa dạng của ảnh không khuôn mặt lớn hơn nhiều so với ảnh khuôn
mặt. Một lớp ảnh không chứa khuôn mặt là các ảnh phong cảnh chẳng
hạn cây, núi, và toà nhà.
Thu thập tập không khuôn mặt đặc trưng là việc khó. Hầu như bất kỳ ảnh
nào cũng có thể được xem như là mẫu không khuôn mặt; không gian ảnh
không khuôn mặt lớn hơn không gian ảnh khuôn mặt. Tiếp cận thống kê
máy học cho rằng ta nên huấn luyện mạng neural trên cùng phân bố ảnh
mà mạng thấy khi
chạy. Với bộ dò tìm khuôn mặt, số mẫu khuôn mặt là 15,000, là một số
thích hợp. Tuy nhiên, tập đại diện ảnh phong cảnh chứa gần 150,000,000
cửa sổ, và việc huấn luyện trên một cơ sở dữ liệu khuôn mặt có kích thước
lớn như vậy là rất khó. Phần tiếp theo mô tả việc huấn luyện trên một cơ
sở dữ liệu khuôn mặt này.

2.3.2.5. Huấn luyện phát hiện mặt
Hệ thống hoạt động theo hai giai đoạn: trước hết áp dụng tập bộ dò tìm
dựa trên mạng neural vào ảnh, và sau đó dùng bộ phân xử để kết hợp các
đầu ra. Các bộ dò tìm riêng lẻ khảo sát mỗi vị trí trong ảnh ở một vài tỷ
lệ, tìm vị trí có thể chứa khuôn mặt. Sau đó bộ phân xử hợp các dò tìm từ
các mạng riêng lẻ và loại trừ các dò tìm chồng lấp.
Thành phần đầu tiên của hệ thống là mạng neural nhận đầu vào là
23


vùng 20x20 (pixels) của ảnh và tạo đầu ra trong khoảng 1 đến -1, biểu thị

có hay không có khuôn mặt. Để dò tìm mọi khuôn mặt trong ảnh, mạng
được áp dụng ở mọi vị trí trong ảnh. Để dò tìm các khuôn mặt lớn hơn
kích thước cửa sổ, ảnh đầu vào được giảm kích thước nhiều lần, và áp
dụng bộ dò tìm ở mỗi kích thước. Mạng có một số bất biến với vị trí và
kích thước. Số bất biến xác định số tỷ lệ và vị trí nó được dùng. Với bài
này, ta áp dụng bộ lọc ở mọi vị trí điểm ảnh, và giảm tỷ lệ xuống 1.2 ở
mỗi bước phân tích ảnh tứ phân. Chóp ảnh này được cho bên trái trong
Hình 2.6

Hình 2.6 Thuật toán dò tìm khuôn mặt
Sau khi cửa sổ 20x20 pixel được trích ra từ một vị trí và tỷ lệ nào đó trong
ảnh nhập, nó được tiền xử lý.. Window sau khi tiền xử lý được truyền qua
mạng neural. Mạng có các liên kết võng mạc đến các tầng nhập. Vùng
thu nhận của các đơn vị ẩn được cho trong Hình 2.6. Window đầu vào
được chia thành các mảnh nhỏ, 4 vùng 10x10 (pixels), 16 vùng 5x5
(pixels), và 6 vùng chồng lấp 20x5 (pixels). Mỗi vùng có liên kết đầy đủ
với một đơn vị ẩn. Dù hình vẽ cho thấy một đơn vị ẩn cho mỗi vùng con
đầu vào, nhưng các đơn vị này có thể được tái tạo. Với thử nghiệm sau,
ta dùng mạng với hai và ba tập các đơn vị ẩn này. Hình dáng của các vùng
24


con này được chọn để cho phép các đơn vị ẩn dò tìm các đặc trưng cho
việc dò tìm khuôn mặt. Cụ thể, các sọc ngang cho phép các đơn vị ẩn dò
tìm các đặc trưng như miệng, cặp mắt, trong khi các đơn vị ẩn với vùng
tiếp thu hình vuông có thể dò tìm các đặc trưng như từng mắt, mũi, hai
góc của miệng. Các thử nghiệm cho thấy rằng hình dạng chính xác của
các vùng này không quan trọng, quan trọng là đầu vào được chia thành
các vùng nhỏ thay vì dùng các kết nối hoàn toàn với toàn bộ đầu vào.
Mạng có một đầu ra giá trị thực, chỉ định window có chứa khuôn mặt hay

không.

25


×