Đầu tiên, hình ảnh đầu vào sẽ được chia thành một lưới SxS ô (grid of cells).
Mỗi ô (cell) sẽ phát hiện các đối tượng xuất hiện bên trong chúng .Nếu một trung tâm của object nằm trong 1 ô lưới nhất định thì ô này sẽ chịu trách nhiệm phát hiện ra nó.
Dự đoán các boungding box
Tại mỗi grid cell sẽ có trách nhiệm dự đoán một số lượng B bounding boxes có kích thước khác nhau để bao phủ các đối tượng cần xác định trong hình và phân phối xác suất của C classes của bài toán.
Mỗi một bounding box dự đoán được tạo thành có năm thành phần chính là: (x, y, w, h, confidence). Trong đó (x, y) là các tọa độ đại diện cho tâm của bounding box,liên quan đến vị trí gird cell. (w, h) lần lượt là các kích thước chiều rộng và chiều cao của box. Chúng được chuẩn hóa để nằm trong khoảng [0;1].
Sau khi thuật toán được thực hiện, mỗi bounding box sẽ được gán những confidence , là chỉ số đại diện cho việc boungding box có chứa một đối tượng nào bên trong hay không, được tính với xác suất cụ thể.
Confidence (độ tin cậy) được định nghĩa là Pr (Object) × IOU (pred, truth).
Pr(Object): Xác suất có một đối tượng được chứa bên trong bounding box đó. IOU (pred,truth) (IOU - Intersection over union) là tỉ lệ trùng khớp của bounding box được dự đoán với groundtruth của một đối tượng.
Nếu không có object nào tồn tại thì confidence bằng 0. Trong thực tế, ta không có được groundtruth của đối tượng cho nên trong quá trình testing chỉ số confidence sẽ chỉ còn là xác suất Pr(Object).
Một biểu diễn công thức IOU
Ta thấy mỗi bounding box dự đoán có 5 thành phần tham số, mỗi cell tạo ra B box dự đoán,vì vậy sẽ có tổng số SxSxB*5 đầu ra liên quan đến các box dự đoán.Mà YOLO chỉ dự đoán một tập xác suất của class trên mỗi ô nên tổng xác suất của class là SxSxC (C là số lượng class của bài toán). Tổng kết lại,chúng ta nhận được một ma trận khối 3 chiều (tensor) có SxSx(B*5+C) giá trị làm đầu ra (output).
S=3 ,B=2 ,C=3
Sau khi có được output này, ta nhận được rất nhiều bounding boxes được dự đoán ra bởi mỗi cell. Nhưng phần lớn trong số chúng đều có chỉ số confidence thấp hoặc bao phủ cùng một đối tượng trong ảnh. Vì vậy chúng ta cần phải loại bỏ hết những bounding boxes “dư thừa” để xác định chính xác và chỉ còn lại 1 bounding box tốt nhất cho 1 đối tượng tìm được. YOLO sử dụng Non-Max Suppresstion (NMS) để có thể loại bỏ được hầu hết các bounding box bị trùng một đối tượng và những box có confidence thấp hơn một ngưỡng nhất định.Giữ lại những bounding box có chỉ số cao.
Non-max suppression
Các bước của NMS:
Bước 1: Đầu tiên chúng ta sẽ tìm cách giảm bớt số lượng các bounding box bằng cách lọc bỏ toàn bộ những bounding box có xác suất chứa vật thể nhỏ hơn một ngưỡng confidence nào đó, thường là 0.5.
Bước 2: Đối với các bouding box giao nhau, non-max suppression sẽ lựa chọn ra một bounding box có xác xuất chứa vật thể là lớn nhất. Sau đó tính toán chỉ số giao thoa IoU với các bounding box còn lại.