Open6
今さらYOLOを学ぶ
私は画像認識初心者、YOLOは1回動かしたことがある程度
YOLOは"You Only Look Once"の略でYOLOv1、v2、v3の著者であるJoseph Redmon氏が名付けた("You Only Live Once"というスラングもある)
バージョンはv1~v10まで整数が1つずつincrementするように10種のバージョンがある
v4の著者からはv1の著者の名前が消えている(関与していない?)
作者が変わりながらバージョンアップを経ているため、バージョンが違えど同じモデルという解釈はできなさそう
YOLOの使用を検討するときに新しいバージョンを使用するというアプローチよりかは、いろんなバージョンを試したほうが良さそう
YOLOv1とYOLOv2
YOLOv1は以下の問題点がある
- Fast R-CNNに比べると位置推定に誤差がある。つまり物体を検出した位置(座標)にズレがある
- region proposal-basedな手法と比較して再現率(Recall、検出漏れ)が多い
region proposal-based
R-CNN(region based CNN)のような画像の中にたくさんの検出ウィンドウ(region proposal)を生成して各ウィンドウに対してCNNのように画像認識を適用する手法
YOLOは?
予めグリッド分割しておいて分割グリッドごとにbounding boxとクラス分類をする
どのバージョンを試していく?
解きたいタスクに依存する部分もあるかもしれない
ここでは今回自分が試す必要があるバージョンを列挙する
選定の方針は、純粋なバージョンアップのストリームの最新版であるか(≒同じ開発者の中で最新版か)という点と、アーキテクチャなどが大きく変わっているものは試すというもの
- 優先度 高
- YOLOv8
- YOLOv10
- 優先度 中
- YOLOv3
- YOLOv4
- YOLOv5
- YOLOv6
- YOLOv9
v8は動画やセグメンテーションがサポートされ始めたバージョン、v10はv9シリーズの改良版という点で試すべきと考えている
優先度 中の中でも気になる機能やアップデート内容があるが、全部は試す余裕はなさそうなためいくつかに絞る予定