人工知能

YOLOv7:最も高度なオブジェクト検出アルゴリズム?

mm

2022年7月6日は、AIの歴史における画期的な日として記憶されるだろう。なぜなら、この日、YOLOv7がリリースされたからだ。YOLOv7は、その登場以来、コンピュータビジョン開発者コミュニティで最も話題のアルゴリズムであり、その理由は正当なものだ。YOLOv7はすでにオブジェクト検出業界の画期的な出来事と見なされている。

YOLOv7の論文が発表された直後、最も速くて正確なリアルタイムオブジェクト検出モデルとして注目された。ただし、YOLOv7はどのようにしてその前身を上回ったのか。YOLOv7がコンピュータビジョンタスクを実行するのにどのようにして効率的であるのか。この記事では、YOLOv7モデルを分析し、YOLOv7が業界標準になる理由を探る前に、オブジェクト検出の簡単な歴史を見てみよう。

コンピュータビジョンの分野であるオブジェクト検出は、画像またはビデオファイル内のオブジェクトを識別および位置付ける。オブジェクト検出は、自動運転車、監視カメラ、ロボティクスなど、多数のアプリケーションの基盤である。

オブジェクト検出モデルは、シングルショット検出器とマルチショット検出器の2つのカテゴリに分類できる。

リアルタイムオブジェクト検出

YOLOv7の主な目的である「リアルタイムオブジェクト検出」を理解するには、YOLOv7がどのように機能するかを理解する必要がある。リアルタイムオブジェクト検出は、現代のコンピュータビジョンの重要なコンポーネントである。リアルタイムオブジェクト検出モデルは、リアルタイムでオブジェクトを識別および位置付けることを目指す。リアルタイムオブジェクト検出モデルは、ビデオファイルやライブ監視入力などの動的フレーム内のオブジェクトを追跡する開発者にとって非常に効率的である。

リアルタイムオブジェクト検出モデルは、従来の画像検出モデルよりも一歩進んだものである。前者はビデオファイル内のオブジェクトを追跡するために使用されるのに対し、後者は静的なフレーム内のオブジェクトを識別および位置付けるために使用される。

したがって、リアルタイムオブジェクト検出モデルは、ビデオ分析、自動運転車、オブジェクトカウント、多オブジェクト追跡などに非常に効率的である。

YOLOとは

YOLO(You Only Look Once)は、リアルタイムオブジェクト検出モデルのファミリーである。YOLOの概念は、2016年にJoseph Redmonによって初めて導入され、すぐにその速度と精度の高さで注目された。YOLOアルゴリズムは、コンピュータビジョン業界で標準的なものとなった。

YOLOアルゴリズムの基本的な概念は、バウンディングボックスとクラス確率を使用して、エンドツーエンドのニューラルネットワークで予測を行うことである。YOLOは、オブジェクト検出を実行するために、クラスファイアを再利用するという点で、以前のオブジェクト検出モデルと異なっていた。

このアプローチは効果的だった。YOLOはすぐに業界標準となり、他のリアルタイムオブジェクト検出アルゴリズムとの間のパフォーマンスギャップは大きかった。ただし、YOLOがなぜ効率的だったのか。

YOLOと比較して、当時のオブジェクト検出アルゴリズムは、リージョンプロポーザルネットワークを使用して関心領域を検出していた。認識プロセスは、それぞれの領域で個別に実行された。したがって、これらのモデルは、同じ画像に対して複数のイテレーションを実行し、精度が低く、実行時間が長くなった。一方、YOLOアルゴリズムは、予測を一度で実行するために、単一の完全結合層を使用する。

YOLOのしくみ

YOLOアルゴリズムのしくみを説明するには、3つのステップがある。

オブジェクト検出を単一の回帰問題として再定義する

YOLOアルゴリズムは、オブジェクト検出を、画像ピクセル、クラス確率、バウンディングボックス座標を含む単一の回帰問題として再定義する。したがって、アルゴリズムは、画像を一度見るだけで、画像内のターゲットオブジェクトを予測および位置付けることができる。

