R-CNNとは何か?概要解説
RCNNとその物体検出への影響について学びます。主要コンポーネント、アプリケーション、そして Fast RCNN や YOLO などの技術発展における役割について解説します。

物体検出は、画像や動画内の物体を認識して位置を特定するコンピュータビジョンのタスクであり、自動運転、監視システム、医療画像処理などの用途で活用されています。Viola-Jones検出器やHOG(Histogram of Oriented Gradients)特徴量とSVM(Support Vector Machines)を組み合わせた手法など、初期の物体検出手法は、手作業で設計された特徴量とスライディングウィンドウに依存していました。これらの手法では、形状やサイズが異なる複数の物体が複雑なシーンに存在する場合、正確な検出が困難なことがよくありました。
領域ベースのCNNであるR-CNNは、私たちが物体検出に取り組む方法を一変させました。これはコンピュータビジョンの歴史における重要なマイルストーンです。YOLOv8のようなモデルがどのようにして生まれたのかを理解するには、まずR-CNNのようなモデルを理解する必要があります。
Ross Girshickとそのチームによって作成されたR-CNNモデルのアーキテクチャは、領域候補を生成し、事前学習済みのCNN(Convolutional Neural Network)を用いて特徴量を抽出し、物体を分類して、バウンディングボックスを洗練させます。難しく聞こえるかもしれませんが、この記事を読み終える頃には、R-CNNの仕組みとそれがなぜこれほどまでに影響力があるのかが明確に理解できているはずです。詳しく見ていきましょう。
Link to this sectionR-CNNの仕組み#
R-CNNモデルの物体検出プロセスには、領域候補の生成、特徴量抽出、そして物体分類とバウンディングボックスの精緻化という3つの主要なステップがあります。各ステップを順に説明します。

図1 R-CNNの仕組み。
Link to this section領域候補:R-CNNの基盤#
最初のステップでは、R-CNNモデルが画像をスキャンして多数の領域候補を作成します。領域候補とは、物体が含まれている可能性のある領域のことです。Selective Searchのような手法を使用して、色、テクスチャ、形状といった画像のさまざまな側面を調べ、画像を異なるパーツに分割します。Selective Searchはまず画像を小さなパーツに分割し、似たものを結合して、より大きな関心領域を形成します。このプロセスは、約2,000個の領域候補が生成されるまで続きます。

図2 Selective Searchの仕組み。
これらの領域候補は、物体が存在する可能性のあるすべてのスポットを特定するのに役立ちます。その後のステップにおいて、モデルは画像全体ではなく、これらの特定の領域に焦点を当てることで、最も関連性の高い領域を効率的に処理できます。領域候補を使用することで、網羅性と計算効率のバランスが取れています。
Link to this section画像特徴量抽出:詳細の把握#
R-CNNモデルの物体検出プロセスにおける次のステップは、領域候補から特徴量を抽出することです。各領域候補は、CNNが期待する一貫したサイズ(例えば224x224ピクセル)にリサイズされます。リサイズすることで、CNNは各候補を効率的に処理できるようになります。ワーピングの前に、各領域候補のサイズはわずかに拡大され、領域の周囲に16ピクセルのコンテキストを追加することで、特徴量抽出を向上させるための周辺情報が提供されます。
リサイズされた領域候補は、AlexNetのようなCNNに入力されます。これは通常、ImageNetなどの大規模なデータセットで事前学習されています。CNNは各領域を処理し、エッジ、テクスチャ、パターンといった重要な詳細を捉える高次元の特徴ベクトルを抽出します。これらの特徴ベクトルは、各領域から本質的な情報を凝縮したものです。これらは生の画像データを、モデルがさらなる分析に使用できる形式に変換します。次の段階で物体を正確に分類し、位置を特定できるかどうかは、この視覚情報を意味のあるデータに変換する重要な工程にかかっています。

図3 AlexNetを使用して領域候補から特徴量を抽出する様子。
Link to this section物体分類:検出された物体の識別#
第3のステップは、これらの領域内の物体を分類することです。これは、候補内に見つかった各物体のカテゴリまたはクラスを特定することを意味します。抽出された特徴ベクトルは、次に機械学習の分類器へと渡されます。
R-CNNの場合、この目的のために一般的にSVM(Support Vector Machines)が使用されます。各SVMは、特徴ベクトルを分析して特定の領域にそのクラスのインスタンスが含まれているかどうかを判断することで、特定の物体クラスを認識するように学習されます。本質的に、すべての物体カテゴリに対して、それぞれの領域候補をチェックする専用の分類器が存在します。
トレーニング中、分類器には正解サンプルと不正解サンプルを含むラベル付きデータが与えられます。
- 正解サンプル:対象物体を含む領域。
- 不正解サンプル:物体を含まない領域。
分類器は、これらのサンプルを区別することを学習します。バウンディングボックス回帰は、最初に提案されたバウンディングボックスを調整して実際の物体の境界に合わせることで、検出された物体の位置とサイズをさらに洗練させます。R-CNNモデルは、分類とバウンディングボックス回帰を組み合わせることで、物体を特定し正確に位置付けることができます。

