iT邦幫忙

2021 iThome 鐵人賽

DAY 23
1

前面我們認識的都是"two stage"的方法,在整體的運行過程上沒有那麼快速,所以在很多行動裝置上都漸漸地採用"oen stage"來做影像辨識,這邊要介紹的是 YOLO 系列!

YOLO(You Only Look Once)

"只要讓我看一眼,我就知道是什麼",像字面上的意思,當圖片經過 YOLO 這個演算法,只需要對圖片做一次深度學習便能夠判斷裡面的物體類別跟位置,且可以一次偵測多個物件,大大提升辨識速度。

接下來我們先從一開始的 YOLOv1 開始認識吧~

YOLOv1

YOLOv1 就是這個構想的第一版,把整張圖片當作輸入,會直接預測出 bounding box 的座標位置,且 bounding box 包含物體的 confidence 和物體的 classification

confidence 是物體的信心分數,代表此框為 ground truth 的機率為多少。

YOLOv1 的實現

基本上就是將圖拆成很多個 grid cell,然後在每個 grid cell 進行 bounding box 的預測和屬於哪個類別的機率預測,最後用 threshold 和 NMS (非極大值抑制,Non-Maximum Suppression)的方式得到結果。

  • step 1
    YOLO 會把圖平均分成 S×S 格,每一格在英文中被稱為 grid cell。
    當"要被偵測的物件中心"落在哪一個 grid cell,該 grid cell 就要負責偵測這個物件。
  • step 2
    每個 grid cell 必須要負責預測「n 個 bounding boxes」和「屬於每個類別的機率」。每個 bounding box 會帶有 5 個參數 (x, y, w, h, and confidence)
    • (x, y) 是物件在 grid cell 的中心座標
    • w 和 h 是 bbox 的寬度和高度

我們會習慣把 bounding box 簡寫成 bbox~ (不是饒舌的那種 B-box)

  • step 3
    YOLO 的 tensor 公式為 S × S × (B × 5 + C)。

    • B 是在一個 grid cell 中 bbox 的數量
    • 乘上 5 是因為每個 bbox 有 5 個參數
    • C 是物件的類別數量

YOLOv1 的缺點

YOLOv1 對於靠得很近的物體,或是很小的物體,辨識效果不是很好,這是因為一個 grid cell 裡最多只產生兩個 bbox 來偵測。

未完待續......

圖片來源1
圖片來源2
論文


上一篇
[D22] 物件偵測(3)
下一篇
[D24] 物件偵測(5)
系列文
從林到有_Image processing30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言