YOLO là một mô hình học sâu dựa trên mô hình CNN kết hợp giữa các lớp convolutional layer và connected layer để dự đoán vị trí và đối tượng.
Hình 2.2: Mô hình YOLO ban đầu
Mô hình YOLO sử dụng một phương pháp tiếp cận hoàn toàn khác. Nó thực hiện cho ảnh đầu vào qua một mạng CNN duy nhất. Mạng CNN sẽ chia hình ảnh thành các khu vực dự đoán hộp giới hạn và xác suất của mỗi khu vực đó. Trong ví dụ phía dưới kết quả trả về cuối cùng của mô hình thu được một ma trận 3 chiều có kích thước 7x7x30. Tương ứng YOLO đã chia hình ảnh đầu vào thành lưới 7x7 (SxS). Mỗi ô chỉ dự đoán một đối tượng. Như ví dụ dưới: ô màu vàng cố gắng dự đoán đối tượng ô tô có tâm(điểm màu xanh) nằm trong ô lưới đó.
Hình 2.3: Ô chịu trách nhiệm dự đoán đối tượng xe ô tô
Vậy YOLO thực sự hoạt động ra sao?
YOLO thống nhất toàn bộ các thành phần riêng biệt trong phát hiện đối tượng vào một mạng nơ-ron duy nhất. Nó sử dụng các đặc trưng từ toàn bức ảnh để dự đoán xác suất của tất cả các lớp cho mỗi hộp giới hạn. Bức ảnh sẽ được chia thành SxS ô, nếu tâm của đối tượng nằm trong một ô, thì ô đó sẽ chịu trách nhiệm phát hiện đối tượng này. Mỗi ô sẽ dự đoán B hộp giới hạn và độ tin cậy (confidence score) tương ứng mỗi hộp. Độ tin cậy phản ánh độ tin cây của việc đối tượng có nằm trong hộp đó hay không, đồng thời là độ chính xác, độ khớp của hộp đối với đối tượng. Độ tin cậy được định nghĩa bởi công thức:
𝑏𝑜𝑥 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 𝑠𝑐𝑜𝑟𝑒 = 𝑃𝑟(𝑜𝑏𝑗) ∗ 𝐼𝑂𝑈𝑝𝑟𝑒𝑑𝑡𝑟𝑢𝑡ℎ
Với 𝑃𝑟(𝑜𝑏𝑗) giá trị trong đoạn [0, 1] thể hiện khả năng hộp đó chứa đối tượng,
𝐼𝑂𝑈𝑝𝑟𝑒𝑑𝑡𝑟𝑢𝑡ℎ là giá trị Intersection Over Union thể hiện độ khớp của hộp dự đoán
(prediction box) so với hộp giới hạn thức sự của đối tượng (ground-truth box). Nếu không tồn tại đối tượng nào trong ô, độ tin cậy của nó sẽ có giá trị bằng không. Mỗi hộp giới hạn chứa 5 giá trị x, y, w, h và confidence. Tọa độ (x, y) thể hiện vị trí tương ứng đối của tâm đối tượng so với viền của hộ giới hạn đó. w, h là kích thước tương đối của chiều rộng và chiều cao của hộp giới hạn so với kích thước toàn bức
ảnh. Cuối cùng, confidence như đã nói ở trên thể hiện IOU giữa predicted box và
ground truth box.
Mỗi ô đồng thời dự đoán C xác suất có điều kiện của C lớp cho trước,
𝑃𝑟(𝐶𝑙𝑎𝑠𝑠𝑖/𝑂𝑏𝑗𝑒𝑐𝑡) xác suất này phụ thuộc việc tồn tại đối tượng ở ô và chỉ dự đoán
một tập C xác suất tương ứng mỗi ô, không quan tâm đến B hộp giới hạn.
Ý tưởng chính của YOLO là xây dựng một mạng CNN dự đoán một kết quả đầu ra có kích thước SxSx(Bx5 +C) giá trị. Như hình trên kết quả đầu ra có kích thước 7x7x30
giá trị, YOLO sử dụng một mạng CNN để giảm chiều không gian về 7x7 với 1024
giá trị cho mỗi vị trí. YOLO thực hiện hồi quy tuyến tính bằng cách sử dụng hai lớp fully connected layer để tạo ra SxSxB hộp giới hạn tương ứng 7x7x2 (với hình ảnh thứ 2 trên hình ). Để tạo dự đoán cuối cùng, chúng ta cần giữ lại các hộp có độ tin cậy cao (ví dụ lớn hơn 0.3) làm kết quả dự đoán cuối cùng (như hình ảnh thứ 3 trong hình)
Chúng ta xác định độ tin cậy của mỗi lớp (class confidence score) cho mỗi hộp được dự đoán qua:
𝑐𝑙𝑎𝑠𝑠 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 𝑠𝑐𝑜𝑟𝑒
= 𝑏𝑜𝑥 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 𝑠𝑐𝑜𝑟𝑒 𝑥 𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛𝑎𝑙 𝑐𝑙𝑎𝑠𝑠 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦
YOLO tính toán độ tin cậy trên cả bộ phân loại và bộ xác định vị trí nơi một đối tượng được đặt.
Chúng ta có thể kết hợp các phụ thuộc về điểm số và xác suất một cách dễ dàng qua các biểu thức dưới đây.
𝑏𝑜𝑥 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 𝑠𝑐𝑜𝑟𝑒 = 𝑃𝑟(𝑜𝑏𝑗) ∗ 𝐼𝑂𝑈𝑝𝑟𝑒𝑑𝑡𝑟𝑢𝑡ℎ
𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛𝑎𝑙 𝑐𝑙𝑎𝑠𝑠 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 = 𝑃𝑟(𝐶𝑙𝑎𝑠𝑠𝑖|𝑂𝑏𝑗𝑒𝑐𝑡).
𝑐𝑙𝑎𝑠𝑠 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 𝑠𝑐𝑜𝑟𝑒 = 𝑃𝑟(𝑐𝑙𝑎𝑠𝑠𝑖) ∗ 𝐼𝑂𝑈𝑝𝑟𝑒𝑑𝑡𝑟𝑢𝑡ℎ
= 𝑏𝑜𝑥 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 𝑠𝑐𝑜𝑟𝑒 𝑥 𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛𝑎𝑙 𝑐𝑙𝑎𝑠𝑠 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦
Trong đó:
- 𝑃𝑟(𝑂𝑏𝑗): Xác suất hộp chứa đối tượng
- 𝑃𝑟(𝐶𝑙𝑎𝑠𝑠𝑖|𝑂𝑏𝑗): Xác suất đối tượng thuộc lớp thứ i với điều kiện hộp chứa đối tượng
- 𝑃𝑟(𝑐𝑙𝑎𝑠𝑠𝑖): Xác suất đối tượng thuộc về lớp thứ i
Để giải quyết vấn đề chồng chéo giữa các hộp giới hạn của mô hình YOLO chúng ta sử dụng giải thuật Non-maximum suppression (NMS)[8]
Ý tưởng chung của non-maximum suppression là giảm số lượng hộp giới hạn được đề xuất gần với số hộp giới hạn chưa đối tượng thực tế. Nếu đối tượng trong khung là khá lớn và có hơn 200 đề xuất được tạo ra thì có khả năng là một số đề xuất hộp giới hạn này sẽ có sự chồng chéo đáng kể với nhau. Giải thuật NMS sử dụng độ tin cậy của các hộp giới hạn và sự chồng chéo giữa các hộp để loại bỏ nhưng hộp trùng lặp.
Hình 2.4: Quá trình non-maximum suppression