R-CNNとは?概要を簡単に紹介
RCNNと物体検出への影響について学びます。主要な構成要素、応用、Fast RCNNやYOLOなどの技術の進歩における役割を解説します。

物体検出は、自動運転、監視、医用画像などの用途で、画像や動画内の物体を認識して位置を特定できるコンピュータービジョンのタスクです。初期の物体検出手法であるViola-Jones検出器や、サポートベクターマシン(SVM)と組み合わせた方向勾配ヒストグラム(HOG)などは、手作業で設計した特徴量とスライディングウィンドウに依存していました。これらの手法は、さまざまな形状やサイズの物体が複数存在する複雑なシーンで、物体を正確に検出することに苦労する場合が多くありました。
領域ベース畳み込みニューラルネットワーク(R-CNN)は、物体検出への取り組み方を変えました。これはコンピュータービジョンの歴史における重要なマイルストーンです。Ultralytics YOLOv8のようなモデルがどのように登場したのかを理解するには、まずR-CNNのようなモデルを理解する必要があります。
Ross Girshick氏とチームによって作成されたR-CNNのモデルアーキテクチャは、候補領域を生成し、事前学習済みの畳み込みニューラルネットワーク(CNN)で特徴量を抽出し、物体を分類して、バウンディングボックスを調整します。難しそうに思えるかもしれませんが、この記事を読み終える頃には、R-CNNの仕組みと、それがなぜ大きな影響を与えたのかを明確に理解できるようになります。詳しく見ていきましょう。
R-CNNはどのように機能しますか?#
R-CNNモデルの物体検出プロセスには、候補領域の生成、特徴量の抽出、物体の分類とバウンディングボックスの調整という3つの主なステップがあります。各ステップを順に見ていきましょう。

図1. R-CNNの仕組み。
候補領域:RCNNのバックボーン#
最初のステップでは、R-CNNモデルが画像をスキャンして、多数の候補領域を作成します。候補領域とは、物体が含まれている可能性のある領域です。Selective Searchなどの手法では、画像をさまざまな部分に分解しながら、色、テクスチャ、形状などの画像の特徴を調べます。Selective Searchは、まず画像を小さな部分に分割し、次に類似した部分を結合して、より大きな関心領域を形成します。この処理を続けることで、約2,000個の候補領域が生成されます。

図2. Selective Searchの仕組み。
これらの候補領域によって、物体が存在する可能性のある場所をすべて特定しやすくなります。後続のステップでは、画像全体ではなく、これらの特定領域に焦点を当てることで、モデルは最も関連性の高い領域を効率的に処理できます。候補領域を使用することで、網羅性と計算効率のバランスが取れます。
画像特徴量の抽出:詳細の取得#
R-CNNモデルの物体検出プロセスにおける次のステップは、候補領域から特徴量を抽出することです。各候補領域は、CNNが想定する一定のサイズ(例:224x224ピクセル)にリサイズされます。リサイズにより、CNNは各候補領域を効率的に処理できます。ワープする前に、より多くの周辺情報を含めて特徴量を適切に抽出できるよう、各候補領域のサイズを少し拡張し、領域の周囲に16ピクセル分の追加コンテキストを含めます。
リサイズ後、これらの候補領域は、通常ImageNetのような大規模なデータセットで事前学習されたAlexNetなどのCNNに入力されます。CNNは各領域を処理し、エッジ、テクスチャ、パターンなどの重要な詳細を捉える高次元の特徴ベクトルを抽出します。これらの特徴ベクトルは、領域から得られる本質的な情報を集約します。特徴ベクトルによって、生の画像データがモデルでさらなる分析に利用できる形式へ変換されます。次の段階で物体を正確に分類して位置を特定するには、この視覚情報から意味のあるデータへの重要な変換が不可欠です。

