Tóm tắt Luận văn Hệ thống nhận diện khuôn mặt qua camera

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG  
---------------------------------------  
NGUYỄN QUANG HUY  
HỆ THỐNG NHẬN DIỆN KHUÔN MẶT QUA CAMERA  
TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT  
HÀ NỘI - 2020  
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. NGUYỄN ĐÌNH HÓA  
Phản biện 1: PGS.TS.Lê Hữu Lập .………………………………  
Phản biện 2: TS.Tạ Quang Hùng…………………………………  
Luận văn sẽ đượ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:  
8 giờ ngày 09 tháng 01 năm 2021  
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  
i
MỤC LỤC  
DANH MỤC CÁC BẢNG  
ii  
iii  
DANH MỤC CÁC HÌNH  
 
1
MỞ ĐẦU  
Công nghệ thông tin ngày càng phát triển và đã là một thành phần không thể  
thiếu trong hầu hết mọi lĩnh vực trên thế giới. Những người máy thông minh được  
con người tạo ra đã có khả năng phân tích và xử lý được các công việc của con  
người một cách tự động và đem lại lợi ích kinh tế rất lớn. Trong thời gian gần đây,  
một trong những bài toán được nghiên cứu, ứng dụng nhiều nhất vào trong cuộc  
sống đó là bài toán nhận diện. Tuy mới xuất hiện chưa lâu nhưng nó đã rất được  
quan tâm vì tính ứng dụng thực tế của bài toán như nhận dạng chữ viết, nhận dạng  
giọng nói, nhận dạng hình dáng, nhận diện khuôn mặt. Trong đó, bài toán nhận diện  
khuôn mặt là một chủ đề đang được khá nhiều nhà đầu tư, doanh nghiệp quan tâm  
đến. Dù đã được nghiên cứu từ rất lâu nhưng bài toán nhận diện khuôn mặt vẫn  
đang gặp phải nhiều thách thức và vẫn chưa có phương pháp cụ thể nào có thể giải  
quyết hết các vấn đề trong bài toán này.  
Bài toán nhận diện khuôn mặt là một trong những chủ đề đang được quan tâm  
nhiều nhất. Ứng dụng từ bài toán này được áp dụng trong rất nhiều lĩnh vực khác  
nhau. Các ứng dụng liên quan đến nhận diện khuôn mặt có thể kể như: tra cứu thông  
tin tội phạm, phát hiện tội phạm tại các nơi công cộng, tìm người lạc, điểm danh học  
sinh ...  
Từ những phân tích và khảo sát ở trên, em nhận thấy hệ thống nhận diện  
khuôn mặt rất có ý nghĩa trong thực tiễn cuộc sống và em xin chọn đề tài nghiên  
cứu “Hệ thống nhận diện khuôn mặt qua camera”. Kết quả của luận văn hướng tới  
việc xây một hệ thống nhận diện khuôn mặt có khả năng mở khả năng mở rộng cao,  
dễ dàng tích hợp.  
Nội dung luận văn được trình bày trong ba chương với các nội dung chính  
như sau:  
Chương 1. Tổng quan về nhận diện khuôn  
Chương này sẽ trình bày một số nội dung nền tảng về bài toán nhận diện khuôn  
mặt, các ứng dụng tương tác người máy liên quan đến nhận diện khuôn mặt, và một  
số kỹ thuật hay được sử dụng trong bài toán nhận diện khuôn mặt. Nội dung của  
 
