Cơ bản về hoạt động của mô hình Single Shot 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: Nghiên cứu, thử nghiệm thiết bị nhận dạng trạng thái tài xế lái xe ô tô (Trang 30 - 39)

e Ý tưởng:

Ý tưởng chính của SSD đến từ việc sử dụng các bounding box, bằng

việc khởi tạo sẵn các box tại mỗi vị trí trên ảnh, SSD sẽ tính toán và

19

đánh giá thông tin tại mỗi vi trí xem vi trí đó có vật thé hay không,

nêu có thì là vật thê nào, và dựa trên két quả của các vi trí gan nhau,

SSD sẽ tính toán được một box phù hợp nhất bao trọn vật thê.

Ngoài ra, bằng việc tính toán bounding box trên các feature map khác nhau, tại mỗi tầng feature map, một box sẽ ôm trọn một phần hình ảnh

với các kích thước khác nhau. Như trên ví dụ dưới đây (hình 11), con

mèo và con chó có thé được phát hiện ở hai tầng feature map khác

nhau, hai kích thước và tỉ lệ khác nhau. Thay vì sử dụng một box và

thay đổi kích thước box cho phù hợp với vật thé, thì SSD sử dụng nhiều box trên nhiều tầng, từ đó tổng hợp ra vị trí và kích thước box kết quả. Bằng việc loại trừ các region proposal, SDD có thê đạt được tốc tộ xử lí cao hơn Faster R-CNN.

lŸloc : A(cz, cụ, w, h)

conf : (ex, 21° ` Cụ)

e Kiến trúc của Single Shot Detector:

SSD sử dụng kiến trúc VGG16 — một kiến trúc mạng tích chập tiêu chuẩn thường được sử dụng cho việc detect ảnh có chất lượng cao — đóng vai trò như một kiến trúc cơ sở cho hệ thống để extract các feature map. Sau đó SSD thêm một số convolutional feature layers vào phía sau kiến trúc VGG16. SSD sử dụng các filter có kích thước 3

x 3 x p trên các layer dùng dé dự đoán thay vi dùng fully connected layer như trên YOLO. Bằng việc sử dụng các filter, kích thước của

20

các feature map sẽ giảm dân theo độ sâu của mang, hỗ trợ cho việc

phát hiện vật thé ở các kích thước và tỉ lệ khác nhau.

Trên một feature map kích cỡ m x n, tại mỗi vị trí cell hay tại mỗi pixel, khởi tạo các default bounding box, các box này có vai trò giống như các anchor của Faster R-CNN. Tuy nhiên, vì vị trí của mỗi cell cố định nên các box nảy cũng sẽ được cố định. Tại mỗi cell, giả sử khởi tạo k box, SSD phải tính toán phân loại c class và đồng thời tính toán xem hình dáng của box như thế nào, như tọa độ (cx, cy), dài và rộng (w, h). Vậy tổng số tính toán là (c+4) * k * m * n.

Extra Feature Layers

J

Classifier : Conv: 3x3x(6x(Classes+4))

Fa — \ `

Conv: 3x3x1024 Conv: 1x1x1024 Com:1xx296 Conv: 1x1xi28 Conv:1xixi28 Conv:1x1x128

Conv: 3x3x512-s2 Conv: 3x3x266-s2 Conv: 3x3x256-81 Conv: 3x3x256-s1

74.3mMAP

59FPS

Conv: 3x3x(4x(Classes+4)) Detections:8732 per Class

Hình 12. Kiến trúc của mô hình Single Shot Detector [12]

2.4.3. Training với mô hình Single Shot Detector

Việc training của Single Shot Detector yêu cầu được cung cap thông tin

về các groundtruth của vật thé bao gồm các thông tin về class và shape.

Vì vậy dé thực hiên training cho mô hình, chúng ta phải cần một tập dữ liệu chứa khung để xác định vị trí của mỗi đối tượng và được gán nhãn

tương ứng.

Khái niệm về Intersection Over Union (IoU):

e Là chỉ số đánh giá được sử dụng để đo độ chính xác của các Object

Detector trên tập dt liệu cu thé. Mọi thuật toán có khả năng dự đoán

ra các bounding box làm output đều có thê được đánh giá qua IoU.

21

e Để có thé áp dụng được IoU dé đánh giá một Object Detector bat ki

ta cần: những ground-truth bounding box (bounding box đúng của đối tượng, ví dụ như bounding box của đối tượng được khoanh vùng

và đánh nhãn bằng tay sử dụng trong tập test.) và Những predicted

bounding box được sinh ra từ model. Ví dụ như hình sau:

- Predicted bounding box

Hình 13. Ví du về Intersection Over Union

e Công thức tinh toán Inersection over Union có thé được định nghĩa

thông qua:

22

Area of Overlap loU =

Area of Union

Hình 14. Công thức tinh cua Intersection Over Union

Nhìn vào công thức này, ban sẽ thay IoU đơn giản là một tỉ lệ. O tử số

ta tính toán area of overlap - diện tính phần chồng lên nhau giữa predicted bounding box và ground-truth bounding box. Phần mẫu số là area of union - diện tích phần hợp - hay đơn giản hơn là diện tích mà hai bounding box này đang chiếm. Chia diện tích phần chồng (giao) cho diện tích phần hợp sẽ thu được giá trị mà ta mong muốn -

Intersection over Union (IoU).

Poor Excellent

Hình 15. Công thức tinh cua Intersection Over Union (tt)

23

2.4.4.

e Trong quá trình traning, ta tiến hành tìm các default box trên các

feature map phù hợp với ground-truth bounding box bằng cách tìm các box có loU cao. Thường các box được chọn sẽ có chỉ số loU > 0.5. Trong trường hợp có nhiều box có IoU lớn hơn 0.5 thì chương trình sẽ ưu tiên chọn các box có chỉ số IoU cao hơn.

Hàm loss của mô hình Single Shot Detector

Ham loss của mô hình Single Shot Detector được xây dựng bang hai hàm chính là localization loss để đánh giá việc phát hiện và

confidence loss dé đánh giá việc phân lớp đối tượng.

Đặt xi = {1,0} ứng với default box thứ i khớp với groundtruth thứ j

thuộc lớp p, ta có ham loss sau:

1 2.20

LG;e,L,8) = 7 Leon Gre) + luce bg) “ẾD