画像をグローバルに分析する

さらに、YOLOアルゴリズムは、予測を行うときに画像をグローバルに分析する。リージョンプロポーザルベースの手法やスライディングウィンドウ手法とは異なり、YOLOアルゴリズムは、トレーニングとテストの際に完全な画像を見て、クラスとその出現に関するコンテキスト情報をエンコードすることができる。

YOLOの登場以前、Fast R-CNNは、背景パッチをオブジェクトと間違えることが多かった最も人気のあるオブジェクト検出アルゴリズムの一つだった。YOLOは、背景エラーに関してFast R-CNNよりも50%正確である。

オブジェクトの表現を一般化する

最後に、YOLOアルゴリズムは、画像内のオブジェクトの表現を一般化することを目指す。したがって、YOLOアルゴリズムを自然画像のデータセットで実行し、結果をテストした場合、YOLOは既存のR-CNNモデルを大幅に上回った。YOLOは非常に汎用性が高いため、新しいドメインや予期せぬ入力で実装された場合に壊れる可能性は低い。

YOLOv7:新しい機能

リアルタイムオブジェクト検出モデルとYOLOアルゴリズムの基本的な理解ができたら、YOLOv7アルゴリズムについて説明する時間がきた。

トレーニングプロセスの最適化

YOLOv7アルゴリズムは、モデルのアーキテクチャを最適化するだけでなく、トレーニングプロセスも最適化することを目指す。トレーニングのコストを強化しながら、モデルの精度を向上させるために、最適化モジュールと方法を使用する。这些最適化モジュールは、トレーニング可能なフリービーのセットと呼ばれる。

粗いから細かいまでのラベル割り当て

YOLOv7アルゴリズムは、従来のダイナミックラベル割り当てではなく、新しい粗いから細かいまでのラベル割り当てを使用する。ダイナミックラベル割り当てでは、複数の出力層を持つモデルをトレーニングする場合に、どのように動的ターゲットを異なるブランチとその出力に割り当てるかという問題が発生する。

モデルの再パラメータ化

モデルの再パラメータ化は、オブジェクト検出における重要な概念であり、トレーニング中に問題が発生することがある。YOLOv7アルゴリズムは、モデルの再パラメータ化ポリシーを適用するために、勾配伝播パスを使用する。

拡張と複合スケーリング

YOLOv7アルゴリズムは、リアルタイムオブジェクト検出のために、パラメータと計算を効果的に使用するために、拡張と複合スケーリング方法を導入する。

YOLOv7:関連研究

リアルタイムオブジェクト検出

YOLOは現在の業界標準であり、ほとんどのリアルタイムオブジェクト検出器はYOLOアルゴリズムとFCOS(Fully Convolutional One-Stage Object-Detection)を使用している。最先端のリアルタイムオブジェクト検出器は、以下の特徴を持つ。

  • より強くて速いネットワークアーキテクチャ。
  • 有効な特徴統合方法。
  • 正確なオブジェクト検出方法。
  • 堅牢なロス関数。
  • 効率的なラベル割り当て方法。
  • 効率的なトレーニング方法。

YOLOv7アルゴリズムは、自己教師あり学習や蒸留方法を使用しない。代わりに、トレーニング可能なフリービーの方法を使用する。

モデルの再パラメータ化

モデルの再パラメータ化技術は、複数の計算モジュールを干渉ステージで統合するアンサンブル技術と見なされる。技術は、モデルのレベルとモジュールのレベルの2つのカテゴリに分類される。

モデルのレベルの再パラメータ化技術は、2つの方法を使用して最終的な干渉モデルを取得する。最初の方法は、複数の同一モデルを異なるトレーニングデータでトレーニングし、次にトレーニングされたモデルの重みを平均する。代わりに、2番目の方法は、モデルの重みを異なるイテレーションで平均する。