図3. AlexNetを使用して候補領域から特徴量を抽出。
物体分類:検出された物体の特定#
3つ目のステップは、これらの領域内の物体を分類することです。これは、候補領域内で見つかった各物体のカテゴリーまたはクラスを判定することを意味します。抽出された特徴ベクトルは、機械学習分類器に入力されます。
R-CNNでは、この目的にサポートベクターマシン(SVM)が一般的に使用されます。各SVMは、特徴ベクトルを分析し、特定の領域にそのクラスの物体が含まれているかどうかを判定することで、特定の物体クラスを認識するように学習します。つまり、物体カテゴリーごとに専用の分類器があり、各候補領域にその特定の物体が含まれているかを確認します。
学習時には、分類器に正例と負例のラベル付きデータを与えます。
- 正例:対象物体を含む領域。
- 負例:物体を含まない領域。
分類器は、これらのサンプルを区別する方法を学習します。バウンディングボックス回帰によって、最初に提案されたバウンディングボックスを実際の物体の境界により近づくように調整し、検出された物体の位置とサイズをさらに細かく調整します。R-CNNモデルは、分類とバウンディングボックス回帰を組み合わせることで、物体を識別し、正確に位置を特定できます。

図4. バウンディングボックス回帰の例。(出典:towardsdatascience.com)
すべてを統合:NMSによる検出結果の調整#
分類とバウンディングボックス回帰のステップ後、モデルは同じ物体に対して、重なり合う複数のバウンディングボックスを生成することがよくあります。これらの検出結果を調整して最も正確なボックスを残すために、非最大抑制(NMS)を適用します。モデルはNMSを適用して冗長なボックスや重なり合うボックスを除去し、信頼度が最も高い検出結果だけを残します。
NMSは、すべてのバウンディングボックスの信頼度スコア(検出された物体が実際に存在する可能性を示す値)を評価し、スコアの高いボックスと大きく重なるボックスを抑制することで機能します。

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

図6. RCNNを使用した脳腫瘍の検出。
R-CNNモデルは、腫瘍検出以外の医用画像タスクにも適用できます。たとえば、骨折の特定、眼のスキャンにおける網膜疾患の検出、肺炎やCOVID-19などの疾患を確認するための肺画像の分析が可能です。どのような医学的問題であっても、早期検出は患者の転帰の改善につながる可能性があります。異常の特定と位置特定におけるR-CNNの精度を適用することで、医療従事者は医療診断の信頼性と速度を向上させられます。物体検出によって診断プロセスが効率化されることで、患者はタイムリーで正確な治療計画の恩恵を受けられます。
R-CNNの限界と後継モデル#
R-CNNは優れたモデルですが、計算量が大きく、推論時間が長いなどの欠点があります。これらの欠点により、R-CNNモデルはリアルタイムアプリケーションには適していません。候補領域の生成と分類を別々のステップに分けることで、効率が低下する可能性があります。
長年にわたり、こうした懸念に対処するさまざまな物体検出モデルが登場しました。Fast R-CNNは候補領域の生成とCNNによる特徴量抽出を1つのステップに統合し、処理を高速化します。Faster R-CNNは領域提案ネットワーク(RPN)を導入して候補領域の生成を効率化し、Mask R-CNNはピクセルレベルのセグメンテーションを追加して、より詳細な検出を実現します。

図7. R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNNの比較。
Faster R-CNNとほぼ同じ時期に、YOLO(一度だけ見る)シリーズがリアルタイム物体検出を発展させ始めました。YOLOモデルは、ネットワークを1回通過させるだけでバウンディングボックスとクラス確率を予測します。たとえば、Ultralytics YOLOv8は、さまざまなコンピュータービジョンタスク向けの高度な機能により、精度と速度を向上させています。
主なポイント#
RCNNは、ディープラーニングが物体検出を変革できることを示し、コンピュータービジョンに大きな変化をもたらしました。その成功は、この分野で多くの新しいアイデアを生み出しました。Faster R-CNNやYOLOなどの新しいモデルがRCNNの欠点を解消するために登場した現在でも、その貢献は重要なマイルストーンとして記憶されるべきものです。
研究が進むにつれて、さらに優れた高速な物体検出モデルが登場するでしょう。こうした進歩は、機械による世界の理解を向上させるだけでなく、多くの産業の発展にもつながります。物体検出の未来は大きな可能性を秘めています。
AIについてさらに探求したいですか?Ultralyticsのコミュニティに参加しましょう!GitHubリポジトリで、最新の人工知能イノベーションをご覧ください。農業や製造など、さまざまな分野にわたるAIソリューションもご確認ください。私たちと一緒に学び、前進しましょう。