N ở đây là số lượng những default box phù hợp được tìm ở bước trên. Nếu N =0 thi Loss = 0. Ham Loss L„„„ được tính bằng Smooth L1

loss giữa box dự đoán (1) và ground-truth box (g). Với các tham số như điểm chính giữ (cx, cy) của default box (d) và chiều dài (w),

chiều rộng (h).

e Localization Loss:

N

Lục (%X, Lg) = ằ ằ xjsmooth,(" — Gj) (2.21)

i € Pos mE {cx,cy,w,h}

e Confidence Loss:

N

Leong (40) = — ằ xj, log(ờ”) — >, log(ờ7) (2.22)

¡€Pos ie€ Neg

24

Với

yy. 2)

' Yip exp (c;’)

2.4.5. Chon kích thước và tỉ lệ default box

Các feature map ở độ sâu khác nhau sẽ có kích thước khác nhau, vì

vậy, kích thước của các default box cũng được thay đổi theo độ sâu của feature map. Ví dụ với độ sâu là m (bao gồm m feature map tai

bước detect):

S — Smin

Sk = Smin aig = [1, mM], Smin = 0.2, Smax = 0.9

Giả sử với m = 3, ta lân lượt sẽ có s; = 0.2, sz = 0.55, s3 = 0.9.

Với tỉ lệ giữa chiêu dai va chiêu rộng cua box, sẽ tính được với a, €