2
chương bao gồm ba phần chính. Phần đầu tiên giới thiệu tổng quan về bài toán nhận  
diện khuôn mặt cùng với các ứng dụng thực tế. Phần thứ hai giới thiệu một số phương  
pháp trong nhận diện khuôn mặt thường được áp dụng trong thực tế và nghiên cứu.  
Phần cuối cùng giới thiệu một số mạng tích chập thường được sử dụng trong bài toán  
nhận diện khuôn mặt.  
Chương 2. Hệ thống nhận diện khuôn mặt dựa trên mạng nơ ron tích chập  
Các kỹ thuật cơ bản được sử dụng để xây dựng hệ thống nhận diện khuôn mặt  
của luận văn được trình bày trong chương này. Nội dung của chương trình bày về các  
phương pháp trích chọn đặc trưng phục vụ quá trình nhận diện khuôn mặt, phương  
pháp định danh khuôn mặt và mô hình học máy được sử dụng để phân loại dữ liệu  
nhận diện khuôn mặt. Chương này cũng bao gồm các thông tin về mô hình, kiến trúc  
mạng nơ ron tích chập Inception-ResNet sử dụng cho việc trích chọn đặc trưng khuôn  
mặt của luận văn.  
Chương 3. Thử nghiệm và đánh giá  
Chương này mô tả chi tiết về bộ dữ liệu được sử dụng, cùng các kịch bản  
và kết quả các quá trình huấn luyện mô hình. Các kết quả thực nghiệm kèm theo  
đánh giá mô hình sau khi huấn luyện cũng được trình bày trong chương này.  
Nội dung của luận văn được kết thúc bằng phần Kết luận, trong đó trình bày  
tóm lược các nội dung và kết quả đã đạt được trong luận văn, từ đó đề xuất các hướng  
phát triển trong tương lại.  
3
CHƯƠNG 1. TỔNG QUAN VỀ NHẬN DIỆN KHUÔN MẶT  
1.1. Tổng quan về nhận diện khuôn mặt cùng với các ứng dụng thực tế  
của các kỹ thuật nhận dạng khuôn mặt.  
1.1.1 Tổng quan  
Nhận diện khuôn mặt là một bài toán tổng hợp. Trong đó ta cần các mô đun  
quan trọng như như xác định vị trí khuôn mặt, trích chọn đặc trưng rồi phân loại. Từ  
đó ta có thể xác định danh tính người trong ảnh.  
1.1.2 Kiến trúc tổng quát hệ thống nhận diện  
Hình 1.1. Kiến trúc tổng quát về hệ thống nhận diện  
1.1.3 Ứng dụng  
Bài toán nhận diện khuôn mặt có rất nhiều ứng dụng trong cuộc sống. Trong  
đó, một số ứng dụng tiêu biểu không thể không kể đến của bài toán này là hệ thống  
phát hiện, truy vết tội phạm, hệ thống tìm trẻ lạc, hệ thống điểm danh, chấm công hay  
ứng dụng nhận diện đối tác, khách hàng VIP. Các bài toán trên hiện đang được sử  
dụng rất nhiều và thành một phần không thể thiếu trong cuộc sống của mỗi người.  
1.2. Một số phương pháp trong nhận diện khuôn mặt thường được áp  
dụng trong thực tế và nghiên cứu  
1.2.1 Phân tích thành phần chính(PCA)  
PCA (Principle Components Analysic) là một thuật toán được sử dụng để tạo  
ra một ảnh mới từ ảnh ban đầu. Ảnh mới này có kích thước nhỏ hơn nhiều so với ảnh  
ban đầu nhưng vẫn mang những đặc trưng cơ bản nhất của ảnh cần nhận dạng  
1.2.2 Phân tích sự khác biệt tuyến tính(LDA)  
LDA có thể được coi là một phương pháp giảm chiều dữ liệu (dimensionality  
reduction), và cũng có thể được coi là một phương pháp phân lớp (classification), và  
cũng có thể được áp dụng đồng thời cho cả hai, tức giảm chiều dữ liệu sao cho việc  
phân lớp hiệu quả nhất.  
                 
