物体検出のためのディープラーニングアルゴリズムの技術的な詳細を詳しく見てみましょう

物体検出のためのディープラーニングアルゴリズムの技術的な詳細を詳しく見てみましょう

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。

[[342892]]

この記事では、オブジェクト検出の基本的な方法 (Exhaustive Search、R-CNN、Fast R-CNN、Faster R-CNN) について説明し、各モデルの技術的な詳細を理解しようとします。あらゆる経験レベルの読者が記事を理解できるように、数式は使用しません。

ナットとボルトのテスト - Chris Yates (Unsplash)

ターゲット検出を開始するための最初のステップ

これは鳥か飛行機か? — 画像分類


オブジェクトの検出(または認識)は画像分類に基づいています。画像分類は、上に示したピクセル グリッドを使用して画像をクラス カテゴリに分類するプロセスです。オブジェクト認識は、次の図に示すように、画像内のオブジェクトを識別して分類するプロセスです。


モデルが画像内のオブジェクトのカテゴリと位置を学習するには、ターゲットが 5 次元ラベル (カテゴリ、x、y、幅、長さ) である必要があります。

物体検出方法の内部の仕組み

機械を消費する(計算コストが高い)方法:網羅的探索

物体検出の最もシンプルなアプローチは、画像のさまざまなサブパーツに画像分類器を使用することです。それぞれについて考えてみましょう。

  • まず、オブジェクト検出を実行する画像を選択します。

  • 次に、画像は以下に示すように、さまざまな部分、つまり「領域」に分割されます。

  • 各領域を個別の画像として扱います。
  • 各画像は、従来の画像分類器を使用して分類されます。
  • 最後に、オブジェクトが検出された領域のすべての画像が予測されたラベルと結合されます。

このアプローチの問題点は、オブジェクトのアスペクト比や空間的な位置が異なる場合があり、広い領域に対して不必要にコストのかかる計算が必要になる可能性があることです。計算時間のボトルネックが大きすぎるため、実用的な問題を解決するのには使用できません。

1. 地域提案方法と選択的検索

最近のアプローチでは、問題を 2 つのタスクに分解します。まず関心領域を検出し、次に画像分類を実行して各オブジェクトのカテゴリを決定します。

最初のステップは通常、リージョン提案メソッドを使用することです。これらのメソッドは、対象のオブジェクトが含まれる可能性のある境界ボックスを出力します。領域提案でターゲット オブジェクトが正しく検出された場合は、分類器でもそれを検出しているはずです。そのため、これらの方法ではスピードと高い応答率が非常に重要です。どちらの方法も、高速であるだけでなく、応答率も高いことが重要です。

どちらのアプローチも、オブジェクト検出タスクと分類タスクの両方の画像前処理の一部が同じである巧妙なアーキテクチャを使用しているため、2 つのアルゴリズムを単純に連結するよりも高速になります。選択的検索は、最も一般的に使用される領域提案方法の 1 つです。

最初のステップは、次のように画像セグメンテーションを適用することです。


画像セグメンテーション出力から、選択的検索は順番に次の処理を実行します。

  • セグメント化された部分から境界ボックスを作成し、それを領域提案のリストに追加します。
  • 隣接する複数の小さな断片は、色、質感、サイズ、形状の 4 つの類似性に基づいて、より大きな断片に結合されます。
  • セクションが画像全体をカバーするまで、最初の手順に戻ります。

階層的グループ化

選択的検索の仕組みがわかったところで、選択的検索を使用する最も一般的なオブジェクト検出アルゴリズムをいくつか見てみましょう。

2. 最初の物体検出アルゴリズム:R-CNN

Ross Girshick らは、CNN と組み合わせて選択的検索を使用できる Region CNN (R-CNN) を提案しました。実際には、各領域提案(この論文の 2000 など)ごとに、CNN を通過することで出力ベクトルが生成されます。このベクトルは、1 対すべての分類器に入力されます。カテゴリごとに 1 つの分類器。たとえば、1 つの分類器は、画像が犬の場合はラベル = 1、それ以外の場合は 0 になるように設定され、もう 1 つの分類器は、画像が猫の場合はラベル = 1、それ以外の場合は 0 になるように設定されます。 R-CNN で使用される分類アルゴリズムは SVM です。

しかし、領域を提案としてマークするにはどうすればよいでしょうか。もちろん、領域がグラウンド トゥルースと完全に一致する場合は 1 としてマークし、指定されたオブジェクトがまったく存在しない場合は 0 としてマークすることができます。

