ヨロビジョン深圳
深セン
今すぐ参加

R-CNNとは?概要

Abirami Vina

6 min read

2024年6月7日

RCNNとその物体検出への影響について解説します。主要な構成要素、応用例、そしてFast RCNNやYOLOといった発展的な技術における役割を取り上げます。

物体検出は、画像や動画内の物体を認識し、その位置を特定するコンピュータビジョンのタスクであり、自動運転監視医療画像処理などのアプリケーションに利用できます。Viola-Jones検出器や、サポートベクターマシン(SVM)を用いたHistogram of Oriented Gradients(HOG)など、初期の物体検出手法は、手作業で作成された特徴量とスライディングウィンドウに依存していました。これらの手法では、形状やサイズの異なる複数の物体が存在する複雑なシーンにおいて、物体を正確に検出することが困難でした。

領域ベースの畳み込みニューラルネットワーク(R-CNN)は、物体検出への取り組み方を変革しました。これは、コンピュータビジョンの歴史における重要なマイルストーンです。YOLOv8のようなモデルが登場する背景を理解するには、まずR-CNNのようなモデルを理解する必要があります。 

Ross Girshickとそのチームによって作成されたR-CNNモデルアーキテクチャは、領域候補を生成し、事前学習済みの畳み込みニューラルネットワーク(CNN)で特徴量を抽出し、物体を分類し、バウンディングボックスを洗練します。難しく感じるかもしれませんが、この記事を読み終える頃には、R-CNNの仕組みとその影響について明確に理解できるようになるでしょう。それでは、詳しく見ていきましょう。

R-CNNはどのように機能するのか?

R-CNNモデルの物体検出プロセスには、領域候補の生成、特徴量の抽出、物体の分類とバウンディングボックスの洗練という3つの主要なステップがあります。各ステップを順に見ていきましょう。

図1. R-CNNの仕組み。

領域候補:R-CNNのバックボーン

最初のステップでは、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による検出の改善

分類とバウンディングボックス回帰のステップの後、モデルは同じオブジェクトに対して複数の重複するバウンディングボックスを生成することがよくあります。Non-Maximum Suppression(NMS)を適用してこれらの検出を改善し、最も正確なボックスを保持します。モデルはNMSを適用して冗長で重複するボックスを排除し、最も信頼性の高い検出のみを保持します。 

NMSは、すべてのバウンディングボックスの信頼性スコア(検出されたオブジェクトが実際に存在する可能性を示す)を評価し、スコアの高いボックスと大幅に重複するボックスを抑制することによって機能します。 

図5. Non-Maximum Suppressionの例。(出典:towardsdatascience.com)

NMSのステップの内訳は次のとおりです。

  • ソート:バウンディングボックスは、信頼性スコアによって降順にソートされます。
  • 選択:最も高いスコアのボックスが選択され、それと大幅に重複する(Intersection over Union、IoUに基づく)すべてのボックスが削除されます。
  • 反復:このプロセスは、次に高いスコアのボックスに対して繰り返され、すべてのボックスが処理されるまで続行されます。

すべてをまとめると、R-CNNモデルは、領域候補を生成し、CNNで特徴を抽出し、オブジェクトを分類し、バウンディングボックス回帰でそれらの位置を調整し、Non-Maximum Suppression(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特徴抽出を単一のステップに統合し、プロセスを高速化します。Faster R-CNNは、領域提案ネットワーク(RPN)を導入して提案生成を効率化し、Mask R-CNNは、より詳細な検出のためにピクセルレベルのセグメンテーションを追加します。

図7. R-CNN、fast R-CNN、faster R-CNN、mask R-CNNの比較。

Faster R-CNNとほぼ同時期に、YOLO(You Only Look Once)シリーズがリアルタイム物体検出を進化させ始めました。YOLOモデルは、ネットワークを1回通過するだけで、バウンディングボックスとクラス確率を予測します。たとえば、Ultralytics YOLOv8は、多くのコンピュータビジョンタスク向けに、高度な機能により改善された精度と速度を提供します。

主なポイント

RCNNはコンピュータビジョンの分野でゲームチェンジャーとなり、深層学習が物体検出をどのように変革できるかを示しました。その成功は、この分野における多くの新しいアイデアに影響を与えました。Faster R-CNNやYOLOのような新しいモデルがRCNNの欠点を修正するために登場しましたが、その貢献は記憶しておくべき大きなマイルストーンです。

研究が進むにつれて、さらに優れた、より高速な物体検出モデルが登場するでしょう。これらの進歩は、機械が世界を理解する方法を改善するだけでなく、多くの産業の進歩にもつながります。物体検出の未来はエキサイティングです!

AIについてもっと知りたいですか?Ultralyticsのコミュニティに参加しましょう!最新の人工知能イノベーションについては、GitHubリポジトリをご覧ください。農業製造業など、さまざまな分野にわたるAIソリューションをご覧ください。私たちと一緒に学び、前進しましょう!

AIの未来を
共に築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。

無料ではじめる
クリップボードにコピーしました