gk 画像認識 物体検出
G検定トップ
> R-CNN / Fast R-CNN
まず結論
- R-CNNは「2段階モデル」の出発点で、候補領域ごとにCNNで分類します(遅い)。
- Fast R-CNNはR-CNNを高速化し、特徴量を共有してムダな計算を減らしました(それでも候補領域は別途必要)。
👉 G検定では、R-CNN系=2段階(候補領域→分類)=精度寄りとまとめて切れるのがゴールです。
直感的な説明
R-CNN(元祖)
- まず「怪しい場所(候補領域)」を大量に集める
- その1つ1つを切り出して、CNNに入れて判定する
🔍 例えるなら、写真の中の気になる場所を ハサミで切り抜いて、全部別々に鑑定に出す感じです。
Fast R-CNN(改善版)
- 画像を毎回切り出すのがムダ
- 先に画像全体から特徴を作っておいて
- 候補領域ごとに必要な部分だけを取り出して判定する
🔍 先に「地図(特徴マップ)」を作っておき、 候補領域はその地図から必要な場所だけ参照するイメージです。
定義・仕組み
R-CNN
- 候補領域(Region Proposal)を外部手法で生成(Selective Searchなど)
-
候補領域ごとに
- CNNで特徴抽出
- 分類
- 位置補正
👉 候補領域が多いと、CNNを何百回も回すことになりとにかく遅いのが弱点です。
Fast R-CNN
- 画像全体をCNNに通して特徴マップを1回だけ作る
- 候補領域ごとに RoI Pooling(領域の切り出し) を行い
- 分類と位置補正を実施
👉 「CNNを候補領域ごとに回す」をやめたのが高速化の本質です。
いつ使う?(得意・不得意)
得意なこと(R-CNN系の共通)
- 1段階モデルより精度が出やすい
- 複雑な背景でも安定しやすい
苦手なこと
- 処理が重く、リアルタイムには不向き
- 候補領域生成に依存する(この時点がボトルネックになりやすい)
👉 速さ重視なら YOLO / SSD(1段階)。 精度寄りなら R-CNN系(2段階)。
G検定ひっかけポイント
① 「R-CNNは1段階モデル」→ ❌
❌ よくある誤解:
CNNで検出するから、1段階モデルっぽい
⭕ 正しくは:
候補領域を作ってから分類するので2段階
👉 「候補領域(Region Proposal)」が出てきたら2段階で切れます。
② 「Fast R-CNNは候補領域もネットワーク内で生成する」→ ❌
❌ よくある誤解:
Fast R-CNNは候補領域生成も含めてエンドツーエンド
⭕ 正しくは:
候補領域生成はまだ外部手法(Selective Searchなど)
👉 候補領域までネットワーク内でやるのは Faster R-CNN(RPN)です。
③ 「Fast R-CNNとFaster R-CNNの違い」
-
Fast R-CNN:
- 特徴は共有して高速化
- でも候補領域は外部で作る
-
Faster R-CNN:
- 候補領域を作る部分(RPN)もネットワーク内に入れた
👉 試験ではここが一番混同しやすいです。
まとめ(試験直前用)
- R-CNNは 候補領域→CNNで分類の元祖(遅い)
- Fast R-CNNは 特徴マップを共有して高速化
- ただし 候補領域は外部手法のまま
- 候補領域までネットワーク内に入れたのが Faster R-CNN(RPN)
📝 選択肢で迷ったら:
Fast=特徴共有、Faster=候補領域も内製(RPN)
これで切れます。
🔗 関連記事
- Anchor Box / Default Box / RPN
- Faster R-CNN
- 物体検出モデル総まとめ(SSD / YOLO / R-CNN系)
- SSD(Single Shot MultiBox Detector)
- YOLO(You Only Look Once)
🏠 G検トップに戻る