モジュールレベルの再パラメータ化は最近人気を博しており、トレーニング中にモジュールを異なるモジュールブランチまたは同一ブランチに分割し、次にこれらの異なるブランチを同等のモジュールに統合する。

ただし、再パラメータ化技術はすべてのアーキテクチャに適用できない。したがって、YOLOv7アルゴリズムは、異なるアーキテクチャに適した新しいモデルの再パラメータ化戦略を使用する。

モデルのスケーリング

モデルのスケーリングは、モデルの属性を調整して、さまざまなコンピューティングデバイスに適合するようにするプロセスである。モデルのスケーリングでは、層の数(深さ)、入力画像のサイズ(解像度)、特徴ピラミッドの数(ステージ)、チャネルの数(幅)などの要素を使用する。

最も一般的に使用されるスケーリング方法は、NAS(Network Architecture Search)であり、検索エンジンからスケーリング要素を自動的に検索する。ただし、NASを使用する主な欠点は、スケーリング要素を検索するための高価なアプローチであることである。

ほとんどのモデルの再パラメータ化モデルは、個別のスケーリング要素を独立して分析し、さらにそれらを独立して最適化する。NASアーキテクチャは、相関関係のないスケーリング要素で動作するためである。

VoVNetやDenseNetなどの連結ベースのモデルは、モデルの深さをスケーリングすると、計算ブロックの入力幅が変更される。YOLOv7は、提案された連結ベースのアーキテクチャを使用しているため、複合スケーリング方法を使用する。

上記の図は、異なるモデルの拡張効率的な層統合ネットワーク(E-ELAN)を比較する。提案されたE-ELAN方法は、元のアーキテクチャの勾配伝播パスを維持しながら、グループ畳み込みを使用して追加された特徴の基数を増やすことを目的とする。プロセスは、異なるマップで学習された特徴を強化し、計算とパラメータの使用をより効率的にすることができる。

YOLOv7アーキテクチャ

YOLOv7モデルは、YOLOv4、YOLO-R、スケールされたYOLOv4モデルをベースとしている。YOLOv7は、これらのモデルを改良して結果を向上させるために行われた実験の結果である。

拡張効率的な層統合ネットワーク(E-ELAN)

E-ELANは、YOLOv7モデルの基本的な構成要素であり、既存のネットワーク効率モデル、特にELANから派生している。

効率的なアーキテクチャを設計する際の主な考慮事項は、パラメータの数、計算密度、計算量である。他のモデルは、入力/出力チャネル比、ネットワークアーキテクチャのブランチ、ネットワークの干渉速度、畳み込みネットワークのテンソルの要素数などの要素も考慮する。

CSPVoNetモデルは、上記のパラメータを考慮するだけでなく、異なる層の重みを有効化することで、より多様な特徴を学習するために、勾配パスを分析する。アプローチにより、干渉がより速くて正確になる。ELANアーキテクチャは、ネットワークがより効果的に学習して収束できるように、最短の最長の勾配パスを設計することを目的とする。

ELANは、計算ブロックのスタック数や勾配パスの長さに関係なく、既に安定した段階に達している。計算ブロックを無制限にスタックすると、安定した状態が破壊され、パラメータの利用率が低下する。提案されたE-ELANアーキテクチャは、拡張、シャッフル、結合の基数を使用して、元の勾配パスを維持しながら、ネットワークの学習能力を継続的に強化することができる。

さらに、E-ELANとELANのアーキテクチャを比較すると、計算ブロックのみが異なり、遷移層のアーキテクチャは変更されていない。

E-ELANは、計算ブロックの基数を拡張し、グループ畳み込みを使用してチャネルを拡張することを提案する。特徴マップは、グループパラメータに基づいてグループ化され、次に結合される。各グループのチャネル数は、元のアーキテクチャと同じままである。最後に、特徴マップのグループは、基数を実行するために追加される。

