オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Faster R-CNN

yhayato1320.hatenablog.com

Index

Faster R-CNN

Fast R-CNN

Fast R-CNN では、特徴抽出とは別のモジュールで物体領域候補を計算する必要があった.

yhayato1320.hatenablog.com

そこで、特徴マップから物体領域候補を推定する
領域提案ネットワーク / Region Proposal Network / RPNを作り、
PRN を Fast R-CNN に統合した Faster R-CNNが提案された.

ネットワークアーキテクチャ



CNN の特徴マップの局所領域ごとに、物体らしさのスコアが付与された複数の BB を RPN が提案する仕組み.

RPN の構造

このスコア付きの BB を提案するために、下図に示すように
BB のパラメータを予測する回帰ネットワーク
物体の有無を予測する分類ネットワーク の 2 つを結合することで、PRN は構成されている.



特徴マップは、局所領域から計算される特徴ベクトルを
回帰ネットワークと分類ネットワークで共有している.

yhayato1320.hatenablog.com

Anchor Box

回帰ネットワークでは、あらかじめ形状が決められた  k 個のアンカーボックス / Anchor Box とよばれる
入力の局所領域を中心とした標準的な BB を用意しておく.

BB を予測するときには、各アンカーボックスから相対的な位置とアスペクト比を含んだ  4k 次元のベクトルを出力する.

また、物体の有無の 2 クラスを各アンカーボックスごとに判断するので、分類ネットワークは、 2k 次元のベクトルを出力する.

Sliding Window

特徴マップの局所領域は、スライディングウィンドウにより選択されるので、
特徴マップの大きさを  H\ \times\ W とすると、

局所領域ごとに  k 個のアンカーボックスを利用することから、
合計  H\ \times\ W\ \times k 個の BB をRPN は、出力することになる.

Loss

Fast R-CNN 同様に、物体の有無の分類に関する損失BBの位置に関する損失を合わせた
マルチタスク損失 / Multi Task Loss を最小化することで、パラメータを学習する.

Train

RPN と Fast R-CNN のネットワークとを交互に学習することで、Faster R-CNN のネットワーク全体を学習する.

まず、RPN のネットワークのみを学習する.

学習された RPN から得られる物体領域候補を用いて、Fast R-CNN のネットワークを学習する.

次に、RPN と Faster R-CNN の統合モデルを利用して、PRN 独自のネットワークパラメータを最適化する.

最後に、Fast R-CNN 独自のパラメータを最適化する.

参考

  • Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

書籍