Trong một số bài báo chỉ ra rằng, các thiết bị bay này đang hướng tới ápdụng các công nghệ xử lý hình ảnh phát hiện đối tượng tuy nhiên nhiều nhà sản xuấtgặp rào cản về phần cứng, phần m
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
LƯƠNG VĂN SONG
LUẬN VĂN TÓT NGHIỆP
PHÁT HIỆN NGƯỜI DỰA VÀO KHUÔN MAT TREN NGUON
VIDEO TRỰC TIẾP TỪ MÁY BAY KHÔNG NGƯỜI LÁI
REALTIME FACE-BASED HUMAN DETECTION ON DRONE LIVE STREAMING
THAC SY NGANH KHOA HỌC MAY TÍNH
MS: 480101
GIANG VIEN HUONG DAN
TS NGUYEN TAN TRAN MINH KHANG
TP HO CHi MINH, 2021
Trang 21.3 Phát biểu bài toán
1.4 Đối tượng và phạm vi nghiên cứu
2.1.3 Arificial Neural Network (ANN)
2.1.4 Convolitional Neural Network (CNN)
2.1.5 Kernel
2.1.6 Max pooling
2.1.7 Lan truyền ngược (Backpropagation)
2.2 Nghiên cứu các phương pháp họ YOLO
Trang 34.1.3 Những thách thức trong bài toán nhận dạng khuôn mặt
4.2 Tổng quan về các ứng dụng tương tác người máy liên quan tới khuôn mặt
4.3 Các công trình nghiên cứu về phương pháp nhận dạng và kiểm tra
Chất lượng cho một hệ thống nhận dạng khuôn mặt
CHƯƠNG 5 TRÌNH BÀY PHƯƠNG PHÁP MOBILE FACE NET
NHAN DẠNG KHUÔN MAT
5.1 Một số khái niệm liên quan
Trang 46.3 Kiến trúc mô hình và giải thích
6.4 Kết quả thực nghiệm
6.4.1 Môi trường thực nghiệm
6.4.2 Đánh giá kết quả phát hiện khuôn mặt bằng phương pháp YOLOv4
Tiny face trên bộ dữ liệu DroneSURF
6.4.2.1 Thứ nghiệm với IoU = 0.05
6.4.2.2 Thứ nghiệm với IoU = 0.1
6.5.3.1.1 Yêu cầu hệ điều hành
6.5.3.1.2 Yêu cầu nền tang
21
22
22
23
Trang 5Chương 1 TONG QUAN
Nội dung chương 1 trình bày tổng quan về động lực nghiên cứu, phát biểu bài toán, các thách thức trong bài toán, các vấn đề được giải quyết, đóng góp và bó cục luận văn.
1.1 Động lực nghiên cứu:
Tir lâu thiết bị bay không người lái đã trở nên phé biến trong đời sống, các thiết bị
bay này được ứng dụng rộng rãi trong hầu hết các lĩnh vực bởi sự cơ động, tiện dụng,
có thể hoạt động ở nhiều địa hình, thời tiết Cùng với sự phát triển của công nghệ, cácthiết bị không còn chỉ phục vụ mục dich vận chuyền, ghi hình mà tiến tới tích hợp nhiều
tính năng khác như gửi hình ảnh trực tuyén (livestream) đến các máy chủ thông qua kết
nối internet Trong một số bài báo chỉ ra rằng, các thiết bị bay này đang hướng tới ápdụng các công nghệ xử lý hình ảnh phát hiện đối tượng tuy nhiên nhiều nhà sản xuấtgặp rào cản về phần cứng, phần mềm cũng như giá thành sản xuất
Trong khi đó, các thuật toán trong lĩnh vực thị giác máy tính ngày càng mạnh mẽ
nhờ và sự phát triển của dữ liệu, phần cứng và máy học Các thuật toán học sâu cho
phép phát hiện đối tượng với độ chính xác rất cao Một số thuật toán có thể xử lý vớitốc độ nhanh thời gian thực, thích hợp cho các bạn toán yêu cầu tốc độ xử lý nhanh
Tir động lực đó, chúng tôi đã nghiên cứu việc sử dụng thiết bị bay không người lái,
áp dụng và cải tiến một số phương pháp phát hiện đối tượng tiên tiến dé phát hiện đối tượng trong thời gian thực từ luồng phát trực tiếp (livestream) do thiết bị bay không
người lái truyền về, cụ thể hơn đó là dựa vào khuôn mặt
1.2 Mục tiêu đề tài
Trong phạm vi nghiên cứu của một để tài luận văn thạc sĩ, mục tiêu chính của luận văn này: nghiên cứu và xây dựng ứng dụng tích hợp nhân video trực tiếp từ thiết bị bay
không người lái phục vụ cho việc tìm kiếm người từ đám đông (1) Nghiên cứu và đánh
giá thuật toán các phương pháp họ YOLO trong bài toán phát hiện khuôn mặt Từ đó
dung phương pháp MobileFaceNet đề nhận dạng khuôn mặt (2) Thực nghiệm đánh giá
hiệu suất của mô hình theo các tiêu chí quan trọng: mean Average Precision (mAP),
thời gian phát hiện (số khung hình trên giây — FPS) (3) Tổng hợp các đánh giá thực
Trang 6nghiệm có thé đưa ra đề xuất cải thiện mô hình tiến tới phát triển thành ứng dụng thời
gian thực (Realtime).
Tir các nghiên cứu và đánh giá thực nghiệm, chúng tôi xây dựng hệ thống phát hiện
người cần tìm trong đám đông từ dữ liệu drone Hệ thống sẽ tự động xử lý đữ liệu, kiểm
tra tắt cả các khuôn mặt người có trong khung hình và so sánh với khuôn mặt gốc cầntìm, giúp tối ưu hóa thời gian và độ chính xác so với mắt thường kiểm tra Tuy nhiênviệc phát triển một hệ thông hoàn chỉnh dé đưa vào vận hành trong điều kiện thực tế là
một bài toán khó, yêu cầu nhiều khía cạnh Do đó trong giới hạn của luận văn, chúng tôi mong muốn giải quyết được những vấn đề chính của hệ thống, từ đó làm nền tảng
dé phát triển ứng dụng trong tương lai.
1.3 Phát biểu bài toán
Bài toán phát hiệu đối tượng là một trong những bài toán đực quan tâm nghiên cứu
trong của lĩnh vực thị giác máy tính nói riêng và khoa học máy tính nói chung Dữ liệu
đầu vào của bài toán phát hiện đối tượng là ảnh, đầu ra của bài toán là vị trí của các đối
tượng trong ảnh đó Bài toán phát hiện đối tượng trong video tương tự như bai toán phátđối tượng trong ảnh, tuy nhiên đầu vào là một tập các ảnh theo thứ tự
Bài toán phát hiện người dựa vào khuôn mặt trên nguồn video trực tiếp từ máy bay
không người lái là một bài toán phát hiện đối tượng, với yêu cầu từ 03 05 ảnh đầu vào
là khuôn mặt của người cần tìm, phát hiện đối tượng có trong video trực tiếp từ máy
bay không người lái.
1.4 - Đối tượng và phạm vi nghiên cứu
Đối tượng mà đề tài hướng đến là các người dung có nhu cầu sử dụng hệ thống phát
hiện đối tượng đặc thù trong lĩnh vực an ninh và cứu hộ cứu nạn
Với sự phát triển của các thiết bị công nghệ cũng như internet, để hệ thống có théphù hợp với nhiều đối tượng và tính đơn giản, chúng tôi đã phát triển hệ thống trên nền
tảng ứng dụng web.
Trong phạm vi nghiên cứu của ứng dụng chúng tôi chi phát triển hệ thống với đầuvào là luồng phát trực tiếp, giúp người sử dụng dễ dàng trong việc cài đặt Với ảnh đầuvào là các đối tượng cụ thể được nhận đạng là ảnh chân dung của đối tượng, có chất
Trang 7lượng tốt với số lượng 5 tắm hình ở các góc nhìn khác nhau để đảm bảo kết quả cao
của hệ thống
Có rất nhiều thuật tóa có thé sử dung dé giải quyết bài toán phát hiện đối tượng Tuy
nhiên cùng với sự phát triển của phần cứng máy tính và sự ra đời của học sâu, các thuật
toán được phát triển dựa trên mạng nơ ron tích chập ngày càng được quan tâm và trởnên phô biến trong môi trường nghiên cứu cũng như ứng dụng, vì các thuật toán nàycho kết quả với độ chính xác cao, đồng thời một số thuật toán có khả năng tính toán với
tốc độ nhanh, có thé cho ra kết quả theo thời gian thực Một trong những thuật toán điền hình đó là YOLO Với phiên bản mới nhất là YOLOv4, thuật toán này vừa cho phép
phát hiện đối tượng với độ chính xác cao, đồng thời cho kết quả trong thời gian thực.Trong phần nghiên cứu cải tiến các thuật toán, chúng tôi tập trung vào nghiên cứu và
đưa ra mô hình cải tiến của thuật toán YOLOv4 nhằm tang cường khả năng phát hiện đối tượng cho thuật toán.
1.5 Vấn đề giải quyết
1.6.
Trong đề tài nay, chúng tôi đã giải quyết các van dé:
-_ Tìm hiểu về bài toán và các bộ dữ liệu cho bài toán, cấu trúc của các bộ dữ liệu.-_ Tìm hiểu và nghiên cứu thuật toán phát hiện khuôn mặt YOLOv4 tiny face và các
nghiên cứu liên quan.
- Thu nghiệm và đánh giá thuật toán trên bộ dữ liệu WIDER FACE.
- Tìm hiểu và nghiên cứu thuật toán nhân dạng khuôn mặt Mobile Face Net
-_ Thử nghiệm và đánh giá trên các tình huống thực tế của bài toán
- Xây dựng hệ thống với giao diện và các chức năng phù hợp giải quyết nhu cầu cơ
bản của người sử dụng.
Đóng góp luận văn
Các đóng góp trong luận văn bao gồm:
- Nghiên cứu và thực nghiệm thuật toán YOLOv4 tiny face và một số cải tiến phù
hợp trên bộ dit liệu WIDER-FACE.
- Nghiên cứu và thực nghiệm thuật toán ArcFace
Trang 8- Xây dựng hệ thống ứng dụng phát hiện khuôn mặt dựa trên đầu vào là 5 ảnh khuôn
mặt của người cần tìm trên nền tảng web
1⁄7 Bố cục luận văn
Báo cáo được chia thành các phần chính:
Chương 1 Giới thiệu tổng quan về khóa luận, bài toán phát hiện khuôn mặt trong video
từ trên không, các vân đề được giải quyết và đóng góp của luận văn
Chương 2 Trình bày các phương pháp họ YOLO và các khái niệm
Chương 3 Trình bày phương pháp YOLOv4-tiny
Chương 4 Trình bày các phương pháp nhận dạng khuôn mặt
Chương 5 Trình bày phương pháp MobileFaceNet kết hợp ArcFace nhận dạng khuônmặt.
Chương 6 Trình bày các bước thực hiện và kết quả của các thực nghiệm.
Chương 7 Trình bày tông quan về hệ thống được xây dựng, kiến trúc và thiết kế của
hệ thống
Chương 8 Kết luận các kết quả đạt được và các hướng phát triển sau này
Trang 9Chương 2 TRÌNH BÀY CÁC PHƯƠNG PHÁP HỌ YOLO VÀ CÁC NGHIÊN
CỨU LIÊN QUAN
Nội dung chương 2 là giới thiệu về các nghiên cứu liên quan đã được nghiên cứu và công bố cho bài toán phát hiện khuôn mặt trong video từ trên không Đồng thời giới
thiệu về các hướng tiếp cận cho bài toán
2.1 Cơ sở lý thuyết
2.1.1 Perceptron
Một perceptron (một tế báo thần kinh) được hiểu đơn giản là một hàm toán học nhận đầu vào từ một số hoặc nhiều số, thực hiện các phép toán và trả về kết quả đầu ra Các trọng số ân (weights) của perceptrion — là các giá trị cần tìm và được xác định trong
quá trình huấn luyện (training) dựa trên dữ liệu huấn luyện (training data) Có thể hình
dung hoạt động của perceptrion theo hình Hình 2.1.
Trong Hình 2.1 có thé thay dữ liệu đầu vào được biéu diễn bởi vector X = [x0, x1,
«+ xn] và các trong số cần học được biểu diễn bởi vector W = [w0, wl, , wn], di
qua perceptrion và kết quả đầu ra được trả thông qua một hàm gọi là unit step functiontrong trường hợp trên là binary Mục đích của hàm nay sử dụng dé cho perceptrion cóthể ra được quyết định
2.1.2 Hàm kích hoạt
Trang 10Hàm kích hoạt hay activation functions được sinh ra với mục đích bẻ gãy sự tuyếntính của mạng nơ ron Các hàm này có thể hiểu đơn giản như một bộ lọc để quyết địnhxem thông tin có được đi qua nơ ron hay không Trong quá trình huấn luyện mạng nơ
ron, các hàm kích hoạt đóng vai trò quan trọng trong việc điều chỉnh độ dốc của đạo
hàm Chúng ta cần hiểu rằng tính chất của các hàm phi tuyến này giúp cho mạng no ron
có thé học được biểu diễn của các hàm phức tạp hơn là chỉ sử dụng các hàm tuyến tinh.Hầu hết các activation functions là các hàm liên tục (continuous function) và khả vi(differentiable functions) Các hàm này là các hàm liên tục, tức là có sự thay đổi nhỏ ở
kết quả đầu ra nếu như đầu vào có sự thay đổi nhỏ và khả vi tức là có đạo hàm tại mọi
điểm trong miền xác định của nó Việc tính toán được đạo hàm là rẤt quan trọng và nó
là một yếu tố quyết định đến no ron của chúng ta có thé huấn luyện được hay không
2.1.3 Artificial Neural Network (ANN)
Artificial Neural Network (ANN) có thê coi là một tập hợp của các perceptrion và
các hàm kích hoạt Các perceptrion đơn lẻ sẽ được kết hợp với nhau thành các lớp ẩn
hidden layers hay units Các lớp an sử dụng các hàm kích hoạt phi tuyến ánh xa các lớpđầu vào thành các lớp đầu ra trong một không gian có số chiều thấp hơn và được gọi
chung là mạng nơ rôn nhân tạo ANN có thể hiểu là một hàm biến đổi (ánh xạ) từ đầu
và đến đầu ra Ánh xạ này được tính bằng cách thêm vào các ma trận trọng số weights
va giá trị của độ sai lệch biases tương ứng với kiến trúc được gọi là mô hình hay model.
Quá trình training model là quá trình xác định các giá trị của các weights và biases.
Các giá trị của chúng được khởi tạo với các giá trị ngẫu nhiên khi bắt đầu training.
Muốn training chúng ta cần phải định nghĩa bằng hàm lỗi của mạng Lúc này chúng ta
sẽ nhắc đến hai giá trị đó là ground truth — tức là giá tri thực tế có trong tập dữ liệu huấnluyện và predict output là giá trị mà mô hình dự đoán Lỗi được tính bằng cách sử dụng
ham loss định nghĩa dựa trên sự khác nhau giữa hai giá trị này Dựa trên giá trị của ham
loss được tính toán, các trọng số weights được điều chỉnh tại mỗi bước trong quá trìnhtraining Việc huấn luyện mô hình được dừng lại khi lỗi không thể giảm thêm đượcnữa Quá trình training thực chất là tìm ra các đặc trưng trong features trong dữ liệu đầu
Trang 11vào Các features này là một đại diện tốt hơn so với đữ liệu thô Hình 2.2 là sơ đồ của
mạng nơ ron nhân tạo ANN hay perceptionron nhiều lớn
Input layer ; Hidden layers
Output n
Một số đầu vào của dữ liệu x được chuyên qua một tập hợp các perceptron
và xuất hiện ở đầu ra Theo lý thuyết x4p xỉ vũ trụ - universal approximation theorem thì một mạng no ron có thé xắp xi mọi hàm phi tuyến Tắt nhiên là tùy thuộc vào số lượng các layers và số nodes của mạng Lớp ẩn — the hidden
layer hay thường gọi là dense layer — thường đi kèm với mỗi activation
function dé giúp giải quyết một số vấn đề về đạo hàm được bàn luận phía
trên Số lượng các tham số của mạng như số no ron trên mỗi layers, số layers
trong mõi mạng được lựa chọn tùy thuộc vào bài toán.
2.1.4 Convolutional Neural Network (CNN)
Convolutional Neural Network (CNN) cũng tương tự như các kiến trúc mạng
MLP bao gồm các weights, biases, và các activation function được sử dụng
để biến đổi dữ liệu tuyến tính về dạng phi tuyến Trong các kiến trục mạng
Trang 12chính thống thì mỗi neural trong mỗi layer được kết nối theo kiểu fullyconnected — kết nói đầy đủ đến các neural của layers tiếp theo Tắt cả các nơ
ron thuộc cùng một layers không chia sẻ bất kì một kết nối nào Một nhược điểm của mạng này là số lượng két nối sẽ trở nên khổng lồ nếu như kích
thước của từng layers là lớn và no skhoong phù hợp cho các dữ liệu giốngnhư ảnh Điều đó dẫn đến khái niệm overfitting trên toàn bộ dữ liệu học Nếu
như ảnh chúng ta có kích thước lớn thì việc sử dụng mô hình mạng chính
thống lại càng làm cho số lượng các tham số trở nên lớn hơn Với đặc thù của dữ liệu ảnh, mộ image có thể chưa giá trị thuộc 3 thuộc tính là height,
width và depth Trong đó depth được gọi là channel của hình có thể là red,blue và green Mạng CNN được thiết kế với tư tưởng tích chập các input
layers dé làm đầu vào cho layers tiếp theo Việc chuyển đổi đó thực hiện trên
mỗi layer
Hình 2.3 Ví dụ về một convolutional Neural Network
Các lớp CNN được sử dụng dé trích chon ra các đặc trưng và parterntrong hình ảnh Các số lượng tham số được sử dụng trong mạng CNN được
chứng minh là nhỏ hon rất nhiều so với mang fully connected và hiệu quả mang lại thường là cao hơn nhiều so với các phương pháp trước đó.
2.1.5 Kernel
Trang 13Kernel có thể được coi là tham số của mô hình CNN và được sử dụng để tínhtoán tích chập — convolve trên ảnh Chúng ta có thé thấy thao tác tích chập
được mô tả trong Hình 2.4.
Hình 2.4 Các hoạt động của Kernel
Mỗi phần của hình ảnh sẽ được phân tích chập với kernel đề tạo thànhmột ma trận mới — làm input cho layer tiếp theo Một kernel có hai tham số
cần quan tâm đến đó là stride và size Size là kích thước của một kernel (có thể là kích thước của một hình chữ nhật bát kì) và stride là số bước nhảy của
kernel Nếu stride bằng | thì gần như toàn bộ pixel trên ảnh sẽ được trượtqua và tính tích chập Nếu stride bằng 2 chúng ta cứ cách 2 pixel lại tính tích
chập một lần và như vậy số lượng pixel của ảnh đầu ra bị giảm đi một nửa
so với stride = 1 Padding có thé giúp số chiều của ảnh dau ra giống với ảnh
input.
2.1.6 Max pooling
Max pooling là một layer được thêm vào giữa các lớp convolution với mục đích
là giảm kích thước của layers thông qua việc lấy mẫu — sampling Việc lấy mẫu này thực hiện bằng cách lấy giá trị lớn nhất trong cửa số pooling được chọn Ngoài ra chúng.
ta có thé bắt gặp khái niệm Average pooling tức là lấy mẫu bằng cách lấy giá trị trungbình của tất cả các giá trị trong cửa số pooling Pooling được xem là một trong những
kỹ thuật giúp giảm hiện tượng overfitting trong CNN Chúng ta có thể hình dung hoạt
động của nó trong Hình 2.5.
Trang 142x2Max-Pool | 20 | 30
› :
112| 37
Hình 2.5 Ví dụ về max pooling2.1.7 Lan truyền ngược (Backpropagation)
“Thuật toán lan truyền ngược — backpropagation là một trong những thuật toán
cốt lõi của mạng nơ ron hiện đại Thông thường thì việc huấn luyện và tối ưu một mạng
MLP được thực hiện bằng giải thuật Gradient Descent, tức là tối ưu dựa trên đạo hàm.Muốn như vậy chúng ta sẽ cần phải tính toán được đạo hàm của từng ma trận trọng sốtrong quá trình training Tuy nhiên việc tính toán trực tiếp giá trị đạo hàm ngay từ các
layer đầu là một việc cực kỳ khó khăn bởi vì hàm mat mát sẽ không phụ thuộc đơn lẻ vào trọng số của layer đó Backpropagation là một thuật toán lấy tư tưởng bằng việc tính đạo hàm từ cuối sau đó lan truyền giá trị này dần vào trong các layers phía trên
của mang no ron thông qua quy tắc của chain rule — đạo hàm hàm hợp Chúng ta cóthể hình dung bước cập nhật trọng số trong Hình 2.6
Hình 2.6 Các bước lan truyền ngược
2.2 Nghiên cứu các phương pháp họ YOLO
Trang 152.2.1 YOLOv1
Thuật toán YOLO được Joseph Redmon và các cộng sự giới thiệu lần đầu tiên
trong bài báo You Only Look Once: Unified, Real-Time Object Dectection tại hội nghị
Conference on Computer Vision and Pattern Recogition (CVPR) vao thang 6 nam 2016.
Class probability map
Hình 2.7 Các hoạt động cua YOLO
Về ý tưởng YOLO chia ảnh đầu vào thành một lưới có kích thước 7x7, mỗi
ô trong lưới sẽ làm nhiệm vụ dự đoán một đối tượng Mỗi ô sẽ dự đoán 30 thông tin: 2bounding box, mỗi bounding box có 5 thông tin bao gồm x, y, width, height, box
objectness score, trong đó 4 thông tin đầu sẽ cung cấp vị trí cũng như kích thước của hộp, thông tin thứ 5 cung cấp mức độ khả năng tồn tại một đối tượng ở ô này Khả nang càng cao thì có nghĩa là đối tượng càng được bao trọn trong hộp Cuối cùng là 20 thông
tin class score tương ứng với từng lớp đối tượng cần phải dự đoán Mỗi class score sẽthể hiện khả năng đối tượng được dự đoán thuộc loại đối tượng nào
Trang 16Hình 2.8 Cau trúc mạng của YOLO
YOLO tiến hành dự đoán thông qua mạng học sâu, YOLO sử dụng mạng CNN
gồm có 24 lớp convolutional theo sau đó là 2 lớp fully connected Một số điểm đáng
chú ý đó là có sự xuất hiện của các lớp convolution, mà ở đó kích thước kernel là 1x1,
vốn có tác dụng trong việc giảm số lượng channel của lớp trước đó
2.2.2 YOLOv2
YOLOv2 hay YOLO9000 được công bố trong bài báo YOLO9000: Better,
Faster, Stronger tại hội nghị Conference on Computer Vision and Pattern Recognition
(CVPR) vào tháng 7 năm 2017 YOLOv2 được đánh giá trên bộ dữ liệu Pascal VOC
và COCO Với bộ dữ liệu VOC2007, YOLOv2 đạt được 78,6 mAP và 40 FPS.
Một trong những nhược điềm của YOLO đó là hoạt động kém hiệu quả trên đối tượng nhỏ dẫn đến độ phủ của dự đoán đúng cũng giảm theo YOLOv2 là phiên bản
thứ hai của YOLO với những cải tiến cả về độ chính xác lẫn tốc độ
Để đạt được điều này, đầu tiên tác giả them các batch normalization vào lớp
convolution Mục tiêu là dé làm giảm độ nhiễu của các mẫu dữ liệu học trong quá trìnhhuấn luyện Sau đó tác giả áp dụng kỹ thuật huấn luyện theo nhiều độ phân giải bằngcách áp dụng huấn luyện 2 giai đoạn Ban đầu tác giả huấn luyện mạng phân loại VGG-
16 bằng ảnh kích thước 224x224 Sau đó thay thế lớp fully connected của VGG-16 bằng lớp convolution và huan luyện lại từ đầu bằng ảnh kích thước 448x448.
Trang 17YOLOv2 cũng thay đổi bằng cách chon các prior box Tác giả sử dung 5 boxthay vì 2 như trước và các prior box này có tỉ lệ khác nhau dé khớp với bộ dữ liệu thực
tế Tác giả còn thay đổi cấu trúc của mạng dé chuyền đổi chức năng dự đoán phân lớp
của mỗi 6 sang cho mỗi box, tức là ở YOLOv2 mỗi box sẽ có bộ class score riêng.
Lay ý tưởng từ SSD, tác giả đã nghĩ cách điều chỉnh cấu trúc mạng, tạo ra lớp
Passthrough, với mục tiêu dự đoán trên feature map kích thước 13x13 Tác giả đã lấy them đặc trưng từ lớp trước đó là lớp 26x26, rồi tiền hành điều chỉnh kích thước và nồi vào đặc trưng 13x13 sẵn có dé tạo ra đặc trưng tốt hơn Ngoài ra, trong quá trình huấn
luyện mạng học sâu, tác giả còn sử dụng K-cluster để chọn ra các kích thước prior box
tối ưu cho bộ dữ liệu mà ông đang đánh giá Cuối cùng, tác giả thực nghiệm với nhiều kích thước ảnh đầu vào khác nhau, bởi vì các lớp fully connected đã loại bỏ hoàn toàn
cho nên với kích thước ảnh lớn hơn, sẽ cho ra dự đoán trên grid cells lớn hơn Việc cầnlàm đó là đảm bảo ảnh đầu vào phải có kích thước chia hết cho 32 bởi vì lớp đầu tiên
sẽ chuyên đặc trưng xuống còn kích thước 32x32 Cấu trúc mạng CNN mà tác gia sửdụng để rút trích đặc trưng là Darknet- I9, sử dụng bộ lọc có kích thước 3x3 để rút trích
đặc trưng và bộ loc 1x1 đê giảm số lượng channel của đầu ra, ngoài ra Darknet còn sử
dụng Average Pooling để thực hiện dự đoán
2.2.3 YOLOv3
Bài báo về YOLOv3 có tên YOLOv3: An Incremental Improvement được
đăng lần đầu tiên và ngày 8 tháng 4 năm 2018 Bài báo nói về những cải tiến mới nhất
mà tác giả dành cho YOLO Cụ thể là cải thiện độ chính xác trên những đối tượng
nhỏ và đồng thời chuyển YOLO từ phương pháp phát hiện và phân loại đối tượngsang phát hiện và phân loại đối tượng đa nhãn, tức là mỗi đối tượng phát hiện được sẽ
có xác suất cho từng loại đối tượng thay vì chỉ chọn duy nhất loại đối tượng có xác
Trang 18Hình 2.9 Thời gian và độ chính xác của YOLOv3
Phương pháp YOLOvI và YOLOv2 sử dung hàm softmax để chuyển đổi classscore sang xác suất, để tổng của chúng trở thành 1, điều này tốt đối với bài toán phânloại đơn Như nếu có trường hợp, phát hiện xe ô tô, ta có 2 phân lớp như: xe ô tô và xe
bốn bánh, khi đó xác suất phân loại phải lớn hơn | mới đúng YOLOv3 chính vì thế sử
dụng phương pháp phân lớp đối tượng đa nhãn Bằng việc thay thế softmax bằng các
logistic regression độc lập nhau Sử dụng hàm độ lỗi binary cross-entropy cho mỗi
nhãn, thay vì dung trung bình của bình phương độ lỗi (Mean Square Error), điều này
giúp giảm độ phức tạp thuật toán đã từng khi phải dung hàm softmax YOLOv3 còn sử
dụng thêm mạng kim tự tháp đặc trưng (Feature Pyramid Networks — FPN), và cho ra
ba dự đoán ở mỗi vị trí Mỗi dự đoán thực hiện ở từng feature map thì có quy mô khác
nhau:
o Feature map ở lớp cuối cùng.
Trang 19© Quay ngược trở lại hai lớp và tang kích thước của feature map lên 2 lần, sau
đó cộng với feature map to ở trên, tiến hành dung lớp convolutional dé rút
trích đặc trưng lần hai phục vụ quá trình dự đoán.
o Lap lại bước 2 trên một feature map có kích thước lớn hơn.
Type Filters Size Output
Convolutional 32 3x3 256 x 256
Convolutional 64 3x3/2 128x128Convolutional 32 1x1
1x| Convolutional 64 3x3
Residual 128 x 128
Convolutional 128 3x3/2 64x64
Convolutional 64 1x12x Convolutional 128 3x3
| Residual - _ 64x64Convolutional 256 3x3/2 32x32
Convolutional 128 1x1
8x Convolutional 256 3x3
Residual 32 x32
Convolutional 512 3x3/2 16x16Convolutional 256 1x1
8x| Convolutional 512 3x3
Residual 16 x 16
Convolutional 1024 3x3/2 8x8Convolutional 512 1x1
4x| Convolutional 1024 3x3
Residual 8x8 Avgpool Global
Connected 1000
Softmax
Hình 2.10 Kiến trúc Darknet-53Darknet-53 được sử dụng dé rút trích đặc trưng cho phương pháp YOLOv3 déthay thế cho Darknet-19, điều đáng lưu ý ở Darknet-53 đó là việc sử dụng nhiều skipconnection, residual network như của ResNet Hình 2.10 là kiến trúc của Darknet-53
Trang 202.2.4 YOLOv4
YOLOv4 được giới thiệu trong bài báo YOLOv4: Optimal Speed and
Accuracy of Object Detection bởi Alexey Bochkovskiy và các cộng sự.
'YOLOv4 đã cho kết quả cao với 43.5% mAP, 65 FPS trên bộ dữ liệu COCOvới phần cứng sử dụng GPU Tesla V100 Dé đạt được kết qua này, YOLOv4
đã áp dụng nhiều kỹ thuật mới như Weighted-Residual-Connection (WRC),
Cross-Stage-Partial-connections (CSP), Cross mini-Batch Normalization
(CmBN), Self-adversarial-training (SAT), Mish-activation, Mosaic data
‘YoLOvéArchitecture
Kiến trúc của YOLOv4 (Hình 2.11: Kiến trúc YOLOv4) gồm 4 phan chính:
Trang 21o Input: là phan nhận ảnh dau vào của mạng.
o Backbone: là phan sử dung để trích xuất đặc trưng YOLOv4 sử dụng mang
CSPDarknet53, tuy nhiên có thé thay bằng các mạng khác như VGG-16,
ResNet-50, SpineNet, EfficientNet-B0/B7, CSPResNet50, CSPDarknet53.
o Neck: giúp tăng cường đặc trưng của ảnh bằng cách sử dung các
path-aggregation block ví dụ như Feature Pyramid Network, PAN, RFB và một
số block khác như ASPP, RFP, CBAM
o Head:là phần thực hiện chức năng phát hiện (detection) Head có thể sử dụng các bộ phát hiện đối tượng one-stage như YOLOv3 va SSD hoặc two-stage
như Faster R-CNN, Mask R-CNN, R-FCN.
phiên bản trước cũng như một số thuật toán phát hiện đối tượng tiên tiến khác Có thẻthấy được YOLOv4 có độ chính xác cao, đòng thời có tốc độ xử lý vượt trội so với các
phương pháp được so sánh.
Trang 223 Chương 3 TRINH BAY PHƯƠNG PHÁP YOLOv4 TINY
YOLOv4 Tiny được đề xuất dựa trên YOLOv4 khi đơn giản hóa cấu trúc mang
và giảm các thông số, giúp nó phù hợp dé phát triển trên các thiết bị di động và thiết bị
nhúng YOLOv4 Tiny cũng là một trong những phương pháp YOLO nhẹ va cũng xây
dựng dựa trên YOLOv4 Nó sử dụng CSPDarknet53-tiny làm backbone thay vì
CSPDarknet53 của YOLO SPP và PANet cũng được thay thế bằng FPN đề giảm thời
gian phát hiện Bên cạnh đó, nó cũng sử dụng hai tỷ lệ dự đoán (26x26 và 13x13) thay
vì ba tỉ lệ dự đoán như YOLOv4 So với YOLOv3-tiny, YOLOv4-tiny sử dụng mạng
CSPBlock để trích xuất đặc trưng thay vì sử dụng mạng tích chập có điều kiện.
3.1 Cấu trúc mạng
Phương pháp YOLOv4-tiny sử dụng mạng CSPDarknet53-tiny làm mạng xương
sống thay vì mạng CSPDarknet53 được sử dụng trong phương pháp YOLOv4 Mạng
CSPDarknet53-tiny sử dung module CSPBlock trong CSP thay vì module ResBlock
trong mang còn lai.
Module CSPBlock chia feature map thành hai phan, và kết hợp hai phan bằngcạnh dư của giai đoạn chéo Điều này làm cho dòng gradient có thé lan truyền theo haiđường mạng khác nhau dé tăng sự khác biệt tương quan của thông tin gradient Module
CSPBlock có thé nâng cao khả năng học tập của mang chập so với Module ResBlock.
Mặc dù điều này làm tăng tính toán 10% - 20%, nó cải thiện độ chính xác Đề giảm sốlượng tính toán, nó loại bỏ các nút thắt cô chai tính toán có lượng tính toán cao hơn
trong module CSPBlock Nó cải thiện độ chính xác của phương pháp YOLOv4-tiny
trong trường hợp tính toán không đổi, thậm chí là giảm.
Để tiếp tục quy trình tính toán đơn giản hơn, YOLOv4-tiny sử dụng hàm
LeakyReLU làm hàm kích hoạt trong CSPDarknet-tiny mà không cần sử dụng Mish là
hàm kích hoạt như YOLOv4 Hàm LeakyReLU là:
Trang 23Trong đó: a; € (1,+©), nó là tham số không đổi.
“Trong phần kết hợp đặc trưng, YOLOv4-tiny sử dụng mạng kim tự tháp đặc
trưng dé trích xuất feature map với các tỉ lệ khác nhau dé tặng tốc độ phát hiện đối
tượng, mà không sử dụng SPP và PANet như phương pháp YOLOv4 Đồng thời
YOLOv4-tiny sử dụng hai feature map tỉ lệ khác nhau là 13x13 và 26x26 dé dự đoánkết quả phát hiện Giả sử rằng kích thước của hình đầu vào là 416x416 và feature
classification là 80, cấu trung mạng YOLOv4-tiny được hiền thị như sau:
YOLOvá-tny Architecture (a
Made by BAI Yong eave
3.2 Quá trình dự đoán
Quá trình dự đoán của YOLOv4-tiny cũng giống như YOLOv4 Trước hết, nó
cũng điều chỉnh kích thước đầu vào hình ảnh dé làm cho tat cả hình ảnh đầu vào có cùng kích thước cố định Thứ hai, hình ảnh đầu vào được chia thành các lưới có kích
thước SxS, và mọi lưới sẽ sử dụng các bounding box B để phát hiện vật Do đó nó sẽtạo ra các bounding box SxSxB cho một ảnh đầu vào, và các bounding box được tạo ra
bao phủ tất cả ảnh đầu vào Nếu trọng tâm của đối tượng rơi vào một số grid, các bounding box trong grid sẽ dự đoán đối tượng Đề giảm thiểu sự dư thừa các bounding box trong quá trình dự đoán, người ta đề xuất một ngưỡng gọi là ngưỡng tin cậy Nếu
điểm tin cậy của bounding box cao hơn ngưỡng tin cậy đề xuất, hộp giới hạn được giữlại, ngược lại thì sẽ bị xóa Điểm tin cậy của bounding box có thể nhận được như sau:
Gj = P.y = lourt
Trang 24Trong đó:
- Œ là điểm tin cậy của j bounding box trong lưới i Pi, ;chi đơn thuần là hàm
của đối tượng Nếu đối tượng trong box j của lưới i thì Pi, j= 1, ngược lại thì bằng 0.
IOU là tỉ lệ prediction box trên ground truth box, IOU càng lớn thi prediction box càng
gần ground truth box.
- Ham mat mát của YOLOv4-tiny cũng với hàm mắt mát của YOLOv4, gồm
có 03 phần Nó có thể được thé hiện như sau:
Loss = loss; + loss2 + loss3
Trang 25Chương IV: TRÌNH BAY CÁC PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MAT
2.1 Tổng quan và các khái niệm liên quan đến nhận dạng khuôn mặt
trong hệ thống dựa vào thông tin khuôn mặt.
2.1.3 Những thách thức trong bài toán nhận dạng khuôn mặt
Những biến đổi quá lớn giữa các ảnh khuôn mặt khác nhau từ một người cầnnhận dạng gồm trạng thái cảm xúc trên khuôn mặt, ánh sáng, và các thay đổi vị trícủa khuôn Giới hạn về số ảnh cần thiết cho việc nhận dạng, tập học không thé baoquát được tất cả các biến đổi có thé có trên khuôn mặt của một người cần nhận
dạng trong thế giới thực.
2.2 Tổng quan về các ứng dụng tương tác người máy liên quan tới khuôn mặt
Tir những năm 1990 trở lại đây, chúng ta đã chứng kiến sự phát triển như
vũ bão của các ngành công nghiệp, đặc biệc là ngành công nghiệp chế tạo điện tử.Tuy
nhiên hiện nay các thiết bị điện tử cao cấp như máy ảnh số, camera kĩ thuậtsố,vànhiềusản phẩm khác dường như chỉ phù hợp cho các phòng thí nghiệm, các công ty sản
xuất kinh doanh, thương mại, tài chính, ngân hang, Trong thời gian không xa từ 3 đến 10 năm nữa, chi phí cho các thiết bị này sẽ giảm đáng ké Khi đó sẽ mở ra nhiều
hướng nghiên cứu về thị giác máy tính, đồng thời sẽ có nhiều ứng dụng trong giao
tiếp giữa người với máy tính mà trong đó hệ thống nhận dạng mặt người đóng một vaitrò không nhỏ Dưới đây chúng tôi liệt kê một số ứng dụng
Các ứng dụng chuyên biệt trong ngành hàng không
Ứng dụng sử dụng trong nhà thông minh
Trang 262.3 Các công trình nghiên cứu về phương pháp nhận dạng và kiểm tra chất
lượng cho một hệ thống nhận dạng khuôn mặt
Bài toán nhận dạng khuôn mặt cần xác định hai vấn đề chính: dùng thông tin nào để nhận dang: chân mày, cặp mắt, mũi, môi, tai, hay kết hợp các thông tin trên Và dùng phương pháp nào dé huấn luyện cho máy nhận dang dùng
nguồn thông tin đó Nhận dạng khuôn mặt trên máy tính đã trai qua nhiều bước thăng tram với các kết quả như sau:
> Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets,
ohn Weng (1998)[1] sử dụng phương pháp PCA (phân tích thành phần
chính) kết hop LDA (phân tích độc lập tuyến tính) Bước 1, chiếu ảnh
khuôn mặt từ không gian ảnh thô sang không gian các không gian khuôn
mặt (Mỗi lớp khuôn mặt được nhận dạng sẽ được mô hình hóa bằng một
không gian khuôn mặt) dùng PCA Bước 2, sử dụng phương pháp LDA
để tạo bộ phân loại tuyến tính có khả năng phân lớp các lớp khuôn mặt.
> Emmanuel Viennet va Francoise Fogelman Soulie (1998),[3] sử dung
phương pháp mang neural nhân tao dé xử lý và nhận dạng khuôn mặt
> Antonio J.Colmenarez và Thomas S.Huang (1998),[4] sử dụng kỹ thuật
học thị giác và phù hợp mẫu 2-D Ông quan niệm bài toán dò tìm khuôn
mặt là thao tác phân loại khuôn mặt trong đó khuôn mặt thuộc về một lớp và các đối tượng khác thuộc về lớp còn lại bằng cách ước lượng mô
hình xác suất cho mỗi lớp, và việc dò tìm sử dụng luật quyết định