{1,2,3,5, 311

Chiều dài và chiều rộng có thé tinh từ a, :

wt = Sự ay (2.23)

ht = s/o (2.24)

Với trường hop tỉ lệ bang 1, ta thêm 1 box nữa với kích thước là

Sự = VwSxS„ +1. Như vậy, trên một vi trí của feature map sẽ có

tổng cộng 6 bounding box. Tâm điểm của mỗi box sẽ được tính bằng:

25

i+05 J+05

lfw| ’ lfkl

( )

Với |ƒ„| là kích cỡ của feature map hình vuông i,j là vị trí của cell.

2.5. Phương pháp đánh giá một model Machine Learning"*!

Việc đánh giá sẽ được dựa vào những chỉ số như sau để đánh giá tính chính xác

và cũng đánh giá tính độ tin cậy của model.

Accuracy (độ chính xác): Day là cách đơn giản và được sử dụng nhiều nhất. tính

tỉ lệ giữa số điểm được dự đoán đúng va tổng số điểm trong tập dữ liệu kiểm thử. Cách đánh giá này đơn giản tính tỉ lệ giữa số điểm được dự đoán đúng và tong số điểm trong tập dữ liệu kiểm thử.

Confusion matrix: Chỉ ra được cu thé mỗi loại được phân loại như thế nào, lớp nào được phân loại đúng nhiều nhất, và đữ liệu thuộc lớp nào thường bị phân loại nhằm vào lớp khác. Về cơ bản, confusion matrix thể hiện có bao nhiêu điểm

dir liệu thực sự thuộc vào một class, và được dự đoán là rơi vào một class.

True/False Positive/Negative: thường được áp dụng cho các bài toán phân lớp

có hai lớp dữ liệu. Cụ thé hơn, trong hai lớp dữ liệu này có một lớp nghiêm trọng hơn lớp kia và cần được dự đoán chính xác. Ví dụ, trong bài toán xác định

có bệnh ung thư hay không thì việc không bị sót (miss) quan trọng hơn là việc

chân đoán nhằm âm tính thành dương tính. Trong bài toán xác định có mìn dưới lòng đất hay không thì việc bỏ sót nghiêm trọng hơn việc báo động nhằm rất nhiều. Hay trong bài toán lọc email rác thì việc cho nhằm email quan trọng vào

thùng rác nghiêm trọng hơn việc xác định một email rác là email thường.

Trong những bài toán này, thường định nghĩa lớp dữ liệu quan trọng hơn cần

được xác định đúng là lớp Positive (P-dương tính), lớp còn lại được gọi là Negative (N-âm tính). Ta định nghĩa True Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN) dựa trên confusion matrix.

Precision va Recall: Với bài toán phan loại mà tap dữ liệu của các lớp là chênh

lệch nhau rất nhiều, có một phép đó hiệu quả thường được sử dụng là Precision-

Recall.

26

Với một cách xác định một lớp là positive, Precision được định nghĩa là tỉ lệ số điểm true positive trong số những điểm được phân loại là positive (TP + EP). Recall được định nghĩa là tỉ lệ số điểm true positive trong số những điểm thực

sự là positive (TP + FN).

Một cách toán hoc, Precison va Recall là hai phân số có tử số bằng nhau nhưng

mâu sô khác nhau:

TP (2.25)

Precision =

recision TP + FP

TP (2.26)

Recall = TP + FN

Precision cao đồng nghĩa với việc độ chính xác của các điểm tìm được là cao. Recall cao đồng nghĩa với việc True Positive Rate cao, tức tỉ lệ bỏ sót các điểm thực sự positive là thấp.

F1-score: là harmonic mean của precision va recall

2 _ 1 Ẫ 1 (2.27)

F1 precision recall

bò. 1 =2 precision * recall (2.28)

1 TT +

precision recall

precision + recall

Fl-score có giá trị nằm trong nửa khoảng (0, 1]. F1- score càng cao, bộ phan lớp càng tốt. Khi ca recall va precision đều bằng 1 (tốt nhất có thể), F, = 1.

2.6. Tìm hiểu về kit NVIDIA Jetson nano

2.6.1. Giới thiệu chung

NVIDIA Jetson Nano Developer Kit là một máy tính nhỏ nhưng rất mạnh mẽ cho phép bạn chạy song song nhiều neural network để có thể sử dụng cho nhiều loại ứng dụng như phân loại hình ảnh, phát hiện đối tượng, phân đoạn

27

và xử lý giọng nói. Tất cả trong cùng một nên tảng dễ sử dụng cũng như tiêu tốn ít hơn 5 wats.

Jetson Nano cũng cấp 472 GFLOPS để chạy các thuật toán AI hiện đại một

cách nhanh chóng, với một CPU quad-core 64-bit ARM, một NVIDIA GPU

128-core được tích hợp trên board mạch, cũng như bộ nhớ 4GB LPDDR4.

Có thể chạy song song nhiều mạng neural và xử lý đồng thời một số cảm biến có độ phân giải cao.

Chú thích: Thuật ngữ GFLOPS là một chỉ số đại diện cho tốc độ và khả năng

tính toán của GPU, tương đương với khả năng thực hiện 19.2 tỷ phép tính trên một giây.

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: Nghiên cứu, thử nghiệm thiết bị nhận dạng trạng thái tài xế lái xe ô tô (Trang 30 - 39)

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

(66 trang)