AIインフォグラフィックス集

AI Infographics Collection

YOLO進化の系譜 — "You Only Look Once"の10年史

YOLO進化の系譜 — "You Only Look Once"の10年史

2025-04-28

そもそもYOLOとは?

You Only Look Once

入力画像を"一度"だけCNNに通し、バウンディングボックス+クラスを同時に出力するワンステージ検出器。

キーワードは 「リアルタイム × 高精度 × 単純構造」。

10年でどう進化した?

地下鉄路線図風タイムライン ✏️

2015
YOLOv1: Darknet-19、単一スケール
mAP@0.5: 63.4 / FPS: 45
2016
YOLOv2: Anchor Box導入、BatchNorm
mAP@0.5: 76.8 / FPS: 40
2017
YOLOv3: Darknet-53、Feature Pyramid
mAP@0.5: 80.6 / FPS: 30
2020
YOLOv4: CSPDarknet、Mish、CIoU Loss
mAP@0.5: 83.0 / FPS: 62
2020
YOLOv5: PyTorch実装、AutoAugment、N/M/L/Xサイズ
mAP@0.5: 88.5 / FPS: 140 (v5n)
2021
YOLOv6: Dense Prediction、硬件最適化
mAP@0.5:0.95: 43.1 / FPS: 120
2022
YOLOv7: E-ELAN、連結ブランチ、事前学習不要
mAP@0.5:0.95: 51.4 / FPS: 160
2023
YOLOv8: Decoupled Head、TaskAligned Loss
mAP@0.5:0.95: 53.9 / FPS: 165
2024
YOLOv9: Omni-Dimension Δ、Dynamic Sparse
mAP@0.5:0.95: 56.1 / FPS: 180
2025
YOLOv10: ViT Backbone + RT-DETR Head
mAP@0.5:0.95: 58.7 / FPS: 190

路線図の見かた

- 青線=アーキテクチャ改良

- 緑線=学習トリック

- 赤線=ハードウェア最適化

- v5以降は"枝線"でNano / Small / Medium / Largeなどモデルサイズ展開

主な改良ポイントを初心者向けに分解

改良カテゴリ キーワード ざっくり説明
Backbone Darknet → CSP → ViT "特徴抽出器"。深く/広く/自己注意化で表現力UP
Neck & Head FPN, PAN, Decoupled Head マルチスケール融合+分類と回帰を分離し学習効率UP
Loss関数 IoU → GIoU → CIoU "ズレ"をより厳密に評価、収束を高速化
Data Augment Mosaic, MixUp, AutoAugment 画像4枚合成や色変換で汎化性能UP
ハード最適化 TensorRT, ncnn, ONNX 量子化・プルーニングでスマホやEdge TPUでも動作

実装ステップ(Ultralytics YOLOv10例)

# 1️⃣ インストール pip install ultralytics>=8.2.0 # v10対応版 # 2️⃣ 学習済みモデルで推論 yolo task=detect mode=predict model=yolov10n.pt source=video.mp4 # 3️⃣ 転移学習 yolo task=detect mode=train \ model=yolov10s.pt \ data=custom.yaml \ epochs=100 imgsz=640

yolov10n/s/m/l... Nano〜Large。nは0.9 MBでモバイルOK、lは精度重視。

custom.yamlにクラス名とアノテーションパスを記述するだけでトレーニング開始。

バージョン選びの指針

使用条件 推奨バージョン
スマホ/Edgeで30 FPS YOLOv5n, v8n, v10n
GPUで最高精度 YOLOv10l + Rerank
研究・新機能検証 YOLOv9/v10(ViT & DETR融合)
C++組込み YOLOv4-CSP, v7-tiny (ncnn)
学習コスト重視 YOLOv3/v4(低メモリ、データ少量でも安定)

よくあるQ&A

"v5は公式じゃない"って聞きました

経緯: v1–v4はJoseph Redmon & AlexeyAB、v5はUltralyticsがPyTorchで独自開発。
実務的には: ドキュメント・拡張が充実しており、今やデファクト。

YOLOとDETR系はどう違う?

YOLO: CNN主体、Anchor Boxあり/なし両対応、超高速。
DETR: Transformer+セット損失でAnchorフリー、学習コスト高いが高精度。
最新: YOLOv10がDETRのアイデアを取り込み"いいとこ取り"。

学習データはどのくらい必要?

1クラスなら1,000枚×20 epochでも実用精度可。
マルチクラスや小物体は5,000〜10,000枚を推奨。

応用事例ベスト5

業界 事例 効果
物流 パレット荷姿検査 (v5n) 誤積載率 -70%
リテール 棚在庫&価格タグ確認 (v8s) 棚卸工数 -50%
農業 果実成熟度検出 (v7-tiny on Jetson) 収穫タイミング最適化
医療 レントゲン異常陰影検出 (v10l) 読影時間 -30%
交通 信号無視車両検出 (v9m, Multi-Cam) 違反検出精度 +25%

まとめ

  1. YOLOは毎年進化し、速度・精度・ハード適応性をアップデート
  2. Nano〜Largeまでサイズが細分化、Edgeからクラウドまでカバー
  3. 最新YOLOv10はViT + DETRヘッドで高精度&高速を両立
  4. 選定ポイントは 推論速度・モデルサイズ・アノテ花費 のバランス
  5. 最初はpip install ultralytics → yolo predictで触ってみよう!

次のステップ

自分のデータセットで精度が出ない場合は、①画像解像度アップ、②データ拡張、③CIoU ↔ DIoU Loss比較、④ハイパーパラメータ自動探索 を順番に試してみてください。