画像内にオブジェクトの一部が存在する場合はどうなるでしょうか。この領域には 0 とラベル付けするべきでしょうか、それとも 1 とラベル付けするべきでしょうか。分類器がトレーニングされる領域が、画像を予測するときに実際に取得できる領域 (完全に一致する領域だけではなく) であることを確認するために、選択的検索によって予測されたボックスとグラウンドトゥルースとの交差和集合 (IoU) を見てみましょう。

IoU は、予測ボックスと実際のボックスの重なり合う領域をそれらの結合領域で割った値として表されるメトリックです。成功したピクセル検出に報酬を与え、誤検出にペナルティを与えることで、アルゴリズムが画像全体を選択しないようにします。


R-CNN メソッドに戻ると、IoU が特定のしきい値 (0.3) を下回る場合、対応するラベルは 0 になります。

すべての領域提案に対して分類器を実行した後、R-CNN はクラス固有の境界ボックス (bbox) 回帰器を使用して境界ボックスを最適化することを提案します。 bbox 回帰関数は、バウンディング ボックスの境界の位置を微調整できます。たとえば、選択的検索で犬が検出されたものの、その半分しか選択されなかった場合、犬には 4 本の足があることを認識する bbox 回帰関数は、犬の体全体が選択されるようにします。

また、新しい境界ボックス回帰予測のおかげで、非最大抑制 (NMS) を使用して重複する提案を破棄できるようになりました。ここでの考え方は、同じオブジェクトの重なり合ったボックスを識別して削除することです。 NMS は、各クラスの提案を分類スコアに従ってランク付けし、最も高い確率スコアを持つ予測ボックスと他のすべての予測ボックス (同じクラス) 間の IoU を計算します。 IoU が指定されたしきい値 (例: 0.5) を超える場合、提案は破棄されます。このステップは、次に最も確率の高いものに対して繰り返されます。


要約すると、R-CNN は次の手順に従います。

  • 選択的検索に基づいて領域提案(つまり、オブジェクトが含まれる可能性のある画像の部分に関する予測)を作成します。
  • これらの領域は事前トレーニング済みのモデルに入力され、サポート ベクター マシンを使用してサブ画像を分類します。これらの領域は事前トレーニング済みのモデルで実行され、その後、サブ画像は SVM (サポート ベクター マシン) によって分類されます。
  • 境界ボックスの精度を向上させるには、境界ボックス予測を使用して前方予測を実行します。
  • NMS は、予測中に重複する提案を削除するために使用されます。

R-CNNネットワーク

ただし、R-CNN にもいくつか問題があります。

  • このアプローチでは、依然としてすべてのリージョン提案を分類する必要があり、計算上のボトルネックが発生する可能性があり、リアルタイムのユースケースには使用できなくなります。
  • 選択的検索フェーズでは学習は行われず、特定の種類のデータセットに対しては領域提案が不十分になる可能性があります。

3. 小さな改善: 高速 R-CNN

Fast R-CNN は、その名前が示すように、R-CNN よりも高速です。これは R-CNN に基づいていますが、2 つの違いがあります。

  • CNN に各領域の提案を提供する代わりに、画像全体を CNN に提供することで畳み込み特徴マップが生成されます (畳み込み特徴マップは、フィルターを使用してベクトルのピクセルを別のベクトルに変換することで取得されます)。次に、提案された領域が識別され、選択的に検索され、その後、関心領域プーリング (RoI プーリング) レイヤーを使用して、それらの領域が固定サイズに再形成され、完全に接続されたレイヤーへの入力として使用できるようになります。
  • Fast-RCNN は、領域提案分類に SVM の代わりに、より高速でより正確なソフトマックス レイヤーを使用します。

ネットワークのアーキテクチャは次のとおりです。


以下に示すように、Fast R-CNN はトレーニングとテストの両方で R-CNN よりもはるかに高速です。しかし、選択的検索方法の影響を受け、この方法には依然としてボトルネックがあります。


4. R-CNN はどのくらい速くなるのか? — より高速な R-CNN

Fast R-CNN は R-CNN よりもはるかに高速ですが、選択的検索に非常に時間がかかるため、依然としてボトルネックとなっています。そこで、Ren Shaoqing らは、この問題を解決するために、より高速な R-CNN を設計し、関心領域を見つけるために選択的検索の代わりに非常に小さな畳み込みネットワークの Region Proposal Network (RPN) を使用することを提案しました。


