Để xây dựng hệ thống tìm kiếm, chúng tôi tién hành tìm hiểu các nhóm thuật toán như nhận diện vật thể, bộ nhận điện màu sắc, phát hiện và so khớp khuôn mặt và so khớp ảnh mẫu.. Để vượt q
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TINH
TRAN THI PHUONG THAO NGUYEN TRAN TRUNG
KHOA LUAN TOT NGHIEP
UNG DUNG NHAN DIEN DOI TUONG DE TIM KIEMDOI TƯỢNG TRONG DU LIEU CAMERA GIÁM SAT
CU NHÂN NGANH KHOA HOC MAY TÍNH
TP HO CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KHOA HOC MAY TÍNH
TRAN THI PHUONG THAO NGUYEN TRAN TRUNG
KHOA LUAN TOT NGHIEP
UNG DUNG NHAN DIEN DOI TƯỢNG DE TÌM KIEMDOI TƯỢNG TRONG DU LIEU CAMERA GIÁM SAT
CỬ NHÂN NGANH KHOA HỌC MAY TÍNH
GIẢNG VIÊN HƯỚNG DAN
TS NGUYEN THANH BÌNH
TP HO CHÍ MINH, 2021
Trang 3DANH 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ố
của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1 PGS.TS Lê Hoàng Thái — Chủ tịch.
2 ThS Cáp Pham Dinh Thăng — Thư ký.
3 TS Nguyễn Vinh Tiệp — Ủy viên.
Trang 4LOI CAM ON
Chúng tôi chân thành cảm ơn thay Nguyễn Thanh Bình, người đã hướng dẫn xuyên suốt trong quá trình thực hiện khóa luận.Thây không ngại bỏ thời gian và
nhiệt tình hướng dẫn, truyền đạt lại những kinh nghiệm quý giá cho chúng tôi.
Chúng tôi gửi lời cảm ơn đến thầy Nguyễn Thanh Sơn, có vấn học tập của lớp Thay đã quan tâm và hỗ trợ chúng tôi trong quá trình thực hiện khóa luận.
Chúng tôi gửi lời cảm ơn đến anh chị lớp KHTN2016 và KHTN2017 đã hỗ trợ chúng tôi trong những bước đầu thực hiện khóa luận.
Chúng tôi cảm ơn các bạn lớp KHTN2018, những người bạn đã đồng hành
cùng chúng tôi trong quãng thời gian dài.
Chúng tôi xin chân thành cảm ơn.
Trang 5Mục lục
[Tóm tắt nội dung xii
1_ Tổng quan| 1
Mưa eee ee 1
111 Tongquan| 2.0.00 cee ee 1
` Bee eee eee eee 4
[[2_ Thách thức, mục tiêu và phạm vi| 5
121 Thách thức - 5
MP Ga N j ` — Ẵ- 5 [23 fEBñamvi SO @ 6
I3 Đónggóp| ee 6 2 Cơ sở lý thuyết 9 E.1 Các mô hình máy học liên quan| - 9
2.2 Nhận diện vật thể| 10
{2.2.1 Nhóm thuật toán nhận diện vật thể YOLO 5]ldl| 10
2.2.2 EfficientDet[lö]l 22
[2.3 Phat hiện khuôn mat và xác thực khuôn mặt| 25
E3.1 Phát hiện khuôn mặt| 25
2.3.1.1 Haar-Cascade Classifier [18]| 26
2.3.1.2 HoG Face Detector [19] See 28
Trang 62.3.1 NN 28
23.14 ThaFacej20Ï| - 29
2.32 Xác thực khuônmậạft_ - 30
2.3.2.1 A FaceNet và Triplet loss 21] ¬ eee 30 2.3.2.2 ArcFacel22] - 31
1 TemplaeMathig29] - 33
2.4.0.1 Naive Template Matchng| - 33
2.4.0.2 Image correlation matching) 34
2.4.0 ficenl 34
2.5 Bộ nhận diện màu sắc với Kmeansl - 35
2.5.1 Thuật toán K-means [14||Ï - 35
E-5.2 Sử dụng K-means để nhận diện màu sắc trong anh] 35
36 1 Tổng quan về phương pháp| 36
E.2_ Các chức năng của hệ thống cho van dé tìm kiếm| 37
3.2.1 Trích xuất thông tin đối tượng| 38
3.2.1.1 Nhận diện vật thểÌ 38
3.2.1.2 Nhận diện màu sắc cho vật thể ¬ 38 3.2.1.3 Nhận diện và tim kiếm khuôn mặt| 38
3.214 TemplateMatchng| - 39
(3.22 Tim kiếm đối tượng| - 39
3 Phương pháp xây đựng tập đữ liện| - 39
3.3.1 Thu thập và tin xử lý| 40
8.3.2 Thách thức của bộ đữ liệu| 45
3.33 Đặtchỉisốmụctiêu| - 46
E.3.4 Các chỉ số đánh giá mô hình phát hiện đối tượng| 46
B.4 Huấn luyện các mô hình phát hiện đối tượng| 48
Trang 73.41 Lựa chọncácmôhinh 48
4 Thực nghiệm 50 4.1 TàiNguyÊn| eee 50 4.2 Kết quả thựcnghiệm| 51
4.2.1 Huấn luyện môhình| 51
4.2.2 Kết quả đánh giá môhình| 53
4.2.3 Kết quả mô hình nhận diện màu sắc bằng kmeans| 56
424 Ketluan) 2 0.00000 xo 57 5 Ung dung minh hoa 59 51 Kinuúc| “Z7 6": “Àà 59
5.2 Môitrường| ee ee 59 5.3 Giaodién) 2 2 eee 59 5.3.1 Tìm kiếm đối tượng mới mau sắc 60 5.3.2 Tìm kiểm đổi tượng với ảnh mẫu 63 5.3.3 Tìm kiếm khuôn mặt| - 65
67
6.1 Kết quả đạtđược| Ặ Ặ ch 67
6.2 Hướng pháttriển ẶẶẶ Ặ QẶ So 68
Bibliography 69
Trang 8Danh sach hinh ve
1.1 Tổng quan hệ thống camera giám sát| 2
12 The essential of camera surveillance} 3
Áí đa 11
ién trúc mạ ES Thiện ae 13
¬— 15
2.4_ Cách tính bounding box trong YOLOv2l 17
2.5 Kếtcủa YOLOv2 trên tập VOC-2007 so với các phương pháp khác| 18
26 Kiến trúc mang Darknet-53| 192.7 So sánh YOLOv4 với các kiến trúc mạng khác trên tập MS COCO
2.8 So sánh EfficientDet với các kiên trúc mạng khác trên tập MS COCO
2.9 Cách thiết kế FeatureNetworkl - 242.10 Kiến trúc mạng EfficientDetl 252.11 Các thách thức mà bài toán Face Detection đối mặt phải 26
2.12 So sánh độ hiệu quả giữa các đặc trưng trong Cascade of Classifier} 27
2.13 Kiến trúc mang CNN-Cascade| 292.14 Kiến trúc mạng TinaFacel So 30
2.15 So sánh Softmax loss và ArcFaceLossl 32
3.1 Hệ thống tìm kiếm đối tượng) 373.2 Một số hình ảnh lay từ Dataset Viral 413.3 Một số ví dụ về hình ảnh đã được gan nhán 433.4 Thống kê tập dữ liệu CameraVN| 44
Trang 93.5 Một số hình ảnh phóng to từ tập dữ liệu để quan sát vị trí các
bounding box| Ặ.Ặ Q Q Q HQ HQ HH 45
3.6 Các chỉ số hiệu suất được sử dụng để đánh giá mô hình YOLOv4,
¬ ee 47
3.7 Các chỉ số hiệu suất được sử dung để đánh giá mô hình YOLOv4,
Le 47
4.1 Huấn luyện mô hình YOLOv4|l - 52
4.2 Huan luyện mô hình EfficientDet| 52
4.3 Anh được nhận diện từ EfficientDet va YOLOv4| 54
4.4 Anh được nhận diện từ EfficientDet và YOLOv4| 55
4.5 Ảnh được nhận diện từ EfficientDet và YOLOv4|l 56
4.6 Kết quả thực nghiệm nhận điện mau sắc bằng k-means 56 4.7 Kết quả thực nghiệm nhận điện màu sắc bang k-means 57 5.1 Giao diện ứng dụng| Ặ.Ặ Q Q Q Q Q S Q en 60 5.2 _ Thao tác tìm kiêm đôi tượng| - 61
5.3 Thao tác tìm kiếm đổi tượng| 61
5.4 Thao tác tìm kiếm đối tượng| - 62
5.5 Thao tác tìm kiêm đổi tượng| ằ 62 5.6 Thao tác tìm kiếm đối tượng| - 63
5.7 Thao tác tìm kiếm đối tượng bang ảnh mẫu 64 5.8 Thao tác tìm kiếm đôi tượng bằng ảnh mẫu 64 5.9 Thao tác tìm kiếm đối tượng dựa trên khuôn mặt 65
5.10 Thao tác tìm kiếm đối tượng dựa trên khuôn mặt 66
Trang 11Danh mục từ viết tắt
loU Intersection Over Union
mAP Mean Average Precision
CNN Convolutional Neural Network BiFPN Bi-directional Feature Pyramid Network FPS Frame Per Second
xi
Trang 12TOM TAT KHOA LUAN
Với nhu cầu về van dé an ninh ngày càng được nâng cao Ngay TP HCM, số
lượng camera giám trên các con đường được tăng cường lên đến 762 camerdl}
Camera giám sát thường hướng đến các hệ thống thời gian thực Tuy nhiên, vẫn
có tình trạng chúng ta không xử lý kịp thời mặc dù có hệ thống camera giám sát
thời gian thực hỗ trợ và phải truy vét lại trong kho dit liệu video camera giám sát
lưu trữ|?| Với nguyên nhân đó, chúng tôi tiến hành nghiên cứu và xây dung một
hệ thống hỗ trợ truy vết, tìm kiếm đối tượng trên dữ liệu camera giám sát
Để xây dựng hệ thống tìm kiếm, chúng tôi tién hành tìm hiểu các nhóm thuật
toán như nhận diện vật thể, bộ nhận điện màu sắc, phát hiện và so khớp khuôn
mặt và so khớp ảnh mẫu Mô hình nhận diện đối tượng sẽ đưa ra các thông tin chung về vật thể như lớp đối tượng, hộp giới hạn( bouding box), độ tự tin Bộ
nhận diện màu sắc sẽ trích xuất thông tin màu sắc cho đối tượng Mô hình pháthiện và so khớp khuôn mặt sẽ trích xuất đặc trưng khuôn mặt nếu như đối tượng
là người Bài toán Template Matching sẽ phục vụ cho việc tìm kiếm đối tượng
bằng ảnh mẫu
Các kết quả mà chúng tôi đạt được Thứ nhất, chúng tôi đã thiết kế và xâydựng được một quy trình tìm kiếm của hệ thống Thứ hai, chúng tôi phát triển
quy trình thành một ứng dụng có giao diện Thứ ba, chúng tôi đã thu thập và
đánh nhãn bộ tập dữ liệu dành cho nhận diện vật thể đối với dữ liệu camera giám
sát Thứ tư, chúng tôi thực hiện khảo sát các thuật toán nhận diện đối tượng phù
hợp đối với bài toán đang hướng đến và huấn luyện mô hình với dữ liệu thu thập
Trang 13giám sát hiện nay thì có hai module chính là xử lý thời gian thực và xử lý offline.
Trong xử lý thời gian thực thì có các hệ thống giám sát truyền thống mà dữ liệughi được từ các camera được chuyển trực tiếp đến màn hình của các thiết bị theo
đõi như màn hình máy tính, điện thoại, và được quan sát bởi bảo vệ hay người
giám sát Và các hệ thống giám sát thông minh, dữ liệu ghi được từ các camera sẽđược đưa qua các bộ xử lý thông minh nhằm đưa ra các thông tin, phát hiện vàcảnh báo các sự kiện cho người dùng như theo dõi đối tượng, đếm số lượng hàngđợi, phát hiện khói cảnh báo cháy nổ, Khi mà các hệ thống xử lý thời gian thựckhông thể đáp ứng được nhu cầu quan sát của người dùng hay không thể rúttrích, phát hiện và xử lý được các sự kiện mà người dùng cần thì việc sử dụng các
hệ thống xử lý offline là cần thiết (Hình[1.2) Đối với các hệ thống xử lý offline thì
cũng được chia ra làm hai hướng tiếp cận chính đó là hệ thống truyền thống: khi
Trang 14Chương 1 Tổng quan 2
cần tìm kiếm thông tin hay truy vết đối tượng, người giám sát hay người dùng sẽ
xem lại các video đã được lưu trữ từ dữ liệu thu được từ các camera giám sát Và
các hệ thống giám sát thông minh, thì có các các hệ thống mà việc tìm kiếm hay
trích xuất thông tin có thể được thực hiện bằng việc tích hợp các mô hình trí tuệ
nhân tạo có thể phân tích và tìm kiếm trực tiếp trên dữ liệu video đã được lưutrữ hoặc hướng thứ hai cho các hệ thống giám sát lưu trữ video, phân tích và xây
dựng metadata khi đó việc tìm kiếm được diễn ra trên meta-data đã được xử lý
Trang 15Chương 1 Tổng quan 3
Camera an ninh - "mắt thần" phòng chống tội phạm
Lo} 27/02/2021 |08.00 FEES EES: gy Hãy
xe > THONG
cant rn CHÍHUY
Hệ thống camera giám sát đã giúp truy tìm bé trai mat tích ở Bắc Ninh
26/08/2020 11:18 SA Xem co cho A A Occbaivét HE Tedd đầnnươg WH Gii Iban
BeEboW
(Mic.gov.vn) - Đại diện Sở TT&TT Bắc Ninh cho biết hệ thống camera giám sát của tỉnh đã có dong góp quan trọng vào
việc rút ngắn thời gian truy tìm và giải cứu bé trai bị bắt cóc tại Công viên Nguyễn Van Cừ, TP Bắc Ninh (tỉnh Bắc Ninh),
Hỗ trợ phá án nhanh vụ bắt cóc trẻ em.
Tối ngày 22/8, Công an tỉnh Bắc Ninh được sự phối hợp giúp đỡ của Phòng Trọng án, Cục Cảnh sát hình sự, Bộ Công an và Công an tỉnh Tuyên Quang, đã phát hiện, bắt giữ đối tượng và giải cứu thành công bé trai 2,5 tuổi Nguyễn Cao Gia Bảo bị bắt cóc tại Công viên Nguyễn Văn Cừ T.P Bắc Ninh.
Trong thông tin phản ánh hành trình hơn 24 giờ nỗ lực tìm kiếm, giải cứu bé trai bị bắt cóc ở Bắc Ninh, các phương tiện truyền thông đã đề cập đến sự tham gia hỗ trợ của hệ thống camera giám sát giúp truy dấu đối
tượng có hành vi bắt cóc bé trai
Hiệu quả mô hình "Camera an ninh giám sát trật ty"
BHG - Phường Nguyễn Trãi là một trong những phường dau tiên của TP Hà Giang triển khai mô
hình “Camera an ninh giám sát trật tự (ANGSTT)" bằng hình thức xã hội hóa Thông qua mô hình đã góp phản tích cực trong công tác phòng, chống tội phạm, đảm bảo an ninh trật tự (ANTT) trên địa
bản Sau 1 năm triển khai thử nghiệm, mô hình được Công an tỉnh đánh giá có hiệu quả cao.
Trang 16Chương 1 Tổng quan 4
Công việc tìm kiếm đối tượng trong các video là một công việc rất tốn thời
gian và tài nguyên con người Người giám sát tìm kiếm cần phải có sự kiên nhẫn
và tập trung trong thời gian dài Để vượt qua một số hạn chế của con người,chúng tôi chọn hướng tiếp cận tìm kiếm offline, rút trích và xây dựng metadata
rồi tìm kiếm tên metadata tiến tới đề xuất một hệ thống tìm kiếm đối tượng trên
video dựa trên bài toán nhận diện vật thể để hỗ trợ chúng ta trong việc tìm kiếm
và đề xuất các đối tượng mong muốn trong video camera giám sát So với việc tìm
kiếm trực tiếp trên video, mỗi lần tìm kiếm là một lần lặp đi lặp lại các bước trích
xuất, xử lý dữ liệu và tìm kiếm thì phương pháp này chỉ việc trích xuất thông tin
một lần duy nhất sau đó lưu trữ thông tin đã trích xuất hỗ trợ cho việc tìm kiếmbất cứ lúc nào, nhiều lần một cách nhanh chóng
1.1.2 Giới thiệu bài toán
Bài toán đặt ra là tạo ra một ứng dụng hỗ trợ người trong việc tìm kiếm các đối
tượng với mô tả (màu sắc, ảnh khuôn mặt, ảnh mẫu) mong muốn trong dữ liệu
camera giám sát Đầu vào là các mô tả về đối tượng Các mô tả này đã được cốđịnh Đầu ra là các khung hình(frame) chứa đối tượng mong muốn
Input:
e Dữ liệu Camera giám sát
® Mô tả về đối tượng:
— Mô tả chung: lớp đối tượng(người, phương tiện)
Trang 17® Hiện tại các bộ dữ liệu trên camera giám sát thường hạn chế và chưa được
đánh nhãn Do đó chúng tôi phải tìm kiếm các bộ dữ liệu camera giám sát
phù hợp với bài toán và thực hiện đánh nhãn.
* Các phương pháp nhận diện vật thể hiện nay [1| , [2] đòi hỏi tài nguyên máy
tính lớn nên sẽ gây khó khăn cho quá trình huấn luyện
¢ Xây dựng một chương trình minh họa tích hợp nhiều tính năng như tìm
kiếm vật thể, tìm kiếm khuôn mặt và so khớp ảnh mẫu cũng là một quá
trình khó khăn.
1.2.2 Mục tiêu
° Xây dựng một bộ dữ liệu nhận diện vật thể cho dữ liệu camera giám sát.
© Tìm hiểu các thuật toán nhận diện vật thể Huấn luyện, đánh giá và so sánh
các thuật toán dựa vào những độ đo đã được công nhận.
® Tìm hiểu và thử nghiệm thuật toán phát hiện va so khớp khuôn mặt, nhận
điện màu sắc, Template Matching để phục vụ cho việc tìm kiếm
© Thiết kế và xây dựng một quy trình xử lý phục vụ việc tìm kiếm đối tượng
Trang 18Chương 1 Tổng quan 6
s Xây dựng chương trình cho phép người dùng tích chọn vật thể và mô tả
(màu sắc) và các chức năng khác nhau như tìm kiếm khuôn mặt hay so
khớp ảnh mẫu.
1.2.3 Pham vi
Chia nhỏ bài toán của mình thành các bài toán con, sau đó lựa chọn các mô hình
thích hợp để giải từng bài toán, cuối cùng kết hợp các bài toán con để xây dựngmột hệ thống hỗ trợ tìm kiếm đối tượng:
frame ảnh trên 1 giây thường khá lớn: 24 hoặc 30 hoặc 60 Các lớp đối tượng
được giới hạn bao gồm: Người, xe máy, xe đạp, xe buýt, xe tải, xe hơi
Tìm hiểu và thử nghiệm kết hợp với các thuật toán phát hiện và so khớp
khuôn mặt, Template Matching, nhận diện màu sắc Thêm tính năng tìmkiếm khuôn mặt vào ứng dụng, tìm kiếm đối tượng với màu sắc, tìm kiếmkiếm đối tượng bằng ảnh mẫu vào ứng dụng
Xây dựng một chương trình minh họa tích hợp nhiều tính năng như tìmkiếm vật thể, tìm kiếm khuôn mặt và so khớp ảnh mẫu
Đóng góp
Tìm hiểu các thuật toán nhận diện vật thể thời gian thực gần đây Yolov4,
EfficientDet
Trang 19Chương 1 Tổng quan 7
e Xây dựng bộ dữ liệu phục vụ cho bài toán nhận diện đối tượng trên camera
giám sát
¢ Huan luyện và đánh giá so sánh thuật toán Yolov4, EfficientDet trên tập dữ
liệu thu thập được
© Tìm hiểu các thuật toán áp dung cho việc tìm kiếm đối tượng của chương
trình như: phát hiện và so khớp khuôn mặt, nhận dạng mẫu, nhận diện màu
sắc
© Thiết kế và xây dựng một quy trình xử lý phục vụ việc tìm kiếm đối tượng
° Xây dựng chương trình desktop hỗ trợ việc tìm kiếm vật thể cho phép người
dùng tìm kiếm theo khuôn mặt, so khớp ảnh mẫu hay màu sắc đối tượng
1.4 Cau trúc khóa luận
Phần còn lại của khóa luận được chúng tôi tổ chức như sau:
e Chương 2: Trình bày các cơ sở lý thuyết liên quan của các thuật toán nhận
điện vật thể hiện nay như Yolov4, EfficientDet, một số thuật toán phổ biến
của bài toán phát hiện và so khớp khuôn mặt và thuật toán K-means trong
bài toán nhận điện màu sắc trong ảnh
¢ Chương 3: Trình bày chỉ tiết về chi tiết các phương pháp được áp dụng
* Chương 4: Trình bày về kết quả thực nghiệm, bao gồm đánh giá độ chính
xác, tốc độ đào tạo của các mô hình phát hiện đối tượng, thực nghiệm về sự
hiệu quả của các mô hình Yolov4, EfficientDet đối với bài toán phát hiện đối
tượng tên tập dữ liệu thu thập và đánh nhãn.
Chương 5: Xây dựng ứng dụng minh họa tìm kiếm đối tượng dựa trên bàitoán nhận diện đối tượng, cho phép người dùng tích chọn vật thể và mô tả (
Trang 21Chương 2
Cơ sở lý thuyết
2.1 Các mô hình may học liên quan
Để giải quyết bài toán, chúng tôi phân tách bài toán thành nhiều bài toán con Đốivới mỗi bài toán con chúng tôi sử dụng các thuật toán phù hợp để giải quyết Đầutiên chúng tôi đi vào bài toán nhận diện vật thể, vì chúng tôi đã chia bài toán củamình thành nhiều bài toán con nên việc xử lý có thể tốn rất nhiều thời gian nên
ở bài toán nhận diện vật thể chúng tôi hướng đến nhóm thuật toán có thời gian
trích xuất nhanh như YOLOv4 và EfficientDet và có độ chính xác cao để đảm bảo
các bài toán con tiếp theo không bị ảnh hưởng quá nhiều do sự sai sót trong việc
dự đoán của mô hình nhận diện trước đó Tiếp đó chúng tôi quan tâm đến một
số mô hình phổ biến dé áp dung cho vấn dé tìm kiếm đối tượng của chúng tôinhư: nhận điện màu sắc, nhận diện khuôn mặt và Template Matching
Chúng tôi thử nghiệm thuật toán K-means cho bài toán con nhận điện màu
sắc của mình, sử dụng K-means để rút trích thông tin màu sắc của đối tượng Đối
với bài toán nhận điện khuôn mặt, chúng tôi hướng đến việc tìm hiểu một số môhình phát hiện khuôn mặt đã huấn luyện sẵn như Haar - Cascade classifier, HoG
Face Detector, Cascade CNN hay TinaFace.
Tiếp theo, chúng tôi sử dung các mô hình xác thực khuôn mặt dé trích xuấtthông tin đặc trưng về khuôn mặt và phục vụ cho quá trình tìm kiếm Cuối cùng,
Trang 22Chương 2 Cơ sở lý thuyết 10
chúng tôi hướng đến việc thử nghiệm bài toán Template Matching trong quá trình
tìm kiếm đối tượng mong muốn bằng ảnh mẫu
2.2 Nhận diện vật thé
2.2.1 Nhóm thuật toán nhận diện vật thể YOLO [3] [4]
Kể từ năm 2014, cùng với sự phát triển Deep Learning thì YOLO là bộ stage detector đầu tiên ứng dung Deep Learning YOLO xem là bộ nhận diện cóthời gian thực hiện cực kỳ nhanh với 155 fps trong khi đạt được gấp đôi mAP
single-đối với các bộ nhận diện thời gian thực khác Đối với các hệ thống nhận diện vật
thể trước đó, việc nhận này sẽ được thực hiện nhận diện các hệ thống này sẽ sử
dụng một bộ phân lớp cho đối tượng đó và đánh giá nó trên nhiều vị trí và tỉ lệ
khác nhau trên một ảnh thử nghiệm Ví dụ như DPM l6] , sử dụng một cửa sổ
trượt (sliding window) để bộ phân lớp có thể phân lớp các vị trí cách đều nhau
trên toàn bộ hình ảnh Gần đây hơn, có các phương pháp như R-CNN [7] Đối với
phương pháp này, nó sẽ sử dụng region proposal để có thể đưa ra các vị trí cókhả năng chứa vật thể trong đó và sau đó chạy bộ nhận diện vật thể trên các vịtrị đã được dé xuất này Sau quá trình phân lớp là quá trình hậu xử lý Quá trình
này sẽ loại bỏ bớt các dự đoán trùng lắp và đánh giá lại các dự đoán Đây là một
quy trình phức tập nên vẫn còn chậm và khó trong việc tối ưu hóa hệ thống vìmỗi quá trình phải được tối ưu một cách riêng biệt
Đối với YOLO thì bài toán nhận diện vật thể sẽ được xem như bài toán hồi quy
Hệ thống nhận diện của YOLO khá đơn giản Nó bao gồm một mạng nơ-ron tích
chập dự đoán đồng thời cả vị trí và độ chính xác của đối tượng (hình 2.1) YOLO
được huấn luyện trên toàn bộ hình ảnh và được tối ưu hóa hiệu năng nhận diện
một cách trực tiếp Nhờ sự thống nhất của mô hình nên hệ thống đã có những lợi
ích vượt các các phương pháp truyền thống khác
Trang 23Chương 2 Cơ sở lý thuyết 11
HÌNH 2.1: Mô hình phát hiện vật thể YOLO
Đầu tiên, Tốc độ xử lý của YOLO cực kỳ nhanh Việc mô hình hóa bài toánnhận diện thành bài toán hồi quy khiến quy trình xử lý không trở nên quá phứctạp giống như phương pháp region proposal của R-CNN YOLO có thể thực thi
45 hình trong một giây trên GPU tian X và lên đến 155 fps đối với phiên bản tối
ưu hóa cho tốc độ Đối với tốc độ này thì YOLO đã có thể thực hiện các tác vụ thờigian thực Cùng với đó, YOLO có độ chính xác gần đôi so với các hệ thống thực
thi thời gian thực khác.
Thứ hai, mô hình YOLO dự đoán một cách tổng quát hơn So với phương pháp
sử dụng cửa sổ trượt hay region-proposal thì YOLO được huấn luyện với toàn bộ
hình ảnh trong suốt quá trình huấn luyện vì vậy nó có thể hiểu được các thông
tin ngầm định như ngữ cảnh của các vật thể xuất hiện trong hình Một phương
pháp có độ chính xác cao là Fast R-CNN thì dự đoán sai về nền như là vật thể vìphương pháp này không thấy được ngữ cảnh của cả một bức ảnh Đối với YOLOthì tỷ lệ dự đoán nhầm lẫn nền của ảnh là đối tượng thì giảm một nửa so với Fast
R-CNN.
Thứ ba, YOLO hoc được cách sự tổng quát của các đối tượng Khi huấn luyện
trên các ảnh bình thường và thử nghiệm trên các ảnh nghệ thuật, YOLO vượt trội
hơn các phương pháp nhận diện khác như DPM và R-CNN Nhờ vậy, YOLO ít bị
giảm hiệu năng của mô hình khi xử lý trên các miền dit liệu khác cũng như đầuvào không mong muốn
+ Cách hoạt động:
Trang 24Chương 2 Cơ sở lý thuyết 12
Mơ hình sẽ chia ảnh đầu vào thành một tam lưới cĩ kích thước là S x S Nếu
trung tâm của đối tượng rơi vào một trong các ơ lưới thì ơ lưới đĩ sẽ chịu trách
nhiệm cho việc nhận diện đối tượng trong đĩ Mỗi ơ lưới sẽ phải dự đốn B hộp
chứa vật bounding box và kèm theo là một giá trị thể hiện độ chính xác (confident
score) Confident score sẽ phản ánh việc bounding box B cĩ chứa vật thể hay
khơng và nĩ được định nghĩa như sau: Pr(Ó/ect)TOLItruth Trong trường hợp 6
lưới khơng chứa vật thể thì confident score sẽ cĩ giá trị là 0.
Mỗi bounding box sẽ đưa ra dự đốn cho 5 giá trị: x, y, w, h và confident score.
Giá trị (x„y) cho biết tọa độ trung tâm của bounding box trong ơ lưới Giá trị (w,h)
là chiều đài và chiều rộng của bounding box Cuối cùng, Confident score là IOU
giữa bounding mà mơ hình dự đốn và bounding box thật sự chứa đối tượng
Thêm vào đĩ, mỗi ơ lưới cịn phải dự đốn C xác suất cĩ điều kiện Pr(Classi | Object).Day là xác suất của đối tượng được dự đốn thuộc về lớp thứ i Trong quá trình
thử nghiệm, xác suất điều kiện của lớp thứ ¡ khi xuất hiện đối tượng trong
bound-ing box sẽ được nhân với xác suất xuất hiện đối tượng Giá trị (1) này vừa thể hiện
được xác suất xuất hiện của class I và cả việc bounding box cĩ vừa với đối tượng
dự đốn hay khơng.
Pr(Class;|Object) * Pr(Object) * lo = Pr(Class;) * lo (2.1)
+ Thiết kế mạng:
Kiến trúc mạng được lấy cảm hứng từ GoogleNet cho bài tốn phân lớp
Kiến trúc mạng bao gồm 24 lớp convolutional layers và sau đĩ là 2 lớp fully
connected Tiếp theo, thay vì sử dụng inception module như GoogleNet thì mơ
hình đơn giản sử dụng 1x1 reduction layer và kèm theo 3x3 convolutional layers
giống như Í9|- Chi tiết kiến trúc mang (hình|2.2):
Đối với phiên bản fast YOLO thì số lớp convolutional và filler sẽ ít hơn cụ thể
là chỉ cĩ 9 lớp convolutional layers so với 24 lớp.
Trang 25Chương 2 Cơ sở lý thuyết 13
Conv Layer Cony Layer Cony Layers ‘Conv Layers Cony Layers Cony Layers Conn Layer Conn Layer
7x7 xb4e2 3x3x192 1x1 x128 1x1x256]yq IxIx51l2 1„; 3x3x1024 Maxpool Layer Maxpeol Layer 3x3x256 3x3x512 3x3x1024 3x3x1024
Trang 26Chương 2 Cơ sở lý thuyết 14
mô hình Để xử lý điều này, sử dụng thêm 2 tham số là coord and noobj Sai số
về tọa độ sẽ được đánh trọng số cao hơn coord = 5 cao hơn trọng số noobj = 0.5
được gán cho những sai số về confidence score
+ Hạn chế:
YOLO sử dụng các ràng buộc về không gian và mỗi ô lưới chỉ có thể dự đoán
2 bounding box và một lớp đối tượng duy nhất Do đó, các ràng buộc này sẽ giới
hạn số lượng các đối tượng ở gần nhau mà mô hình có thể dự đoán được Điều
này dẫn đến YOLO gặp khó khăn trong việc dự đoán các đối tượng nhỏ và các
đối tượng xuất hiện theo nhóm như đàn chim.
Thêm vào đó, trong quá trình huấn luyện thì hàm lỗi của YOLO đánh giá lỗi
về các bounding box có kích thước nhỏ và bounding box có kích thước lớn là nhưnhau Các lỗi nhỏ trên bounding box có kích thướng lớn thì có thể chấp nhậnđược Tuy nhiên lỗi nhỏ trên bounding box có kích thước nhỏ thì ảnh hưởng rấtlớn đến IOU Do đó vẫn đề chính mô hình vẫn đang còn gặp phải là định vị các
bounding box chính xác.
Để giải quyết các hạn chế còn tổn đọng trong YOLOv1, nhóm thuật toán đã
đề xuất ra phiên bản YOLOv2 vào năm 2016 Tại thời điểm công bố, YOLOv2 đạtđược state-of-the-art trên tập dữ liệu PASCAL-VOC va COCO [11] Với 67 FPS
và 76.8 mAP trên tập VOC-2007 40 FPS và 78.6 mAP trên tập COCO Những kết
quả này đã vượt trội hơn các phương pháp state-of-the-art trước đó như Faster
R-CNN, SSD trong khi tốc độ xử lý nhanh hon đáng kể Đối với phiên bản YOLOv2,
mục tiêu hướng đến là cải thiện tốc độ , có thể chạy được trên nhiều kích thước
ảnh khác nhau, có thể đánh đổi một cách dé dàng giữa tốc độ và độ chính xác của
mô hình Ngoài ra, nhóm tác giả còn dé xuất một phương pháp kết hợp giữa bài
toán object detection là classification Mô hình sử dụng phương pháp này được
gọi là YOLO9000 và được huấn luyện đồng thời trên tập dir liệu COCO và tập dữliệu ImageNet classification YOLO9000 có thể nhận diện được 9000 loại vật thể
khác nhau nhưng tất cả vẫn đều được xử lý trong thời gian thực (2.5).
Trang 27Chương 2 Cơ sở lý thuyết 15
HÌNH 2.3: YOLOv2 nhận điện được nhiều class khác nhau
Trong khi xu hướng xây dựng mô hình lúc là xây dựng các mạng lớn hơn và
sâu hon để đạt độ hiệu quả tốt hơn thì YOLOv2 lại có hướng tiếp cận ngược lại.Nhóm tác giả đơn giản hóa kiến trúc mạng để mô hình có thể học dé dàng hon.Nhóm tác giả cũng thực hiện nhiều ý tưởng để có thể cải thiện được hiệu suất
được tốt hơn so với phiên bản trước đó Các kỹ thuật như Batch Normalization,
Trang 28Chương 2 Cơ sở lý thuyết 16
Convolutional with Anchor Boxes
Bang cách thêm batch normalization vào tat cả các convolutional layers trong
YOLO thì kết quả đạt được là cải thiện 2% mAP Batch Normalization giúp chuẩnhóa cho mô hình Do đó, có thể bỏ đi các dropout từ mô hình những mô hình
không bị overfitting.
Tất cả các bộ nhận diện state-of-the-art lúc đó đều sử dụng pre-trained trên
tập dữ liệu ImageNet [12] Với kiến trúc mang Alexnet thì hầu hết các bộ nhận
điện sẽ xử lý với ảnh đầu vào nhỏ hơn 256x265 [13] O phién ban YOLO dau tién,
mô hình phân lớp được huấn luyện ở độ phân giải 224x224 và được tăng lên 448trong quá trình nhận diện Điều này có nghĩa là mô hình phải đồng thời học nhậnđiện các đối tượng và điều chỉnh ảnh đầu vào với độ phân giải khác Đối với
YOLOv2, nhóm tác giả tinh chỉnh mô hình phân lớp với độ phân giải 448x448
trong 10 epochs trên tập dữ liệu ImageNet Điều này giúp cho mô hình có thờigian để thích nghỉ với việc xử lý trên ảnh có độ phân giải cao tốt hơn Nhờ việc
tinh chỉnh độ phân giải của bộ phân lớp nên đã giúp mô hình tang được 4% mAP
so với phiên bản cũ.
Ở phiên bản trước, YOLO sử dụng fully-connected layers để dự đoán tọa độ
của các bounding box Qua phiên ban này, YOLOv2 đã loại bỏ các fully connected
layers và sử dụng anchor boxes để dự đoán các bounding boxes Việc sử dụng
bounding box có giảm nhẹ trong độ chính xác Khi không sử dụng anchor boxes,
mô hình đạt được 69.5 mAP và recall là 81% Với anchor boxes, mô hình đạt được
69.2 mAP với recall là 88% Mac dù mAP giảm, recall đã được tăng lên khá đáng
kể Recall tăng lên cho thấy mô hình có thể cải thiện được
Khi sử dụng anchor boxes, có 2 vấn dé mà nhóm tác giả đối mặt phải Đầu tiên
là các chiều của anchor box khởi tạo sẽ được chọn bằng tay Điều này làm cho mô
hình có thể điều chỉnh các bounding boxes thích hợp tuy nhiên nếu có thể chọncác khởi tạo chiều cho anchor box tốt hơn thì mô hình sẽ đễ dàng để học cách dựđoán các vật thể tốt hơn Do đó, thay vì lựa chọn bằng tay thì nhóm tác giả sử
Trang 29Chương 2 Cơ sở lý thuyết 17
dụng thuật toán k-means trên bounding boxes của tập dữ liệu huấn luyện để
có thể tìm ra những anchor boxes tốt cho mô hình
Khi sử dung anchor boxes thì phải đối mặt van dé thứ 2 đó là tính ổn địnhcủa mô hình đặc biệt là trong những vòng lặp đầu tiên Sự bất ổn định của môhình đến từ việc dự đoán (x,y) vị trí của bounding box YOLOv2 tiếp tục sử dunghướng tiếp cận của YOLOv1 để dự đoán bounding box tương đối so với các vị trí
các grid cell Mô hình sẽ dự đoán 5 bounding boxes và mỗi bounding boxes sẽ có
5 giá trị là ty, ty, tw, th, tạ Gọi phan bù của góc trái của bức ảnh là (cx,c) và chiều
dai và chiều rộng của bounding box trước đó là pw, p„ khi đó các giá trị bounding
box sẽ được tính như sau:
Với việc ràng buộc các dự đoán về tọa độ thì khiến mô hình trở nên ổn địnhhơn Điều này đã giúp cho mô hình được cải thiện 5% với việc sử dụng anchor
Trang 30Chương 2 Cơ sở lý thuyết 18
boxes.
Ngoài ra nhóm tác giả còn dé xuất một mô hình phân lớp mới cho YOLOv2
Đây là mô hình được xây dựng dựa trên có nghiên cứu tiên phong trong thiết kếkiến trúc mạng cũng như những kiến thức chung trong lĩnh vực Mô hình cuối
cùng được gọi là Darknet-19, gồm có 19 lớp convolutional và 5 lớp maxpooling
Darknet-19 chỉ yêu cầu 5.58 tỷ phép tính để xử lý một bức hình và đạt 72.9% top
1 độ chính xác và 91.2% top 5 độ chính xác.
Bởi những cải thiện đề cập ở trên, YOLOv2 và YOLO9000 đã đạt được the-art tại thời điểm công bộ trong bài toán nhận diện thời gian thực Nó đã vượt
state-of-qua nhiều hệ thống nhận điện khác trên các bộ dataset khac nhau(hình 2.5) Hơn
nữa, YOLOv2 và YOLO9000 có thể chạy trên đa dạng kích thước ảnh để cung cấpđược sự đánh đổi giữa tốc độ và độ chính xác
Frames Per Second
HINH 2.5: Kết của YOLOv2 trên tập VOC-2007 so với các phương
pháp khác
Trang 31Chương 2 Cơ sở lý thuyết 19
Phiên ban thứ 3 của YOLO được đưa ra vào năm 2018 Ở phiên bản này, nhóm
tác giả đã đưa ra nhiều chỉnh sửa nhỏ dé mô hình mới có thể chạy tốt hon Mô
hình mới có lớn hơn so với phiên bản trước đó nhưng đã có cải thiện về độ chính
xác Ở phiên bản này, tính nhanh chóng vẫn được đáp ứng Với ảnh ở độ phân
giải 320x320, YOLOv3 có thể dat được 22 ms với 28.2 mAP, độ chính xác bằng với
SSD tuy nhiên nhanh hơn gấp 3 lần Khi nhìn vào 5 IOU mAP thì YOLOv3 có kết
quả khá tốt, đạt 57.9 AP50 với 51ms trên GPU titan X So sánh với RetinaNet là
57.5 AP50 với 198ms, với độ chính xác tương đương nhưng RetinaNet nhanh hon
YOLOv3 gap 3 lần
Ở phiên bản này, nhóm tác giả đã đưa ra một mô hình mạng rút trích đặc trưng
mới được gọi là Darknet-53 (hình |2.6) Mô hình mới này cải thiện được độ chính
xác hơn nhiều so với Darknet-19 và cũng có độ hiệu quả cao hơn ResNet-101 và
RestNet-152.
Type Filters Size Output Convolutional 32 3x 3 256 x 256 Convolutional 64 3x3/2 128x128 Convolutional 32 1x1
8x| Convolutional 256 3x3
Residual 32 x 32
Convolutional 512 3x3/2 16x16 Convolutional 256 1x1
8x| Convolutional 512 3x3
Residual 16 x 168
Convolutional 1024 3x3/2 8x8 Convolutional 512 1x1
Trang 32Chương 2 Cơ sở lý thuyết 20
Phiên bản YOLOv4 đề xuất vào năm 2020 Kế thừa từ các thuật toán YOLO
phiên bản phía trước, nhóm tác giả đã sử dụng các tính năng mới như
Weighted-residual-connections, Cross mini-Batch Normalization, Self-adversarial-training
and Mish-activation, dropblock regularization và CioU loss Không chỉ vậy nhóm
tác giả còn có sự kết hợp giữa các này với tính năng nhau và đã đạt được kết quả
state-of-the-art tại thời điểm công bồ với 43.5% AP (65.7% AP50) trên tập dữ liệu
MS COCO với tốc độ xử lý thời gian thực là xấp xi 65 FPS trên GPU Tesla V100
MS COCO Object Detection
Trang 33Chương 2 Cơ sở lý thuyết 21
Đầu tiên là nhóm tác giả hướng đến phát triển một mô hình nhận diện vật thểmạnh mẽ và hiệu quả Điều đó giúp cho mọi người đều có thể huấn luyện một
mô hình nhận diện vật thể chính xác và nhanh chóng với GPU là 1080 TI hoặc
2080 TI.
Thứ hai là cho thay được ảnh hướng của phương pháp Bag of freebies va Bag
of special trong suốt quá trình huấn luyện mô hình
Thứ ba là chỉnh sửa các phương pháp state-of-the-art để có thể huấn luyện
hiệu quả và phù hợp cho GPU đơn lẻ.
Bag of freebies: Thông thường thì các bộ nhận diện vật sẽ được huấn luyệnoffline Do đó các nhà nghiên cứu luôn muốn tận dụng điều này và phát triểnthêm các phương pháp huấn luyện để có thể nhận được độ chính xác tốt hơnnhưng không phải tốn kém thêm chỉ phí Những phương pháp làm tăng độ chínhxác này làm thay đổi chiến lược huấn luyện hay có nghĩa là làm tăng lên chỉ phícho việc huấn luyện giống như là “ Bag of freebies” Bag of freebies có thể được
định nghĩa là việc tăng cường dữ liệu Mục đích của việc tăng cường dữ liệu là
tăng sự đa dang cho ảnh dầu vào, do đó mô hình nhận diện vật thể có thể đạt
được độ chính xác cao hơn cho những hình ảnh được thu thập trong nhiều điều
kiện môi trường khác nhau Ví dụ như photometric và geometric distortions là
2 phương pháp tăng cường dữ liệu phổ biến Đối với photometrics distortion,chúng ta cần phải điều chỉnh độ sáng, độ tương phản, độ nhiễu của hình ảnh
Đối với geometric distortion thì chúng ta thêm ngẫu nhiên các ảnh với tỉ lệ khácnhau hay cắt ảnh, xoay ảnh và lật ảnh
Ngoài các phương pháp tăng cường dữ liệu nói trên thi Bag of freebies con
giải quyết các van dé về semantic distribution trong tập dt liệu có xu hướng bịthiên vị Khi đối mặt với các vấn đề về semantic distribution bias, một van đề vô
cùng quan trong đó là mắt cân bằng dữ liệu giữa các lớp đồi tượng với nhau Van
dé này thường được giải quyết bằng hard negative example mining hoặc online
hard example mining trên two-stage object detector Tuy nhiên, phương pháp nay
Trang 34Chương 2 Cơ sở lý thuyết 22
không phù hợp với one-stage object detector.
Bag of Specials: Các mô đun bổ sung vào và các phương pháp hậu xử lý thìchỉ làm tăng một ít chi phí lúc sử dung mô hình để xử lý ảnh đầu vào vào cho rakết quả nhưng lại cải thiện đáng kể độ chính xác của bộ nhận diện vật thể Các
phương pháp này được nhóm tác giả gọi chung là Bag of specials Những mô
đun bổ sung này tăng cường cụ thể các thuộc tính cho mô Đối với hậu xử lý thì
là một phương pháp cho việc theo dõi kết quả dự đoán của mô hình
2.2.2 EfficientDet
Vài năm gần đây, đã có nhiều bước phát triển lớn trong việc tăng độ chính xáccho mô hình nhận diện vật thể Trong khi đó thì chi phí tính toán của các mô hình nhận diện vật thể state-of-the-art vẫn ngày càng tăng Ví dụ như AmoebaNetBased Nas-EPN detector, mô hình này đòi hỏi tới 167 triệu tham số và 3045 tỷ
FLOPS (gấp 30 lần so với RetinaNet) để dat state-of-the-art tại thời điểm ra mặt
Khi mà chỉ phí tính toán và kích thước của mô hình tăng lên thì việc ứng dụng các
mô hình này trên các bài toán thực tế như robotics hay xe tự hành gặp rất nhiềukhó khăn vì những bài toán này có ràng buộc về kích thước mô hình và độ trễ
Đối với EfficientDet, nhóm tác giả đã tìm hiểu và nghiên cứu các lựa chọn kiếntrúc mạng khác nhau va dé xuất ra những mau chốt về tối ưu hóa để có thể cảithiện được độ hiệu quả Đầu tiên, nhóm tác giả dé xuất một feature network mới
đó là Weighted bi-directional feature pyramid network Thứ hai, nhóm tác giả đề
xuất một phương pháp có thể mở rộng về resolution, chiều sâu và chiều rộng của
các backbone, feature network, box/class prediction network cùng một lúc Dựa
trên những cải tién này và các backbones tốt hơn thì nhóm tác giả đã đưa ra mộ
họ mô hình nhận diện vật thể mới được gọi là EfficientDet Tại thời điểm ra mắt,
EfficientDet đã đạt được state-of-the-art với 55.1 AP trên tap COCO test-dev với
77 triệu tham số và 410 tỷ FLOPS
Trang 35Chương 2 Cơ sở lý thuyết 23
mặt với 2 khó khăn chính:
¢ Khó khăn đầu tiên mà multiscale feature fusion Kể từ khi được giới thiệu,
FPN đã được sử dụng rộng rãi cho multi scale feature fusion Gan đây thì cócác nghiên cứu khác đã phát triển các kiến trúc khác nhau cho cross-scalefeature fusion Hầu hết các nghiên cứu trước đơn giản là cộng các input
Trang 36Chương 2 Cơ sở lý thuyết 24
features lại mà không có sự phân biệt nào cả Tuy nhiên, nhóm tác giả đã
chỉ ra được rằng, các input features với độ phân giải khác nhau thì sẽ ảnh
hướng đến fused output feature một cái khác nhau Dé chỉ ra được van dénày, nhóm tác giả dé xuất một kiến trúc feature fusion đơn giản nhưng mang
tính hiệu quả cao đó là Weight bi-directional feature pyramid network.
¢ Khả năng mở rộng của mô hình: Trong khi các nghiên cứu trước đó về mô
hình nhận diện thì hầu hết sẽ dựa vào việc phát triển một backbone lớn hơnhay ảnh đầu vào có độ phân giải lớn hơn để tăng độ chính xác, nhóm tác
giả đã cho thay rằng việc mở rộng Feature Network và kiến trúc mạng nhậnđiện lớp đối tượng va bounding box cũng rất thiết yêu cho cả độ chính xác
và hiệu suất của mô hình Được lay cảm hứng từ [16], nhóm tác giả đã dé
xuất một phương pháp Scaling kết với cả độ phân giải/chiều rộng/ chiều
sâu cho cả Backbone, Feature Network, Box-class Prediction Network.
repeated blocks repeated blocks
(a) FPN (b) PANet (c) NAS-FPN (d) BiFPN
HÌNH 2.9: Các thiết kế Feature Network
EfficientDet di theo mô hình one-stage detectors giống như họ thuật toán
YOLO đã nêu trên Nhóm tác giả sử dụng ImageNet-pretrained cho backbone
của kiến trúc Đối với feature network thì kiến trúc mạng sử dụng BiFPN được
đề xuất trong nghiên cứu
Trang 37Chương 2 Cơ sở lý thuyết 25
2.3 Phát hiện khuôn mặt và xác thực khuôn mat
2.3.1 Phát hiện khuôn mat
Tìm kiếm khuôn mặt là một trong những bước quan trọng và ảnh hưởng rất lớnđến các bài toán như nhận diện khuôn mặt, truy vết khuôn mặt Mặc dù đã cónhiều cải thiện trong thập kỷ qua tuy nhiên bài toán này vẫn còn phải đối mặtvới nhiều thách thức như góc chụp, tỉ lệ hình ảnh, ảnh nhiễu,
Vào khoảng thời gian đầu, Face detection được phát triển dựa trên các phương
pháp cổ điển với các đặc trưng handcrafted được rút trích từ ảnh và được đưavào một bộ phân lớp để nhận diện đó có phải là phân vùng của khuôn mặt haykhông Hai phương pháp được biết đến nhiều nhất là Haar Cascade Classifier và
histogram of oriented gradients với bộ phân lớp là SVM Những phương pháp
này đạt được sự hiệu quả nhất định và là state-of-the-art vào thời điểm đó Tuynhiên, độ chính xác vẫn còn là thách thức tại thời điểm đó đối với những thách
thức như
Trang 38Chương 2 Cơ sở lý thuyết 26
HINH 2.11: Các thách thức ma bai toán Face Detection đối mặt phải
I7
2.3.1.1 Haar-Cascade Classifier
Day là một phương pháp nhận diện khuôn mat dựa trên phương pháp May hoc
được đề xuất vào năm 2001 Phương pháp sử dụng một hàm cascade được huấn
luyện từ rất nhiều ảnh positive và ảnh negative
Đối với tìm kiếm khuôn mặt, thuật toán sẽ cần rất nhiều ảnh chứa khuôn mặt
và ảnh không chứa khuôn mặt để huấn luyện bộ phân lớp Sau đó sẽ trích xuất
đặc trưng từ các ảnh có chứa khuôn mặt và ảnh khuông chứa khuôn mặt Đặc
trưng Haar được biểu diễn như hình [2.12} Những đặc trưng này giống như các
convolutional kernel Mỗi đặc trưng được hiểu là một giá trị thu thập bởi việc
hiệu của tổng các pixel nằm trong hình màu trắng và tổng của hình màu đen)
Trang 39Chương 2 Cơ sở lý thuyết 27
Tất cả các kích thước và vị trí của mỗi kernel sẽ được sử dụng để tính toán cho
rat nhiều đặc trưng Với mỗi đặc trưng được tính toán, cần phải tinh tổng của cácpixels trong hình màu đen lẫn hình màu trắng Để giảm thiểu việc này, nhóm tác
giả đã giới thiệu integral image để giảm thiểu cho việc tính toán
Tuy tất cả các đặc trưng được tính toán thì hấu hết sẽ là các đặc trưng không
có ích cho việc tìm kiếm khuôn mặt Do để có thể chọn ra những đặc trưng tốtnhất cho việc tìm kiếm khuôn mặt thì nhóm tác giả sử dụng Adaboost Hai cửa
sổ ở hàng đầu tiên trong hình|2.12|được Adaboost chọn Đặc trưng thứ nhất được
chọn tập trung vào thuộc tính của phân vùng ở mặt thường tối hơn các phân vùng
ở má và mũi Đối với đặc trưng thứ hai thì dựa vào thuộc tính của mắt thường tối
hơn mũi.
Tiếp theo, nhóm tác giả áp dụng các đặc trưng này trên tất cả các ảnh huấnluyện Đối với mỗi đặc trưng thìn nó sẽ tìm một ngưỡng tốt nhất để có thể phân
Trang 40Chương 2 Cơ sở lý thuyết 28
loại được ảnh có khuôn mặt và ảnh khuông có khuôn mặt Để giảm thiểu lỗi màphân lớp nhằm thì nhóm tác giả đã chọn ra các đặc trưng mà có tỉ lệ lỗi thấp nhất
- có nghĩa là các đặc trưng này hầu hết có thể phân lớp chính xác ảnh có khuôn
mặt và ảnh không có khuôn mặt.
Trong một bức ảnh, hầu hết các phân vùng là không chứa khuôn mặt, do đóviệc áp dụng 6000 đặc trưng được nhóm tác giả xem là tốt nhất lên ảnh thì rất
tốn kém và tốn thời gian Do đó khi một cửa sổ xem là phân vùng đó không
phải khuôn mặt thì nó sẽ loại bỏ ra và không áp dụng đặc trưng để tìm kiếm
khuôn mặt trên phân vùng đó Kĩ thuật này được nhóm tác giả gọi là Cascade of
Classifiers Thay vì áp dụng tất cả 6000 đặc trưng lên một cửa sổ, các đặc trưng
này sẽ được gom thành các nhóm và xem các nhóm này là các giai đoạn khác
nhau trong việc tìm kiếm khuôn mặt Nếu một cửa sổ được xem là không cókhuôn mặt trong giai đoạn đầu tiên thì nó sẽ không xét các giai đoạn sau và xemphân vùng đó không có khuôn mặt Nếu một cửa sổ vượt qua được hết các giai
đoạn thì phân vùng đó được xem là có chứa khuôn mặt.
2.3.1.2 HoG Face Detector [19]
Đối với HoG Face Detector, mô hình nay sử dung HoG như một bộ trích xuất đặctrưng cho ảnh Sau đó những đặc trưng này sẽ được dùng để huấn luyện cho môt
bộ phân lớp la SVM HoG Face Detector hoạt động theo phương pháp sliding
window Một cửa sổ sẽ đượt trượt trên bức ảnh, sau đó sẽ đi qua bộ trích xuất đặc
trưng là HoG Những đặc trưng này sẽ được bộ nhận phân lớp SVM nhận diện
đó có phải là khuôn mặt hay không.
2.3.1.3 Cascade CNN
Cascade CNN là mot trong những mô hình học sâu dau tiên cho bài toán nhận
diện khuôn mặt dựa trên một CNN cascade Phương pháp CNN cascade vận