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

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

この記事は、公開アカウント「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ベースの音声認識アプリケーション

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

ブログ    
ブログ    
ブログ    

推薦する

信じられない! XiaoIceのデジタルツイン仮想人物は70日間ライブ放送されましたが、誰もそれが本物の人間ではないことに気づきませんでした

[[441368]]中国ビジネスニュースは70日間生放送されましたが、アンカーがデジタルツインの仮想...

人工知能は伝染病の予防と制御に役立ちます。正確にスクリーニングし、伝染病を推測し、ウイルスの発生源を追跡することができます。

感染予防・抑制の過程では、高リスクグループとスーパースプレッダーを迅速に特定し、感染の進行状況を正確...

ChatGLM-6Bを最適化するにはどうすればいいですか?たった 1 行のコード | 最も「流行」のモデル

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

年齢を測るAI顔認識

Instagramは、顔をスキャンして年齢を推定できるサードパーティ企業Yotiが開発したAIツール...

...

ディープニューラルネットワーク (DNN) は人間の大脳皮質の構造をシミュレートしますか?

[[199788]]私は生物学を専攻する学部生であり、認知神経科学を専攻する大学院生です。余暇には...

人工知能は知的ではないのでしょうか?最初から方向性が間違っていた

AI は人工知能の略です。AI の定義は、1950 年代にまで遡ります。当時、さまざまな分野の専門家...

英国はAI大規模モデルの分野で利用するためのスーパーコンピュータの開発に2億2500万ポンドを投資する予定

英国政府は11月2日、国の人工知能能力をさらに強化するため、人工知能研究資源への投資を2023年3月...

チューリング賞受賞者でAAAI次期会長がAIの今後10年を展望

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

AI時代に医療データの品質が重要な理由

効果的な医療データ分析においては、データの品質は主観的なものになります。データから得られる情報の正確...

オントロジーから始める:オペレータ関係マップの構築と応用

[[258543]]人類学者ロビン・ダンバーは、人間が親密な人間関係を維持できる最大人数は 150 ...

AIの未来はブロックチェーンの未来とつながっているのでしょうか?

近代以降、ほぼすべての産業革命はさまざまな程度の自動化によって推進されてきました。これまでの産業革命...

人工知能は中国の製造業にどのような変化をもたらすのでしょうか?

[[260379]]データマップ:中国航空宇宙科学産業集団第三科学院第35研究所が開発に成功した新...

人工知能の今後5年間で世界が注目する10人

[[251996]]十分に大きな技術的放射効果により、人工知能は世界経済の発展において主導的な地位に...

AIのおかげで売上が24%増加しました。このようなAI人材はどこで見つけられるのでしょうか?

[[429444]]この記事はWeChatの公開アカウント「Computer World」から転載...