つまり、RPN はリージョン提案を直接見つける小さなネットワークです。単純なアプローチとしては、x_min、y_min、x_max、x_max を出力するディープラーニング モデルを作成して、領域提案の境界ボックスを取得するというものがあります (2000 個の領域が必要な場合は、8000 個の出力が必要です)。しかし、根本的な問題が 2 つあります。

  • 画像のサイズやスケールはさまざまであるため、元の座標を正しく予測できるモデルを作成することは困難です。
  • 予測には座標順序の制約がいくつかあります (x_min < x_max、y_min < y_max)。

この問題を克服するために、アンカーを使用します。アンカーは、画像上でさまざまなスケールと比率に事前設定されたボックスです。 (アンカー ポイントは、画像全体で異なる比率とスケールを持つ定義済みのボックスです。)

たとえば、特定の中心点に対して、通常は 3 セットのサイズ (例: 64 ピクセル、128 ピクセル、256 ピクセル) と 3 つの異なるアスペクト比 (1/1、1/2、2/1) から始めます。この例では、画像の特定のピクセル (ボックスの中心) に対して、9 つの異なるボックスが作成されます。

アンカー - スケールとスケール

では、画像には合計でいくつのアンカー ポイントがあるのでしょうか?

アンカーを元の画像ではなく、最後の畳み込み層の出力特徴マップ上に作成することが非常に重要です。たとえば、1000*600 の入力画像の場合、各ピクセルに 1 つのアンカー ポイントがあるため、アンカー ポイントの数は 1000*600*9=5400000 となり、これは誤りです。実際、それらは特徴マップ上に作成されるため、サブサンプリング比、つまり畳み込み層のストライドによって入力次元と出力次元が削減される係数を考慮する必要があります。

この例では、この比率を 16 (VGG16 のように) に設定すると、特徴マップ内の空間位置ごとに 9 つのアンカーが存在するため、アンカーの数は「わずか」約 20,000 個 (5,400,000 / 16^2) になります。これは、出力フィーチャ内の連続する 2 つのピクセルが、入力画像内で 16 ピクセル離れた 2 つのポイントに対応することを意味します。このダウンサンプリング率は、Faster R-CNN の調整可能なパラメータであることに注意してください。

アンカーセンター

残る問題は、20,000 個のアンカーから 2,000 個のリージョン提案 (以前と同じ数のリージョン提案) に到達する方法であり、これが RPN の目標です。

5. 地域提案ネットワークの育成方法

これを実現するには、RPN はボックスにオブジェクトまたは背景が含まれているかどうか、およびオブジェクトの正確な座標を判別する必要があります。出力予測には、背景になる確率、前景になる確率、およびアンカーと最終提案の差であるデルタ Dx、Dy、Dw、Dh が含まれます。

(1)まず、境界を越えるアンカー(つまり、画像の境界により減算されるアンカー)を除去します。その結果、約6,000枚の画像が残ります。

(2)以下の2つの条件のいずれかが存在する場合、ラベルアンカーは正の値である必要があります。

  • すべてのアンカーの中で、このアンカーはグラウンドトゥルースボックスとの IoU が最も高くなります。
  • アンカーは、グラウンドトゥルースボックスと少なくとも 0.7 IoU を持ちます。

(3)アンカーのIoUがすべてのグラウンドトゥルースボックスで0.3未満の場合、そのアンカーはネガティブとしてラベル付けされる必要がある。

(4)残っているアンカーを放棄する。

(5)バイナリ分類とバウンディングボックス回帰調整のトレーニング。

最後に、実装に関する注意事項をいくつか示します。

  • ミニバッチ内で正のアンカーと負のアンカーの数をバランスさせることができることが期待されます。
  • 損失を最小限に抑えたいので、マルチタスク損失を使用するのは理にかなっています。損失とは、前景または背景を誤って予測することによる誤差と、ボックスの精度による誤差です。
  • 事前トレーニング済みモデルの重みを使用して畳み込み層を初期化します。

6. 地域提案ネットワークの利用方法

  • すべてのアンカー (20000) を考慮した後、新しい境界ボックスと、すべての境界ボックスの前景になる確率 (つまり、オブジェクトになる確率) が取得されます。
  • 最大ではない抑制を使用します。
  • 提案の選択: 最後に、スコアでソートされた上位 N 件の提案のみが保持されます (N = 2000 の場合、2000 の地域提案に戻ります)。