4
1.2.3 Cây quyết định (Decision Tree)  
Việc quan sát, suy nghĩ và đưa ra các quyết định của con người thường được  
bắt đầu từ các câu hỏi. Trong học máy cũng có mô hình đưa ra quyết định dựa vào  
các câu hỏi như cây quyết định. Cây quyết định (Decision Tree) là một trong những  
thuật toán phổ biến của học máy thuộc nhánh học có giám sát.  
1.2.4 Mạng nơ-ron nhân tạo  
Mạng nơ-ron nhân tạo (Neural Network - NN) là một mô hình lập trình rất đẹp  
lấy cảm hứng từ mạng nơ-ron thần kinh và nó đang trở thành một công cụ rất mạnh  
mẽ đem lại hiệu quả rất tốt trong các bài toán khó có thể kể đến như xử lý ngôn ngữ,  
phân loại ảnh, giọng nói.  
a. Perceptrons  
Perceptron là một mạng nơ-ron được cấu tạo dựa trên các nơ-ron đơn lẻ. Mô  
hình của perceptron cũng giống như một nơ-ron. Chúng đều nhận nhiều đầu vào và  
cho ra một kết quả duy nhất:  
Hình 1.2. Cấu tạo của Perceptrons  
Một perceptron sẽ nhận một hoặc nhiều đầu vào dạng nhị phân và cho ra một  
kết quả dưới dạng nhị phân duy nhất. Dữ liệu đầu vào đều chịu ảnh ảnh hưởng bởi  
các trọng số tương ứng của nó. Kết quả đầu ra quyết định dựa vào một ngưỡng quyết  
định.  
     
1 + exp(−x)  
                                                           
5
b. Cấu trúc của nơ-ron nhân tạo  
Hình 1. 3. Cấu trúc của nơ-ron nhân tạo  
Trong đó. dữ liệu đầu vào là các tín hiệu dưới dạng dưới dạng một vectơ N  
chiều được truyền vào. Trọng số liên kết là thường được gọi là weight. Chúng được  
khơi tạo một cách ngẫu nhiên. Hàm tổng là sử dụng để tính tổng các tích của dữ liệu  
đầu vào với trọng số liên kết của nó. Ngưỡng là được đưa vào để sử dụng trong hàm  
kích hoạt. Hàm kích hoạt là đầu và là kết quả của hàm tổng và ngưỡng. Hàm kích  
hoạt được sử dụng để giới hạn đầu ra của các nơ-ron. Các hàm kích hoạt là các hàm  
tuyến tính hay phi tuyến và chúng rất đa dạng. Để chọn lựa được hàm kích hoạt tốt  
sẽ tùy thuộc vào kinh nghiệm của người thiết kế mạng. Đầu ra là tín hiệu đầu ra duy  
nhất của mỗi nơ-ron.  
c. Các hàm kích hoạt phổ biến  
Bảng 1.1. Các hàm kích hoạt  
Tên  
Mô tả hàm  
Đồ thị  
hàm  
1
Sigmoid  
f =  
   
