1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng hệ thống nhận diện khuôn mặt cho camera an ninh hỗ trợ cảnh báo xâm nhập và mở khóa cửa tự động

81 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

TÓM TẮT KHÓA LUẬNNhận diện khuôn mặt là một bài toán quan trọng trong thị giác máy tính, thu hút sự quan tâm nghiên cứu rộng rãi do khả năng ứng dụng đa dạng của nó.. Tuy nhiên, việc ứng

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHÓ HÒ CHÍ MINH

ĐẠI HỌC CÔNG NGHE THONG TIN

KHOA KHOA HỌC MAY TINH

NGUYEN VAN HOANG - 20521346

KHOA LUAN TOT NGHIEP

XÂY DUNG HE THONG NHẬN DIỆN KHUÔN MAT CHO ©

CAMERA AN NINH HO TRỢ CANH BAO XÂM NHAP VÀ MỞ

KHOA CUA TU DONG

BUILDING A FACIAL RECOGNITION SYSTEM FOR SECURITY

CAMERA TO SUPPORT INTRUSION ALERTS AND

AUTOMATIC DOOR UNLOCKING

CU NHÂN NGANH KHOA HOC MAY TÍNH

GIANG VIEN HUONG DAN

TS NGO DUC THANH

ThS DO VAN TIEN

TP HO CHi MINH, 2023

Trang 2

DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo quyết định số

154/QD-DHCNTT ngày 15/12/2023 của Hiệu trưởng Trường Đại

học Công nghệ Thông tin.

1 đ sp - Chủ tịch.

2 Z P: GP: <6 - Thư ký.

3 ÁP HP, - Uỷ viên.

Trang 3

LỜI CẢM ƠN

Lời đầu tiên, em xin chân thành cảm ơn thầy Ngô Đức Thành và thầy

Đỗ Văn Tiến, hai người thầy đã tận tâm hướng dẫn em trong suốt

quá trình thực hiện khoá luận Không chỉ giúp em vượt qua khó khăn

gặp phải khi thực hiện khoá luận, khi làm việc với thầy, em còn được

học những kiến thức, kỹ năng quan trọng giúp ích cho công việc của mình sau này Em cũng xin gửi lời cảm ơn đến các bạn thuộc CLB

AI Club - Trường ĐH Công nghệ Thông tin - ĐHQG TP.HCM đã hỗ

trợ em trong việc thực hiện và hoàn thiện đồ án Cuối cùng, em xin

gửi lời cảm ơn đến tất các cả thầy, cô là giảng viên của trường nói

chung và khoa Khoa học máy tính nói riêng đã giảng dạy, chỉ bảo tận tâm trong suốt thời gian em học tập và rèn luyện tại trường Đại học

Công nghệ Thông tin.

TP Hồ Chí Minh, tháng 12 năm 2023

Sinh viên thực hiện

Trang 4

TÓM TẮT KHÓA LUẬN

Nhận diện khuôn mặt là một bài toán quan trọng trong thị giác máy

tính, thu hút sự quan tâm nghiên cứu rộng rãi do khả năng ứng dụng

đa dạng của nó Bài toán này liên quan đến việc phân tích hình ảnh

khuôn mặt được thu thập từ nhiều nguồn khác nhau như ảnh tĩnh và

hình ảnh từ camera, nhằm xác định danh tính của các cá nhân Ngày

nay, sự phổ biến va phát triển rộng rãi của camera đòi hỏi chúng phải

"thông minh" hơn, không chỉ đơn thuần là công cụ ghi lại hình ảnh.

Một trong số những ứng dụng sử dụng camera an ninh có thể kể đến

là nhận diện khuôn mặt Tuy nhiên, việc ứng dụng camera an ninh

vào bài toán nhận diện khuôn mặt còn gặp nhiều thách thức và khó

khăn như góc nhìn không lý tưởng của camera, hình ảnh khuôn mặt

có kích thước nhỏ, hiện tượng mờ do chuyển động, chất lượng của

đường truyền ảnh, tất cả đều ảnh hưởng đến tốc độ xử lý và độ

chính xác của quá trình nhận diện khuôn mat.

Vì vậy, sinh viên chọn đề tài xây dựng hệ thống nhận diện khuôn mặtcho camera an ninh với mục tiêu tìm hiểu quy trình giải quyết bài

toán nhận dạng khuôn mặt Áp dụng các kỹ thuật học sâu nhằm cải

thiện độ chính xác của bài toán.

Trong khóa luận này, sinh viên đã thử nghiệm cụ thể ba mô hình

phát hiện khuôn mặt là MTCNN[1], RetinaFace[2], và YOLOv8[3] trên tập dữ liệu WiderFace[4] và hai mô hình nhận diện khuôn mat

là ArcFace[5] và AdaFace[6] trên bộ dữ liệu TinyFace[7].

Trang 5

Kết quả thử nghiệm cho thấy mô hình YOLOv§ cho kết quả tốt hơn

so với hai mô hình MTCNN và RetinaFace trong việc phát hiện

khuôn mặt trên tập dữ liệu WiderFace Cụ thể, YOLOv8 đã đạt được

một giá trị mAP (Mean Average Precision) cao là 98.49%, trong khi

MTCNN và RetinaFace chỉ có giá tri mAP tương ứng là 62.49% và

73.22% Đối với bài toán nhận diện khuôn mặt, mô hình AdaFace đã

đạt được độ chính xác là 81.8%, trong khi ArcFace đạt 72.4% Tuy

AdaFace có tốc độ embedding chậm hơn một chút (180

ms/embed-ding so với 122 ms/embedms/embed-ding của ArcFace), nhưng vẫn được xem xét là lựa chọn tốt.

Dựa trên các kết quả này, sinh viên đã quyết định sử dụng hai mô

hình YOLOv8 và AdaFace để xây dung ứng dung minh họa trong

khóa luận của mình.

Từ khóa: Nhận dạng khuôn mặt, Facial Recognition Algorithms,

Security Camera Face Analysis, Small Face Image Processing.

Trang 6

Mục lục

Mục lục

Danh sách hình vẽ

Danh sách bang

Danh mục từ viết tắt

1 TONG QUAN

1.1

1.2

1.3

1.4

Mục tiêu vàphạmv!

12.1 MụctiêU Q Q Q Q2 122 Phamvi 2 0 00 eee ee ee Dong góp cuakhoaluan

Câu trickhéaluén

2 CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIEN QUAN 2.1 2.2 Giới thiệu về bài toán nhận diện khuôn mat

2.1.1 Nhận diện khuôn mặt

2.1.2 Nhận diện khuôn mặt từ ảnh cameraanninh

Quy trình nhận diện khuôn mặt

Vili

xi

xii

Trang 7

MỤC LỤC

2.3

2.4

2.5

