ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
——————– * ———————
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
Nhận Diện và Theo Dấu Đối Tượng
Trên Hệ Thống Nhiều Camera
NGÀNH: KHOA HỌC MÁY TÍNH
HỘI ĐỒNG: Khoa Học Máy Tính
GVHD: TS. Nguyễn Đức Dũng
GVPB: TS. Huỳnh Tường Nguyên
—o0o—
SVTH 1: Dương Đức Tín
(1710332)
SVTH 2: Trần Đức Thắng
(1713251)
SVTH 3: Trương Đức Tuấn (1710368)
TP. HỒ CHÍ MINH, 07/2021
Lời cam đoan
Chúng tôi xin cam đoan đây là công trình nghiên cứu của riêng chúng tôi dưới
sự hướng dẫn của tiến sĩ Nguyễn Đức Dũng. Nội dung nghiên cứu và các kết quả
đều là trung thực và chưa từng được công bố trước đây. Các số liệu được sử dụng
cho quá trình phân tích, nhận xét được chính chúng tôi thu thập từ nhiều nguồn
khác nhau và sẽ được ghi rõ trong phần tài liệu tham khảo. Ngoài ra, chúng tôi
cũng có sử dụng một số nhận xét, đánh giá và số liệu của các tác giả khác, cơ quan
tổ chức khác. Tất cả đều có trích dẫn và chú thích nguồn gốc. Nếu phát hiện có
bất kì sự gian lận nào, chúng tôi xin hoàn toàn chịu trách nhiệm về nội dung đề
cương luận văn tốt nghiệp của mình. Trường Đại Học Bách Khoa Thành phố Hồ
Chí Minh không liên quan đến những vi phạm tác quyền, bản quyền do chúng tôi
gây ra trong quá trình thực hiện.
Lời ngỏ
Luận văn tốt nghiệp là quá trình đúc kết, tìm tòi và phát triển từ những kiến
thức của những năm tháng học đại học dưới sự dìu dắt và giúp đỡ của các thầy, cô
của Khoa Khoa học và Kỹ thuật Máy tính, các phòng thí nghiệm, các giảng viên của
trường Đại học Bách Khoa Thành phố Hồ Chí Minh. Đặc biệt, chúng tôi muốn bày
tỏ lòng biết ơn sâu sắc đến tiến sĩ Nguyễn Đức Dũng, người thầy đã giúp chúng tôi
có động lực để hoàn thành luận văn và cũng là người hướng dẫn tận tình trong suốt
quá trình học tập và nghiên cứu. Với những kiến thức thầy Dũng và các thầy, cô của
trường Đại học Bách Khoa đã truyền dạy sẽ là hành trang quý giá trong quá trình
nghiên cứu và làm việc sau này. Cuối cùng, chúng tôi xin chúc quý thầy cô và gia
đình dồi dào sức khỏe, thành công trong sự nghiệp cao quý.
Tóm tắt nội dung
Trong báo cáo luận văn tốt nghiệp này, nhóm chúng tôi sẽ trình bày những cơ sở lý
thuyết về lĩnh vực thị giác máy tính áp dụng kỹ thuật học sâu. Đặc biệt, nhóm sẽ tập
trung mô tả nền tảng lý thuyết và hướng tiếp cận cho bài toán nhận diện và theo dấu đối
tượng trên hệ thống nhiều máy quay. Bên cạnh đó, nhóm sẽ đưa ra kết quả thử nghiệm
ban đầu, so sánh và đánh giá giữa những phương pháp với nhau và giữa kết quả thử
nghiệm với kết quả của bài báo đã công bố.
Dựa trên những kết quả đạt được, nhóm chúng tôi đã tìm hiểu và đề xuất pipeline
cũng như các mô hình cho từng khối xử lý bài toán đề ra gồm có nhận diện, phát hiện
khuôn mặt và truy vết đối tượng đeo và không đeo khẩu trang. Ngoài ra, chúng tôi sẽ so
sánh và đánh giá kết quả thực hiện để từ đó đi đến quyết định sử dụng những phương
pháp nào để giải quyết tốt bài toán nhận diện và theo dấu đối tượng trên hệ thống nhiều
máy quay.
Mục lục
1 Giới thiệu
1.1 Nhận diện và truy vết trong đại dịch Covid . . . . . . . . . . . . . . . . . .
1.2 Mục tiêu nghiên cứu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
2
2 Những nghiên cứu liên quan
2.1 Phát hiện đối tượng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Phát hiện gương mặt . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1.1 Tập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1.2 RetinaFaceMask: A Face Mask Detector [1] . . . . . . . .
2.1.1.3 Scaled-YOLOv4: Scaling Cross Stage Partial Network [2] .
2.1.2 Phát hiện người . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2.1 Faster R-CNN: Towards Real-Time Object Detection with
Region Proposal Networks [3] . . . . . . . . . . . . . . . .
2.1.2.2 Mask R-CNN [4] . . . . . . . . . . . . . . . . . . . . . . .
2.2 Truy vết đối tượng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Tập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Truy vết trong một máy quay . . . . . . . . . . . . . . . . . . . . .
2.2.2.1 Truy vết tự sinh . . . . . . . . . . . . . . . . . . . . . . .
2.2.2.2 Truy vết phán đoán . . . . . . . . . . . . . . . . . . . . .
2.2.3 Truy vết trên nhiều máy quay . . . . . . . . . . . . . . . . . . . . .
2.2.3.1 Phương pháp tái định danh . . . . . . . . . . . . . . . . .
2.2.3.2 Phương pháp CLM-based tracking . . . . . . . . . . . . .
2.2.3.3 Phương pháp GM-based tracking . . . . . . . . . . . . . .
2.2.4 Multi-Target, Multi-Camera Tracking by Hierarchical Clustering:
Recent Progress on DukeMTMC Project [5] . . . . . . . . . . . . .
2.2.5 Multi-camera Multi-object Tracking [6] . . . . . . . . . . . . . . . .
2.3 Nhận diện danh tính đối tượng . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Nhận diện danh tính dựa vào khuôn mặt . . . . . . . . . . . . . . .
2.3.1.1 FaceNet: A Unified Embedding for Face Recognition and
Clustering [7] . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1.2 A Discriminative Feature Learning Approach for Deep
Face Recognition [8] . . . . . . . . . . . . . . . . . . . . .
2.3.1.3 SphereFace: Deep Hypersphere Embedding for Face Recognition [9] . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1.4 ArcFace: Additive Angular Margin Loss for Deep Face
Recognition [10] . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Phục hồi khuôn mặt . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2.1 Image Fine-grained Inpainting [11] . . . . . . . . . . . . .
3
3
4
4
5
6
9
i
9
12
14
14
14
15
15
16
17
17
17
17
19
20
21
21
22
22
26
28
28
3 Kiến thức nền tảng
3.1 Artificial Neural Network . . . . . . . . .
3.2 Convolution Neural Network . . . . . . .
3.3 Residual Neural Network . . . . . . . . .
3.4 Các phương pháp đánh giá bài toán truy
máy quay . . . . . . . . . . . . . . . . .
3.5 Attentive but Diverse Network [12] . . .
3.5.1 Tính chất tập trung . . . . . . .
3.5.1.1 Mô-đun Chú Ý Kênh . .
3.5.1.2 Mô-đun Chú Ý Vị Trí .
3.5.2 Tính đa dạng . . . . . . . . . . .
3.5.3 Kiến trúc mạng . . . . . . . . . .
3.6 Kalman Filter . . . . . . . . . . . . . . .
3.6.1 Định nghĩa bài toán . . . . . . .
3.6.2 Thuật toán Kalman Filter . . . .
. .
. .
. .
vết
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
nhiều đối tượng trong nhiều
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
4 Framework cho hệ thống định danh và truy vết nhiều camera
4.1 Tổng quan framework đề xuất . . . . . . . . . . . . . . . . . . . .
4.2 Phát hiện đối tượng . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Phát hiện gương mặt sử dụng khẩu trang . . . . . . . . . .
4.2.1.1 Tiền xử lí tập dữ liệu ảnh . . . . . . . . . . . . .
4.2.1.2 Xây dựng và huấn luyện mô hình . . . . . . . . .
4.2.1.3 Kiểm tra mô hình dựa trên dữ liệu mới . . . . . .
4.2.2 Phát hiện người trong khung hình . . . . . . . . . . . . . .
4.2.2.1 Faster R-CNN [3] . . . . . . . . . . . . . . . . . .
4.2.2.2 Mask R-CNN [4] . . . . . . . . . . . . . . . . . .
4.3 Nhận diện danh tính . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Đối tượng không đeo khẩu trang . . . . . . . . . . . . . .
4.3.2 Đối tượng đeo khẩu trang . . . . . . . . . . . . . . . . . .
4.4 Truy vết trên mỗi máy quay . . . . . . . . . . . . . . . . . . . . .
4.4.1 Đối sánh theo tầng . . . . . . . . . . . . . . . . . . . . . .
4.4.2 Rút trích đặc trưng ngoại hình . . . . . . . . . . . . . . .
4.5 Truy vết trên nhiều máy quay . . . . . . . . . . . . . . . . . . . .
4.5.1 Gom cụm theo thứ bậc . . . . . . . . . . . . . . . . . . . .
4.6 Tóm Tắt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Kết quả hiện thực
5.1 Tập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Tập dữ liệu Multi Camera Track Auto (MTA) . .
5.1.2 Tập dữ liệu THD . . . . . . . . . . . . . . . . . .
5.1.3 Tập dữ liệu nhận dạng khuôn mặt đeo khẩu trang
5.2 Phát hiện đối tượng . . . . . . . . . . . . . . . . . . . . .
5.2.1 Phát hiện gương mặt có đeo khẩu trang . . . . .
5.2.2 Phát hiện người trong khung hình . . . . . . . . .
5.3 Nhận diện danh tính đối tượng . . . . . . . . . . . . . .
5.3.1 Huấn luyện . . . . . . . . . . . . . . . . . . . . .
5.3.1.1 Đối tượng không đeo khẩu trang . . . .
5.3.1.2 Đối tượng đeo khẩu trang . . . . . . . .
5.3.1.3 Phục hồi khuôn mặt . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
30
. 30
. 31
. 32
.
.
.
.
.
.
.
.
.
.
33
35
37
37
37
38
39
40
40
40
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
42
42
43
43
43
44
45
46
46
46
47
48
49
51
52
54
54
56
57
.
.
.
.
.
.
.
.
.
.
.
.
59
59
59
60
61
62
62
63
64
64
64
65
65
5.3.2
5.4
Kiểm thử . . . . . . . . . . . . . .
5.3.2.1 Đối tượng không đeo khẩu
5.3.2.2 Đối tượng đeo khẩu trang
Truy vết . . . . . . . . . . . . . . . . . . .
5.4.1 Kiểm thử trên tập dữ liệu MTA . .
5.4.2 Kiểm thử trên tập dữ liệu THD . .
5.4.2.1 Kết quả trên Testcase 1 .
5.4.2.2 Kết quả trên Testcase 2 .
5.4.2.3 Kết quả trên Testcase 3 .
5.4.2.4 Nhận xét chung . . . . . .
. . . .
trang
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
65
65
66
67
68
70
70
70
70
75
6 Tổng kết
76
6.1 Các kết quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2 Những hạn chế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.3 Định hướng trong tương lai . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Phụ lục
78
Danh sách hình vẽ
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
2.19
2.20
2.21
2.22
2.23
2.24
Một vài khuôn mặt trong tập dữ liệu FaceMask [1]. . . . . . . . . . . . . .
Kiến trúc của RetinaFaceMask [1]. . . . . . . . . . . . . . . . . . . . . . .
Mô hình của một block CSPDarkNet53 [13]. . . . . . . . . . . . . . . . . .
Khối tính toán SPP của YOLOv4 (trái) và scaled-YOLOv4 (phải) [2]. . . .
Kiến trúc của mô hình Scaled-YOLOv4 [2]. . . . . . . . . . . . . . . . . . .
Kết quả của mô hình Scaled-YOLOv4 [2]. . . . . . . . . . . . . . . . . . .
Mô hình RPN sử dụng các anchor box có kích thước khác nhau . . . . . .
Mô hình tổng quát của Faster R-CNN [3] . . . . . . . . . . . . . . . . . . .
So sánh kết quả mô hình Fast R-CNN [14] và Faster R-CNN [3] trên tập
dữ liệu COCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Caption for LOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mô hình tổng quát của Mask R-CNN [4]. . . . . . . . . . . . . . . . . . . .
Kết quả của Mask R-CNN [4] trên tập dữ liệu COCO với Faster R-CNN [3].
Mô hình tổng quát của FaceNet [7]. . . . . . . . . . . . . . . . . . . . . . .
Triplet Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Center Loss với λ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trực quan hóa các hàm mất mát [9]. . . . . . . . . . . . . . . . . . . . . .
Mô hình huấn luyện và kiểm tra SphereFace [9]. . . . . . . . . . . . . . . .
Kiến trúc mô hình ArcFace [10]. . . . . . . . . . . . . . . . . . . . . . . . .
Softmax [10]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ArcFace [10]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SphereFace [9] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ArcFace [10]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Khối DMFB [11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mô hình và khối DMFB [11]. . . . . . . . . . . . . . . . . . . . . . . . . . .
11
12
13
14
22
23
23
25
25
26
27
27
27
27
28
29
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
Caption for LOF . . . . . . . . . . . . . . . . .
Mô hình nơ-ron thật và ảo 1 . . . . . . . . . . . .
Mô hình Convolution Neural Network . . . . . .
Mô hình Nối tắt Residual Neural Network [15].
Trực quan những vùng đặc trưng được chú ý . .
Mô-đun Chú Ý Kênh . . . . . . . . . . . . . . .
Mô-đun Chú Ý Vị Trí . . . . . . . . . . . . . .
Kiến trúc mạng ABD-Net . . . . . . . . . . . .
.
.
.
.
.
.
.
.
30
31
32
33
36
37
38
39
4.1
4.2
4.3
4.4
Mô hình đề xuất thực hiện truy vết nhiều đối tượng
Caption for LOF . . . . . . . . . . . . . . . . . . .
Kiến trúc của FPN (a) và PAN (a+b) [16]. . . . . .
Caption for LOF . . . . . . . . . . . . . . . . . . .
quay.
. . . .
. . . .
. . . .
42
44
45
45
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
trên nhiều máy
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
6
7
7
8
9
10
11
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
5.1
5.2
5.3
Hình ảnh đầu ra của Faster R-CNN và Mask R-CNN . . . . . . . . . . .
Tổng quan các bước dự đoán danh tính đối tượng. . . . . . . . . . . . . .
Mô hình huấn luyện cho đối tượng không đeo khẩu trang. . . . . . . . . .
Tổng quan các bước huấn luyện và dự đoán danh tính đối tượng đeo khẩu
trang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cách xây dựng cơ sở dữ liệu cho nhận diện danh tính đối tượng đeo khẩu
trang. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cách xây dựng cơ sở dữ liệu cho nhận diện danh tính đối tượng đeo khẩu
trang với phục hồi ảnh. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mô tả việc dự đoán vị trí của một đối tượng [17]. . . . . . . . . . . . . .
Minh họa về ràng buộc thời gian trên nhiều máy quay [17]. . . . . . . . .
Minh họa về khoảng cách của đối tượng trên vùng giao của các máy quay
[17]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 47
. 48
. 49
. 50
. 50
. 50
. 56
. 57
. 57
Vị trí các máy quay và các góc quay trong tập dữ liệu MTA[17]. . . . . . . 59
Các góc quay của các camera trong tập dữ liệu THD. . . . . . . . . . . . . 61
Hình ảnh ảnh gốc trong cơ sở dữ liệu . . . . . . . . . . . . . . . . . . . . . 67
Chương 1
Giới thiệu
Thế giới chúng ta đang phát triển rất nhanh chóng. Số lượng các cơ sở hạ tầng như
trường học, bệnh viện, các khu chung cư được xây dựng ngày càng nhiều nhằm đáp ứng
các như cầu cơ bản của xã hội. Những cơ sở này thường rất lớn cũng như phục vụ một
số lượng rất nhiều người hàng ngày. Việc này dẫn đến sự khó khăn trong việc quản lí an
ninh, đảm bảo trật tự. Nắm bắt vấn đề trên, nhóm nhận thấy việc xây dựng một hệ thống
nhận diện và theo dấu đối tượng dựa trên các máy quay an ninh được lắp đặt tại các cơ
sở là vô cùng cần thiết. Tuy vậy, đây không phải là một vấn đề dễ dàng. Dịch bệnh viêm
đường hô hấp cấp Covid-19 đã gây nên một thảm hoạ lớn cho xã hội. Để phòng tránh
cũng như chiến đấu với bệnh, người dân đã tạo thành thói quen sử dụng khẩu trang ở nơi
công cộng. Việc này làm cho nhóm cần cải tiến hệ thống sao cho vẫn có thể hoạt động tốt
với việc các đối tượng sử dụng khẩu trang. Đây là một bài toán thực tiễn khó giải quyết
để hệ thống có thể được đưa vào sử dụng thực tiễn.
1.1
Nhận diện và truy vết trong đại dịch Covid
Năm 2020 chứng kiến một cơn đại dịch mang tên Covid-19 ảnh hưởng đến toàn thế
giới, gây tổn hại về tính mạng và ảnh hưởng đến nhiều nền kinh tế trong nước và cả thế
giới. Tính đến ngày 11/12/2020, toàn thế giới có hơn 70 triệu ca nhiễm Covid-19. Tổng số
người chết do dịch đã lên đến hơn 1,58 triệu ca. Việc kiểm soát dịch ở Việt Nam hiện tại
diễn ra rất tốt, tuy nhiên, vẫn có những trường hợp lây nhiễm trong cộng đồng do việc
thiếu ý thức về phòng chống và khai báo bệnh cho cơ quan chức năng. Do đó, việc quản
lý và xác định những trường hợp nghi nhiễm rất khó khăn và tốn nhiều tiền của và phụ
thuộc rất lớn vào ý thức tự khai báo của người dân. Mặt khác, đa số người dân có tâm lý
lo sợ việc bị cách ly nên đã khai báo không đúng sự thật càng làm cho việc quản lý dịch
bệnh ngày càng khó khăn thêm. Việc xuất hiện COVID-19 là một bài toán lớn dành cho
thế giới, tuy nhiên, nếu tương lai sẽ có những dịch bệnh khác tương tự hoặc những vấn
đề nhức nhối khác của xã hội như trộm cắp, cướp giật hay nguy hiểm hơn là truy lùng
tội phạm thì sẽ trở thành những vấn đề cần được quan tâm và giải quyết.
Việc theo dõi và nhận diện các đối tượng (con người) có thể giải quyết một phần lớn
trong các bài toán trên như có thể truy vết bệnh nhân bị nhiễm COVID-19, tìm ra được
các trường hợp tiếp xúc gần và có nguy cơ bị lây nhiễm, hoặc phát hiện ra tội phạm. Từ
đó, việc xây dựng hệ thống theo dõi và nhận diện nhiều đối tượng trên nhiều máy quay là
việc cần thiết và có ý nghĩa với xã hội về nhiều khía cạnh như kinh tế, đạo đức và quan
trọng hơn hết là con người.
1
GIỚI THIỆU
1.2
Mục tiêu nghiên cứu
Mục tiêu của nghiên cứu này là nhận diện và theo dấu nhiều đối tượng (con người)
trong hệ thống nhiều máy quay. Cụ thể, khi một người bước vào góc quay của một máy
quay an ninh thì hệ thống sẽ phát hiện ra người đó bằng cách vẽ một khung hình bao
đóng người đó và khi người này tiếp tục di chuyển trong góc quay của máy quay thì ứng
với mỗi khung hình, hệ thống sẽ vẽ một hình khung hình bao đóng tương ứng khác. Sau
khi người này rời khỏi góc quay của một máy quay an ninh và bước vào góc quay của một
máy quay khác thì hệ thống vẫn có khả năng phát hiện, theo dấu và nhận biết người đó
là cùng một người ở máy quay trước đây. Khi các khung hình trong từng máy quay của
cùng một người được kết nối với nhau sẽ thu được quỹ đạo đường đi của người đó và đó
cũng là kết quả của quá trình theo dấu. Việc theo dấu vẫn hoạt động trong trường hợp
những máy quay trong hệ thống có góc quay trùng lặp ít hay không trùng lặp. Hơn thế
nữa, những người có trong khung hình máy quay sẽ được xác định danh tính dựa trên
những đặc tính trên cơ thể của họ nếu người đó đã tồn tại trong cơ sở dữ liệu.
Đề tài cũng muốn hướng đến việc nhận diện danh tính và theo dấu của một người
ngay cả khi người đó có đeo khẩu trang bởi vì trong tình trạng ô nhiễm không khi và dịch
bệnh Covid-19 đang hoành hành đa số mọi người đều đeo khẩu trang khí đi ra ngoài nên
việc có thể truy vết và nhận diện một người ngay khi họ đeo khẩu trang sẽ giúp nâng cao
khả năng phòng chống dịch bệnh cũng như đảm bảo an ninh ở những nơi công cộng.
Như vậy, các mục tiêu cụ thể của đề tài bao gồm:
• Xây dựng mô hình theo vết đối tượng trên hệ thống quan sát nhiều camera.
• Xây dựng mô hình nhận diện khuôn mặt nằm truy vết và định danh các đối tượng
trên hệ thống.
• Cải thiện mô hình hỗ trợ nhận diện gương mặt đeo khẩu trang.
• Triển khai, đánh giá các giải pháp đề xuất.
Những phần tiếp theo của luận văn sẽ trình bày cụ thể và chi tiết hơn các vấn đề
xoay quanh nghiên cứu và những kết quả mà nhóm đã đạt được thông qua giải pháp đề
xuất. Chúng tôi sẽ trình bày chi tiết về các nghiên cứu mà chúng tôi đã khảo sát trong
quá trình thực hiện đề tài ở Chương 2. Các nghiên cứu liên quan này bao gồm hai hướng
chính: nhận diện gương mặt và truy vết đối tượng. Trong Chương 3, chúng tôi mô tả một
cách khái quát các kiến thức nền tảng cần thiết cho nghiên cứu này. Để hiện thực được
các mục tiêu đã đề ra, nhóm đã thiết kế một mô hình nhận diện và truy vết ở mức tổng
thể và chia nhỏ các thành phần trong hệ thống thành các mô-đun. Chi tiết về các mô-đun
của hệ thống sẽ được giới thiệu đầy đủ trong Chương 4. Các kết quả thí nghiệm cũng sẽ
được trình bày chi tiết trong Chương 5. Chương 6 tổng kết lại các kết quả đã đạt được
trong nghiên cứu này, cũng như đưa ra các vấn đề cần quan tâm và phát triển trong giai
đoạn tiếp theo.
2
Chương 2
Những nghiên cứu liên quan
Hệ thống nhóm xây dựng bao gồm hai phần lớn. Đó chính là nhận diện và theo dấu
đối tượng trên nhiều máy quay giám sát. Trong đó, phần nhận diện được chia ra làm hai
nhiệm vụ nhỏ hơn:
• Phát hiện và xác định gương mặt có mang khẩu trang hay không.
• Nhận diện danh tính của đối tượng từ các gương mặt phát hiện được
2.1
Phát hiện đối tượng
Phát hiện đối tượng là một bài toán đã được đặt ra và tìm các cách để giải quyết từ
lâu. Đây là một bài toán nhận dữ liệu đầu vào là một ảnh hoặc từng khung hình của một
video để phát hiện các vật thể mà ta muốn quan sát trong đó. Đồng thời, giải thuật có
thể phân loại các vật thể được phát hiện đó nếu trong dữ liệu đầu vào chứa nhiều đối
tượng khác nhau.
Bài toán trên đã được tiếp cận bằng nhiều phương pháp khác nhau. Ta có thể chia
ra làm hai loại chính gồm cách tiếp cận theo phương thức cổ điển và cách tiếp cận theo
hướng hiện đại. Cách tiếp cận cổ điển sử dụng các bộ trích xuất đặc trưng thủ công.
Phương pháp này được sử dụng trong một thời gian dài trước khi được tiếp cận bằng
một phương pháp khác, hiệu quả hơn đáng kể với cách tiếp cận này. Với sự phát triển
của học sâu, phương pháp hiện đại sử dụng các mạng nơ-rơn đã vượt qua và lấn át hoàn
toàn các cách tiếp cận truyền thống. Học sâu không cần sử dụng các bộ trích xuất được
định nghĩa trước mà mô hình sẽ tự nó học các đặc trưng.
Nhóm quyết định sử dụng phương pháp hiện đại này để tiếp cận bài toán phát hiện.
Với bài toán phát hiện sử dụng mạng học sâu, có hai loại chính là bộ phát hiện một lớp
và bộ phát hiện hai lớp. Bộ phát hiện một lớp sử dụng một mạng nơ-ron để phát hiện các
đối tượng. Các mô hình nổi tiếng của loại này là SSD (Single Shot Detector) [18], YOLO
(You Only Look Once) [19], RetinaNet [20]. Còn bộ phát hiện hai lớp sử dụng hai mạng
nơ-ron để phát hiện các đối tượng. Các mô hình nổi tiếng của bộ phát hiện hai lớp là
R-CNN [21], faster R-CNN [3]. Mỗi loại có ưu và nhược điểm riêng. Bộ phân loại một
lớp có hiệu suất tốt hơn bộ phân loại hai lớp do mô hình ít phức tạp hơn nhưng cũng
vì thế độ chính xác kém hơn so với mô hình hai lớp. Mô hình một lớp thích hợp với các
bài toán cần hoạt động với thời gian thực còn mô hình hai lớp lại phù hợp hơn cho các
bài toán cần độ chính xác cao. Tuy rằng, với sự phát triển đáng kể của bộ phân loại một
lớp, độ chính xác của chúng đã vượt qua các bộ phân loại hai lớp nhưng vẫn có nhiều bài
toán cần đến bộ phân loại hai lớp để đạt được kết quả cao.
3
NHỮNG NGHIÊN CỨU LIÊN QUAN
Hình 2.1: Một vài khuôn mặt trong tập dữ liệu FaceMask [1].
Bài toán mà nhóm đang giải quyết cần sử dụng mô hình phát hiện ở hai bước. Đầu
tiên là phát hiện gương mặt người không sử dụng khẩu trang và có sử dụng khẩu trang
để làm dữ liệu đầu vào cho nhận diện danh tính đối tượng. Thứ hai là phát hiện người
trong khung hình nhằm phục vụ cho việc truy vết các đối tượng. Các phương pháp liên
quan đến mô hình phát hiện sẽ được đề cập tại phần dưới.
2.1.1
Phát hiện gương mặt
Phần phát hiện và xác định gương mặt có đeo khẩu trang hay không có nhiệm vụ
phát hiện được các gương mặt dựa trên khung hình của máy quay giám sát. Từ đó sẽ
phân loại xem gương mặt có sử dụng khẩu trang hay không. Cuối cùng trích xuất các
khuôn mặt ấy đưa vào bộ phận nhận diện để xác định danh tính của đối tượng ấy dựa
vào khuôn mặt.
Bài toán này có thể được xem như một bài toán phát hiện và phân loại thông thường
có nhiệm vụ phát hiện các đối tượng từ một bức ảnh hay một khung hình video và phân
loại đối tượng đó thuộc loại đối tượng nào.
Trở lại với bài toán phát hiện và phân loại gương mặt có đeo khẩu trang hay không, vấn
đề về khẩu trang chỉ mới xuất hiện gần đây do dịch bệnh COVID-19 nên các bài báo khoa
học về chủ đề này vẫn còn rất hạn chế nên việc tìm kiếm và công việc khảo sát có đôi chút
khó khăn. Sau khi tìm hiểu và nghiên cứu, nhóm đề xuất bài RetinaFaceMask: A Face
Mask Detector [1] và Scaled-YOLOv4: Scaling Cross Stage Partial Network [2]
có thể sử dụng để áp dụng vào đề tài.
2.1.1.1
Tập dữ liệu
Đây là một bài toán chỉ mới được phát triển gần đây do sự bùng phát của dịch
COVID-19 nên số lượng các tập dữ liệu được tạo và đánh nhãn phù hợp cho bài toán hiện
nay rất ít. Vì thế, nhóm quyết định sử dụng tập dữ liệu Face Mask Dataset1 được cung
cấp sẵn trong bài báo RetinaFaceMask [1]. Tập dữ liệu trên bao gồm 7959 bức ảnh. Mỗi
ảnh đều được lưu thông tin bounding box và nhãn là có sử dụng khẩu trang hay không.
Tập dữ liệu này được kết hợp từ tập Wider Face [22] và MAsked FAces [23]. Tập dữ liệu
1 https://github.com/AIZOOTech/FaceMaskDetection
4
NHỮNG NGHIÊN CỨU LIÊN QUAN
MAsked FAces bao gồm các ảnh chứa các khuôn mặt không chỉ bị che bớt bởi khẩu trang
mà còn do các vật cản, tay, bìa sách,... Bài báo đã lấy ra và phân loại từ hai tập dữ liệu
trên để gộp lại thành tập dữ liệu Face Mask như hình 2.1
2.1.1.2
RetinaFaceMask: A Face Mask Detector [1]
RetinaFaceMask: A Face Mask Detector [1] là một bài báo được công bố vào
tháng 6/2020. Bài báo xây dựng một mô hình có tên là RetinaFaceMask, là mô hình có
thể phát hiện được các gương mặt đeo khẩu trang và không đeo khẩu trang. Đây là một
trong những bài báo đầu tiên về việc phát hiện đeo khẩu trang hay không được công bố.
Mô hình trên cũng là một mô hình hoạt động tốt với độ chính xác cao. Kiến trúc mạng
gồm ba phần chính: backbone, neck và head, như hình 2.2.
Phần backbone là một bộ trích xuất đặc trưng bao gồm nhiều lớp CNN chồng lên
nhau có nhiệm vụ trích xuất thông tin từ hình ảnh ra các đặc trưng cơ bản. Mô hình
RetinaFaceMask sử dụng ResNet [15] làm backbone. Để mô hình có thể học một cách
nhanh chóng hơn, RetinaFaceMask sử dụng transfer learning để khởi tạo trọng số từ trọng
số đã được học từ một tập dữ liệu có độ tương đồng. Tiếp đến là phần neck, đây là phần
kết nối giữa backbone và head. Neck có nhiệm vụ mở rộng hoặc lọc các đặc trưng cơ
bản từ backbone ra những đặc trưng tốt hơn. Mô hình RetinaFaceMask sử dụng Feature
Pyramid Network (FPN - [24]) làm neck. FPN được dùng để trích xuất các đặc trưng
cao cấp từ các lớp sau và truyền cho các đặc trưng ở lớp thấp hơn. Điều này giúp cho
việc phát hiện các đối tượng nhỏ hơn được chính xác hơn rất nhiều. Cuối cùng, phần
head được sử dụng để phân loại và dự đoán vùng xuất hiện của đối tượng trong ảnh. Mô
hình RetinaFaceMask sử dụng chiến lược phát hiện nhiều kích cỡ (Multi-scale detection
strategy) tương tự như SSD để dự đoán dựa trên các đặc trưng được trích xuất từ FPN.
Chiến lược này giúp ta có thể lấy được các vùng ảnh hưởng có kích thước khác nhau để
phát hiện các đối tượng có kích cỡ khác nhau.
Về cơ bản, RetinaFaceMask tạo ra ba đặc trưng khác nhau với vùng ảnh hưởng có
kích cỡ khác nhau và nối vào ba head riêng biệt. Trong mỗi head của kiến trúc, mô hình
sử dụng mô-đun chú ý ngữ cảnh (context attention module) để điều chỉnh kích thước của
vùng ảnh hưởng và tập trung vào những vùng thông tin quan trọng được trích xuất ra từ
FPN. Mô-đun chú ý ngữ cảnh trích xuất ra các đặc trưng với vùng ảnh hưởng khác nhau
để lấy được thông tin từ các đối tượng có kích thước đa dạng và nối chúng lại với nhau
để tạo một khối thống nhất. Từ các đặc trưng đã được trích xuất đó, mô hình tiếp tục
sử dụng CBAM (Convolutional Block Attention Module [25]) để xác định xem những bản
đồ đặc trưng nào chứa các thông tin hữu ích về đối tượng và những vùng nào thuộc ảnh
chứa thông tin đặc biệt mà mô hình nên chú ý vào. Đầu ra của mô hình sử dụng CNN
thay vì fully connected network để giảm bớt trọng số mà mô hình cần để học. Mô hình
sử dụng kiến trúc RetinaNet làm cơ sở và được dùng để phát hiện khẩu trang nên được
đặt tên là RetinaFaceMask.
Mô hình được đánh giá dựa trên Precision và Recall. Công thức được định nghĩa như
sau:
TP
Precision =
TP +FP
(2.1)
TP
Recall =
TP +FN
Trong đó, TP là True Positive, FP là False Positive, FN là False Negative. Khi mô hình
phát hiện được đối tượng với IOU (Intersection Over Union) lớn hơn một ngưỡng cho
trước, True Positive được tính. Khi đối tượng không xuất hiện trong khung hình nhưng
5
NHỮNG NGHIÊN CỨU LIÊN QUAN
Hình 2.2: Kiến trúc của RetinaFaceMask [1].
mô hình dự đoán có, khi mô hình phát hiện đối tượng nhưng với một IOU nhỏ hơn khoảng
cho trước hay mô hình phát hiện một đối tượng nhiều lần, những trường hợp này đều
được tính là False Positive. Khi đối tượng xuất hiện trong hình nhưng mô hình không
phát hiện được, False Negative được tính cho mô hình. Với Precision cao và Recall thấp,
những đối tượng được mô hình dự đoán có độ chính xác cao nhưng như vậy sẽ làm tăng
tỉ lệ bỏ sót các đối tượng khó phát hiện. Khi Recall cao nhưng Precision thấp, mô hình
sẽ cố gắng phát hiện các đối tượng nhiều nhất có thể, giảm vấn đề bỏ sót nhưng dễ phát
hiện và phân loại sai đối tượng hơn. Vì thế, mô hình nào có cả hai giá trị trên đều cao là
một mô hình phát hiện và phấn loại tốt.
Mô hình sử dụng tập dữ liệu các gương mặt đeo khẩu trang được bài báo tự tổng hợp.
RetinaFaceMask có Precision và Recall phát hiện gương mặt không đeo khẩu trang lần
lượt là 91.9% và 96.3%. Với các gương mặt có sử dụng khẩu trang, Precision và Recall
tương ứng là 93.4% và 94.5%. Đây là điểm số cao nhất của mô hình khi sử dụng trọng số
đã được học sẵn từ tập dữ liệu WiderFace.
2.1.1.3
Scaled-YOLOv4: Scaling Cross Stage Partial Network [2]
Scaled-YOLOv4: Scaling Cross Stage Partial Network [2] là một bài báo được
công báo vào tháng 11/2020. Bài báo xây dựng mô hình phát hiện đối tượng dựa trên
YOLOv4 (You Only Look Once version 4) được công bố vào tháng 4/2020. Mô hình sử
dụng kiến trúc của YOLOv4 dựa trên cách tiếp cận CSP (Cross Stage Partial [13]). Tuy
đây không phải là mô hình được xây dựng trực tiếp để phát hiện và phân loại gương mặt
sử dụng khẩu trang nhưng là mô hình có độ chính xác cao và thực thi được trong thời
gian thực. Nhóm quyết định chọn mô hình như là một cách để tiếp cận vấn đề phát hiện
và phân loại khẩu trang. Như đa số các mô hình phát hiện một lớp, Scaled-YOLOv4 cũng
có ba phần chính là backbone, neck và head.
Mô hình sử dụng cách tiếp cận CSP để giảm thời gian tính toán của mạng nhưng vẫn
cho ra độ chính xác bằng hoặc cao hơn so với mô hình không sử dụng phương pháp này.
Bằng cách ở mỗi tầng của một CNN, một nửa các bản đồ đặc trưng của dữ liệu đầu vào
sẽ được giữ nguyên và nối chồng với nửa bản đồ đặc trưng còn lại đã được xử lý qua bằng
các lớp CNN tương tự mô hình lúc đầu. Phương pháp này giúp mạng vẫn giữ được các
thông tin từ các tầng CNN trước nhưng vẫn làm giàu thêm thông tin mỗi khi qua tầng
CNN đã được xử lý. Với việc chỉ một nửa các bản đồ đặc trưng được chạy qua các lớp
6
NHỮNG NGHIÊN CỨU LIÊN QUAN
Hình 2.3: Mô hình của một block CSPDarkNet53 [13].
Hình 2.4: Khối tính toán SPP của YOLOv4 (trái) và scaled-YOLOv4 (phải) [2].
CNN sẽ giúp giảm số lượng phép tính toán một cách đáng kể nhưng vẫn học được các
đặc trưng phức tạp của đối tượng.
Backbone của mô hình Scale-YOLOv4 sử dụng kiến trúc DarkNet53 [26] theo phương
pháp CSP nên được gọi là CSPDarkNet53 [13] có kiến trúc một block như hình 2.3.
Backbone này có thể học được các đặc trưng từ cơ bản đến nâng cao của đối tượng và
tính toán được với thời gian nhanh hơn. Ngoài ra, để đạt được độ chính xác cao hơn, bài
báo đề xuất sử dụng tầng đầu tiên của CSPDarkNet53 là nguyên mẫu của DarkNet53,
còn lại vẫn sử dụng các block theo cơ chế CSP để giảm số lượng tính toán. Tiếp đến, phần
neck của YOLOv4 được thiết kế dựa trên sự kết hợp của PAN (Path Aggregation Network
[16]) và SPP (Spatial Pyramid Pooling [27]). Phần neck có nhiệm vụ truyền các thông
tin về các đối tượng có kích cỡ khác nhau và các đặc trưng có độ phức tạp cao truyền vào
head để phát hiện và phân loại. Kiến trúc PAN được sử dụng nhằm trích xuất các đối
tượng có kích thước khác nhau cùng với việc học các đặc trưng phức tạp. Ngoài ra, kiến
trúc này cho phép các lớp cao hơn vẫn giữ được các thông tin cục bộ từ các lớp thấp.
SPP được sử dụng nhằm mục đích tăng thêm vùng ảnh hưởng của mô hình với các kích
7
NHỮNG NGHIÊN CỨU LIÊN QUAN
Hình 2.5: Kiến trúc của mô hình Scaled-YOLOv4 [2].
cỡ khác nhau. Điều này giúp cho neck có thể trích xuất được các đối tượng với nhiều kích
thước khác nhau cùng các đặc trưng phức tạp. Kiến trúc PAN và SPP đều được thay đổi
so với bạn đầu bằng cách tiếp cận theo hướng CSP nhằm giảm số lượng tính toán. Phần
head vẫn sử dụng cơ chế tương tự phần head của YOLOv4. Head gồm các lớp CNN để
dự đoán ra vị trí các đối tượng và phân loại đối tượng.
Do tại tầng trên cùng của mô hình không có thông tin từ tầng trên truyền xuống giúp
làm giàu thêm các đặc trưng như các tầng dưới, tầng trên cùng sử dụng SPP để trích
xuất các đặc trưng cao cấp với các vùng ảnh hưởng khác nhau. Tầng này vẫn áp dụng
CSP để thu giảm số lượng tính toán. Kiến trúc SPP tại Scaled-YOLOv4 được minh hoạ
tại hình 2.4b.
Với việc áp dụng cách tiếp cận CSP, mô hình sẽ giảm đáng kể số phép tính toán. Tầng
SPP nằm giữa vẫn giữ nguyên kiến trúc không thay đổi so với YOLOv4.
Hình 2.5 mô tả kiến trúc của mô hình Scaled-YOLOv4. Phần màu xanh lá là backbone
của mô hình, ở đây ta có thể sử dụng backbone P5, P6, P7 như bài báo đề xuất dựa trên
kiến trúc của CSPDarknet hoặc ta có thể sử dụng chính CSPDarknet53 là backbone.
Phần màu xanh dương và cam chính là neck của mô hình, ở đây các khối sử dụng rCSP
chính là các khối tại hình 2.4b bỏ đi phần SPP ở giữa. Cuối cùng là head, phần này sử
dụng lại head của YOLOv4 để phát hiện và phân loại đối tượng.
Hình 2.6 hiển thị kết quả so sánh Scaled-YOLOv4 với các mô hình khác. Về phát hiện
đối tượng trong thời gian thực, các loại của scaled-YOLOv4 đều cho độ chính xác cao
hơn. Khi chia theo các ngưỡng FPS, với FPS lớn hơn 60, mô hình scaled-YOLOv4 sử
dụng backbone là CSPDarkNet53 có độ chính xác cao nhất. Với ngưỡng FPS từ 30 đến
60, scaled-YOLOv4 sử dụng backbone P5, P6 có độ chính xác cao nhất. Và với ngưỡng
FPS từ 15 đến 30, mô hình sử dụng backbone P7 vượt trội hơn cả.
Với hướng tiếp cận sử dụng các bộ phát hiện một lớp cho độ chính xác cao cũng như
có thể thực thi trong thời gian thực, đây là cách hợp lí, tiềm năng để giải quyết vấn đề
phát hiện và phân loại đối tượng sử dụng khẩu trang. Mô hình RetinaFaceMask cùng
hướng tiếp cận trực tiếp vấn đề sử dụng khẩu trang là mô hình scaled-YOLOv4 dẫn đầu
xu thế trong việc phát hiện và phân loại đối tượng sẽ là hướng đi chính của nhóm để giải
quyết bài toán.
8
NHỮNG NGHIÊN CỨU LIÊN QUAN
Hình 2.6: Kết quả của mô hình Scaled-YOLOv4 [2].
2.1.2
Phát hiện người
Mô hình truy vết của nhóm theo phương pháp truy vết bằng phát hiện nên đây là
một mô-đun đầu trong việc truy vết các đối tượng. Các mô hình phát hiện người có độ
chính xác rất cao do sự bùng nổ của học sâu trong xử lý ảnh.
Các máy quay giám sát thường sẽ cho một khung hình lớn bao quát một vùng nên
các đối tượng sẽ có kích cỡ nhỏ hơn. Ngoài ra, việc nhiều người đi cạnh nhau cũng sẽ dễ
khiến đối tượng gần máy quay hơn sẽ che lấp một phần hay đa số đối tượng khác nên
cần các mô hình thuộc về bộ phân loại hai lớp. Chúng hoạt động tốt với các đối tượng
nhỏ và bị đè lên nhau.
Có nhiều mô hình thuộc bộ phát hiện hai lớp có thể phát hiện các đối tượng rất tốt.
Trong đó, nổi bật hơn cả là Faster R-CNN[3]. Bộ phát hiện hai lớp này giúp phát hiện
các đối tượng chính xác hơn cũng như thời gian thực thi thấp giúp hạn chế đi nhược điểm
vốn có của các bộ phát hiện hai lớp. Ngoài ra, Mask R-CNN [4] cũng cho kết quả phát
hiện rất tốt bằng cách không chỉ phát hiện mà còn phân đoạn (segmentation) hình ảnh,
giúp phân tách đối tượng với ảnh nền phía sau cùng với các đối tượng che lấp. Vừa phát
hiện vừa phân đoạn giúp cả hai bổ trợ qua lại với nhau giúp độ chính xác được tăng đáng
kể. Đây là hai phương pháp nhóm đề xuất để áp dụng vào đề tài.
2.1.2.1
Faster R-CNN: Towards Real-Time Object Detection with Region
Proposal Networks [3]
Faster R-CNN [3] là bài báo được công bố vào 1/2016. Bài báo xây dựng mô hình phát
hiện đối tượng dựa trên mô hình Fast R-CNN [14] và sử dụng Region Proposal Network
(RPN) để chọn ra những vùng có đối tượng (Region of Interest). Mô hình cho kết quả
thực thi tương đối cùng với độ chính xác cao. Mô hình có ba cải tiến so với Fast R-CNN
[14]. Đó chính là sử dụng Region Proposal Network (RPN) để tìm ra các vùng chứa đối
9
NHỮNG NGHIÊN CỨU LIÊN QUAN
Hình 2.7: Mô hình RPN sử dụng các anchor box có kích thước khác nhau
tượng, sử dụng các anchor box được định nghĩa trước để xác định các đối tượng theo
nhiều kích cỡ khác nhau và chia sẻ trọng số giữa RPN cùng Fast R-CNN [14] để giảm
thời gian tính toán.
Các mô hình R-CNN trước đây phụ thuộc khá nhiều vào các giải thuật để tìm các
vùng chứa đối tượng. Sau đó lưu lại dữ liệu các vùng ấy và đưa vào một mạng phân loại.
Nhưng với Region Proposal Network (RPN) được đề xuất bởi bài báo, mô hình mới này
sẽ có các ưu điểm sau:
• Phần phát hiện các vùng xuất hiện đối tượng bây giờ đã là một mạng học sâu và ta
có thể huấn luyện và chỉnh sửa sao cho phù hợp với bài toán cần giải.
• Với các mô hình R-CNN khác, mỗi phần ta cần phải huấn luyện riêng lẻ và gắn lại
vào nhau nhưng với việc thay đổi bộ phận phát hiện vùng có đối tượng thành một
mạng học sâu, ta có thể nối vào cả hệ thống giúp việc huấn luyện nhất quán hơn.
Region Proposal Network (RPN) sử dụng đặc trưng được tạo ra bởi các lớp mạng tích
chập được chồng vào nhau. Sau đó sử dụng các cửa sổ trượt trên dữ liệu đầu vào đó để
tạo ra các vùng chứa đối tượng. Các vùng được chọn này sau đó được chọn dựa trên mức
xác định đối tượng có thật sự có tại vùng đó không.
Tiếp theo, mô hình sử dụng các anchor box để xác định các đối tượng. Với các anchor
box được định nghĩa trước với các kích cỡ và tỷ lệ khung khác nhau, các đối tượng từ
nhỏ đến lớn đều có thể được phát hiện. Điều này giúp ta không cần phải huấn luyện mô
hình với nhiều phiên bản có kích thước khác nhau của cùng một ảnh giúp việc tính toán
trở nên dễ dàng hơn. Hình 2.7 mô tả cách các anchor box khác nhau qua RPN để cho ra
các vùng chứa đối tượng.
Hai phần Region Proposal Network (RPN) cùng với Fast R-CNN [14] có chức năng
tìm các vùng có chứa đối tượng và phát hiện đối tượng. Với sự kết hợp thành một mạng
duy nhất, chúng có thể được huấn luyện một lần mà không cần phải chia ra thành các
phần khác nhau của mô hình để huấn luyện. Cả hai phần đều chia sẻ trọng số từ các lớp
tính chập giống nhau. Các lớp tính chập này chỉ có một nhưng sẽ được sử dụng bởi cả
hai mạng trong một mô hình.
Hình 2.8 mô tả kiến trúc của Faster R-CNN [3]. Tổng quan, mô hình Faster R-CNN
[3] có cách hoạt động như sau:
• Từ hình ảnh đầu vào, ta sử dụng
acrshortrpn để tạo ra các vùng chứa đối tượng.
10
- Xem thêm -