結論
Faster R-CNNは、RPN(Region Proposal Network)で物体がありそうな候補領域を挙げてから、候補ごとにクラスと位置を求める2段階型の物体検出モデルで、精度に強みがあります。YOLOは、候補領域を挙げずに画像全体から物体の位置とクラスを一度に予測する1段階型のモデルで、動画をその場で処理できる速さに強みがあります。
比較表
| 観点 | Faster R-CNN | YOLO |
|---|---|---|
| 発表 | 2015年に論文を公開(Shaoqing Ren、Kaiming Heら。NIPS 2015) | 2015年に論文を公開(Joseph Redmonら。CVPR 2016) |
| 方式 | 2段階型(ツーステージ) | 1段階型(ワンステージ) |
| 候補領域 | RPNが、特徴マップの各位置に置いたアンカー(3種類の大きさ×3種類の縦横比で9個)をもとに挙げる | 挙げない。画像を7×7のグリッドに分け、各セルが枠を直接予測する |
| 処理の流れ | CNNで特徴マップを作り、RPNが候補領域を挙げ、候補ごとに特徴を切り出してクラスの分類と枠の補正を行う | 画像全体を1つのCNNに一度通し、枠の位置、確からしさ、クラスの確率をまとめて出力する |
| 処理の速さ(各論文の報告) | VGG-16を使ったモデルで、GPUで毎秒5枚 | 基本のモデルで毎秒45枚、小型のFast YOLOで毎秒155枚 |
| PASCAL VOC 2007でのmAP(YOLOの論文の比較表) | 73.2%(VGG-16を使ったモデル) | 63.4%(基本のモデル) |
| 苦手なこと | 処理に時間がかかり、元の論文の速さではリアルタイム処理に届かない | 枠の正確な位置合わせ、鳥の群れのように小さな物体が密集する場面 |
| その後の発展 | 物体の領域を画素単位で求める枝を加えたMask R-CNN | アンカーを取り入れたYOLOv2など、改良版が続いた |
| シラバス項目 | 技術分野 項目26 画像認識 | 技術分野 項目26 画像認識 |
| G検定での問われ方 | R-CNN、Fast R-CNNから何が改良されたか、RPNとアンカーの役割、2段階型に分類されること | 候補領域を作らない1段階型であること、処理の速さ、SSDと並ぶ1段階型の代表例であること |
それぞれの説明
Faster R-CNNとYOLOは、どちらも2015年に論文が公開された物体検出モデルです。物体ごとに位置を示す矩形とクラスを出力する点は同じです。違いは、候補領域を挙げる段階を設けるかどうかにあります。
Faster R-CNN
Faster R-CNNは、R-CNN、Fast R-CNNと続いたR-CNN系の3番目のモデルです。Fast R-CNNまでは、候補領域の抽出に選択的探索(Selective Search)という従来の手法を使っていました。CPUで1枚あたり約2秒かかる処理です。Faster R-CNNは、これをRPNに置き換えました。
RPNは、特徴マップの各位置に大きさや縦横比の異なるアンカーを置き、物体らしさと枠のずれを予測して候補領域を挙げます。論文では、候補を1枚あたり300個に絞っても高い精度を得ています。そのあと、候補ごとに特徴を切り出し、クラスの分類と枠の補正を行います。RPNと検出の部分は畳み込み層を共有するので、候補の抽出にはほとんど追加の計算がかかりません。
YOLO
YOLO(You Only Look Once)は、候補領域を挙げる段階そのものをなくしました。画像を7×7のグリッドに分け、中心がそのセルに入る物体について、各セルが枠の位置と確からしさ、クラスの確率を予測します。画像全体を1つのCNNに一度通すだけで検出が終わります。
基本のモデルは毎秒45枚を処理し、動画をその場で解析するリアルタイム検出を実現しました。一方で論文自身が、枠の位置合わせの誤りが多いことや、小さな物体が密集する場面が苦手なことを限界に挙げています。
どちらを選ぶか
YOLOの論文の比較表では、PASCAL VOC 2007でのmAPは、VGG-16を使ったFaster R-CNNが73.2%、YOLOが63.4%でした。元の論文どうしでは、精度はFaster R-CNN、速さはYOLOが上回ります。
ただし、この関係はその後の改良で変わります。2016年に発表された改良版のYOLOv2は、アンカーの導入などで精度を高め、毎秒67枚の速さでVOC 2007のmAP 76.8%を報告しています。
見分けるコツ
- 「候補領域」「RPN」「2段階」が手がかりならFaster R-CNN、「グリッド」「一度に予測」「リアルタイム」が手がかりならYOLOです。
- 名前の「Faster」にまどわされないようにします。Faster R-CNNは前身のFast R-CNNより速いという意味で、元の論文どうしで比べて速いのはYOLOです。
- 仲間とセットで覚えます。2段階型はR-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNNのR-CNN系、1段階型はYOLOとSSDです。
◯×チェック
-
Faster R-CNNの名前の「Faster」は、YOLOのような1段階型の検出器よりも速く処理できることを表している。
答えを見る
答え × 誤り
Fasterは、前身のFast R-CNNより速いという意味です。候補領域の抽出をRPNに置き換えて高速化しましたが、元の論文どうしで比べると、処理の速さはYOLOが上回ります。
-
最初のYOLOは、Faster R-CNNと同じく、大きさや縦横比の異なるアンカーを基準にして、そこからのずれを予測することで枠を求める。
答えを見る
答え × 誤り
最初のYOLOは、グリッドの各セルが枠の中心の座標と幅・高さを直接予測し、アンカーは使いません。アンカーを取り入れたのは、改良版のYOLOv2です。
-
1段階型のYOLOでも、同じ物体に重なって出た複数の枠を、非最大値抑制(NMS)で整理する処理が使われる。
答えを見る
答え ◯ 正しい
大きな物体やセルの境界にある物体には、複数のセルが枠を出すことがあります。YOLOの論文では、NMSで重複を除くとmAPが2〜3%上がると報告されています。
関連問題
問題の一覧(2問)
出典と作成について
作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)
公開日: 最終更新日: 最終確認日:
対応シラバス:シラバス第1.4版 技術26
出典
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目26 画像認識)2026年11月1日閲覧
- Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun, Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks (2015)(Abstract、1 Introduction、3.1.1 Anchors)2026年11月1日閲覧
- Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi, You Only Look Once: Unified, Real-Time Object Detection (2015)(2 Unified Detection、2.3 Inference、2.4 Limitations of YOLO、4.1 Comparison to Other Real-Time Systems(Table 1))2026年11月1日閲覧
- Joseph Redmon, Ali Farhadi, YOLO9000: Better, Faster, Stronger (2016)(Abstract、2 Better(Convolutional With Anchor Boxes))2026年11月1日閲覧
ほかの違い比較51件
- アジャイルとウォーターフォールの違い
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い
- バギングとブースティングの違い
- バッチ正規化とレイヤー正規化の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い
- BERTとGPTの違い
- CBOWとスキップグラムの違い
- 分類問題と回帰問題の違い
- CNN・RNNとTransformerの違い
- 協調フィルタリングとコンテンツベースフィルタリングの違い
- 共分散と相関係数の違い
- データ汚染とAdversarial Attackの違い
- 決定木とランダムフォレストの違い
- 深さ優先探索と幅優先探索の違い
- 営業秘密と限定提供データの違い
- GANと拡散モデル(Diffusion Model)の違い
- GANとVAEの違い
- GDPRと個人情報保護法の違い
- 勾配降下法と誤差逆伝播法の違い
- グリッドサーチとランダムサーチの違い
- ホールドアウト検証と交差検証の違い
- 画像分類(物体識別)と物体検出の違い
- 委託・第三者提供と共同利用の違い
- k-means法と階層的クラスタリングの違い
- 個人情報・個人データと保有個人データの違い
- 個人情報と個人識別符号の違い
- L1正則化とL2正則化の違い
- 最小二乗法と最尤法の違い
- LIMEとSHAPの違い
- LSTMとGRUの違い
- 機械学習とディープラーニングの違い
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い
- 正規化と正則化の違い
- 主成分分析(PCA)と特異値分解(SVD)の違い
- 主成分分析(PCA)とt-SNEの違い
- 適合率と再現率の違い
- プルーニング・量子化と蒸留の違い
- Q学習とSARSAの違い
- RNNとLSTMの違い
- Self-AttentionとSource-Target Attentionの違い
- セマンティック・インスタンスとパノプティックの違い
- 新規性と進歩性の違い
- シグモイド関数とソフトマックス関数の違い
- ソフトローとハードローの違い
- 強いAIと弱いAIの違い
- 教師あり学習・教師なし学習と強化学習の違い
- 特許権と著作権の違い
- 匿名加工情報と仮名加工情報の違い
- 転移学習とファインチューニングの違い
- 請負契約と準委任契約の違い
- Zero-shotとFew-shotの違い