連結ベースモデルのモデルのスケーリング

モデルのスケーリングは、モデルの属性を調整して、さまざまなスケーリングのモデルを生成するために使用される。結果として、異なる干渉速度に対応する。

図は、連結ベースモデルのモデルのスケーリングについて説明する。図(a)と(b)では、計算ブロックの出力幅が、モデルの深さスケーリングによって増加する。結果として、伝播層の入力幅が増加する。連結ベースのアーキテクチャにこれらの方法を実装すると、スケーリングプロセスは深さで実行され、図(c)に示される。

したがって、連結ベースのモデルでは、スケーリング要素を個別に分析することはできない。代わりに、それらを一緒に分析する必要がある。したがって、連結ベースのモデルでは、複合モデルのスケーリング方法を使用することが適切である。さらに、深さ要素をスケーリングすると、ブロックの出力チャネルもスケーリングする必要がある。

トレーニング可能なフリービー

トレーニング可能なフリービーは、開発者がトレーニング戦略やコストを変更するために使用する一連の方法または技術を指す。YOLOv7のトレーニング可能なフリービーとは何かを見てみよう。

計画的な再パラメータ化された畳み込み

YOLOv7アルゴリズムは、再パラメータ化された畳み込みをネットワークに組み合わせるための最適な方法を決定するために、勾配伝播パスを使用する。YOLOv7のこのアプローチは、VGGモデルでは優秀に実行されたが、DenseNetモデルやResNetモデルに直接適用するとパフォーマンスが低下するRepConvアルゴリズムに対抗するための試みである。

RepConvアルゴリズムは、3×3畳み込みと1×1畳み込みを組み合わせて、畳み込み層の接続を識別する。アルゴリズムを分析すると、そのパフォーマンスとアーキテクチャを観察すると、RepConvはDenseNetの連結とResNetの残差を破壊することがわかる。

上記の画像は、計画的な再パラメータ化モデルを示す。YOLOv7アルゴリズムは、ネットワークの層にRepConvを適用する場合、連結または残差接続を持つ層にアイデンティティ接続を含めるべきではないことを発見した。したがって、RepConvNにアイデンティティ接続がない場合、RepConvNに切り替えることが許容される。

補助ヘッドのための粗いラベルとリードヘッドのための細かいラベル

ディープサーパービジョンは、コンピュータサイエンスの分野であり、ディープネットワークのトレーニングプロセスでしばしば使用される。ディープサーパービジョンの基本原理は、ネットワークの浅い層に追加の補助ヘッドを追加し、浅いネットワークの重みとともにアシスタントロスを使用することである。YOLOv7アルゴリズムは、最終的な出力を担当するヘッドをリードヘッドと呼び、トレーニングを支援するヘッドを補助ヘッドと呼ぶ。

さらに、YOLOv7はラベル割り当てに異なる方法を使用する。従来的には、ラベル割り当ては、グラウンドトゥルースに直接参照し、与えられたルールに基づいてラベルを生成するために使用されていた。ただし、最近では、予測入力の分布と品質が、信頼性の高いラベルを生成する上で重要な役割を果たしている。YOLOv7は、バウンディングボックスの予測とグラウンドトゥルースを使用して、オブジェクトのソフトラベルを生成する。

さらに、YOLOv7の新しいラベル割り当て方法は、リードヘッドの予測を使用して、リードヘッドと補助ヘッドの両方をガイドする。ラベル割り当て方法には2つの提案戦略がある。

リードヘッドガイド付きラベル割り当て

戦略は、リードヘッドの予測結果とグラウンドトゥルースに基づいて計算を行い、最適化を使用してソフトラベルを生成する。ソフトラベルは、リードヘッドと補助ヘッドの両方のトレーニングモデルとして使用される。

戦略は、リードヘッドがより大きな学習能力を持っているため、リードヘッドによって生成されたラベルがより表現的で、ソースとターゲットの間に関係があると仮定する。

