小さな手を動かして大金を稼いで、親指を立ててください!
序章
この記事[1]を読んでいる方は、物体検出のための RCNN ファミリについて聞いたことがあると思います。そうであれば、RPN (リージョン プロポーザル ネットワーク) についても聞いたことがあるはずです。RCNN シリーズを初めて使用する場合は、RPN について詳しく説明する前に、ここをクリックしてこの記事を読むことを強くお勧めします。
したがって、物体検出アルゴリズムの目標は、境界ボックス回帰法によって位置特定され、分類子によってそれぞれのカテゴリに分類される、物体を含む可能性のある候補ボックスを生成することであることがわかります。
物体検出アルゴリズムの以前のバージョンでは、これらの候補ボックスは従来のコンピューター ビジョン技術によって生成されていました。方法の 1 つは「選択的検索」ですが、この方法の欠点は、オフラインで計算量が多いことです。
ここで、RPN (Region Proposal Network) アプローチが非常に短時間でボックス提案を生成することで機能します。そして最も重要なことは、このネットワークはあらゆる物体検出ネットワークに接続できるため、あらゆる物体検出モデルにとってより便利になります。
RPN
CNN が特徴マップから分類する方法を学習するのと同じように、RPN も特徴マップからこれらの提案を生成する方法を学習します。典型的な地域提案ネットワークは、次の図を使用して実証できます。
上記のブロック図を段階的に理解してみましょう
ステップ1
したがって、最初のステップでは、入力画像が畳み込みニューラル ネットワークを通過し、最後の層が出力として特徴マップを受け取ります。
ステップ2
このステップでは、前のステップで取得した特徴マップに対してスライディング ウィンドウが実行されます。スライディング ウィンドウのサイズは n*n (ここでは 3×3) です。スライディング ウィンドウごとに、アンカー ポイントの特定のセットが生成されますが、次のように 3 つの異なるアスペクト比 (1:1、1:2、2:1) と 3 つの異なるスケール (128、256、および 512) が使用されます。
したがって、3 つの異なるアスペクト比と 3 つの異なるスケールの場合、ピクセルごとに合計 9 つの可能な提案があります。特徴マップ サイズ WxH のアンカー ボックスの総数と、特徴マップ内の位置ごとのアンカー ポイントの数 K は、WxHxK と表すことができます。
下の画像は、サイズ (600、900) の画像の位置 (450、350) にある 9 つのアンカー ポイントを示しています。
上の画像では、3 つの色が 3 つのスケールまたはサイズ (128×128、256×256、512×512) を表しています。
让我们挑出棕色的盒子/锚点(上图中最里面的盒子)。三个盒子的高宽比分别为1:1、1:2和2:1。
现在我们有 9 个锚框用于特征图的每个位置。但是可能有很多盒子里面没有任何物体。因此模型需要了解哪个锚框可能包含我们的对象。带有我们对象的锚框可以被归类为前景,其余的将是背景。同时模型需要学习前景框的偏移量以调整以适合对象。这将我们带到下一步。
Step 3
锚框的定位和分类是由 Bounding box Regressor layer 和 Bounding box Classifier layer 完成的。
Bounding Box Classifier 计算 Ground Truth Box 与 anchor boxes 的 IoU 分数,并以一定的概率将 Anchor box 分类为前景或背景。
Bounding box Regressor 层学习 x,y,w,h 值相对于被分类为前景的 Anchor Box 的 Ground truth Box 的偏移量(或差异),其中 (x,y) 是框的中心, w 和 h 是宽度和高度。
由于 RPN 是一个模型,并且每个模型都有一个要训练的成本函数,因此 RPN 也是如此。 RPN 的损失或成本函数可以写成
❝注意:- PN 不关心对象的最终类(例如猫、狗、汽车或人等)是什么。它只关心它是前景对象还是背景。
❞
示例
让我们用一个例子来描述 RPN 的整个概念
したがって、サイズ 600×800 の画像がある場合、畳み込みニューラル ネットワーク (CNN) ブロックを通過した後、この入力画像は、特徴マップ位置ごとに 9 つのアンカー ボックスを持つ 38×56 の特徴マップに縮小されます。次に、38 56 9=1192 個の提案またはアンカー ボックスを検討することになります。各アンカー ボックスには 2 つの可能なラベル (前景または背景) があります。特徴マップの深さを 18 (9 アンカー x 2 ラベル) に設定すると、前景と背景を表す 2 つの値を持つ各アンカーのベクトルが得られます (ロジット ワイヤーと呼ばれる法則)。ロジットをソフトマックス/ロジスティック回帰活性化関数に入力すると、ラベルが予測されます。
CNN を適用した後、600×800 の画像が 16 分の 1 に縮小されて 39×51 の特徴マップになったとします。フィーチャ マップの各位置には 9 つのアンカーがあり、各アンカーには 2 つの可能なラベル (背景、前景) があります。特徴マップの深さを 18 (9 アンカー x 2 ラベル) に設定すると、前景と背景を表す 2 つの値を持つ各アンカーのベクトルが得られます (ロジットと呼ばれることが多い)。ロジットをソフトマックス/ロジスティック回帰活性化関数に入力すると、ラベルが予測されます。トレーニング データには特徴とラベルが含まれるようになりました。モデルはそれをさらにトレーニングします。
要約する
領域提案ネットワーク (RPN) の出力は、オブジェクトの出現を最終的にチェックするために分類器とリグレッサーに渡される一連のボックス/提案です。つまり、RPN はアンカーが背景または前景である可能性を予測し、アンカーを改良します。
参照
ソース:https://towardsmachinelearning.org/region-proposal-network/
この記事はmdniceマルチプラットフォームによって公開されています