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

Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)

53 1 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

Thông tin cơ bản

Tiêu đề 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
Tác giả Lương Văn Song
Người hướng dẫn TS. Nguyễn Tấn Trần Minh Khang
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại luận văn
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 53
Dung lượng 23,49 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 2

1.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 3

4.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 4

6.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 5

Chươ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 6

nghiệ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 7

lượ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 9

Chươ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 10

Hà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 11

và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 12

chí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 13

Kernel 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 14

2x2Max-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 15

2.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 16

Hì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 17

YOLOv2 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 18

Hì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 20

2.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 21

o 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 22

3 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 23

Trong đó: 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 24

Trong đó:

- Œ 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 25

Chươ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 26

2.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

Ngày đăng: 24/11/2024, 14:33

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Perceptron - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hình 2.1 Perceptron (Trang 9)
Hình 2.3 Ví dụ về một convolutional Neural Network - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hình 2.3 Ví dụ về một convolutional Neural Network (Trang 12)
Hình 2.4 Các hoạt động của Kernel - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hình 2.4 Các hoạt động của Kernel (Trang 13)
Hình 2.5 Ví dụ về max pooling 2.1.7. Lan truyền ngược (Backpropagation) - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hình 2.5 Ví dụ về max pooling 2.1.7. Lan truyền ngược (Backpropagation) (Trang 14)
Hình 2.6 Các bước lan truyền ngược - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hình 2.6 Các bước lan truyền ngược (Trang 14)
Hình 2.7 Các hoạt động cua YOLO - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hình 2.7 Các hoạt động cua YOLO (Trang 15)
Hì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 - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hì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 (Trang 16)
Hình 2.9. Thời gian và độ chính xác của YOLOv3 - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hình 2.9. Thời gian và độ chính xác của YOLOv3 (Trang 18)
Hình 2.10. Kiến trúc Darknet-53 Darknet-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 skip connection, residual network như của ResNet - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hình 2.10. Kiến trúc Darknet-53 Darknet-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 skip connection, residual network như của ResNet (Trang 19)
Hình 2.12. Độ chính xác và tốc độ xử lý của YOLOv4 Hình 2.12 là bảng so sánh tốc độ xử lý và độ chính xác của YOLOv4 so với các 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 - Luận văn thạc sĩ Khoa học máy tính: 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 (Realtime face-based human detection on drone live streaming)
Hình 2.12. Độ chính xác và tốc độ xử lý của YOLOv4 Hình 2.12 là bảng so sánh tốc độ xử lý và độ chính xác của YOLOv4 so với các 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 (Trang 21)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN