第 3 章
架構與演進
YOLO 為什麼快?它和上一代偵測方法差在哪?這一代代又改了什麼? 看懂這些,就知道為什麼今天能在一台 Raspberry Pi 上即時偵測。
一句話原理:You Only Look Once
名字就是重點——只看一次。把整張圖一次送進網路,一次前向運算就同時輸出所有物體的框與類別。 不需要反覆掃描、不需要先找候選區再逐一判斷,所以快到能跑即時影片。
和傳統方法的差別:兩階段 vs 單階段
兩階段(如 R-CNN 家族)
先產生很多「可能有物體」的候選框,再一個個分類。準,但慢——不適合即時。
單階段(YOLO)
把「找位置」和「分類」合成一次完成。速度大幅領先,準確度也已追上,成為即時偵測主流。
演進時間軸
2016 · v1 首個單階段即時偵測器(Joseph Redmon)。把偵測變成一次回歸問題。
2017–2018 · v2 / v3 引入 anchor、多尺度預測,小物體與精度大幅改善。
2020 · v4 / v5 v4 集大成各種訓練技巧;v5(Ultralytics)改用 PyTorch、極易上手,讓 YOLO 真正普及。
2022 · v6 / v7 工業導向與架構優化,速度/精度再往前。
2023 · v8 Ultralytics 推出 anchor-free 設計,並把偵測/分割/姿態/分類統一在同一套 API。
2024 · v9 / v10 / v11 效率與精度持續推進(v10 走向免 NMS);v11 為本課程預設,輕量又準。
持續 YOLO 仍在快速演進;學會這套流程,換新版本只是改一個模型名稱。
本課程用 Ultralytics 的 YOLO11,因為它一套 API 同時支援偵測/分割/姿態,且有現成的追蹤與邊緣匯出。
模型大小:速度 vs 準確度的取捨
同一版 YOLO 會出好幾種尺寸,用後綴標示。越大越準、但越慢、越吃資源:
| 後綴 | 大小 | 特性 | 適合 |
|---|---|---|---|
| n (nano) | 最小 | 最快、最省 | Raspberry Pi、即時邊緣(本課主用) |
| s (small) | 小 | 快、夠準 | 一般邊緣/筆電 |
| m (medium) | 中 | 平衡 | 有 GPU 的伺服器 |
| l / x (large/xlarge) | 大/最大 | 最準、最慢 | 離線分析、追求精度 |
實務原則:先用 n 跑通流程,準確度不夠再往上換尺寸或自己訓練——不要一開始就用最大模型。