粗いから細かいまでのリードヘッドガイド付きラベル割り当て

この戦略も、リードヘッドの予測結果とグラウンドトゥルースに基づいて計算を行い、最適化を使用してソフトラベルを生成する。ただし、重要な違いがある。戦略では、2つのソフトラベル、粗いレベルと細かいレベルがある。

粗いレベルは、肯定的なサンプルの割り当てプロセスの制約を緩和することで生成される。補助ヘッドの学習力が弱いため、情報が失われるのを避けるために、より多くのグリッドを正のターゲットとして扱う。

上記の図は、YOLOv7アルゴリズムでトレーニング可能なフリービーを使用することを示す。粗いラベルを補助ヘッドに、細かいラベルをリードヘッドに使用する。モデル(b)とモデル(a)を比較すると、(b)には補助ヘッドがあり、(a)にはないことがわかる。

図(c)は、一般的な独立ラベル割り当てを示し、図(d)と図(e)は、YOLOv7が使用するリードガイド付き割り当てと粗いから細かいまでのリードガイド付き割り当てをそれぞれ示す。

その他のトレーニング可能なフリービー

上記に記載されているもの以外に、YOLOv7アルゴリズムは、元々YOLOv7によって提案されていなかった追加のトレーニング可能なフリービーを使用する。これらは、

  • Conv-Bn-Activationテクノロジーにおけるバッチ正規化:この戦略は、畳み込み層を直接バッチ正規化層に接続するために使用される。
  • YOLORにおける暗黙の知識:YOLOv7は、この戦略を畳み込み特徴マップと組み合わせる。
  • EMAモデル:EMAモデルは、YOLOv7の最終的な参照モデルとして使用されるが、主に平均教師法で使用される。

YOLOv7:実験

実験設定

YOLOv7アルゴリズムは、オブジェクト検出モデルをトレーニングおよび検証するために、Microsoft COCOデータセットを使用する。ただし、これらの実験のすべてで事前トレーニング済みモデルが使用されるわけではない。開発者は、2017年トレーニングデータセットをトレーニングに、2017年検証データセットをハイパーパラメータの選択に使用した。最後に、YOLOv7のオブジェクト検出結果は、オブジェクト検出の最先端アルゴリズムと比較される。

開発者は、エッジGPU(YOLOv7-Tiny)、通常のGPU(YOLOv7)、クラウドGPU(YOLOv7-W6)用の基本モデルを設計した。さらに、YOLOv7アルゴリズムは、さまざまなサービス要件に応じて、モデルをスケーリングするための基本モデルを使用する。YOLOv7アルゴリズムでは、ネックのスタックスケーリングが実行され、提案された複合スケーリングが使用される。

ベースライン

YOLOv7アルゴリズムは、以前のYOLOモデルとYOLORオブジェクト検出アルゴリズムをベースラインとして使用する。

上記の図は、YOLOv7モデルのベースラインを他のオブジェクト検出モデルと比較する。結果は明らかである。YOLOv4アルゴリズムと比較して、YOLOv7は75%少ないパラメータを使用し、15%少ない計算を使用し、0.4%高い精度を持つ。

最先端オブジェクト検出モデルの比較

上記の図は、YOLOv7をモバイルおよび一般的なGPU用の最先端オブジェクト検出モデルと比較する。YOLOv7アルゴリズムが提案した方法は、速度と精度のトレードオフスコアが最も高いことがわかる。

削減研究:提案された複合スケーリング方法

上記の図は、モデルのスケーリングアップに使用するさまざまな戦略の結果を比較する。YOLOv7モデルのスケーリング戦略は、計算ブロックの深さを1.5倍にスケーリングし、幅を1.25倍にスケーリングする。

深さのみをスケーリングするモデルと比較して、YOLOv7モデルのパフォーマンスは0.5%向上し、パラメータと計算が少なくなっている。深さのみをスケーリングするモデルと比較して、YOLOv7モデルの精度は0.2%向上し、パラメータは2.9%増加し、計算は1.2%増加した。