図4 バウンディングボックス回帰の例。(出典: towardsdatascience.com)
Link to this sectionまとめ:NMSによる検出の精緻化#
分類およびバウンディングボックス回帰のステップの後、モデルは同じ物体に対して重なり合う複数のバウンディングボックスを生成することがよくあります。NMS(Non-Maximum Suppression:非最大値抑制)を適用してこれらの検出を洗練させ、最も正確なボックスのみを保持します。モデルはNMSを適用することで冗長で重なり合うボックスを排除し、最も確信度の高い検出結果のみを残します。
NMSは、すべてのバウンディングボックスの確信度スコア(検出された物体が実際にそこに存在する可能性を示す値)を評価し、スコアが高いボックスと大きく重なっているボックスを抑制する仕組みです。

図5 非最大値抑制の例。(出典: towardsdatascience.com)
NMSのステップの詳細は以下の通りです:
- 並べ替え: バウンディングボックスは、確信度スコアの降順で並べ替えられます。
- 選択: 最もスコアの高いボックスが選択され、それと(IoU:Intersection over Unionに基づいて)大きく重なっているすべてのボックスが削除されます。
- 反復: このプロセスは次に高いスコアのボックスに対して繰り返され、すべてのボックスが処理されるまで続きます。
まとめると、R-CNNモデルは、領域候補の生成、CNNによる特徴量抽出、物体の分類とバウンディングボックス回帰による位置の洗練、そしてNMSを使用して最も正確な検出結果のみを残すことで物体を検出します。
Link to this sectionR-CNNは物体検出におけるマイルストーン#
R-CNNは、精度とパフォーマンスを大幅に向上させる新しいアプローチを導入したため、物体検出の歴史において画期的なモデルです。R-CNN以前は、物体検出モデルは速度と精度のバランスを取るのに苦労していました。領域候補を生成し、CNNを使用して特徴量を抽出するというR-CNNの手法により、画像内の物体の正確な位置特定と識別が可能になりました。
R-CNNは、効率と精度をさらに高めたFast R-CNN、Faster R-CNN、Mask R-CNNなどのモデルへの道を開きました。深層学習と領域ベースの分析を組み合わせることで、R-CNNはこの分野で新たな基準を打ち立て、さまざまな実世界での応用の可能性を広げました。
Link to this sectionR-CNNによる医療画像処理の変革#
R-CNNの興味深いユースケースとして、医療画像処理があります。R-CNNモデルは、MRIやCTスキャンなどの医療画像において、脳腫瘍のようなさまざまな種類の腫瘍を検出および分類するために使用されてきました。医療画像処理でR-CNNモデルを使用することで、診断精度が向上し、放射線科医が初期段階で悪性腫瘍を特定できるよう支援します。小さく初期段階の腫瘍でも検出できるR-CNNの能力は、がんなどの疾患の治療や予後において大きな違いを生む可能性があります。

図6 R-CNNを使用した脳腫瘍の検出。
R-CNNモデルは、腫瘍検出以外にも他の医療画像タスクに応用可能です。例えば、骨折の特定、眼科検診での網膜疾患の検出、肺炎やCOVID-19といった症状の肺画像の分析などが挙げられます。疾患の種類を問わず、早期発見は患者の転帰の改善につながります。R-CNNの異常を特定し位置付ける精度を活用することで、医療提供者は診断の信頼性と迅速性を高めることができます。物体検出によって診断プロセスが効率化されることで、患者はタイムリーで正確な治療計画から利益を得ることができます。
Link to this sectionR-CNNの限界と後継モデル#
R-CNNは優れていますが、計算の複雑さや推論速度の遅さといった欠点も抱えています。これらの欠点により、R-CNNモデルはリアルタイムのアプリケーションには不向きです。領域候補の生成と分類を別々のステップに分けているため、パフォーマンスの効率が低下する可能性があります。
長年にわたり、これらの懸念に対処したさまざまな物体検出モデルが登場しています。Fast R-CNNは領域候補とCNNの特徴量抽出を単一のステップに統合し、プロセスを高速化しました。Faster R-CNNはRPN(Region Proposal Network)を導入して候補生成を効率化し、Mask R-CNNはより詳細な検出のためにピクセルレベルのセグメンテーションを追加しました。

図7. R-CNN、Fast R-CNN、Faster R-CNN、およびMask R-CNNの比較。
Faster R-CNNと同時期に、YOLO(You Only Look Once)シリーズがリアルタイム物体検出を前進させ始めました。YOLOモデルは、ネットワークを一度通過させるだけでバウンディングボックスとクラス確率を予測します。例えば、Ultralytics YOLOv8は、多くのコンピュータビジョンのタスクにおいて、高度な機能によって精度と速度を向上させています。
Link to this section重要なポイント#
R-CNNはコンピュータビジョンに革命をもたらし、深層学習が物体検出をどのように変えられるかを示しました。その成功は、この分野における多くの新しいアイデアのきっかけとなりました。Faster R-CNNやYOLOといった新しいモデルがR-CNNの欠点を解決するために登場しましたが、その貢献は決して忘れてはならない大きなマイルストーンです。
研究が続くにつれて、さらに優れた、より高速な物体検出モデルが登場するでしょう。これらの進歩は、マシンが世界を理解する方法を改善するだけでなく、多くの業界で進歩をもたらします。物体検出の未来は期待に満ちています。
AIについてもっと探求したいですか?Ultralytics コミュニティに参加しましょう!GitHubリポジトリを探索して、最新の人工知能のイノベーションをご覧ください。農業や製造などのさまざまなセクターに広がるAIソリューションもチェックしてください。私たちと一緒に学び、前進しましょう!






