R-CNN(Region-based CNN)は、「候補の矩形を切り出し、CNNで中身を見る」——二段検出の原型——です。2012年のAlexNetが画像分類を席巻した直後、「物体はどこにあるか」へ深層学習を持ち込んだ先駆——本記事はアンカーやRPNの細部より、なぜ二段構成が生まれ、何がボトルネックだったかに焦点を当てます。
分類から検出へ
画像分類は「この画像全体は何か」——ラベル1つ——を当てます。物体検出はどこに何があるか——バウンディングボックスとクラス——を同時に推定します(TF-115、G-021)。
2014年のR-CNNは、CNNの表現力を検出タスクに初めて大きく結びつけた手法として歴史的に語られます。試験では細部の論文名より、「領域提案+CNN分類の二段構成」という整理が押さえ目標です。
二段の原型
R-CNNの流れは、現代の二段検出と同じ骨格を持ちます。
- 領域提案 — Selective Searchなどで「物体がありそうな矩形」を約2,000個生成
- 切り出し — 各候補を画像からクロップし、CNN入力サイズに整形
- CNN特徴 — 各クロップをCNN(当時はAlexNet等)へ通して特徴ベクトルを得る
- 分類・補正 — SVMでクラス判定、回帰でボックス位置を微調整
キーワードはRegion(領域)——画像全体を一度に分類するのではなく、候補ごとにCNNを適用する発想です。HOG+SVMの古典的検出から、学習済みCNN特徴へ置き換えた点が革命でした。
何が遅かったか
R-CNNは精度で注目を集めましたが、候補ごとにCNNを別々に実行するため遅く、学習も多段階(CNN特徴抽出→SVM→回帰)と複雑でした。
| 課題 | R-CNNの状態 | 後継がどう直したか |
|---|---|---|
| 重複計算 | 候補ごとにCNN forward | Fast R-CNNで特徴マップ共有 |
| 領域提案の分離 | 外部アルゴリズム(Selective Search) | Faster R-CNNでRPNをCNN内に統合 |
| 学習の分断 | CNN・SVM・回帰が別学習 | エンドツーエンド学習へ |
試験では「R-CNN=今もそのまま使う最新手法」とは答えません。系譜の出発点——なぜFast・Fasterが生まれたか——を理解するのが目的です。
Fast・Fasterへの系譜
| 世代 | 進化の焦点 | 試験向け |
|---|---|---|
| R-CNN | 領域+CNNで検出を実証 | 二段の萌芽(本記事) |
| Fast R-CNN | 特徴共有・ROIプーリング | 中間段階。名前だけ知れば可 |
| Faster R-CNN | RPNで提案もCNN内に | 二段検出の完成形に近い |
| Mask R-CNN | マスク推定を追加 | Fasterの拡張(G-326) |
G-323ではYOLO、SSD、Faster R-CNNが物体検出の代表例として並びます。R-CNNはその祖先——名前が選択肢に無い場合も、二段検出の思想はFaster R-CNNの説明に通じます。
YOLO・DETRとの位置
| 方式 | 流れ | 代表 |
|---|---|---|
| 二段(R-CNN系) | 候補領域 → 分類・位置補正 | R-CNN → Faster R-CNN |
| 一段 | グリッド等から一発で検出 | YOLO、SSD(TF-121) |
| Transformer | 領域提案なしの集合予測 | DETR |
R-CNNは候補を切り出す発想の原点、YOLOは切り出さず一発、DETRはAttentionで直接集合予測——三つの時代の整理です。いずれもBERTやword2vecではありません(G-323、G-335)。
試験で押さえるポイント
- 定義 — 領域提案+CNN分類の二段物体検出の先駆
- タスク — バウンディングボックス+クラス(TF-115、G-021)
- 系譜 — Fast R-CNN → Faster R-CNN → Mask R-CNN
- 対比 — YOLO(一段)、DETR(Transformer)、画像分類(位置なし)
- 評価 — ボックス重なりはIoU(検出の定番指標)
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| R-CNN=Faster R-CNN | 原点 vs RPN統合の後継 |
| R-CNN=YOLO | 二段 vs 一段。どちらも検出 |
| R-CNN=FCN | 物体検出 vs セグメンテーション |
| R-CNN=BERT | 画像CNN vs NLP(G-323) |
| R-CNN=画像分類 | 位置+クラス vs ラベル1つ |
| R-CNN=DETR | 候補切り出し系譜 vs Transformer検出 |
よくある質問
R-CNNは何をする手法ですか?
画像内の物体の位置とクラスを推定する物体検出の手法です。まず候補領域(リージョン)を多数生成し、各領域を切り出してCNNで特徴を抽出・分類する二段構成が特徴として知られます。深層学習を物体検出に成功裏に適用した先駆例です。
R-CNNとFaster R-CNNは同じですか?
同じではありません。R-CNNは2014年の原点で、候補ごとにCNNを別々に回すなど非効率な部分がありました。Faster R-CNNは領域提案ネットワーク(RPN)をCNNに統合した後継で、同じ二段検出の系譜に属しますが設計が大きく進化しています。
R-CNNとYOLOは同じですか?
同じではありません。R-CNNは候補領域を出してから分類する二段構成の系譜です。YOLOはグリッドから一発で検出する一段(単一ショット)方式です。いずれも物体検出の代表例として並びますが、アプローチが異なります。