6
Tên  
hàm  
Mô tả hàm  
Đồ thị  
Linear  
f = x  
0 if x⁡ < 0  
1 if x ≥ 0  
Hard  
f = {  
Limit  
1 − e−x  
1 + e−x  
Bipolar  
sigmoid  
function  
f =  
7
d. Mạng truyền thẳng  
Dữ liệu đầu vào sẽ được truyền đến đơn vị đầu ra bằng cách truyền thẳng. Việc  
xử lý dữ liệu có thể mở rộng ra nhiều lớp nhưng ở đây chúng không có các liên kết  
để phản hồi lại.  
Hình 1.4. Cấu tạo của mạng truyền thẳng  
e. Mạng Multi Layer Perceptron  
Mô hình mạng nơ-ron được sử dụng rộng rãi nhất là mô hình mạng nhiều  
tầng truyền thẳng. Một mạng MLP tổng quát là mạng có n (n≥2) tầng (thông  
thường tầng đầu vào không được tính đến): trong đó gồm một tầng đầu ra (tầng  
thứ n) và (n-1) tầng ẩn.  
Hình 1.5. Cấu tạo của mạng MLP  
   
8
1.2.5 Mạng nơ-ron tích chập  
a. Khái niệm  
Mạng Nơ-ron Tích chập (Convolutional Neural Network - CNN) là một họ  
các mạng nơ-ron ưu việt. Các kiến trúc dựa trên CNN hiện nay xuất hiện trong mọi  
ngóc ngách của lĩnh vực thị giác máy tính, và đã trở thành kiến trúc chủ đạo mà hiếm  
ai ngày nay phát triển các ứng dụng thương mại hay tham gia một cuộc thi nào đó  
liên quan tới nhận dạng ảnh, phát hiện đối tượng, hay phân vùng theo ngữ cảnh mà  
không xây nền móng dựa trên phương pháp này.  
b. Kiến trúc mạng CNN  
Hình 1.6. Kiến trúc mạng CNN  
Kiến trúc mạng CNN bao gồm các thành phần chính là: lớp tích chập, lớp  
pooling, lớp kết nối đầy đủ, hàm kích hoạt.  
1.3 Phương pháp xác định vị trí khuôn mặt với mạng tích chập MTCNN  
Trong đó nhiều nghiên cứu chỉ ra MTCNN là một trong những mạng hiểu quả  
nhất. Dù còn nhiều hạn chế có thể nói đến như tốc độ xử lý, mạng phức tạp nhưng  
MTCNN ngày càng được sử dụng rộng rãi trong thực tiễn. MTCNN một mạng lớn  
gồm nhiều mạng con. Mỗi mang con đều xử lý một bài toán nhỏ trong việc xác định  
vị trí của khuôn mặt. Trong kiến trúc, MTCNN sử dụng lần lượt ba mạng P-Net, R-  
Net, O-Net để xác định khuôn mặt.  
     
9
1.4 Kết luận  
Chương này đã giới thiệu về tổng quan về nhận diện khuôn mặt, kiến trúc hệ  
thống nhận diện khuôn mặt cũng như ứng dụng của hệ thống trong thực tế. Bên cạnh  
đó nội dung của chương cũng trình bày về một số phương pháp hay được sử dụng  
trong bài toán nhận diện khuôn mặt như PCA, LDA, cây quyết định, mạng nơ ron  
nhân tạo, nơ ron tích chập. Từ đó có thể đánh giá được ưu nhược điểm của từng  
phương pháp trong bài toán nhận diện khuôn mặt.  
CHƯƠNG 2. HỆ THỐNG NHẬN DIỆN KHUÔN MẶT DỰA  
TRÊN MẠNG NƠ RON TÍCH CHẬP  
2.1 Sơ đồ thiết kế hệ thống nhận diện khuôn mặt  
Trong hệ thống có ba bước xử lý chính để có thể nhận diện khuôn mặt. Đó là  
xác định vị trí khuôn mặt, trích chọn đặc trưng của khuôn mặt và phân loại xác định  
khuôn mặt.  
     
10  
Hình 2.1. Sơ đồ hoạt động của hệ thống nhận diện khuôn mặt  
Trong hệ thống có ba bước xử lý chính để có thể nhận diện khuôn mặt. Đó là  
xác định vị trí khuôn mặt, trích chọn đặc trưng của khuôn mặt và phân loại xác định  
khuôn mặt  
Về nghiệp vụ xử lý thì sau khi xác định khuôn mặt và định danh thành công  
khách hàng. Hệ thống sẽ lưu thông tin khuôn mặt và ghi lên hình để phát trực tiếp. Thời  
gian lưu sẽ là 10s. Sau 10s nếu khách hàng đó tiếp tục xuất hiện trên video thì hệ thống  
sẽ tiếp tục hiển thị khuôn mặt, thông tin khách hàng đó để lễ tân có thể nắm được.  
Các bước để huấn luyện mô hình phân loại:  
Bước 1: Chuẩn bị dữ liệu ảnh khuôn mặt để huấn luyện  
Bước 2: Xử lý xác định vị trí và trích chọn đặc trưng khuôn mặt từ tập huấn  
luyện  
Bước 3: Huấn luyện rừng ngẫu nhiên để phân loại đặc trưng  
Trong hệ thống có ba bước xử lý chính để có thể nhận diện khuôn mặt. Đó là  
xác định vị trí khuôn mặt, trích chọn đặc trưng của khuôn mặt và phân loại xác định  
khuôn mặt  
Về nghiệp vụ xử lý thì sau khi xác định khuôn mặt và định danh thành công  
khách hàng. Hệ thống sẽ lưu thông tin khuôn mặt và ghi lên hình để phát trực tiếp.  
Thời gian lưu sẽ là 10s. Sau 10s nếu khách hàng đó tiếp tục xuất hiện trên video thì  
hệ thống sẽ tiếp tục hiển thị khuôn mặt, thông tin khách hàng đó để lễ tân có thể nắm  
được.  
2.2 Mạng Inception-ResNet sử dụng cho việc trích chọn đặc trưng khuôn  
mặt  
Inception-ResNet là một mạng học rất sâu. Cấu tạo của mạng cũng rất đặc biệt.  
Kiến trúc mạng inception-ResNet sử dụng nhiều khối mạng con như Inception-A,  
Inception-B, Inception-C, Reduction-A, Reduction-B, Stem. Chính nhữ đặc điểm trên  
cho một mạng inception phần dư với hiệu năng rất tốt.  
Sau đây là kiến trúc mạng chi tiết:  
   
11  
Hình 2.2. Kiến trúc mạng Inception-ResNet  
2.3 Rừng ngẫu nhiên  
2.3.1 Giới thiệu  
Rừng ngẫu nhiên (Random Forest) hay còn được gọi là rừng quyết định ngẫu  
nhiên là một kỹ thuật học tập được sử dụng để giải quyết các nhiệm vụ học tập có  
giám sát như phân loại và hồi quy. Một tính năng ưu việt của rừng ngẫu nhiên là nó  
có thể khắc phục được sự quá khớp (overfitting) trên tập dữ liệu đào tạo của mình.  
Kiến trúc mô hình của rừng ngẫu nhiên là một tập hợp của nhiều cây quyết  
định. Mỗi một cây quyết định sẽ trả ra một kết quả dự báo. Ngoài ra mô hình cũng  
được chạy trên rất nhiều các sub-sample.  
     
12  
2.3.2 Kiến trúc  
Hình 2.3. Kiến trúc của rừng ngẫu nhiên  
2.4 Kết luận  
Chương này trình bày về sơ đồ thiết kế hệ thống nhận diện khuôn mặt, mạng  
trích chọn đặc trưng và kỹ thuật phân loại rừng ngẫu nhiên. Trong đó, nội dung  
chương có đi sâu về mạng học sâu googlenet, resnet từ đó đưa ra ưu nhược điểm khi  
kết hợp hai mạng thành mạng inception resnet. Chương 3 sẽ trình bày về kết quả thu  
được khi sử dụng mạng inception resnet kết hợp với rừng ngẫu nhiên cho bài toán  
nhận diện khuôn mặt.  
     
13  
CHƯƠNG 3. THỬ NGHIỆM VÀ ĐÁNH GIÁ  
3.1 Bộ dữ liệu đầu vào  
Bộ dữ liệu được sử dụng trong luận văn là hai bộ dữ liệu faces94 [10] và  
CASIA-WebFace [16]. Trong đó bộ dữ liệu faces94 được thu thập từ trung tâm  
nghiên cứu Center for Machine Perception thuộc đại học kỹ thuật Séc và bộ dữ liệu  
CASIA-WebFace được sưu tầm từ viện tự động hóa tại học viện khoa học Trung  
Quốc(CASIA). Luận văn sẽ sử dụng hai bộ dữ liệu vào các mục đích khác nhau. Bộ  
dữ liệu faces94 chứa khoảng 1300 ảnh của 153 người. Đây là bộ dữ liệu nhỏ được  
dùng để thử nghiệm và đánh giá hiệu quả của kiến trúc mạng trước khi sử dụng bộ  
dữ liệu chính để huấn luyện. Bộ dữ liệu CASIA-WebFace chứa khoảng 500.000 ảnh  
được thu thập từ 10.000 người. Trước khi đưa vào huấn luyện cho mô hình trích chọn  
đặc trưng thì những bức ảnh này sẽ được duyệt qua mô hình mtcnn để xác định vị trí  
tọa độ khuôn mặt của mỗi người trong tập dữ liệu.  
3.2 Quá trình huấn luyện  
Dữ liệu được sử dụng cho việc huấn luyện này là CASIA-WebFace. Đây là  
một tập dữ liệu về khuôn mặt rất lớn được thu thập từ học viện khoa học Trung  
Quốc. Để có một mô hình trích chọn đặc trưng thật tốt thì số lượng dữ liệu về khuôn  
mặt phải đủ lớn, đủ độ đa dạng vè hình dáng, kích thước cũng như màu sắc. Thời  
gian diễn ra khoảng 350 giờ với 90 lần duyệt. Sau khi đã có được mô hình trích  
chọn đặc trưng tùy vào từng bài toán ta sẽ tiến hành trích chọn đặc trưng của các  
nhãn đầu vào để mô hình phân loại bằng thuật toán random forest học các đặc tính  
đó.  
3.3 Thử nghiệm chạy hệ thống nhận diện khuôn mặt nhận diện khách hàng  
VIP của khách sạn  
Máy chủ được sử dụng cho việc thực nghiệm sử dụng vi xử lý Intel Core i5-  
8400 với xung nhịp cơ bản là 2.8GHz. Dung lượng bộ nhớ trong là 16 GB và bộ xử  
lý đồ họa được sử dụng là GTX 1070 Ti 8G GDDR5. Hệ thống nhận diện khách hàng  
VIP sẽ được phát triển trên nền tảng Ubuntu và ngôn ngữ lập trình được sử dụng là  
       
14  
python version 3.6 cùng với các bộ thư viện như opencv, keras, tensorflow để phục  
vụ cho bài toán xử lý ảnh.  
Mô hình thử nghiệm được huấn luyện với tập dữ liệu khoảng 200 khách hàng,  
mỗi vị khách có khoảng 10-30 ảnh khuôn mặt trong cơ sở dữ liệu. Trong quá trình  
phân loại em đã chọn ra được ngưỡng là 40% để xác định khuôn mặt. Ngưỡng này  
sử dụng được sử dụng để tránh việc xác suất khuôn mặt trả ra quá thấp gây ra việc  
nhận nhầm thông tin. Sau khi thiết lập địa chỉ luồng phát video trực tiếp thì ta có thể  
khởi động hệ thống. Sau đây là một số hình ảnh hệ thống hoạt động :  
Hình 3.1. Hệ thống nhận diện khuôn bình thường  
 
15  
Hình 3.2. Hệ thống nhận diện khuôn mặt có đeo kính  
Với mỗi khách hàng có trong danh sách sau khi xuất hiện sẽ được lưu lại 10  
giây để dễ dàng quan sát. Hệ thống có thể nhận diện khuôn mặt một cách bình thường  
cả khi người đó đang đeo kính. Từ đó có thể thấy mô hình trích rút đặc trưng và mô  
hình phân loại đang hoạt động rất tốt trong thực tế. Hệ thống nhận diện khách hàng  
mỗi giây có thể xử lý 5 khung hình với độ phân giải fullhd.  
3.4 Đánh giá  
Để đánh phân loại ta sẽ thực hiện lấy vectơ đặc trưng từ mô hình trích chọn  
đặc trưng và đưa vào randomforest để huấn luyện. Thiết lập trong random forest của  
   
Tải về để xem bản đầy đủ
pdf 25 trang yennguyen 18900 Free
Bạn đang xem 20 trang mẫu của tài liệu "Tóm tắt Luận văn Hệ thống nhận diện khuôn mặt qua camera", để 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:

  • pdftom_tat_luan_van_he_thong_nhan_dien_khuon_mat_qua_camera.pdf