「画像のどこに・何が写っているか」を当てる物体検出の分野で、長らく標準とされてきたモデルがFaster R-CNNです。R-CNN→Fast R-CNN→Faster R-CNNという進化の系譜と、「候補領域の提案までニューラルネットワークで行う」というRPNの発想を押さえれば、試験の選択肢問題で迷わなくなります。

📖 ひと言でいうと

Faster R-CNNとは、画像内の物体の位置(バウンディングボックス)とクラスを同時に予測する物体検出モデルで、候補領域の提案を専用のネットワーク(RPN: Region Proposal Network)で行うことで高速化を実現した手法です。

例えるなら、それまでの物体検出が「外注の下見係(Selective Search)に怪しい場所リストを作らせてから、鑑定士(CNN)が調べる」体制だったのに対し、Faster R-CNNは「下見係も鑑定士も同じ社内チーム(1つのネットワーク)にまとめ、下見の情報も共有する」体制にしたイメージです。分業の受け渡しロスがなくなり、処理が大幅に速くなりました。

🖼 1枚でわかるFaster R-CNN

Faster R-CNN
  • タスク — 物体検出(位置とクラスを同時に予測)
  • 系譜 — R-CNN→Fast R-CNNの進化版として登場
  • 核心 — RPN(Region Proposal Network)で候補領域を提案
  • 効果 — Selective Search比で処理時間を大幅短縮
  • 発展 — Mask R-CNNなどの基盤アーキテクチャに
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

画像内の物体を検出し、その位置とクラスを同時に予測するタスクに適している。Faster R-CNNは、従来のR-CNNやFast R-CNNの進化版として開発され、処理速度と精度の向上を目指している。Faster R-CNNのアーキテクチャは主に以下の要素で構成されている。まず、入力画像から特徴マップを抽出するために、事前学習されたCNN(例えばVGG16やResNetなど)が使用される。次に、Region Proposal Network(RPN)と呼ばれるネットワークが、特徴マップ上で物体が存在する可能性の高い領域(候補領域)を提案する。RPNは、各位置で複数のアンカーボックスを設定し、それぞれのアンカーボックスが物体を含む確率と、その位置の微調整量を予測する。提案された候補領域は、RoIプーリング層を通じて固定サイズの特徴マップに変換され、最終的に全結合層とソフトマックス層を経て、各候補領域のクラスとバウンディングボックスのオフセットが予測される。Faster R-CNNの特徴の一つとして、RPNを導入することで、物体の候補領域の提案を効率的に行える点が挙げられる。これにより、従来のSelective Searchなどのアルゴリズムに比べて、処理時間の短縮が実現されている。また、RPNと物体検出ネットワークが特徴マップを共有することで、計算資源の節約にもつながっている。Faster R-CNNは、PASCAL VOCやMS COCOなどのベンチマークデータセットで高い精度を示しており、物体検出の分野で標準的な手法として広く採用されている。さらに、Faster R-CNNのアーキテクチャは、他のタスク(例えば、インスタンスセグメンテーション)への応用も可能であり、さまざまな応用分野で活用されている。

長文ですが、骨格は「①CNNで特徴マップを作る→②RPNが候補領域を提案する→③候補ごとにRoIプーリングで形をそろえて分類する」の3段構えです。最大のポイントは②で、従来は画像処理アルゴリズムのSelective Searchが担っていた候補領域の提案を、学習可能なニューラルネットワーク(RPN)に置き換えたことが「Faster(より速い)」の由来です。

🔍 しっかり理解する

R-CNN→Fast R-CNN→Faster R-CNNの進化

Faster R-CNNは単独で生まれたのではなく、ボトルネックを一つずつ潰していく進化の到達点です。

R-CNN
候補領域を1つずつCNNに通す(非常に遅い)
Fast R-CNN
CNNは画像全体に1回+RoIプーリングで高速化
Faster R-CNN
候補領域の提案もRPNで学習し全体を統合
💡 ポイント
  • R-CNN — Selective Searchで出した約2,000個の候補領域を、1つずつCNNに通して分類します。同じ画像の計算を何千回も繰り返すため、非常に低速でした。
  • Fast R-CNN — CNNの計算を画像全体に対して1回だけ行い、得られた特徴マップから各候補領域に対応する部分をRoIプーリングで固定サイズに切り出す方式に変えました。CNN計算の重複が消えて大幅に高速化しましたが、候補領域の提案はSelective Searchのままで、ここが残されたボトルネックでした。
  • Faster R-CNN — 最後に残った候補領域の提案をRPNに置き換え、特徴マップをRPNと検出ネットワークで共有しました。提案から分類までをほぼ一体のネットワークとして学習・実行できるようになったのです。

