この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。
この記事では、オブジェクト検出の基本的な方法 (Exhaustive Search、R-CNN、Fast R-CNN、Faster R-CNN) について説明し、各モデルの技術的な詳細を理解しようとします。あらゆる経験レベルの読者が記事を理解できるように、数式は使用しません。 ナットとボルトのテスト - Chris Yates (Unsplash) ターゲット検出を開始するための最初のステップ これは鳥か飛行機か? — 画像分類 オブジェクトの検出(または認識)は画像分類に基づいています。画像分類は、上に示したピクセル グリッドを使用して画像をクラス カテゴリに分類するプロセスです。オブジェクト認識は、次の図に示すように、画像内のオブジェクトを識別して分類するプロセスです。 モデルが画像内のオブジェクトのカテゴリと位置を学習するには、ターゲットが 5 次元ラベル (カテゴリ、x、y、幅、長さ) である必要があります。 物体検出方法の内部の仕組み 機械を消費する(計算コストが高い)方法:網羅的探索 物体検出の最もシンプルなアプローチは、画像のさまざまなサブパーツに画像分類器を使用することです。それぞれについて考えてみましょう。
このアプローチの問題点は、オブジェクトのアスペクト比や空間的な位置が異なる場合があり、広い領域に対して不必要にコストのかかる計算が必要になる可能性があることです。計算時間のボトルネックが大きすぎるため、実用的な問題を解決するのには使用できません。 1. 地域提案方法と選択的検索 最近のアプローチでは、問題を 2 つのタスクに分解します。まず関心領域を検出し、次に画像分類を実行して各オブジェクトのカテゴリを決定します。 最初のステップは通常、リージョン提案メソッドを使用することです。これらのメソッドは、対象のオブジェクトが含まれる可能性のある境界ボックスを出力します。領域提案でターゲット オブジェクトが正しく検出された場合は、分類器でもそれを検出しているはずです。そのため、これらの方法ではスピードと高い応答率が非常に重要です。どちらの方法も、高速であるだけでなく、応答率も高いことが重要です。 どちらのアプローチも、オブジェクト検出タスクと分類タスクの両方の画像前処理の一部が同じである巧妙なアーキテクチャを使用しているため、2 つのアルゴリズムを単純に連結するよりも高速になります。選択的検索は、最も一般的に使用される領域提案方法の 1 つです。 最初のステップは、次のように画像セグメンテーションを適用することです。 画像セグメンテーション出力から、選択的検索は順番に次の処理を実行します。
階層的グループ化 選択的検索の仕組みがわかったところで、選択的検索を使用する最も一般的なオブジェクト検出アルゴリズムをいくつか見てみましょう。 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 は次の手順に従います。
R-CNNネットワーク ただし、R-CNN にもいくつか問題があります。
3. 小さな改善: 高速 R-CNN Fast R-CNN は、その名前が示すように、R-CNN よりも高速です。これは R-CNN に基づいていますが、2 つの違いがあります。
ネットワークのアーキテクチャは次のとおりです。 以下に示すように、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 つあります。
この問題を克服するために、アンカーを使用します。アンカーは、画像上でさまざまなスケールと比率に事前設定されたボックスです。 (アンカー ポイントは、画像全体で異なる比率とスケールを持つ定義済みのボックスです。) たとえば、特定の中心点に対して、通常は 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つの条件のいずれかが存在する場合、ラベルアンカーは正の値である必要があります。
(3)アンカーのIoUがすべてのグラウンドトゥルースボックスで0.3未満の場合、そのアンカーはネガティブとしてラベル付けされる必要がある。 (4)残っているアンカーを放棄する。 (5)バイナリ分類とバウンディングボックス回帰調整のトレーニング。 最後に、実装に関する注意事項をいくつか示します。
6. 地域提案ネットワークの利用方法
前回の方法と同様に、最終的に 2000 個のソリューションが得られました。複雑に思えますが、この予測ステップは以前の方法よりも高速かつ正確です。 次のステップは、選択的検索の代わりに RPN を使用して、Fast R-CNN に似たモデル (つまり、RoI プーリングと分類器 + bbox 回帰器) を作成することです。ただし、以前とは異なり、これらの 2000 の提案は整理され、事前にトレーニングされた基本ネットワークに渡されます。代わりに、既存の畳み込み特徴マップが再利用されます。実際、RPN を提案ジェネレーターとして使用する利点の 1 つは、重みと CNN が RPN とメインの検出器ネットワーク間で共有されることです。
より高速なR-CNNネットワーク まとめると、Faster R-CNN は従来の方法よりも精度が高く、Fast-R-CNN よりも約 10 倍高速であり、これは大きな改善であり、リアルタイム スコアリングの始まりです。 それでも、領域提案検出モデルは、大きすぎて、ほとんどのリアルタイム スコアリング ユース ケース (最後のケースでは 1 秒あたり約 5 枚の画像) には速度が足りないため、組み込みシステムには不十分です。 |
<<: ビジネスにおけるAIベースの音声認識アプリケーション
>>: 人工知能技術はゴミリサイクルに革命的な変化をもたらすかもしれない
新型コロナウイルスの感染力が高いため、防疫期間中、一般の人々は、インテリジェント消毒ロボットが医療産...
以前、ショッピングバスケット分析についての記事を書きました。その中で、C5.0 と Apriori ...
科学技術の発展とビッグデータの登場により、人工知能は私たちの生活にますます近づいてきました。しかし、...
大規模なモデルの場合、ローカライズされたエンコード タスクに優れています。しかし、タスクが複数の相互...
失業率が急上昇、それはAIのせいか? !科学技術の発展に伴い、高コストで非効率的な手作業が人工知能に...
法曹界は、統計学や数学に関しては常に比較的消極的でした。伝統的に、彼らの意見は長年、あるいは数十年に...
近年、民間ドローンの急速な普及は、空中撮影、レジャーや娯楽、農作物の保護、電力検査など、人々の生産と...
[[347945]] [51CTO.com クイック翻訳] 現在、検索エンジンや感情分析から仮想ア...
ベルサイユの中国人起業家サークルに、ジェンセン・フアンというもう一人の大物が加わった。最近の公開イン...
...
10 年前、データと分析の市場には大手企業が存在しませんでした。実際、業界では「クラウド」、「ビッ...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...