You Only Look Once(YOLO)は、畳み込みニューラルネットワークに基づくリアルタイム物体検出システムのシリーズである。2015年にJoseph Redmonらによって初めて紹介され、その後いくつかの反復と改良を経て、最も人気のある物体検出フレームワークの一つとなった。「You Only Look Once」という名前は、このアルゴリズムが予測を行うためにニューラルネットワークを通した順伝播を1回だけ必要とすることを指しており、R-CNNのような以前の領域提案ベースの手法が1枚の画像に対して数千回のパスを必要としていたのとは対照的である。
YOLOは物体検出を単一の回帰問題として捉え、画像ピクセルからバウンディングボックスの座標とクラス確率を直接予測する。このアプローチは、複数の画像領域とスケールに分類器を適用していた初期の手法とは対照的であり、YOLOを競争力のある精度を維持しながら大幅に高速化している。
概要
R-CNNやOverFeatのような以前の手法と比較して、YOLOはモデルを複数の位置とスケールで実行する代わりに、単一のニューラルネットワークを画像全体に適用する。このネットワークは画像をグリッド状の領域に分割し、各領域についてバウンディングボックスとクラス確率を予測する。これらのバウンディングボックスは予測確率によって重み付けされ、モデルが1回のパスで最終的な検出結果を出力できるようにする。
OverFeat
OverFeatは、物体の分類と位置特定を同時に行う初期の影響力のあるモデルであり、YOLOの前身としての役割を果たした。そのアーキテクチャは、AlexNetのような画像分類のみのためのニューラルネットワークを訓練することを含んでいた。訓練済みネットワークの最後の層はその後除去され、可能な物体クラスごとに、最後の層に回帰ネットワークが初期化された。ベースネットワークのパラメータは凍結され、回帰ネットワークは物体のバウンディングボックスの2つの角の座標を予測するように訓練された。
推論中、分類訓練済みネットワークは同じ画像に対して多くの異なるズームレベルと切り抜きで実行された。それぞれについて、クラスラベルと確率を出力した。各出力は対応するクラスの回帰ネットワークによって処理され、クラスラベルと確率を持つ数千のバウンディングボックスが生成された。これらのボックスは、単一のクラスラベルを持つ1つのボックスのみが残るまで統合された。このマルチスケールアプローチは計算コストが高く、YOLOのようなより効率的な方法の必要性を動機付けた。
バージョン
YOLOシリーズは2つの部分から構成される。元の部分にはYOLOv1、v2、v3が含まれ、すべてJoseph Redmonが管理するウェブサイトで公開された。YOLOv4以降の後のバージョンは、他の研究者によって開発され、フレームワークの機能を拡張した。
YOLOv1
2015年に導入された元のYOLOアルゴリズムは、画像をS × Sのグリッドセルに分割する。物体のバウンディングボックスの中心がグリッドセル内に収まる場合、そのセルはその物体を「含む」とされる。各グリッドセルはB個のバウンディングボックスと、それらのボックスに対する信頼度スコアを予測する。これらの信頼度スコアは、モデルがボックスに物体が含まれるとどの程度確信しているか、そしてボックスがどの程度正確であると考えているかを反映する。
より詳細には、ネットワークはS²個のパッチのそれぞれに対して同じ畳み込み演算を実行する。各パッチの出力は、条件付きクラス確率、バウンディングボックス座標、および信頼度スコアを含むタプルである。具体的には、各セルについて、ネットワークはp_i、つまりセルが少なくとも1つの物体を含む場合にクラスiの物体を含む条件付き確率を出力する。また、B個のボックスのそれぞれについて、中心座標(x_j, y_j)、幅w_j、高さh_j、および接地真値との予測交差オーバーユニオン(IoU)を表す信頼度スコアc_jを出力する。
各セルに対して複数のバウンディングボックスが予測され、各予測が特定の形状に特化できるようにする。例えば、細長い物体は1つのボックスによって予測され、ずんぐりした物体は別のボックスによって予測される可能性がある。ネットワークアーキテクチャは24個の畳み込み層とそれに続く2個の全結合層を持つ。
訓練中、接地真値のバウンディングボックスを含む各セルについて、接地真値とのIoUが最も高い予測ボックスのみが勾配降下に使用される。座標は接地真値に近づくように訓練され、正しいクラスのクラス確率は1に押し上げられ、他のクラス確率はゼロに押し下げられる。セルが接地真値の物体を含まない場合、その信頼度スコアはゼロに向かって訓練され、誤検出を減らす。
影響と遺産
YOLOの単一パス設計は、リアルタイム物体検出における画期的な進歩となり、ビデオ監視、自動運転、ロボティクスにおける応用を可能にした。その速度と単純さは多くの後続研究と変種に影響を与え、コンピュータビジョンにおける基礎モデルとしての地位を確固たるものにした。元のYOLO論文は広く引用されており、このフレームワークはリアルタイム検出システムのベンチマークであり続けている。
関連概念
YOLOは畳み込みニューラルネットワーク上に構築されており、後のバージョンではバッチ正規化やデータ拡張などの技術の恩恵を受けている。その開発は、残差ネットワークやU-Netを他の視覚タスクに含む深層学習および機械学習のより広い分野の一部である。YOLOの効率性は、エッジデバイスやクラウドプラットフォームにおける人工知能アプリケーションにも影響を与えている。