RPNとアンカーボックスの仕組み

RPNは、特徴マップの各位置に「アンカーボックス」と呼ばれる大きさ・縦横比の異なる複数の基準枠を仮想的に置き、それぞれについて「物体を含む確率」と「枠の位置の微調整量」を予測します。つまり「この辺りに何かありそうか」を、あらかじめ用意した枠のバリエーションを足がかりに網羅的に判定する仕組みです。

こうして提案された候補領域は形や大きさがバラバラなので、RoIプーリング層で固定サイズの特徴マップに変換されます。後段の全結合層は決まったサイズの入力しか受け取れないため、この「形をそろえる」処理が必要になるのです。最後にソフトマックス層でクラスを、回帰でバウンディングボックスのオフセット(ずれの補正量)を出力します。

💡 具体例で考える

自動運転の周辺認識

自動運転車は、カメラ映像から歩行者・車両・信号などを「どこに・何が」の形で検出し続ける必要があります。Faster R-CNN系の物体検出モデルはこうした用途の代表的な選択肢で、1枚の画像から複数の物体の位置とクラスを同時に出力できる点が活きます。精度重視の二段階検出器(候補提案→分類)の代表がFaster R-CNN、速度重視の一段階検出器の代表がYOLOやSSD、という対比で語られることも多いです。

Mask R-CNNへの発展

公式テキストにある「インスタンスセグメンテーションへの応用」の代表例がMask R-CNNです。Faster R-CNNの構造をそのまま土台にして、バウンディングボックスとクラスに加えて物体ごとのピクセル単位のマスクを出力する分岐を追加しています。Faster R-CNNが後続研究の共通基盤になったことを示す好例です。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • 「RoIプーリングを導入したのがFaster R-CNN」は誤り — RoIプーリングによる高速化はFast R-CNNの貢献です。Faster R-CNNの新規性は候補領域提案をRPNに置き換えた点にあります。ここを入れ替えた選択肢が定番のひっかけです。
  • 「Faster R-CNNはSelective Searchを使う」は誤り — Selective Searchを使うのはR-CNNとFast R-CNNです。Faster R-CNNはこれをRPNで置き換えました。
  • YOLO・SSDとの違い — Faster R-CNNは「候補提案→分類」の二段階で精度に強みがあり、YOLOやSSDは領域提案を分けずに一度で検出する一段階方式で速度に強みがあります。
  • Mask R-CNNとの違い — Mask R-CNNはFaster R-CNNを基盤に、ピクセル単位のマスク出力(インスタンスセグメンテーション)を加えた発展形です。

📝 試験でのポイント

💡 ポイント
  • 「R-CNN・Fast R-CNN・Faster R-CNNの改良点の対応付け」は最頻出の想定です。RoIプーリング=Fast、RPN=Fasterと整理しておきましょう。
  • RPNの説明として「アンカーボックスごとに物体を含む確率と位置の微調整量を予測する」という記述の正誤判定が想定されます。
  • 「Selective Searchを置き換えて処理時間を短縮した」「RPNと検出ネットワークが特徴マップを共有する」という2つの効率化の説明も正解の目印になります。
  • 物体検出(Faster R-CNN)とセマンティックセグメンテーション(FCNなど)のタスクの違いを問う形式にも注意しましょう。

📚 まとめ

💡 ポイント
  • Faster R-CNNは、物体の位置とクラスを同時に予測する物体検出モデルで、R-CNN・Fast R-CNNの進化版です。
  • 最大の特徴は、候補領域の提案を学習可能なRPNで行い、Selective Searchを不要にして処理時間を短縮したことです。
  • RPNはアンカーボックスを基準に「物体を含む確率」と「位置の微調整量」を予測し、候補はRoIプーリングで固定サイズにそろえて分類されます。
  • 物体検出の標準的手法として広く使われ、Mask R-CNNなどインスタンスセグメンテーションへの応用の基盤にもなりました。