Faster R-CNN、R-FCN、SSD は、最も人気があり、広く使用されている 3 つのターゲット検出モデルです。他の一般的なモデルは通常、これら 3 つに似ており、ネットワークの初期化にディープ CNN (ResNet、Inception など) に依存しており、ほとんどが同じ提案/分類パイプラインに従います。この記事では、ディープラーニングによるターゲット検出によく使用される 3 つのモデル (Faster R-CNN、R-FCN、SSD) を紹介します。 自動運転車、スマート監視カメラ、顔認識、そして人々にとって価値あるアプリケーションの登場により、高速かつ正確な物体検出システムの市場は急成長しています。これらのシステムは、画像内の各オブジェクトを識別して分類するだけでなく、適切なサイズのオブジェクトの境界ボックスをその周囲に描画することで、そのオブジェクトの位置を特定することもできます。このため、物体検出技術は、従来のコンピュータービジョン処理技術である画像分類よりもはるかに困難になります。 しかし幸いなことに、現在最も成功している物体検出方法は、画像分類モデルの拡張です。数か月前、Google は Tensorflow 用の新しいオブジェクト検出 API をリリースしました。また、特定のモデル用の事前構築されたフレームワークとウェイトも同時にリリースされます。
以前の記事で、Synced は、Xception、Inception、ResNet などの基本的なネットワークの背後にあるアーキテクチャと設計のアイデアを整理しました。この記事では、Tensorflow のオブジェクト検出モデルである Faster R-CNN、R-FCN、および SSD に対して同じことを行います。この記事を読んで、以下の2点を理解していただければ幸いです。
FASTER R-CNN モデル Faster R-CNN モデルは現在、典型的なディープラーニング ベースのオブジェクト検出モデルです。これに触発されて、この記事で紹介する他の 2 つのモデルなど、多くのオブジェクト検出およびセグメンテーション モデルが登場しました。ただし、Faster R-CNN を本当に理解するには、その前身である R-CNN と Fast R-CNN を理解する必要があります。それでは、Faster R-CNN の詳細を簡単に見ていきましょう。 R-CNNモデル 擬人化された比喩を使うなら、R-CNN は Faster R-CNN の祖父であると言えます。言い換えれば、R-CNN はすべてが始まった場所です。 R-CNN (領域ベース畳み込みニューラル ネットワーク) は、次の 3 つのステップで動作します。
次の図は、上記の 3 つのステップを具体的に示しています。 つまり、最初にいくつかの領域を提案し、次にそこから特徴を抽出し、これらの特徴に基づいて領域を分類します。本質的には、物体検出を画像分類の問題に変換しました。 R-CNN モデルは非常に直感的ですが、速度が遅いです。 高速R-CNN R-CNN の直接の後継は Fast R-CNN です。 Fast R-CNN は多くの点で R-CNN に似ていますが、2 つの主要な機能強化により R-CNN よりも高速になっています。
高速 R-CNN モデル構造図: ご覧のとおり、元の画像ではなく、ネットワークからの特徴マップに基づいて領域提案が作成されます。したがって、画像全体に対して 1 つの CNN をトレーニングするだけで済みます。 さらに、従来のように各オブジェクト クラスを分類するために多くの異なる SVM をトレーニングする代わりに、ソフトマックス レイヤーを使用してクラス確率を直接出力します。以前は 1 つのニューラル ネットワークと多数の SVM をトレーニングする必要がありましたが、現在は 1 つのニューラル ネットワークのみをトレーニングすれば済みます。 速度の面では、Fast R-CNN は大きな改善を遂げました。 しかし、未解決の大きなボトルネックがあります。それは、領域提案を生成するために使用される選択的検索アルゴリズムです。 より高速なR-CNN これまでに、Faster R-CNN の初期モデル 2 つのトレースが完了しました。次に、Faster R-CNN の学習を始めます。 Faster R-CNN の主な革新点は、以前の低速な選択検索アルゴリズムを高速ニューラル ネットワークに置き換えたことです。具体的には、地域提案ネットワーク (RPN) を導入します。 RPN の仕組み:
言い換えると、最初の特徴マップの各位置を確認し、その周囲の k 個の異なるアンカー ボックス (背の高いボックス、幅の広いボックス、大きなボックスなど) を確認します。これらのボックスごとに、その中にオブジェクトが含まれているかどうか、およびボックス内の座標が何であるかを出力します。次の図は、単一のスライダー位置で発生する操作を示しています。 図の 2k スコアは、k 内の各境界ボックスが「ターゲット」を正確にカバーするソフトマックス確率を表します。ここで注意すべき点は、RPN は境界ボックスの座標を出力しますが、可能性のあるターゲットを分類するわけではないということです。RPN の唯一の役割は、依然としてオブジェクト領域を指定することです。アンカー ボックスの「オブジェクト性」スコアが特定のしきい値を超える場合、その境界ボックスの座標が領域提案として渡されます。 領域の提案が得られたら、それを基本的に Fast R-CNN であるモデルに直接入力します。プーリング層、いくつかの完全接続層、最後にソフトマックス分類層と境界ボックス回帰層を追加します。つまり、ある意味では、Faster R-CNN = RPN + Fast R-CNN です。 全体的に見ると、Faster R-CNN は Fast R-CNN よりも大幅に高速であり、その精度は最高レベルに達しています。将来のモデルでは検出速度が向上する可能性がありますが、Faster R-CNN を大幅に上回るモデルはほとんどないことに注意してください。言い換えれば、Faster R-CNN は物体検出のための最も単純で最速の方法ではないかもしれませんが、そのパフォーマンスは依然として最高です。たとえば、Tensorflow を使用して Inception ResNet で構築された Faster R-CNN は、最も遅いですが、最も正確なモデルです。 Faster R-CNN は複雑に見えるかもしれませんが、そのコア設計は元の R-CNN と同じです。最初にオブジェクト領域を仮定し、次にそれを分類します。現在、これは次に説明するモデルを含め、多くのオブジェクト検出モデルで使用されている主なアイデアです。 R-FCN Fast R-CNN がすべての領域提案で同じ CNN を共有することで検出速度を向上させたことを覚えていますか? これは、共有計算を最大化することで速度を向上させるという、R-FCN を設計する動機の 1 つでもあります。 R-FCN (Region-based Fully Convolutional Net) は、各出力間で計算を完全に共有できます。完全な畳み込みネットワークであるため、モデル設計プロセスで特別な問題が発生します。 一方では、オブジェクトに対して分類タスクを実行するときに、モデル内の位置不変性を学習したいと考えています。つまり、猫が画像のどこに現れても、それを猫として分類したいと考えています。一方、物体検出タスクを実行するときは、位置の変動を学習する必要があります。つまり、猫が左上隅にいる場合は、画像の左上隅にボックスを描画する必要があります。そこで、ネットワーク内で畳み込み計算を 100% 共有したい場合、位置不変性と位置変動性のバランスをどのように取ればよいかという疑問が生じます。 R-FCNのソリューション: 位置依存スコアマップ 各位置依存スコア マップは、オブジェクト クラスの相対的な位置を表します。たとえば、画像の右上隅に猫が検出されるたびに、スコア マップがアクティブになります。システムが左下隅に車を検出すると、別のスコア マップがアクティブになります。本質的に、これらのスコア マップは、各オブジェクトの特定の部分を認識するようにトレーニングされた畳み込み特徴マップです。 R-FCN の仕組みは次のとおりです。
以下は、RPN を使用して RoI を生成する R-FCN の概略図です。 もちろん、上記のテキストと図の説明を読んでも、このモデルがどのように機能するかをまだよく理解できないかもしれません。正直なところ、実際に動作しているのを見ると、R-FCN を理解するのがはるかに簡単になります。以下は、画像内の赤ちゃんを検出する R-FCN の動作例です。 R-FCN に各領域提案を処理させ、それをサブ領域に分割し、サブ領域についてシステムに繰り返し質問します。「これは赤ちゃんの「左上」の部分に似ていますか?」、「これは赤ちゃんの「中央上」の部分に似ていますか?」、「これは赤ちゃんの「右上」の部分に似ていますか?」など。このプロセスはすべてのクラスに対して繰り返されます。 「はい、赤ちゃんのこの部分に一致します!」というサブ領域が十分にある場合、すべてのクラスに対してソフトマックス回帰を実行して、RoI は赤ちゃんとして分類されます。 「 この設定により、R-FCN は位置の変動と位置の不変性の両方を処理できます。位置の変動性に対処するために異なるターゲット領域を指定し、各領域提案が同じスコア バンクを参照して位置の不変性を処理できるようにします。これらのスコア マップは、猫がどこにいるかに関係なく、猫を猫として分類することを学習します。最も優れている点は、完全な畳み込みであるため、ネットワーク内のすべての計算が共有されることです。 その結果、R-FCN は Faster R-CNN よりも数倍高速になり、同様の精度を達成できます。 ソリッドステートドライブ 当社の最初のモデルは SSD です。これは、Single-Shot Detector の略です。 R-FCN と同様に、Faster R-CNN よりもはるかに高速ですが、動作方法は R-FCN とは大きく異なります。 最初の 2 つのモデルは、領域提案と領域分類を 2 つのステップで実行します。まず、領域提案ネットワークを使用して関心領域を生成し、次に完全接続層と位置感知畳み込み層の両方を使用してそれらの領域を分類します。ただし、SSD は上記の両方のステップを 1 つのステップで完了し、画像を処理しながら境界ボックスとクラスを予測できます。 具体的には、入力画像とグラウンド トゥルース ラベルのセットが与えられると、SSD は次の処理を実行します。
SSD の動作方法は簡単に思えますが、それをトレーニングするのは簡単なことではありません。前の 2 つのモデルでは、領域提案ネットワークによって、分類しようとするすべてのオブジェクトが「オブジェクト」である確率値が最小になるようにします。ただし、SSD では、このスクリーニング手順は省略されます。画像内の各位置を分類し、さまざまな形状とサイズの境界ボックスを描画します。この方法では、他のモデルよりも多くの境界ボックスを生成できますが、基本的にはすべて負のサンプルになります。 この問題に対処するために、SSD は 2 つのプロセスを実行します。まず、非最大抑制 (NMS) 技術を使用して、重複度の高い境界ボックスを 1 つに結合します。つまり、同じ犬を含む、形状やサイズなどが類似した 4 つの境界ボックスがある場合、NMS は最も信頼度の高い境界ボックスを保持し、その他を破棄します。次に、SSD モデルは、トレーニング中にクラスのバランスを保つために、ハード ネガティブ マイニングと呼ばれる手法を使用します。ハードネガティブマイニングでは、トレーニング損失が最も高いネガティブサンプルのサブセットのみが各トレーニング反復で使用されます。 SSD の「正負」比率は常に 1:3 に維持されています。 次の図は、SSD アーキテクチャの概略図です。 上で述べたように、最終的にはサイズを縮小できる「追加フィーチャ レイヤー」が存在します。これらのサイズが変化する特徴マップは、さまざまなサイズのオブジェクトをキャプチャするのに役立ちます。たとえば、これが SSD の動作例です。 より小さな特徴マップ(4×4 など)では、各ユニットが画像のより広い領域をカバーするため、より大きなオブジェクトを検出できます。領域の提案と分類は同時に実行されます。p がターゲット カテゴリであると仮定すると、各境界ボックスは (4+p) 次元ベクトルに接続され、4 つのボックス オフセット座標と p 個の分類確率が出力されます。最後のステップでは、オブジェクトを分類するために再びソフトマックスが使用されます。 結局のところ、SSD は元の 2 つのモデルと変わりません。単に「領域提案」のステップをスキップし、代わりに画像内のすべての場所のすべての境界とその分類を同時に考慮します。 SSD は一度にすべてを実行するため、3 つのモデルの中で最も高速であり、相対的に見てもパフォーマンスは良好です。 結論は Faster R-CNN、R-FCN、SSD は、最も人気があり、広く使用されている 3 つのターゲット検出モデルです。他の一般的なモデルは通常、これら 3 つに似ており、ネットワークの初期化にディープ CNN (ResNet、Inception など) に依存しており、ほとんどが同じ提案/分類パイプラインに従います。 ただし、これらのモデルを使用するには、Tensorflow の API を理解している必要があります。 Tensorflow には、これらのモデルを使用するための初心者向けチュートリアルがあります (https://github.com/tensorflow/models/blob/master/object_detection/object_detection_tutorial.ipynb)。 |
<<: ロボットは期待低下の谷間にあるのか?何が問題ですか?
>>: 機械学習の問題を解決する一般的な方法があります!これを読んでください
「知識が不足していると、心配しすぎてしまいます。」この文章は、賢明な投資アドバイスの良い注釈です。...
今日のイノベーションのペースが競争だとしたら、世界は猛烈なスピードで変化しています。今日の世界で起こ...
編集者注: 人工知能と人間の仕事は、今日多くの人が話題にしているトピックであり、議論の焦点は主に、人...
ChatGPT によって開始された AI の波は私たちを人工知能の時代へと導き、言語モデルは日常生活...
インテリジェントエージェントにも「標準マニュアル」が必要です。 MetaGPTと呼ばれる研究では、イ...
厳選されラベル付けされたデータ セットを使用して AI システムをトレーニングすると、オブジェクト認...
現在、神府改革革新モデル区、華為(遼寧)人工知能イノベーションセンター、上海交通大学が共催する神府モ...
01 ロボティックプロセスオートメーション(RPA) RPA (ロボティック プロセス オートメーシ...
Google AIの研究者たちは、インド工科大学カラグプル校と協力し、音声コンテンツから話すアバター...
[[433685]]ペアワイズアルゴリズムとは何ですか?次のテストシナリオの場合:ブラウザ: M、O...
[51CTO.com クイック翻訳] ディープラーニングは確かに多くの印象的な成功事例をもたらしま...