Phương pháp nhận diện khuôn mặt dùng kỹ thuật học sâu (deep

2.3.1 Giớithiệu Ặ.Ặ 2 eee ee 11

2.3.2 Hướng tiếp cận bài toán nhận diện khuôn mat 12

2.3.3 Ứng dụng cua bài toán nhận diện khuôn mặt 13

Cơ sở lý thuyết 14

2.4.1 Mạng nơ-ron nhân tạo(ANNs) 14

2.4.2 Mạng Nơ-ron Tích Chập(CNN) 19

Kétchuong ẶQQQ Q TQ 26 NHẬN DIỆN KHUÔN MẶT SỬ DỤNG PHƯƠNG PHÁP HỌC SÂU 28 3.1 3.2 3.3 Phát hiện khuôn mặt 28

3.1.1 MIỆNN?” #.<4 — \ / 28

3.1.1.1 P-Net (Proposal Network) 29

3.112 R-Net (Refine Network) 30

3.1.1.3 O-Net(OutputNetwork) 31

3.12 RetinaFace 0.2.0.2 00 00005 32 3.13 YOLOv8-face So 35 3.1.3.1 Kiếntrúc 36

3.1.3.2 Cac Tính Năng Dac Biệt 37

Nhận dạng khuôn mặt 38

3.2.1 ArcFace Qua 38 3.2.2 AdaFace 0.2 002 eee eee 40 Searching Embedding Vector 44

3.3.1 SimilaritySearching 44

3.3.2 Evaluating similarity search 45

VI

Trang 8

MỤC LỤC

4_ THỰC NGHIỆM VÀ ĐÁNH GIÁ 49

4.1 Bodttligu ee 49

4.1.1 7 WIDERFACE 49

4.1.2 Tinyface 2 0.0.2.0 Q Q HQ va 51 4.1.3 Dữ liệu tựxâydựng 52

4.2 Các độ đo sử dụng để đánhgiá 53

4.2.1 ConfusionMatrix 53

4.2.2 PrecsionandRecal 53

423 Fl-Score 0 0000000000 54 424 l0l <e-_2=a 55

425 mAP ð⁄⁄ gi & 2 Yee 55 4.2.6 Số khung hình trên giây (FPS) 56

4.3 Kếtquả và đánhgiá 57

4.3.1 Kgs) gem MB ⁄ ` 57

4.3.1.1 Giai đoạn phat hiện khu6n mat 57

4.3.1.2 Giaidoan nhận diện khuôn mat 58

43.2 Phântchkếtquả 59

44 Xây dựng ứng dụng mnhhọa 59

45 Kétluan 0.00.00 000 ce eee eee 63

5 KET LUAN VA HUGNG PHAT TRIEN 65

5.2 Hướng pháttriển 0.0.0.0 02008 65

Tai liéu tham khao 67

vii

Trang 9

Danh sách hình ve

1.1

2.1

2.2

2.3

2.4

2.5

2.6

2.7

2.8

2.9

2.10

2.11

2.12

2.13

3.1

Ảnh minh hoa dau vào va dau ra của bai toán nhận dang khuôn

Phân loại bài toán face recognitlon

Luông xử lý nhận diện khuôn mặt[S]

Minh họa kiến trúc đơn giản của mạng thần kinh ANNs

Minh họa song song tế bào thần kinh sinh học (trái) và nhân tạo (phải), nguồn: [9]

Hàm Sigmoid, nguồn[9]

Hàm Tanh, nguồn a Ham ReLU, nguon [9l

Minh họa phép tích chập.(nguôn internet!)

Minh họa tích chập của một ảnh RGB và ma trận kernel(nguồn internet 7) c c Q Q n Q Q và 2x2 Mô phỏng quá trình tích chập trong CNN.(nguồn Medium?) Mô phỏng phép tính ReLU.(nguồn Viblo)

Ví dụ mô phỏng Max-pooling

Mô phỏng lớp Fully connected.(nguồn VibloŸ)

Kiến trúc Pnet.(nguồn Viblo)

Viil

24

Trang 10

ArcFace loss.(nguồn từ bài báo [5]) 39

So sánh không gian phân biệt lớp giữa hàm mat mát Softmax

và ArcFace: (a) Hình tròn biểu diễn không gian đặc trưng dùng

trong Softmax, nơi các lớp không có sự phân biệt rõ ràng, và

(b) Biểu đồ ArcFace, hiển thị không gian đặc trưng với các góccộng thêm giúp tăng cường sự phân biệt giữa các lớp."(nguồn từ

bài báo [5]) ee 40

Ví dụ về hình ảnh khuôn mặt với các mức độ chất lượng và khả

năng nhận biết khác nhau.(ngu6n từ bài báo [ó]) 41

Loss function adaface.(ngu6n từ bài báo [6]) 42

1X

Trang 11

DANH SÁCH HÌNH VẼ

3.13 (a) Đồ thị tương quan Pearson với chất lượng hình ảnh điểm

(1-BRISQUE) qua các giai đoạn đào tạo Màu xanh lá cây va màu

cam các đường cong tương ứng với biểu đồ tương quan sử dụng

định mức đặc trưng ||2;|| và đầu ra xác suất cho chỉ số chân lý

cơ bản P;,;, tương ứng (b) và (c) Các biểu đồ phân tán tương ứng cho lần cuối cùng kỷ nguyên Đường màu xanh trên biểu đồ

phân tán và đường tương ứng phương trình hiển thị đường bình

phương nhỏ nhất phù hợp với các điểm dữ liệu.(nguồn từ bài báo

[6] ee

3.14 Luéng xử lý Faiss.(nguồn Medium!)

4.1 Ví dụ minh họa cho bộ dữ liệu WIDER FACE

4.2 Ví dụ minh họa cho bộ dữ liệu Tinyface

4.3 Minh họa cho quá trình thu thập dữ liệu

4.4 Minh họa cho Confusion maftrix

4.5 Minh họacholOU

4.6 Công thức biểu diện mAP

54 55 56 4.7 Biểu đồ so sánh kết quả của các mô hình trên tập dữ liệu WiderFace 58 4.8 Minh họa một số kết quả trong trường hợp thực tế .

4.9 Kiến trúc hệ thống ứng dụng minhhọa

4.10 Phần hiển thịcamera

4.11 Hình minh họa phần quản lý

60

Trang 12

Số liệu WiderFace Dataset 50

Số liệu TinyFace Dataset 52

Bảng thông tin về các bộ dữ liệu phát hiện và nhận dang khuôn

Kết quả so sánh các phương pháp phát hiện khuôn mặt trên tập

dữ liệu WiderFace QỒ ẶQ c 58

Kết quả đánh giá nhận dạng khuôn mặt trên tập dữ liệu LFW và

dữ liệu thu thập 59

XI

Trang 13

Danh mục từ viết tắt

Abbreviation | Full Form

ANN(s) Artificial Neural Networks CNN(s) Convolutional Neural Networks

PCA Principal Component Analysis SVM Support Vector Machine

xI

Trang 14

Chương 1

TỔNG QUAN

1.1 Đặt van đề

Trong thời buổi công nghệ thông tin và trí tuệ nhân tạo ngày càng phát triển,

công nghệ nhận diện khuôn mặt đã trở thành một trong những công cụ thiết yếutrong công tác an ninh cũng như trong việc xây dựng các hệ thống tự động hóa

thông minh Bài toán nhận diện khuôn mặt — face recognition không chi là thành

phần trong việc xác minh danh tính trực tuyến mà nó còn đóng vai trò quan trọng

trong các hệ thống an ninh, quản lý cửa ra vào, theo dõi người qua lại Bài toán

được mô tả cụ thể với đầu vào là ảnh chứa khuôn mặt cần nhận diện có thể làảnh kỹ thuật số hoặc khung hình được lấy từ nguồn video hoặc camera và đầu ra

là danh tính được xác minh của của người đó ví dụ như tên hoặc ID ( nếu khuôn

mặt đó đã được đăng ký trong hệ thống dữ liệu lưu trữ) (ảnh minh hoa 1.1)

‹ Đầu vào (input): Ảnh chứa khuôn mặt cần nhận diện.

‹ Dau ra (output): Thông tin về việc nhận dang cá nhân dựa trên ảnh khuôn

mặt đầu vào.

Vài năm gần đây những mô hình nhận diện khuôn mặt có những kết quả rấttốt, gần như là tuyệt đối với những hình ảnh, bộ dữ liệu có chất lượng cao Tuy

Trang 15

1 Tổng quan

Hình 1.1: Ảnh minh hoạ đầu vào và đầu ra của bài toán nhận dạng khuôn mặt

nhiên, khi áp dụng các mô hình này vào những hệ thống thực tế, gặp phải rất

nhiều khó khăn và thách thức Một trong số những ứng dụng phổ biến của bài

toán này có thể kể đến là hệ thống mở cửa bằng khuôn mặt Trong quá trình

quan sát dữ liệu, tôi nhận xét rằng khuôn mặt được lấy từ camera an ninh cóchất lượng thấp như độ phân giải thấp, kích thước khuôn mặt nhỏ, (ví dụ như16x16 pixel ), mờ do chuyển động Các yếu tốt trên gây ảnh hướng đến độ chính

xác của các hệ thống nhận diện khuôn mặt Bên cạnh đó, việc camera an ninh

thường được đặt ở các vị trí, góc độ khác nhau dẫn đến góc nhìn sư đa dạng về

kích thước, góc nhìn của khuôn mặt Tất cả những yếu tố trên làm bài toán nhận

diện khuôn mặt phải đối diện với nhiều thách thức, khiến cho bài toán trở nênphức tạp hơn Vì những nguyên nhân trên, tôi thực hiện đồ án này tập trung vàoviệc sử dụng kiến thức trong lĩnh vực Computer Vision và Machine Learning,tìm hiểu, thực nghiệm và so sánh một số phương pháp tiên tiến hiện nay trên

những bộ dữ liệu ảnh khuôn mặt từ camera an ninh do tôi thu thập, thử nghiệm

cải thiện độ chính xác bằng việc áp dụng một số phương pháp tăng cường chất

lượng hình ảnh Sau cùng sẽ xây dựng một ứng dụng minh họa nhận diện khuôn

mặt từ camera an ninh hỗ trợ cảnh báo xâm nhập và mở khóa cửa tự động.

Trang 16

1 Tổng quan

1.2 Mục tiêu và phạm vi

1.21 Mục tiêu

Để thực hiện dé tài khóa luận "Xây dựng hệ thống nhận diện khuôn mặt cho

camera an ninh hỗ trợ cảnh báo xâm nhập và mở khóa cửa tự động", tôi đặt ra

những mục tiêu cần phải thực hiện như sau:

1 Tìm hiểu tổng quan về bài toán nhận diện khuôn mặt, các bước thực hiện

và các hướng tiếp cận tiên tiến hiện nay cho bài toán

2 Thu thập dữ liệu khuôn mặt từ camera an ninh để tiến hành

3 Chạy thực nghiệm một số phương pháp để đánh giá, phân tích các ưu

nhược điểm, khó khăn của các phương pháp.

4 Xây dựng một hệ thống camera an ninh phát hiện và nhận diện khuôn mặt,

gửi thông báo cho người dùng và thực hiện các tác vụ như mở cửa hoặc

cảnh báo xâm nhập.

1.2.2 Pham vi

Dựa vào những mục tiêu đã dé xuất tai nội dung 1.2.1, trong khuôn khổ củakhóa luận, tôi sẽ tập trung hoàn thành những nội dung sau đây:

1 Nghiên cứu tổng quan về bài toán nhận diện khuôn mặt như cơ sở lý thuyết,

các kiến thức cần thiết để giải quyết bài toán.

2 Thu thập một số dữ liệu khuôn mặt từ camera an ninh

3 Cài đặt một số phương pháp nhận dạng khuôn mặt theo từng giai đoạn:

s Phat hiện khuôn mat (face detection): MTCNN, RetinaFace, YOLOVS.

Trang 17

1 Tổng quan

¢ Nhận dạng khuôn mặt (face recognition): ArcFace, AdaFace.

4 Xây dựng và phát triển ứng dung minh hoa nhận diện khuôn mặt từ camera

an ninh trên nền tang web.

1.3 Đóng góp của khóa luận

Sau đây là một số kết quả mà tôi đạt được trong quá trình thực hiện khóaluận:

1 Cung cấp tài liệu tổng hợp về bài toán nhận diện khuôn mặt Tài liệu tổng

hợp về các phương pháp Deep learning áp dụng cho bài toán

2 Xây dựng bộ dữ liệu khuôn mặt gồm 300 ảnh.

3 Kết quả đánh giá một số phương pháp tiên tiến hiện nay trên những tập dữ

liệu đặc trưng cho bài toán nhận diện khuôn mặt từ camera.

4 Ứng dụng minh họa cho đề tài sử dụng mô hình tốt nhất khi đánh giá trên

tập dữ liệu đặc trưng cho bài toán (dự liệu khuôn mặt từ camera an ninh).

1.4 Cấu trúc khóa luận

Chương 1: Giới thiệu tổng quan về bài toán nhận dạng khuôn mặt

Chương 2: Trình bày về cơ sở lý thuyết và các nghiên cứu liên quan đến bài

Trang 18

1 Tổng quan

Chương 6: Kết luận về khóa luận tốt nghiệp và hướng phát triển trong tương

lai.

Trang 19

Chương 2

CƠ SỞ LÝ THUYÊT VÀ CÁC

NGHIÊN CỨU LIÊN QUAN

Trước khi đi vào nội dung chính của khóa luận, tôi sẽ trình bày các khái

niệm, cơ sở lý thuyết của bài toán nhận dạng khuôn mặt và một số hướng tiếp

cận phổ biến hiện nay.

Sau đó, tôi sẽ trình bày về quá trình nhận dạng khuôn mặt, bao gồm cácthành phần chính như phát hiện khuôn mặt, theo dõi, căn chỉnh và trích xuất đặctrưng, từ đó chỉ ra những thách thức kỹ thuật khi xây dựng một hệ thống nhậndạng khuôn mặt Tôi tập trung vào tầm quan trọng của các giải pháp thành côngnhất có sẵn cho đến nay

Phần cuối của chương mô tả các phương pháp và ứng dụng nhận dạng khuônmặt và các thách thức mà bài toán gặp phải khi áp dụng vào thực tế

2.1 Giới thiệu về bài toán nhận diện khuôn mat

2.1.1 Nhan diện khuôn mặt

Nhận diện khuôn mặt (Face Recognition - FR) là một lĩnh vực nghiên cứu đã

phát triển mạnh mẽ từ những năm 1990 Qua các giai đoạn phát triển, công nghệ

Trang 20

2 Cơ sở lý thuyết và các nghiên cứu liên quan

này từng bước trở thành không thể thiếu trong việc xác định danh tính cá nhân

dựa trên hình ảnh khuôn mặt Trong quá trình nhận diện, hình ảnh cần được xác

minh (probe) được so sánh với hình ảnh đã biết (gallery) trong cơ sở đữ liệu

Bài toán ER có thể chia thành 2 bài toán cụ thể: xác thực khuôn mặt (face

verification) và nhận diện khuôn mặt (face identification) Xác thực khuôn mặt

là quá trình so sánh "một-một”, tức là xác định liệu hai hình ảnh khuôn mặt có

thuộc về cùng một người hay không, với kết quả dạng nhị phân Ứng dụng phổ

biến của phương pháp này là trong các hệ thống FaceID, giúp xác nhận danh

tính chủ nhân của thiết bị di động Trong khi đó, nhận diện khuôn mặt là quá

trình "một-nhiều", nghĩa là xác định danh tính của khuôn mặt trong hình ảnh

probe dựa trên cơ sở dữ liệu danh tính đã có.

FR còn được chia thành hai dạng: close-set và open-set Trong close-set, hệ

thống phân loại các probe dựa trên tập hợp khuôn mặt có san trong gallery, nhằm

phân biệt xem hình ảnh đó có năm trong tập dữ liệu đã biết hay không Trong

khi đó, open-set không chỉ đòi hỏi xác định danh tính của những người có trong

gallery, mà còn cần xác định xem người đó có thuộc về tập dữ liệu đã biết hay

không Một ví dụ ứng dụng thực tế là trong hệ thống điểm danh tự động tại các

công ty, nơi hệ thống cần từ chối nhận dạng những người không thuộc tổ chức

để đảm bảo an ninh.

Có một số lý do cho sự gia tăng gần đây vào bài toán nhận dạng khuôn mặt,bao gồm sự quan tâm ngày càng tăng của mọi người đối với vấn đề bảo mật, nhucầu xác minh danh tính trong thế giới kỹ thuật số, các kỹ thuật phân tích khuôn

mặt trong quản lý dữ liệu đa phương tiện và giải trí máy tính.

2.1.2 Nhận diện khuôn mặt từ ảnh camera an ninh

Nhận dạng khuôn mặt từ camera an ninh (CCTV) là một ứng dung quantrọng và đặc biệt trong lĩnh vực bảo mật và giám sát Trong thời đại số hóa ngày

Trang 21

2 Cơ sở lý thuyết và các nghiên cứu liên quan

Face Verifivation Face Identification

Hinh 2.1: Phan loai bai toan face recognition.

nay, hệ thống camera an ninh đã trở thành một phan không thể thiếu trong việc

bảo vệ tài sản và đảm bao an toàn công cộng Một trong những yếu tổ quan trongcủa hệ thống CCTV là khả năng nhận diện và xác định các cá nhân xuất hiện

trong phạm vi quan sát.

Việc tích hợp công nghệ nhận dạng khuôn mặt vào hệ thống CCTV đã mang

lại nhiều lợi ích quan trọng Đầu tiên, nó cung cấp khả năng xác định và theo dõi

các đối tượng cụ thể dựa trên khuôn mặt của họ, cho phép các tổ chức thực hiệngiám sát hiệu quả hơn và phản ứng nhanh chóng đối với các sự kiện quan trọng

Trang 22

2 Cơ sở lý thuyết và các nghiên cứu liên quan

Thứ hai, nhận dạng khuôn mặt từ CCTV có thể sử dụng để xác minh danh tính

và kiểm tra quyển truy cập vào các khu vực an ninh như ngân hàng, trường học,

và các cơ sở kinh doanh quan trọng.

Tuy nhiên, việc tích hợp công nghệ nhận dạng khuôn mặt vào hệ thốngCCTV cũng đối mặt với nhiều thách thức đáng kể do các yếu tố sau đây cóthể ảnh hưởng đáng kể đến độ chính xác và đáng tin cậy của hệ thống:

¢ Biến đổi về Kích Thước Khuôn Mặt: Camera an ninh thường ghi lại các

khuôn mặt ở các khoảng cách khác nhau, dẫn đến sự biến đổi về kích thướccác đặc trưng khuôn mặt Việc điều chỉnh và chuẩn hóa các khuôn mặt này

để tiến hành nhận dang có thể là một nhiệm vụ phức tap, đặc biệt khi khuôn mặt xuất hiện nhỏ do khoảng cách xa với camera.

¢ Ảnh Chất Lượng Thấp: Nhiều camera an ninh tạo ra các hình ảnh có độ

phân giải thấp, giới hạn sự chỉ tiết của khuôn mặt có sẵn để tiến hành nhậndạng Điều này có thể hạn chế khả năng của hệ thống phân biệt giữa các

cá nhân một cách chính xác.

« Điều Kiện Ánh Sáng Không Đồng Déu: Ánh sáng trong hình ảnh từ

cam-era an ninh có thể thay đổi không đều, với các khuôn mặt xuất hiện dưới

sự chiếu sáng ngoài trời thay đổi hoặc dưới ánh sáng nhân tạo mạnh Sựbiến đổi này có thể làm cho việc trích xuất các đặc trưng khuôn mặt đồngnhất để tiến hành nhận dạng trở nên khó khăn

« Hiện Tượng Mờ Do Chuyển Động: Những người và đối tượng trong hình

ảnh từ camera an ninh thường trong tình trạng chuyển động Sự chuyển

động này có thể gây mờ hình ảnh khuôn mặt, làm cho hệ thống khó khăntrong việc xác định và so khớp các đặc trưng khuôn mặt một cách chính xác.

Trang 23

2 Cơ sở lý thuyết và các nghiên cứu liên quan

« Che Khuất Một Phần: Ở các khu vực đông đúc hoặc nơi có nhiều vật cản,

khuôn mặt có thể bị che khuất một phần bởi các vật thể, phụ kiện hoặcnhững người khác Xử lý việc che khuất một phần là một thách thức lớnđối với các hệ thống nhận dạng khuôn mặt, vì họ phải vẫn xác định khuôn

mặt một cách chính xác khi các khu vực quan trọng của khuôn mặt bị che

khuất

Trong phần tiếp theo của bài viết này, chúng tôi sẽ xem xét cụ thể hơn về

cách công nghệ nhận dạng khuôn mặt đã được tích hợp vào hệ thống CCTV để

cải thiện bảo mật và quản lý an ninh.

2.2 Quy trình nhận diện khuôn mặt

Nhận diện khuôn mặt thường được mô tả với quy trình gồm 4 buéc[8]:

1 Phát hiện khuôn mặt (face detection): Xác định vị trí của một hoặc nhiều

khuôn mặt trong ảnh và đánh dau bằng các hộp giới han (bounding box)

2 Căn chỉnh khuôn mặt (face alignment): Chuẩn hóa khuôn mặt để phù hợp

với cơ sở dif liệu, đây là quá trình điều chỉnh vị trí của các điểm đặc trưng

trên khuôn mặt của một người sao cho chúng phù hợp với một mô hình

chuẩn hoặc đối chiếu với các điểm đặc trưng tiêu chuẩn trên khuôn mặt

3 Trích xuất đặc trưng (feature extraction): Trích xuất các đặc điểm từ khuôn

mặt có thể được sử dụng cho nhiệm vụ nhận diện.

4 Nhận diện khuôn mặt (face recognition): Thực hiện so khớp với một hoặc

nhiều khuôn mặt đã biết trong cơ sở dữ liệu đã chuẩn bị.

10

Trang 24

2 Cơ sở lý thuyết và các nghiên cứu liên quan

Detection

sFace ID

sFace location.

Size and Pose

2.3 Phương pháp nhận điện khuôn mặt dùng kỹ thuật

học sâu (deep learning)

2.3.1 Giới thiệu

Với sự tiến bộ của phần cứng, các kỹ thuật deep learning dần chiếm ưu thévới độ chính xác cao hơn các kỹ thuật truyền thống Sự khác biệt lớn nhất là việc

trích xuất tính năng diễn ra tự động mà không yêu cầu các lớp tích chập được xác

định trước Điều này giúp các kỹ thuật deep learning giải quyết van dé ở phươngdiện tổng quát hơn và tránh sự phụ thuộc quá nhiều vào từng bộ dữ liệu riêng lẻ

Có thể nói, ưu điểm lớn nhất của kỹ thuật deep learning là quá trình tự học đểchọn ra những đặc điểm tốt nhất để phân loại và hiệu suất về độ chính xác vượttrội hơn rất nhiều so với các kỹ thuật truyền thống khác Tuy nhiên, việc đào tạocác mô hình deep learning đòi hỏi một lượng dữ liệu lớn, rất tốn kém và cũng

mat nhiều thời gian để đào tạo.

Quá trình đào tạo mô hình ER thường gồm hai bước chính:

» Tiền xử lý ảnh khuôn mặt (preprocessing): Trong bước này, ảnh khuôn mat

được chuẩn bị và tiền xử lý trước khi đưa vào mô hình để đảm bảo chất

11

Trang 25

2 Cơ sở lý thuyết và các nghiên cứu liên quan

lượng và độ chuẩn xác của dit liệu đào tạo.

¢ Huấn luyện mô hình (training): Sau khi tiền xử lý, dữ liệu đào tạo được

sử dụng để huấn luyện mô hình nhận dạng khuôn mặt Mô hình học cách

trích xuất các đặc trưng quan trọng từ ảnh khuôn mặt và xây dựng một biểu

diễn học máy cho mỗi khuôn mặt.

Quá trình triển khai mô hình và quá trình nhận dạng gồm ba bước chính:

s Tiền xử lý ảnh khuôn mặt (preprocessing): Giống như trong quá trình dao

tạo, ảnh khuôn mặt cần được tiền xử lý trước khi đưa vào mô hình để đảmbảo tính nhất quán và chất lượng của dữ liệu thử nghiệm

* Suy luận mô hình để lấy vectơ biểu diễn khuôn mặt (inference): Trong

bước này, mô hình được sử dụng để biến đổi ảnh khuôn mặt thành một

vectơ biểu diễn số học, mô tả các đặc trưng quan trong của khuôn mặt đó.

» Nhận dang bằng cách so sánh đặc trưng giữa ảnh thử nghiệm và các ảnh

có nhãn biết (recognition): Cuối cùng, quá trình nhận dang được thực hiệnbằng cách so sánh vectơ biểu diễn của ảnh khuôn mặt thử nghiệm với các

vectơ biểu diễn của các ảnh trong cơ sở dữ liệu có nhãn Sự tương đồng

giữa các vectơ này thường được đo bằng cosine similarity hoặc một phép

đo tương tự khác.

2.3.2 Hướng tiếp cận bài toán nhận diện khuôn mặt

Trong lĩnh vực nhận diện khuôn mặt sử dụng deep learning, chúng ta có thể

phân biệt hai phương pháp tiếp cận chính: "One-shot Learning" và "Learning

Similarity”.

One-shot Learning: Phương pháp này chủ yếu xử ly bài toán như một nhiệm

vụ phân loại (classification) Sử dụng kiến trúc mang CNN (Convolutional

Neu-ral Network) để phân loại, mô hình dự đoán danh tính của một người dựa trên

12

Trang 26

2 Cơ sở lý thuyết và các nghiên cứu liên quan

ảnh đầu vào Tuy nhiên, một hạn chế đáng kể của phương pháp này là khi có sựxuất hiện của những người mới, ta cần phải huấn luyện lại toàn bộ mô hình đểbao gồm những nhân dạng mới Điều này là không khả thi trong các ứng dụngđòi hỏi sự linh hoạt cao như hệ thống chấm công hoặc an ninh

Learning Similarity: Để giải quyết vấn đề trên, "Learning Similarity" là một

phương pháp tiếp cận hiệu quả Phương pháp này dựa trên nguyên tắc của các

thuật toán phân cụm Theo đó, nếu hai ảnh càng giống nhau (cùng một người),

khoảng cách giữa chúng trong không gian đặc trưng sẽ càng nhỏ Khoảng cách

này có thể được đo lường bằng chuẩn L1 hoặc L2 (Euclidean distance) Một

ngưỡng khoảng cách được xác định trước để so sánh ảnh đầu vào với các ảnh

trong cơ sở dữ liệu Nếu khoảng cách nằm dưới ngưỡng này, ảnh đó được xem

là khớp Phương pháp này không phụ thuộc vào số lượng các lớp (classes) và

không yêu cầu huấn luyện lại mô hình khi có sự xuất hiện của các lớp mới

Siamese Network: Một yếu t6 quan trọng trong "Learning Similarity" làviệc phát triển mô hình embedding hiệu quả Siamese Network, sử dụng kiến

trúc CNN như Resnet, Inception, MobileNet nhưng loại bỏ lớp output, được

thiết kế để mã hóa (encode) ảnh thành vector embedding Mạng này nhận đầuvào là hai ảnh bat kỳ, trả về hai vector biểu diễn cho hai ảnh đó Sự khác biệt

giữa hai vector này được đánh giá thông qua ham loss function, đóng vai trò

quan trọng trong việc tối ưu mô hình để đạt được độ chính xác cao.

2.3.3 Ứng dung của bài toán nhận diện khuôn mặt

Bài toán nhận diện khuôn mặt là một trong những lĩnh vực quan trọng và có

nhiều ứng dụng hữu ích trong cuộc sống hàng ngày, công nghiệp và công việc:

* Bảo mật và Điều Khiển Truy Cập: Sử dụng trong các hệ thống bảo mật để

xác thực và kiểm soát truy cập.

« Quản lý Sự Kiện: Dang ký và kiểm tra danh tính của người tham gia sự

13

Trang 27

2 Cơ sở lý thuyết và các nghiên cứu liên quan

kiện hoặc hội nghi.

¢ Giám sát an ninh công cộng: Theo dõi và xác định tội phạm hoặc nguy cơ

2.4.1 Mạng nơ-ron nhân tao (ANNs)

Mạng nơ-ron nhân tạo (ANN) là một thuật toán học sâu đã phát triển từ ý

tưởng về Mạng Nơ-ron Sinh học trong não người ANN cố gắng mô phỏng cáchhoạt động của não người, mặc dù không giống hoàn toàn Bang cách cung cấp ví

dụ huấn luyện ("kinh nghiệm") cho một ANN và điều chỉnh các trọng số tương

ứng, ANN học các hàm phức tạp tương tự như bộ não sinh học.

Một mạng nơ-ron với một lớp duy nhất được gọi là một perceptron Mộtperceptron nhiều lớp được gọi là Mạng No-ron Nhân Tạo Một mạng nơ-ron cóthể có bat kỳ số lượng lớp nào Mỗi lớp có thể có một hoặc nhiều nơ-ron hoặcđơn vị Mỗi nơ-ron trong mạng được kết nối với tất cả các nơ-ron khác trongmạng Đối với mạng nơ-ron thông thường, loại lớp phổ biến nhất là lớp kết nốiday đủ, trong đó các nơ-ron giữa hai lớp liền ké được kết nối hoàn toàn theo cáchđôi đầu, nhưng các nơ-ron trong cùng một lớp không chia sẻ kết nối Mỗi lớp có

thể có các hàm kích hoạt khác nhau.

14

Trang 28

2 Cơ sở lý thuyết và các nghiên cứu liên quan

Mạng nơ-ron nhân tạo phổ biến nhất bao gồm ba nhóm hoặc lớp đơn vị: mộtlớp đơn vị "đầu vào" kết nối với một lớp đơn vị "ẩn", sau đó kết nối với một lớpđơn vị "đầu ra"2.3

Hình 2.3: Minh họa kiến trúc đơn giản của mạng than kinh ANNs

Mạng như hình 2.4 , nó nhận các giá trị đầu vào số học x1, x2 và có trong

số wl, w2 đi kèm với mỗi đầu vào Ngoài ra, còn có một đầu vào khác là 1 vớitrọng số b (được gọi là Bias) đi kèm

Mỗi nơ-ron nhận tín hiệu đầu vào từ các dendrit và tạo ra tín hiệu đầu ra

doc theo axon duy nhất của nó Axon cuối cùng chia thành các nhánh và kết nối

thông qua các synapse với các dendrit của nơ-ron khác Đơn vị tính toán cơ bản

trong mạng nơ-ron là nơ-ron, thường được gọi là một nút hoặc đơn vị No nhậnđầu vào từ một số nút khác hoặc từ một nguồn bên ngoài và tính toán dau ra.Mỗi đầu vào có một trọng số kèm theo (w0), được gán dựa trên tầm quan trọng

15

Trang 29

2 Cơ sở lý thuyết và các nghiên cứu liên quan

tương đối của nó so với các đầu vào khác Nút áp dụng một hàm f (được địnhnghĩa ở dưới đây) cho tổng có trọng số của các đầu vào của nó

Impulses carried toward cell body

\ dendrite

; f presynaptic

terminal

; lmpulses carried away

PN from cell body

Đầu ra từ nơ-ron được tính toán như hiển thị Hàm f là hàm phi tuyến và được

gọi là Hàm Kích Hoạt Mục đích của hàm kích hoạt là đưa tính phi tuyến vào

đầu ra của một nơ-ron Điều này quan trọng vì hầu hết dữ liệu thế giới thực làphi tuyến và chúng ta muốn nơ-ron học các biểu diễn phi tuyến này

Cụ thể, mỗi nơ-ron trong mạng nơ-ron cho một đầu ra được xác định bởi hàmkích hoạt tác động lên đầu vào và có một số hàm kích hoạt được sử dụng:

* Sigmoid (minh họa hình 2.5): hàm sigmoid phi tuyến có dạng toán học

f(x) = O(x) = † wa lấy đầu vào có giá trị thực và chuẩn hóa nó trong

phạm vi [0,1].

* Tanh (minh hoa hình 2.6): hàm Tanh giống như ham sigmoid, hoạt động

của nó cũng bão hoà nhưng khác với sigmoid, đầu ra của nó có trung tâm

16

Trang 30

2 Cơ sở lý thuyết và các nghiên cứu liên quan

-10.0 -7.5 -5.0 -2.5 0.0 2.5 5.0 7.5 10.0

Hình 2.5: Hàm Sigmoid, nguồn [9]

là 0, nhận đầu vào là giá trị thực và đầu ra được chuẩn hóa trong khoảng[-1.1].

¢ ReLU (minh họa hình 2.7): ReLU là viết tat của Rectified Linear Unit

(Đơn vị Tuyến tính Chỉnh lưu) Nó nhận đầu vào là giá trị thực và ngưỡng

nó tại không (thay thé các giá trị âm bằng không) Công thức ham: f(x) =

ReLU(x) = max(0,3).

Việc nắm vững tổng quan về Mạng Nơ-ron Nhân tao (ANN) sẽ giúp chúng

ta hiểu rõ hơn về lý thuyết, các quy tắc học, ứng dụng của các mô hình mạng

nơ-ron quan trọng nhất, cũng như định nghĩa và loại hình tính toán của chúng.

Mô hình toán học của ANN cung cấp cái nhìn sâu sắc về định nghĩa của đầuvào, trọng số, hàm tổng hợp, hàm kích hoạt và đầu ra

17

Trang 31

2 Cơ sở lý thuyết và các nghiên cứu liên quan

-100 -7.5 //5MUŸ —» 0.0 2.5 5.0 7.5 10.0

Hình 2.6: Hàm Tanh, nguồn [9].

Sau đó, ANN sẽ quyết định cách học để điều chỉnh loại trọng số thông quaviệc thay đổi các tham số Bên trong mỗi ANN, từng nút (nơ-ron) thực hiện cácphép tính đơn giản và chuyển đổi thông tin kết quả đến các nút của lớp phía sauthông qua sự kết nối đầy đủ giữa các nút ở các lớp khác nhau không cùng một

lớp Trong quá trình truyền thông tin, trọng số sẽ được thay đổi hoặc cập nhật để

biểu thị tín hiệu được khuếch đại hoặc giảm bớt, và những thông tin này đượcchuyển qua thuật toán lan truyền tiến và lan truyền ngược trong mạng

Có nhiều nhiệm vụ liên quan đến Thị giác Máy tính và Nhận dạng Mẫu rất

phức tạp nhưng con người lại có thể thực hiện dễ dàng chỉ bằng việc phân tích

thông tin thị giác Để đạt được thành công, ANN phải vượt qua một giai đoạn

huấn luyện một cách vững chắc để học cách cập nhật trọng số phù hợp cho một

nhiệm vụ cụ thể và một trong những phương pháp huấn luyện đó là Lan truyền

18

Trang 32

2 Cơ sở lý thuyết và các nghiên cứu liên quan

10 9 8 7

để đạt được một tập hợp giá trị tối ưu hóa tốt nhất (lỗi nhỏ nhất) Trước khi bắt

đầu giai đoạn huấn luyện, ANN phải tạo ra một tập hợp trọng số, cùng với tốc

độ học a@ Các trọng số được tạo ngẫu nhiên và thường có giá trị nhỏ nằm trong

khoảng từ -1 đến 1 Tốc độ học là một tham số điều chỉnh sự thay đổi của trọng

số và giúp hàm mất mát của mạng đạt tới cực tiểu trong giai đoạn huấn luyện.

2.4.2 Mạng Nơ-ron Tích Chap (CNN)

Mạng Nơ-ron Tích Chập (Convolutional Neural Network - CNN) đóng vai

trò trung tâm trong lĩnh vực Deep Learning, đặc biệt là trong ứng dụng của thị

giác máy tính Sự phát triển của CNN lay cảm hứng từ cấu trúc nơ-ron trong não

19

Trang 33

2 Cơ sở lý thuyết và các nghiên cứu liên quan

của động vật, một ý tưởng được khám phá sâu hơn trong nghiên cứu đột phá của Hubel và Wiesel vào năm 1968, qua công trình "Receptive Fields and Functional

Architecture of Monkey Striate Cortex" Nghiên cứu này mô ta cách thức não

khỉ xử lý thông tin thị giác, nhẫn mạnh vào các vùng tiếp nhận (receptive fields)

chuyên biệt, có khả năng phân biệt các đặc điểm ánh sáng như đốm và mẫu

Dựa trên nguyên lý này, CNN được thiết kế với mục tiêu mô phỏng quá trình

xử lý hình ảnh của não bộ, thông qua việc kết hợp các perceptron trong nhiều

lớp (layers) có kết nối CNN là biến thể của Mạng Nơ-ron Nhân Tao (ArtificialNeural Network, ANN) và có cấu trúc đặc trưng bao gồm các thành phần chính

như lớp tích chập (Convolution), lớp tổng hợp (Pooling hay Subsampling), và

hàm kích hoạt ReLU (Rectified Linear Unit) Ngoài ra, các thành phần phụ như

Chuẩn hóa Batch (Batch Normalization) và Dropout cũng quan trọng, đóng góp

vào việc cải thiện hiệu suất và giảm nguy cơ quá khớp (overfitting) của mô hình

Trong phần tiếp theo, chúng ta sẽ khám phá chỉ tiết từng thành phần này, để hiểu

rõ hơn về cách thức hoạt động và ứng dụng của CNN trong thế giới thực

Lớp tích chap (Convolution): Phép tích chập, một khái niệm trung tâm

trong lĩnh vực học sâu, đặc biệt là trong mô hình Mạng Nơ-ron Tích Chập

(CNN) Đây là một phép toán hóa học giữa hai ma trận hai chiều, thực hiện

bằng cách tính tổng các tích của các phần tử tương ứng trong hai ma trận (hình

2.8) Lớp Convolution, là lớp cốt lõi của mạng CNN, sử dụng phép tích chập này

để trích xuất các đặc trưng từ dữ liệu đầu vào

Xét một ảnh đầu vào có kích thước n x n, chúng ta sẽ sử dung một ma trậnkernel k x k (thường nhỏ hơn và k thường là số lẻ) để trượt qua ảnh Quá trìnhtrượt này, kết hợp với tính toán tích chập, tạo ra các giá trị pixel cho ma trận đầu

ra, thường có kích thước nhỏ hơn hoặc ma trận đầu vào.

Trong xử lý hình ảnh, phép tích chập giúp tách ra các yếu tố đặc trưng như

'https://kienthuclaptrinhweb.blogspot.com/2020/10/convolution-and-pooling-trong-cnn-tuan.html

*https://kienthuclaptrinhweb.blogspot.com/2020/10/convolution-and-pooling-trong-cnn-tuan.html

20

Trang 34

2 Cơ sở lý thuyết và các nghiên cứu liên quan

Image patch (Local receptive field) (filter)

Filter 1

Output

4x4

3x3x3 4x4 https://indoml.com

Hình 2.9: Minh họa tích chập của một ảnh RGB và ma trận kernel(nguồn internet 7).

cạnh, hướng, v.v Mỗi ma trận kernel sẽ trượt qua các vùng nhỏ của ảnh, được

gọi là Local Receptive Fields (LRF), và tích chập được thực hiện trên những

LRF chồng lên nhau Độ chồng lắp phụ thuộc vào hệ số trượt Š (stride)

Số LRF trên ảnh đầu vào tương ứng với số nơ-ron trên feature map, và kernelđóng vai trò như trọng số liên kết giữa mỗi LRE và nơ-ron tương ứng trên featuremap Một lớp conv có thể chứa nhiều feature map

21

Trang 35

2 Cơ sở lý thuyết và các nghiên cứu liên quan

Để minh họa rõ ràng, xét một ảnh có kích thước W; x Hị x Dị (với Dị là

chiều rộng, Hj là chiều cao, và D¡ là chiều sâu tương ứng với 3 kênh mau RGB)

Sử dụng một kernel k x k với n filter, chúng ta tính toán mỗi filter trên tất cả các

LRE Trong một số trường hợp, để cân đối giữa số bước di chuyển và kích thước

anh, padding có thể được thêm vào xung quanh viền ảnh Kết quả là ma trận đầu

ra (feature map) có kích thước W2 x Hạ x Dạ

Điểm ảnh đầu ra LAAN A ANB LAV AA BY \

Hình 2.10: Mô phỏng quá trình tích chập trong CNN.(ngu6n Medium !)

'https://miro.medium.com/v2/resize:fit:3900/1*p-47 puSuV NmRJnOXY PQCg png

22

Trang 36

2 Cơ sở lý thuyết và các nghiên cứu liên quan

Mỗi filter trong số ø filters này có một số lượng tham số tương ứng, và tổng

số tham số cần học trong Conv được tính bang công thức (k x kx Dị) xn+1

Lớp kích hoạt (Activation): Sau lớp Convolution trong mang CNN, thường

là lớp kích hoạt, với hàm ReLU (Rectified Linear Unit) là lựa chọn phổ biến.Nhiệm vụ chính của hàm ReLU là biến đổi các giá trị âm trong feature map

thành 0 Điều này quan trọng vì nó ngăn chặn quá trình học trọng số từ việc mắc

ket 6 giá trị 0 hoặc vô cực, van đề có thể làm chậm quá trình huấn luyện mang.Bên cạnh đó, hàm ReLU cũng giúp hạn chế tình trạng overfitting khi huấn luyện

với bộ dữ liệu.

Có nhiều hàm kích hoạt khác như Sigmoid và Tanh, nhưng ReLU thườngđược ưu tiên sử dụng vì nó mang lại tốc độ tính toán nhanh hơn Dù các hàmkhác có thể cung cấp độ chính xác tương tự, nhưng ReLU vẫn được chọn làmhàm kích hoạt chính cho việc tính toán tham số trong nhiều mô hình mạng CNN

Lý do là bởi ReLU đơn giản hóa quá trình học và cải thiện hiệu suất tổng thể của

mạng.

!https://viblo.asia/p/tim-hieu-ve-convolutional-neural-network-va-lam-mot-vi-du-nho-ve-phan-loai-anh-aWJ53WXo56m

23

Trang 37

2 Cơ sở lý thuyết và các nghiên cứu liên quan

Nhìn chung, sự lựa chọn hàm ReLU trong các lớp kích hoạt không chỉ giúp

tăng cường hiệu quả tính toán mà còn góp phần vào việc tối ưu hóa quá trìnhhọc của mạng, qua đó cải thiện đáng kể hiệu suất mô hình CNN

Lớp Pooling: Lớp pooling, một thành phần quan trọng trong kiến trúc mạng

CNN, đóng vai trò chính trong việc giảm số lượng tham số của mạng Điều

này không chỉ làm đơn giản hóa quá trình tính toán trong CNN mà còn giúp giải

quyết vấn đề overfitting trong quá trình huấn luyện Trong số các toán tử pooling

như Sum-pooling, Max-pooling, và L2-pooling, Max-pooling là lựa chọn phổ

biến nhất bởi hiệu quả và tốc độ xử lý vượt trội

Max-pooling còn mang lại lợi ích quan trọng khác: tạo ra tính bất biến dịchchuyển cho các đặc trưng Điều này có nghĩa là dù hình ảnh đầu vào có những

dịch chuyển nhỏ, mạng vẫn có khả năng phân loại chính xác đối tượng Điều

này xảy ra do Max-pooling lựa chọn nơ-ron có giá trị đầu ra cao nhất trong mỗivùng nơ-ron của lớp trước, coi như việc chọn lọc các đặc trưng quan trọng nhất

Nhờ vậy, mang CNN có thể duy trì độ chính xác cao ngay cả khi có sự di chuyển

của đối tượng trong ảnh Ví dụ cụ thể: trong một lớp Conv, giả sử từ lớp đầu vào

Trang 38

2 Cơ sở lý thuyết và các nghiên cứu liên quan

map này sẽ được xử lý qua một lớp max-pooling tương ứng, giảm kích thước xuống còn [12x12] Quá trình này sử dụng kernel kích thước [5x5], và trong

max-pooling, giá trị lớn nhất được lấy từ mỗi vùng [2x2] nơ-ron Điều này giúpgiảm đáng kể kích thước của đầu ra mà vẫn giữ được thông tin quan trọng nhất

của đặc trưng.

Lớp chuẩn hóa (Normalization): Lớp chuẩn hóa, thường được gọi là

Nor-malization hay Norm, đóng một vai trò quan trọng trong mang CNN, nhất là

trong những kiến trúc lớn và phức tạp Mục đích chính của lớp này là chuẩn hóa

dữ liệu đầu ra từ các lớp trước, trước khi chúng được truyền đến các lớp tiếp

theo, như hàm ReLU Việc này đặc biệt quan trọng bởi ham ReLU, mặc dù giúp

tăng tốc độ huấn luyện, nhưng nếu không được điều chỉnh trọng số cẩn thận, cóthể dẫn đến vấn dé "dying ReLU"

Lớp Norm giúp giảm thiểu rủi ro này bằng cách chuẩn hóa các giá trị tích

chập, đảm bảo rằng chúng không quá lớn hoặc quá nhỏ, từ đó ngăn chặn hiện

tượng dying ReLU Việc chuẩn hóa này cũng giúp tránh tình trạng gradient xấp

xỉ bằng 0, một nguyên nhân khiến tốc độ học của mạng trở nên chậm Nhờ vậy,

lớp Norm không chỉ cải thiện độ ổn định của mạng mà còn giúp tối ưu hóa quá

trình huấn luyện, đặc biệt quan trọng trong các mạng CNN phức tạp và sâu

Lớp Fully connected: Sau khi ảnh trải qua nhiều lớp tích chập (convolutional

layers) và lớp gộp (pooling layers), mô hình CNN đã có khả năng học được các

đặc điểm quan trọng của ảnh Tại điểm này, tensor đầu ra của lớp cuối cùng sẽ

được chuyển đổi, hay làm phẳng, thành một vector Vector này sau đó được đưa

vào một lớp kết nối đầy đủ (Fully Connected layer - FC layer), nơi mà các đặctrưng được kết hợp lại với nhau

Lớp FC này có vai trò quan trọng trong việc tổng hợp các thông tin đặc trưng

đã học được, tạo nên mô hình dự đoán cuối cùng Để phân loại đầu ra, mô hình

thường sử dụng các hàm như softmax hoặc sigmoid Softmax thường được dùng

trong trường hợp phân loại nhiều lớp, cung cấp một phân phối xác suất trên các

25

Trang 39

2 Cơ sở lý thuyết và các nghiên cứu liên quan

lớp đầu ra, trong khi sigmoid thích hợp cho trường hợp phân loại nhị phân

Hình 2.13: Mô phỏng lớp Fully connected.(nguồn Viblo ')

Nhờ sự kết hợp giữa các lớp convolutional, pooling, và fully connected, mô hìnhCNN có khả năng trích xuất, học hỏi từ dif liệu đầu vào và cuối cùng phân loại

chính xác, phản ánh sức mạnh và độ linh hoạt của kiến trúc mạng nơ-ron tích

chập.

2.5 Kết chương

Như vậy, chúng ta có thể thấy nhận dạng khuôn mặt vẫn là một bài toán đầythách thức trong lĩnh vực thị giác máy tính Vẫn còn nhiều thách thức phải đối

mặt để thực hiện các phương pháp nhận dạng khuôn mặt sao cho chúng có thể

phản ánh cách con người nhận dạng khuôn mặt Qua chương này, chúng ta đã

hiểu được các phương pháp và quy trình của bài toán nhận dạng khuôn mặt,

'https://viblo.asia/p/tim-hieu-ve-convolutional-neural-network-va-lam-mot-vi-du-nho-ve-phan-loai-anh-aWj53W Xo056m

26

Trang 40

2 Cơ sở lý thuyết và các nghiên cứu liên quan

những khó khăn mà nó đối mặt trong các ứng dụng khác nhau và bối cảnh mà

bài toán này đặt ra.

27

Ngày đăng: 02/10/2024, 08:30

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN