Kiến trúc SSD - Single Shot MultiBox Detector

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật máy tính: Xây dựng chương trình điều khiển xe tự hành ứng dụng deep learning (Trang 43 - 48)

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

Một phần của tài liệu Khóa luận tốt nghiệp Kỹ thuật máy tính: Xây dựng chương trình điều khiển xe tự hành ứng dụng deep learning (Trang 43 - 48)

Tải bản đầy đủ (PDF)

(90 trang)