提案された計画的な再パラメータ化モデル

提案された再パラメータ化モデルの汎用性を検証するために、YOLOv7アルゴリズムは、残差ベースと連結ベースのモデルでそれを使用する。検証プロセスでは、YOLOv7アルゴリズムは、連結ベースのモデルに3スタックELANを、残差ベースのモデルにCSPDarknetを使用する。

連結ベースのモデルでは、YOLOv7アルゴリズムは、3スタックELANの3×3畳み込み層をRepConvに置き換える。下の図は、計画的なRepConvと3スタックELANの詳細構成を示す。

さらに、残差ベースのモデルでは、YOLOv7アルゴリズムは、3×3畳み込み層と1×1畳み込み層の位置を逆転させたリバースダークブロックを使用する。下の図は、リバースCSPDarknetのアーキテクチャを示し、3×3畳み込み層と1×1畳み込み層の位置が逆転している。

補助ヘッドのための提案されたアシスタントロス

補助ヘッドのためのアシスタントロスについて、YOLOv7モデルは、独立ラベル割り当てとリードヘッドのラベル割り当てを比較する。

上記の図は、提案された補助ヘッドの結果を示す。全体的なモデルのパフォーマンスが、アシスタントロスが増加するにつれて増加することがわかる。さらに、YOLOv7モデルが提案したリードヘッドガイド付きラベル割り当ては、独立ラベル割り当て戦略よりも優れている。

YOLOv7の結果

上記の実験に基づいて、YOLOv7のパフォーマンスの結果は以下のとおりである。

上記の図は、YOLOv7モデルを他のオブジェクト検出アルゴリズムと比較する。YOLOv7モデルが、バッチ干渉と平均精度(AP)において他のオブジェクト検出モデルを上回っていることが明らかである。

さらに、下の図は、YOLOv7のパフォーマンスを他のリアルタイムオブジェクト検出アルゴリズムと比較する。再び、YOLOv7モデルは、全体的なパフォーマンス、精度、効率において他のモデルを上回っている。

ここに、YOLOv7の結果とパフォーマンスの追加の観察がある。

  1. YOLOv7-Tinyは、YOLOファミリーの中で最小のモデルであり、約600万のパラメータを持つ。YOLOv7-Tinyの平均精度は35.2%であり、同等のパラメータを持つYOLOv4-Tinyモデルを上回っている。
  2. YOLOv7モデルは、約3700万のパラメータを持つ。YOLOv7モデルは、より多くのパラメータを持つYOLOv4モデルを上回っている。
  3. YOLOv7モデルは、5から160FPSの範囲で、最高のmAPとFPSレートを持つ。

結論

YOLO(You Only Look Once)は、現代のコンピュータビジョンにおける最先端のオブジェクト検出モデルである。YOLOアルゴリズムは、高い精度と効率性で知られており、リアルタイムオブジェクト検出業界で広く使用されている。2016年に最初のYOLOアルゴリズムが導入されて以来、実験によりモデルを継続的に改善することができた。YOLOv7モデルは、YOLOファミリーの最新の追加であり、現在最も強力なYOLOアルゴリズムである。この記事では、YOLOv7の基礎について説明し、YOLOv7がどのようにして効率的であるかを理解しようとした。

YOLOv7モデルは、2016年に導入されて以来、継続的に改善されてきたYOLOファミリーの最新の追加である。YOLOv7は、現在最も強力なYOLOアルゴリズムであり、コンピュータビジョンにおけるオブジェクト検出の分野で重要な役割を果たしている。

職業はエンジニア、心は作家。クナルは、AIとMLを深く愛し理解しているテクニカルライターで、これらの分野の複雑な概念を魅力的で情報の多いドキュメンテーションを通じて簡素化することに尽力しています。