前回の方法と同様に、最終的に 2000 個のソリューションが得られました。複雑に思えますが、この予測ステップは以前の方法よりも高速かつ正確です。

次のステップは、選択的検索の代わりに RPN を使用して、Fast R-CNN に似たモデル (つまり、RoI プーリングと分類器 + bbox 回帰器) を作成することです。ただし、以前とは異なり、これらの 2000 の提案は整理され、事前にトレーニングされた基本ネットワークに渡されます。代わりに、既存の畳み込み特徴マップが再利用されます。実際、RPN を提案ジェネレーターとして使用する利点の 1 つは、重みと CNN が RPN とメインの検出器ネットワーク間で共有されることです。

  • RPN は、事前にトレーニングされたネットワークを使用してトレーニングされ、その後微調整されます。
  • 検出器ネットワークは、事前トレーニング済みのネットワークを使用してトレーニングされ、その後微調整されます。 RPN から提案された領域を使用します。
  • RPN は 2 番目のモデルの重みを使用して初期化され、その後微調整されます (これが最終的な RPN モデルになります)。
  • 最後に、検出器ネットワークが微調整されます (RPN の重みは固定されます)。 CNN の特徴マップは 2 つのネットワーク間で共有されます (下の図を参照)。

より高速なR-CNNネットワーク

まとめると、Faster R-CNN は従来の方法よりも精度が高く、Fast-R-CNN よりも約 10 倍高速であり、これは大きな改善であり、リアルタイム スコアリングの始まりです。


それでも、領域提案検出モデルは、大きすぎて、ほとんどのリアルタイム スコアリング ユース ケース (最後のケースでは 1 秒あたり約 5 枚の画像) には速度が足りないため、組み込みシステムには不十分です。

<<:  ビジネスにおけるAIベースの音声認識アプリケーション

>>:  人工知能技術はゴミリサイクルに革命的な変化をもたらすかもしれない

推薦する

清朗智能の新型消毒ロボットが海外市場を席巻

新型コロナウイルスの感染力が高いため、防疫期間中、一般の人々は、インテリジェント消毒ロボットが医療産...

データ分析の知識: 相関分析アルゴリズム Apriori

以前、ショッピングバスケット分析についての記事を書きました。その中で、C5.0 と Apriori ...

...

人工知能の登場により、将来的にこれらの 6 つの職業は失業する可能性があります。あなたは準備ができていますか?

科学技術の発展とビッグデータの登場により、人工知能は私たちの生活にますます近づいてきました。しかし、...

コーダーの皆さん、おめでとうございます!マイクロソフトは、LLMを使用して168のコードベースにわたるコーディングタスクを自動化するCodePlanを提案している。

大規模なモデルの場合、ローカライズされたエンコード タスクに優れています。しかし、タスクが複数の相互...

人工知能があなたの仕事を奪い、ビッグデータがあなたを「裸」にしてしまう。私たちの未来はどうなるのでしょうか?

失業率が急上昇、それはAIのせいか? !科学技術の発展に伴い、高コストで非効率的な手作業が人工知能に...

弁護士は直感に基づいて仕事をするのでしょうか? AIはそうは思わない

法曹界は、統計学や数学に関しては常に比較的消極的でした。伝統的に、彼らの意見は長年、あるいは数十年に...

ドローン盗撮の防止は難しく、3つの面での取り組みが必須

近年、民間ドローンの急速な普及は、空中撮影、レジャーや娯楽、農作物の保護、電力検査など、人々の生産と...

機械学習向けのテキスト注釈ツールとサービスのトップ 10: どれを選びますか?

[[347945]] [51CTO.com クイック翻訳] 現在、検索エンジンや感情分析から仮想ア...

Huang 氏の最新インタビュー: 30 年前に戻れるなら、私は NVIDIA を立ち上げることはなかったでしょう!

ベルサイユの中国人起業家サークルに、ジェンセン・フアンというもう一人の大物が加わった。最近の公開イン...

...

...

AI、BI、データ: 2020 年までに勝利するのは誰か?

10 年前、データと分析の市場には大手企業が存在しませんでした。実際、業界では「クラウド」、「ビッ...

最新の軌道予測の概要:基本的な定義からさまざまな方法と評価まで

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...