2.5.8.1. Tổng quan
Các thuật toán thuộc nhóm region proposal tuy cho kết quả có độ chính xác cao, nhưng chúng có một nhược điểm rất lớn là thời gian huấn luyện và đưa quyết
định rất chậm. Faster R-CNN có tốc độ xử lý khoảng 7 FPS trên tập dữ liệu
PASCAL VOC 2007. Thuật toán Single shot detection chạy khá nhanh, nhưng độ
chính xác của nó không cao lắm (không bằng region proposal). Thuật toán có vấn
đề về việc nhận dạng các đối tượng có kích thước nhỏ.
2.5.8.2. Co chế hoạt động
Cũng giống như hầu hết các kiến trúc object detection khác, đầu vào của SSD là tọa độ bounding box của vật thê (hay còn gọi là offsets của bounding box)
và nhãn của vật thể chứa trong bounding box. Điểm đặc biệt làm nên tốc độ của
SSD model là mô hình sử dụng một mạng neural duy nhất. Cách tiếp cận của nó
dựa trên việc nhận diện vật thé trong các features map (là một output shape 3D của một mang deep CNN sau khi bỏ các fully connected layers cuối) có độ phân giải
khác nhau. Mô hình sẽ tạo ra một lưới các ô vuông gọi là grid cells trên các feature
map, mỗi ô được gọi là một cell và từ tâm của mỗi cell xác định một tập hợp các
boxes mặc định (default boxes) dé dự đoán khung hình có khả năng bao quanh vật thé. Tai thời điểm dự báo, mạng neural sẽ trả về 2 giá trị đó là: phân phối xác suất
nhãn của vật thê chứa trong bounding box và một tọa độ gọi là offsets của bounding box. Quá trình huấn luyện cũng là quá trình tinh chỉnh xác suất nhãn và bounding
box về đúng với các giá trị ground truth input của mô hình (gồm nhãn và offsets
bounding box).
38
Thêm nữa, network được kết hợp bởi rất nhiều các feature map với những độ phân giải khác nhau giúp phát hiện được những vật thé đa dạng các kích thước và
hình dạng. Trái với mô hình fast R-CNN, SSD bỏ qua bước tao mặt na region
proposal network dé đề xuất vùng vật thé. Thay vào đó tat cả quá trình phát hiện vật thể và phân loại vật thê được thực hiện trong cùng | mang. Bản thân tên của mô
hình - Single Shot MultiBox Detector cũng nói lên được rằng mô hình sử dụng
nhiều khung hình box với tỷ lệ scales khác nhau nhằm nhận diện vùng vật thể và
phân loại vật thé, giảm thiêu được bước tao region proposal network so với fast R-
CNN nên tăng tốc độ xử lý lên nhiều lần mà tốc độ xử lý vẫn đảm bảo. Bên dưới là bảng so sánh tốc độ running của các mô hình object detection.
2.5.8.3. Một số khái niệm
Multibox
Kỹ thuật bounding box được sử dụng trong SSD được lấy ý tưởng từ Szegedy, một phương pháp sử dụng nhiều bounding box phù hợp với mọi đối tượng lớn nhỏ. Dưới đây là kiến trúc của multi-scale convolution prediction được sử dụng trong SSD.
Hàm lỗi của MultiBox là sự kết hợp của 2 thành phần tương ứng với 2 chức
năng của SSD:
Confidence Loss: thành phần này tính toán tỉ lệ rơi vào class mà bounding box được tính toán. Độ đo cross-entropy được sử dụng đề đo thành phần này.
Location Loss: Thành phan này ước lượng sự sai lệch thực tế của bounding
box so với tập dữ liệu mẫu. L2-Norm được sử dụng ở đây.
Ham loss được xây dựng với 2 thành phan trên có công thức như sau:
multibox_loss = confidence_ loss + alpha * location_loss
Giá tri alpha giúp cân bằng được sự ảnh hưởng của location loss. Cũng như nhiều mô hình mạng trong deep learning, mục tiêu là tìm những giá trị tham số có thé tối thiểu được hàm Loss tốt nhất, theo đó đưa ra được những dự đoán cảng gần VỚI
dữ liệu mẫu.
39
MultiBox Prior và IoU
Logic xoay quanh việc tạo ra bounding box thực sự khá phức tạp. Trong
MultiBox, một khái niệm được sử dụng là priors (hay thuật ngữ anchors trong
Faster-R-CNN), là những bounding box được tính toán trước với kích thước có định tuân theo phân phối gần với phân phối của bounding box mẫu. Trong thực tế, những
priors này được lựa chọn khi tỉ lệ Intersection/Union (IoU) lớn hơn ngưỡng 0.5.
Như mô tả trong hình dưới dây, giá trị IoU tại 0.5 vẫn chưa đủ tốt nhưng nó sẽ là
một điểm bắt đầu tương đối ồn cho thuật cho giải thuật bounding box regression
(chính là việc học tham số của mạng) điều này thực sự sẽ tiết kiệm thời gian và đem
lại kêt quả tot hon rat nhiêu so với việc bat dau tại một vi trí ngẫu nhiên.
Do đó MultiBox bắt đầu với priors như một prediction khởi tạo với mục đích hồi quy gần hơn với bounding box thực sự.
Ground-truth bounđing box |
esses predicted bounding box
Area of
AreaofOverap = L____ rj
loU =
Area of Union “
Poor Excellent
Hình 2.19 Sơ đồ giải thích về IoU [17].
40
Kiến trúc của Multibox bao gồm 11 priors với mỗi feature map cell (8x8, 6x6, 4x4, 3x3, 2x2) và chỉ 1 prior với 1x1 feature map dẫn đến tổng cộng có 1420
priors với mỗi hình anh, do đó cho phép bao phủ hoàn toàn một bức ảnh đầu vào
trên những tỉ lệ khác nhau, khiến việc nhận diện những đối tượng ở các kích thước
khác nhau trở nên dễ dàng [17].
Fixed Priors
Không giống với MultiBox, mỗi feature map cell sé được gắn với một tập các bounding box mặc định với số chiều và tỉ lệ khác nhau. Các Priors này được lựa chọn băng tay. Phương pháp này cho phép SSD tạo được bounding box cho bắt kì
kiểu đầu vào nào mà không yêu cầu một phase pre-trained nào cho việc tạo ra
priors. Ví dụ, giả sử ta có 2 điểm là (x1, y1) và (x2, y2) với mỗi tập b bounding box mặc định cho mỗi feature map cell và c classes cho việc phân loại. Với một feature
map có kích thước f = m x n, SSD sẽ tính ra f x b x (4+c) giá tri cho feature map
này. Hình dưới đây minh họa cho ý tưởng cua Fixed Priors
(a) Image with GT boxes (b) 8 x 8 feature map (c) 4 x 4 feature map
Hình 2.20 Cách thức phan chia feature map [18].
SSD dựa trên một tiến trình lan truyền thuận của một kiến trúc chuẩn (chăng
hạn VGG16) dé tạo ra một khối feature map output gồm 3 chiều ở giai đoạn sớm.
Chúng ta gọi kiến trúc mạng này là base network (tính từ input Image đến Conv7
trong hình 3). Sau đó chúng ta sẽ thêm những kiến trúc phía sau base network dé
41
tiền hành nhận diện vật thể như phan Extra Feature Layers trong sơ đồ. Các layers này được diễn giải đơn giản như sau:
Extra Feature Layers
VGG-16 f +
throu Classifier : Conv: 3x3x(4x(Classes+4))
Classifier : Conv: 3x3x(6x(Classes+4))
„ ` N RS |
ia 5 Conv: 3x3x(4x(Classes+4)) | #9
| Coma. KX
tô tamle K———
tơaá \ | st2 \ {26 248 Ni
——-l ~ eae I3
‘Conv: 3x3x1024 Conv: 1x1x1024 Conv: 1x1x256 Conv: tx1x128 Com:1xixi28 Conv 1x1x128
Conv: 3x3x512-s2 Conv: 3x3x256-82 Conv: 3x3x256-81 Conv. 3x3x256-51
74.3mAP
59FPS
SSD Detections:8732 per Class Non-Maximum Suppression
Hình 2.21 Kiến trúc SSD với basenet là VGG16 [18].
2.5.8.4. So sánh
So với Yolo, Fast RCNN, Faster RCNN thì SSD mang lại độ chính xác va toc độ xử lý cao hơn. Nhận diện được các đôi tượng lớn vừa và nhỏ.
data mAP| aero bike bird boat bottle bus car cat chair cow table
82.3 78.4 70.8 52.3 38.7 77.8 71.6 & 44.2 73.0
84.9 79.8 74.3 53.9 49.8 77.5 75.9 88. 5 45.6 77.1 55.3
87.4 83.6 76.8 62.9 59.6 81.9 82.0 91. 3 54.9 82.6 59.0
77.0 67.2 57.7 38.3 22.7 68.3 55.9 81.
85.6 80.1 70.5 57.6 46.2 79.4 76.1 89.2 53.
Fast[6]
Faster[2] Z
Faster[2] |07++12+COCO
YOLO[5]
SSD300 Ấy 3.0 77.0 60.8
SSD300 |07++12+COCO] 77.5|90.2 83.3 76.3 63.0 53.6 83.8 82.8 92.0 59.7 82.7 63.5 SSD512 2 .0|87.4 82.3 75.8 59.0 52.6 81.7 81.5 90.0 55.4 79.0 59.8 SSD512_ |07++12+COCO | 80.0 | 90.7 86.8 80.5 67.8 60.8 86.3 85.5 93.5 63.2 85.7 64.4
Hình 2.22 Độ chính xác cua SSD trên tập dữ liệu PASCAL VOC 2012 [18].
Method mAP | FPS | batch size | # Boxes | Input resolution Faster R-CNN (VGG16) 3. ~ 1000 x 600 Fast YOLO 52.7 | 155 1 448 x 448
YOLO (VGGI6) 66.4 | 21 | 08 448 x 448
SSD300 743 | 46 1 8732 300 x 300
SSD512 76.8 | 19 1 24564 512 x 512
SSD300 743 | 59 8 8732 300 x 300
SSDS12 76.8 | 22 8 24564 512 x 512
Hình 2.23 So sánh tốc độ của SSD [18].
42